:root{color:#20252a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--line:#5e574c2e;--panel:#faf8f4e6;--ink-strong:#20252a;--ink-soft:#666b70;--accent:#8198f6;--accent-deep:#6378db;--accent-strong:#a98df2;background:linear-gradient(#faf8f4fa,#f1ece5f5),repeating-linear-gradient(90deg,#66605805 0 1px,#0000 1px 24px);font-family:IBM Plex Sans,Avenir Next,sans-serif;font-weight:400;line-height:1.5}[data-theme=dark]{color:#ddd8d0;--line:#c8c3be1c;--panel:#1a1c22f2;--ink-strong:#ddd8d0;--ink-soft:#888480;--accent:#9cb0ff;--accent-deep:#7f93ef;--accent-strong:#c1a8ff;background:linear-gradient(#121418fc,#0e1014fa),repeating-linear-gradient(90deg,#c8c3be05 0 1px,#0000 1px 24px)}*{box-sizing:border-box}html{height:100%;min-height:100%}body{min-height:100dvh;color:var(--ink-strong);margin:0}button,input,textarea{font:inherit;color:inherit}h1,h2{letter-spacing:-.025em;color:var(--ink-strong);margin:0;font-family:IBM Plex Serif,Iowan Old Style,serif}h1{font-size:clamp(1.9rem,3.6vw,3rem);line-height:1}h2{font-size:clamp(1.05rem,1.6vw,1.35rem)}p{margin:0}a{color:inherit}#root{min-height:100vh}.app-shell{flex-direction:column;max-width:1400px;min-height:100dvh;margin:0 auto;display:flex}.loading-state{height:100dvh;color:var(--ink-soft);place-items:center;display:grid}.workspace-topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;background:#faf8f4f7;flex:none;align-items:center;gap:.75rem;padding:.55rem .9rem;display:flex;position:sticky;top:0}.menu-button{border:1px solid var(--line);cursor:pointer;background:#f7f4f0e6;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:40px;min-width:40px;height:40px;padding:0;display:flex}.menu-button span{background:var(--ink-strong);width:16px;height:2px;display:block}.topbar-title{flex:1;min-width:0}.topbar-title h1{white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.02em;color:var(--ink-strong);font-family:IBM Plex Serif,Iowan Old Style,serif;font-size:.95rem;line-height:1.2;overflow:hidden}.topbar-title .subcopy{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;margin-top:.1rem;font-size:.68rem;display:block;overflow:hidden}.topbar-end{flex:none;align-items:center;gap:.6rem;display:flex}.word-stat{color:var(--ink-soft);white-space:nowrap;font-size:.78rem}.word-stat em{margin-left:1px;font-size:.65rem;font-style:normal}.status-chip{background:#96969659;border:1.5px solid #0000;border-radius:50%;width:8px;min-width:8px;height:8px;display:block}.status-chip.saved{background:#3c7156bf;border-color:#3c715633}.status-chip.saving,.status-chip.dirty{background:#8198f6d6;border-color:#8198f63d}.status-chip.error{background:#a14337d9;border-color:#a1433740}.rail{z-index:20;border-right:1px solid var(--line);background:#faf8f4fc;align-content:start;gap:1rem;width:min(86vw,320px);height:100%;padding:.9rem;display:none;position:fixed;inset:0 auto 0 0;overflow-y:auto;box-shadow:24px 0 48px #20252a29}.rail.open{grid-template-rows:minmax(0,1fr) auto;display:grid}.rail-brand{background:linear-gradient(#ffffffb3,#f9f5efe6);border:1px solid #8198f62e;border-radius:12px;justify-content:stretch;align-items:center;width:100%;padding:0;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffff8c}.rail-brand-image{object-fit:cover;width:100%;height:auto;max-height:76px;display:block}.rail-main{align-content:start;gap:1rem;min-height:0;display:grid}.rail-bottom{gap:1rem;padding-top:.25rem;display:grid}.rail-section{gap:.6rem;display:grid}.rail-heading{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.rail-heading span{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);font-size:.72rem}.tooltip-wrap{align-items:center;display:inline-flex;position:relative}.tooltip-bubble{color:#f6f2eb;opacity:0;pointer-events:none;z-index:3;background:#20252af5;border-radius:10px;width:max-content;max-width:220px;padding:.45rem .6rem;font-size:.72rem;line-height:1.35;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + .45rem);right:0;transform:translateY(-2px);box-shadow:0 12px 28px #12151838}.tooltip-wrap:hover .tooltip-bubble,.tooltip-wrap:focus-within .tooltip-bubble,.tooltip-wrap:focus .tooltip-bubble{opacity:1;transform:translateY(0)}.rail-stats{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.mini-stat{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:.5rem .55rem}.mini-stat span{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-size:.65rem;display:block}.mini-stat strong{margin-top:.2rem;font-size:.9rem;display:block}.menu-backdrop{z-index:19;cursor:default;background:#20252a38;border:0;padding:0;position:fixed;inset:0}.tab-bar{border-bottom:1px solid var(--line);background:var(--panel);scrollbar-width:none;flex:none;gap:.3rem;padding:.5rem .9rem;display:flex;overflow-x:auto}.tab-bar::-webkit-scrollbar{display:none}.tab-bar button{appearance:none;font:inherit;color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;padding:.4rem .9rem;font-size:.82rem}.tab-bar button.active{color:var(--ink-strong);background:#fcf7f2fa;border-color:#8198f647}.bottom-nav{display:none}.page-shell{flex:1;padding:.9rem}.panel{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:.85rem}.page-panel{width:min(100%,980px);margin:0 auto}.split-workspace{grid-template-columns:minmax(320px,420px) minmax(0,1fr);align-items:start;gap:.9rem;width:min(100%,1280px);margin:0 auto;display:grid}.split-workspace .page-panel{width:100%;margin:0}.outline-pane,.draft-pane{min-width:0}.outline-pane{max-height:calc(100dvh - 8.1rem);position:sticky;top:7.2rem;overflow:auto}.draft-pane{min-height:calc(100dvh - 8.1rem)}.page-header{justify-content:space-between;align-items:start;gap:.75rem;margin-bottom:.9rem;display:flex}.page-header .eyebrow{margin-bottom:.2rem;display:block}.outline-breadcrumbs{color:var(--ink-soft);margin-bottom:.18rem;font-size:.72rem;display:block}.page-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.ghost-button,.solid-button,.danger-button,.danger-text-button{appearance:none;font:inherit;cursor:pointer;white-space:nowrap;font-size:.82rem}.ghost-button,.solid-button,.danger-button{border:1px solid var(--line);border-radius:8px;padding:.5rem .75rem}.ghost-button{color:var(--ink-strong);background:#f7f4f0e6}.solid-button{background:var(--accent);color:#fff;border-color:var(--accent)}.danger-button{color:#8c332a;background:#f8e2e0f5;border-color:#a143373d}.danger-text-button{color:#8c332a;background:0 0;border:0;padding:0}button:disabled{opacity:.5;cursor:not-allowed}.series-chip{appearance:none;border:1px solid var(--line);background:var(--panel);text-align:left;cursor:pointer;width:100%;font:inherit;border-radius:10px;gap:.18rem;padding:.65rem .75rem;display:grid}.series-chip strong{font-size:.88rem}.series-chip span{color:var(--ink-soft);font-size:.72rem}.series-chip-meta{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.series-chip-meta span:last-child{text-align:right;margin-left:auto}.series-chip.active{background:#f4f7fffa;border-color:#8198f657}label{color:var(--ink-soft);gap:.35rem;margin-top:.75rem;font-size:.78rem;display:grid}input,textarea{border:1px solid var(--line);width:100%;color:var(--ink-strong);resize:vertical;font:inherit;background:#fffffff0;border-radius:8px;padding:.65rem .75rem}.field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.draft-header{align-items:start;gap:.6rem;margin-bottom:.65rem;display:flex}.scene-details-toggle{appearance:none;border:1px solid var(--line);cursor:pointer;text-align:left;min-width:0;font:inherit;background:#f7f4f0e6;border-radius:10px;flex:1;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .75rem;display:flex}.scene-details-toggle:hover{border-color:#95482533}.scene-toggle-info{gap:.1rem;min-width:0;display:grid}.scene-toggle-info .breadcrumb{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;overflow:hidden}.scene-toggle-info strong{color:var(--ink-strong);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;overflow:hidden}.toggle-icon{color:var(--ink-soft);flex:none;font-size:.65rem}.draft-quick-actions{flex:none;gap:.4rem;display:flex}.scene-details-body{border:1px solid var(--line);background:#ffffff80;border-radius:10px;margin-bottom:.75rem;padding:.75rem}.scene-details-body label{margin-top:.5rem}.scene-details-body label:first-child{margin-top:0}.draft-label{gap:0;margin-top:0;display:block}.draft-toolbar{flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.55rem;display:flex}.draft-format-hint{color:var(--ink-soft);font-size:.72rem}.draft-label .draft-body{margin-top:0}.draft-body{resize:vertical;min-height:max(55vh,300px);font-size:1rem;line-height:1.75}.draft-preview{border:1px solid var(--line);background:#ffffff9e;border-radius:12px;margin-top:.9rem;padding:.9rem 1rem}.preview-header{margin-bottom:.55rem}.preview-copy{color:var(--ink-strong);line-height:1.85}.preview-copy p{margin:0 0 .9rem}.preview-copy p:last-child{margin-bottom:0}.preview-empty{color:var(--ink-soft);margin:0;font-size:.88rem}.inline-meta{color:var(--ink-soft);justify-content:space-between;gap:.5rem;margin-top:.5rem;font-size:.73rem;display:flex}.commit-box{border:1px solid var(--line);background:#f7f4f0b3;border-radius:10px;margin-top:1rem;padding:.85rem}.commit-box label:first-of-type{margin-top:.5rem}.mini-list{gap:0;margin-top:.75rem;display:grid}.mini-item{border-top:1px solid #7161531a;padding:.45rem 0}.mini-item-head{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.mini-item:first-child{border-top:0}.mini-item strong{font-size:.84rem;display:block}.mini-item span{color:var(--ink-soft);font-size:.72rem;display:block}.outline-book{margin-top:1rem}.outline-book:first-child{margin-top:0}.outline-book-head{appearance:none;border:1px solid var(--line);cursor:pointer;width:100%;font:inherit;text-align:left;background:#f7f4f0e6;border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;min-height:44px;margin-bottom:.6rem;padding:.7rem .8rem;display:flex}.outline-book-head strong{font-size:.92rem}.outline-book-head span{color:var(--ink-soft);flex:none;font-size:.72rem}.outline-book-head.active{background:#fcf7f2fa;border-color:#9548254d}.outline-stack{gap:.5rem;display:grid}.outline-block{border:1px solid var(--line);background:#ffffff73;border-radius:10px;padding:.7rem}.outline-heading{appearance:none;border:1px solid var(--line);background:var(--panel);cursor:pointer;width:100%;font:inherit;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;min-height:44px;padding:.6rem .65rem;display:flex}.outline-heading strong{font-size:.88rem}.outline-heading span{color:var(--ink-soft);flex:none;font-size:.72rem}.outline-heading.active{background:#fcf7f2fa;border-color:#9548254d}.outline-copy{color:var(--ink-soft);margin:.5rem 0 .65rem;font-size:.83rem}.inline-button{margin-top:.5rem}.mini-scene{appearance:none;border:1px solid var(--line);background:var(--panel);cursor:pointer;width:100%;font:inherit;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;min-height:44px;padding:.55rem .65rem;display:flex}.mini-scene strong{font-size:.85rem;display:block}.mini-scene span{color:var(--ink-soft);flex:none;font-size:.7rem;display:block}.mini-scene.active{background:#fcf7f2fa;border-color:#9548254d}.back-link{appearance:none;font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;margin-bottom:.25rem;padding:0;font-size:.75rem;display:block}.drill-list{gap:.5rem;margin-top:.75rem;display:grid}.drill-row-wrap{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.45rem;display:grid}.drill-row{appearance:none;border:1px solid var(--line);background:var(--panel);cursor:pointer;width:100%;font:inherit;text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;min-height:52px;padding:.8rem .85rem;display:flex}.drill-row>div{min-width:0}.drill-row strong{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;display:block;overflow:hidden}.drill-row span{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;margin-top:.1rem;font-size:.72rem;display:block;overflow:hidden}.drill-arrow{color:var(--ink-soft);flex:none;font-size:1.3rem;line-height:1}.drill-row.active{background:#fcf7f2fa;border-color:#9548254d}.reorder-controls{gap:.35rem;display:grid}.reorder-button{min-width:42px;padding:.45rem .55rem;line-height:1}.cast-list{gap:.4rem;margin-bottom:.25rem;display:grid}.cast-row{appearance:none;border:1px solid var(--line);background:var(--panel);cursor:pointer;width:100%;font:inherit;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;min-height:44px;padding:.6rem .65rem;display:flex}.cast-row strong{font-size:.88rem}.cast-row span{color:var(--ink-soft);font-size:.72rem}.cast-row.active{background:#fcf7f2fa;border-color:#9548254d}.voice-sample-card{border:1px solid var(--line);background:#f7f4f0a6;border-radius:10px;margin-top:.9rem;padding:.85rem}.voice-sample-header{justify-content:space-between;align-items:center;display:flex}.voice-sample-card audio{width:100%;margin-top:.55rem}.summary-list{gap:0;margin-top:.75rem;display:grid}.summary-row{border-top:1px solid #7161531a;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem 0;font-size:.82rem;display:flex}.summary-row span{color:var(--ink-soft)}.repo-link-row{color:var(--ink-soft);margin-top:.85rem;font-size:.82rem}.repo-link-row a{color:var(--accent);text-decoration:none}.book-stack{gap:.4rem;display:grid}.empty-panel{color:var(--ink-soft);text-align:center;padding:2.5rem 0}.empty-panel p{margin-bottom:.5rem}.error-banner{color:#8c332a;background:#f8e2e0f5;border:1px solid #a1433733;border-radius:10px;margin:.6rem .9rem;padding:.75rem .85rem;font-size:.85rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-size:.67rem}.subcopy{color:var(--ink-soft);margin:0}@media (width<=759px){.split-workspace{width:auto;display:block}.outline-pane{max-height:none;position:static;overflow:visible}.draft-pane{min-height:0}.tab-bar{display:none}.bottom-nav{height:calc(52px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);z-index:10;background:#faf8f4f7;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{appearance:none;font:inherit;color:var(--ink-soft);cursor:pointer;letter-spacing:.01em;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-height:44px;padding:0;font-size:.7rem;display:flex}.bottom-nav button.active{color:var(--accent);font-weight:500}.bottom-nav button:before{content:"";background:0 0;border-radius:1px;width:20px;height:2px;transition:background .15s;display:block}.bottom-nav button.active:before{background:var(--accent)}.page-shell{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}.field-grid{grid-template-columns:1fr 1fr}.page-header{gap:.5rem;display:grid}.page-actions{justify-content:flex-start}.draft-quick-actions .ghost-button{padding:.45rem .6rem;font-size:.78rem}.draft-body{min-height:max(52vh,280px);font-size:1rem}}.login-shell{place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.login-card{border:1px solid var(--line);background:var(--panel);border-radius:16px;width:min(100%,380px);padding:2rem 1.75rem}.login-brand{align-items:center;gap:.7rem;margin-bottom:.2rem;display:flex}.login-mark{object-fit:contain;width:42px;height:42px;display:block}.login-title{letter-spacing:-.03em;margin:0;font-family:IBM Plex Serif,Iowan Old Style,serif;font-size:1.6rem}.login-sub{color:var(--ink-soft);margin:0 0 1.5rem;font-size:.82rem}.login-form{gap:.1rem;display:grid}.auth-toggle{gap:.5rem;margin-bottom:.9rem;display:flex}.auth-toggle button{flex:1}.login-form label{margin-top:.75rem}.login-error{color:#c0402a;margin:.5rem 0 0;font-size:.8rem}[data-theme=dark] .login-error{color:#e07060}.login-submit{width:100%;margin-top:1.25rem;padding:.7rem;font-size:.9rem}.limit-note{color:var(--ink-soft);margin:0;font-size:.78rem}[data-theme=dark] input,[data-theme=dark] textarea{border-color:var(--line);color:var(--ink-strong);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#262830e6}[data-theme=dark] .workspace-topbar,[data-theme=dark] .tab-bar,[data-theme=dark] .bottom-nav{background:#12141af7}[data-theme=dark] .rail{background:#12141afc}[data-theme=dark] .ghost-button,[data-theme=dark] .menu-button{color:var(--ink-strong);background:#262830e6}[data-theme=dark] .danger-button{color:#f3bab4;background:#5d2a2773;border-color:#b8605859}[data-theme=dark] .danger-text-button{color:#f3bab4}[data-theme=dark] .series-chip,[data-theme=dark] .drill-row,[data-theme=dark] .cast-row,[data-theme=dark] .mini-scene,[data-theme=dark] .outline-heading,[data-theme=dark] .outline-book-head,[data-theme=dark] .scene-details-toggle{background:#202228f2}[data-theme=dark] .series-chip.active,[data-theme=dark] .drill-row.active,[data-theme=dark] .cast-row.active,[data-theme=dark] .mini-scene.active,[data-theme=dark] .outline-heading.active,[data-theme=dark] .outline-book-head.active,[data-theme=dark] .tab-bar button.active{background:#5261b26b}[data-theme=dark] .panel,[data-theme=dark] .outline-block,[data-theme=dark] .scene-details-body,[data-theme=dark] .commit-box,[data-theme=dark] .login-card{background:#1a1c22f2}[data-theme=dark] .mini-stat{background:#202228e6}[data-theme=dark] .solid-button{background:var(--accent);border-color:var(--accent)}.setting-row{justify-content:space-between;align-items:center;padding:.2rem 0;font-size:.84rem;display:flex}.toggle-switch{appearance:none;border:1.5px solid var(--line);cursor:pointer;background:#96918c40;border-radius:11px;flex:none;width:40px;height:22px;transition:background .18s,border-color .18s;position:relative}.toggle-switch:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.toggle-switch.on{background:var(--accent);border-color:var(--accent)}.toggle-switch.on:after{transform:translate(18px)}.user-row{justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.user-row>div{min-width:0}.user-row strong{white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;display:block;overflow:hidden}.user-row span{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;display:block;overflow:hidden}.role-chip{text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--line);border-radius:6px;flex:none;padding:.2rem .45rem;font-size:.65rem;color:var(--ink-soft)!important}@media (width>=760px){.draft-body{min-height:58vh}.field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
