:root{color-scheme:light;--bg: #f3f6f5;--surface: #ffffff;--surface-2: #f8faf9;--line: #dde6e4;--line-strong: #cad8d5;--text: #172423;--muted: #687876;--subtle: #5f706e;--brand: #0b7577;--brand-dark: #075a5c;--brand-soft: #e7f4f3;--teal: #11a594;--success: #0d755b;--warning: #9b5d00;--danger: #9e3933;--sidebar-surface: #0f2828;--sidebar-inner: #173331;--sidebar-text: #eaf5f3;--sidebar-copy: #b8cbca;--sidebar-muted: #789692;--sidebar-soft: #9fb8b5;--sidebar-accent: #29c3b4;--sidebar-done: #6fd4c8;--assistant-bubble: #f4f8f7;--assistant-text: #445956;--progress-track: #e7efed;--panel-divider: #e8eeec;--row-divider: #edf1f0;--danger-soft: #fcebea;--warning-soft: #fff6e9;--success-soft: #eaf7f1;--focus-border: #69aaa5;--sidebar-border: rgba(255, 255, 255, .04);--sidebar-control: rgba(255, 255, 255, .06);--sidebar-control-hover: rgba(255, 255, 255, .1);--sidebar-control-border: rgba(255, 255, 255, .1);--sidebar-active-start: rgba(18, 163, 150, .18);--sidebar-active-end: rgba(18, 163, 150, .07);--sidebar-glow: rgba(22, 171, 158, .18);--topbar-surface: rgba(255, 255, 255, .88);--actionbar-surface: rgba(255, 255, 255, .94);--overlay: rgba(7, 19, 18, .42);--brand-gradient-start: #128184;--brand-gradient-end: #086d70;--progress-gradient-start: #0f827d;--progress-gradient-end: #38b8aa;--ai-gradient-start: #0f817d;--ai-gradient-end: #13a89a;--font-body: Inter, "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;--font-2xs: 9px;--font-xs: 10px;--font-sm: 11px;--font-body-sm: 12px;--font-body-md: 13px;--font-body-lg: 14px;--font-title: 26px;--weight-medium: 620;--weight-semibold: 650;--weight-bold: 700;--weight-heavy: 750;--radius: 16px;--radius-modal: 20px;--radius-card: 15px;--radius-panel-inner: 13px;--radius-control: 10px;--radius-small: 8px;--radius-kicker: 6px;--radius-pill: 999px;--sidebar: 254px;--context: 322px;--topbar: 64px;--actionbar: 72px;--content-max: 1280px;--space-1: 4px;--space-2: 7px;--space-3: 8px;--space-4: 10px;--space-5: 12px;--space-6: 14px;--space-7: 15px;--space-8: 16px;--space-9: 18px;--space-10: 22px;--space-11: 24px;--space-12: 30px;--shadow: 0 12px 40px rgba(19, 55, 52, .08);--shadow-panel: 0 3px 14px rgba(19, 55, 52, .035);--shadow-button: 0 5px 14px rgba(7, 100, 102, .18);--shadow-button-hover: 0 8px 20px rgba(7, 100, 102, .23);--shadow-modal: 0 28px 90px rgba(0, 0, 0, .24);--focus-ring: 0 0 0 3px rgba(17, 126, 125, .08);--save-ring: 0 0 0 4px rgba(37, 170, 135, .12);--save-dot: #25aa87;--transition-fast: .18s ease;--transition-panel: .2s ease}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--font-body-lg)}button,input,textarea{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.7}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.sidebar button:focus-visible{outline-color:var(--sidebar-done)}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}[hidden],.hidden{display:none!important}.svg-sprite,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);height:100%}.sidebar{position:relative;display:flex;flex-direction:column;min-width:0;padding:var(--space-10) var(--space-7) var(--space-8);overflow:hidden;color:var(--sidebar-text);background:var(--sidebar-surface);border-right:1px solid var(--sidebar-border)}.sidebar:before{position:absolute;top:-80px;right:-140px;width:260px;height:260px;pointer-events:none;content:"";background:radial-gradient(circle,var(--sidebar-glow),transparent 68%)}.brand{z-index:1;display:flex;gap:11px;align-items:center;padding:0 var(--space-3) var(--space-10)}.brand-mark{display:grid;width:37px;height:37px;place-items:center;font-size:20px;font-weight:800;background:linear-gradient(145deg,var(--ai-gradient-end),var(--brand));border-radius:11px;box-shadow:var(--shadow-button)}.brand-name{font-size:18px;font-weight:var(--weight-heavy);letter-spacing:.2px}.brand-sub{margin-top:1px;color:var(--sidebar-soft);font-size:var(--font-sm)}.project-switcher{z-index:1;display:grid;grid-template-columns:35px minmax(0,1fr) 16px;gap:9px;align-items:center;padding:11px;color:var(--surface);text-align:left;background:var(--sidebar-control);border:1px solid var(--sidebar-control-border);border-radius:var(--radius-panel-inner);transition:background var(--transition-panel)}.project-switcher:hover{background:var(--sidebar-control-hover)}.project-icon{display:grid;width:35px;height:35px;place-items:center;color:var(--sidebar-done);background:var(--sidebar-active-start);border-radius:9px}.project-switcher-text{min-width:0}.project-switcher-text strong,.project-switcher-text span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-switcher-text strong{font-size:var(--font-body-md)}.project-switcher-text span{margin-top:3px;color:var(--sidebar-soft);font-size:var(--font-sm)}.sidebar-label{padding:var(--space-9) var(--space-4) 9px;color:var(--sidebar-muted);font-size:var(--font-sm);letter-spacing:1.5px}.stage-nav{z-index:1;display:flex;flex-direction:column;gap:var(--space-1);min-height:0;overflow:auto}.stage-item{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:var(--space-2);align-items:center;width:100%;padding:var(--space-4) var(--space-3);color:var(--sidebar-copy);text-align:left;background:transparent;border:0;border-radius:11px;transition:background var(--transition-fast),color var(--transition-fast)}.stage-item:hover,.stage-item.active{color:var(--surface)}.stage-item:hover{background:var(--sidebar-control)}.stage-item.active{background:linear-gradient(90deg,var(--sidebar-active-start),var(--sidebar-active-end))}.stage-item.active:before{position:absolute;top:11px;bottom:11px;left:0;width:3px;content:"";background:var(--sidebar-accent);border-radius:var(--space-1)}.stage-rail{display:grid;width:32px;height:32px;place-items:center;color:var(--sidebar-soft);border:1px solid var(--sidebar-control-border);border-radius:9px}.stage-item.active .stage-rail{color:var(--surface);background:var(--brand);border-color:var(--teal)}.stage-item.done .stage-rail{color:var(--sidebar-done);background:var(--sidebar-inner)}.stage-index{font-size:var(--font-xs);font-weight:var(--weight-heavy);letter-spacing:.5px}.stage-copy{min-width:0}.stage-copy strong,.stage-copy small{display:block}.stage-copy strong{font-size:var(--font-body-md);font-weight:var(--weight-semibold)}.stage-copy small{margin-top:3px;overflow:hidden;color:var(--sidebar-muted);font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap}.stage-item:hover .stage-copy small,.stage-item.active .stage-copy small{color:var(--sidebar-soft)}.stage-state{color:var(--sidebar-muted);font-size:var(--font-2xs);white-space:nowrap}.stage-item.active .stage-state,.stage-item.done .stage-state{color:var(--sidebar-done)}.sidebar-card{z-index:1;display:flex;gap:11px;align-items:center;padding:var(--space-5);margin:var(--space-6) 6px 0;background:var(--sidebar-control);border:1px solid var(--sidebar-control-border);border-radius:var(--radius-panel-inner)}.progress-ring{--p:0;position:relative;display:grid;flex:0 0 auto;width:42px;height:42px;place-items:center;background:conic-gradient(var(--sidebar-accent) calc(var(--p)*1%),var(--sidebar-control-border) 0);border-radius:50%}.progress-ring:after{position:absolute;inset:var(--space-1);content:"";background:var(--sidebar-inner);border-radius:50%}.progress-ring span{z-index:1;font-size:var(--font-xs);font-weight:var(--weight-bold)}.sidebar-card strong,.sidebar-card small{display:block}.sidebar-card strong{font-size:var(--font-body-sm)}.sidebar-card small{margin-top:3px;color:var(--sidebar-soft);font-size:var(--font-xs)}.sidebar-bottom{z-index:1;display:flex;flex-direction:column;gap:var(--space-1);margin-top:auto}.side-utility{display:flex;gap:var(--space-4);align-items:center;padding:9px var(--space-4);color:var(--sidebar-soft);text-align:left;background:transparent;border:0;border-radius:var(--radius-control)}.side-utility:hover{color:var(--surface);background:var(--sidebar-control)}.main-area{display:grid;grid-template-rows:var(--topbar) minmax(0,1fr) var(--actionbar);min-width:0;height:100%}.topbar{z-index:20;display:flex;align-items:center;justify-content:space-between;height:var(--topbar);padding:0 var(--space-11);background:var(--topbar-surface);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.breadcrumb,.top-actions,.autosave{display:flex;align-items:center}.breadcrumb{gap:var(--space-2);min-width:0;color:var(--muted);font-size:var(--font-body-md)}.breadcrumb strong{overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.breadcrumb-projects{min-height:36px;padding:0 var(--space-2);margin-left:calc(var(--space-2)*-1);color:var(--muted);font-weight:var(--weight-semibold);white-space:nowrap;background:transparent;border:0;border-radius:9px}.breadcrumb-projects:hover{color:var(--brand);background:var(--surface-2)}.top-actions{gap:var(--space-3)}.autosave{gap:var(--space-2);padding:0 5px;color:var(--muted);font-size:var(--font-sm)}.save-dot{display:inline-block;width:var(--space-2);height:var(--space-2);background:var(--save-dot);border-radius:50%;box-shadow:var(--save-ring)}.icon-btn{display:grid;width:36px;height:36px;padding:0;place-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control)}.icon-btn:hover{background:var(--surface-2);border-color:var(--line-strong)}.icon-btn.subtle{background:transparent;border-color:transparent}.secondary-btn,.primary-btn,.ghost-btn{display:inline-flex;gap:var(--space-2);align-items:center;justify-content:center;height:38px;padding:0 var(--space-6);font-weight:var(--weight-medium);white-space:nowrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.secondary-btn:hover,.ghost-btn:hover{background:var(--surface-2);border-color:var(--line-strong)}.primary-btn{color:var(--surface);background:linear-gradient(180deg,var(--brand-gradient-start),var(--brand-gradient-end));border-color:var(--brand);box-shadow:var(--shadow-button)}.primary-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-button-hover)}.primary-btn.large{height:44px;padding:0 19px}.ghost-btn{background:transparent}.workspace-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--context);min-height:0;overflow:hidden}.workspace{min-height:0;padding:var(--space-10) clamp(var(--space-9),1.6vw,var(--space-12)) 28px;overflow:auto;overscroll-behavior:contain;scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin}.stage-page{width:100%;max-width:min(var(--content-max),100%);margin:0 auto}.panel{overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-panel)}.panel-head{display:flex;gap:var(--space-5);align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-7);border-bottom:1px solid var(--panel-divider)}.panel-head>div{display:flex;gap:var(--space-3);align-items:center;min-width:0}.panel-head h2{margin:0;font-size:var(--font-body-lg)}.panel-kicker{padding:var(--space-1) 6px;color:var(--brand);font-size:var(--font-xs);font-weight:var(--weight-heavy);white-space:nowrap;background:var(--brand-soft);border-radius:var(--radius-kicker)}.helper{color:var(--subtle);font-size:var(--font-xs)}.context-panel{display:grid;grid-template-rows:var(--topbar) minmax(0,1fr) auto;min-width:0;min-height:0;overflow:hidden;background:var(--surface);border-left:1px solid var(--line)}.context-header{display:grid;grid-template-columns:35px minmax(0,1fr) 32px;gap:var(--space-4);align-items:center;padding:0 var(--space-7);border-bottom:1px solid var(--line)}.ai-mark{display:grid;width:35px;height:35px;place-items:center;color:var(--surface);background:linear-gradient(145deg,var(--ai-gradient-start),var(--ai-gradient-end));border-radius:var(--radius-control)}.context-header strong,.context-header span{display:block}.context-header strong{font-size:var(--font-body-sm)}.context-header span{margin-top:3px;color:var(--muted);font-size:var(--font-2xs)}.context-content{min-height:0;padding:17px var(--space-6);overflow:auto;overscroll-behavior:contain}.assistant-message{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px}.assistant-avatar{display:grid;width:28px;height:28px;place-items:center;color:var(--surface);font-size:8px;background:var(--sidebar-inner);border-radius:var(--radius-small)}.assistant-message>div{padding:11px;background:var(--assistant-bubble);border-radius:var(--space-1) var(--space-5) var(--space-5) var(--space-5)}.assistant-message p{margin:0;color:var(--assistant-text);font-size:var(--font-xs);line-height:1.65}.assistant-citations{margin-top:9px}.assistant-citations span{display:inline-flex;padding:5px var(--space-2);color:var(--brand);font-size:8px;background:var(--brand-soft);border-radius:var(--radius-pill)}.quick-title{margin:21px 3px var(--space-3);color:var(--subtle);font-size:var(--font-2xs);letter-spacing:1px}.quick-action{width:100%;padding:var(--space-4) 11px;margin-bottom:var(--space-2);font-size:var(--font-xs);line-height:1.4;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control)}.quick-action:hover{color:var(--brand);background:var(--surface-2);border-color:var(--focus-border)}.context-input{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:var(--space-3);padding:var(--space-5);border-top:1px solid var(--line)}.context-input textarea{min-height:56px;padding:9px;resize:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control)}.context-input button{display:grid;width:34px;height:34px;padding:0;place-items:center;align-self:end;color:var(--surface);background:var(--brand);border:0;border-radius:9px}.bottom-actionbar{z-index:25;display:flex;align-items:center;justify-content:space-between;height:var(--actionbar);padding:0 var(--space-10);background:var(--actionbar-surface);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.actionbar-status,.actionbar-buttons{display:flex;align-items:center}.actionbar-status{gap:11px}.actionbar-status strong,.actionbar-status small{display:block}.actionbar-status strong{font-size:var(--font-sm)}.actionbar-status small{margin-top:3px;color:var(--muted);font-size:var(--font-2xs)}.actionbar-buttons{gap:var(--space-3)}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;padding:var(--space-10);place-items:center;background:var(--overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.runtime-modal-card{width:min(650px,calc(100vw - 40px));max-height:calc(100dvh - 80px);padding:26px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-modal);box-shadow:var(--shadow-modal)}.runtime-modal-head,.runtime-modal-actions{display:flex;gap:var(--space-5)}.runtime-modal-head{align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-10)}.runtime-modal-head h2{margin:5px 0 0;font-size:25px}.runtime-modal-actions{justify-content:flex-end;margin-top:var(--space-9)}.toast-region{position:fixed;right:var(--space-10);bottom:calc(var(--actionbar) + var(--space-10));z-index:200;display:grid;gap:var(--space-3);width:min(360px,calc(100vw - 40px));pointer-events:none}.toast{display:flex;gap:var(--space-3);align-items:center;padding:11px var(--space-7);color:var(--surface);background:var(--sidebar-inner);border-radius:var(--radius-control);box-shadow:var(--shadow)}.page-heading{display:flex;gap:var(--space-10);align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-6)}.eyebrow{margin-bottom:var(--space-3);color:var(--brand);font-size:var(--font-sm);font-weight:var(--weight-bold);letter-spacing:.6px}.page-heading h1{margin:0 0 var(--space-3);font-size:var(--font-title);line-height:1.15;letter-spacing:-.5px}.page-heading p{max-width:68ch;margin:0;color:var(--muted);font-size:var(--font-body-md);line-height:1.6}.heading-meta{display:flex;gap:var(--space-3);align-items:center;padding-top:var(--space-1)}.status-pill{padding:var(--space-2) 11px;color:var(--brand);font-size:var(--font-sm);font-weight:var(--weight-semibold);white-space:nowrap;background:var(--brand-soft);border:1px solid var(--line);border-radius:var(--radius-pill)}.deliverable-summary{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));margin-bottom:var(--space-6);overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.summary-stat{min-width:0;padding:var(--space-8) var(--space-9);border-right:1px solid var(--row-divider)}.summary-stat:last-child{border-right:0}.summary-stat span,.summary-stat strong,.summary-stat small{display:block}.summary-stat span{color:var(--muted);font-size:var(--font-xs)}.summary-stat strong{margin:var(--space-2) 0 5px;font-size:17px}.summary-stat small{overflow:hidden;color:var(--subtle);font-size:var(--font-2xs);text-overflow:ellipsis;white-space:nowrap}.linear-progress{height:5px;overflow:hidden;background:var(--progress-track);border-radius:var(--radius-pill)}.linear-progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--progress-gradient-start),var(--progress-gradient-end));border-radius:inherit}.selection-toolbar{display:flex;gap:var(--space-6);align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-7);margin-bottom:var(--space-6)}.selection-summary{display:flex;gap:var(--space-3);align-items:center;min-width:0}.selection-summary strong{font-size:var(--font-body-sm)}.selection-summary span{color:var(--muted);font-size:var(--font-xs)}.selection-actions{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;justify-content:flex-end}.selection-actions button{height:34px;padding-inline:var(--space-5);font-size:var(--font-sm)}.deliverables-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--space-6);align-items:start}.chapter-rail-panel{position:sticky;top:0;max-height:calc(100dvh - var(--topbar) - var(--actionbar) - 176px)}.chapter-rail{padding:var(--space-3);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.chapter-nav-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:var(--space-3);align-items:center;width:100%;min-height:42px;padding:var(--space-3);color:var(--muted);text-align:left;background:transparent;border:0;border-radius:var(--radius-control)}.chapter-nav-item:hover{color:var(--brand);background:var(--surface-2)}.chapter-nav-item.active{color:var(--brand);font-weight:var(--weight-semibold);background:var(--brand-soft)}.chapter-nav-index{display:grid;width:28px;height:28px;place-items:center;font-size:var(--font-2xs);font-weight:var(--weight-heavy);border:1px solid var(--line);border-radius:var(--radius-small)}.chapter-nav-title{overflow:hidden;font-size:var(--font-sm);text-overflow:ellipsis;white-space:nowrap}.chapter-nav-count{font-size:var(--font-2xs)}.chapter-list,.chapter-content-stack{display:grid;gap:var(--space-6);min-width:0}.chapter-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-panel)}.chapter-card[aria-selected=false]{opacity:.74}.chapter-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-4);align-items:center;padding:var(--space-5) var(--space-7);border-bottom:1px solid var(--panel-divider)}.chapter-card-title{min-width:0}.chapter-card-title strong,.chapter-card-title small{display:block}.chapter-card-title strong{overflow:hidden;font-size:var(--font-body-lg);text-overflow:ellipsis;white-space:nowrap}.chapter-card-title small{margin-top:3px;color:var(--subtle);font-size:var(--font-2xs)}.chapter-card-actions{display:flex;gap:var(--space-2);align-items:center}.chapter-card-actions button{width:32px;height:32px}.drag-handle{color:var(--subtle);cursor:grab}.drag-handle:active{cursor:grabbing}.selection-check{width:18px;height:18px;margin:0;accent-color:var(--brand)}.chapter-card-body{display:grid;gap:var(--space-5);padding:var(--space-7)}.field-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:var(--space-5)}.field{display:grid;gap:var(--space-2);color:var(--muted);font-size:var(--font-xs)}.field input,.field textarea{width:100%;padding:var(--space-4) 11px;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-control)}.field textarea{min-height:74px;line-height:1.6;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--brand);box-shadow:var(--focus-ring);outline:2px solid var(--brand);outline-offset:1px}.deliverable-item{display:grid;grid-template-columns:auto 124px minmax(0,1fr) auto;gap:var(--space-5);align-items:center;padding:var(--space-4);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-panel-inner)}.deliverable-item img{display:block;width:124px;height:86px;object-fit:cover;background:var(--progress-track);border:1px solid var(--line);border-radius:var(--radius-control)}.deliverable-item-copy{min-width:0}.deliverable-item-copy strong,.deliverable-item-copy span{display:block}.deliverable-item-copy strong{overflow:hidden;font-size:var(--font-body-sm);text-overflow:ellipsis;white-space:nowrap}.deliverable-item-copy span{margin-top:var(--space-1);color:var(--muted);font-size:var(--font-xs);line-height:1.55}.deliverable-item-actions{display:flex;gap:var(--space-2);align-items:center}.deliverable-item-actions button{width:32px;height:32px}.file-tag{display:inline-flex;gap:var(--space-1);align-items:center;width:max-content;padding:5px var(--space-3);margin-top:var(--space-2);color:var(--success);font-size:var(--font-2xs);background:var(--success-soft);border-radius:var(--radius-pill)}.chapter-items{display:grid;gap:var(--space-4)}.chapter-card-empty{padding:var(--space-9);color:var(--muted);font-size:var(--font-sm);line-height:1.6;text-align:center;background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:var(--radius-panel-inner)}.move-button svg{transition:transform var(--transition-fast)}.move-up svg{transform:rotate(-90deg)}.move-down svg{transform:rotate(90deg)}.item-type-marker,.item-thumbnail{display:grid;width:124px;height:86px;place-items:center;border:1px solid var(--line);border-radius:var(--radius-control)}.item-type-marker{gap:var(--space-2);align-content:center;color:var(--brand);font-size:var(--font-2xs);font-weight:var(--weight-semibold);background:var(--brand-soft)}.item-thumbnail{padding:0;overflow:hidden;background:var(--progress-track)}.item-thumbnail:hover{border-color:var(--focus-border);box-shadow:var(--focus-ring)}.item-thumbnail img{width:100%;height:100%;border:0;border-radius:0}.image-load-error{padding:var(--space-3);color:var(--muted);font-size:var(--font-2xs);line-height:1.4;text-align:center}.item-content,.item-editor{grid-column:2/-1;min-width:0}.item-content{padding:var(--space-4);color:var(--assistant-text);font-size:var(--font-sm);line-height:1.65;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control)}.item-text-block,.item-list-block,.item-facts-grid{margin:0}.item-list-block{display:grid;gap:var(--space-2);padding-left:var(--space-9)}.item-facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.item-fact{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-small)}.item-fact dt,.item-fact dd{padding:var(--space-3);margin:0;overflow-wrap:anywhere}.item-fact dt{font-weight:var(--weight-semibold);background:var(--brand-soft)}.item-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-small)}.item-data-table{width:100%;min-width:620px;border-collapse:collapse;font-size:var(--font-xs)}.item-data-table th,.item-data-table td{padding:var(--space-3) var(--space-4);text-align:left;vertical-align:top;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.item-data-table th{color:var(--brand-dark);font-weight:var(--weight-semibold);background:var(--brand-soft)}.item-data-table tr:last-child td{border-bottom:0}.item-data-table th:last-child,.item-data-table td:last-child{border-right:0}.item-editor{color:var(--muted);font-size:var(--font-xs)}.item-editor summary{width:max-content;padding:var(--space-2) 0;color:var(--brand);font-weight:var(--weight-semibold);cursor:pointer}.item-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4);padding-top:var(--space-3)}.item-editor-grid .field:last-child{grid-column:1/-1}.deliverable-item[aria-selected=false] .item-content,.deliverable-item[aria-selected=false] .item-thumbnail,.deliverable-item[aria-selected=false] .item-type-marker{opacity:.58}.user-message{grid-template-columns:minmax(0,1fr) 28px;margin-top:var(--space-4)}.user-message>.assistant-avatar{grid-column:2}.user-message>div{grid-row:1;grid-column:1;color:var(--brand-dark);background:var(--brand-soft);border-radius:var(--space-5) var(--space-1) var(--space-5) var(--space-5)}.toast-info{background:var(--brand-dark)}.toast-success{background:var(--success)}.toast-warning{background:var(--warning)}.toast-error{background:var(--danger)}.export-status[data-status=success]{color:var(--success)}.export-status[data-status=warning]{color:var(--warning)}.export-status[data-status=error]{color:var(--danger)}.runtime-empty,.runtime-error,.runtime-loading{grid-column:1/-1;padding:42px;text-align:center;background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:var(--radius-card)}.runtime-empty h3,.runtime-error h3,.runtime-loading h3{margin:0 0 var(--space-3);font-size:var(--font-body-lg)}.runtime-empty p,.runtime-error p,.runtime-loading p{max-width:52ch;margin:0 auto;color:var(--muted);font-size:var(--font-sm);line-height:1.6}.runtime-error{color:var(--danger);background:var(--danger-soft);border-color:var(--danger)}.runtime-error p{color:currentColor}.state-icon{display:grid;width:44px;height:44px;margin:0 auto var(--space-5);place-items:center;color:var(--brand);background:var(--brand-soft);border-radius:var(--radius-panel-inner)}.runtime-error .state-icon{color:var(--danger);background:var(--surface)}.loading-lines{display:grid;gap:var(--space-3);max-width:480px;margin:var(--space-6) auto 0}.skeleton-line{height:10px;background:var(--line);border-radius:var(--radius-pill);animation:skeletonPulse 1.4s ease-in-out infinite}.skeleton-line.short{width:62%}.rail-skeleton{display:grid;gap:var(--space-3);padding:var(--space-3)}.rail-skeleton .skeleton-line{height:38px;border-radius:var(--radius-control)}.image-modal-card{width:min(1040px,calc(100vw - 40px))}.image-preview-frame{display:grid;min-height:360px;place-items:center;overflow:hidden;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-panel-inner)}.image-preview-frame img{display:block;width:100%;max-height:70dvh;object-fit:contain}.image-modal-caption{margin:var(--space-5) 0 0;color:var(--muted);font-size:var(--font-sm);line-height:1.6}.export-form{display:grid;gap:var(--space-6)}.export-form fieldset{display:grid;gap:var(--space-3);padding:0;margin:0;border:0}.export-form legend{margin-bottom:var(--space-3);font-size:var(--font-body-sm);font-weight:var(--weight-bold)}.export-format-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-4);align-items:center;padding:var(--space-5);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-control)}.export-format-option:has(input:checked){background:var(--brand-soft);border-color:var(--focus-border)}.export-format-option input{accent-color:var(--brand)}.export-format-option strong,.export-format-option small{display:block}.export-format-option strong{font-size:var(--font-body-sm)}.export-format-option small{margin-top:3px;color:var(--muted);font-size:var(--font-2xs)}.format-badge{padding:var(--space-1) var(--space-2);color:var(--brand);font-size:var(--font-2xs);font-weight:var(--weight-heavy);background:var(--surface);border-radius:var(--radius-kicker)}.export-status{min-height:20px;color:var(--muted);font-size:var(--font-sm)}@keyframes skeletonPulse{0%,to{opacity:.45}50%{opacity:1}}@media(min-width:761px){html,body,.app-shell,.sidebar,.main-area{height:100dvh;min-height:0}html,body,.app-shell,.main-area{overflow:hidden}.workspace-layout{height:100%;min-height:0;overflow:hidden}.context-panel{height:100%;min-height:0;align-self:stretch}}@media(min-width:1600px){:root{--context:360px;--content-max:1380px}}@media(max-width:1250px){:root{--context:280px}.workspace{padding-inline:var(--space-10)}.deliverable-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-stat:nth-child(2){border-right:0}.summary-stat:nth-child(-n+2){border-bottom:1px solid var(--row-divider)}.deliverables-layout{grid-template-columns:230px minmax(0,1fr)}.field-grid{grid-template-columns:1fr}}@media(max-width:1020px){:root{--sidebar:220px}.context-panel{display:none}.workspace-layout{grid-template-columns:minmax(0,1fr)}.deliverables-layout{grid-template-columns:210px minmax(0,1fr)}.top-actions .autosave{display:none}}@media(max-width:760px){:root{--actionbar:76px}body{overflow:auto}.app-shell{display:block;height:auto}.sidebar{display:none}.main-area{display:block;min-height:100dvh}.topbar{position:sticky;top:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3) var(--space-4);height:auto;min-height:82px;padding:var(--space-3) var(--space-5)}.breadcrumb{min-width:0;gap:6px}.breadcrumb-projects{min-height:42px;padding:0 var(--space-3);margin-left:0;font-size:var(--font-body-sm);background:var(--topbar-surface);border:1px solid var(--line)}.breadcrumb strong{display:-webkit-box;max-width:116px;overflow:hidden;font-size:var(--font-body-md);line-height:1.2;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}.top-actions{gap:6px;justify-content:flex-end}.top-actions .icon-btn{width:40px;height:40px;border-radius:11px}.top-actions .secondary-btn{width:78px;height:40px;padding:0 var(--space-3);font-size:var(--font-body-sm);line-height:1.15;text-align:center;white-space:normal;border-radius:11px}.workspace{padding:var(--space-11) var(--space-6) calc(104px + env(safe-area-inset-bottom));overflow:visible}.page-heading{display:block;margin-bottom:var(--space-6)}.page-heading h1{font-size:30px;letter-spacing:0}.heading-meta{flex-wrap:wrap;margin-top:var(--space-6)}.heading-meta .secondary-btn{width:100%}.deliverable-summary{grid-template-columns:1fr}.summary-stat{border-right:0;border-bottom:1px solid var(--row-divider)}.summary-stat:last-child{border-bottom:0}.selection-toolbar{align-items:flex-start;flex-direction:column}.selection-actions{width:100%;justify-content:flex-start}.selection-actions button{flex:1 1 auto}.deliverables-layout{grid-template-columns:1fr}.chapter-rail-panel{position:static;max-height:none}.chapter-rail{display:flex;gap:var(--space-3);padding:var(--space-3);overflow-x:auto;scroll-snap-type:x proximity}.chapter-nav-item{flex:0 0 190px;scroll-snap-align:start}.chapter-card-head{grid-template-columns:auto minmax(0,1fr)}.chapter-card-actions{grid-column:1/-1;justify-content:flex-end;padding-top:var(--space-3);border-top:1px solid var(--row-divider)}.deliverable-item{grid-template-columns:auto minmax(0,1fr) auto;align-items:start}.deliverable-item img{grid-column:2/4;width:100%;height:180px}.deliverable-item-copy{grid-column:2/4}.deliverable-item-actions{grid-column:2/4;justify-content:flex-end}.item-type-marker,.item-thumbnail{grid-column:2/4;width:100%;height:180px}.item-content,.item-editor{grid-column:2/4}.item-facts-grid,.item-editor-grid{grid-template-columns:1fr}.item-editor-grid .field:last-child{grid-column:auto}.runtime-empty,.runtime-error,.runtime-loading{padding:var(--space-11) var(--space-6)}.bottom-actionbar{position:fixed;right:0;bottom:0;left:0;height:auto;min-height:var(--actionbar);padding:var(--space-4) var(--space-6) calc(var(--space-4) + env(safe-area-inset-bottom))}.actionbar-status{display:none}.actionbar-buttons{display:grid;grid-template-columns:1fr;width:100%}.actionbar-buttons .primary-btn{width:100%;height:48px}.modal-backdrop{align-items:end;padding:0}.runtime-modal-card{width:100%;max-height:min(90dvh,760px);padding:var(--space-9) var(--space-6) calc(var(--space-9) + env(safe-area-inset-bottom));border-radius:var(--space-9) var(--space-9) 0 0}.runtime-modal-head h2{font-size:20px}.runtime-modal-actions{display:grid;grid-template-columns:1fr;width:100%}.runtime-modal-actions button{width:100%}.image-preview-frame{min-height:240px}.export-format-option{grid-template-columns:auto minmax(0,1fr)}.format-badge{grid-column:2;justify-self:start}.toast-region{right:var(--space-6);bottom:calc(var(--actionbar) + var(--space-6));left:var(--space-6);width:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
