
:root{color-scheme:dark;--bg:#141414;--panel:#191819;--line:#2c292b;--text:#eee9eb;--muted:#8b858a;--accent:#a30038;--accent-bright:#eb477d;--paper:#f8f5f0;--font:'Golos Text','Segoe UI',sans-serif}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font-family:var(--font);font-size:13px;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer;border:0;background:none}button:disabled{opacity:.35;cursor:default}button,input,select,textarea,[contenteditable]{outline:none}button:focus-visible,a:focus-visible{outline:2px solid #e6497c;outline-offset:4px}input:focus,textarea:focus,select:focus{border-color:#a93b60!important;box-shadow:0 0 0 3px #a3003818}a{color:inherit}svg{display:block;flex-shrink:0}button svg{pointer-events:none}button{transition:background .15s,border-color .15s,color .15s,box-shadow .15s}button:hover{color:#fff}::selection{background:#a3003855;color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#454045;border-radius:6px}::-webkit-scrollbar-track{background:transparent}
.app-shell{display:grid;grid-template-columns:244px minmax(0,1fr);height:100dvh}.sidebar{background:#191819;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:5;min-height:0}.brand{height:81px;padding:0 26px;display:flex;align-items:center;gap:11px}.brand-mark{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:#97002f;box-shadow:0 0 24px #a3003814}.brand-name{font-family:Georgia,serif;font-size:30px;letter-spacing:-1px}.brand-caption{margin-left:auto;color:#81757b;font-size:9px;letter-spacing:1.3px;padding-top:5px}.project-switch{margin:5px 17px 21px;padding:15px 13px;background:#222022;border:1px solid #343033;border-radius:10px;text-align:left;display:flex;gap:10px;align-items:center;min-width:0}.project-switch:hover{border-color:#6d3145;background:#292329}.project-thumb{width:33px;height:41px;background:linear-gradient(145deg,#6d0a2a,#270e1a);border:1px solid #85314f;border-radius:3px;display:grid;place-items:center;color:#dc9ab0;flex-shrink:0}.project-switch-copy{min-width:0;flex:1}.project-switch-copy small{display:block;color:#8b8389;font-size:10px;margin-bottom:5px}.project-switch-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;font-size:12px}.project-switch>svg{color:#8a8187}.side-nav{padding:0 15px;display:grid;gap:6px}.nav-button{display:flex;align-items:center;gap:11px;text-align:left;padding:12px 13px;color:#a59da3;border-radius:7px;font-size:12px}.nav-button:hover{background:#252125}.nav-button.active{color:#f8dbe5;background:linear-gradient(90deg,#56132988,#3a1b2a66);box-shadow:inset 2px 0 #c63162}.nav-button.active svg{color:#e3799a}.nav-button kbd{margin-left:auto;opacity:.6}.sidebar-separator{height:1px;background:var(--line);margin:24px 24px 22px}.section-label{display:flex;align-items:center;justify-content:space-between;margin:0 25px 10px;color:#817a80;font-size:9px;letter-spacing:1.7px;font-weight:600}.section-label button{padding:4px;color:#9b9097}.chapter-list{padding:0 15px;overflow-y:auto;flex:1;min-height:90px}.chapter-item{margin-bottom:8px}.chapter-button{width:100%;display:flex;gap:10px;align-items:center;padding:11px 9px;border-radius:7px;color:#b1a7ae;font-size:12px;text-align:left}.chapter-button:hover{background:#242124}.chapter-button.active{color:#eee5eb;background:#252125}.chapter-button .chapter-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-index{font-size:9px;color:#70676f;letter-spacing:1px}.chapter-count{font-size:10px;color:#80737d;background:#30292f;padding:3px 6px;border-radius:4px}.chapter-outline{margin:5px 0 14px 24px;padding-left:13px;border-left:1px solid #3a2c34;display:grid;gap:2px}.outline-scene{padding:7px 0 7px 10px;display:flex;align-items:center;gap:9px;color:#827880;text-align:left;font-size:11px;min-width:0}.outline-scene span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.outline-scene:hover{color:#e9d2dc}.outline-scene.active{color:#e78fae}.outline-dot{width:4px;height:4px;border-radius:50%;background:#69505e;flex-shrink:0}.outline-scene.active .outline-dot{background:#dd5c89;box-shadow:0 0 10px #d9367466}.chapter-more{display:block;color:#6f626d;font-size:10px;padding:6px 0 4px 23px}.sidebar-bottom{margin:15px 21px 0;padding:18px 0 17px;border-top:1px solid var(--line)}.progress-label{display:flex;justify-content:space-between;font-size:10px;color:#8c8189}.progress-track{height:3px;background:#332b31;border-radius:4px;overflow:hidden;margin:10px 0 16px}.progress-track>span{display:block;height:100%;background:#a32c54;border-radius:4px}.local-note{display:flex;align-items:center;gap:8px;color:#746d73;font-size:9px}.local-note svg{color:#81767f}
.main{display:flex;flex-direction:column;min-width:0;min-height:0}.topbar{height:73px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--line);background:#181718;gap:14px}.breadcrumbs{display:flex;gap:12px;align-items:center;color:#706b70;font-size:10px}.breadcrumbs span:last-child{color:#c8bdc4}.breadcrumbs svg{color:#52484f}.topbar-actions{display:flex;align-items:center;gap:17px}.save-indicator{display:flex;align-items:center;gap:6px;color:#837981;font-size:10px;white-space:nowrap}.save-indicator svg{color:#78917b}.save-indicator.error{color:#f4a7b9}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;min-height:37px;border:1px solid #3b3339;border-radius:7px;background:#242024;color:#c7bbc4;font-size:11px;font-weight:500;white-space:nowrap}.button:hover{border-color:#6b3a4c;background:#30232b}.button.primary{background:#a20036;border-color:#bb224f;color:#fff4f6;box-shadow:0 3px 14px #6e001d22}.button.primary:hover{background:#b50a44;border-color:#d04370;box-shadow:0 0 21px #a3003833}.button.danger{background:#731b30;border-color:#98344d;color:#ffe1e8}.button.ghost{background:transparent;border-color:transparent;color:#a59ba2}.button.ghost:hover{background:#292329}.icon-button{display:inline-grid;place-items:center;min-width:31px;height:31px;border-radius:6px;color:#958891;flex-shrink:0}.icon-button:hover{color:#e7c8d7;background:#38252f}.avatar{width:29px;height:29px;display:grid;place-items:center;border:1px solid #59404c;border-radius:50%;color:#c69aab;background:#35212c;font-size:10px}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:28px 34px 24px;flex-shrink:0;background:#171617}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#8e747f;text-transform:uppercase;margin-bottom:9px}.heading-line{display:flex;align-items:center;gap:15px}.heading-line h1{margin:0;font-size:26px;font-weight:500;letter-spacing:-.7px}.badge{border:1px solid #3b3037;border-radius:5px;padding:4px 7px;font-size:9px;color:#a78d9b;white-space:nowrap}.workspace-heading p{color:#827980;font-size:11px;margin:9px 0 0}.heading-actions{display:flex;align-items:center;gap:9px}.graph-toolbar{height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-block:1px solid var(--line);background:#191719;gap:12px}.view-tabs{display:flex;gap:22px;align-items:stretch;height:100%}.view-tab{display:flex;align-items:center;gap:7px;font-size:11px;color:#81767f;border-bottom:2px solid transparent;padding:0 1px}.view-tab.active{color:#ead9e1;border-color:#c43b69}.view-tab svg{color:#a27b8d}.graph-toolbar-right{display:flex;gap:9px;align-items:center}.mini-button{display:flex;gap:6px;align-items:center;color:#897d85;font-size:10px;padding:7px 8px;border-radius:5px;white-space:nowrap}.mini-button:hover{background:#30222a;color:#d9afc2}.mini-button.active{background:#4c1930;color:#f3b8ce}.toolbar-divider{height:15px;width:1px;background:#383036}.filter-select{background:transparent;border:0;color:#9a8a94;font-size:10px;max-width:130px;cursor:pointer;padding:5px}.filter-select option{background:#242024}.canvas-wrap{position:relative;flex:1;min-height:0;overflow:hidden;background:#141314}.graph-canvas{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab;background-image:radial-gradient(circle,#49333e66 .8px,transparent 1px);background-size:23px 23px}.graph-canvas.panning{cursor:grabbing}.graph-canvas.linking{cursor:crosshair}.graph-world{position:absolute;left:0;top:0;width:1px;height:1px;transform-origin:0 0;will-change:transform}.edges-layer{position:absolute;left:0;top:0;width:1px;height:1px;overflow:visible;pointer-events:none}.edge-line{fill:none;stroke:#6c344c;stroke-width:1.5;transition:stroke .2s;pointer-events:stroke;cursor:pointer}.edge-line:hover{stroke:#ec7fa6;stroke-width:3}.edge-label-bg{fill:#21171d;stroke:#573040;stroke-width:.7}.edge-label{font-family:var(--font);font-size:10px;fill:#b88a9e;text-anchor:middle;dominant-baseline:central;pointer-events:none}.scene-node{position:absolute;width:244px;height:139px;border:1px solid #7c2245;border-radius:10px;background:linear-gradient(120deg,#401323 0%,#300f1d 68%,#2b111b 100%);box-shadow:0 0 0 1px #a6244510,0 0 25px #9c00231a,0 9px 20px #0003;padding:15px 17px;cursor:pointer;user-select:none;touch-action:none;outline:none;text-align:left;transition:box-shadow .2s,border-color .2s,background .2s}.scene-node:hover,.scene-node:focus-visible{border-color:#db5a86;box-shadow:0 0 0 1px #b8375c22,0 0 30px #ab12433d,0 12px 22px #0005;background:linear-gradient(120deg,#50172d,#391020)}.scene-node.selected{border-color:#e5779e;box-shadow:0 0 0 2px #c5467133,0 0 34px #a3003840}.scene-node.choice{border-color:#b43461;background:linear-gradient(115deg,#730c32,#4c0d27);box-shadow:0 0 27px #b0003e2c,0 9px 20px #0003}.scene-node.ending{background:linear-gradient(120deg,#3b1426,#24101b);border-style:double;border-width:3px;padding:13px 15px}.scene-node.muted{opacity:.28}.scene-node.connection-source{box-shadow:0 0 0 3px #d14f85,0 0 32px #dc3b7066}.node-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.node-number{display:flex;align-items:center;gap:7px;color:#bf839c;font-size:9px;letter-spacing:1.2px}.node-number svg{width:12px;height:12px}.status-dot{width:5px;height:5px;border-radius:50%;background:#c38b62;box-shadow:0 0 7px #d8956133}.status-dot.done{background:#9ab99d;box-shadow:0 0 7px #93bb9f55}.status-dot.empty{background:#77606c;box-shadow:none}.node-title{font-size:15px;font-weight:500;letter-spacing:-.2px;line-height:1.5;color:#f3dbe6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-type{margin-top:4px;font-size:9px;color:#ac758d}.node-footer{display:flex;justify-content:space-between;align-items:center;margin-top:13px;padding-top:9px;border-top:1px solid #b05d7b20;color:#ad758e;font-size:9px}.node-footer-copy{display:flex;align-items:center;gap:6px}.node-menu-button{padding:0 1px;color:#b37c93}.node-port{position:absolute;width:9px;height:9px;border:1px solid #b66383;background:#391121;border-radius:50%;left:calc(50% - 4.5px);z-index:2;padding:0;transition:transform .15s,background .15s}.node-port:hover{transform:scale(1.5);background:#e75a8c}.node-port.input{top:-5px}.node-port.output{bottom:-5px}.node-tooltip{position:absolute;bottom:calc(100% + 13px);left:50%;transform:translateX(-50%) translateY(3px);width:max-content;max-width:330px;min-width:170px;background:#292029;border:1px solid #79405a;border-radius:7px;padding:12px 15px;font-size:12px;font-weight:400;line-height:1.55;color:#f2dce6;box-shadow:0 8px 30px #0008;opacity:0;visibility:hidden;pointer-events:none;z-index:20;transition:opacity .16s .35s,transform .16s .35s}.node-tooltip::after{content:'';position:absolute;bottom:-5px;left:calc(50% - 4px);width:8px;height:8px;background:#292029;border-right:1px solid #79405a;border-bottom:1px solid #79405a;transform:rotate(45deg)}.scene-node:hover .node-tooltip,.scene-node:focus-visible .node-tooltip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.canvas-caption{position:absolute;left:27px;top:24px;pointer-events:none;z-index:1}.canvas-caption span{font-size:9px;letter-spacing:1.6px;color:#695a64}.canvas-caption p{color:#685862;font-size:10px;margin-top:7px}.canvas-legend{position:absolute;left:27px;bottom:22px;display:flex;gap:15px;align-items:center;pointer-events:none}.legend-item{display:flex;gap:6px;align-items:center;font-size:9px;color:#786770}.legend-swatch{width:7px;height:7px;border:1px solid #a34166;border-radius:2px;background:#4a162c}.legend-swatch.choice{transform:rotate(45deg);background:#8e1643;border-color:#c64a77}.legend-swatch.ending{border:2px double #97627a;background:transparent}.canvas-controls{position:absolute;left:50%;bottom:19px;transform:translateX(-50%);display:flex;gap:4px;align-items:center;padding:5px 7px;border:1px solid #3b2c35;background:#211b20ee;backdrop-filter:blur(12px);border-radius:9px;box-shadow:0 6px 20px #0003}.canvas-controls button{width:29px;height:28px;display:grid;place-items:center;color:#b99aa9;border-radius:4px}.canvas-controls button:hover{background:#412232;color:#f6dce7}.zoom-value{min-width:43px;text-align:center;font-size:10px;color:#bc9baa;font-variant-numeric:tabular-nums}.canvas-controls .toolbar-divider{margin:0 4px}.minimap{position:absolute;right:22px;bottom:20px;width:145px;height:112px;background:#1b171bcf;border:1px solid #392b33;border-radius:8px;overflow:hidden;cursor:pointer;backdrop-filter:blur(5px)}.minimap svg{width:100%;height:100%;pointer-events:none}.minimap-label{position:absolute;right:8px;top:6px;letter-spacing:1px;font-size:7px;color:#77616e}.canvas-hint{position:absolute;right:24px;top:23px;font-size:9px;color:#6f5e69;display:flex;gap:6px;align-items:center;pointer-events:none}.link-banner{position:absolute;z-index:4;left:50%;top:18px;transform:translateX(-50%);display:flex;align-items:center;gap:13px;padding:11px 15px;border:1px solid #a03760;border-radius:7px;background:#43152beF;color:#efbfd2;box-shadow:0 5px 20px #0004;max-width:90%;font-size:11px}.link-banner button{color:#c18ba3;padding:2px}.empty-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#88727e;text-align:center;padding:30px}.empty-state>svg{color:#a23d62;margin-bottom:7px}.empty-state h2{color:#ddc7d2;font-size:21px;font-weight:500;margin:0}.empty-state p{font-size:12px;line-height:1.8;max-width:330px;margin:0 0 7px}.list-view{height:100%;overflow-y:auto;padding:28px 34px 45px;background:#151415}.scene-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.scene-list-card{position:relative;border:1px solid #513042;border-radius:10px;background:linear-gradient(130deg,#321522,#21151d);padding:22px;cursor:pointer;text-align:left;min-height:190px}.scene-list-card:hover{border-color:#af466d;box-shadow:0 0 25px #8d123025}.scene-list-card .node-title{margin:14px 0 8px;white-space:normal;font-size:16px}.scene-list-card p{font-size:11px;color:#a08191;line-height:1.7;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.scene-list-card .node-footer{margin-top:20px;padding-top:12px}.view-footer{height:30px;background:#181618;border-top:1px solid #2d252b;display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0;font-size:9px;color:#72616d}.footer-left{display:flex;gap:15px}.footer-left>span{display:flex;gap:5px;align-items:center}.footer-shortcut{color:#65545f}kbd{font-family:var(--font);font-size:9px;border:1px solid #453840;border-radius:3px;background:#292027;padding:1px 4px;color:#a38c99}
.editor-heading{padding:19px 28px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);background:#191719;min-height:90px}.editor-heading-left{display:flex;align-items:center;gap:16px;min-width:0}.back-button{width:33px;height:33px;border:1px solid #45323d;display:grid;place-items:center;border-radius:7px;color:#bb93a5;flex-shrink:0}.back-button:hover{background:#3f2130}.editor-title-group{min-width:0}.editor-title-group small{font-size:9px;letter-spacing:1.5px;color:#9c7689}.editor-title{display:flex;align-items:center;gap:10px;min-width:0;margin-top:5px}.editor-title h1{font-size:18px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;letter-spacing:-.35px}.editor-title .icon-button{height:23px;min-width:23px}.status-select{border:1px solid #4b353f;border-radius:5px;color:#cba9b8;background:#2b2027;padding:7px 9px;font-size:10px;cursor:pointer}.editor-toolbar{padding:9px 24px;display:flex;align-items:center;justify-content:center;gap:3px;flex-shrink:0;border-bottom:1px solid #30262d;background:#211b20;min-height:49px;flex-wrap:wrap}.format-button{height:28px;min-width:28px;padding:0 5px;border-radius:4px;display:grid;place-items:center;color:#bca3b0;font-size:13px}.format-button:hover,.format-button.is-active{color:#ffdfec;background:#52243a}.format-button.wide{font-size:10px;padding:0 10px}.editor-toolbar .toolbar-divider{margin:0 7px;background:#44323e}.format-select{background:#211b20;color:#bea3b2;border:0;padding:5px;font-size:10px;cursor:pointer}.editor-scroll{flex:1;min-height:0;overflow:auto;background:#201d20;padding:31px 28px 70px;position:relative}.document-breadcrumb{max-width:760px;margin:0 auto 16px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.7px;color:#81727c;gap:10px}.document-page{width:100%;max-width:760px;min-height:1015px;background:var(--paper);color:#322a2e;margin:0 auto 28px;padding:68px 70px 65px;box-shadow:0 9px 35px #0003;border-radius:1px;position:relative;color-scheme:light}.paper-header{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #dbd1d4;padding-bottom:13px;font-size:8px;letter-spacing:1.6px;text-transform:uppercase;color:#a0848c;user-select:none}.paper-title{font-family:Georgia,'Times New Roman',serif;font-size:29px;line-height:1.25;color:#442e37;letter-spacing:-.5px;margin:36px 0 7px;font-weight:400}.paper-subtitle{font-size:9px;letter-spacing:1.4px;color:#a48691;text-transform:uppercase;margin-bottom:34px}.page-body{font-family:Georgia,'Times New Roman',serif;font-size:16px;line-height:1.8;min-height:715px;overflow-wrap:anywhere;word-break:normal;caret-color:#a30038;outline:none}.page-body p{margin:0 0 15px}.page-body p.stage-direction{font-family:var(--font);font-size:10px;letter-spacing:1px;color:#94707e;margin:25px 0 25px;line-height:1.7}.page-body strong{font-weight:700}.page-body h2{font-size:22px;font-weight:400;margin:25px 0 14px;color:#6b1a38}.page-body h3{font-size:18px;margin:20px 0 12px}.page-body blockquote{border-left:2px solid #b58b9a;margin:20px 0;padding-left:20px;color:#806573;font-style:italic}.page-body ul,.page-body ol{padding-left:24px}.page-body:empty::before{content:attr(data-placeholder);color:#b5a0a9;pointer-events:none}.page-number{position:absolute;bottom:29px;left:70px;right:70px;display:flex;align-items:center;justify-content:space-between;color:#b39da6;font-size:8px;letter-spacing:1.1px;user-select:none}.page-number::before{content:'';position:absolute;top:-13px;left:0;right:0;height:1px;background:#e3d9dd}.add-page{margin:0 auto;display:flex;align-items:center;justify-content:center;gap:8px;border:1px dashed #614350;border-radius:6px;color:#b393a2;padding:12px 25px;font-size:11px}.add-page:hover{background:#37252f;border-color:#a56983}.editor-footer{height:32px;border-top:1px solid #3e2d37;background:#221b20;padding:0 25px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#9b7e8f;flex-shrink:0}.editor-footer>div{display:flex;gap:17px;align-items:center}.scene-connections{max-width:760px;margin:0 auto 25px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:#8f7784;font-size:10px}.scene-connections button{display:flex;gap:6px;align-items:center;padding:6px 9px;background:#2d222a;border:1px solid #4c313f;border-radius:4px;color:#bf94a8;font-size:9px}.scene-connections button:hover{border-color:#b2597e;color:#ebc0d4}
.overlay-backdrop{position:fixed;inset:0;z-index:100;background:#090609b5;backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fade-in .14s ease}.modal{background:#211a20;border:1px solid #50323f;border-radius:14px;width:100%;max-width:500px;box-shadow:0 28px 100px #0008;max-height:90dvh;overflow-y:auto;padding:27px;color:#e8d9e2}.modal.wide{max-width:620px}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;gap:15px}.modal-kicker{font-size:9px;letter-spacing:1.7px;text-transform:uppercase;color:#bd7895;margin-bottom:9px}.modal h2{font-size:22px;font-weight:500;letter-spacing:-.5px;margin:0}.modal-description{color:#a88c9b;font-size:12px;line-height:1.8;margin:-5px 0 22px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:17px}.field-label{font-size:11px;color:#bfa5b2}.field-hint{font-size:10px;color:#8e727f;line-height:1.6;margin:0}.field input,.field textarea,.field select{background:#181317;border:1px solid #4b303e;border-radius:6px;color:#eddae4;padding:11px 12px;min-width:0;width:100%}.field textarea{resize:vertical;line-height:1.7;min-height:90px}.field input::placeholder,.field textarea::placeholder{color:#765b69}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:24px;padding-top:19px;border-top:1px solid #3e2935}.type-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.type-option{display:flex;gap:6px;align-items:center;justify-content:center;border:1px solid #4e303e;background:#281b24;border-radius:6px;padding:12px 5px;color:#ad8c9e;font-size:11px}.type-option.selected{border-color:#b83a69;background:#56192f;color:#ffd5e6}.type-option:hover{border-color:#ad5277}.form-error{font-size:11px;color:#ffa9bf;line-height:1.6;margin-top:12px}.search-modal{padding:0;max-width:590px;overflow:hidden}.search-input-wrap{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid #4b2c3d;color:#b8809b}.search-input-wrap input{background:none;border:0;box-shadow:none!important;flex:1;min-width:0;color:#f3ddea;font-size:14px}.search-input-wrap input::placeholder{color:#8d687e}.search-results{max-height:430px;overflow-y:auto;padding:9px}.search-result{display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:7px;text-align:left;width:100%;color:#c38ba5}.search-result:hover,.search-result:focus{background:#412032}.search-result-copy{flex:1;min-width:0}.search-result strong{display:block;font-size:12px;font-weight:450;color:#ead2df;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result small{display:block;font-size:10px;color:#90677e;margin-top:5px}.search-empty{text-align:center;color:#a77c93;padding:37px 20px;font-size:12px}.search-footer{padding:12px 20px;color:#896478;border-top:1px solid #3e2735;display:flex;align-items:center;gap:7px;font-size:9px}.popover{position:fixed;z-index:90;min-width:215px;max-width:310px;background:#291c25;border:1px solid #694054;border-radius:8px;padding:6px;box-shadow:0 15px 50px #0008;animation:fade-in .1s ease}.popover button{display:flex;align-items:center;gap:10px;text-align:left;padding:11px 12px;width:100%;border-radius:4px;color:#d7b2c4;font-size:11px}.popover button:hover{background:#4c2539;color:#ffe0ef}.popover button.danger{color:#ee8fae}.popover-separator{height:1px;background:#4a2c3d;margin:5px 7px}.popover-caption{font-size:9px;letter-spacing:1px;color:#9b6c85;padding:10px 12px 5px;text-transform:uppercase}.help-grid{display:grid;gap:15px;margin:22px 0 9px}.help-row{display:flex;align-items:center;justify-content:space-between;gap:15px;color:#bc9bac;font-size:12px}.help-row span:last-child{display:flex;gap:5px;align-items:center;font-size:10px;color:#8e697d}.help-note{padding:14px;background:#321e29;border:1px solid #583348;border-radius:7px;font-size:11px;line-height:1.8;color:#be91a8;margin-top:23px}.notes-editor{min-height:250px!important}.toast{position:fixed;z-index:200;left:calc(50% + 122px);bottom:58px;transform:translateX(-50%);max-width:min(480px,90vw);display:flex;align-items:center;gap:10px;padding:13px 17px;border-radius:8px;border:1px solid #805069;background:#32212ded;color:#efc8dd;box-shadow:0 10px 35px #0005;font-size:11px;line-height:1.5;animation:toast-in .2s ease;backdrop-filter:blur(10px)}.toast svg{color:#c486a3;flex-shrink:0}.toast.error{border-color:#b33d5e;color:#ffd4e0}.toast button{text-decoration:underline;margin-left:12px;font-size:10px;color:#efaac8}.mobile-menu{display:none}.mobile-scrim{display:none}
@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes toast-in{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
@media(min-width:1600px){.app-shell{grid-template-columns:260px minmax(0,1fr)}.topbar,.workspace-heading{padding-left:44px;padding-right:44px}.graph-toolbar{padding-inline:44px}.toast{left:calc(50% + 130px)}}
@media(max-width:1100px){.app-shell{grid-template-columns:218px minmax(0,1fr)}.brand{padding-inline:21px}.brand-caption{display:none}.topbar{padding-inline:23px}.workspace-heading{padding:24px}.heading-line h1{font-size:24px}.graph-toolbar{padding-inline:24px}.topbar-actions{gap:10px}.save-indicator span{display:none}.breadcrumbs{font-size:9px;gap:8px}.canvas-hint{display:none}.canvas-legend{gap:10px;left:18px}.minimap{width:115px;height:95px;right:16px}.toast{left:calc(50% + 109px)}.document-page{padding:50px 48px 65px;min-height:950px}.page-number{left:48px;right:48px}.page-body{font-size:15px}.editor-heading{padding-inline:22px}.editor-title h1{max-width:350px}}
@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;transform:translateX(-100%);transition:transform .2s;z-index:65}.sidebar.is-open{transform:translateX(0)}.mobile-scrim.is-open{display:block;position:fixed;inset:0;background:#0009;z-index:60}.mobile-menu{display:grid}.topbar{height:60px;padding:0 16px;gap:8px}.breadcrumbs{flex:1;min-width:0}.breadcrumbs>span:first-child,.breadcrumbs>svg{display:none}.breadcrumbs>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{gap:6px}.avatar,.topbar-help{display:none}.topbar-actions .button{padding:7px 10px;min-height:32px;font-size:10px}.workspace-heading{padding:22px 18px 20px}.eyebrow{font-size:8px}.heading-line{gap:9px}.heading-line h1{font-size:22px}.heading-line .badge{display:none}.workspace-heading p{font-size:10px;max-width:200px;line-height:1.6}.heading-actions .button{padding:10px;font-size:10px}.heading-actions .button.ghost{display:none}.graph-toolbar{padding:0 17px;height:45px}.view-tabs{gap:17px}.view-tab{font-size:10px}.graph-toolbar-right{gap:1px}.mini-button{font-size:0;gap:0;padding:7px}.mini-button svg{width:16px;height:16px}.filter-select{max-width:95px;font-size:9px}.toolbar-divider{margin-inline:3px}.canvas-caption{top:18px;left:19px}.canvas-legend{bottom:14px;gap:9px}.legend-item{font-size:8px}.minimap{width:90px;height:74px;bottom:57px;right:12px}.canvas-controls{bottom:38px;padding:4px}.canvas-controls button{width:27px;height:25px}.view-footer{padding-inline:15px;font-size:8px}.footer-shortcut{display:none}.footer-left{gap:9px}.toast{left:50%;bottom:42px}.editor-heading{padding:15px;min-height:78px;gap:8px}.editor-heading-left{gap:9px}.editor-title h1{font-size:14px;max-width:calc(100vw - 210px)}.editor-title-group small{font-size:8px;letter-spacing:.8px}.editor-heading .button.ghost{display:none}.status-select{font-size:9px;padding:6px;max-width:90px}.editor-toolbar{padding:7px 8px;gap:2px}.editor-toolbar .toolbar-divider{margin-inline:3px}.format-select{max-width:94px;font-size:9px}.format-button{min-width:25px;height:27px}.format-button.wide{font-size:9px;padding-inline:6px}.editor-scroll{padding:20px 10px 50px}.document-breadcrumb{font-size:8px;padding-inline:3px}.document-page{padding:29px 25px 65px;min-height:800px}.paper-header{font-size:6px;letter-spacing:1px}.paper-title{font-size:25px;margin-top:29px}.paper-subtitle{font-size:8px;margin-bottom:27px}.page-body{font-size:14px;line-height:1.8;min-height:600px}.page-body p.stage-direction{font-size:8px}.page-number{left:25px;right:25px;bottom:25px;font-size:7px}.editor-footer{padding-inline:13px;font-size:8px}.editor-footer>div{gap:9px}.editor-footer .footer-local{display:none}.list-view{padding:20px 18px 35px}.scene-grid{grid-template-columns:1fr}.modal{padding:22px}.overlay-backdrop{padding:14px}.modal h2{font-size:21px}.field-row{gap:10px}.search-modal{padding:0}.search-input-wrap{padding:17px}.search-input-wrap input{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{body,html{height:auto;overflow:visible;background:white;color:black}.sidebar,.topbar,.editor-heading,.editor-toolbar,.editor-footer,.view-footer,.document-breadcrumb,.add-page,.scene-connections,#overlay-root,#toast-root{display:none!important}.app-shell,.main,.editor-scroll{display:block;height:auto;overflow:visible;padding:0;background:white}.document-page{box-shadow:none;width:100%;max-width:none;margin:0;padding:20mm 18mm 20mm;min-height:250mm;break-after:page;color:#222}.page-body{min-height:200mm}.page-number{bottom:7mm;left:18mm;right:18mm}.document-page:last-of-type{break-after:auto}@page{size:A4;margin:0}}

/* Desktop edition: clear typography, one novel, one scene view. */
:root{--font:'Segoe UI',Arial,sans-serif;--text:#f5eff2;--muted:#b7aab1;--line:#383035}
body{font-size:16px;-webkit-font-smoothing:auto;text-rendering:optimizeLegibility}
.app-shell{grid-template-columns:280px minmax(0,1fr)}
.sidebar{background:#1b181b}
.brand{height:143px;padding:24px;gap:13px;align-items:center}
.brand-monogram{display:grid;place-items:center;width:45px;height:52px;flex-shrink:0;background:linear-gradient(145deg,#a60037,#630024);border:1px solid #d04c78;border-radius:8px;font-family:Georgia,serif;font-size:21px;font-weight:bold;color:#fff3f6;box-shadow:0 0 24px #a3003828}
.brand-name{font-family:Georgia,'Times New Roman',serif;font-size:24px;letter-spacing:-.6px;white-space:nowrap}
.brand-subtitle{font-size:13px;color:#c49baa;margin-top:8px;white-space:nowrap}
.side-nav{padding:0 17px;gap:7px}
.nav-button{padding:13px 14px;gap:12px;font-size:16px;line-height:1.4;color:#c3b8bf;border-radius:8px}
.nav-button.active{color:#fff0f6;background:linear-gradient(90deg,#6c153b99,#42203277);box-shadow:inset 3px 0 #ee588c}
.nav-button.active svg{color:#f4abc6}
.nav-button kbd{font-size:11px;color:#ccb5c3;opacity:1}
.sidebar-separator{margin:26px 26px 18px;background:#3a2d35}
.section-label{font-size:14px;color:#c8b3c0;letter-spacing:.5px;margin:0 25px 12px;font-weight:600}
.section-label .icon-button{padding:5px}
.chapter-list{padding:0 17px}
.chapter-button{font-size:16px;padding:14px 12px;margin-bottom:7px;color:#c2b0bc;gap:11px;line-height:1.5;border-radius:7px}
.chapter-button.active{color:#fceaf3;background:#342331}
.chapter-index{font-size:13px;color:#b586a0;letter-spacing:.6px}
.chapter-count{font-size:12px;color:#d7adbf;background:#4b293d;padding:3px 7px}
.sidebar-bottom{margin:15px 22px 0;padding:17px 0}
.sidebar-bottom .nav-button{padding:10px 5px;color:#bca6b4;font-size:14px;width:100%}
.topbar{height:65px;padding:0 30px;background:#1b181b}
.workspace-label{display:flex;align-items:center;gap:10px;color:#d1c0ca;font-size:15px}
.workspace-label svg{color:#c18ba6}
.topbar-actions{gap:22px}
.save-indicator{font-size:13px;color:#c1b8bd;gap:8px}
.save-indicator span{display:inline}
.save-indicator svg{color:#a3c6a8}
.button{font-size:14px;min-height:41px;padding:10px 16px;border-color:#604051;color:#edd2e0;background:#2d222b;gap:9px;border-radius:7px}
.button svg{width:17px;height:17px}
.button.primary{background:#a40037;border-color:#d14974;color:#fff;box-shadow:0 0 18px #a3003820}
.button.primary:hover{background:#bc0c49}
.icon-button{min-width:36px;height:36px;color:#c0a2b2}
.workspace-heading{min-height:91px;padding:22px 30px;background:#181518}
.heading-line{gap:13px;min-width:0}
.heading-line h1{font-size:26px;letter-spacing:-.4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:650px}
.chapter-heading-index{color:#cf759e;border:1px solid #663149;border-radius:6px;background:#321523;padding:6px 9px;font-size:14px;font-variant-numeric:tabular-nums}
.heading-actions{gap:12px}
.graph-toolbar{height:53px;padding:0 26px;background:#1c181c;border-color:#3b2d35}
.graph-toolbar-left{display:flex;align-items:center;gap:15px}
.mini-button{font-size:14px;gap:8px;color:#c1a8b8;padding:8px 10px}
.mini-button.active{color:#ffe4f1;background:#67203f}
.filter-select{font-size:13px;max-width:150px;color:#c9afbf;padding:7px 8px}
.filter-select option{background:#241b23;color:#efdae6}
.graph-canvas{background-color:#131113;background-image:radial-gradient(circle,#60405277 .9px,transparent 1px)}
.scene-node{width:320px;height:172px;padding:19px 21px;border-radius:10px;background:linear-gradient(120deg,#5e1231,#3e1025);border-color:#ac3c67;box-shadow:0 0 22px #b3003b27,0 6px 20px #0005}
.scene-node:hover,.scene-node:focus-visible{background:linear-gradient(120deg,#75153e,#50112d);border-color:#f087b2;box-shadow:0 0 0 1px #d65f8e44,0 0 29px #c520573d}
.scene-node.choice{background:linear-gradient(120deg,#96043b,#62072f);border-color:#de5a8b}
.scene-node.ending{padding:17px 19px;border-width:3px;background:linear-gradient(120deg,#54102f,#301024)}
.node-top{margin-bottom:13px}
.node-number{font-size:12px;letter-spacing:.8px;color:#e2a8c3;gap:8px;font-weight:500}
.node-number svg{width:15px;height:15px}
.status-dot{height:7px;width:7px;background:#e9ad80}
.status-dot.done{background:#bad8b9}
.status-dot.empty{background:#ba8a9f}
.node-title{font-size:clamp(20px,calc(16px / var(--graph-scale,1)),42px);font-weight:600;letter-spacing:0;color:#fff1f7;line-height:1.4}
.node-type{margin-top:7px;font-size:14px;color:#d8a0bc}
.node-footer{margin-top:13px;padding-top:11px;color:#d7a6be;font-size:13px;border-color:#c7799c35}
.node-footer-copy{gap:7px}
.node-footer-copy svg{width:13px;height:13px}
.node-menu-button{color:#e1adc7;padding:0 2px}
.node-menu-button svg{width:19px;height:19px}
.node-port{height:12px;width:12px;left:calc(50% - 6px);border-color:#e18bb2;background:#641a3c}
.node-port.input{top:-7px}.node-port.output{bottom:-7px}
.node-tooltip{font-size:clamp(16px,calc(15px / var(--graph-scale,1)),32px);line-height:1.55;min-width:200px;max-width:430px;border-color:#be6c96;color:#ffe5f2;padding:13px 17px;background:#34212e}
.node-tooltip::after{background:#34212e;border-color:#be6c96}
.zoom-overview .scene-node{display:flex;align-items:center;justify-content:center}
.zoom-overview .node-title{width:100%;text-align:center}
.zoom-overview .node-top,.zoom-overview .node-type,.zoom-overview .node-footer{display:none}
.edge-line{stroke:#a35c80;stroke-width:1.8}
.edge-label{font-size:14px;fill:#f3c0d9;font-weight:500}
.edge-label-bg{fill:#381827;stroke:#92506f}
.canvas-controls{bottom:22px;left:25px;transform:none;padding:7px;border-color:#684155;background:#2a1d27;gap:5px;border-radius:9px;backdrop-filter:none}
.canvas-controls button{width:34px;height:33px;color:#e9bbd2}
.canvas-controls button.zoom-value{width:60px;font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}
.minimap{right:24px;bottom:23px;width:154px;height:118px;border-color:#654050;background:#241922;backdrop-filter:none}
.minimap.hidden{display:none}
.minimap-label{display:none}
.view-footer{height:34px;font-size:12px;padding:0 26px;color:#bb9eae;background:#1b161b;border-color:#3d2a36}
.link-banner{font-size:15px;padding:13px 18px;background:#56172ff5;top:22px}
.editor-heading{padding:20px 28px;min-height:91px;background:#1b171b}
.editor-heading-left{gap:17px}
.back-button{width:38px;height:38px;border-color:#755068;color:#f0bfd7}
.editor-title-group small{font-size:12px;letter-spacing:1px;color:#d1a1b9}
.editor-title h1{font-size:22px;max-width:700px;color:#f7e5ef}
.status-select{font-size:13px;color:#eac4d9;border-color:#78506a;padding:9px 11px}
.editor-toolbar{padding:10px 20px;min-height:55px;background:#292029;gap:5px}
.format-button{height:32px;min-width:32px;color:#e3bdd3;font-size:15px}
.format-button svg{width:17px;height:17px}
.format-button.wide{font-size:13px;padding:0 10px}
.format-select{font-size:13px;color:#f1d2e3;padding:6px;background:#292029}
.editor-toolbar .toolbar-divider{height:20px;background:#604155}
.editor-scroll{background:#252025;padding:30px 32px 65px}
.document-breadcrumb{font-size:12px;color:#d0b2c4;letter-spacing:.4px;max-width:820px;margin-bottom:20px}
.document-page{max-width:820px;min-height:1095px;padding:65px 76px 70px;background:#faf7f3;box-shadow:0 8px 40px #0005}
.paper-header{font-size:10px;letter-spacing:1px;color:#866071;border-color:#d4bfc9}
.paper-title{font-size:32px;color:#3f2632;margin-top:32px;letter-spacing:0}
.paper-subtitle{font-size:12px;line-height:1.5;letter-spacing:.3px;color:#8f5e77;margin-bottom:34px}
.page-body{font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.8;color:#241b20;min-height:735px}
.page-body p{margin-bottom:18px}
.page-body p.stage-direction{font-size:12px;color:#925570;letter-spacing:.6px;line-height:1.8}
.page-number{font-size:10px;color:#9e788e;left:76px;right:76px;bottom:32px}
.page-body:empty::before{color:#aa899d}
.scene-connections{max-width:820px;font-size:14px;gap:10px;margin-bottom:25px}
.scene-connections button{font-size:13px;padding:9px 12px;color:#e3b3ce;border-color:#75475f}
.add-page{font-size:14px;padding:13px 25px;color:#e3b8d0;border-color:#875772}
.editor-footer{height:37px;font-size:12px;padding-inline:25px;color:#d4acc3}
.editor-footer .button{font-size:12px;min-height:28px;padding:4px 10px}
.modal{max-width:560px;padding:28px;background:#261c24;border-color:#754b63;border-radius:12px}
.modal.wide{max-width:650px}
.modal-kicker{font-size:11px;color:#dc8fb7;letter-spacing:1.1px}
.modal h2{font-size:25px;letter-spacing:0}
.modal-description{font-size:15px;color:#d6afc4}
.field{gap:9px;margin-bottom:19px}
.field-label{font-size:14px;color:#e2bed3}
.field-hint{font-size:12px;color:#c79db4;line-height:1.6}
.field input,.field select,.field textarea{font-size:15px;border-color:#78536a;background:#1a1219;color:#fff0f8;padding:11px 13px}
.field textarea{font-size:15px}
.field input::placeholder,.field textarea::placeholder{color:#b0869d}
.type-option{font-size:14px;padding:12px 8px;border-color:#765168;color:#dfb3cc;gap:9px}
.type-option.selected{background:#782140;border-color:#e16a9f;color:#fff0f7}
.form-error{font-size:14px;color:#ffc0d8}
.popover{min-width:260px;background:#2d1c28;border-color:#9e6284;padding:7px}
.popover-caption{font-size:11px;letter-spacing:.7px;color:#d98cb4}
.popover button{font-size:14px;padding:12px 13px;color:#f0c5de;gap:12px}
.popover-separator{background:#684158}
.search-modal{padding:0;max-width:650px}
.search-input-wrap{padding:21px;border-color:#76445e}
.search-input-wrap input{font-size:16px}
.search-result{padding:15px;color:#d297b8}
.search-result strong{font-size:15px;color:#ffdfef}
.search-result small{font-size:12px;color:#c79eb5;margin-top:6px}
.search-footer{font-size:12px;color:#c095af}
.search-empty{font-size:15px;color:#d4a5c0}
input::placeholder{color:#a58598}
.help-row{font-size:15px;color:#e5bdd4}
.help-row span:last-child{font-size:13px;color:#c597b2}
.help-note{font-size:14px;line-height:1.8;color:#dfb1c9;border-color:#74445e;background:#3b2030}
kbd{font-size:11px;padding:3px 5px;background:#382532;border-color:#75526a;color:#ecc6dd}
.toast{left:calc(50% + 140px);font-size:14px;bottom:62px;border-color:#a86a90;background:#412738;color:#ffe1f2;max-width:650px;backdrop-filter:none}
.toast button{font-size:13px;color:#ffd7ec}
.empty-state h2{font-size:25px;color:#f4d7e8}
.empty-state p{font-size:15px;color:#c6a0b6;max-width:400px}
.mobile-menu,.mobile-scrim{display:none!important}
@media(max-width:1280px){.app-shell{grid-template-columns:260px minmax(0,1fr)}.brand{padding:21px;gap:10px}.brand-name{font-size:22px}.brand-subtitle{font-size:12px}.topbar,.workspace-heading{padding-inline:24px}.editor-title h1{max-width:530px}.toast{left:calc(50% + 130px)}.editor-toolbar{gap:3px;padding-inline:12px}.editor-toolbar .toolbar-divider{margin-inline:4px}.document-page{padding-inline:60px}.page-number{left:60px;right:60px}}
@media print{.document-page{max-width:none;padding:20mm 18mm;min-height:250mm;box-shadow:none}.page-body{font-size:12pt;min-height:180mm}.page-number{bottom:8mm;left:18mm;right:18mm}.paper-title{font-size:23pt}.paper-header{font-size:8pt}.paper-subtitle{font-size:9pt}.page-body p.stage-direction{font-size:9pt}}

/* Compact scene cards. Status is communicated by the outline. */
.scene-node{height:116px;padding:19px 21px}
.scene-node.ending{padding:17px 19px}
.scene-node .node-top{margin-bottom:16px}
.scene-node .node-title{line-height:1.4}
.scene-node.status-empty{border-color:#9cddff;box-shadow:0 0 0 1px #a7e7ff35,0 0 16px #72cfff55;animation:draft-outline 4.8s ease-in-out infinite}
.scene-node.status-done{border-color:#41ff7d;box-shadow:0 0 0 1px #5bff8b40,0 0 19px #30ff6c65;animation:none}
.scene-node.status-empty .node-port{border-color:#b5e9ff;background:#376178}
.scene-node.status-done .node-port{border-color:#7aff9f;background:#225b39}
.scene-node .status-dot.empty{background:#b8eaff;box-shadow:0 0 8px #8edfff88}
.scene-node .status-dot.done{background:#56ff88;box-shadow:0 0 8px #36ff7788}
.scene-node.status-done:hover,.scene-node.status-done:focus-visible{border-color:#8dffaf;box-shadow:0 0 0 1px #72ffa755,0 0 25px #30ff6c88}
.scene-delete-button{color:#ffbdd4;border-color:#92536b;background:#411e2c}
.scene-delete-button:hover{color:#ffe4ee;border-color:#d67d9e;background:#66263e}
.scene-node.connection-source{outline:2px dashed #ffe0ee;outline-offset:6px}
@keyframes draft-outline{0%,100%{border-color:#8bd4ff;box-shadow:0 0 0 1px #a7e7ff25,0 0 12px #72cfff44}50%{border-color:#c3efff;box-shadow:0 0 0 1px #c3efff55,0 0 25px #83d9ff85}}

/* Chapter → subchapter graph → ordered scene cards. */
.node-tooltip small{display:block;margin-top:9px;color:#d2a6bd;font-size:13px;line-height:1.5}
.subchapter-heading .editor-heading-left{min-width:0}
.subchapter-heading .heading-line h1{font-size:25px;max-width:540px}
.subchapter-heading .editor-title-group>small{display:block;font-size:12px;color:#c98da9;margin-bottom:9px;letter-spacing:.5px}
.scenes-order-bar{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 30px;border-block:1px solid #3c2a35;background:#1c171c;font-size:13px;color:#bea0b1}
.scenes-order-bar>span:last-child{color:#9b7c8f;font-size:12px}
.scene-list-scroll{flex:1;min-height:0;overflow:auto;background:#151215;padding:27px 30px 45px}
.ordered-scene-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1320px;margin:0 auto}
.ordered-scene-card{position:relative;min-width:0;min-height:220px;display:flex;flex-direction:column;padding:23px 24px 21px;border:1px solid #583043;border-radius:10px;background:linear-gradient(120deg,#321823,#25161e);cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;outline:none}
.ordered-scene-card:hover,.ordered-scene-card:focus-visible{border-color:#b05d84;background:linear-gradient(120deg,#412033,#2d1825);box-shadow:0 0 22px #99002d22}
.scene-card-top{display:flex;align-items:center;justify-content:space-between;color:#c58ca7;font-size:12px;letter-spacing:.5px}
.scene-card-top>span{display:flex;gap:8px;align-items:center}
.ordered-scene-card .status-dot.empty{background:#9ad9ff;box-shadow:0 0 7px #81ccff44}
.ordered-scene-card .status-dot.done{background:#9cd4a5;box-shadow:0 0 7px #8edba044}
.ordered-scene-card h2{font-size:19px;font-weight:600;line-height:1.45;letter-spacing:0;color:#f8e8f0;margin:15px 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.scene-excerpt{font-size:14px;line-height:1.75;color:#b495a5;margin:0 0 23px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;min-height:48px}
.scene-excerpt.empty-excerpt{color:#8a6c7d;font-style:italic}
.scene-card-footer{margin-top:auto;padding-top:15px;border-top:1px solid #63364855;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#bd8da6}
.ordered-scene-card.done .scene-card-footer>span:first-child{color:#b3d2b8}
.scene-order-actions{position:absolute;top:14px;right:15px;display:flex;gap:5px;opacity:0;pointer-events:none;transition:opacity .15s}
.scene-order-actions button{height:29px;width:29px;display:grid;place-items:center;font-size:18px;color:#e8c3d8;border:1px solid #76536a;border-radius:5px;background:#3c2232}
.scene-order-actions button:hover{background:#6a2b49;border-color:#d585ac}
.scene-order-actions button:disabled{opacity:.3}
.ordered-scene-card:hover .scene-order-actions,.ordered-scene-card:focus-within .scene-order-actions{opacity:1;pointer-events:auto}
.ordered-scene-card:hover .scene-card-top>.status-dot,.ordered-scene-card:focus-within .scene-card-top>.status-dot{opacity:0}
.scenes-empty{min-height:440px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#ba93aa;padding:35px}
.scenes-empty>svg{color:#c7779d;margin-bottom:13px}
.scenes-empty h2{color:#efd8e6;font-size:25px;font-weight:500;margin:12px 0}
.scenes-empty p{font-size:15px;line-height:1.8;margin:0 0 24px}
.compiled-notice{display:flex;gap:9px;align-items:center;padding:14px 29px;background:#2c1e27;border-block:1px solid #513342;color:#d2afc2;font-size:13px;line-height:1.6;flex-shrink:0}
.compiled-body{font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.8;color:#241b20;min-height:735px;overflow-wrap:anywhere}
.compiled-body p{margin:0 0 18px}
.compiled-body ul,.compiled-body ol{padding-left:25px}
.compiled-body blockquote{border-left:2px solid #b58b9a;margin:20px 0;padding-left:20px;color:#806573;font-style:italic}
.compiled-body h2{font-size:22px;font-weight:400;margin:24px 0 15px;color:#6b1a38}
.compiled-body h3{font-size:19px;margin:22px 0 14px}
.compiled-body p.stage-direction{font-family:var(--font);font-size:12px;line-height:1.8;letter-spacing:.6px;color:#925570;margin:22px 0}
.compiled-scene-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:31px 0 20px;break-inside:avoid}
.compiled-opening:first-child .compiled-scene-heading{margin-top:0}
.compiled-scene-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:23px;line-height:1.45;color:#4e263a;margin:0;font-weight:400}
.compiled-scene-heading h2>span{display:block;font-family:var(--font);font-size:11px;font-weight:500;letter-spacing:1px;color:#a2718a;margin-bottom:7px}
.compiled-scene-heading button{padding:7px;border:1px solid #d3aabb;border-radius:5px;color:#975272;background:#f5eaf0;flex-shrink:0}
.compiled-scene-heading button:hover{color:#741e47;border-color:#b2688e;background:#eddae4}
.compiled-empty-state{text-align:center;margin:80px auto;color:#d4b0c5;font-size:17px}
.compiled-page .paper-subtitle{font-size:12px}
.search-results{max-height:440px}
.popover button:disabled{opacity:.35}
@media(max-width:1200px){.subchapter-heading{gap:10px;padding-inline:22px}.subchapter-heading .heading-actions{gap:7px}.subchapter-heading .heading-actions .button{font-size:12px;padding:10px 12px}.subchapter-heading h1{font-size:22px!important;max-width:340px!important}.scene-list-scroll{padding:22px}.ordered-scene-card{padding:21px}.scenes-order-bar{padding-inline:22px}.scenes-order-bar>span:last-child{font-size:11px}.editor-title h1{font-size:20px;max-width:480px}}
@media print{.compiled-notice,.compiled-scene-heading button{display:none!important}.compiled-body{font-size:12pt;min-height:180mm}.compiled-scene-heading h2{font-size:17pt}.compiled-scene-heading h2>span{font-size:8pt}.compiled-body p.stage-direction{font-size:9pt}.compiled-page{break-after:page}.compiled-page:last-child{break-after:auto}}

/* Match the scene subtitle typography; script labels use black ink. */
.paper-subtitle,.page-body p.script-label,.compiled-body p.script-label{font-family:var(--font);font-size:12px;font-weight:400;font-style:normal;line-height:1.5;letter-spacing:.3px;text-transform:uppercase}
.page-body p.script-label,.compiled-body p.script-label{color:#000;margin:25px 0 4px}
@media print{.paper-subtitle,.page-body p.script-label,.compiled-body p.script-label{font-size:9pt}}
.text-label-select{font-size:13px;max-width:220px;cursor:pointer}

.editor-toolbar .format-button:hover{background:#3b2934;color:#ffe3f0}
.editor-toolbar .format-button.is-active{background:#7d1e4a;color:#fff;box-shadow:inset 0 0 0 1px #e58bb5}
.editor-toolbar .format-button.is-mixed{background:linear-gradient(135deg,#52243a 50%,transparent 50%);box-shadow:inset 0 0 0 1px #af6c8c;color:#ffdfec}

.team-control{white-space:nowrap;font-size:12px!important;gap:8px!important}.team-dot{width:7px;height:7px;border-radius:50%;background:#b8a0ae;display:inline-block}.team-dot.online{background:#67e6aa;box-shadow:0 0 8px #67e6aa44}.team-scene-note{padding:11px 28px;border-bottom:1px solid #604153;background:#30202a;color:#f0cedf;font-size:13px}.team-scene-note[hidden]{display:none}.team-message{color:#f1bfd8;font-size:14px;line-height:1.6}.page-body[contenteditable="false"]{caret-color:transparent}

/* Shared production workspace. */
.brand-identity{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.brand-image{width:46px;height:46px;object-fit:cover;border-radius:10px;flex-shrink:0;box-shadow:0 0 0 1px #8c3a58}.brand-identity>div{min-width:0}.brand-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-library{flex:1;min-height:0;overflow:auto;padding-bottom:18px}.sidebar .chapter-list{flex:initial;overflow:visible}.draft-section-label{margin-top:27px}.section-title{font:inherit;color:inherit;padding:0}.draft-sidebar-list .chapter-button{gap:10px}.profile-button>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-button>svg:last-child{opacity:.7}.sidebar .sidebar-bottom{margin-top:0;flex-shrink:0}.scene-people{display:flex;flex-wrap:wrap;gap:7px 12px;margin:12px 0 0;font-size:12px;color:#d0a9bd}.scene-people>span{display:flex;align-items:center;gap:6px}.scene-people .working-now{color:#88dcb9}.scene-meta-bar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:9px 28px;border-bottom:1px solid #3f2c37;background:#201a1e;color:#d4afc4;font-size:12px;min-height:38px}.scene-meta-bar>button{display:flex;align-items:center;gap:7px;padding:2px 0}.scene-meta-bar>button:hover{color:#fff}.scene-meta-bar>span{color:#8fdbb4}.scene-workspace{flex:1;min-height:0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr)}.scene-workspace.notes-open{grid-template-columns:minmax(0,1fr) 330px}.scene-workspace>.editor-scroll{min-width:0}.scene-notes-panel{min-height:0;display:flex;flex-direction:column;border-left:1px solid #654253;background:#211a20;overflow:hidden}.scene-notes-panel[hidden]{display:none}.notes-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 15px;border-bottom:1px solid #4d313f}.notes-panel-heading strong{font-size:15px;font-weight:500}.note-role-tabs{display:flex;gap:3px;padding:10px;border-bottom:1px solid #4d313f}.note-role-tabs>button{flex:1;font-size:11px;line-height:1.45;padding:8px 3px;border-radius:6px;color:#c89db3}.note-role-tabs>button.active{background:#692040;color:#ffe0ee}.scene-notes-list{flex:1;overflow:auto;padding:13px}.notes-empty{color:#b38fa2;font-size:13px;line-height:1.7;text-align:center;padding:35px 15px}.revision-note{padding:13px;background:#2d202a;border:1px solid #75425d;border-radius:9px;margin-bottom:12px}.revision-note.done{border-color:#3d6953;opacity:.7}.revision-note-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#e4b4cd}.revision-note p{font-size:13px;line-height:1.7;color:#f0d8e5;overflow-wrap:anywhere;margin:11px 0}.revision-note-bottom{display:flex;justify-content:space-between;gap:8px}.revision-note-bottom>button{display:flex;gap:5px;align-items:center;color:#dba8c2;font-size:11px;padding:5px 0}.revision-note.done .note-status{color:#88dfb1}.add-scene-note{margin:0 13px 14px;justify-content:center}.workbench-scroll{flex:1;min-height:0;overflow:auto;padding:27px 29px 45px;background:#171517}.workbench-intro{color:#c4a6b8;font-size:14px;line-height:1.8;margin:0 0 24px}.draft-document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.draft-document-card{position:relative;background:linear-gradient(130deg,#381c2c,#251b22);border:1px solid #744054;border-radius:11px}.draft-document-open{display:block;width:100%;padding:25px;text-align:left;min-height:220px;color:#dab4c9}.draft-document-open>svg{color:#d992b6;margin-bottom:16px}.draft-document-open h2{font-size:19px;font-weight:500;color:#ffe3ee;margin:0 30px 12px 0}.draft-document-open p{font-size:13px;line-height:1.8;color:#c39bae;margin:0 0 18px;min-height:42px}.draft-document-open small{font-size:12px;color:#bd91a6}.draft-document-rename{position:absolute;top:16px;right:14px}.text-button{font-size:12px;color:#e8accd;padding:6px 0}.text-button.danger{color:#f19cb6}.calendar-controls{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px;flex-wrap:wrap}.calendar-month{display:flex;align-items:center;gap:11px}.calendar-month h2{text-transform:capitalize;font-size:20px;font-weight:500;min-width:210px;margin:0}.task-filters{display:flex;gap:5px;background:#2a1c25;padding:4px;border-radius:8px}.task-filters button{font-size:12px;color:#cfa6bd;padding:9px 12px;border-radius:5px}.task-filters button.active{background:#702145;color:#ffe0ef}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;border:1px solid #523342;background:#523342;border-radius:10px;overflow:hidden}.calendar-weekday{background:#291d25;padding:12px 6px;text-align:center;color:#c891ac;font-size:11px;letter-spacing:1px}.calendar-day{background:#20191f;min-height:113px;padding:8px 5px;position:relative}.calendar-day.outside{background:#191619}.calendar-day.outside .calendar-date{color:#806577}.calendar-day.selected{background:#412035;box-shadow:inset 0 0 0 1px #c46e9b}.calendar-date{display:grid;place-items:center;border-radius:50%;height:27px;width:27px;margin-bottom:6px;font-size:12px;color:#edd0e0}.calendar-date:hover{background:#583046}.calendar-day.today .calendar-date{background:#a80043;color:#fff}.calendar-day-tasks{display:flex;flex-direction:column;gap:4px}.calendar-task{padding:5px 6px;border-radius:4px;background:#28414f;color:#c7e6f4;font-size:10px;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border-left:2px solid #8bd8f4}.calendar-task.role-designer{background:#47304f;color:#edd1f5;border-color:#d492e6}.calendar-task.role-programmer{background:#493928;color:#f7dbad;border-color:#efbb75}.calendar-task.overdue{border-color:#ff789c;color:#ffd8e1}.calendar-task.done{background:#253d32;color:#9dd9b6;border-color:#75cba0;opacity:.75}.calendar-more{font-size:10px;text-align:left;padding:3px 6px;color:#d5a4bf}.task-agenda-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.task-agenda h2{font-size:17px;font-weight:500;margin:0;color:#f0cfdf}.tasks-empty{font-size:13px;line-height:1.8;text-align:center;color:#b48ba1;border:1px dashed #624152;padding:30px 15px;border-radius:8px}.task-card{position:relative;border:1px solid #5d4256;border-left:3px solid #8bcde8;border-radius:8px;background:#2b1d26;margin-bottom:12px}.task-card.role-designer{border-left-color:#ce91e4}.task-card.role-programmer{border-left-color:#edb971}.task-card.overdue{border-color:#ab476b}.task-card.done{border-color:#427454;opacity:.75}.task-card-main{width:100%;display:block;text-align:left;padding:15px 40px 15px 14px}.task-role{font-size:10px;letter-spacing:.5px;color:#c69bb3}.task-card h3{font-size:14px;line-height:1.55;font-weight:500;color:#ffe0ee;margin:7px 0}.task-card p{font-size:12px;color:#dab1c7;margin:7px 0}.task-card small{font-size:11px;color:#b98ba3}.task-card.overdue small{color:#ff9cb8}.task-complete{position:absolute;top:12px;right:8px}.task-card.done .task-complete{color:#8fe1ac}
@media(max-width:1320px){.calendar-layout{grid-template-columns:minmax(0,1fr)}.task-agenda{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.task-agenda-title,.tasks-empty{grid-column:1/-1}.task-card{margin-bottom:0}.scene-workspace.notes-open{grid-template-columns:minmax(0,1fr) 295px}.editor-heading .heading-actions{gap:7px}.editor-heading .button{padding:8px;font-size:12px}.scene-meta-bar{padding-inline:20px}}
@media print{.scene-notes-panel,.scene-meta-bar{display:none!important}.scene-workspace{display:block;overflow:visible}.scene-workspace>.editor-scroll{display:block;overflow:visible}.workbench-scroll{overflow:visible}}

.calendar-day{min-height:95px}.scene-people>span{max-width:100%;overflow-wrap:anywhere}.task-card p{overflow-wrap:anywhere}
/* In-app signed desktop updates. */
.update-panel{padding:8px 26px 22px}.update-version{display:flex;justify-content:space-between;gap:20px;margin:12px 0;color:var(--muted,#b3a8ad)}.update-version strong{color:#f5edf1;font-variant-numeric:tabular-nums}.update-message{line-height:1.6;margin:20px 0 12px}.update-message.error{color:#ff9da8}.update-progress{display:flex;align-items:center;gap:14px}.update-progress progress{width:100%;height:10px;accent-color:#be477a}.update-percent{min-width:3em;text-align:right;font-variant-numeric:tabular-nums}.release-notes{margin:22px 0;padding:16px;background:#ffffff05;border:1px solid #ffffff12;border-radius:10px}.release-notes h3{font-size:13px;margin:0 0 10px}.release-notes p{white-space:pre-wrap;line-height:1.7;color:#d8c9d0;font-size:13px}.update-hint{font-size:12px;line-height:1.7;color:#b3a8ad;margin-top:20px}

.admin-dot{display:block;width:11px;height:11px;min-width:11px;padding:0;border:0;border-radius:50%;background:#9b223a;opacity:.7;flex-shrink:0}.admin-dot:hover{opacity:1;background:#c13250}.admin-dot:focus-visible{outline:2px solid #d98ba2;outline-offset:5px}.access-gate{height:100dvh;display:grid;place-items:center;padding:32px;background:radial-gradient(ellipse at 50% 22%,#381527 0,transparent 58%),#151315}.access-gate>.admin-dot{position:fixed;right:29px;top:28px}.access-card{width:100%;max-width:480px;padding:34px;border:1px solid #603445;background:#20191eea;border-radius:14px;box-shadow:0 24px 100px #0006}.access-brand{display:block;width:72px;height:72px;object-fit:cover;border:1px solid #8d3a58;border-radius:14px;margin-bottom:22px}.access-eyebrow{font-size:11px;letter-spacing:2px;color:#ce90ae}.access-card h1{font-size:26px;font-weight:500;line-height:1.35;margin:14px 0}.access-card>p{color:#c3a7b6;font-size:14px;line-height:1.75}.access-card>small{display:block;color:#ab8a9b;font-size:12px;line-height:1.65;margin-top:24px}.access-card .button.primary{width:100%;margin-top:8px}.access-card textarea{width:100%;resize:vertical}.access-card progress{width:100%;accent-color:#bc3466}.access-update-version{font-size:13px;color:#dfb6ca;margin:20px 0}.access-loading{padding:15px 0;color:#b487a0}.access-roles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 22px}.access-roles label{display:flex;gap:9px;align-items:center;padding:12px;border:1px solid #654253;border-radius:7px;font-size:13px}.access-roles input{accent-color:#b42f61;min-height:0;width:16px;height:16px}.admin-tabs{display:flex;gap:8px;margin-bottom:22px}.admin-member{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;border-bottom:1px solid #4f3441}.admin-member strong{display:block;font-size:15px;font-weight:500}.admin-member span{display:block;color:#d0a5bd;font-size:12px;margin-top:7px;line-height:1.6}.admin-member small{display:block;color:#ac8b9f;font-size:11px;margin-top:7px}.admin-member-actions{display:flex;gap:4px}.admin-member-actions .button{font-size:11px;padding:7px}.online-member{display:flex;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid #4e3441}.online-member>div{flex:1}.online-member strong{font-size:15px;font-weight:500}.online-member span{display:block;color:#cba3b9;font-size:12px;margin-top:5px}.online-member small{font-size:11px;color:#92dcb0}.invite-state{padding:14px;background:#38212d;border:1px solid #6a3b50;border-radius:8px;color:#e1b8ce;font-size:13px;margin:16px 0}#generated-invite{width:100%;margin:12px 0;font:12px/1.6 Consolas,monospace;color:#efd5e3;word-break:break-all}#access-generated-invite{margin-top:22px}.task-history{display:block;color:#ae8b9e;font-size:10px;line-height:1.6;margin-top:8px}.revision-note h3{font-size:14px;font-weight:500;margin:12px 0 6px;color:#f0d8e5}.revision-note .note-assignment{font-size:11px;color:#c59ab1;line-height:1.7}.draft-document-delete{position:absolute;right:14px;bottom:14px}.no-chapters{display:grid;place-items:center;align-content:center;gap:14px;flex:1;min-height:300px;color:#be9dad}.no-chapters h1{color:#f0dae5;font-size:26px;font-weight:500}.read-only-role{color:#97cce3!important}

.permission-hidden{display:none!important}.graph-readonly .node-port{display:none}.viewer-role .scene-node{cursor:pointer}

.brand:disabled{opacity:1;cursor:default}
