:root{color-scheme:light;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--gutter:clamp(16px,4vw,40px);--sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",system-ui,sans-serif;--serif:"Noto Serif KR","Nanum Myeongjo",AppleMyungjo,serif;--display:var(--sans);--brand:"Space Grotesk",var(--sans);--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-base:15px;--text-lg:16px;--text-xl:18px;--text-2xl:22px;--text-3xl:28px;--text-4xl:36px;--leading-tight:1.3;--leading-snug:1.5;--leading-body:1.65;--leading-reading:1.85;--measure:68ch;--measure-narrow:46ch;--measure-manuscript:42em;--control-h-sm:32px;--control-h:36px;--control-h-lg:44px;--touch-min:44px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-full:999px;--duration-fast:120ms;--duration-base:200ms;--ease-out:cubic-bezier(0.2,0.8,0.2,1);--bg:#f6f5f1;--surface:#ffffff;--surface-2:#f2f0ea;--surface-3:#e8e5dd;--paper:#ffffff;--text:#1c2220;--text-2:#4a5350;--text-3:#6b7370;--border:#e3e0d8;--border-strong:#cdc8bd;--accent:#1f7a6d;--accent-hover:#17665b;--accent-soft:#e3f1ee;--accent-text:#176a5e;--on-accent:#ffffff;--warn:#8a5708;--warn-soft:#fcf1dc;--warn-border:#edd09b;--danger:#b0392a;--danger-soft:#fbe9e6;--danger-border:#efc2ba;--k-character:#1f7a6d;--k-setting:#37608f;--k-event:#80601c;--k-relationship:#8a3f72;--k-foreshadowing:#8a5708;--k-knowledge:#54489a;--scrim:rgba(22,26,25,0.38);--shadow-sm:0 1px 2px rgba(28,34,32,0.06);--shadow-md:0 1px 3px rgba(28,34,32,0.06),0 6px 20px rgba(28,34,32,0.08);--shadow-lg:0 2px 8px rgba(28,34,32,0.08),0 20px 56px rgba(28,34,32,0.18);--focus-ring:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent)}html[data-theme=dark]{color-scheme:dark;--bg:#111514;--surface:#171c1b;--surface-2:#1e2423;--surface-3:#283030;--paper:#191e1d;--text:#e6ebe9;--text-2:#b4bebb;--text-3:#8d9894;--border:#2a3230;--border-strong:#3c4644;--accent:#4fb3a2;--accent-hover:#68c4b4;--accent-soft:rgba(79,179,162,0.14);--accent-text:#76cebf;--on-accent:#0a1a17;--warn:#e3b566;--warn-soft:rgba(227,181,102,0.12);--warn-border:rgba(227,181,102,0.36);--danger:#f08d7b;--danger-soft:rgba(240,141,123,0.12);--danger-border:rgba(240,141,123,0.36);--k-character:#7fd0c2;--k-setting:#9db8dc;--k-event:#dcbd8c;--k-relationship:#dca1c8;--k-foreshadowing:#e3b566;--k-knowledge:#b5a8e6;--scrim:rgba(0,0,0,0.55);--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--shadow-md:0 1px 3px rgba(0,0,0,0.3),0 8px 24px rgba(0,0,0,0.3);--shadow-lg:0 2px 8px rgba(0,0,0,0.35),0 24px 64px rgba(0,0,0,0.5)}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{min-height:100vh;background:var(--bg);font-family:var(--sans);font-size:var(--text-base);font-weight:400;line-height:var(--leading-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-wrap:break-word}body,h1,h2,h3,h4,h5{color:var(--text);word-break:keep-all}h1,h2,h3,h4,h5{margin:0;font-weight:700;line-height:var(--leading-tight);letter-spacing:-.01em;text-wrap:pretty}p{margin:0}blockquote,dd,figcaption,label,li,p{text-wrap:pretty}button,input,select,textarea{font:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img,svg{display:block}svg{flex:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:color-mix(in srgb,var(--accent) 26%,transparent);color:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid transparent;border-radius:20px;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:var(--text-3)}::-webkit-scrollbar-track{background:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-4);top:var(--space-3);z-index:100;transform:translateY(-200%);padding:var(--space-2) var(--space-3);border-radius:var(--r-sm);background:var(--accent);color:var(--on-accent);font-size:var(--text-md);font-weight:600}.skip-link:focus{transform:none}.wordmark{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text)}.wordmark .mark{font-family:var(--brand);font-size:18px;font-weight:700;letter-spacing:.14em;line-height:1}.wordmark .mark b{color:var(--accent);font-weight:700}.wordmark .sub{color:var(--text-3);font-size:var(--text-sm);font-weight:500}.wordmark-button{padding:var(--space-1) var(--space-2);margin-inline:calc(var(--space-2) * -1);border:0;border-radius:var(--r-sm);background:none;cursor:pointer}.wordmark-button:hover{background:var(--surface-2)}.eyebrow,.kicker{color:var(--text-3);font-size:var(--text-sm);font-weight:600}.lede{color:var(--text-2);font-size:var(--text-lg);line-height:var(--leading-body);max-width:60ch}.muted{color:var(--text-3)}.danger-text{color:var(--danger)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.coord{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;max-width:100%;padding:1px var(--space-2);border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent-text);font-size:var(--text-xs);font-weight:600;line-height:1.6;white-space:nowrap}.conf{color:var(--text-3);font-size:var(--text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.conf b{color:var(--text-2)}.stage-stack{gap:var(--space-4)}.section-stack,.stage-stack{display:flex;flex-direction:column;min-width:0}.section-stack{gap:var(--space-3)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.grid-2>*{min-width:0}@media (max-width:640px){.grid-2{grid-template-columns:minmax(0,1fr)}}.content-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-width:0}.content-toolbar h2{font-size:var(--text-xl)}.content-toolbar h3{font-size:var(--text-lg)}.stage-head,.stage-head-v2{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.stage-head h2,.stage-head-v2 h2{font-size:var(--text-xl)}.stage-head p,.stage-head-v2 p{color:var(--text-3);font-size:var(--text-sm);line-height:var(--leading-snug);max-width:var(--measure)}.panel,.panel-v2{display:grid;grid-gap:var(--space-3);gap:var(--space-3);align-content:start;min-width:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.panel-v2>*,.panel>*{min-width:0}.panel-v2>.btn,.panel-v2>.text-command,.panel>.btn{justify-self:start}.panel h2,.panel-v2 h2{font-size:var(--text-lg)}.panel-title,.panel-title-v2{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;min-width:0}.panel-title h2,.panel-title-v2 h2{font-size:var(--text-lg)}.label{display:block;color:var(--text-2);font-size:var(--text-sm);font-weight:600;line-height:var(--leading-snug)}.suggestion-note{margin-left:var(--space-1);color:var(--accent-text);font-weight:500}.field-group{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.field-label-spaced,.section-gap-top{margin-top:var(--space-2)}.field{width:100%;min-height:var(--control-h-lg);padding:10px var(--space-3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-size:var(--text-base);line-height:var(--leading-snug);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.field::placeholder{color:var(--text-3);opacity:1}.field:hover:not(:disabled){border-color:var(--text-3)}.field:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.field:disabled{background:var(--surface-2);color:var(--text-3);cursor:not-allowed}textarea.field{min-height:120px;line-height:var(--leading-body);resize:vertical}.select,select.field{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%236b7370' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}textarea.field.compact-textarea{min-height:84px}textarea.field.compact-editor{min-height:72px}textarea.field.review-editor{min-height:160px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-size:var(--text-md);font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--text-3)}.btn:active:not(:disabled){background:var(--surface-3)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{min-height:var(--control-h-sm);padding:0 var(--space-3);font-size:var(--text-sm)}.btn-lg{min-height:var(--control-h-lg);padding:0 var(--space-5);font-size:var(--text-base)}.btn-block{width:100%}.btn-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover)}.btn-primary:active:not(:disabled){background:var(--accent-hover)}.btn-ghost{border-color:transparent;background:transparent;color:var(--text-2)}.btn-ghost:hover:not(:disabled){border-color:transparent;background:var(--surface-2);color:var(--text)}.btn-danger{border-color:var(--danger-border);background:var(--surface);color:var(--danger)}.btn-danger:hover:not(:disabled){border-color:var(--danger);background:var(--danger-soft)}.btn-danger-solid{border-color:var(--danger);background:var(--danger);color:#fff}.btn-danger-solid:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 88%,#000)}.btn-approve{border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:var(--accent-soft);color:var(--accent-text)}.btn-approve:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--surface))}.btn-reject{color:var(--text-2)}@media (pointer:coarse){.btn,.btn-sm{min-height:var(--touch-min)}}.btn-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0}.icon-command{display:inline-grid;place-items:center;flex:none;width:var(--control-h-sm);height:var(--control-h-sm);padding:0;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text-2);font-size:var(--text-md);font-weight:600;cursor:pointer;transition:background var(--duration-fast) ease,color var(--duration-fast) ease}.icon-command:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.icon-command[aria-expanded=true],.icon-command[aria-pressed=true]{background:var(--surface-3);color:var(--text)}.icon-command:disabled{opacity:.35;cursor:default}.icon-command.danger{color:var(--danger)}.icon-command.danger:hover:not(:disabled){background:var(--danger-soft)}@media (pointer:coarse){.icon-command{width:var(--touch-min);height:var(--touch-min)}}.text-command{display:inline-flex;align-items:center;gap:var(--space-1);width:-moz-fit-content;width:fit-content;min-height:28px;padding:0;border:0;background:none;color:var(--accent-text);font-size:var(--text-md);font-weight:600;text-align:left;cursor:pointer}.text-command:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}.text-command:disabled{color:var(--text-3);cursor:default}.text-command.danger{color:var(--danger)}.segmented-control{display:flex;flex-wrap:wrap;gap:var(--space-1);min-width:0}.segmented-control button{min-height:30px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface);color:var(--text-2);font-size:var(--text-sm);font-weight:500;white-space:nowrap;cursor:pointer}.segmented-control button:hover{border-color:var(--border-strong);color:var(--text)}.segmented-control button[aria-checked=true],.segmented-control button[aria-pressed=true],.segmented-control button[aria-selected=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text);font-weight:600}@media (pointer:coarse){.segmented-control button{min-height:40px}}.chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:28px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface);color:var(--text-2);font-size:var(--text-sm);font-weight:500;white-space:nowrap}.chip .dot{width:7px;height:7px;border-radius:50%;background:var(--text-3)}.chip.live .dot{background:var(--accent)}.chip.local .dot{background:var(--warn)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);min-height:22px;padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface);color:var(--text-2);font-size:var(--text-xs);font-weight:600;line-height:1;white-space:nowrap}.badge-spaced{margin-left:var(--space-2)}.badge-warn{border-color:var(--warn-border);background:var(--warn-soft);color:var(--warn)}.badge-accent{border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:var(--accent-soft);color:var(--accent-text)}.badge.k-character{color:var(--k-character);border-color:color-mix(in srgb,var(--k-character) 35%,transparent);background:color-mix(in srgb,var(--k-character) 8%,var(--surface))}.badge.k-setting{color:var(--k-setting);border-color:color-mix(in srgb,var(--k-setting) 35%,transparent);background:color-mix(in srgb,var(--k-setting) 8%,var(--surface))}.badge.k-event{color:var(--k-event);border-color:color-mix(in srgb,var(--k-event) 35%,transparent);background:color-mix(in srgb,var(--k-event) 8%,var(--surface))}.badge.k-relationship{color:var(--k-relationship);border-color:color-mix(in srgb,var(--k-relationship) 35%,transparent);background:color-mix(in srgb,var(--k-relationship) 8%,var(--surface))}.badge.k-foreshadowing{color:var(--k-foreshadowing);border-color:color-mix(in srgb,var(--k-foreshadowing) 35%,transparent);background:color-mix(in srgb,var(--k-foreshadowing) 8%,var(--surface))}.badge.k-knowledge{color:var(--k-knowledge);border-color:color-mix(in srgb,var(--k-knowledge) 35%,transparent);background:color-mix(in srgb,var(--k-knowledge) 8%,var(--surface))}.badge-fallback,.badge-live{display:inline-flex;align-items:center;min-height:22px;padding:0 var(--space-2);border-radius:var(--r-full);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.badge-live{background:var(--accent-soft);color:var(--accent-text)}.badge-fallback{background:var(--warn-soft);color:var(--warn)}.sev{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:700}.sev.critical{color:var(--danger)}.sev.warning{color:var(--warn)}.sev.info{color:var(--accent-text)}.sev .tick{width:8px;height:8px;border-radius:2px;background:currentColor}.tag-list{display:flex;flex-wrap:wrap;gap:var(--space-1)}.tag-list span{padding:2px var(--space-2);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-2);font-size:var(--text-xs)}.empty-note{padding:var(--space-5) var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--r-lg);color:var(--text-3);text-align:center}.empty-note,.inline-error{font-size:var(--text-md);line-height:var(--leading-snug)}.inline-error{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);color:var(--danger);overflow-wrap:anywhere}.inline-warning{padding:var(--space-3) var(--space-4);border:1px solid var(--warn-border);border-radius:var(--r-md)}.inline-warning,.uncertain{background:var(--warn-soft);color:var(--warn);font-size:var(--text-md);line-height:var(--leading-snug)}.uncertain{padding:var(--space-2) var(--space-3);border-left:3px solid var(--warn);border-radius:0 var(--r-sm) var(--r-sm) 0}.spinner{display:inline-block;width:15px;height:15px;border:2px solid color-mix(in srgb,currentColor 25%,transparent);border-top-color:currentcolor;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.toast{position:fixed;left:50%;bottom:var(--space-6);z-index:120;display:flex;align-items:center;gap:var(--space-3);max-width:min(560px,calc(100% - var(--space-8)));padding:var(--space-3) var(--space-4);border-radius:var(--r-lg);background:var(--text);color:var(--bg);font-size:var(--text-md);line-height:var(--leading-snug);box-shadow:var(--shadow-lg);transform:translateX(-50%);animation:toast-in var(--duration-base) var(--ease-out)}.toast.err{background:var(--danger);color:#fff}.toast .btn{border-color:color-mix(in srgb,var(--bg) 40%,transparent);background:transparent;color:inherit}.toast .btn:hover:not(:disabled){background:color-mix(in srgb,var(--bg) 16%,transparent);border-color:currentColor}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.cite-list{display:flex;flex-direction:column;gap:var(--space-2)}.cite{display:grid;grid-gap:var(--space-1);gap:var(--space-1);min-width:0;padding:var(--space-2) var(--space-3);border-left:3px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--surface-2);overflow-wrap:anywhere}.cite .txt{min-width:0;color:var(--text-2);font-size:var(--text-md);line-height:var(--leading-snug)}.cite-jump{display:block;width:100%;border:0;text-align:left;font:inherit;cursor:pointer}.cite.cite-jump{display:grid;border-left:3px solid color-mix(in srgb,var(--accent) 55%,transparent)}.cite-jump:hover{background:var(--surface-3)}.answer{display:grid;grid-gap:var(--space-3);gap:var(--space-3);color:var(--text);font-size:var(--text-base);line-height:var(--leading-body)}.answer h3,.answer p,.answer ul{margin:0}.answer h3{font-size:var(--text-base)}.answer ul{display:grid;grid-gap:var(--space-1);gap:var(--space-1);padding-left:1.2em}.answer strong{font-weight:700}.answer code{padding:0 4px;border-radius:4px;background:var(--surface-2);font-family:var(--mono);font-size:.9em}.inline-diff{white-space:pre-wrap}.inline-diff del{background:var(--danger-soft);color:var(--danger);text-decoration:line-through}.inline-diff ins{background:var(--accent-soft);color:var(--accent-text);text-decoration:none}.menu-anchor{position:relative;display:inline-flex}.menu-popover{position:fixed;z-index:110;display:grid;grid-gap:1px;gap:1px;min-width:200px;max-width:min(320px,calc(100vw - 24px));max-height:min(70dvh,480px);overflow:auto;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-lg);animation:menu-in var(--duration-fast) var(--ease-out)}.menu-item{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:36px;padding:0 var(--space-3);border:0;border-radius:var(--r-md);background:none;color:var(--text);font-size:var(--text-md);font-weight:500;text-align:left;white-space:nowrap;cursor:pointer}.menu-item:focus-visible,.menu-item:hover:not(:disabled){outline:none;background:var(--surface-2)}.menu-item:disabled{color:var(--text-3);cursor:default}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover:not(:disabled){background:var(--danger-soft)}.menu-item .menu-hint{margin-left:auto;color:var(--text-3);font-size:var(--text-xs);font-weight:500}.menu-item svg{color:currentColor;opacity:.7}.menu-item.danger svg{opacity:1}.menu-icon-spacer{flex:none;width:16px}.menu-sep{height:1px;margin:var(--space-1) var(--space-2);background:var(--border)}.menu-label{padding:var(--space-2) var(--space-3) var(--space-1);color:var(--text-3);font-size:var(--text-xs);font-weight:600}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (pointer:coarse){.menu-item{min-height:var(--touch-min)}}.studio-dialog{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:var(--space-4);background:var(--scrim);animation:fade-in var(--duration-base) ease-out}.studio-dialog-card:focus{outline:none}.studio-dialog-card{display:flex;flex-direction:column;width:min(640px,100%);max-height:min(88dvh,920px);overflow:hidden;border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg);animation:dialog-in var(--duration-base) var(--ease-out)}.studio-dialog-card[data-size=sm]{width:min(440px,100%)}.studio-dialog-card[data-size=lg]{width:min(880px,100%)}.studio-dialog-card[data-size=xl]{width:min(1040px,100%)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex:none;padding:var(--space-5) var(--space-5) var(--space-3)}.dialog-head h2{font-size:var(--text-xl)}.dialog-head p{margin-top:var(--space-1);color:var(--text-3);font-size:var(--text-md);line-height:var(--leading-snug)}.dialog-head .icon-command{margin:-4px -6px 0 0}.dialog-body{display:grid;grid-gap:var(--space-4);gap:var(--space-4);align-content:start;flex:1 1;min-height:0;overflow:auto;padding:var(--space-2) var(--space-5) var(--space-5)}.dialog-body>*{min-width:0}.dialog-foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;flex:none;padding:var(--space-3) var(--space-5);border-top:1px solid var(--border);background:var(--surface)}.dialog-foot .dialog-foot-meta{margin-right:auto;color:var(--text-3);font-size:var(--text-sm)}.confirm-dialog .dialog-body{padding-top:0;color:var(--text-2);font-size:var(--text-base);line-height:var(--leading-body)}.confirm-dialog .dialog-body:empty{display:none}.confirm-dialog .dialog-foot{border-top:0;padding-top:var(--space-2);padding-bottom:var(--space-5)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@media (max-width:640px){.studio-dialog{place-items:end stretch;padding:0}.studio-dialog-card,.studio-dialog-card[data-size]{width:100%;max-height:92dvh;border-radius:var(--r-xl) var(--r-xl) 0 0}.dialog-head{padding:var(--space-4) var(--space-4) var(--space-2)}.dialog-body{padding:var(--space-2) var(--space-4) var(--space-4)}.dialog-foot{padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom))}.dialog-foot .btn{flex:1 1 auto}}.studio-boot{place-items:center;align-content:center;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-6);background:var(--bg);color:var(--text-3);font-size:var(--text-md);text-align:center}.studio-boot,.studio-gate{min-height:100dvh;display:grid}.studio-gate{place-items:center;padding:var(--space-8) var(--gutter);background:var(--bg)}.studio-gate-inner{display:grid;grid-gap:var(--space-4);gap:var(--space-4);width:min(440px,100%);padding:var(--space-8);border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-md)}.gate-brand{display:flex;align-items:center;gap:var(--space-3)}.gate-sub{padding-left:var(--space-3);border-left:1px solid var(--border);color:var(--text-3);font-size:var(--text-sm);font-weight:600}.gate-copy{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.studio-gate h1{font-size:var(--text-2xl);line-height:var(--leading-tight)}.studio-gate .lede{font-size:var(--text-md)}.gate-form{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.gate-form .btn{margin-top:var(--space-2)}.session-login{justify-self:stretch}@media (max-width:480px){.studio-gate-inner{padding:var(--space-6) var(--space-5)}}.starter{display:flex;align-items:center;gap:var(--space-2);min-width:0}.starter input{flex:1 1;min-width:0;min-height:var(--control-h-lg);padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-size:var(--text-base)}.starter input::placeholder{color:var(--text-3)}.starter input:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.starter .btn{min-height:var(--control-h-lg)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media (max-width:640px){.chapter-title-input,.field,.starter input{font-size:16px}}.file-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);min-width:0;padding:var(--space-6) var(--space-4);border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface-2);text-align:center;transition:border-color var(--duration-fast) ease,background var(--duration-fast) ease}.file-dropzone.compact{padding:var(--space-4)}.file-dropzone.dragging{border-color:var(--accent);background:var(--accent-soft)}.file-dropzone.loading{border-color:var(--warn)}.file-dropzone.error{border-color:var(--danger)}.file-dropzone>strong{color:var(--text);font-size:var(--text-base);font-weight:700}.file-dropzone .dropzone-detail{max-width:var(--measure-narrow);color:var(--text-3);font-size:var(--text-sm);line-height:var(--leading-snug)}.dropzone-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}.file-dropzone.compact .dropzone-icon{width:32px;height:32px}.file-dropzone>.btn{margin-top:var(--space-1)}.file-preview{display:grid;justify-items:center;grid-gap:2px;gap:2px;max-width:100%;margin-top:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--r-md);background:var(--surface);overflow-wrap:anywhere}.file-preview b{color:var(--text);font-size:var(--text-md)}.file-preview span{color:var(--text-3);font-size:var(--text-sm)}.file-preview .file-preview-warn{color:var(--warn)}.selected-files{display:flex;flex-direction:column;max-height:260px;margin:0;padding:0;overflow:auto;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);list-style:none}.selected-files>div,.selected-files>li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-width:0;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border)}.selected-files>div:last-child,.selected-files>li:last-child{border-bottom:0}.selected-file-name,.selected-files span{display:flex;align-items:center;gap:var(--space-2);min-width:0;color:var(--text);font-size:var(--text-sm);overflow-wrap:anywhere}.selected-files span b{flex:none;min-width:22px;color:var(--accent-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.selected-files span .field{min-height:var(--control-h-sm);padding:0 var(--space-2);font-size:var(--text-sm)}.selected-files>div>div,.selected-files>li>span:last-child{display:flex;align-items:center;flex:none;gap:var(--space-1)}.selected-files label{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--text-2);font-size:var(--text-sm);white-space:nowrap}.batch-importer{display:grid;grid-gap:var(--space-3);gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.batch-importer .content-toolbar h2{font-size:var(--text-base)}.batch-importer .content-toolbar .eyebrow{display:block}.batch-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;color:var(--text-3);font-size:var(--text-sm)}.batch-actions>span{margin-right:auto}.batch-row{display:grid;grid-gap:var(--space-2);gap:var(--space-2);min-width:0;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2)}.batch-row-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-width:0}.batch-row-head strong{min-width:0;font-size:var(--text-sm);overflow-wrap:anywhere}.batch-status{flex:none;color:var(--text-3);font-size:var(--text-xs);font-weight:600}.batch-status.ready{color:var(--accent-text)}.batch-status.failed,.batch-status.partial{color:var(--danger)}.batch-meter{width:100%;height:4px;overflow:hidden;border-radius:2px;background:var(--border)}.batch-meter span{display:block;height:100%;background:var(--accent);transition:width var(--duration-base) ease}.batch-row p{color:var(--text-2);font-size:var(--text-sm);overflow-wrap:anywhere}.batch-items{display:grid;grid-gap:1px;gap:1px;max-height:220px;overflow:auto;border-block:1px solid var(--border)}.batch-items>div{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-2) 0}.batch-items small,.batch-items span{min-width:0;overflow-wrap:anywhere}.batch-items span{font-size:var(--text-sm)}.batch-items small{color:var(--text-3);font-size:var(--text-xs);text-align:right}@media (max-width:560px){.batch-items>div{grid-template-columns:1fr;gap:2px}.batch-items small{text-align:left}.batch-actions{flex-direction:column;align-items:stretch}.batch-actions>span{margin-right:0}.batch-actions .btn{width:100%}}.batch-importer.embedded{padding:0;border:0;background:none}.projects-page{min-height:100dvh;background:var(--bg)}.app-bar{position:-webkit-sticky;position:sticky;top:0;z-index:30;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px)}.app-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);max-width:1200px;min-height:56px;margin:0 auto;padding-inline:var(--gutter)}.app-bar-actions{display:flex;align-items:center;gap:var(--space-1);min-width:0}.app-bar-user{max-width:14rem;margin-left:var(--space-2);padding-left:var(--space-3);border-left:1px solid var(--border);color:var(--text-2);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projects-main{display:grid;grid-gap:var(--space-10);gap:var(--space-10);max-width:1200px;margin:0 auto;padding:var(--space-10) var(--gutter) var(--space-16)}.projects-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap}.projects-head h1{font-size:var(--text-4xl);letter-spacing:-.02em}.projects-head .lede{margin-top:var(--space-2)}.continue-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin-top:calc(var(--space-6) * -1);padding:var(--space-5) var(--space-6);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:var(--r-xl);background:linear-gradient(0deg,var(--accent-soft),var(--accent-soft)),var(--surface)}.continue-card-text{display:grid;grid-gap:2px;gap:2px;min-width:0}.continue-card-text .eyebrow{color:var(--accent-text)}.continue-card-text strong{color:var(--text);font-size:var(--text-xl);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.continue-card-meta{color:var(--text-2);font-size:var(--text-sm)}.projects-section{display:grid;grid-gap:var(--space-4);gap:var(--space-4);min-width:0}.projects-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.projects-section h2{font-size:var(--text-xl)}.archived-section h2 .count,.projects-section h2 .count{margin-left:var(--space-1);color:var(--text-3);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));grid-gap:var(--space-4);gap:var(--space-4)}.project-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:188px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.project-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.project-card-main{display:grid;align-content:start;grid-gap:var(--space-2);gap:var(--space-2);flex:1 1;width:100%;padding:var(--space-5) var(--space-5) var(--space-2);border:0;border-radius:var(--r-lg) var(--r-lg) 0 0;background:none;text-align:left;cursor:pointer}.project-card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text);font-size:var(--text-lg);font-weight:700;line-height:var(--leading-tight)}.project-card-meta{display:flex;flex-wrap:wrap;gap:0 var(--space-2);color:var(--text-2);font-size:var(--text-sm)}.project-card-meta>span+span:before{content:"·";margin-right:var(--space-2);color:var(--text-3)}.project-card-recent{color:var(--text-3);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card-flags{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:0 var(--space-5)}.project-card-flags:empty{display:none}.project-card-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-3) var(--space-5);border-top:1px solid var(--border)}.project-card-date{min-width:0;color:var(--text-3);font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-card-actions{display:flex;align-items:center;gap:var(--space-1);flex:none}.project-card-actions .icon-command{width:var(--control-h-sm);height:var(--control-h-sm);border-color:var(--border)}.project-card-skeleton{min-height:188px;background:linear-gradient(90deg,var(--surface) 25%,var(--surface-2) 50%,var(--surface) 75%);background-size:200% 100%;animation:skeleton 1.4s ease-in-out infinite}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.projects-empty{display:grid;justify-items:center;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-10) var(--space-6);border:1px dashed var(--border-strong);border-radius:var(--r-xl);background:var(--surface);text-align:center}.projects-empty strong{font-size:var(--text-lg)}.projects-empty span{max-width:44ch;color:var(--text-2);font-size:var(--text-md)}.projects-empty .btn{margin-top:var(--space-2)}.new-work{scroll-margin-top:80px}.new-work-card{display:grid;grid-gap:var(--space-5);gap:var(--space-5);padding:var(--space-6);border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-sm)}.new-work-source{display:grid;grid-template-columns:minmax(0,1.35fr) auto minmax(0,1fr);grid-gap:var(--space-4);gap:var(--space-4);align-items:stretch}.new-work-paste textarea{flex:1 1;min-height:220px;font-family:var(--serif);font-size:var(--text-lg);line-height:var(--leading-body)}.new-work-source .file-dropzone{margin-top:calc(var(--text-sm) * 1.5 + var(--space-2))}.new-work-or{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding-top:calc(var(--text-sm) * 1.5 + var(--space-2));color:var(--text-3);font-size:var(--text-sm)}.new-work-or:after,.new-work-or:before{content:"";flex:1 1;width:1px;background:var(--border)}.new-work-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding-top:var(--space-4);border-top:1px solid var(--border)}.new-work-hint{color:var(--text-3);font-size:var(--text-sm);line-height:var(--leading-snug)}.new-work-foot .btn-primary{margin-left:auto}.idea-examples{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-sm)}.chip-button{cursor:pointer}.chip-button:hover{border-color:var(--accent);color:var(--accent-text)}.backup-section{padding-top:var(--space-6);border-top:1px solid var(--border)}.backup-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);flex-wrap:wrap}.backup-row h2{font-size:var(--text-base)}.backup-row p{max-width:64ch;margin-top:var(--space-1);font-size:var(--text-sm)}.backup-row .btn{cursor:pointer}.archived-section{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.archived-section summary{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);cursor:pointer;list-style:none}.archived-section summary::-webkit-details-marker{display:none}.archived-section summary h2{font-size:var(--text-base)}.archived-section summary .muted{font-size:var(--text-sm)}.archived-section summary svg{margin-left:auto;color:var(--text-3);transition:transform var(--duration-fast) ease}.archived-section[open] summary svg{transform:rotate(180deg)}.archived-list{display:grid;margin:0;padding:0 var(--space-5) var(--space-3);list-style:none}.archived-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--border)}.archived-title{min-width:0;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:860px){.new-work-source{grid-template-columns:minmax(0,1fr)}.new-work-or{flex-direction:row;padding-top:0}.new-work-or:after,.new-work-or:before{width:auto;height:1px}.new-work-source .file-dropzone{margin-top:0}.new-work-paste textarea{min-height:160px}}@media (max-width:640px){.projects-main{gap:var(--space-8);padding-top:var(--space-6)}.projects-head h1{font-size:var(--text-3xl)}.project-card{min-height:0}.project-card-main{padding:var(--space-4) var(--space-4) var(--space-2)}.project-card-flags{padding:0 var(--space-4)}.project-card-foot{padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4)}.continue-card{flex-direction:column;align-items:stretch;margin-top:0;padding:var(--space-4)}.continue-card .btn{width:100%}.new-work-card{padding:var(--space-4)}.new-work .entry-tabs{width:100%}.new-work .entry-tabs button{flex:1 1}.new-work-foot .btn-primary{width:100%}.app-bar-actions>.btn-ghost:first-child,.app-bar-user{display:none}}html:has(.studio-root),html:has(.studio-root) body{height:100%;overflow:hidden}.studio-root{--sidebar-w:272px;--assistant-w:392px;--topbar-h:52px;position:relative;display:flex;flex-direction:column;height:100dvh;max-height:100dvh;min-height:0;overflow:hidden;background:var(--bg);color:var(--text)}.studio-topbar{position:relative;z-index:40;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-4);gap:var(--space-4);flex:none;height:var(--topbar-h);padding-inline:var(--space-3);border-bottom:1px solid var(--border);background:var(--surface)}.studio-topbar-lead{display:flex;align-items:center;gap:var(--space-2)}.studio-topbar-lead .wordmark-button{margin-inline:0}.studio-topbar-lead .wordmark .mark{font-size:16px}.studio-title{display:flex;align-items:center;gap:var(--space-2);min-width:0}.studio-project-title{flex:0 1 auto;min-width:0;max-width:22rem;padding:4px var(--space-2);border:0;border-radius:var(--r-sm);background:none;color:var(--text-2);font-size:var(--text-md);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.studio-project-title:hover{background:var(--surface-2);color:var(--text)}.studio-title-sep{flex:none;color:var(--border-strong);font-size:var(--text-lg)}.studio-title .chapter-title-input{flex:0 1 auto;field-sizing:content;min-width:3em;max-width:100%;padding:4px var(--space-2);border:1px solid transparent;border-radius:var(--r-sm);background:none;color:var(--text);font-size:var(--text-base);font-weight:700;text-overflow:ellipsis}.studio-title .chapter-title-input:hover:not(:-moz-read-only){border-color:var(--border)}.studio-title .chapter-title-input:hover:not(:read-only){border-color:var(--border)}.studio-title .chapter-title-input:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.save-state{flex:none;display:inline-flex;align-items:center;gap:6px;max-width:11rem;color:var(--text-3);font-size:var(--text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save-state:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--accent)}.save-state.saving:before{background:var(--warn);animation:save-pulse 1.2s ease-in-out infinite}.save-state.offline:before{background:var(--text-3)}.save-state.conflict,.save-state.error{color:var(--danger);font-weight:600}.save-state.conflict:before,.save-state.error:before{background:var(--danger)}@keyframes save-pulse{50%{opacity:.35}}.studio-topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-1);min-width:0}.inbox-badge,.studio-topbar-actions .chip{margin-right:var(--space-1)}.inbox-badge{display:inline-flex;align-items:center;gap:6px;flex:none;min-height:var(--control-h-sm);padding:0 var(--space-3);border:1px solid var(--warn-border);border-radius:var(--r-full);background:var(--warn-soft);color:var(--warn);font-size:var(--text-sm);font-weight:600;white-space:nowrap;cursor:pointer}.inbox-badge b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.inbox-badge:hover{border-color:var(--warn)}.inbox-badge-warn{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}.inbox-badge-warn:hover{border-color:var(--danger)}.studio-assistant-toggle[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.studio-shell{position:relative;display:flex;flex:1 1;min-height:0}.studio-center{position:relative}.studio-center,.studio-center>.manuscript-workspace{display:flex;flex-direction:column;flex:1 1;min-width:0;min-height:0}.studio-scrim{position:absolute;inset:0;z-index:25;padding:0;border:0;background:var(--scrim);cursor:pointer;animation:fade-in var(--duration-base) ease-out}.studio-sidebar{display:flex;flex-direction:column;flex:none;width:var(--sidebar-w);min-height:0;border-right:1px solid var(--border);background:var(--surface)}.studio-root[data-sidebar=drawer] .studio-sidebar{position:absolute;inset:0 auto 0 0;z-index:30;width:min(320px,86vw);box-shadow:var(--shadow-lg);animation:drawer-in var(--duration-base) var(--ease-out)}@keyframes drawer-in{0%{transform:translateX(-16px);opacity:0}to{transform:none;opacity:1}}.studio-assistant{display:flex;flex-direction:column;flex:none;width:var(--assistant-w);min-height:0;border-left:1px solid var(--border);background:var(--surface)}.studio-dock-sheet{display:flex;flex-direction:column;flex:1 1;min-height:0;overflow:hidden}.dock-handle{display:none}.dock-chrome{display:flex;align-items:center;gap:var(--space-2);flex:none;padding:var(--space-2) var(--space-2) 0 var(--space-3);border-bottom:1px solid var(--border)}.dock-tabs{display:flex;flex:1 1;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}.dock-tabs::-webkit-scrollbar{display:none}.dock-tab{position:relative;flex:none;min-height:40px;padding:0 var(--space-3);border:0;background:none;color:var(--text-3);font-size:var(--text-md);font-weight:600;white-space:nowrap;cursor:pointer}.dock-tab:hover,.dock-tab[aria-selected=true]{color:var(--text)}.dock-tab[aria-selected=true]:after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:-1px;height:2px;border-radius:2px;background:var(--accent)}.dock-close{margin-bottom:var(--space-1)}.dock-body{flex:1 1;min-height:0;overflow:auto;padding:var(--space-5) var(--space-4) var(--space-8);overscroll-behavior:contain}.dock-panel{display:grid;grid-gap:var(--space-4);gap:var(--space-4);align-content:start;min-width:0}.dock-panel>.btn,.dock-panel>.text-command{justify-self:start}.dock-head{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.dock-head h2{font-size:var(--text-xl)}.dock-head p,.dock-note{color:var(--text-3);font-size:var(--text-sm);line-height:var(--leading-snug)}.dock-note b{color:var(--text-2)}.chapter-list{display:flex;flex-direction:column;flex:1 1;min-height:0}.chapter-list-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex:none;padding:var(--space-4) var(--space-3) var(--space-2) var(--space-4)}.chapter-list-head h2{font-size:var(--text-md);color:var(--text-2)}.chapter-list-head .count,.sidebar-link .count{margin-left:var(--space-1);color:var(--text-3);font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chapter-list-filters{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:var(--space-1);gap:var(--space-1);flex:none;padding:0 var(--space-3) var(--space-2)}.chapter-search{display:flex;align-items:center;gap:var(--space-2);min-width:0;height:var(--control-h-sm);padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--text-3)}.chapter-search:focus-within{border-color:var(--accent);box-shadow:var(--focus-ring)}.chapter-search input{flex:1 1;min-width:0;border:0;background:none;color:var(--text);font-size:var(--text-sm);outline:none}.chapter-filter{height:var(--control-h-sm);padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--text-2);font-size:var(--text-sm)}.chapter-list-body{flex:1 1;min-height:0;overflow:auto;padding:0 var(--space-2) var(--space-3)}.chapter-item-row{position:relative;display:flex;align-items:center;gap:2px;padding-right:var(--space-1);border-radius:var(--r-md)}.chapter-item-row:hover{background:var(--surface-2)}.chapter-item-row[data-active=true]{background:var(--accent-soft)}.chapter-item-row[data-active=true]:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:var(--accent)}.chapter-item-row[data-dragging=true]{opacity:.5}.chapter-item{display:grid;align-content:center;grid-gap:2px;gap:2px;flex:1 1;min-width:0;height:100%;padding:0 var(--space-2) 0 var(--space-3);border:0;background:none;color:var(--text);text-align:left;cursor:pointer}.chapter-item strong{font-size:var(--text-md);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-item-row[data-active=true] .chapter-item strong{color:var(--accent-text)}.chapter-item-meta{display:flex;align-items:center;gap:var(--space-2);min-width:0;color:var(--text-3);font-size:var(--text-xs);white-space:nowrap}.chapter-status{font-weight:600}.chapter-status.s-idea{color:var(--k-knowledge)}.chapter-status.s-draft{color:var(--text-3)}.chapter-status.s-revision{color:var(--warn)}.chapter-status.s-reviewed{color:var(--k-setting)}.chapter-status.s-published{color:var(--accent-text)}.chapter-item-actions{flex:none;opacity:0;transition:opacity var(--duration-fast) ease}.chapter-item-actions:has([aria-expanded=true]),.chapter-item-row:focus-within .chapter-item-actions,.chapter-item-row:hover .chapter-item-actions,.chapter-item-row[data-active=true] .chapter-item-actions{opacity:1}@media (hover:none){.chapter-item-actions{opacity:1}}.chapter-list-empty{margin:var(--space-2);padding:var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--r-md);color:var(--text-3);font-size:var(--text-sm);line-height:var(--leading-snug)}.chapter-list-foot{display:grid;grid-gap:2px;gap:2px;flex:none;padding:var(--space-2);border-top:1px solid var(--border)}.sidebar-link{display:flex;align-items:center;gap:var(--space-2);min-height:34px;padding:0 var(--space-3);border:0;border-radius:var(--r-md);background:none;color:var(--text-2);font-size:var(--text-sm);font-weight:500;text-align:left;cursor:pointer}.sidebar-link:hover{background:var(--surface-2);color:var(--text)}.sidebar-link svg{color:var(--text-3)}.trash-list{display:grid;margin:0;padding:0;list-style:none}.trash-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.trash-list li:last-child{border-bottom:0}.trash-item-text{display:grid;grid-gap:2px;gap:2px;min-width:0}.trash-item-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-item-text .muted{font-size:var(--text-sm)}.studio-root .empty-writing{display:grid;place-items:center;flex:1 1;min-height:0;padding:var(--space-8) var(--space-4);overflow:auto}.empty-writing-card{display:grid;justify-items:center;grid-gap:var(--space-3);gap:var(--space-3);width:min(560px,100%);text-align:center}.empty-writing-card h2{font-size:var(--text-2xl)}.empty-writing-card>p{max-width:44ch;color:var(--text-2);font-size:var(--text-base);line-height:var(--leading-body)}.empty-writing-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:var(--r-lg);background:var(--accent-soft);color:var(--accent)}.empty-writing-actions{justify-content:center;margin-bottom:var(--space-4)}.empty-writing-card .batch-importer{width:100%;text-align:left}.studio-root[data-focus="1"] .studio-topbar{background:var(--bg);border-bottom-color:transparent}.studio-root[data-focus="1"] .studio-topbar-actions>:not(.studio-focus-toggle):not(.menu-anchor){display:none}@media (max-width:1279px){.studio-root{--assistant-w:360px}}@media (max-width:1100px){.inbox-badge-label,.studio-topbar-actions .chip.local{display:none}}@media (max-width:859px){.studio-topbar{gap:var(--space-2);padding-inline:var(--space-2)}.studio-assistant-toggle span,.studio-focus-toggle,.studio-project-title,.studio-theme-toggle,.studio-title .save-state,.studio-title-sep,.studio-topbar-lead .wordmark-button{display:none}.studio-assistant-toggle{width:var(--control-h-sm);padding:0;border-color:transparent}.studio-title .chapter-title-input{flex:1 1}.studio-assistant{position:absolute;inset:auto 0 0 0;z-index:30;width:100%;height:min(82dvh,720px);border-left:0;border-top:1px solid var(--border);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--shadow-lg);animation:sheet-up var(--duration-base) var(--ease-out)}.dock-handle{display:block;flex:none;width:44px;height:5px;margin:var(--space-2) auto 0;padding:0;border:0;border-radius:var(--r-full);background:var(--border-strong);cursor:pointer}.dock-body{padding:var(--space-4) var(--space-4) calc(var(--space-8) + env(safe-area-inset-bottom))}}@keyframes sheet-up{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}@media (pointer:coarse){.dock-tab,.sidebar-link{min-height:var(--touch-min)}}.studio-root .writing-surface{position:relative;display:flex;flex-direction:column;flex:1 1;min-height:0;background:var(--paper);overflow:hidden}.writing-compose{position:relative;display:flex;flex-direction:column;flex:1 1 12rem;min-width:0;min-height:12rem;overflow:hidden}.manuscript-toolbar-host{position:relative;z-index:6;flex:none;border-bottom:1px solid var(--border);background:var(--paper)}.manuscript-toolbar{display:flex;align-items:center;gap:var(--space-1);min-height:44px;padding:var(--space-1) var(--space-3);overflow-x:auto;scrollbar-width:none}.manuscript-toolbar::-webkit-scrollbar{display:none}.manuscript-toolbar-cluster{display:flex;align-items:center;gap:2px;flex:none;padding-inline:var(--space-1)}.manuscript-toolbar-cluster+.manuscript-toolbar-cluster{padding-left:var(--space-2);border-left:1px solid var(--border)}.toolbar-spacer+.manuscript-toolbar-cluster{border-left:0}.toolbar-spacer{flex:1 1;min-width:var(--space-2)}.toolbar-sep{flex:none;width:1px;height:18px;margin-inline:var(--space-1);background:var(--border)}.manuscript-toolbar .icon-command{font-size:var(--text-md)}.manuscript-toolbar .mark-bold{font-weight:800}.manuscript-toolbar .mark-italic{font-style:italic;font-family:var(--serif)}.manuscript-toolbar .mark-underline{text-decoration:underline;text-underline-offset:2px}.manuscript-toolbar .mark-strike{text-decoration:line-through}.toolbar-history{color:var(--text-2)}.toolbar-select{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-h-sm);padding:0 var(--space-2) 0 var(--space-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font-size:var(--text-sm);font-weight:600;white-space:nowrap;cursor:pointer}.toolbar-select:hover:not(:disabled){border-color:var(--border-strong)}.toolbar-select[aria-expanded=true]{border-color:var(--accent);box-shadow:var(--focus-ring)}.toolbar-select:disabled{opacity:.5;cursor:default}.toolbar-select-size{color:var(--text-3);font-weight:500}.toolbar-select svg{color:var(--text-3)}.text-style-popover{gap:var(--space-4);width:300px;max-width:calc(100vw - 24px);padding:var(--space-4)}.text-style-row{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.text-style-row .field{min-height:var(--control-h);padding-block:0;font-size:var(--text-md)}.text-style-inline{display:flex;gap:var(--space-2)}.text-style-inline .field[type=number]{width:6rem;flex:none}.text-style-row .segmented-control{flex-wrap:nowrap}.text-style-row .segmented-control button{flex:1 1;padding:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.text-style-note{color:var(--text-3);font-size:var(--text-xs);line-height:var(--leading-snug)}.manuscript-find-bar{flex-wrap:wrap;flex:none;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border);background:var(--surface-2)}.find-field,.manuscript-find-bar{display:flex;align-items:center;gap:var(--space-2)}.find-field{flex:0 1 240px;min-width:140px;height:var(--control-h-sm);padding:0 var(--space-2);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text-3)}.find-field:focus-within{border-color:var(--accent);box-shadow:var(--focus-ring)}.find-field input{flex:1 1;min-width:0;border:0;background:none;color:var(--text);font-size:var(--text-sm);outline:none}.find-count{flex:none;color:var(--text-3);font-size:var(--text-xs)}.manuscript-editor-scroll{position:relative;flex:1 1;min-height:0;overflow:auto;scroll-padding-block:96px}.manuscript-page{position:relative;width:100%;max-width:calc(var(--measure-manuscript) + 2 * var(--page-pad-x));margin-inline:auto;--page-pad-x:clamp(20px,5vw,56px);--manuscript-size:18px;font-size:var(--manuscript-size)}.manuscript-editor,.tiptap-manuscript{min-height:100%;color:var(--text)}.tiptap-manuscript .ProseMirror{min-height:60vh;padding-block:var(--space-10) 30vh;padding-inline:var(--page-pad-x);color:var(--text);font-family:var(--serif);font-size:var(--manuscript-size);line-height:var(--leading-reading);caret-color:var(--accent);outline:none;word-break:keep-all;overflow-wrap:break-word}.tiptap-manuscript .ProseMirror p{margin:0 0 .8em}.tiptap-manuscript .ProseMirror ::selection{background:color-mix(in srgb,var(--accent) 24%,transparent)}.studio-root .tiptap-manuscript:focus-within{outline:none}.manuscript-placeholder{position:absolute;top:var(--space-10);left:var(--page-pad-x);right:var(--page-pad-x);margin:0;color:var(--text-3);font-family:var(--serif);font-size:var(--manuscript-size);line-height:var(--leading-reading);pointer-events:none}.manuscript-placeholder b{color:var(--text-2);font-weight:600}.split-notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3);margin:var(--space-3) auto 0;width:min(calc(var(--measure-manuscript) * 1.1),calc(100% - var(--space-6)));max-width:820px}.split-notice .btn-row{flex:none}.issue-strip{position:-webkit-sticky;position:sticky;top:0;z-index:4;margin:var(--space-3) auto 0;width:min(calc(var(--measure-manuscript) * 1.1),calc(100% - var(--space-6)));max-width:820px;border:1px solid var(--warn-border);border-radius:var(--r-lg);background:color-mix(in srgb,var(--warn-soft) 60%,var(--paper));font-size:var(--text-md);box-shadow:var(--shadow-sm)}.issue-strip summary{display:flex;align-items:center;gap:var(--space-3);min-height:40px;padding:0 var(--space-4);cursor:pointer;list-style:none}.issue-strip summary::-webkit-details-marker{display:none}.issue-strip summary svg{margin-left:auto;color:var(--text-3);transition:transform var(--duration-fast) ease}.issue-strip[open] summary svg{transform:rotate(180deg)}.issue-strip-hint{color:var(--text-3);font-size:var(--text-sm)}.issue-list{max-height:40vh;margin:0;padding:0 var(--space-3) var(--space-3);overflow:auto;list-style:none}.issue-item,.issue-list{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.issue-item{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.issue-jump{display:flex;align-items:center;gap:var(--space-2);padding:0;border:0;background:none;color:var(--text);text-align:left;cursor:pointer}.issue-jump strong{font-size:var(--text-md)}.issue-jump:hover strong{text-decoration:underline;text-underline-offset:3px}.issue-suggestion{color:var(--accent-text);font-size:var(--text-sm);line-height:var(--leading-snug)}.issue-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.issue-actions .text-command{font-size:var(--text-sm)}.issue-actions .muted-command{color:var(--text-3);font-weight:500}.writing-assist-dock{position:absolute;left:0;right:0;bottom:var(--space-4);z-index:12;display:grid;justify-items:center;grid-gap:var(--space-2);gap:var(--space-2);pointer-events:none}.writing-assist-dock>*{pointer-events:auto}.writing-assist-dock .toast{position:static;transform:none;animation:fade-in var(--duration-base) ease-out}.selection-tools-float{position:fixed;z-index:80;display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin:0;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-lg)}.selection-count{flex:none;color:var(--text-3);font-size:var(--text-xs);font-weight:600}.assist-groups{display:flex;align-items:center;gap:var(--space-1);overflow-x:auto}.assist-groups .btn{flex:none}.writing-status-band{flex:none;min-height:40px;padding:var(--space-2) var(--space-4);border-top:1px solid var(--border);background:var(--surface)}.status-meta,.writing-status-band{display:flex;align-items:center;gap:var(--space-3)}.status-meta{flex:1 1;min-width:0;color:var(--text-2);font-size:var(--text-sm);white-space:nowrap}.status-hint{color:var(--text-3);overflow:hidden;text-overflow:ellipsis}.status-assist-actions{display:flex;align-items:center;gap:var(--space-2);flex:1 1;min-width:0}.writing-status-band .writing-analyze{flex:none;margin-left:auto}.version-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);grid-gap:var(--space-4);gap:var(--space-4);min-height:min(56dvh,520px)}.version-list{align-content:start;max-height:min(60dvh,560px);margin:0;padding:0 var(--space-1) 0 0;overflow:auto;list-style:none}.version-item,.version-list{display:grid;grid-gap:2px;gap:2px}.version-item{width:100%;padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--r-md);background:none;color:var(--text);text-align:left;cursor:pointer}.version-item:hover{background:var(--surface-2)}.version-item[aria-current=true]{border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:var(--accent-soft)}.version-item-time{font-size:var(--text-md);font-weight:600}.version-item-meta{display:flex;align-items:center;gap:var(--space-2);color:var(--text-3);font-size:var(--text-xs)}.version-reason{font-weight:600}.version-reason.r-manual{color:var(--accent-text)}.version-reason.r-after-ai-apply,.version-reason.r-before-ai-apply{color:var(--k-knowledge)}.version-reason.r-analysis{color:var(--k-setting)}.version-reason.r-conflict-recovery{color:var(--danger)}.version-preview{display:flex;flex-direction:column;min-width:0;max-height:min(60dvh,560px);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--paper);overflow:hidden}.version-preview>.inline-error,.version-preview>.muted{padding:var(--space-5)}.version-preview-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--surface-2);font-size:var(--text-sm)}.version-delta{color:var(--text-3);font-size:var(--text-sm)}.version-delta.plus{color:var(--accent-text)}.version-delta.minus{color:var(--text-2)}.version-preview-body{flex:1 1;overflow:auto;padding:var(--space-5) var(--space-6);font-family:var(--serif);font-size:16px;line-height:var(--leading-reading)}.version-preview-body p{margin:0 0 .6em}@media (max-width:1100px){.status-hint,.toolbar-history span{display:none}}@media (max-width:859px){.manuscript-toolbar{padding-inline:var(--space-2)}.manuscript-page{--manuscript-size:17px;--page-pad-x:20px}.tiptap-manuscript .ProseMirror{padding-top:var(--space-6)}.manuscript-placeholder{top:var(--space-6)}.writing-status-band{gap:var(--space-2);padding-inline:var(--space-3)}.status-assist-actions{overflow-x:auto}.status-assist-actions .selection-count{display:none}.version-layout{grid-template-columns:minmax(0,1fr)}.version-list{grid-auto-flow:column;grid-auto-columns:minmax(160px,1fr);max-height:none;overflow-x:auto;padding-bottom:var(--space-1)}.version-preview{max-height:48dvh}.issue-strip-hint{display:none}}@media (pointer:coarse){.toolbar-select{height:var(--touch-min)}}.tiptap-manuscript .search-hit{border-radius:2px;background:color-mix(in srgb,var(--warn) 22%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--warn) 30%,transparent)}.tiptap-manuscript .search-hit.current{background:color-mix(in srgb,var(--warn) 48%,transparent);box-shadow:0 0 0 2px var(--warn)}.find-nav{gap:0}.manuscript-find-bar>.find-close{margin-left:auto}