:root{--ground: #0b0a07;--grid-dot: #1c1910;--panel: #12100b;--node: #1a170e;--node-raised: #221d10;--border: #332b17;--border-strong: #5d5540;--gold: #c9a45c;--gold-hi: #e8c872;--gold-lo: #8a6f2f;--gold-gradient: linear-gradient(180deg, #e8c872, #c9a45c 55%, #8a6f2f);--text: #f1e7cf;--text-soft: #cfc3a3;--muted: #9c8f6d;--connector: #5a4c2a;--c-scene: #4fa39a;--c-cinematic: #9a7fc0;--c-dialogue: #e08a5a;--c-choice: #f2c230;--c-object: #4a86d8;--c-environment: #6fae5e;--c-faction: #c46a4f;--c-theme: #b9a3d6;--c-inventory: #6cc4d6;--c-puzzle: #e07bb0;--c-logic: #c8bfae;--c-lore: #c9a45c;--c-quest: #e8c872;--c-mechanic: #6fae5e;--c-encounter: #e5534b;--c-skill: #7fa6e0;--c-character: #d9607a;--c-subplot: #8fa8c4;--c-subplot-line: #3c4655;--c-subplot-panel: #141a22;--c-error: #e5484d;--font-label: "Josefin Sans", sans-serif;--font-ui: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--font-script: "Courier Prime", "Courier New", monospace;--font-notes: "Source Serif 4", Georgia, serif;--topbar-h: 52px;--wsbar-h: 46px;--palette-w: 264px;--bottombar-h: 52px;--track-header-w: 130px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--ground);color:var(--text);font-family:var(--font-ui);font-size:13px;overflow:hidden;-webkit-user-select:none;user-select:none}button{font:inherit;color:inherit;cursor:pointer}a{color:var(--gold-hi);text-decoration:none}a:hover{color:#f4dc98}.grow{flex-grow:1}.app{position:relative;height:100%;display:grid;grid-template-columns:var(--palette-w) 1fr;grid-template-rows:var(--topbar-h) var(--wsbar-h) auto 1fr;grid-template-areas:"top top" "ws ws" "path path" "palette main"}.app.is-dragging,.app.is-dragging *{cursor:grabbing!important}.tb-btn{height:32px;padding:0 12px;border:1px solid var(--border);border-radius:4px;background:linear-gradient(180deg,#ffffff0f,#00000026),var(--node);box-shadow:inset 0 1px #ffffff12;color:var(--text);font-size:13px;display:flex;align-items:center;gap:6px;white-space:nowrap}.tb-btn:hover,.icon-btn:hover:not(:disabled){border-color:var(--gold-lo)}.icon-btn{width:32px;height:32px;padding:0;border:1px solid var(--border);border-radius:4px;background:var(--node);color:var(--text-soft);display:flex;align-items:center;justify-content:center;font-size:15px}.icon-btn:disabled{opacity:.4;cursor:default}:focus-visible{outline:2px solid var(--gold-hi);outline-offset:1px}.topbar{grid-area:top;display:flex;align-items:center;gap:10px;padding:0 12px 0 16px;background:var(--panel);border-bottom:1px solid var(--border);z-index:40}.brand{font-family:var(--font-label);font-weight:700;font-size:13px;letter-spacing:.22em;color:var(--gold);white-space:nowrap}.view-name{font-family:var(--font-label);font-size:12px;letter-spacing:.14em;color:var(--muted);white-space:nowrap}.project-name,.project-name-input{margin-left:6px;font-family:var(--font-label);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--text);background:none;border:1px solid transparent;border-radius:4px;padding:4px 6px}.project-name:hover{border-color:var(--border)}.project-name-input{border-color:var(--gold-lo);background:var(--ground);outline:none;width:260px}.save-state{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-right:4px}.save-dot{width:7px;height:7px;border-radius:50%;background:var(--c-environment)}.save-saving .save-dot{background:var(--gold)}.save-failed .save-dot{background:var(--c-error)}.preview-badge{display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;border:1px solid var(--gold-lo);border-radius:4px;background:var(--node-raised);font-size:12px;color:var(--text-soft);white-space:nowrap}.preview-tag{font-family:var(--font-label);font-weight:700;letter-spacing:.18em;font-size:10.5px;color:var(--gold)}.bible-btn{height:34px;padding:0 16px;border-radius:4px;background:var(--gold-gradient);border:1px solid var(--gold-lo);color:var(--ground);font-family:var(--font-label);font-weight:700;font-size:12.5px;letter-spacing:.16em;white-space:nowrap}.palette{grid-area:palette;background:var(--panel);border-right:1px solid var(--border);overflow-y:auto;overflow-x:hidden;padding-bottom:16px;z-index:4}.palette-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 2px}.palette-title{font-family:var(--font-label);font-weight:700;font-size:11px;letter-spacing:.24em;color:var(--gold)}.palette-hint{font-size:11px;color:var(--muted)}.palette-group{display:flex;align-items:center;width:100%;padding:12px 16px 6px;border:0;background:none;font-family:var(--font-label);font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);text-align:left}.palette-group .twisty{margin-left:auto;margin-right:10px;font-size:9px}.node-button{position:relative;display:flex;align-items:center;gap:10px;width:216px;height:40px;margin:0 0 6px 16px;padding:0 12px;background:var(--node);border:1px solid var(--border);border-radius:4px;box-shadow:0 3px 8px #0006;font-size:13px;font-weight:600;text-align:left;cursor:grab;touch-action:none}.node-button:hover{border-color:var(--gold-lo);background:var(--node-raised)}.node-button.active{border:1px dashed var(--gold-hi);background:var(--node-raised)}.node-button-kind{margin-left:auto;font-family:var(--font-label);font-size:9px;font-weight:600;letter-spacing:.16em;color:var(--muted)}.port-ring{position:absolute;right:-7px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:var(--ground);border:2px solid var(--gold)}.palette-foot{margin:10px 16px 0;font-size:11px;line-height:1.5;color:var(--muted)}.drag-ghost{position:fixed;z-index:50;display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;background:var(--node-raised);border:1px solid var(--gold-lo);border-radius:4px;box-shadow:0 8px 22px #0009;font-size:12.5px;font-weight:600;pointer-events:none;white-space:nowrap}.drag-ghost-hint{font-weight:400;font-size:11px;color:var(--muted)}.main{grid-area:main;position:relative;overflow:hidden}.canvas{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background-color:var(--ground);background-image:radial-gradient(var(--grid-dot) 1.2px,transparent 1.2px);cursor:default;touch-action:none}.canvas.dropping{cursor:copy}.world{position:absolute;left:0;top:0;transform-origin:0 0}.track{position:absolute;left:0;right:0;pointer-events:none}.track-spine{border-top:2px solid var(--gold-lo);border-bottom:2px solid var(--gold-lo);background:linear-gradient(180deg,#c9a45c14,#c9a45c08)}.track-character{border-top:1px solid color-mix(in srgb,var(--lane) 30%,var(--ground));border-bottom:1px solid color-mix(in srgb,var(--lane) 30%,var(--ground));background:color-mix(in srgb,var(--lane) 3%,transparent)}.track-hint{position:absolute;left:calc(var(--track-header-w) + 24px);right:60px;bottom:8px;text-align:left;font-size:12px;color:var(--c-subplot);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.85}.span-handle{position:absolute;width:8px;border-radius:3px;background:var(--c-subplot);cursor:ew-resize;z-index:1}.span-handle:hover{box-shadow:0 0 0 4px #8fa8c440}.span-handle.locked{cursor:not-allowed;opacity:.55}.connectors{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.flow{fill:none;stroke-width:2.5}.flow-spine{stroke:var(--gold)}.flow-subplot{stroke:var(--c-subplot)}.flow-character{stroke:var(--text-soft);stroke-width:2}.tie{fill:none;stroke-width:1.5;stroke-dasharray:3 3}.track-header{position:absolute;left:0;width:var(--track-header-w);padding:8px 10px;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:3px;overflow:visible;z-index:3}.track-header b{font-family:var(--font-label);font-size:10.5px;font-weight:700;letter-spacing:.12em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--lane)}.header-spine b{color:var(--gold)}.header-arc-name{text-transform:uppercase}.header-sub{font-size:10.5px;line-height:1.35;color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.header-name{color:#b9c7d8}.placeholder{font-style:italic;opacity:.8}.header-input{width:100%;font:inherit;font-size:11px;color:var(--text);background:var(--ground);border:1px solid var(--gold-lo);border-radius:3px;padding:1px 4px;outline:none;letter-spacing:normal;text-transform:none}.header-icons{display:flex;gap:4px;margin-top:auto;color:var(--muted)}.header-icons button{width:22px;height:20px;padding:0;border:0;border-radius:3px;background:none;color:var(--muted);display:flex;align-items:center;justify-content:center}.header-icons button:hover{background:var(--node);color:var(--text)}.header-icons button.on{color:var(--gold)}.lane-menu{position:absolute;left:calc(100% - 20px);bottom:4px;min-width:140px;padding:4px;background:#26221a;border:1px solid var(--border-strong);border-radius:6px;box-shadow:0 12px 30px #0009;display:flex;flex-direction:column;z-index:10}.lane-menu button{height:28px;padding:0 8px;border:0;border-radius:4px;background:none;text-align:left;font-size:12.5px}.lane-menu button:hover{background:#3a3222}.lane-menu .danger{color:#f19a9d}.node{position:absolute;cursor:grab}.node.pill{cursor:default;border-radius:18px;background:var(--gold-gradient);color:var(--ground);display:flex;align-items:center;justify-content:center;gap:5px;font-family:var(--font-label);font-weight:700;font-size:10px;letter-spacing:.14em}.start-tag{position:absolute;left:6px;top:-17px;padding:1px 6px;border-radius:8px;background:var(--gold);color:var(--ground);font-size:8px;letter-spacing:.14em}.pill-name{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);font-family:var(--font-ui);font-weight:400;font-size:10px;letter-spacing:normal;color:var(--muted);white-space:nowrap}.node.begin .pill-name,[data-type=begin] .pill-name{bottom:calc(100% + 20px)}.node.choice{border-radius:50%;background:var(--c-choice);box-shadow:0 0 0 4px var(--node);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:10.5px;font-weight:500;color:var(--ground)}.choice-name{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);font-family:var(--font-ui);font-size:10.5px;color:var(--c-choice);white-space:nowrap}.node.card{background:var(--node);border:1px solid var(--border);border-radius:4px;box-shadow:0 6px 16px #00000073;display:flex;flex-direction:column}.card-plotPoint{border-color:var(--gold-lo)!important}.card-kicker{display:flex;align-items:center;gap:5px;padding:6px 9px 2px;font-family:var(--font-label);font-size:8.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden}.card-kicker i{width:7px;height:7px;border-radius:2px;display:block;flex:none;background:var(--c-scene)}.card-plotPoint .card-kicker{color:var(--gold)}.card-plotPoint .card-kicker i{background:var(--gold)}.card-cinematic .card-kicker i{background:var(--c-cinematic)}.card-cinematic:before,.card-cinematic:after{content:"";position:absolute;top:8px;bottom:8px;width:3px;background:repeating-linear-gradient(180deg,var(--c-cinematic) 0 4px,transparent 4px 8px);opacity:.55}.card-cinematic:before{left:2px}.card-cinematic:after{right:2px}.card-cinematic .card-name,.card-cinematic .card-sub,.card-cinematic .card-kicker{margin-right:4px}.node.outside-span{opacity:.5}.card-name{padding:0 9px;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-sub{padding:1px 9px 0;font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card .port-ring{width:14px;height:14px;margin-top:-7px}.card-subplot{border-color:var(--c-subplot-line)}.card-subplot .card-kicker{color:var(--c-subplot)}.card-subplot .card-kicker i{background:var(--c-subplot)}.card-subplot .port-ring{border-color:var(--c-subplot)}.node-input{margin:0 5px;padding:0 4px;font:inherit;font-size:12px;font-weight:600;color:var(--text);background:var(--ground);border:1px solid var(--gold-hi);border-radius:3px;outline:none;min-width:0;letter-spacing:normal;text-transform:none}.node-input.pill-name,.node-input.choice-name{width:140px;margin:0;color:var(--text)}.node.selected.card{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 8px 22px #0000008c}.node.selected.card .port-ring{background:var(--gold)}.node.selected.choice{box-shadow:0 0 0 3px var(--node),0 0 0 5px var(--gold-hi)}.node.selected.pill{box-shadow:0 0 0 2px var(--ground),0 0 0 3.5px var(--gold-hi)}.node.ghost{opacity:.75;pointer-events:none}.node.ghost.card{border:1.5px dashed var(--gold-hi);background:#c9a45c1a}.node.ghost.choice{background:#f2c2301f;border:2px dashed var(--c-choice);color:var(--c-choice);box-shadow:none}.continues{position:absolute;right:0;width:44px;background:linear-gradient(90deg,rgba(11,10,7,0),var(--ground));pointer-events:none;z-index:2}.continues-mark{position:absolute;right:10px;display:flex;flex-direction:column;align-items:flex-end;gap:2px;color:var(--gold-lo);font-family:var(--font-label);font-size:9px;letter-spacing:.16em}.continues-mark span{font-size:18px;line-height:1}.drop-refusal{position:absolute;z-index:20;padding:5px 9px;border-radius:4px;background:#26221a;border:1px solid var(--border-strong);color:var(--text-soft);font-size:11.5px;pointer-events:none;white-space:nowrap}.minimap{position:absolute;right:216px;top:14px;width:160px;height:100px;background:var(--panel);border:1px solid var(--border);border-radius:6px;overflow:hidden;z-index:4;cursor:pointer}.mini-track{position:absolute;left:0;right:0;background:color-mix(in srgb,var(--lane) 16%,transparent)}.mini-spine{background:#c9a45c2e;border-top:1px solid var(--gold-lo);border-bottom:1px solid var(--gold-lo)}.mini-node{position:absolute;background:var(--gold-lo);border-radius:1px}.mini-scene{background:var(--c-scene)}.mini-choice{background:var(--c-choice)}.mini-cinematic{background:var(--c-cinematic)}.mini-begin,.mini-end{background:var(--gold)}.mini-viewport{position:absolute;border:1.5px solid var(--gold-hi);border-radius:2px;pointer-events:none}.toast{position:absolute;left:50%;bottom:72px;transform:translate(calc(-50% + var(--palette-w) / 2));padding:9px 14px;border-radius:6px;background:#26221a;border:1px solid var(--border-strong);box-shadow:0 12px 30px #0009;font-size:12.5px;z-index:60}.save-remind{position:absolute;top:64px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;max-width:min(720px,calc(100vw - 32px));padding:10px 12px 10px 16px;border-radius:6px;background:#2b2416;border:1px solid var(--gold);box-shadow:0 12px 30px #0009;font-size:13px;line-height:1.4;z-index:61}.save-remind span{flex:1}.bottombar{position:absolute;left:0;right:0;bottom:0;height:var(--bottombar-h);padding:0 14px;display:flex;align-items:center;gap:8px;background:var(--panel);border-top:1px solid var(--border);z-index:6}.add-subplot{border-color:var(--c-subplot-line)}.add-character{border-color:#4e2a33}.divider{width:1px;height:26px;background:var(--border);margin:0 6px}.bottombar-label{font-size:12px;color:var(--muted)}.lane-chips{display:flex;gap:8px;overflow-x:auto;min-width:0}.lane-chip{height:24px;padding:0 9px;border-radius:12px;border:1px solid var(--lane);background:color-mix(in srgb,var(--lane) 10%,var(--ground));font-size:11.5px;white-space:nowrap}.lane-chip.hidden{border:1px dashed var(--border-strong);background:none;color:var(--muted)}.zoom-readout{width:42px;text-align:center;font-family:var(--font-mono);font-size:12px;color:var(--muted)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0b0a0799;display:flex;align-items:center;justify-content:center}.dialog{width:min(420px,calc(100% - 32px));padding:18px 20px 16px;background:var(--panel);border:1px solid var(--gold-lo);border-radius:8px;box-shadow:0 16px 40px #0009;display:flex;flex-direction:column;gap:10px}.dialog h2{margin:0;font-size:15px;font-weight:600}.dialog p{margin:0;font-size:13px;line-height:1.5;color:var(--text-soft)}.dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:6px}.danger-btn{border-color:#7a3336;color:#f19a9d}.subplot-band{position:absolute;border-top:1px solid var(--c-subplot-line);border-bottom:1px solid var(--c-subplot-line);background:#8fa8c412;border-radius:6px;pointer-events:none}.subplot-band.empty{border-style:dashed;border-color:var(--c-subplot);background:#8fa8c40d}.subplot-band.locked{background:#8fa8c409}.subplot-tab{position:absolute;left:14px;top:4px;right:14px;height:18px;display:flex;align-items:center;gap:6px;pointer-events:auto;white-space:nowrap;min-width:0}.subplot-tab b{font-family:var(--font-label);font-size:8.5px;font-weight:700;letter-spacing:.16em;color:var(--c-subplot)}.subplot-name{font-size:10.5px;color:#b9c7d8;overflow:hidden;text-overflow:ellipsis;min-width:0}.subplot-tab .header-icons{margin:0 0 0 auto;gap:0}.subplot-tab .header-icons button{width:18px;height:16px}.subplot-tab .header-input{width:140px;font-size:10.5px}.subplot-tab .lane-menu{left:auto;right:0;top:20px;bottom:auto}.band-hint{position:absolute;left:14px;right:14px;bottom:8px;font-size:10.5px;color:var(--c-subplot);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.85}.subplot-path{fill:none}.subplot-leg{stroke-width:2}.subplot-through{stroke-width:2.5}.subplot-through.empty{stroke-width:1.5;stroke-dasharray:5 4;opacity:.7}.connectors{pointer-events:none}.connection-line{fill:none;stroke:var(--connector);stroke-width:1.8}.connection-arcEvent .connection-line{stroke-width:1.2;stroke-dasharray:2 3;opacity:.85}.connection-laneTie .connection-line{stroke-width:1.5;stroke-dasharray:3 3}.connection.selected .connection-line{stroke:var(--gold-hi)!important;stroke-width:2.5;opacity:1}.connection-hit{fill:none;stroke:transparent;stroke-width:12;pointer-events:stroke;cursor:pointer}.connection-hit:hover+.connection-line,.connection:hover .connection-line{stroke-width:2.5}.draft{fill:none;stroke:var(--gold);stroke-width:2;stroke-dasharray:6 4}.draft.valid{stroke:var(--c-environment)}.draft.refused{stroke:var(--c-error)}.canvas.linking,.canvas.linking *{cursor:crosshair!important}.pill-label{position:absolute;transform:translate(-50%,-50%);height:20px;padding:0 8px;border-radius:10px;background:var(--ground);border:1px solid var(--border);font-size:10.5px;display:flex;align-items:center;white-space:nowrap;color:var(--text);cursor:pointer}.pill-label.selected{border-color:var(--gold-hi)}.pill-label input{width:120px;font:inherit;color:var(--text);background:none;border:0;outline:none}.branch-hint{position:absolute;width:460px;font-size:12px;line-height:1.5;color:var(--muted);pointer-events:none}.port-ring{cursor:crosshair;z-index:1}.port-ring:hover{background:var(--gold);box-shadow:0 0 0 4px #c9a45c40}.node.choice .port-ring{right:-9px;width:12px;height:12px;margin-top:-6px}.node.pill .port-ring{right:-8px}.card-dialogue .card-kicker i{background:var(--c-dialogue)}.card-outcome{border-style:dashed!important;border-color:var(--border-strong)!important}.card-outcome .card-kicker i{background:var(--text)}.node.target-valid{outline:2px solid var(--c-environment);outline-offset:3px}.node.target-invalid{outline:2px solid var(--c-error);outline-offset:3px}.issue-badge{position:absolute;right:6px;top:-8px;width:16px;height:16px;border-radius:50%;background:var(--c-error);color:#fff;font-family:var(--font-ui);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:2}.impl-badge{position:absolute;left:6px;bottom:-5px;width:10px;height:10px;border-radius:50%;border:2px solid var(--bg, #0b0a07);pointer-events:auto}.impl-unbound{background:transparent;border-color:var(--muted)}.impl-implemented{background:var(--c-environment, #6fae5e)}.impl-needsUpdate{background:var(--c-choice, #f2c230)}.node.choice .issue-badge{right:-6px}.node.arc-event{border-radius:17px;background:var(--node);border:1.5px solid var(--lane);display:flex;align-items:center;gap:6px;padding:0 12px 0 10px;font-size:11px;font-weight:600}.node.arc-up{background:color-mix(in srgb,var(--lane) 14%,var(--node))}.arc-mark{color:var(--lane);font-size:14px;width:10px;display:flex;align-items:center;justify-content:center}.arc-mark i{width:8px;height:8px;transform:rotate(45deg);background:var(--lane)}.arc-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node.arc-event .node-input{width:64px;margin:0;font-size:11px}.node.arc-event.selected{box-shadow:0 0 0 2px var(--ground),0 0 0 3.5px var(--gold-hi)}.context-menu{position:absolute;z-index:30;min-width:180px;padding:4px;background:#26221a;border:1px solid var(--border-strong);border-radius:6px;box-shadow:0 12px 30px #0009;display:flex;flex-direction:column}.context-menu button{height:28px;padding:0 8px;border:0;border-radius:4px;background:none;text-align:left;font-size:12.5px;display:flex;align-items:center;gap:6px}.context-menu button:hover{background:#3a3222}.context-menu .danger{color:#f19a9d}.menu-check{width:12px;font-size:8px;color:var(--gold-hi)}.menu-sep{height:1px;margin:3px 4px;background:var(--border-strong)}.issues-btn{gap:8px}.issue-dot{width:8px;height:8px;border-radius:50%;background:var(--c-error)}.app.has-rail{grid-template-columns:48px 1fr}.palette.rail{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 16px}.rail-group{display:flex;flex-direction:column;align-items:center;gap:2px;padding-top:6px;margin-top:4px;border-top:1px solid var(--border)}.rail-btn{width:36px;height:36px;padding:0;border:0;border-radius:6px;background:none;color:var(--text-soft);display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none}.rail-btn:hover,.rail-btn.active{background:var(--node-raised)}.rail-btn.active{outline:1px dashed var(--gold-hi)}.palette-head{gap:8px}.palette-hint{margin-left:auto}.rail-toggle{width:22px;height:22px;padding:0;border:1px solid var(--border);border-radius:4px;background:var(--node);color:var(--muted);display:flex;align-items:center;justify-content:center}.crumbs{display:flex;align-items:center;gap:8px;margin-left:10px;font-size:13px;color:var(--muted);white-space:nowrap;min-width:0;overflow:hidden}.crumb{display:flex;align-items:center;gap:8px}.crumb-project{color:var(--text);font-weight:600}.crumb-link{border:0;background:none;padding:0;color:var(--gold-hi);display:flex;align-items:center;gap:6px}.crumb-link:hover{color:#f4dc98}.crumb-here{color:var(--text);display:flex;align-items:center;gap:6px}.view-toggle{display:flex;border:1px solid var(--border);border-radius:4px;overflow:hidden}.view-toggle button{height:30px;padding:0 12px;border:0;background:var(--node);color:var(--muted);font-size:12.5px}.view-toggle button+button{border-left:1px solid var(--border)}.view-toggle button.on{background:var(--node-raised);color:var(--gold-hi)}.quick-actions{position:absolute;height:28px;display:flex;gap:2px;padding:2px;background:var(--node-raised);border:1px solid var(--gold-lo);border-radius:5px;z-index:3}.quick-actions button{height:22px;padding:0 9px;border:0;border-radius:3px;background:none;font-size:11.5px;color:var(--text)}.quick-actions button.on{background:var(--gold);color:var(--ground);font-weight:600}.menu-heading{font-size:10.5px;letter-spacing:.14em;color:var(--muted);padding:4px 8px}.menu-note{margin-left:auto;font-size:11px;color:var(--muted)}.menu-empty{padding:4px 8px 6px;font-size:12px;color:var(--muted)}.menu-new{color:var(--gold-hi)!important}.menu-input{margin:2px 4px 4px;height:28px;padding:0 8px;font:inherit;font-size:12.5px;color:var(--text);background:var(--ground);border:1px solid var(--gold-lo);border-radius:4px;outline:none}.mono{font-family:var(--font-mono)}.workspace{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#100f0b}.workspace.dropping{cursor:copy}.stage{position:absolute;left:0;top:0;transform-origin:0 0}.stage-lines{position:absolute;pointer-events:none;fill:none}.stage-link{stroke-width:1.5;opacity:.35}.stage-link.live{opacity:.9}.stage-fan{stroke-width:1.5}.perimeter{position:absolute;width:150px;height:38px;border-radius:19px;background:var(--node);border:1px solid var(--border-strong);display:flex;align-items:center;gap:8px;padding:0 8px 0 12px;font-size:13px;color:var(--text);z-index:1}.perimeter:hover{border-color:var(--cat)}.perimeter.open{border:1.5px solid var(--cat);background:color-mix(in srgb,var(--cat) 12%,var(--node))}.perimeter.empty{border-style:dashed;color:var(--text-soft)}.perimeter.target{border:2px solid var(--cat);box-shadow:0 0 0 5px color-mix(in srgb,var(--cat) 30%,transparent),0 0 18px color-mix(in srgb,var(--cat) 55%,transparent)}.perimeter .cnt{margin-left:auto;min-width:22px;height:20px;padding:0 6px;border-radius:10px;background:#2c281c;font-family:var(--font-mono);font-size:11px;display:flex;align-items:center;justify-content:center;color:var(--text-soft)}.perimeter.open .cnt{background:var(--cat);color:var(--ground)}.chip-item{position:absolute;width:160px;height:34px;border-radius:8px;background:var(--node);border:1px solid var(--cat);display:flex;align-items:center;gap:8px;padding:0 10px;font-size:13px;cursor:pointer;z-index:1}.chip-item.selected{box-shadow:0 0 0 2px var(--ground),0 0 0 3.5px var(--gold-hi)}.chip-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.chip-line .chip-name{font-family:var(--font-script);font-size:12px}.chip-code{margin-left:auto;font-size:10.5px;color:var(--muted)}.chip-input{width:100%;min-width:0;font:inherit;font-size:12.5px;color:var(--text);background:var(--ground);border:1px solid var(--gold-hi);border-radius:3px;padding:1px 4px;outline:none}.chip-add-wrap{position:absolute;width:160px;z-index:2}.chip-add{width:160px;height:30px;border:1px dashed var(--border-strong);border-radius:8px;background:none;color:var(--muted);font-size:12px}.chip-add:hover{color:var(--text);border-color:var(--gold-lo)}.add-menu{position:absolute;left:0;top:34px;min-width:200px;padding:4px;background:#26221a;border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 12px 30px #0009;display:flex;flex-direction:column;gap:1px;z-index:20}.add-menu button{height:28px;padding:0 8px;border:0;border-radius:4px;background:none;text-align:left;font-size:12.5px;display:flex;align-items:center;gap:8px}.add-menu button:hover{background:#3a3222}.scene-box{position:absolute;left:0;top:0;background:var(--panel);border:1.5px solid var(--c-scene);border-radius:14px;box-shadow:0 20px 50px #0000008c;display:flex;flex-direction:column;overflow:hidden;-webkit-user-select:text;user-select:text;z-index:1}.scene-head{padding:14px 18px 10px;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid #2c281c}.scene-title{display:flex;align-items:center;gap:10px;min-width:0}.scene-code{font-size:12px;color:var(--muted)}.scene-name{font-size:18px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-name-input{font:inherit;font-size:17px;font-weight:600;color:var(--text);background:var(--ground);border:1px solid var(--gold-hi);border-radius:4px;padding:1px 6px;outline:none;min-width:0;flex:1}.status-chip{margin-left:auto;height:22px;padding:0 9px;border-radius:11px;border:0;background:#2c281c;color:var(--text-soft);font-size:11.5px;display:flex;align-items:center;white-space:nowrap}.status-inProgress{background:#2e2712;color:var(--gold-hi)}.status-complete{background:#1b2a18;color:#9fd08d}.scene-meta{display:flex;align-items:center;gap:6px}.scene-meta select,.location-input{height:26px;padding:0 8px;border:1px solid var(--border-strong);border-radius:6px;background:var(--node);color:var(--text);font:inherit;font-size:12px;color-scheme:dark}.scene-meta .location{max-width:170px}.location-input{width:160px;outline:none;border-color:var(--gold-hi)}.scene-tabs{display:flex;gap:2px}.scene-tabs button{padding:4px 9px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-size:12.5px}.scene-tabs button.on{border-bottom-color:var(--c-scene);color:var(--text)}.scene-body{flex:1;overflow-y:auto;padding:18px 40px 16px;min-height:0}.scene-field{width:100%;height:100%;min-height:200px;resize:none;border:0;outline:none;background:none;color:var(--text);font:inherit;font-size:14px;line-height:1.6}.script{display:flex;flex-direction:column;gap:14px;padding-bottom:200px}.script textarea,.script input{font-family:var(--font-script);color:var(--text);background:none;border:0;outline:none;resize:none;padding:0}.line textarea{width:100%;font-size:var(--script-size, 14px);line-height:1.5;overflow:hidden}.element{position:relative;display:flex;flex-direction:column}.element .field{position:relative;display:flex;align-items:center;gap:6px}.element textarea{width:100%;font-size:var(--script-size, 14px);line-height:1.5;overflow:hidden}.element textarea::placeholder{color:#5d5540}.script-style{position:sticky;top:0;height:0;margin-bottom:-14px;align-self:flex-end;z-index:5}.element-type{position:relative;top:-6px;width:104px;height:22px;padding:0 4px;border:1px solid var(--border-strong);border-radius:4px;background:#1f1b12;color:var(--muted);font-family:var(--font-ui);font-size:11px}.element-shot textarea,.element-transition textarea,.element-character textarea{text-transform:uppercase}.element-transition .field{justify-content:flex-end}.element-transition .cue-suggest{left:auto;right:0;transform:none;width:220px}.line-dialogue{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0;border-radius:8px}.line-dialogue:focus-within{background:#1f1b12;outline:1px solid #6b4a33}.line-dialogue .element{width:100%;align-items:center}.line-dialogue .element .field{justify-content:center}.line-meta{position:absolute;left:10px;top:8px;display:none;gap:4px;font-size:11px;color:var(--muted)}.line-meta span{padding:1px 6px;border:1px solid var(--border-strong);border-radius:4px}.line-dialogue:focus-within .line-meta{display:flex}.script textarea.line-cue{max-width:320px;height:24px;padding:0 6px;border:1px solid transparent;border-radius:6px;text-align:center;letter-spacing:.02em}.line-cue::placeholder{color:#5d5540}.line-dialogue:focus-within .line-cue,.line-cue:focus{border-color:var(--c-dialogue);background:#2a1d15}.line-cue.unnamed:not(:focus){border-color:#7a6533}.cue-suggest{position:absolute;left:50%;top:28px;transform:translate(-50%);width:240px;margin:0;padding:6px;list-style:none;background:#26221a;border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 12px 30px #0009;display:flex;flex-direction:column;gap:2px;z-index:10;font-family:var(--font-script)}.cue-suggest li{height:28px;padding:0 8px;border-radius:5px;display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.cue-suggest li.on,.cue-suggest li:hover{background:#3a3222}.cue-suggest .menu-note{margin-left:auto;font-family:var(--font-ui);font-size:11px;color:var(--muted)}.element .field.inked{display:grid;width:100%}.element .field.inked>.ink,.element .field.inked>textarea{grid-area:1 / 1 / 2 / 2;width:100%;min-width:0;margin:0;padding:0;font-family:var(--font-script);font-size:var(--script-size, 14px);line-height:1.5;text-align:inherit;text-transform:inherit;white-space:pre-wrap;overflow-wrap:break-word}.element .field.inked>.ink{pointer-events:none;color:var(--text)}.element .field.inked>textarea{color:transparent;caret-color:var(--text)}.element .field.inked>textarea::selection{background:#d6aa5a59}.element .ink .mark{opacity:.35}.element-shot .field.inked,.element-transition .field.inked{text-transform:uppercase}.element-dialogue .field.inked{width:340px;max-width:100%}.element-parenthetical .field.inked{width:240px;max-width:100%;text-align:center;font-size:calc(var(--script-size, 14px) - 1px)}.element-parenthetical .field.inked>.ink{color:#b5a985}.element-transition .field.inked{width:240px;margin-left:auto;text-align:right}.dual-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dual-row .element-dialogue .field.inked,.dual-row .element-parenthetical .field.inked{width:100%;max-width:30ch}.dual-toggle{width:22px;height:20px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--muted);font-size:12px;opacity:0;cursor:pointer}.line-dialogue:hover .dual-toggle,.line-dialogue:focus-within .dual-toggle,.dual-toggle.on{opacity:1}.dual-toggle.on{color:var(--c-dialogue);border-color:#6b4a33}.extension-menu{position:absolute;z-index:60;top:28px;left:50%;transform:translate(-50%);width:min(420px,90vw);max-height:320px;overflow-y:auto;padding:6px;background:#26221a;border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 12px 30px #0009;font-family:var(--font-ui)}.extension-menu h5{margin:6px 4px 3px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--c-dialogue)}.extension-item{display:grid;grid-template-columns:110px 1fr;grid-template-areas:"mark term" "mark what";gap:0 8px;width:100%;text-align:left;padding:5px 6px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text);font-family:inherit;cursor:pointer}.extension-item:hover,.extension-item:focus-visible{border-color:#6b4a33;background:#3a3222;outline:none}.extension-mark{grid-area:mark;align-self:center;font-family:var(--font-script);font-size:12px;color:var(--c-dialogue)}.extension-term{grid-area:term;font-size:12px}.extension-what{grid-area:what;font-size:10.5px;color:var(--muted)}.script-empty{padding:40px 0;text-align:center;color:var(--muted)}.script-empty p{margin:0 0 14px;font-size:13px}.script-empty-actions{display:flex;gap:8px;justify-content:center}.script-footer{height:40px;padding:0 14px;display:flex;align-items:center;gap:6px;border-top:1px solid #2c281c;font-size:12px;color:var(--muted)}.script-footer button{padding:2px 8px;border:0;border-radius:4px;background:#2c281c;color:var(--text);font-size:12px}.script-footer>span:first-child,.script-keys{white-space:nowrap}.script-keys{margin-left:auto;font-size:10.5px}.exploded{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background-color:var(--ground);background-image:radial-gradient(var(--grid-dot) 1.2px,transparent 1.2px);touch-action:none}.exploded.dropping{cursor:copy}.wire{fill:none;stroke-width:2}.wire.ghost{stroke-dasharray:5 4}.exploded-scene{position:absolute;left:0;top:0;background:#132422;border:2px solid var(--c-scene);border-radius:10px;box-shadow:0 20px 50px #0000008c}.exploded-scene-body{position:absolute;left:100px;right:100px;top:22px;display:flex;flex-direction:column;gap:12px}.exploded-scene-body .slug{font-size:11.5px;color:#8fcfc6}.excerpt{margin:0;font-family:var(--font-script);font-size:13px;line-height:1.5;color:#e6dcc3;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.exploded-chips{display:flex;gap:6px;flex-wrap:wrap}.exploded-chips .status-chip{margin-left:0}.chip-soft{height:22px;padding:0 9px;border-radius:11px;background:#1d3330;font-size:11px;display:flex;align-items:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exploded-scene-foot{position:absolute;left:100px;right:100px;bottom:22px;display:flex;align-items:center;gap:10px}.exploded-scene-foot .hint{margin-left:auto;font-size:11px;color:var(--muted)}.port{position:absolute;width:18px;height:18px;border-radius:50%;border:3px solid #16140f;box-shadow:0 0 0 1.5px #ffffff1f;z-index:1}.port.idle{opacity:.55}.port.lit{opacity:1;box-shadow:0 0 0 5px color-mix(in srgb,var(--cat) 30%,transparent),0 0 18px color-mix(in srgb,var(--cat) 60%,transparent)}.port-label{position:absolute;font-family:var(--font-label);font-size:8.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;pointer-events:none}.port-left{transform:translate(16px,-50%)}.port-right{transform:translate(calc(-100% - 16px),-50%)}.port-top{transform:translate(14px,10px)}.port-bottom{transform:translate(14px,calc(-100% - 10px))}.element-box{position:absolute;background:var(--node);border:1px solid color-mix(in srgb,var(--cat) 45%,var(--border));border-radius:6px;box-shadow:0 6px 16px #00000073;padding:9px 10px;display:flex;flex-direction:column;gap:4px;cursor:pointer}.element-box.selected{border:2px solid var(--gold-hi);box-shadow:0 0 0 4px #e8c87226,0 6px 16px #00000073}.element-box.ghost{border:1.5px dashed var(--cat);background:color-mix(in srgb,var(--cat) 12%,transparent);opacity:.9;pointer-events:none}.box-kicker{display:flex;align-items:center;gap:6px;font-family:var(--font-label);font-size:8.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.box-name{font-size:13px;font-weight:600;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.box-input{font:inherit;font-size:12.5px;font-weight:600;color:var(--text);background:var(--ground);border:1px solid var(--gold-hi);border-radius:3px;padding:1px 4px;outline:none;min-width:0}.box-sub{font-size:10.5px;color:var(--muted);line-height:1.35}.box-line{font-size:10.5px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.box-line b{color:var(--c-dialogue)}.box-dot{position:absolute;width:12px;height:12px;border-radius:50%;border:2px solid var(--ground)}.box-remove{position:absolute;right:6px;top:6px;width:18px;height:18px;padding:0;border:1px solid var(--border-strong);border-radius:4px;background:var(--panel);color:var(--text-soft);font-size:12px;line-height:1}.box-remove:hover{color:#f19a9d;border-color:#7a3336}.exploded-legend{position:absolute;left:20px;bottom:14px;font-size:12px;color:var(--muted);pointer-events:none}.gold-btn{height:34px;padding:0 14px;border:1px solid var(--gold-lo);border-radius:4px;background:var(--gold-gradient);color:var(--ground);font-size:12.5px;font-weight:600;display:flex;align-items:center;gap:6px}.tb-btn.small{height:28px;font-size:12px;padding:0 10px}.icon-btn.small{width:28px;height:28px;font-size:14px}.timeline-strip{position:absolute;left:0;right:0;bottom:0;height:52px;padding:0 16px;display:flex;align-items:center;gap:14px;background:var(--panel);border-top:1px solid var(--border);z-index:3}.strip-open{border:0;background:none;padding:0;color:var(--gold-hi);font-family:var(--font-label);font-size:11.5px;font-weight:600;letter-spacing:.16em;display:flex;align-items:center;gap:6px}.strip-summary{font-size:12px;color:var(--muted)}.strip-blocks{display:flex;align-items:center;gap:3px;min-width:0;overflow:hidden}.strip-block{width:12px;height:10px;border-radius:2px;flex:none;background:var(--text-soft)}.strip-cinematic{width:26px;background:var(--c-cinematic)}.strip-dialogue{background:var(--c-dialogue)}.strip-interaction{width:16px;background:var(--c-object)}.strip-freePlay{width:60px;background:repeating-linear-gradient(135deg,var(--c-scene) 0 4px,#1d3330 4px 8px)}.strip-choice{width:10px;border-radius:50%;background:var(--c-choice)}.strip-trigger{width:9px;height:9px;transform:rotate(45deg);border:1.5px solid var(--c-logic);background:none}.timeline-view{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(260px,43%) minmax(0,1fr)}.timeline{position:relative;display:flex;flex-direction:column;min-height:0;background-color:var(--ground);background-image:radial-gradient(var(--grid-dot) 1.2px,transparent 1.2px);background-size:24px 24px}.timeline-head{height:40px;flex:none;padding:0 24px;display:flex;align-items:center;gap:14px;border-bottom:1px solid #22201a;background:#0f0d09}.lbl{font-family:var(--font-label);font-size:10.5px;font-weight:700;letter-spacing:.18em;color:var(--text);text-transform:uppercase}.timeline-hint{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.check{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-soft);white-space:nowrap}.check input{accent-color:var(--gold)}.event-menu-wrap{position:relative}.event-menu{left:auto;right:0}.entry,.arrow,.exit{font-size:11px}.entry{color:#7fae68}.arrow{color:#6b6454}.exit{color:var(--gold)}.tracks{position:relative;flex:1;overflow:auto;min-height:0}.tracks-inner{position:relative}.track-band{position:absolute;left:0;right:0;border-top:1px solid var(--gold-lo);border-bottom:1px solid var(--gold-lo);background:#c9a45c0a}.track-band.branch{border-color:#5a4a1a;background:#f2c23006}.track-label{position:absolute;font-family:var(--font-label);font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);white-space:nowrap}.track-label.branch{color:#b39447}.timeline-links{position:absolute;left:0;top:0;pointer-events:none;fill:none}.branch-out{stroke:var(--c-choice);stroke-width:2}.branch-back{stroke:#b39447;stroke-width:1.8;stroke-dasharray:6 4}.branch-note{position:absolute;font-size:11px;color:#b39447;white-space:nowrap}.ev{position:absolute;border-radius:6px;padding:7px 9px;display:flex;flex-direction:column;gap:2px;overflow:hidden;cursor:grab;background:var(--node);border:1.5px solid var(--text-soft)}.ev.dragging{cursor:grabbing;opacity:.85;box-shadow:0 10px 24px #0009}.ev .ek{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;white-space:nowrap;color:var(--text-soft)}.ev .et{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ev .es{font-size:11px;color:#b5a985;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ev-cinematic{background:#1d1828;border-color:var(--c-cinematic)}.ev-cinematic .ek{color:#c3b0dd}.ev-dialogue{background:#2a1d15;border-color:var(--c-dialogue)}.ev-dialogue .ek{color:#f0b08a}.ev-interaction{border-color:var(--c-object)}.ev-interaction .ek{color:#8fb4ea}.ev-trigger{border-color:var(--c-logic);border-radius:14px}.ev-encounter{background:#2a1614;border-color:var(--c-encounter)}.ev-encounter .ek{color:#f19a93}.ev-freePlay{background:repeating-linear-gradient(135deg,#1a2e2b 0,#1a2e2b 8px,#142321 8px,#142321 16px);border:1.5px dashed var(--c-scene);border-right:0;border-radius:6px 0 0 6px}.ev-freePlay .ek{color:#8fcfc6}.ev.conditional{border-style:dashed}.ev.selected{border:2px solid var(--gold-hi);box-shadow:0 0 0 4px #e8c8722e}.ev-dual{position:absolute;display:flex;gap:6px;padding:0;border-radius:8px;outline:1px dashed var(--c-dialogue);outline-offset:3px}.ev-dual>.ev{position:relative;min-width:0;height:100%}.ev-dual-tag{position:absolute;top:-11px;transform:translate(-50%);padding:0 6px;border-radius:8px;background:#2a1d15;border:1px solid var(--c-dialogue);color:#f0b08a;font-size:11px;line-height:16px;pointer-events:none}.ev-choice{position:absolute;height:32px;border-radius:50%;background:var(--c-choice);box-shadow:0 0 0 4px var(--ground);cursor:grab}.ev-choice.selected{box-shadow:0 0 0 3px var(--ground),0 0 0 5px var(--gold-hi)}.ev-choice-label{position:absolute;font-size:11px;color:var(--c-choice);white-space:nowrap;pointer-events:none}.exit-pill{position:absolute;height:32px;padding:0 12px;display:flex;align-items:center;border-radius:16px;background:#2e2712;color:var(--gold-hi);font-size:11.5px;white-space:nowrap}.timeline-empty{position:absolute;font-size:12.5px;color:var(--muted)}.insert-mark{position:absolute;width:3px;border-radius:2px;background:var(--gold-hi);box-shadow:0 0 8px #e8c87299;pointer-events:none;z-index:6}.timeline-lower{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr);min-height:0;border-top:1px solid var(--border)}.timeline-panel{position:relative;min-height:0;border-right:1px solid var(--border)}.exploded.as-panel{background-image:radial-gradient(var(--grid-dot) 1px,transparent 1px)}.panel-head{position:absolute;left:0;right:0;top:0;height:44px;padding:0 12px 0 16px;display:flex;align-items:center;gap:8px;background:var(--panel);border-bottom:1px solid var(--border);z-index:4}.panel-title{font-family:var(--font-label);font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.panel-hint{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.element-box.lit{border:2px solid var(--gold-hi);box-shadow:0 0 0 4px #e8c87233,0 6px 16px #00000073}.inspector{min-height:0;overflow-y:auto;background:var(--panel);padding:18px 22px;display:flex;flex-direction:column;gap:14px;-webkit-user-select:text;user-select:text}.insp-head{display:flex;align-items:center;gap:10px}.insp-title{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.insp-id{font-size:11px;color:var(--muted);white-space:nowrap}.insp-remove{margin-left:auto}.by-effect{flex-wrap:wrap;white-space:normal;margin-bottom:8px}.insp-note{margin:0 0 6px;font-size:12px;line-height:1.5;color:var(--muted)}.insp-empty{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}.insp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fld{display:flex;flex-direction:column;gap:5px;min-width:0}.fld>span:first-child{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.inp{width:100%;min-height:32px;padding:6px 10px;border:1px solid var(--border);border-radius:4px;background:var(--ground);color:var(--text);font:inherit;font-size:13px;outline:none;color-scheme:dark;min-width:0}.inp:focus{border-color:var(--gold-lo)}textarea.inp{resize:vertical;line-height:1.5}.inp.static{display:flex;align-items:center;color:var(--text-soft)}.script-font{font-family:var(--font-script);font-size:14px}.chips{display:flex;gap:6px;flex-wrap:wrap}.vo-chip{height:24px;padding:0 10px;border-radius:12px;border:1px solid var(--border);background:none;font-size:12px;color:var(--text-soft)}.vo-chip.on.vo-todo{background:#3a2a10;border-color:#5a4a1a;color:var(--c-choice)}.vo-chip.on.vo-recorded{background:#1b2a18;border-color:#3f5a38;color:#9fd08d}.vo-chip.on.vo-none{background:var(--node);border-color:var(--border-strong);color:var(--text)}.branches{display:flex;flex-direction:column;gap:12px}.branch-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 28px;gap:6px;align-items:center}.branches .tb-btn.small{align-self:flex-start}.app.no-palette{grid-template-columns:0 1fr}.back-btn{color:var(--gold-hi)}.detail{display:flex;flex-direction:column;gap:14px;-webkit-user-select:text;user-select:text}.detail-panel{position:absolute;right:16px;top:16px;bottom:16px;width:340px;padding:14px;overflow-y:auto;background:var(--panel);border:1px solid var(--gold-lo);border-radius:8px;box-shadow:0 16px 40px #0009;z-index:25}.workspace .detail-panel{bottom:68px}.detail-head{display:flex;align-items:center;gap:10px}.detail-symbol.big{width:52px;height:52px;flex:none;border-radius:10px;background:var(--node);border:1px solid var(--border);display:flex;align-items:center;justify-content:center}.detail-names{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.detail-name{font:inherit;font-size:15px;font-weight:600;color:var(--text);background:none;border:1px solid transparent;border-radius:4px;padding:2px 4px;margin-left:-5px;outline:none;min-width:0}.detail-bible .detail-name{font-size:22px}.detail-name:hover,.detail-name:focus{border-color:var(--border);background:var(--ground)}.detail-name.static:hover{border-color:transparent;background:none}.detail-kind{font-size:12px;color:var(--muted)}.detail-section{display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px solid var(--border)}.detail-section h3{margin:0;font-family:var(--font-label);font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.detail-section.in-scene h3{color:var(--c-scene)}.dgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.detail-bible .dgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.dfld{display:flex;flex-direction:column;gap:5px;min-width:0}.dfld>span:first-child{font-family:var(--font-label);font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.detail-text{font-size:12.5px;color:var(--text-soft)}.detail-text.muted{color:var(--muted)}.detail-warn{font-size:12.5px;color:#f19a9d}.state-list{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.state-item{display:flex;align-items:center;gap:2px}.state-arrow{color:var(--muted);margin:0 4px}.state-chip{height:24px;padding:0 9px;border-radius:4px;background:var(--node);border:1px solid var(--border);font-size:12px}.state-chip.start{background:#14233a;border-color:var(--c-object)}.state-x{width:16px;height:16px;padding:0;border:0;background:none;color:var(--muted);font-size:12px}.state-x:hover{color:#f19a9d}.state-new{width:100px;min-height:24px;padding:2px 6px}.chip-add.small{width:auto;height:24px;padding:0 10px;font-size:11.5px;align-self:flex-start}.interaction{display:flex;flex-direction:column;gap:5px;padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--node)}.interaction-row{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.interaction-row select.inp{min-width:110px}.interaction-row .inp{min-height:28px;padding:3px 6px;font-size:12px;flex:1}.interaction-row .verb{flex:0 0 72px}.interaction-says{font-size:11.5px;color:var(--text-soft)}.tag-list{display:flex;flex-wrap:wrap;gap:5px}.tag{height:22px;padding:0 8px;border-radius:4px;border:1px solid var(--border);background:none;font-size:11.5px;color:var(--muted)}.tag.on{background:#2c281c;border-color:var(--gold-lo);color:var(--text)}.use{display:flex;align-items:center;gap:8px;padding:7px 8px;border:1px solid var(--border);border-radius:6px;background:var(--node);text-align:left;font-size:12.5px;min-width:0}.use:hover:not(:disabled){border-color:var(--gold-lo)}.use:disabled{cursor:default}.use-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--gold-hi)}.use-detail{margin-left:auto;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.detail-actions{display:flex;gap:6px}.element-box .issue-badge{right:auto;left:-8px}.bible{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:240px minmax(300px,380px) minmax(0,1fr);background:var(--ground)}.bible-views{background:var(--panel);border-right:1px solid var(--border);padding:14px 10px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.bible-views-title{padding:0 8px 8px;color:var(--gold)}.bible-view{height:32px;padding:0 8px;border:0;border-radius:5px;background:none;display:flex;align-items:center;gap:8px;font-size:13px;text-align:left;color:var(--text-soft)}.bible-view:hover{background:var(--node)}.bible-view.on{background:var(--node-raised);color:var(--text);box-shadow:inset 2px 0 0 var(--gold)}.bible-count{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--muted)}.bible-count.warn{color:#f19a9d}.bible-list{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border);background:#0f0d09}.bible-list-head{display:flex;align-items:center;gap:8px;padding:14px 16px 10px}.bible-list-title{font-size:15px;font-weight:600}.view-toggle.small button{height:26px;font-size:12px;padding:0 10px}.bible-search{display:flex;align-items:center;gap:8px;margin:0 16px 8px;height:32px;padding:0 10px;border:1px solid var(--border);border-radius:4px;background:var(--ground);color:var(--muted)}.bible-search input{flex:1;border:0;background:none;outline:none;color:var(--text);font:inherit;font-size:13px;min-width:0}.bible-rows{flex:1;overflow-y:auto;padding:0 10px 16px}.bible-group{padding:12px 6px 6px;color:var(--muted)}.bible-row{width:100%;display:flex;align-items:center;gap:10px;padding:8px;border:1px solid transparent;border-radius:6px;background:none;text-align:left}.bible-row:hover{background:var(--node)}.bible-row.on{background:var(--node-raised);border-color:var(--gold-lo)}.bible-row-main{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.bible-row-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bible-row-sub{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bible-row-sub.warn{color:#f19a9d}.bible-row-code{font-size:10.5px;color:var(--muted)}.bible-new{width:100%;margin-top:8px}.bible-empty{padding:16px 8px;font-size:13px;color:var(--muted)}.bible-detail{display:flex;flex-direction:column;min-height:0;min-width:0}.bible-toolbar{display:flex;align-items:center;gap:8px;padding:10px 20px;border-bottom:1px solid var(--border)}.export-wrap{position:relative}.export-menu{left:auto;right:0;min-width:260px}.bible-detail-body{flex:1;overflow-y:auto;padding:22px 28px 40px;display:flex;flex-direction:column;gap:16px;max-width:880px}.vo-meter{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;font-size:12px}.vo-bar{height:6px;border-radius:3px;background:var(--node);overflow:hidden}.vo-bar div{height:100%;background:var(--gold)}.report-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0b0a07bf;display:flex;justify-content:center;padding:24px}.report-frame{width:min(900px,100%);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--gold-lo);border-radius:8px;overflow:hidden}.report-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border)}.report-bar-title{font-size:13px;color:var(--text-soft)}.report{flex:1;overflow-y:auto;padding:40px 56px;background:#f7f3ea;color:#1d1a13;font-family:var(--font-ui);font-size:12.5px;line-height:1.5;-webkit-user-select:text;user-select:text}.report-head{display:flex;flex-direction:column;gap:4px;padding-bottom:14px;margin-bottom:18px;border-bottom:2px solid #8a6f2f}.report-project{font-family:var(--font-label);font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#8a6f2f}.report h1{margin:0;font-family:var(--font-label);font-size:22px;letter-spacing:.06em;text-wrap:balance}.report-date{font-size:11px;color:#6b6454}.report h2{margin:22px 0 8px;font-size:15px;display:flex;align-items:baseline;gap:10px;break-after:avoid}.report-note{font-family:var(--font-mono);font-size:11px;font-weight:400;color:#6b6454}.report p{margin:0 0 10px;max-width:68ch}.report dl{margin:0 0 10px;display:grid;grid-template-columns:max-content 1fr;gap:3px 16px}.report dl div{display:contents}.report dt{color:#6b6454}.report dd{margin:0}.report table{width:100%;border-collapse:collapse;margin:4px 0 14px;font-size:12px}.report th{text-align:left;font-weight:600;border-bottom:1.5px solid #1d1a13;padding:5px 8px 4px 0}.report td{border-bottom:1px solid #d9d2c1;padding:5px 8px 5px 0;vertical-align:top}@media print{body *{visibility:hidden}.report,.report *{visibility:visible}.report{position:absolute;left:0;top:0;width:100%;overflow:visible;padding:0}}.handoff{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:minmax(300px,440px) minmax(0,1fr) minmax(320px,440px);background:var(--ground)}.handoff.no-code{grid-template-columns:minmax(300px,440px) minmax(0,1fr)}.handoff-target{display:flex;flex-direction:column;gap:12px;padding:20px 24px;background:var(--panel);border-right:1px solid var(--border);overflow-y:auto;min-height:0}.handoff-target>.lbl{color:var(--muted);margin-top:4px}.engines{display:flex;flex-direction:column;gap:10px}.engine{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--border);border-radius:4px;background:var(--node);text-align:left}.engine.on{border-color:var(--gold);background:var(--node-raised)}.engine:disabled{cursor:default}.engine:disabled .engine-names{opacity:.7}.radio{width:16px;height:16px;flex:none;border-radius:50%;border:2px solid var(--border-strong)}.engine.on .radio{border-color:var(--gold);box-shadow:inset 0 0 0 3px var(--node-raised),inset 0 0 0 8px var(--gold)}.engine-names{display:flex;flex-direction:column;gap:2px}.engine-name{font-size:14px;font-weight:600}.engine-lang{font-size:12px;color:var(--muted)}.engine-state{margin-left:auto;font-size:11.5px;color:#9fd08d}.engine-state.later{color:var(--muted);font-style:italic}.kv{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:8px 0;border-bottom:1px solid #22201a;font-size:13px;color:var(--muted)}.kv>span:first-child{white-space:nowrap}.kv-value{display:flex;align-items:center;gap:8px;color:var(--text);min-width:0;text-align:right}.kv-value.muted{color:var(--muted)}.kv .inp.small{width:220px;min-height:28px;padding:3px 8px;font-size:12px;text-align:right}.folder{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}.toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:38px;height:22px;border-radius:11px;background:var(--node);border:1px solid var(--border-strong);position:relative;cursor:pointer}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:transform .15s}.toggle:checked{background:var(--gold);border-color:var(--gold-lo)}.toggle:checked:after{transform:translate(16px);background:var(--ground)}@media (prefers-reduced-motion: reduce){.toggle:after{transition:none}}.setup ol{margin:6px 0 0;padding-left:18px;font-size:12px;line-height:1.5;color:var(--text-soft)}.handoff-note{margin:0;font-size:12px;color:var(--muted)}.handoff-note.warn{color:#f19a9d}.handoff-note.center{text-align:center}.handoff-issue{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid #7a3336;border-radius:6px;background:#1f1414;font-size:13px;line-height:1.5}.handoff-issue.blocking{background:#2a1414}.issue-badge.static{position:static;flex:none;margin-top:2px}.link-btn{border:0;padding:0;background:none;color:var(--gold-hi);font:inherit}.send-btn{height:52px;border:1px solid var(--gold-lo);border-radius:4px;background:var(--gold-gradient);color:var(--ground);font-family:var(--font-label);font-weight:700;font-size:14px;letter-spacing:.2em;display:flex;align-items:center;justify-content:center;text-decoration:none}.send-btn:disabled{opacity:.5;cursor:default}a.send-btn:hover{color:var(--ground)}.handoff-elements{display:flex;flex-direction:column;min-height:0;min-width:0}.handoff-head{display:flex;align-items:center;gap:8px;padding:18px 20px;border-bottom:1px solid var(--border)}.handoff-title{font-size:17px;font-weight:600}.st{height:24px;padding:0 10px;border-radius:12px;font-size:12px;display:inline-flex;align-items:center;justify-self:start;white-space:nowrap}.st.ok{background:#1b2a18;color:#9fd08d}.st.chg{background:#2e2712;color:var(--gold-hi)}.st.err{background:#3a1c1c;color:#f19a9d}.handoff-table{flex:1;overflow-y:auto;padding-bottom:20px}.handoff-row{display:grid;grid-template-columns:20px minmax(0,1.1fr) minmax(0,1.3fr) 110px 34px;align-items:center;gap:12px;padding:0 20px;height:52px;border-bottom:1px solid #22201a;font-size:13.5px;cursor:pointer}.handoff-row:hover{background:#14120c}.handoff-row.on{background:var(--node-raised);box-shadow:inset 0 0 0 1px var(--gold-lo)}.handoff-row.head{height:38px;cursor:default;font-family:var(--font-label);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);background:none}.h-name,.h-gen{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.h-gen{color:var(--text-soft)}.handoff-group{padding:14px 20px 6px;color:var(--muted)}.code-btn{width:30px;height:26px;padding:0;border:1px solid var(--border);border-radius:4px;background:none;font-family:var(--font-mono);font-size:11px;color:var(--text-soft)}.handoff-row.on .code-btn{border-color:var(--gold);color:var(--gold-hi)}.handoff-later{padding:40px;max-width:560px}.handoff-later h2{margin:0 0 10px;font-size:18px}.handoff-later p{color:var(--text-soft);line-height:1.6}.handoff-code{display:flex;flex-direction:column;min-height:0;background:var(--panel);border-left:1px solid var(--border)}.code-head{display:flex;align-items:center;gap:8px;padding:14px 16px}.muted{color:var(--muted)}.small{font-size:12px}.code-tabs{display:flex;gap:4px;padding:0 16px 10px;border-bottom:1px solid var(--border);overflow-x:auto}.code-tabs button{height:26px;padding:0 10px;border:0;border-radius:4px;background:none;font-family:var(--font-mono);font-size:11.5px;color:var(--muted);white-space:nowrap}.code-tabs button.on{background:#2e2712;color:var(--gold-hi)}.code{flex:1;margin:0;padding:16px;overflow:auto;font-family:var(--font-mono);font-size:12px;line-height:1.55;color:var(--text-soft);-moz-tab-size:4;tab-size:4;-webkit-user-select:text;user-select:text;white-space:pre}.code-foot{margin:0;padding:14px 16px;border-top:1px solid var(--border);font-size:12px;line-height:1.5;color:var(--muted)}.show-code{position:absolute;right:16px;top:14px}.sample-card{position:absolute;left:24px;top:16px;z-index:7;display:flex;align-items:center;gap:12px;padding:10px 12px 10px 14px;background:var(--panel);border:1px solid var(--gold-lo);border-radius:6px;font-size:12.5px;color:var(--text-soft);box-shadow:0 8px 22px #00000080}.rule{display:flex;flex-direction:column;gap:5px;padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--node);min-width:0}.rule.nested{padding:6px;background:var(--ground);border-style:dashed}.rule-head{display:flex;flex-direction:column;gap:2px}.rule-label{font-family:var(--font-label);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.rule-says{font-size:11.5px;color:var(--text-soft);line-height:1.4}.rule-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.rule-row .inp,.rule-match .inp{flex:1 1 90px;min-height:26px;padding:2px 6px;font-size:12px;width:auto}.rule-row .inp.num{flex:0 0 58px}.rule-row.broken .inp{border-color:var(--c-error)}.rule-match{display:flex}.rule-group{padding-left:8px;border-left:2px solid var(--gold-lo)}.rule-add{display:flex;gap:5px}.interaction-more{display:flex;flex-direction:column;gap:6px}.interaction-more>summary{cursor:pointer;font-size:11.5px;color:var(--muted);padding:2px 0}.interaction-more[open]>summary{margin-bottom:6px}.interaction-more[open]{display:flex}.interaction-more>.rule+.rule{margin-top:6px}.branch-item{display:flex;flex-direction:column;gap:4px;padding-bottom:6px;border-bottom:1px solid var(--border)}.rules-popover{position:absolute;z-index:31;width:340px;max-height:70vh;overflow:auto;padding:10px;display:flex;flex-direction:column;gap:8px;background:#26221a;border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 12px 30px #0009}.rules-popover-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;color:var(--text)}.pill-if{margin-right:4px;color:var(--gold-hi);font-size:10px}.menubar{display:flex;align-items:center;gap:1px;margin-left:4px}.menu-root{position:relative}.menu-title{height:26px;padding:0 9px;border:0;border-radius:4px;background:none;color:var(--text-soft);font-size:12.5px}.menu-title:hover,.menu-title.open{background:var(--node-raised);color:var(--text)}.menu-dropdown{position:absolute;top:calc(100% + 6px);left:0}.menu-list{min-width:232px;padding:4px;background:#26221a;border:1px solid var(--border-strong);border-radius:6px;box-shadow:0 12px 30px #0009;display:flex;flex-direction:column}.menu-list.submenu{position:absolute;top:-5px;left:calc(100% + 2px)}.menu-entry{position:relative}.menu-list button{width:100%;height:28px;padding:0 8px 0 4px;border:0;border-radius:4px;background:none;color:var(--text);font-size:12.5px;display:flex;align-items:center;gap:6px;text-align:left;white-space:nowrap}.menu-list button:hover:not(:disabled),.menu-list button:focus-visible,.menu-list button[aria-expanded=true]{background:var(--node-raised);outline:none}.menu-list button:disabled{color:var(--muted);opacity:.6}.menu-list .menu-check{width:14px;color:var(--gold-hi);text-align:center;flex:none}.menu-label{flex:1;overflow:hidden;text-overflow:ellipsis}.menu-shortcut{margin-left:18px;color:var(--muted);font-family:var(--font-mono);font-size:11px}.menu-arrow{color:var(--muted);font-size:10px}.menu-list .menu-sep{height:1px;margin:4px 6px;background:var(--border)}.menu-list .menu-heading{padding:6px 8px 2px 24px;font-family:var(--font-label);font-size:9.5px;letter-spacing:.14em;color:var(--gold)}.save-edited .save-dot,.save-draft .save-dot{background:var(--gold)}.save-state[title]{cursor:help}.dialog.wide{width:min(680px,calc(100% - 32px))}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-actions .grow{flex:1}.tb-btn.primary{border-color:var(--gold-lo);color:var(--gold-hi)}a.tb-btn{text-decoration:none}.dialog-text{margin:0;font-size:13px;line-height:1.5;color:var(--text-soft)}.prefs{display:flex;flex-direction:column;max-height:min(64vh,560px);overflow:auto;margin:0 -4px;padding:0 4px}.prefs h3,.shortcuts h3{margin:12px 0 4px;font-family:var(--font-label);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.prefs h3:first-child{margin-top:2px}.pref-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid var(--border);font-size:13px}.pref-text{display:flex;flex-direction:column;gap:2px;min-width:0}.pref-hint{font-size:11.5px;color:var(--muted)}.pref-select{width:auto;flex:0 0 auto;min-height:28px;padding:2px 8px;font-size:12.5px}.pref-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;width:32px;height:18px;border-radius:9px;background:var(--border-strong);position:relative;cursor:pointer;transition:background .15s}.pref-switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text-soft);transition:transform .15s}.pref-switch:checked{background:var(--gold-lo)}.pref-switch:checked:after{transform:translate(14px);background:var(--gold-hi)}.pref-switch:focus-visible{outline:2px solid var(--gold-hi);outline-offset:2px}.shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:4px 24px;max-height:min(66vh,600px);overflow:auto}.shortcuts dl{margin:0}.shortcut-row{display:flex;gap:10px;padding:4px 0;font-size:12.5px;color:var(--text-soft)}.shortcut-row dt{flex:0 0 118px}.shortcut-row dd{margin:0}kbd{display:inline-block;padding:1px 6px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:4px;background:var(--node);font-family:var(--font-mono);font-size:11px;color:var(--text)}.about{display:flex;flex-direction:column;gap:8px}.about-brand{font-family:var(--font-label);font-weight:700;font-size:18px;letter-spacing:.22em;color:var(--gold)}.about a{color:var(--gold-hi)}.app.no-grid .canvas,.app.no-grid .exploded,.app.no-grid .timeline{background-image:none}.topbar>:not(.crumbs):not(.grow){flex-shrink:0}.view-toggle button,.save-state,.menu-title{white-space:nowrap}.crumbs{flex:0 1 auto;overflow:hidden}.crumb{flex-shrink:0}.crumb-project,.crumb:last-child{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.crumb-project{min-width:40px}.crumb:last-child .crumb-here,.crumb:last-child .crumb-link{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}@media (max-width: 1500px){.topbar.has-crumbs .brand,.topbar.has-crumbs .back-btn .back-to,.topbar.has-crumbs .save-label{display:none}.topbar .view-toggle button{padding:0 9px}}.search-btn{min-width:150px;justify-content:flex-start;color:var(--muted)}.search-btn kbd{margin-left:auto}.search-backdrop{align-items:flex-start;padding-top:72px}.search-palette{width:min(620px,calc(100% - 32px));background:var(--panel);border:1px solid var(--gold-lo);border-radius:8px;box-shadow:0 18px 44px #000000a6;display:flex;flex-direction:column;overflow:hidden}.search-field{display:flex;align-items:center;gap:10px;padding:0 14px;height:48px;color:var(--muted);border-bottom:1px solid var(--border)}.search-field input{flex:1;min-width:0;border:0;background:none;color:var(--text);font:inherit;font-size:15px;outline:none}.search-results{list-style:none;margin:0;padding:4px;max-height:min(56vh,480px);overflow:auto}.search-result{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:5px;cursor:pointer}.search-result.active{background:var(--node-raised)}.search-text{display:flex;flex-direction:column;min-width:0;flex:1}.search-label,.search-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-label{font-size:13px;color:var(--text)}.search-detail{font-size:11.5px;color:var(--muted)}.search-snippet{color:var(--text-soft)}.search-go{flex:none;font-size:11px;color:var(--gold-hi)}.search-empty{padding:14px 10px;font-size:13px;color:var(--muted)}.search-foot{display:flex;gap:16px;padding:8px 14px;border-top:1px solid var(--border);font-size:11px;color:var(--muted)}.window-chip{padding:2px 8px;border:1px solid var(--gold-lo);border-radius:10px;font-family:var(--font-label);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-hi);white-space:nowrap}.window-waiting{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--muted);font-size:13px}@media (max-width: 1500px){.search-btn{min-width:0}.search-btn kbd{display:none}}.dialog-list{margin:0;padding-left:18px;font-size:12.5px;line-height:1.5;color:var(--text-soft);display:flex;flex-direction:column;gap:3px}.detail-delete{margin-left:auto}.play-view{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:minmax(0,1fr) 320px;background:var(--ground)}.play-stage{display:flex;flex-direction:column;min-height:0;position:relative;border-right:1px solid var(--border)}.play-bar{display:flex;align-items:center;gap:8px;padding:10px 20px;border-bottom:1px solid var(--border);background:var(--panel)}.play-bar .grow{flex:1}.play-where{font-size:12.5px;color:var(--text-soft)}.play-codex{position:absolute;z-index:5;top:52px;left:max(24px,calc(50% - 360px));right:max(24px,calc(50% - 360px));max-height:calc(100% - 140px);overflow:auto;padding:18px 22px;background:var(--panel);border:1px solid var(--gold-lo);border-radius:6px;box-shadow:0 12px 40px #00000080}.play-codex-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}.play-codex-head>.pref-hint{flex:1 1 calc(100% - 180px)}.play-codex-notes-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%}.play-codex-search{width:100%;box-sizing:border-box;margin:0 0 4px;padding:6px 10px;font:inherit;font-size:13px;color:var(--text);background:var(--node);border:1px solid var(--border-strong);border-radius:4px}.play-codex-search:focus{outline:none;border-color:var(--gold)}.play-codex-filters{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 2px}.play-codex-filter{padding:3px 10px;font:inherit;font-size:12px;color:var(--text-soft);background:var(--node);border:1px solid var(--border);border-radius:999px;cursor:pointer}.play-codex-filter:hover{border-color:var(--gold-lo);color:var(--text)}.play-codex-filter.on{color:var(--ground);background:var(--gold);border-color:var(--gold)}.play-codex-sort{display:flex;align-items:center;gap:8px;margin:6px 0 2px}.play-codex-sort select{font:inherit;font-size:12px;color:var(--text);background:var(--node);border:1px solid var(--border-strong);border-radius:4px;padding:2px 6px}.play-codex-star{padding:0 2px;font-size:13px;line-height:1;color:var(--muted);background:none;border:none;cursor:pointer}.play-codex-star:hover,.play-codex-star.on{color:var(--gold-hi)}.play-codex-note{margin:4px 0 0;padding-left:8px;font-size:12px;font-style:italic;color:var(--gold-hi);border-left:2px solid var(--gold-lo)}.play-codex-note-edit{margin-top:4px}.play-codex-paste{display:flex;gap:8px;align-items:flex-end;margin:4px 0}.play-codex-paste textarea{flex:1;resize:vertical}.play-codex h3{margin:14px 0 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-hi)}.play-codex-quests{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13px}.play-codex-quests li.done{color:var(--muted)}.play-codex-lore h4{margin:10px 0 2px;font-size:13px;color:var(--c-lore)}.play-codex-lore p{margin:0;font-family:var(--font-notes, var(--font-ui));font-size:13.5px;line-height:1.55;color:var(--text)}.play-codex-mechanic h4{color:var(--c-mechanic)}.play-codex-new{color:var(--gold-hi)}.play-transcript{flex:1;overflow:auto;padding:28px max(24px,calc(50% - 340px)) 40px;display:flex;flex-direction:column;gap:10px;font-family:var(--font-script);font-size:var(--script-size, 14px);color:var(--text)}.play-heading{margin-top:18px;padding-top:14px;border-top:1px dashed var(--border)}.play-heading:first-child{margin-top:0;border-top:0}.play-slug{font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--gold-hi)}.play-sub{color:var(--muted);font-size:.9em}.play-line{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 12%}.play-speaker{font-weight:700}.play-dual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0 6%}.play-dual .play-line{padding:0}.play-direction{color:var(--text-soft);font-size:.92em}.play-said{max-width:36em}.play-cinematic{color:var(--c-cinematic)}.play-picked{font-family:var(--font-ui);font-size:12.5px;color:var(--gold-hi)}.play-effect,.play-fired,.play-skip{font-family:var(--font-mono);font-size:11.5px;color:var(--muted);padding-left:14px}.play-fired{color:var(--c-logic)}.play-quest,.play-encounter,.play-lore,.play-mechanic,.play-skill{font-family:var(--font-ui);font-size:12.5px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.play-quest{color:var(--c-quest)}.play-lore{color:var(--c-lore)}.play-mechanic{color:var(--c-mechanic)}.play-quest.done{font-weight:600}.play-encounter{color:var(--c-encounter);font-weight:600;margin-top:6px}.play-captured{font-family:var(--font-ui);font-size:12.5px;font-weight:600;color:var(--c-encounter);border-left:3px solid var(--c-encounter);padding:2px 0 2px 8px;margin:6px 0}.play-skip{opacity:.8;font-style:italic}.play-end{margin-top:16px;text-align:center;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gold-hi)}.play-note{color:var(--muted);font-family:var(--font-ui);font-size:12px}.play-prompt{border-top:1px solid var(--border);background:var(--panel);padding:14px max(24px,calc(50% - 340px));min-height:70px;display:flex;align-items:center}.play-continue{margin:0 auto}.play-choice,.play-free{width:100%;display:flex;flex-direction:column;gap:6px}.play-choice-title{font-size:13px;color:var(--text);display:flex;align-items:center;gap:6px}.play-option{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--node);color:var(--text);font-size:13.5px;text-align:left}.play-option:hover:not(:disabled){border-color:var(--gold-lo);background:var(--node-raised)}.play-option:disabled{color:var(--muted);border-style:dashed}.play-needs{margin-left:auto;font-size:11.5px;color:var(--muted)}.play-objects{display:flex;flex-wrap:wrap;gap:8px}.play-object{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--node);font-size:12.5px}.play-object-name{display:flex;align-items:center;gap:4px;margin-right:4px}.play-free>.tb-btn{align-self:flex-start}.play-over{margin:0 auto;display:flex;align-items:center;gap:12px;font-size:14px;color:var(--gold-hi)}.play-gameOver,.play-deadEnd,.play-loop{color:#f19a9d}.play-world{overflow:auto;padding:14px 16px 24px;background:var(--panel);display:flex;flex-direction:column;gap:4px}.play-world-head{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.play-world h3{margin:12px 0 4px;font-family:var(--font-label);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.play-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0;font-size:12.5px}.play-row .inp{width:auto;min-height:26px;padding:2px 6px;font-size:12px}.play-arc{display:flex;align-items:center;gap:6px}.play-facts{margin:0;font-size:12px}.play-facts dt{color:var(--muted);margin-top:6px}.play-facts dd{margin:0;color:var(--text-soft)}@media (max-width: 1500px){.topbar .tb-label{display:none}}.shotlist{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:minmax(0,1fr) 360px;background:var(--ground)}.shotlist .detail-panel{position:static;width:auto;border-radius:0;border:0;border-left:1px solid var(--border);box-shadow:none}.detail-name.static{display:block;font-size:15px;font-weight:600}.shotlist-main{display:flex;flex-direction:column;min-height:0}.shotlist-bar{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--panel);border-bottom:1px solid var(--border)}.shotlist-bar .grow{flex:1}.shotlist-title{font-size:14px;font-weight:600}.shotlist-sum{font-family:var(--font-mono);font-size:12px;color:var(--muted)}.sequencer{display:flex;gap:2px;margin:14px 20px 0;height:44px}.seq-shot{position:relative;flex-basis:0;min-width:34px;padding:4px 6px;border:1px solid color-mix(in srgb,var(--c-cinematic) 55%,transparent);border-radius:4px;background:color-mix(in srgb,var(--c-cinematic) 16%,var(--node));color:var(--text);display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;text-align:left}.seq-shot.selected{border-color:var(--gold-hi);background:color-mix(in srgb,var(--c-cinematic) 30%,var(--node))}.seq-n{font-family:var(--font-mono);font-size:10px;color:var(--c-cinematic)}.seq-f{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.seq-s{position:absolute;right:5px;top:4px;font-family:var(--font-mono);font-size:10px;color:var(--muted)}.seq-t{position:absolute;right:4px;bottom:3px;font-size:9px;color:var(--gold)}.storyboard{flex:1;overflow:auto;padding:16px 20px 28px;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;align-content:start}.storyboard-empty{grid-column:1 / -1;max-width:460px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;color:var(--text-soft);font-size:13px}.shot-card{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--node);cursor:pointer}.shot-card.selected{border-color:var(--gold-hi);box-shadow:0 0 0 1px var(--gold-lo)}.framing-art{width:100%;height:auto;display:block}.art-frame{fill:#0e0d0a;stroke:var(--border-strong)}.art-subject{fill:color-mix(in srgb,var(--c-cinematic) 70%,var(--text-soft))}.art-near{fill:#3a3350}.art-ground{fill:none;stroke:var(--border-strong);stroke-width:1.2}.art-vignette{fill:#000000b8}.shot-card-head{display:flex;align-items:baseline;gap:6px;font-size:12px}.shot-n{font-family:var(--font-mono);color:var(--c-cinematic)}.shot-f{flex:1;min-width:0;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shot-s{font-family:var(--font-mono);color:var(--muted)}.shot-action,.shot-line{margin:0;font-size:12px;line-height:1.4;color:var(--text-soft)}.shot-line{font-family:var(--font-script);color:var(--text)}.shot-tools{display:flex;align-items:center;gap:2px}.shot-cut{margin-left:auto;font-size:10.5px;color:var(--gold)}.shot-add{min-height:150px;border:1.5px dashed var(--border-strong);border-radius:6px;background:none;color:var(--muted);font-size:13px}.shot-add:hover{color:var(--gold-hi);border-color:var(--gold-lo)}.shot-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.play-shots{margin:4px 0 0;padding-left:22px;font-family:var(--font-ui);font-size:12px;color:var(--text-soft);display:flex;flex-direction:column;gap:2px}.option-behaviour .inp{min-height:28px;padding:3px 6px;font-size:12px}.option-hide{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-soft)}.pill-after{margin-left:4px;font-size:9px;color:var(--gold-hi)}.bible-chips{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:0 14px 6px}.chip-wrap{position:relative}.bible-chips .tag{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.chip-add-filter{border-style:dashed!important}.chip-x{border:0;background:none;padding:0 0 0 2px;color:var(--muted);font-size:13px;line-height:1}.chip-x:hover{color:var(--text)}.chip-clear{border:0;background:none;color:var(--gold);font-size:11.5px;padding:0 4px}.chip-dropdown{top:26px;max-height:360px;overflow:auto;min-width:220px}.chip-dropdown .menu-heading{padding:6px 8px 2px;font-family:var(--font-label);font-size:9.5px;letter-spacing:.14em;color:var(--gold)}.chip-dropdown .menu-check{width:12px;color:var(--gold-hi)}.menu-count{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;color:var(--muted)}.scene-preview{position:absolute;z-index:28;width:280px;padding:10px 12px;display:flex;flex-direction:column;gap:5px;background:#1b1811;border:1px solid var(--c-scene);border-radius:8px;box-shadow:0 14px 34px #0009;pointer-events:none;font-size:12px;color:var(--text-soft)}.scene-preview p{margin:0;color:var(--text);line-height:1.45}.scene-preview-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text)}.scene-preview-outcome{margin-left:auto;padding:1px 6px;border-radius:8px;border:1px solid var(--gold-lo);font-size:10px;color:var(--gold-hi)}.scene-preview-slug{font-family:var(--font-script);font-size:11px;color:var(--c-scene)}.scene-preview-counts{font-size:11px;color:var(--muted)}.scene-preview-flags{display:flex;flex-direction:column;gap:1px;font-family:var(--font-mono);font-size:11px}.node-button-wrap{position:relative}.pin-btn{position:absolute;right:30px;top:50%;transform:translateY(-50%);width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:0;border-radius:4px;background:none;color:var(--muted);opacity:0}.node-button-wrap:hover .pin-btn,.pin-btn:focus-visible,.pin-btn.on{opacity:1}.pin-btn.on{color:var(--gold-hi)}.pin-btn:hover{background:var(--node-raised);color:var(--text)}.node-button-wrap:hover .node-button-kind{visibility:hidden}.palette-pinned .palette-group{color:var(--gold-hi)}.rail-group.pinned{border-bottom:1px solid var(--gold-lo)}.node-button-wrap:has(.pin-btn.on) .node-button-kind{visibility:hidden}.exploded-legend{display:flex;align-items:center;gap:10px}.exploded-legend .tb-btn{pointer-events:auto}.box-open{position:absolute;right:6px;bottom:6px;width:18px;height:18px;padding:0;border:1px solid color-mix(in srgb,var(--cat) 60%,transparent);border-radius:50%;background:var(--panel);color:var(--cat);font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center}.box-open:hover,.box-open.on{background:color-mix(in srgb,var(--cat) 25%,var(--panel));color:var(--text)}.facet{position:absolute;display:flex;align-items:center;gap:6px;padding:0 9px;border:1px solid color-mix(in srgb,var(--cat) 45%,transparent);border-left:3px solid var(--cat);border-radius:5px;background:var(--node);font-size:11.5px;color:var(--text);overflow:hidden;white-space:nowrap;cursor:default}.facet-label{flex:none;max-width:60%;overflow:hidden;text-overflow:ellipsis;font-weight:600}.facet-detail{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--text-soft)}.facet-wire{stroke-width:1;opacity:.55}.view-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font:500 12px var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.levels-btn{font-family:var(--font-label);font-weight:700;letter-spacing:.14em;font-size:12px}.levels-btn.on{border-color:var(--gold-lo);color:var(--gold-hi)}.lvl{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:250px minmax(0,1fr) 320px;grid-template-rows:auto minmax(0,1fr);grid-template-areas:"bar bar bar" "left centre right";background:var(--ground)}.lvl .inp.small,.lvl-empty .inp.small{min-height:28px;padding:3px 8px;font-size:12.5px}.lvl-bar{grid-area:bar;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;min-height:46px;background:var(--panel);border-bottom:1px solid var(--border);min-width:0}.lvl-bar .view-toggle button{height:28px;white-space:nowrap}.lvl-bar>*{flex-shrink:0}.lvl-pick{width:auto;max-width:190px}.lvl-toggle{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-soft);white-space:nowrap}.lvl-bar .grow{flex:1}.lvl-issues-wrap{position:relative}.lvl-issues{position:fixed;top:calc(var(--topbar-h) + var(--wsbar-h) + 46px);right:12px;width:360px;max-height:60vh;overflow-y:auto;z-index:20;padding:8px;display:flex;flex-direction:column;gap:6px;background:var(--node-raised);border:1px solid var(--border-strong);border-radius:6px;box-shadow:0 12px 30px #0009}.lvl-issue{display:flex;flex-direction:column;gap:3px;padding:7px 9px;border:1px solid var(--border);border-left:3px solid #e0a64a;border-radius:4px;background:var(--node);font-size:12px;text-align:left;color:var(--text-soft)}.lvl-issue.error{border-left-color:var(--c-error)}.lvl-issue .muted,.lvl .muted{color:var(--muted)}.lvl-left{grid-area:left;display:flex;flex-direction:column;min-height:0;background:var(--panel);border-right:1px solid var(--border)}.lvl-nav{display:flex;flex-direction:column;max-height:42%;min-height:0;border-bottom:1px solid var(--border)}.lvl-nav.collapsed{max-height:none}.lvl-nav-head{display:flex;align-items:center;gap:4px;padding:6px 8px 4px}.lvl-nav-title{background:none;border:0;color:var(--gold);font:inherit;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:0}.lvl-nav-head .icon-btn.on{color:var(--gold-hi)}.lvl-nav-tree,.lvl-nav-tree ul{list-style:none;margin:0;padding:0}.lvl-nav-tree{overflow-y:auto;min-height:0;padding-bottom:6px}.lvl-nav-row{display:flex;align-items:center;gap:4px;min-height:24px;padding-right:4px;font-size:12px}.lvl-nav-row.on{background:#c9a45c1f}.lvl-nav-row.hidden .lvl-nav-name{opacity:.45}.lvl-nav-twist{width:14px;flex:none;background:none;border:0;color:var(--muted);cursor:pointer;padding:0;font-size:10px}.lvl-nav-kind{flex:none;width:16px;height:16px;border-radius:4px;font-size:9px;font-weight:700;line-height:16px;text-align:center;color:#16130c;background:#8a7f64}.lvl-nav-kind.world{background:#c9a45c}.lvl-nav-kind.region{background:#6fae5e}.lvl-nav-kind.level{background:#5e9fc0}.lvl-nav-kind.district{background:#b07fd0}.lvl-nav-kind.building{background:#d98a5e}.lvl-nav-kind.interior{background:#d9607a}.lvl-nav-kind.minor{background:none;color:var(--muted)}.lvl-nav-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:none;border:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;padding:2px 0}.lvl-nav-row.floor .lvl-nav-name,.lvl-nav-row.room .lvl-nav-name{color:var(--text-soft)}.lvl-nav-star{color:var(--gold-hi)}.lvl-nav-status{flex:none;width:7px;height:7px;border-radius:50%;background:#5a5240}.lvl-nav-status.grayboxed{background:#8a8a8a}.lvl-nav-status.detailed{background:#5e9fc0}.lvl-nav-status.gameplay{background:#6fae5e}.lvl-nav-status.final{background:#c9a45c}.lvl-nav-lock{font-size:10px}.lvl-nav-open,.lvl-nav-more{opacity:0}.lvl-nav-row:hover .lvl-nav-open,.lvl-nav-row:hover .lvl-nav-more,.lvl-nav-row:focus-within .lvl-nav-open,.lvl-nav-row:focus-within .lvl-nav-more,.lvl-nav-row.on .lvl-nav-open,.lvl-nav-more[aria-expanded=true]{opacity:1}.lvl-nav-menu{display:flex;flex-direction:column;margin:2px 8px 6px 30px;border:1px solid var(--border);border-radius:6px;background:var(--ground);overflow:hidden}.lvl-nav-menu button{background:none;border:0;color:var(--text);font:inherit;font-size:12px;text-align:left;padding:5px 10px;cursor:pointer}.lvl-nav-menu button:hover{background:#c9a45c1f}.lvl-nav-menu button.danger{color:#e07a6a}.lvl-nav-rename{flex:1;min-width:0}.lvl-crumbs{display:flex;align-items:center;gap:2px;min-width:0;max-width:38%;overflow:hidden;white-space:nowrap;font-size:12px}.lvl-crumb{display:inline-flex;align-items:center;gap:2px;min-width:0}.lvl-crumb button{background:none;border:0;color:var(--text-soft);font:inherit;cursor:pointer;padding:2px 4px;border-radius:4px;overflow:hidden;text-overflow:ellipsis}.lvl-crumb button:hover{color:var(--text);background:#c9a45c1a}.lvl-crumb button.on{color:var(--gold-hi);font-weight:600;cursor:default}.lvl-crumb-room{display:inline-flex;align-items:center;gap:2px;padding:1px 2px 1px 8px;border:1px solid var(--gold-lo);border-radius:10px;color:var(--gold-hi)}.lvl-crumb-sep{color:var(--muted)}.lvl-world-dialog{width:min(560px,calc(100vw - 32px));display:flex;flex-direction:column;gap:10px}.lvl-world-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lvl-world-preset{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;cursor:pointer}.lvl-world-preset input{position:absolute;opacity:0;pointer-events:none}.lvl-world-preset.on{border-color:var(--gold);background:#c9a45c14}.lvl-world-size{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}@media (max-width: 560px){.lvl-world-presets,.lvl-world-size{grid-template-columns:minmax(0,1fr)}}.lvl-scale{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;margin:0 0 6px;font-size:11px;color:var(--gold);text-transform:uppercase;letter-spacing:.06em}.lvl-scale .lvl-toggle{text-transform:none;letter-spacing:0;color:var(--muted)}.lvl-tabs{display:flex;border-bottom:1px solid var(--border)}.lvl-tabs button{flex:1;height:36px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-family:var(--font-label);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.lvl-tabs button.on{color:var(--gold-hi);border-bottom-color:var(--gold)}.lvl-search{margin:8px 10px 4px;width:auto}.lvl-list{flex:1;overflow-y:auto;padding:4px 6px 16px}.lvl-hint{margin:4px 6px 8px;font-size:11.5px;color:var(--muted);line-height:1.4}.lvl-cat+.lvl-cat{margin-top:2px}.lvl-cat.off{opacity:.5}.lvl-cat-head{width:100%;height:28px;padding:0 6px;display:flex;align-items:center;gap:8px;border:0;background:none;color:var(--text-soft);font-family:var(--font-label);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-align:left}.lvl-cat-dot{width:8px;height:8px;border-radius:2px;flex:none}.lvl-count{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;letter-spacing:0;color:var(--muted)}.lvl-tabs .lvl-count{margin-left:4px}.lvl-assets{display:grid;grid-template-columns:1fr;gap:1px;padding:2px 0 6px}.lvl-asset{display:flex;align-items:center;gap:2px;border-radius:4px}.lvl-asset.on{background:var(--node-raised);outline:1px solid var(--gold-lo)}.lvl-asset-pick{flex:1;min-width:0;height:30px;padding:0 8px;display:flex;align-items:center;gap:9px;border:0;border-radius:4px;background:none;color:var(--text);font-size:12.5px;text-align:left;cursor:grab;touch-action:none}.lvl-asset-pick:hover{background:var(--node)}.lvl-asset-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lvl-asset-src{margin-left:auto;font-size:10px;color:var(--c-environment);text-transform:uppercase;letter-spacing:.1em}.asset-icon{flex:none}.lvl-row{display:flex;align-items:center;gap:2px;border-radius:4px}.lvl-row.on{background:var(--node-raised)}.lvl-row.hidden .lvl-row-name{opacity:.45}.lvl-row-name{flex:1;min-width:0;height:28px;padding:0 6px 0 14px;display:flex;align-items:center;gap:7px;border:0;background:none;color:var(--text-soft);font-size:12.5px;text-align:left}.lvl-row-name>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lvl-left .icon-btn.small,.lvl-right .icon-btn.small{width:24px;height:24px;font-size:12px;flex:none}.lvl-centre{grid-area:centre;position:relative;min-width:0;min-height:0;display:flex;flex-direction:column}.lvl-map,.lvl-3d{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none;cursor:default}.lvl-map.is-drawing,.lvl-3d.is-drawing{cursor:crosshair}.lvl-map svg{display:block}.lvl-item{cursor:pointer}.lvl-item.locked{cursor:default}.lvl-map.is-drawing .lvl-item{cursor:crosshair}.lvl-label{font-family:var(--font-ui);pointer-events:none}.lvl-handle{cursor:nwse-resize}.lvl-handle.h-n,.lvl-handle.h-s{cursor:ns-resize}.lvl-handle.h-e,.lvl-handle.h-w{cursor:ew-resize}.lvl-handle.h-ne,.lvl-handle.h-sw{cursor:nesw-resize}.lvl-handle.rotate{cursor:grab}.lvl-3d canvas{display:block}.lvl-3d-off{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-soft);font-size:13px}.lvl-status{flex:none;height:30px;padding:0 12px;display:flex;align-items:center;gap:14px;border-top:1px solid var(--border);background:var(--panel);font-size:12px;color:var(--text-soft);white-space:nowrap;overflow:hidden}.lvl-status .grow{flex:1}.lvl-status .mono{font-family:var(--font-mono);font-size:11px}.lvl-hint-on{color:var(--gold-hi)}.lvl-right{grid-area:right;min-height:0;overflow-y:auto;background:var(--panel);border-left:1px solid var(--border);padding-bottom:24px}.lvl-right-head{padding:14px 14px 10px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--border)}.lvl-right-head h2{margin:0;font-size:16px;font-weight:600;color:var(--text);overflow-wrap:anywhere}.lvl-right-head p{margin:0;font-size:11.5px;overflow-wrap:anywhere}.lvl-kind{font-family:var(--font-label);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.lvl .mono{font-family:var(--font-mono)}.lvl-right .lvl-search{margin:10px 14px 4px;width:calc(100% - 28px)}.lvl-sec{border-bottom:1px solid var(--border)}.lvl-sec-head{width:100%;height:34px;padding:0 14px;display:flex;align-items:center;gap:8px;border:0;background:none;color:var(--muted);font-family:var(--font-label);font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-align:left}.lvl-sec.open .lvl-sec-head{color:var(--text-soft)}.lvl-sec-caret{width:10px;color:var(--muted)}.lvl-sec-body{padding:2px 14px 14px;display:flex;flex-direction:column;gap:9px}.lvl-field{display:flex;flex-direction:column;gap:4px;min-width:0}.lvl-field.check{flex-direction:row;align-items:center;gap:7px}.lvl-field.broken select{border-color:var(--c-error)}.lvl-flabel{display:flex;align-items:center;gap:5px;font-family:var(--font-label);font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.lvl-field.changed .lvl-flabel{color:var(--gold)}.lvl-field .inp{color:var(--text-soft)}.lvl-field.changed .inp{color:var(--text);border-color:var(--gold-lo)}.lvl-changed{color:var(--gold-hi)}.lvl-reset{margin-left:auto;padding:0 4px;border:0;background:none;color:var(--gold);font-size:12px;line-height:1}.lvl-num{display:flex;align-items:center;gap:4px}.lvl-unit{font-size:11px;color:var(--muted);min-width:14px}.lvl-grid3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.lvl-kv{display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px;font-size:12px;color:var(--text-soft)}.lvl-kv>span:first-child{color:var(--muted)}.lvl-guid{font-size:10.5px;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.lvl-more{align-self:flex-start;padding:0;border:0;background:none;font-size:12px;color:var(--gold)}.lvl-btnrow{display:flex;align-items:center;gap:6px}.lvl-btnrow.wrap{flex-wrap:wrap}.lvl-btnrow .inp{flex:1;min-width:0}.lvl-right-head .lvl-btnrow{margin-top:4px}.lvl-links{display:flex;flex-direction:column;gap:5px}.lvl-links .lvl-hint,.lvl-right .lvl-hint{margin:0}.lvl-link{display:flex;align-items:center;gap:4px}.lvl-link-go{flex:1;min-width:0;height:28px;padding:0 8px;display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:4px;background:var(--node);color:var(--text);font-size:12.5px;text-align:left}.lvl-link-go .muted{margin-left:auto;font-size:11px}.lvl-link.broken .lvl-link-go{border-color:var(--c-error);color:#f19a9d}.lvl-rules{display:flex;flex-direction:column;gap:10px}.lvl-rule{display:flex;flex-direction:column;gap:8px;padding:8px;border:1px solid var(--border);border-radius:5px;background:var(--ground)}.lvl-actions{display:flex;flex-direction:column;gap:5px}.lvl-floor{display:grid;grid-template-columns:22px minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) 24px;align-items:end;gap:6px}.lvl-floor.coded{grid-template-columns:22px 26px minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) 24px}.lvl-floor-code{height:28px;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--gold);border:1px solid var(--border);border-radius:4px}.lvl-floor-go{height:28px;border:0;background:none;color:var(--gold)}.lvl-prefixes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lvl-save{display:flex;flex-direction:column;gap:5px;padding:12px 14px 0}.lvl-sec-body .lvl-save{padding:4px 0 0}.lvl-engines{display:flex;flex-direction:column;gap:5px}.lvl-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;background:var(--ground)}.lvl-empty h2{margin:0;font-family:var(--font-label);letter-spacing:.2em;color:var(--gold)}.lvl-empty p{max-width:520px;margin:0;color:var(--text-soft);line-height:1.55}.level-uses{display:flex;flex-direction:column;gap:4px}@media (max-width: 1180px){.lvl{grid-template-columns:210px minmax(0,1fr) 280px}}.lvl-row .icon-btn.small.on{color:var(--gold-hi);border-color:var(--gold-lo)}.lvl.left-out{grid-template-columns:0 minmax(0,1fr) 320px}.lvl.right-out{grid-template-columns:250px minmax(0,1fr) 0}.lvl.left-out.right-out{grid-template-columns:0 minmax(0,1fr) 0}.lvl-popbtn{z-index:4;align-self:start;justify-self:end;margin:4px 6px 0 0;opacity:.7}.lvl-popbtn:hover{opacity:1}.lvl-popbtn-library{grid-area:left;align-self:end;margin:0 6px 6px 0}.lvl-popbtn-inspector{grid-area:right}.lvl-reopen{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;font-size:12px;border-bottom:1px solid var(--border);background:#e8c87214}.lvl-reopen span{flex:1 1 auto}.lvl-view{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.lvl-popbtn-view{position:absolute;top:8px;right:8px;z-index:4;opacity:.75}.lvl-popbtn-view:hover{opacity:1}.lvl-view-out{flex:1 1 auto;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted, #9a927f);background:var(--ground)}.lvl-view-out p{margin:0}.lvl.lvl-popout>.lvl-centre-out{position:relative;display:flex;flex-direction:column}.popout-bar .view-toggle{margin-left:8px}.popout-root{position:fixed;top:0;right:0;bottom:0;left:0}.lvl.lvl-popout{display:flex;flex-direction:column;grid-template:none}.lvl.lvl-popout>:not(.popout-bar){flex:1 1 auto;min-height:0;max-height:none;width:auto;border:0}.popout-bar{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--border);background:var(--panel, var(--ground));font-size:12px}.lvl.playing{grid-template-columns:0 minmax(0,1fr) 0}.lvl.playing .lvl-left,.lvl.playing .lvl-right,.lvl.playing .lvl-status{display:none}.lvl-play{display:flex;align-items:center;gap:4px}.lvl-play .lvl-pick{max-width:124px}.lvl-playing{font-family:var(--font-label);font-weight:700;letter-spacing:.12em;color:var(--gold-hi);white-space:nowrap}.play-mode{position:relative;flex:1;min-height:0;overflow:hidden;background:#07060a}.play-mode .play-view{position:absolute;top:0;right:0;bottom:0;left:0;cursor:grab;touch-action:none}.play-mode .play-view.locked{cursor:none}.play-mode .play-view canvas{display:block}.play-labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.play-label{position:absolute;left:0;top:0;padding:2px 6px;border-radius:3px;background:#0b0a07c7;border:1px solid var(--border);color:var(--text);font-size:11px;white-space:nowrap;display:flex;flex-direction:column;align-items:center}.play-label span{font-family:var(--font-mono);font-size:9.5px;color:var(--muted)}.play-label.volume{border-style:dashed;color:var(--c-logic)}.play-label.inside{border-color:var(--gold);color:var(--gold-hi)}.play-label.off{opacity:.55}.play-hud-top{position:absolute;top:10px;left:10px;right:10px;display:flex;align-items:flex-start;gap:10px;pointer-events:none}.play-hud-top>*{pointer-events:auto}.play-hud-top .grow{flex:1;pointer-events:none}.play-chip,.play-objective,.play-item{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:4px;background:#0b0a07cc;border:1px solid var(--border);font-size:12.5px;color:var(--text)}.play-chip{font-family:var(--font-label);letter-spacing:.1em;color:var(--gold-hi)}.play-persp{background:transparent;border:0;color:var(--text-soft);font:inherit;font-family:var(--font-ui);letter-spacing:0;color-scheme:dark}.play-objective{border-color:var(--gold-lo)}.play-inventory{display:flex;flex-wrap:wrap;gap:4px;max-width:40%;justify-content:flex-end}.play-item{border-color:var(--c-inventory);color:var(--c-inventory)}.play-health{width:160px;height:10px;margin-top:8px;border-radius:5px;background:#0b0a07cc;border:1px solid var(--border);overflow:hidden}.play-health span{display:block;height:100%;background:linear-gradient(90deg,#e5484d,#e0a64a)}.play-crosshair{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;border:1.5px solid rgba(241,231,207,.85);pointer-events:none}.play-mode .play-prompt{position:absolute;left:50%;bottom:70px;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:5px;background:#0b0a07e0;border:1px solid var(--gold-lo);color:var(--text);font-size:14px;pointer-events:none;white-space:nowrap}.play-mode .play-prompt kbd,.play-bind{font-family:var(--font-mono);font-size:11.5px;padding:2px 7px;border:1px solid var(--border-strong);border-radius:3px;background:var(--node-raised);color:var(--gold-hi)}.play-mode .play-prompt.blocked{border-color:#e0a64a;color:#f1c98a}.play-message{position:absolute;left:50%;top:70px;transform:translate(-50%);padding:8px 16px;border-radius:5px;background:#0b0a07e0;border:1px solid var(--border-strong);color:var(--text);font-size:14px;pointer-events:none}.play-hint{position:absolute;left:50%;bottom:16px;transform:translate(-50%);font-size:12px;color:var(--muted);background:#0b0a07b3;padding:4px 10px;border-radius:4px;pointer-events:none;white-space:nowrap}.play-debug{position:absolute;left:10px;bottom:10px;width:min(460px,60%);padding:8px 10px;border-radius:5px;background:#0b0a07d9;border:1px solid var(--border);font-size:11.5px;color:var(--text-soft);display:flex;flex-direction:column;gap:3px;pointer-events:none}.play-debug .mono,.play-log .mono{font-family:var(--font-mono);font-size:10.5px;color:var(--muted)}.play-log-line.check.fail,.play-log-line.warn{color:#f1c98a}.play-log-line.check.pass,.play-log-line.action{color:var(--text)}.play-log-line.effect{color:var(--c-inventory)}.play-cine-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;background:#0000008c}.play-bars{position:absolute;top:0;right:0;bottom:0;left:0;border-top:11vh solid #000;border-bottom:11vh solid #000;pointer-events:none}.play-cine-body{position:relative;margin-bottom:13vh;max-width:640px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--text)}.play-cine-body h2,.play-card h2{margin:0;font-size:22px}.play-cine-body ol{margin:0;padding:0 0 0 18px;text-align:left;font-size:12.5px;color:var(--text-soft)}.play-kicker{font-family:var(--font-label);font-size:10.5px;font-weight:700;letter-spacing:.2em;color:var(--c-cinematic)}.play-progress{width:280px;height:3px;background:var(--border);border-radius:2px;overflow:hidden}.play-progress span{display:block;height:100%;background:var(--c-cinematic)}.play-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(460px,90%);padding:20px;display:flex;flex-direction:column;gap:10px;border-radius:8px;background:var(--node-raised);border:1px solid var(--border-strong);box-shadow:0 20px 50px #000000b3;color:var(--text)}.play-card p{margin:0;color:var(--text-soft);line-height:1.5}.play-card .muted{color:var(--muted);font-size:12px}.play-inspect{position:absolute;top:0;right:0;bottom:0;width:min(420px,100%);display:flex;flex-direction:column;background:var(--panel);border-left:1px solid var(--border-strong);box-shadow:-12px 0 30px #00000080}.play-inspect>header{padding:12px 14px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--border)}.play-inspect-body{flex:1;overflow-y:auto;padding:10px 14px 20px;display:flex;flex-direction:column;gap:14px}.play-inspect section{display:flex;flex-direction:column;gap:5px}.play-inspect h3{margin:0 0 2px;font-family:var(--font-label);font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.play-inspect .muted,.play-controls .muted{color:var(--muted);font-size:12px;margin:0}.play-mode .play-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:6px;font-size:12.5px;color:var(--text-soft);min-height:28px}.play-mode .play-row select{width:auto;min-width:90px}.play-mode .play-row .icon-btn.small{width:24px;height:24px}.play-log{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--text-soft)}.play-log li{display:grid;grid-template-columns:44px auto minmax(0,1fr);gap:6px}.play-pass{font-weight:700}.play-mode .play-note,.play-controls{display:flex;flex-direction:column;gap:8px}.play-controls table{border-collapse:collapse;font-size:12px;color:var(--text-soft)}.play-controls th{text-align:left;font-family:var(--font-label);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:4px}.play-controls td{padding:4px;border-top:1px solid var(--border);vertical-align:top}.play-controls td .play-bind{margin:0 3px 3px 0}.play-bind{cursor:pointer}.play-bind.add{color:var(--muted)}.play-bind.listening{color:var(--ground);background:var(--gold)}.play-inspect .lvl-tabs button{font-size:10px}.lvl-notes{display:flex;flex-direction:column;gap:5px}.lvl-note .tb-btn{align-self:flex-start}.lvl-update{margin-top:8px;padding:8px 10px;border:1px solid var(--gold);border-radius:6px;background:#c9a45c12;font-size:12px;line-height:1.45}.lvl-update p{margin:0 0 6px}.lvl-change{display:flex;gap:6px;align-items:baseline;margin:2px 0;color:var(--text-soft)}.lvl-update .lvl-btnrow{margin-top:8px}.in-level{display:grid;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.in-level .btn-row{display:flex;flex-wrap:wrap;gap:6px}.ev-place{position:absolute;right:6px;bottom:5px;font-size:10px;color:var(--gold);pointer-events:none}.lvl-uses{display:grid;gap:4px;margin-top:10px}.lvl-sub{font-size:11px;color:var(--muted)}.card-name.placeholder{color:var(--muted);font-weight:400}.dlg-box{position:absolute;z-index:1;display:flex;flex-direction:column;padding:4px 6px 6px;border-radius:8px;background:var(--node);border:1px solid var(--c-dialogue);font-size:12px}.dlg-head{display:flex;align-items:center;gap:6px;height:18px;font-family:var(--font-label);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-dialogue)}.dlg-row{display:flex;gap:6px;align-items:center;height:18px;padding:0 4px;border:0;border-radius:4px;background:none;color:var(--text-soft);text-align:left;font-family:var(--font-script);font-size:12px;cursor:pointer}.dlg-row:hover{background:#2a1d15;color:var(--text)}.dlg-row .mono{color:var(--muted);font-size:10px}.dlg-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dlg-row.dlg-dual{height:36px;align-items:stretch;padding-top:2px;padding-bottom:2px}.dlg-row.dlg-dual>.mono{align-self:center}.dlg-pair{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:4px;align-items:center}.dlg-pair-mark{grid-column:2;grid-row:1;color:var(--c-dialogue);font-family:var(--font-ui),system-ui,sans-serif;font-size:12px}.dlg-half{grid-row:1;display:flex;flex-direction:column;min-width:0;line-height:15px;opacity:.55}.dlg-half.own{opacity:1}.dlg-half-who{font-family:var(--font-ui);font-size:9px;font-weight:600;letter-spacing:.06em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dlg-row.dlg-dual.apart .dlg-pair-mark{opacity:.4}.dual-box{position:absolute;z-index:1;display:flex;flex-direction:column;padding:4px 6px 6px;border-radius:8px;background:#2a1d15;border:1px dashed var(--c-dialogue);font-size:12px}.dual-box.apart{opacity:.6;border-color:var(--border-strong)}.dual-head{height:18px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#f0b08a}.dual-cols{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-height:0}.dual-col{display:flex;flex-direction:column;min-width:0;padding:2px 4px;border-radius:5px;cursor:pointer}.dual-col:hover{background:#3a2a1e}.dual-who{font-size:10.5px;font-weight:600;color:var(--text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wire.dual-wire{stroke:var(--c-dialogue);stroke-dasharray:4 3}.wire.dual-wire.apart{opacity:.5}.dlg-more{padding:0 4px;font-size:11px;color:var(--muted)}.stage-fan.dialogue-fan{stroke:var(--c-dialogue)}.line-heading-wrap,.line-transition{position:relative}.script input.line-heading{width:100%;height:26px;font-size:var(--script-size, 14px);font-weight:700;text-transform:uppercase;letter-spacing:.02em}.script input.line-heading::placeholder{color:#5d5540;font-weight:400}.line-heading-wrap .cue-suggest{left:0;transform:none;width:320px}.line-transition{display:flex;justify-content:flex-end}.script input.line-transition-text{width:240px;text-align:right;text-transform:uppercase;font-size:var(--script-size, 14px)}.line-transition-text::placeholder{color:#5d5540}.line-transition .cue-suggest{left:auto;right:0;transform:none;width:220px}.line-contd{margin-left:-4px;white-space:nowrap;font-family:var(--font-script);font-size:var(--script-size, 14px);color:var(--text-soft);pointer-events:none}.bible-dual{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px;align-items:center;min-width:0}.bible-dual-half{grid-row:1;display:flex;gap:6px;align-items:baseline;min-width:0;opacity:.55}.bible-dual-half.own{opacity:1}.bible-dual-who{flex:none;font-family:var(--font-ui);font-size:10px;font-weight:600;letter-spacing:.06em;color:var(--muted)}.bible-dual-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bible-dual-mark{grid-column:2;grid-row:1;color:var(--c-dialogue);font-family:var(--font-ui),system-ui,sans-serif}.bible-dual.apart .bible-dual-mark{opacity:.4}.bible-dual-detail{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bible-dual-col{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:8px;border:1px dashed var(--c-dialogue);border-radius:8px;background:none;color:var(--text-soft);font-family:var(--font-script);font-size:12.5px;text-align:center}button.bible-dual-col{cursor:pointer;opacity:.75}button.bible-dual-col:hover{opacity:1;background:#2a1d15}.bible-dual-col.own{border-style:solid;background:#2a1d15;color:var(--text)}.bible-dual-direction{color:var(--text-soft);font-size:11.5px}.bible-dual-detail.apart .bible-dual-col{border-color:var(--border-strong)}.bible-dual-note{margin:6px 0 0;font-size:11.5px;color:var(--muted)}.play-save-slots{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}.play-save-slot{display:flex;align-items:center;gap:8px}.play-save-name{min-width:56px;color:var(--gold)}.play-save-at{flex:1;color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.handoff-review{width:min(760px,calc(100vw - 48px));max-height:calc(100vh - 80px);display:flex;flex-direction:column}.review-files{list-style:none;margin:8px 0;padding:0;max-height:200px;overflow:auto;border:1px solid var(--border);border-radius:4px}.review-file{display:flex;align-items:center;gap:10px;width:100%;padding:5px 10px;background:none;border:0;border-bottom:1px solid var(--border);color:var(--text-soft);text-align:left;cursor:pointer;font-size:12px}.review-file.on,.review-file:hover{background:#c9a45c14;color:var(--text)}.review-file .mono{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-counts{display:flex;gap:6px;align-items:center}.review-add{color:#6fae5e}.review-del{color:#e5484d}.review-diff{overflow:auto;max-height:260px;border:1px solid var(--border);border-radius:4px;background:#00000040;margin-bottom:8px}.review-hunk{margin:0;padding:6px 10px;font-size:11.5px;line-height:1.45;border-bottom:1px dashed var(--border)}.review-at{display:block;color:var(--muted);margin-bottom:2px}.review-line.add{display:block;color:#8fd07c;background:#6fae5e1a}.review-line.del{display:block;color:#f08a8d;background:#e5484d1a}.review-line.same{display:block;color:var(--text-soft)}.play-paths-name{flex:1 1 200px;margin:0}.play-paths-summary{margin:10px 0 6px;font-weight:600}.play-paths-summary.ok,.play-path.ok .play-path-mark{color:#6fae5e}.play-paths-summary.bad,.play-path.bad .play-path-mark,.play-paths-failing{color:#e5484d}.play-paths-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.play-path{padding:6px 8px;border:1px solid var(--border);border-radius:4px}.play-path-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.play-path-mark{font-weight:700;width:1em}.play-path-problem{margin:4px 0 0 1.6em;color:var(--text-soft);font-size:12.5px}.play-path-steps{margin:6px 0 0 1.6em;padding-left:1.2em;font-size:12px;color:var(--text-soft)}.play-path-steps li.done{color:var(--text)}.play-path-steps li.broke{color:#e5484d;font-weight:600}.play-dark{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;transition:background .35s ease}.play-light{margin-top:6px;padding:3px 9px;border-radius:12px;border:1px solid var(--border);background:#0b0a07cc;color:var(--muted);font-size:12px;white-space:nowrap}.play-light.on{color:#ffd89a;border-color:#8a6f2f}.play-hand{margin-top:6px;padding:3px 9px;border-radius:12px;border:1px solid #8a6f2f;background:#0b0a07cc;color:#ffd89a;font-size:12px;white-space:nowrap}.play-hand-detail{color:var(--muted)}.play-gear section+section{margin-top:12px}.collab{display:flex;flex-direction:column;gap:6px}.collab-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border)}.collab-tabs button{padding:4px 10px;background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);font:inherit;font-size:12px;cursor:pointer}.collab-tabs button.on{color:var(--text);border-bottom-color:var(--gold-lo)}.collab-owner{margin:2px 0}.collab-after{color:#e0a84e}.collab-list,.collab-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.collab-comment,.collab-history li{padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:#ffffff05;display:flex;flex-direction:column;gap:3px}.collab-comment.task{border-left:3px solid var(--gold-lo)}.collab-comment.done{opacity:.6}.collab-comment.done .collab-text{text-decoration:line-through}.collab-comment-head{display:flex;align-items:center;gap:8px;min-width:0}.collab-kind{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--gold-hi)}.collab-done{gap:6px}.collab-text{margin:0;font-size:13px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.collab-reply{margin-left:12px;padding-left:8px;border-left:2px solid var(--border)}.collab-form{display:flex;gap:6px;align-items:center}.collab-new{flex-direction:column;align-items:stretch}.collab-new textarea{resize:vertical;width:100%;box-sizing:border-box}.collab-form-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.collab-filters{margin:10px 0}.collab-target{text-align:left;font-size:12px}.collab-panel{max-height:min(80vh,720px);overflow:auto}.collab-panel .collab-tabs{margin-bottom:8px}.comments-btn{display:inline-flex;align-items:center;gap:4px}.comments-count{min-width:16px;padding:0 4px;border-radius:8px;background:var(--gold-lo);color:#111;font-size:10px;font-weight:700;line-height:16px;text-align:center}.code-comments{padding:8px 16px;border-top:1px solid var(--border);font-size:12px}.code-comments summary{cursor:pointer;color:var(--muted);margin-bottom:6px}.rules-popover .collab{margin-top:8px;padding-top:6px;border-top:1px solid var(--border)}.play-skill{color:var(--c-skill)}.play-skill-tree+.play-skill-tree{margin-top:6px}.play-skill-row{flex-wrap:wrap}.play-skill-row.learned .play-skill-name{color:var(--c-skill)}.play-skill-name{display:inline-flex;align-items:center;gap:5px;min-width:0}.play-skill-needs{flex-basis:100%;margin-top:-2px}.skill-progression{display:flex;flex-direction:column;gap:8px}.skill-cost{display:flex;align-items:center;gap:6px}.skill-ranks,.skill-amount{width:64px}.skill-progression .tag{display:inline-flex;align-items:center;gap:4px}.play-skill-row .tb-btn:disabled{opacity:.5;cursor:default}.play-gear{font-family:var(--font-ui);font-size:12.5px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--c-inventory)}.play-gear-row{flex-wrap:wrap}.play-gear-row.on .play-skill-name{color:var(--c-inventory)}.play-gear-actions{display:inline-flex;gap:4px}.play-gear-row .tb-btn:disabled{opacity:.5;cursor:default}.equipment-editor{display:flex;flex-direction:column;gap:8px}.equipment-stat{display:flex;gap:6px;align-items:center;margin-bottom:4px}.equipment-number{width:64px}.lvl-personal-import{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:2px 6px 6px}.lvl-asset-src.size{text-transform:none}.lvl-asset-thumb{width:18px;height:18px;border-radius:2px;object-fit:cover;flex:none}.lvl-ref{display:flex;flex-direction:column;gap:6px;padding:8px 0;border-top:1px solid var(--line, #2a2516)}.lvl-ref.off{opacity:.6}.lvl-ref-thumb{width:100%;max-height:120px;object-fit:contain;background:#0b0a07;border-radius:3px}.lvl-model-dialog{width:min(560px,calc(100vw - 32px))}.lvl-model-size{margin:4px 0 10px;color:var(--text-soft)}.lvl-hint.warn{color:#e8a35c}.lvl-puzzle-row{display:flex;flex-direction:column;gap:6px;padding:8px 0;border-top:1px solid var(--line, #2a2516)}.lvl-puzzle-chips{display:flex;flex-wrap:wrap;gap:4px}.lvl-puzzle-chip{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border:1px solid;border-radius:9px;font-size:11px;white-space:nowrap;flex:none}.lvl-puzzle-part-row{display:flex;align-items:flex-start;gap:6px;padding:4px 0;font-size:12px}.lvl-puzzle-part-row>span:nth-child(2){flex:1;min-width:0}.lvl-link-go.inline{display:inline;padding:0;width:auto}.lvl-puzzle-bind{display:flex;flex-direction:column;gap:6px;margin-top:6px}.lvl-puzzle-bind select{width:100%}.lvl-puzzle-pick{width:auto;max-width:220px;flex:none}.pz{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:260px minmax(0,1fr) 330px;grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"left centre right" "left bottom right";background:var(--ground)}.pz .inp.small{min-height:28px;padding:3px 8px;font-size:12.5px}.pz-left,.pz-right{min-height:0;overflow-y:auto;background:var(--panel);display:flex;flex-direction:column;gap:8px;padding:10px}.pz-left{grid-area:left;border-right:1px solid var(--border)}.pz-right{grid-area:right;border-left:1px solid var(--border)}.pz-center{grid-area:centre;min-height:0;overflow-y:auto;padding:16px 22px 28px}.pz-bottom{grid-area:bottom;border-top:1px solid var(--border);background:var(--panel);padding:8px 14px;max-height:160px;overflow-y:auto;font-size:12.5px}.pz-new{display:grid;grid-template-columns:1fr auto;gap:6px}.pz-new .inp:first-child{grid-column:1 / -1}.pz-list{display:flex;flex-direction:column;gap:2px}.pz-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px;border:1px solid transparent;border-radius:4px;background:none;color:var(--text-soft);text-align:left}.pz-item:hover{background:var(--node)}.pz-item.on{border-color:var(--gold-lo);background:var(--node);color:var(--text)}.pz-item-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.pz-dot{width:7px;height:7px;border-radius:50%;background:var(--c-error)}.pz-label{font-family:var(--font-label);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.pz-tree-head{margin-top:8px}.pz-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.pz-head h2{margin:0;flex:1;font-size:20px}.pz-empty{max-width:560px;margin:60px auto;color:var(--text-soft)}.pz-writing,.pz-inspector{display:flex;flex-direction:column;gap:12px;max-width:760px}.pz-field{display:flex;flex-direction:column;gap:4px}.pz-field textarea{resize:vertical;font-family:var(--font-body, inherit);line-height:1.45}.pz-row{display:flex;flex-wrap:wrap;gap:12px}.pz-scales{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.pz-scale{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--node);cursor:pointer}.pz-scale input{position:absolute;opacity:0;pointer-events:none}.pz-scale.on{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold-lo)}.pz-discover{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.pz-discover .pz-field{align-self:stretch}.pz-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px}.pz-sep{width:1px;height:20px;background:var(--border);margin:0 4px}.pz-tree{display:flex;flex-direction:column;gap:2px}.pz-node{display:flex;align-items:center;gap:8px;min-height:32px;padding:4px 10px;border:1px solid transparent;border-radius:4px;background:none;color:var(--text-soft);text-align:left;font-size:13px}.pz-tree.compact .pz-node{min-height:24px;padding:2px 8px;font-size:12px}.pz-node:hover{background:var(--node)}.pz-node.on{border-color:var(--gold-lo);background:var(--node);color:var(--text)}.pz-node.pz-k-goal .pz-mark{color:var(--gold)}.pz-node.pz-k-requirement .pz-mark{color:#4a86d8}.pz-node.pz-k-interaction .pz-mark{color:#6cc4d6}.pz-node.optional{opacity:.75}.pz-node.broken .pz-node-label{text-decoration:underline wavy var(--c-error)}.pz-node.root{font-weight:600;color:var(--text)}.pz-node-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pz-badge{flex:none;padding:0 5px;border:1px solid var(--gold-lo);border-radius:3px;font-family:var(--font-mono);font-size:10px;color:var(--gold)}.pz-badge.soft{border-color:var(--border);color:var(--muted)}.pz-when{margin-left:auto;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%}.pz-sec{display:flex;flex-direction:column;gap:6px}.pz-says{margin:0;font-size:12.5px;color:var(--text-soft)}.pz-make{display:flex;flex-direction:column;gap:4px}.pz-issues{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.pz-issue{border:0;background:none;padding:2px 0;text-align:left;color:var(--text-soft)}.pz-issue.error{color:#f19a9d}.pz-ok{color:#8fc98a}.cc{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:280px minmax(0,1fr) 340px;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"top top top" "left centre right" "left bottom right";background:var(--ground)}.cc .inp.small{min-height:28px;padding:3px 8px;font-size:12.5px}.cc-top{grid-area:top;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--panel)}.cc-grow{flex:1}.cc-search{width:220px}.cc-roles{display:flex;flex-wrap:wrap;gap:4px}.cc-role{padding:3px 10px;border:1px solid var(--border);border-radius:999px;background:none;color:var(--text-soft);font-size:12px}.cc-role.on{border-color:var(--gold);background:var(--node);color:var(--text);box-shadow:inset 0 0 0 1px var(--gold-lo)}.cc-state{padding:3px 10px;border:1px solid var(--border);border-radius:4px;background:none;font-size:12px;font-family:var(--font-mono)}.cc-state.ok{color:#8fc98a}.cc-state.warn{color:#e2b451}.cc-state.bad{color:#f19a9d;border-color:var(--c-error)}.cc-left,.cc-right{min-height:0;overflow-y:auto;background:var(--panel);display:flex;flex-direction:column;gap:8px;padding:10px}.cc-left{grid-area:left;border-right:1px solid var(--border)}.cc-right{grid-area:right;border-left:1px solid var(--border)}.cc-center{grid-area:centre;min-height:0;overflow-y:auto;padding:14px 20px 24px}.cc-bottom{grid-area:bottom;border-top:1px solid var(--border);background:var(--panel);padding:8px 14px;max-height:200px;overflow-y:auto;font-size:12.5px}.cc-tab{padding-top:8px}.cc-list{max-height:34vh;overflow-y:auto;flex:none}.cc-swatch{display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:50%;vertical-align:1px}.cc-mark{display:inline-grid;place-items:center;width:15px;height:15px;border:1px solid var(--border);border-radius:3px;font-family:var(--font-mono);font-size:9.5px;color:var(--text-soft)}.cc-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px;align-items:start}.cc-col{display:flex;flex-direction:column;gap:18px;min-width:0}.cc-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.cc-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.cc-num{display:flex;align-items:center;gap:4px}.cc-num .inp{min-width:0;width:100%}.cc-unit{font-size:11px;color:var(--muted);white-space:nowrap}.cc-check{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-soft)}.cc-sec-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.cc-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:#f19a9d}.cc-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--node)}.cc-lib-cat{display:flex;flex-direction:column;gap:2px}.cc-lib-head{font-family:var(--font-label);font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:2px}.cc-lib-btn{display:flex;align-items:center;gap:6px;padding:3px 6px;border:1px solid transparent;border-radius:4px;background:none;color:var(--text-soft);font-size:12.5px;text-align:left;cursor:pointer}.cc-lib-btn:hover,.cc-lib-btn.on{border-color:var(--border);color:var(--text)}.cc-gb{margin-left:auto;padding:0 5px;border-radius:3px;font-family:var(--font-mono);font-size:9.5px;text-transform:uppercase}.cc-gb.working{color:#8fc98a;border:1px solid #4f7a4b}.cc-gb.stub{color:var(--muted);border:1px dashed var(--border)}.cc-gbnote{margin:0;padding:6px 8px;border-radius:4px;font-size:12px;background:var(--node)}.cc-gbnote.working{border-left:3px solid #4f7a4b}.cc-gbnote.stub{border-left:3px dashed var(--muted);color:var(--text-soft)}.cc-cards{display:flex;flex-direction:column;gap:6px}.cc-card{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:6px;background:var(--node)}.cc-card.on{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold-lo)}.cc-card.off{opacity:.55}.cc-card.broken{border-color:var(--c-error)}.cc-card-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:7px 10px;border:0;background:none;color:var(--text);text-align:left}.cc-cat{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:6px;font-weight:700;font-size:13px;color:#10131a;background:var(--gold)}.cc-cat-movement{background:#6cc4d6}.cc-cat-combat{background:#e07a5f}.cc-cat-magic{background:#9a8ee0}.cc-cat-utility{background:#8fc98a}.cc-cat-social{background:#e2b451}.cc-cat-defense{background:#7fa3c9}.cc-card-text{min-width:0;display:flex;flex-direction:column;gap:1px}.cc-card-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-card-desc{font-size:11.5px;color:var(--text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.cc-card-tags .cc-gb{margin-left:0}.cc-card-tools{display:flex;align-items:center;gap:1px;padding:0 4px;border-left:1px solid var(--border)}.cc-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.cc-itemrow{display:grid;grid-template-columns:minmax(0,1fr) 96px auto;align-items:center;gap:6px;padding:2px 4px;border:1px solid transparent;border-radius:4px}.cc-itemrow.on{border-color:var(--gold-lo)}.cc-itemrow.broken{border-color:var(--c-error)}.cc-item-name{border:0;background:none;color:var(--text);text-align:left;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-slot{font-size:12.5px;color:var(--text-soft)}.cc-itemrow:has(.cc-slot){grid-template-columns:90px minmax(0,1fr) auto}.cc-newslot{display:flex;gap:6px}.cc-meters{display:flex;flex-direction:column;gap:6px}.cc-meter{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--text-soft)}.cc-meter-bar{height:6px;border-radius:3px;background:var(--border);overflow:hidden}.cc-meter-bar span{display:block;height:100%;background:#8fc98a}.cc-meter.over .cc-meter-bar span{background:var(--c-error)}.cc-meter.over{color:#f19a9d}.cc-art{display:flex;flex-direction:column;gap:6px;margin-top:6px;padding-top:10px;border-top:1px solid var(--border)}.cc-stage{position:relative;display:grid;place-items:center;height:210px;border:1px dashed var(--border);border-radius:6px;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.05),transparent 70%),var(--ground);overflow:hidden}.cc-stage.over{border-color:var(--gold)}.cc-stage img{max-width:100%;max-height:100%;object-fit:contain}.cc-stage-tag{position:absolute;left:6px;bottom:6px;padding:1px 6px;border-radius:3px;background:#00000080;font-size:10.5px;color:var(--text-soft)}.cc-art-row{display:flex;gap:6px}.cc-art-row .inp{flex:1}.cc-thumbs{display:flex;flex-wrap:wrap;gap:6px}.cc-thumb{position:relative;display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid var(--border);border-radius:4px;background:var(--ground);overflow:hidden}.cc-thumb.on{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold-lo)}.cc-thumb-pick{width:100%;height:100%;padding:0;border:0;background:none}.cc-thumb img{width:100%;height:100%;object-fit:cover}.cc-thumb-x{position:absolute;top:0;right:0;width:16px;height:16px;padding:0;border:0;border-radius:0 0 0 4px;background:#0009;color:#fff;font-size:11px;line-height:1}.cc-ph{display:grid;grid-template-columns:1fr 1fr;gap:6px}.cc-ph .cc-wide{grid-column:1 / -1}.cc-binding{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.cc-binding textarea{resize:vertical;font:inherit}.cc-color{width:100%;padding:2px}.cc-figure{display:block}.cc-summary{display:flex;gap:10px;align-items:center}.cc-insp-title{margin:0;font-size:16px}.cc-tuned .pz-label{color:var(--gold)}.cc-reset{margin-left:6px;padding:0 4px;border:1px solid var(--border);border-radius:3px;background:none;color:var(--muted);font-size:10px;text-transform:none;letter-spacing:0}.cc-action{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--node)}.cc-action.broken{border-color:var(--c-error)}.cc-action>.tb-btn{align-self:flex-start}.cc-preview{display:flex;align-items:center;gap:18px}.cc-wizard{width:min(860px,94vw)}.cc-steps{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 0 12px;padding:0;list-style:none;font-size:12px;color:var(--muted)}.cc-steps .on{color:var(--gold);font-weight:700}.cc-steps .done{color:var(--text-soft)}.cc-wizard-body{min-height:260px;max-height:60vh;overflow-y:auto}.cc-arch{align-items:center;text-align:center}.cc-wiz-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:4px}.cc-wizard .dialog-actions{display:flex;gap:6px}.cc-views{margin-bottom:14px}.cc-views .faint{opacity:.55}.cc-ai,.cc-dialogue,.cc-variants,.cc-role-settings{display:flex;flex-direction:column;gap:18px;max-width:1100px}.cc-note{margin:0;padding:6px 10px;border-left:3px solid var(--gold-lo);background:var(--node);font-size:12.5px;color:var(--text-soft)}.cc-slider{display:grid;grid-template-columns:110px minmax(0,1fr) 32px;align-items:center;gap:8px;font-size:12.5px;color:var(--text-soft)}.cc-slider input{width:100%;accent-color:var(--gold)}.cc-states{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.cc-state-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border:1px solid var(--border);border-radius:999px;font-size:12px;color:var(--text-soft);cursor:pointer}.cc-state-chip.on{border-color:var(--gold-lo);color:var(--text);background:var(--node)}.cc-state-chip.optional:not(.on){border-style:dashed}.cc-state-chip.added{border-color:#4f7a4b}.cc-rank{width:44px;padding:0 4px;border:1px solid var(--border);border-radius:3px;background:var(--ground);color:var(--text);font-size:11.5px}.cc-table{width:100%;border-collapse:collapse;font-size:12.5px}.cc-table th{text-align:left;font-family:var(--font-label);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:2px 4px}.cc-table td{padding:2px 4px;border-top:1px solid var(--border);vertical-align:middle}.cc-table tr.off td{opacity:.45}.cc-when{display:flex;gap:4px;align-items:center}.cc-when .cc-num{width:90px}.cc-row-tools{display:flex;gap:4px;justify-content:flex-end;align-items:center}.cc-preview-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cc-arena{width:100%;max-width:760px;height:auto;border:1px solid var(--border);border-radius:6px;cursor:crosshair}.cc-diag{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;font-size:12.5px}.cc-ai-state{padding:2px 10px;border-radius:4px;font-weight:700;font-size:12px;background:var(--node);border:1px solid var(--border)}.cc-ai-state.s-alert,.cc-ai-state.s-investigate,.cc-ai-state.s-search{color:#e2b451;border-color:#8a6f2f}.cc-ai-state.s-chase,.cc-ai-state.s-attack{color:#f19a9d;border-color:var(--c-error)}.cc-ai-state.s-return,.cc-ai-state.s-patrol,.cc-ai-state.s-idle{color:#8fc98a}.cc-log{margin:0;padding-left:18px;font-size:12px;color:var(--text-soft);max-height:160px;overflow-y:auto}.cc-log li:first-child{color:var(--text)}.cc-topic,.cc-variant{border:1px solid var(--border);border-radius:6px;background:var(--node)}.cc-variant.broken{border-color:var(--c-error)}.cc-topic-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;width:100%;padding:7px 10px;border:0;background:none;color:var(--text);text-align:left;font-size:13px}.cc-topic-head .muted{font-size:12px}.cc-topic-body{display:flex;flex-direction:column;gap:8px;padding:4px 10px 10px}.cc-budget{flex:1 1 120px;max-width:200px;height:5px;margin-left:auto;border-radius:3px;background:var(--border);overflow:hidden}.cc-budget span{display:block;height:100%;background:#8fc98a}.cc-budget.over span{background:var(--c-error)}.cc-gen{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.cc-gen .pz-field{width:130px}.cc-picker{display:flex;flex-direction:column;gap:4px}.cc-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}.cc-chips li{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 8px;border:1px solid var(--border);border-radius:4px;font-size:12px;background:var(--ground)}.cc-chip-x{border:0;background:none;color:var(--muted);padding:0 3px}.cc-itemrow.cc-stock{grid-template-columns:minmax(0,1fr) 80px 80px auto}.cc-preview-tools .inp,.cc-states>.inp{width:auto}.cc-groups{grid-row:2 / 4;grid-column:1 / 4;display:grid;grid-template-columns:280px minmax(0,1fr);min-height:0}.cc-groups>.cc-left,.cc-groups>.cc-center{grid-area:auto}.cc-groups .cc-table .cc-num{width:64px}.lvl-cast-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:6px}@media (max-width: 1720px){.topbar .view-name{display:none}}@media (max-width: 1560px){.topbar .search-btn .tb-label,.topbar .search-btn kbd,.topbar .tb-btn .tb-label{display:none}.topbar .levels-btn{letter-spacing:.06em;padding-left:10px;padding-right:10px}.topbar .bible-btn{padding:0 12px;letter-spacing:.1em}}@media (max-width: 1400px){.topbar .brand{display:none}.topbar .project-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar{gap:6px}.topbar .menu-title{padding-left:6px;padding-right:6px}.topbar .levels-btn{letter-spacing:.03em;padding-left:8px;padding-right:8px}}@media (max-width: 1180px){.topbar .save-state,.topbar .project-name{display:none}.topbar .back-btn{max-width:104px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .bible-btn{padding:0 8px;letter-spacing:.04em}}.pz-graph-wrap{display:flex;flex-direction:column;gap:8px;min-height:0}.pz-graph-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.pz-edge-picked{display:inline-flex;align-items:center;gap:8px;color:var(--gold);font-size:12px}.pz-graph{flex:none;outline:none;border:1px solid var(--border);border-radius:6px;background:#0000002e}.pz-graph-wrap{overflow:auto}.pz-part path{fill:none;stroke:var(--muted);stroke-width:1.5}.pz-part.optional path{stroke-dasharray:2 4}.pz-order{fill:var(--gold);font-size:11px;font-weight:700}.pz-needs{cursor:pointer}.pz-needs-hit{fill:none;stroke:transparent;stroke-width:12}.pz-needs-line{fill:none;stroke:#d88a4a;stroke-width:1.5;stroke-dasharray:6 4}.pz-needs.on .pz-needs-line{stroke:var(--gold);stroke-width:2.5}.pz-arrowhead{fill:#d88a4a}.pz-drag{stroke:var(--gold);stroke-width:1.5;stroke-dasharray:4 3;pointer-events:none}.pz-gnode{cursor:pointer}.pz-gnode rect{fill:var(--panel, #1c1c22);stroke:var(--border);stroke-width:1.5}.pz-gnode.root rect,.pz-gnode.pz-k-goal rect{stroke:var(--gold-lo)}.pz-gnode.pz-k-requirement rect{stroke:#4a86d8}.pz-gnode.pz-k-interaction rect{stroke:#6cc4d6}.pz-gnode.optional rect{stroke-dasharray:4 3}.pz-gnode.broken rect{stroke:#d85a4a}.pz-gnode.on rect{stroke:var(--gold);stroke-width:2.5}.pz-gl{fill:var(--text, #e8e4da);font-size:12px}.pz-gb{fill:var(--muted);font-size:10px}.pz-port{fill:#d88a4a;stroke:var(--panel, #1c1c22);stroke-width:2;cursor:crosshair}.pz-port:hover{fill:var(--gold)}.pz-need{display:inline-flex;align-items:center;gap:4px;margin-right:6px;font-size:12px}.pz-elements,.pz-clues{display:flex;flex-direction:column;gap:14px;max-width:900px}.pz-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:6px}.pz-kind{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:5px;background:#ffffff05;color:var(--text);font-size:12px;text-align:left;cursor:pointer}.pz-kind:hover{border-color:var(--gold-lo)}.pz-kind-icon{flex:none;width:20px;text-align:center;font-size:14px}.pz-element-list{display:flex;flex-direction:column;gap:2px}.pz-element{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid transparent;border-radius:4px;background:none;color:var(--text);font-size:13px;text-align:left;cursor:pointer}.pz-element:hover{background:#ffffff08}.pz-element.on{border-color:var(--gold-lo);background:#ffffff0a}.pz-element-name{min-width:140px}.pz-element .muted{flex:1;font-size:12px}.pz-clue-table{width:100%;border-collapse:collapse;font-size:12px}.pz-clue-table th{padding:4px 6px;border-bottom:1px solid var(--border);color:var(--muted);font-weight:600;text-align:left}.pz-clue-table td{padding:4px 6px;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:top}.pz-warn{color:#d8a14a}.pz-hint,.pz-cue{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.04)}.pz-hint .pz-field:first-of-type{flex:1;min-width:220px}.pz-cue .inp:nth-of-type(3),.pz-cue input.inp{flex:1;min-width:120px}.pz-checks{display:flex;flex-direction:column;gap:2px}.play-hint{margin:4px 0;color:#e8c46a;font-size:13px}.pz-screens{display:flex;flex-direction:column;gap:12px}.pz-screen-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:18px;align-items:start}.pz-screen-design,.pz-screen-preview{display:flex;flex-direction:column;gap:10px}.pz-circuit-grid{display:grid;gap:4px}.pz-circuit-cell{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px;border:1px solid var(--border);border-radius:4px;font-size:11px}.pz-circuit-cell select{flex:1;min-width:76px}.pz-circuit-cell.source{border-color:#6cc46c}.pz-circuit-cell.sink{border-color:#d8a14a}.lvl-toggle.inline{display:inline-flex;margin-right:8px}.scr{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px;border:1px solid var(--gold-lo);border-radius:10px;background:#0f0d09;color:var(--text)}.scr.solved{border-color:#6cc46c}.scr.locked{border-color:#d85a4a}.scr-head{display:flex;justify-content:space-between;width:100%;gap:8px;font-size:12px}.scr-title{color:var(--gold);font-weight:600;letter-spacing:.04em}.scr-prompt{margin:0;color:var(--muted);font-size:12px;text-align:center}.scr-display{min-width:140px;padding:8px 12px;border-radius:4px;background:#050403;color:#9fe29f;font-family:IBM Plex Mono,monospace;font-size:22px;letter-spacing:.3em;text-align:center}.scr-display.small{font-size:13px;letter-spacing:.08em}.scr-keys{display:grid;grid-template-columns:repeat(3,48px);gap:6px}.scr-key,.scr-tile,.scr-cell,.scr-part,.scr-slot,.scr-lever{border:1px solid var(--border);border-radius:6px;background:#1c1912;color:var(--text);cursor:pointer}.scr-key{height:44px;font-size:18px}.scr-key:hover:not(:disabled),.scr-tile:hover:not(:disabled),.scr-cell:hover:not(:disabled){border-color:var(--gold-lo)}.scr-row{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.scr-go{padding:6px 14px;border:1px solid var(--gold-lo);border-radius:5px;background:#2a2416;color:var(--gold);cursor:pointer}.scr-go.soft{border-color:var(--border);background:#1c1912;color:var(--text)}.scr-dial-face{fill:#1c1912;stroke:var(--gold-lo);stroke-width:2}.scr-tick{stroke:var(--muted)}.scr-dial-num{fill:var(--gold);font-size:16px}.scr-pointer{fill:var(--gold)}.scr-tiles,.scr-circuit{display:grid;gap:4px}.scr-tile{width:44px;height:44px;font-size:17px}.scr-tile.gap{border-style:dashed;background:transparent}.scr-cell{width:42px;height:42px;padding:0}.scr-cell.source{border-color:#6cc46c}.scr-cell.sink{border-color:#d8a14a}.scr-wire{stroke:#8a7d5a;stroke-width:6;stroke-linecap:round}.scr-wire.lit,.scr-wire-dot.lit{stroke:#9fe29f;fill:#9fe29f}.scr-wire-dot{fill:#8a7d5a}.scr-rings{display:flex;flex-direction:column;align-items:center;gap:6px}.scr-ring{fill:none;stroke:#8a7d5a;stroke-width:5}.scr-mark{fill:var(--muted)}.scr-mark.lit{fill:#9fe29f}.scr-guide{stroke:var(--gold);stroke-dasharray:2 3}.scr-parts,.scr-slots,.scr-levers{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.scr-part,.scr-slot{display:flex;flex-direction:column;align-items:center;min-width:70px;padding:6px 10px;font-size:13px}.scr-part.on{border-color:var(--gold)}.scr-part.used{opacity:.6}.scr-slot{border-style:dashed}.scr-match{display:flex;gap:18px}.scr-col{display:flex;flex-direction:column;gap:6px}.scr-order{margin:0;padding-left:22px}.scr-order li{display:flex;align-items:center;gap:6px;padding:2px 0}.scr-order li span{min-width:120px}.scr-lever{display:flex;flex-direction:column;align-items:center;gap:4px;width:46px;padding:6px 0;font-size:12px}.scr-lever-arm{width:6px;height:26px;border-radius:3px;background:#8a7d5a;transform:rotate(-25deg);transition:transform .15s}.scr-lever.on .scr-lever-arm{background:#9fe29f;transform:rotate(25deg)}.scr-message{min-height:1.2em;margin:0;font-size:13px}.scr-message.right{color:#9fe29f}.scr-message.wrong{color:#e8846a}.play-screen{max-width:420px;padding:0;background:transparent;border:none}.lvl-puzzle-badge circle{fill:#12100b;stroke:#6cc4d6;stroke-width:1.5;vector-effect:non-scaling-stroke}.pz-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;color:var(--muted);font-size:12px}.pz-crumb{padding:0;border:none;background:none;color:var(--gold);font-size:12px;cursor:pointer}.pz-crumb:hover{text-decoration:underline}.pz-test{display:flex;flex-direction:column;gap:14px}.pz-test-split{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr) minmax(200px,1fr);gap:16px;align-items:start}.pz-solve{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--border);border-radius:6px}.pz-solve.yes{border-color:#6cc46c}.pz-solve.no{border-color:#d85a4a}.pz-path{margin:0;padding-left:20px;font-size:13px}.pz-actions{display:flex;flex-wrap:wrap;gap:6px}.pz-step-states{margin:0;padding:0;list-style:none;font-size:13px}.pz-step-states li.done button{color:#9fe29f}.pz-step-states li.locked button{color:var(--muted)}.pz-solved-flag{margin:4px 0 0;color:var(--muted)}.pz-solved-flag.yes{color:var(--gold);font-weight:600}.pz-test-log{max-height:320px;margin:0;padding:8px;overflow:auto;border:1px solid var(--border);border-radius:4px;background:#0b0a07;font-size:12px;white-space:pre-wrap}.license-panel{display:flex;flex-direction:column;gap:10px;min-width:360px}.license-plan{font-family:var(--display, inherit);letter-spacing:.16em;text-transform:uppercase;font-size:13px}.license-plan.on{color:var(--gold-hi)}.license-plan.off{color:var(--muted)}.license-facts{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:0;font-size:13px}.license-facts dt{color:var(--muted)}.license-facts dd{margin:0;color:var(--text)}.license-serial{font-family:var(--mono, monospace);letter-spacing:.04em}.license-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.license-form .dialog-text{flex-basis:100%;margin:0}.license-form input{flex:1 1 200px;background:var(--node);border:1px solid var(--border-strong);border-radius:4px;color:var(--text);padding:6px 8px;font:inherit}.license-note{margin:0;padding:8px 10px;border-left:2px solid var(--gold);background:var(--node);color:var(--text-soft);font-size:13px}.setup-wizard{width:min(560px,calc(100% - 32px))}.setup-steps{display:flex;gap:4px;margin:0;padding:0;list-style:none;flex-wrap:wrap}.setup-step{border:1px solid var(--border-strong);background:transparent;color:var(--muted);border-radius:999px;padding:3px 10px;font-size:11.5px;cursor:pointer}.setup-step.on{border-color:var(--gold-lo);color:var(--text)}.setup-step.done{color:var(--text-soft)}.setup-chips{display:flex;flex-wrap:wrap;gap:6px}.setup-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-strong);border-radius:6px;padding:4px 9px;font-size:12.5px;color:var(--text-soft);cursor:pointer}.setup-chip input{margin:0}.setup-chip.on{border-color:var(--gold-lo);color:var(--text)}.setup-row{display:flex;gap:10px;align-items:flex-end}.setup-blank{margin-right:auto}.bible-setup{display:flex;flex-direction:column;gap:10px}.bible-setup h3{margin:0;font-size:13px;font-weight:600}.capabilities summary{cursor:pointer;font-size:12.5px;color:var(--text-soft)}.capabilities table{width:100%;margin-top:8px;border-collapse:collapse;font-size:12.5px}.capabilities th,.capabilities td{text-align:left;vertical-align:top;padding:5px 6px;border-top:1px solid var(--border);font-weight:400}.capabilities th{color:var(--text);width:42%}.cap{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;margin-right:6px}.cap-auto{background:#6fae5e2e;color:var(--c-environment)}.cap-binding{background:#f2c23026;color:var(--c-choice)}.cap-none{background:#9c8f6d26;color:var(--muted)}.cap-note{color:var(--muted)}.play-countdown{position:relative;height:18px;margin:2px 0 6px;border-radius:4px;background:var(--node-raised);overflow:hidden;font-size:11px}.play-countdown-bar{position:absolute;inset:0 auto 0 0;background:var(--gold);opacity:.35;transition:width .1s linear}.play-countdown span{position:relative;padding:0 6px;line-height:18px}.guide .guide-text{margin:0 0 10px;font-size:13px;line-height:1.55;color:var(--text-soft);max-width:60ch}.guide .guide-dots .setup-step{min-width:28px;justify-content:center}.play-stamina span{background:linear-gradient(90deg,#3e9bd6,#7fd1b9)}.kinds-list{list-style:none;margin:10px 0;padding:0;display:grid;gap:6px}.kinds-row{display:grid;grid-template-columns:140px 150px 1fr auto;gap:8px;align-items:center}.kinds-new{margin-top:8px}.handoff-file{width:100%;margin-top:8px;justify-content:center}.handoff-saved{margin-top:10px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--node);font-size:12px}.handoff-saved ol{margin:6px 0 8px;padding-left:18px;color:var(--text);line-height:1.5}.track-level{border-top:1px solid color-mix(in srgb,var(--lane) 35%,var(--ground));border-bottom:1px solid color-mix(in srgb,var(--lane) 35%,var(--ground));background:color-mix(in srgb,var(--lane) 4%,transparent)}.header-level{flex-direction:row;align-items:center;justify-content:space-between;gap:8px}.header-add{height:22px;padding:0 8px;border:1px solid color-mix(in srgb,var(--lane) 55%,var(--border));border-radius:4px;background:color-mix(in srgb,var(--lane) 10%,var(--node));color:var(--text);font-size:11.5px;white-space:nowrap}.header-add:hover{border-color:var(--lane)}.level-hint{position:absolute;left:140px;transform:translateY(-50%);font-size:12px;color:var(--c-environment);white-space:nowrap;opacity:.85;pointer-events:none}.level-band{position:absolute;display:flex;align-items:center;gap:8px;padding:0 14px;border:1px solid color-mix(in srgb,var(--c-environment) 70%,transparent);border-radius:6px;background:color-mix(in srgb,var(--c-environment) 14%,transparent);cursor:pointer;min-width:0;overflow:hidden;white-space:nowrap}.level-band b{font-family:var(--font-label);font-size:10px;letter-spacing:.12em;color:var(--c-environment)}.level-name{font-weight:600;font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis}.level-band .header-input{height:22px;font-size:13px}.level-actions{margin-left:auto;display:flex;gap:4px}.level-actions button{height:22px;padding:0 7px;border:1px solid var(--border);border-radius:4px;background:var(--node);color:var(--muted);font-size:11px}.level-actions button:hover{color:var(--text);border-color:var(--c-environment)}.level-handle{background:var(--c-environment)}.credits{margin:18px 22px 24px;padding:14px 16px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.credits-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;font-size:12px}.credits-head b{font-family:var(--font-label);font-size:10.5px;letter-spacing:.12em;color:var(--c-cinematic)}.credits-list{margin:0;padding-left:22px;display:grid;gap:6px}.credit-row{display:flex;align-items:center;gap:6px}.credit-role{flex:0 1 220px}.credit-name{flex:1 1 auto}.credits-empty{margin:4px 0 0;font-size:12.5px}.play-credits{margin:8px 0 0;padding:10px 0 0;border-top:1px dashed var(--border);list-style:none;text-align:center;font-size:13px;line-height:1.7;color:var(--text-soft)}.header-level b{flex-shrink:0}.add-menu{max-height:340px;overflow-y:auto;z-index:5}.add-menu.up{top:auto;bottom:34px}.scene-meta{flex-wrap:wrap;row-gap:8px}.box-resize{position:absolute;z-index:3}.box-resize.right{top:12px;right:-5px;bottom:12px;width:10px;cursor:ew-resize}.box-resize.bottom{left:12px;right:12px;bottom:-5px;height:10px;cursor:ns-resize}.box-resize.corner{right:-6px;bottom:-6px;width:16px;height:16px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,var(--c-scene) 50%,var(--c-scene) 60%,transparent 60%,transparent 70%,var(--c-scene) 70%,var(--c-scene) 80%,transparent 80%);border-bottom-right-radius:10px}.box-resize.right:hover,.box-resize.bottom:hover{background:color-mix(in srgb,var(--c-scene) 35%,transparent);border-radius:4px}.chip-item{cursor:pointer}.dialog-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:12px;color:var(--muted)}.save-name{display:flex;align-items:center;gap:6px}.save-name input{flex:1;min-width:0;padding:7px 9px;font:inherit;font-size:14px;color:var(--text);background:var(--node);border:1px solid var(--border-strong);border-radius:4px}.save-name input:focus{outline:none;border-color:var(--gold)}.save-name .mono{color:var(--text-soft)}.scene-split .scene-main{position:absolute;left:0;top:0;right:var(--side, 320px);bottom:52px;padding:16px}.scene-split .scene-box{position:relative;width:100%;height:100%}.scene-side{position:absolute;top:0;right:0;bottom:52px;width:var(--side, 320px);background:var(--panel);border-left:1px solid var(--border);display:flex;flex-direction:column;z-index:2}.side-list,.side-detail{flex:1;min-height:0;overflow-y:auto}.side-resize{position:absolute;left:-3px;top:0;bottom:0;width:6px;cursor:ew-resize;z-index:3}.side-resize:hover{background:var(--gold-lo)}.side-list{padding:12px 12px 20px;display:flex;flex-direction:column;gap:6px}.side-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-family:var(--font-label);font-size:11px;letter-spacing:.08em;color:var(--gold);padding:2px 4px 6px}.side-hint{font-size:11px;letter-spacing:0;color:var(--muted)}.side-cat{border:1px solid var(--border);border-radius:8px;background:var(--node)}.side-cat.target{border-color:var(--cat);box-shadow:0 0 0 2px color-mix(in srgb,var(--cat) 35%,transparent)}.side-cat-head{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;background:none;border:0;color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer}.side-cat-head:hover{color:var(--gold-hi)}.side-caret{width:10px;color:var(--muted);font-size:10px}.side-cat-name{flex:1}.side-cat .cnt{min-width:20px;padding:1px 6px;border-radius:9px;text-align:center;font-size:11px;color:var(--ground);background:var(--cat)}.side-items{display:flex;flex-direction:column;gap:4px;padding:0 8px 8px}.side-item{display:flex;align-items:center;gap:8px;height:32px;padding:0 4px 0 10px;border-radius:6px;border:1px solid color-mix(in srgb,var(--cat) 55%,transparent);background:var(--panel);font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.side-item:hover{border-color:var(--cat)}.side-item.selected{box-shadow:0 0 0 1.5px var(--gold-hi)}.side-item .chip-name{flex:1}.side-item .chip-input{flex:1;min-width:0}.side-open{width:24px;height:24px;border:0;border-radius:4px;background:none;color:var(--muted);font-size:16px;line-height:1;cursor:pointer}.side-open:hover{color:var(--gold-hi);background:var(--node-raised)}.side-dlg{position:static;margin:4px 0 2px 18px}.side-empty{padding:2px 4px;font-size:12px;color:var(--muted)}.side-add{display:flex;flex-direction:column;gap:4px}.side-add .chip-add{width:100%}.add-menu.inline{position:static;min-width:0;max-height:none;box-shadow:none}.side-detail{padding:10px 12px 20px}.side-back{margin-bottom:8px;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--node);color:var(--text-soft);font-size:12px;cursor:pointer}.side-back:hover{color:var(--gold-hi)}.scene-side .detail-panel{position:static;width:auto;padding:0;border:0;box-shadow:none;background:none;overflow:visible}.track-subplot{border-top:1px solid color-mix(in srgb,var(--lane) 35%,var(--ground));border-bottom:1px solid color-mix(in srgb,var(--lane) 35%,var(--ground));background:color-mix(in srgb,var(--lane) 5%,transparent)}.header-row{display:flex;align-items:center;gap:6px;min-width:0}.header-row b{min-width:0}.lane-grip{flex:none;width:14px;color:var(--muted);font-size:12px;line-height:1;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.lane-grip:hover{color:var(--gold-hi)}.lane-grip:active{cursor:grabbing}.lane-menu button:disabled{opacity:.45;cursor:default}.header-level .header-row{flex-shrink:0}.header-lane-name{flex:none;font-size:12.5px;line-height:16px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-bar{grid-area:ws;display:flex;align-items:center;gap:6px;padding:0 12px;background:var(--panel);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.ws-btn{flex:none;height:34px;padding:0 16px;border:1px solid var(--border);border-radius:6px;background:var(--node);color:var(--text-soft);font-family:var(--font-label);font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.ws-btn:hover{color:var(--gold-hi);border-color:var(--gold-lo)}.ws-btn.on{color:var(--ground);background:var(--gold-gradient);border-color:var(--gold)}.scene-overview{display:flex;flex-direction:column;gap:14px;max-width:920px}.ov-label{font-family:var(--font-label);font-size:10.5px;letter-spacing:.12em;color:var(--gold);flex:none;min-width:96px}.ov-where,.ov-section{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--node)}.ov-where.missing{border-color:var(--gold-lo);background:color-mix(in srgb,var(--gold) 8%,var(--node))}.ov-path{flex:1;color:var(--text)}.ov-field{display:flex;flex-direction:column;gap:6px}.ov-field span{font-family:var(--font-label);font-size:10.5px;letter-spacing:.12em;color:var(--gold);text-transform:uppercase}.ov-field textarea{min-height:64px;resize:vertical;padding:8px 10px;font:inherit;font-size:14px;line-height:1.5;color:var(--text);background:var(--node);border:1px solid var(--border);border-radius:6px}.ov-field textarea:focus{outline:none;border-color:var(--gold-lo)}.ov-cats{flex:1;display:flex;flex-direction:column;gap:6px}.ov-cat{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ov-cat-head{display:inline-flex;align-items:center;gap:6px;min-width:110px;color:var(--cat);font-size:12.5px}.ov-item{padding:3px 9px;border:1px solid var(--border-strong);border-radius:12px;background:var(--panel);color:var(--text);font:inherit;font-size:12.5px;cursor:pointer}.ov-item:hover:not(:disabled){border-color:var(--gold-lo);color:var(--gold-hi)}.ov-item:disabled{cursor:default}.ov-exits{flex:1;display:flex;flex-wrap:wrap;gap:6px}.scene-body:has(.area-map){padding:0;overflow:hidden;display:flex}.area-map{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0}.area-bar,.area-elements{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;padding:8px 12px;background:var(--panel)}.area-bar{border-bottom:1px solid var(--border)}.area-elements{border-top:1px solid var(--border)}.area-path{font-size:13px;color:var(--text-soft)}.area-sep{margin:0 6px;color:var(--muted)}.area-here{color:var(--gold-hi);font-weight:600}.area-body{position:relative;flex:1;min-height:0;display:flex}.area-hint{position:absolute;left:50%;top:10px;transform:translate(-50%);padding:5px 12px;border-radius:14px;background:#000000bf;color:var(--text);font-size:12.5px;pointer-events:none}.area-elements-head{font-family:var(--font-label);font-size:10.5px;letter-spacing:.12em;color:var(--gold)}.area-empty{font-size:12.5px;color:var(--muted)}.area-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px dashed var(--border-strong);border-radius:14px;background:var(--node);color:var(--text);font:inherit;font-size:12.5px;cursor:pointer}.area-chip.placed{border-style:solid}.area-chip.on{border-color:var(--gold-hi);box-shadow:0 0 0 1px var(--gold-hi)}.area-check{color:var(--c-environment)}.tb-btn.on{border-color:var(--gold-hi);color:var(--gold-hi)}.area-chooser{display:flex;flex-direction:column;gap:12px;max-width:760px}.area-chooser h3{margin:0;font-size:16px;color:var(--text)}.area-field{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted)}.area-field span{min-width:56px}.area-field input,.area-field select{flex:1;max-width:360px;padding:6px 8px;font:inherit;color:var(--text);background:var(--node);border:1px solid var(--border-strong);border-radius:4px}.area-presets{display:flex;flex-wrap:wrap;gap:8px}.area-preset{flex:1 1 180px;display:flex;flex-direction:column;gap:3px;padding:10px 12px;text-align:left;border:1px solid var(--border);border-radius:8px;background:var(--node);color:var(--text-soft);font:inherit;font-size:12px;cursor:pointer}.area-preset b{color:var(--text);font-size:13px}.area-preset.on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.area-new,.area-list{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--node)}.area-new>.tb-btn{align-self:flex-start}.area-row{display:flex;align-items:center;gap:10px;padding:4px 8px;border-radius:6px}.area-row:hover,.area-row.on{background:var(--panel)}.area-kind{min-width:80px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.area-name{flex:1;color:var(--text)}.area-seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:6px;overflow:hidden}.area-seg button{padding:4px 10px;border:0;background:var(--node);color:var(--text-soft);font:inherit;font-size:12px;cursor:pointer}.area-seg button.on{background:var(--node-raised);color:var(--gold-hi)}.endings-column{position:absolute;border:1px solid color-mix(in srgb,var(--gold) 40%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--gold) 5%,transparent);z-index:0}.endings-head{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px 10px}.endings-head b{font-family:var(--font-label);font-size:10.5px;letter-spacing:.12em;color:var(--gold)}.endings-hint{display:block;padding:4px 12px;font-size:11.5px;color:var(--muted)}.level-end{position:absolute;width:0;border-left:2px dashed color-mix(in srgb,var(--c-environment) 80%,transparent);pointer-events:none;z-index:1}.level-end-tag{position:absolute;bottom:4px;left:6px;display:flex;flex-direction:column;padding:2px 6px;border-radius:4px;background:color-mix(in srgb,var(--c-environment) 22%,var(--panel));border:1px solid color-mix(in srgb,var(--c-environment) 60%,transparent);font-size:10px;line-height:1.3;white-space:nowrap}.level-end-tag b{letter-spacing:.06em}.level-end.last .level-end-tag span{opacity:.7;font-style:italic}.play-level{margin:14px 0 8px;padding:6px 10px;display:flex;flex-direction:column;align-items:center;gap:2px;border-top:1px dashed color-mix(in srgb,var(--c-environment) 70%,transparent);border-bottom:1px dashed color-mix(in srgb,var(--c-environment) 70%,transparent);font-size:12px;letter-spacing:.08em}.play-level-from{opacity:.75}.play-level-to{font-weight:700;color:var(--c-environment)}.endings-rail{position:absolute;top:0;right:0;bottom:0;z-index:3;display:flex;flex-direction:column;background:color-mix(in srgb,var(--panel) 88%,transparent);border-left:1px solid color-mix(in srgb,var(--gold) 40%,var(--border));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.endings-rail .endings-head{height:48px;box-sizing:border-box;border-bottom:1px solid var(--border)}.endings-rail .endings-hint{margin-top:8px}.endings-rail .endings-foot{margin-top:auto;padding-bottom:14px;font-size:11px}.world-rail{z-index:4}.level-end-tag{pointer-events:auto}.level-end-btn{margin-top:2px;padding:1px 6px;border:1px solid color-mix(in srgb,var(--c-environment) 60%,transparent);border-radius:3px;background:transparent;color:inherit;font:inherit;font-size:10px;cursor:pointer;text-align:left;max-width:180px;overflow:hidden;text-overflow:ellipsis}.level-end-btn:hover{background:color-mix(in srgb,var(--c-environment) 25%,transparent)}.play-transition{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.play-transition .play-countdown{align-self:stretch}.play-transition-shots{margin:0;padding-left:20px;font-size:12px;align-self:stretch;color:var(--muted)}.play-transition-shots li{padding:1px 0}.play-transition-shots li.playing{color:var(--gold-hi)}.lvl-import-plan{width:min(920px,calc(100vw - 32px))}.lvl-import-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:16px;margin:12px 0}@media (max-width: 720px){.lvl-import-body{grid-template-columns:1fr}}.lvl-import-layers{width:100%;border-collapse:collapse;font-size:12px}.lvl-import-layers th,.lvl-import-layers td{text-align:left;padding:3px 4px;border-bottom:1px solid var(--line, rgba(128, 128, 128, .2))}.lvl-import-swatch{display:inline-block;width:10px;height:10px;border-radius:2px;border:1px solid rgba(128,128,128,.4);vertical-align:middle}.lvl-import-preview svg{width:100%;max-height:340px;background:var(--panel-2, rgba(128, 128, 128, .06));border-radius:6px}.lvl-structure-dialog{width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto}.lvl-structure-presets,.lvl-structure-dialog .lvl-world-size{grid-template-columns:repeat(3,minmax(0,1fr))}.lvl-structure-dialog .lvl-check{flex-direction:row;align-items:center;gap:8px}.lvl-structure-actions{display:flex;gap:6px;flex-wrap:wrap}.lvl-structure{flex:0 0 auto;max-height:42%;min-height:120px;display:flex;flex-direction:column;border-top:1px solid var(--border);background:var(--panel, var(--ground))}.lvl-structure-head{display:flex;align-items:center;gap:10px;padding:6px 10px;border-bottom:1px solid var(--border);font-size:12px}.lvl-structure-head .grow{flex:1}.lvl-structure-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 300px}.lvl-structure-graph{overflow:auto;position:relative}.lvl-structure-empty{position:absolute;inset:40px 20px auto 110px;font-size:12px}.lvl-structure-side{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--border)}.lvl-structure-side>.view-toggle{margin:6px 8px 0;align-self:flex-start;flex:none}.lvl-structure-issues{list-style:none;margin:0;padding:8px;overflow:auto;min-height:0;display:flex;flex-direction:column;gap:6px;font-size:12px}.lvl-structure-issues .lvl-issue{width:100%;text-align:left;font:inherit;color:inherit;background:none;cursor:pointer}.lvl-structure-issues .lvl-issue.info{border-left-color:var(--gold-lo, #8a7a4a)}.lvl-structure-band{fill:transparent;stroke:var(--border);stroke-width:1}.lvl-structure-band.on{fill:color-mix(in srgb,var(--gold) 7%,transparent)}.lvl-structure-floor{fill:var(--gold);font:600 12px var(--mono, monospace)}.lvl-structure-floorname{fill:var(--muted, #8a8a8a);font-size:10px}.lvl-structure-label{fill:var(--text, currentColor);font-size:11px}.lvl-structure-edge{stroke:var(--muted, #8a8a8a);stroke-width:1.5}.lvl-structure-edge.vertical{stroke:var(--gold);stroke-dasharray:5 3}.lvl-structure-edge.opening{stroke-dasharray:2 3}.lvl-structure-edge.gated{stroke:var(--c-error, #e5484d)}.lvl-structure-edge.secret{stroke-dasharray:1 3;stroke-linecap:round}.lvl-structure-arrow{fill:var(--muted, #8a8a8a)}.lvl-structure-walk .lvl-issue:disabled{cursor:default}.lvl-structure-walk .lvl-walk-step.unlock .lvl-issue,.lvl-structure-walk .lvl-walk-step.break .lvl-issue,.lvl-structure-walk .lvl-walk-step.find .lvl-issue{border-left-color:var(--c-error, #e5484d)}.lvl-structure-walk .lvl-walk-step.take .lvl-issue,.lvl-structure-walk .lvl-walk-step.objective .lvl-issue{border-left-color:var(--gold)}.lvl-structure-outside{fill:none;stroke:var(--muted, #8a8a8a);stroke-width:1.5;stroke-dasharray:3 2}.lvl-structure-node{cursor:pointer}.lvl-structure-node circle{fill:var(--gold);stroke:var(--ground);stroke-width:1.5}.lvl-structure-node circle.corridor{fill:#7fa7c9}.lvl-structure-node circle.stairwell{fill:#b58fd1}.lvl-structure-node circle.unreachable{fill:var(--ground);stroke:var(--c-error, #e5484d);stroke-width:2}.lvl-structure-node circle.shut{fill:var(--ground);stroke:var(--gold);stroke-width:2;stroke-dasharray:2 2}.lvl-structure-node circle.on{stroke:var(--text, #fff);stroke-width:2.5}.lvl-structure-node:focus-visible circle{stroke:var(--text, #fff);stroke-width:2.5}.lvl-generate{flex:0 0 auto;max-height:34%;display:flex;flex-direction:column;border-top:1px solid var(--border);background:var(--panel, var(--ground))}.lvl-ask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;cursor:crosshair;background:#e8c8720a;outline:2px dashed rgba(232,200,114,.5);outline-offset:-4px}.lvl-ask-hint{position:absolute;top:10px;left:50%;transform:translate(-50%);padding:4px 12px;border-radius:999px;background:var(--panel, #1a1710);border:1px solid var(--gold, #c9a54a);font-size:12px;white-space:nowrap;pointer-events:none}.lvl-guided{margin:0 0 8px;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:12px}.lvl-guided li{display:flex;align-items:center;justify-content:space-between;gap:8px;opacity:.7}.lvl-guided li.now{opacity:1}.lvl-guided li.done{opacity:.9}.lvl-guided li.done strong:before{content:"✓ ";color:var(--gold-hi, #e8c872)}.lvl-team{width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto}.lvl-team-block{border-top:1px solid var(--border);padding:8px 0;display:flex;flex-direction:column;gap:6px}.lvl-team-block h3{margin:0;font-size:13px}.lvl-team-list{margin:0;padding-left:18px;font-size:12px}.lvl-team-conflict{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;padding:3px 0}.lvl-claim{font-size:12px;padding:2px 8px;border-radius:999px;background:#e0a03a2e;border:1px solid rgba(224,160,58,.5)}.lvl-prefabs-body{overflow:auto;padding:8px 12px 12px;display:flex;flex-direction:column;gap:6px}.lvl-prefabs-body h4{margin:8px 0 2px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;opacity:.75}.lvl-prefabs-save{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px}.lvl-prefab-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.lvl-prefab{display:flex;align-items:center;gap:8px;padding:4px 6px;border:1px solid var(--border);border-radius:6px}.lvl-prefab-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;font-size:12px}.lvl-prefab-catalog{display:flex;flex-direction:column;gap:4px}.lvl-generate-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:0;overflow:auto}.lvl-generate-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;padding:8px 10px;align-content:start}.lvl-generate-fields .view-toggle{grid-column:1 / -1;justify-self:start}.lvl-generate-fields .lvl-check{flex-direction:row;align-items:center;gap:8px}.lvl-generate-side{display:flex;flex-direction:column;gap:8px;padding:8px 10px;border-left:1px solid var(--border);font-size:12px}.lvl-generate-sum{margin:0}.lvl-generate-notes{border-left:0;padding:0;max-height:140px}.lvl-generate+.lvl-structure{max-height:24%}.lvl-objectives{display:flex;flex-direction:column;gap:6px;margin:6px 0 8px}.lvl-objective{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:4px 6px;align-items:center;padding:6px;border:1px solid var(--border);border-radius:6px}.lvl-objective>select{grid-column:2 / 4}.lvl-objective>.lvl-check{grid-column:2;display:flex;gap:4px;align-items:center;font-size:12px}.lvl-objective>.icon-btn{grid-column:3;grid-row:1}.lvl-objective>.rule{grid-column:1 / 4}.lvl-objective-n{font:600 11px var(--mono, monospace);color:var(--gold);text-align:center}.lvl-chips{display:flex;flex-wrap:wrap;gap:4px}.lvl-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;font-size:12px;cursor:pointer}.lvl-chip.on{border-color:var(--gold);color:var(--gold)}.lvl-chip input{margin:0}.lvl-place-room{display:flex;flex-direction:column;gap:4px;margin-top:6px}.lvl-hall-dialog{width:min(380px,calc(100vw - 32px))}.lvl-hall-widths{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line, #3a342a);border-radius:6px;padding:10px 12px;margin:10px 0}.lvl-hall-widths label{display:flex;align-items:center;gap:6px}.lvl-hall-widths .inp.small{width:80px}.lvl-fly-tab{position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:6;writing-mode:vertical-rl;rotate:180deg;padding:14px 6px;border:1px solid var(--border);border-left:none;border-radius:6px 0 0 6px;background:var(--panel);color:var(--text-soft);font:600 12px var(--font-ui, inherit);letter-spacing:.08em;cursor:pointer}.lvl-fly-tab:hover{color:var(--gold-hi);border-color:var(--gold-lo)}.lvl-fly{position:absolute;left:0;top:0;bottom:0;z-index:6;width:300px;max-width:calc(100% - 40px);display:flex;flex-direction:column;min-height:0;background:var(--panel);border-right:1px solid var(--border);box-shadow:8px 0 24px #00000073;animation:lvl-fly-in .16s ease-out}.lvl-fly.pinned{box-shadow:none;animation:none}.lvl-fly.ghost{opacity:.25;pointer-events:none}@keyframes lvl-fly-in{0%{transform:translate(-24px);opacity:0}}.lvl.lib-pinned .lvl-centre{padding-left:300px}.lvl-lib{display:flex;flex-direction:column;min-height:0;flex:1}.lvl-fly-head{display:flex;align-items:center;gap:4px;padding:8px 8px 6px 12px;border-bottom:1px solid var(--border)}.lvl-fly-head .grow{flex:1}.lvl-pin.on{color:var(--gold-hi)}.lvl-left-head{display:flex;align-items:center;gap:6px;padding:8px 12px 4px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft);border-top:1px solid var(--border)}.side-say{border:1px solid var(--c-dialogue, var(--gold-lo));border-radius:999px;background:none;color:var(--c-dialogue, var(--gold-hi));font-size:11px;padding:1px 8px;margin-left:auto;cursor:pointer;white-space:nowrap}.side-say:hover{background:color-mix(in srgb,var(--c-dialogue, #c9a45c) 18%,transparent)}.play-vo{color:var(--muted);font-weight:400}.script-bar{display:flex;align-items:center;gap:6px;margin:-6px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--border)}.script-bar .grow{flex:1}.beat-board{max-width:760px;padding-bottom:80px}.beat-heading{font-weight:700;margin-bottom:4px}.beat-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.beat{display:grid;grid-template-columns:auto auto 1fr auto;align-items:start;gap:8px;padding:8px 10px;border:1px solid var(--border);border-left:3px solid var(--muted);border-radius:5px;background:var(--node);cursor:grab;position:relative}.beat:focus-visible{outline:2px solid var(--c-scene);outline-offset:1px}.beat-dialogue{border-left-color:var(--c-character)}.beat-transition{border-left-color:var(--c-scene)}.beat.dragging{opacity:.45}.beat.drop-before:before,.beat.drop-after:after{content:"";position:absolute;left:0;right:0;height:3px;border-radius:2px;background:var(--c-scene)}.beat.drop-before:before{top:-5px}.beat.drop-after:after{bottom:-5px}.beat-grip{color:var(--muted);letter-spacing:-3px;padding-top:2px;-webkit-user-select:none;user-select:none}.beat-no{min-width:1.6em;text-align:right;color:var(--muted);font-size:12px;padding-top:2px}.beat-top{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:11px}.beat-kind{text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.beat-cue{font-weight:700;font-size:12px;color:var(--text)}.beat-take{color:var(--muted);margin-left:auto}.beat-text{margin-top:3px;font-family:Courier Prime,Courier New,monospace;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.beat-moves{display:flex;gap:2px}.dialog.script-export{width:min(880px,calc(100vw - 32px));max-height:calc(100vh - 40px);display:flex;flex-direction:column}.script-export-tabs{margin:0 0 8px}.script-export-opts{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0}.script-export-preview{flex:1;min-height:320px;height:52vh;width:100%;border:1px solid var(--border);border-radius:4px;background:#fff}.take{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:6px;padding:3px;border:1px dashed transparent;border-radius:5px;font-size:12px;min-width:0}.take.over{border-color:var(--c-scene);background:#ffffff0a}.take.compact{margin-top:4px;padding:0}.take-play{color:var(--vo-recorded, #6fbf73)}.take-name{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:11.5px}.take-meta{color:var(--muted);font-size:11px}.take-error{flex-basis:100%;color:#e0806b;font-size:11.5px}.beat-takes{display:flex;flex-wrap:wrap;gap:2px 10px}.takes-list{flex:1;min-height:320px;height:52vh;overflow-y:auto;border:1px solid var(--border);border-radius:4px;padding:4px 10px}.takes-list ol{list-style:none;margin:0;padding:0}.takes-row{display:grid;grid-template-columns:2.2em minmax(0,1fr) auto;gap:4px 10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--border)}.takes-row .no{text-align:right;color:var(--muted);font-size:12px}.takes-row .cue{font-family:Courier Prime,Courier New,monospace;font-weight:700}.takes-row .dir{font-style:italic;color:var(--muted)}.takes-row .key{margin-left:6px;color:var(--muted);font-size:11px}.takes-row .say{font-family:Courier Prime,Courier New,monospace;font-size:13px;overflow-wrap:anywhere}.takes-row .take{margin:0;justify-content:flex-end}@media (max-width: 640px){.takes-row{grid-template-columns:2.2em minmax(0,1fr)}.takes-row .take{grid-column:2;justify-content:flex-start}}.play-heard{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px}.play-replay{opacity:.55;margin-top:2px}.play-heard:hover .play-replay,.play-replay:focus-visible{opacity:1}.play-line.speaking .play-said{color:var(--text);text-shadow:0 0 12px rgba(255,220,140,.25)}.play-speaking{font-size:.85em}.play-subtitles-anchor{position:relative;height:0}.play-subtitles-screen{position:absolute;left:0;right:0;bottom:28px;pointer-events:none}.play-subtitles-screen .play-subtitles{bottom:0;font-size:17px}.play-subtitles{position:absolute;left:50%;bottom:10px;transform:translate(-50%);width:min(720px,calc(100% - 32px));padding:8px 14px;border-radius:6px;background:#000000c7;color:#fff;text-align:center;font-size:15px;line-height:1.4;pointer-events:none;z-index:2}.play-subtitle+.play-subtitle{margin-top:4px}.play-subtitle-who{color:#f2d48a}.about-credit{font-size:11.5px;color:var(--muted)}.takes-files{list-style:none;margin:0;padding:10px 12px}.takes-files li{padding:2px 0}.bible-subtitle-text{padding:6px 10px;border-radius:5px;background:#0000008c;color:#fff;font-size:13px}.bible-subtitle .small{font-size:11.5px;margin-top:4px}.takes-subtitle{font-size:11.5px;margin-top:2px}.lvl-budget{margin:8px 0 10px}.lvl-budget-head{display:flex;justify-content:space-between;gap:8px;font-size:12px}.lvl-budget-bar{height:6px;border-radius:3px;background:var(--line, rgba(255, 255, 255, .12));overflow:hidden;margin:4px 0}.lvl-budget-bar>span{display:block;height:100%;background:#6fae5e}.lvl-budget.near .lvl-budget-bar>span{background:#e0a040}.lvl-budget.over .lvl-budget-bar>span{background:#c8524a}.lvl-budget.over .lvl-budget-head .mono{color:#e07a70}.bring-back{list-style:none;margin:8px 0;padding:0;max-height:46vh;overflow:auto}.bring-back li{padding:4px 0;border-bottom:1px solid var(--line, rgba(255, 255, 255, .08));font-size:13px}.bring-back label{display:flex;gap:8px;align-items:baseline;cursor:pointer}.bring-kind{font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:1px 5px;border-radius:3px;background:#ffffff14}.bring-kind.deleted{color:#e07a70}.bring-kind.added{color:#6fae5e}.bring-kind.moved{color:#35d0ff}.bring-kind.renamed{color:#e0a040}.path-bar{grid-area:path;display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;padding:5px 12px;background:var(--panel);border-bottom:1px solid var(--border);font-size:12.5px;min-width:0}.path-fold{display:inline-flex;align-items:center;gap:6px;background:none;border:0;color:var(--gold);font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;font-size:11.5px;cursor:pointer;padding:0}.path-count{color:var(--muted);font-family:var(--font-mono);letter-spacing:0}.path-steps{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:0;padding:0}.path-steps li{display:inline-flex;align-items:center}.path-step{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px 0 4px;border:1px solid var(--border);border-radius:13px;background:var(--node);color:var(--text-soft);font-size:12.5px;cursor:pointer}.path-step:hover{border-color:var(--border-strong);color:var(--text)}.path-num{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--node-raised);color:var(--muted);font-size:11px;font-family:var(--font-mono)}.path-step.done{color:var(--text-soft)}.path-step.done .path-num{background:color-mix(in srgb,var(--c-environment) 55%,var(--node));color:var(--text)}.path-step.next{border-color:var(--gold-lo);color:var(--text)}.path-step.next .path-num{background:var(--gold-lo);color:var(--text)}.path-untick{background:none;border:0;color:var(--muted);cursor:pointer;padding:0 2px}.path-next{display:flex;align-items:center;gap:10px;flex:1 1 260px;min-width:0}.path-next .link-btn{white-space:nowrap}.path-hint{color:var(--muted);min-width:0}.path-bar.folded{padding-top:3px;padding-bottom:3px}.setup-modules{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.setup-module{display:flex;flex-direction:column;gap:4px;border:1px solid var(--border-strong);border-radius:6px;padding:10px 12px;cursor:pointer;color:var(--text-soft);font-size:12.5px;position:relative}.setup-module input{position:absolute;opacity:0;pointer-events:none}.setup-module b{color:var(--text);font-size:14px}.setup-module.on{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 8%,transparent)}.setup-module:focus-within{outline:2px solid var(--gold-lo)}.dfn-studio{display:grid;grid-template-columns:220px minmax(0,1fr);height:100%;min-height:0}.dfn-tabs{display:flex;flex-direction:column;gap:4px;padding:14px 10px;border-right:1px solid var(--border);background:var(--panel);overflow-y:auto}.dfn-tab{display:flex;align-items:center;gap:8px;text-align:left;padding:7px 10px;border:1px solid transparent;border-radius:5px;background:none;color:var(--text-soft);font-size:13px;cursor:pointer}.dfn-tab:hover{background:var(--node)}.dfn-tab.on{background:var(--node-raised);border-color:var(--gold-lo);color:var(--text)}.dfn-tab-num{font-family:var(--font-mono);color:var(--muted);font-size:11px;width:14px}.dfn-issues{margin-top:14px;font-size:12px;color:var(--text-soft)}.dfn-issues h4{margin:0 0 6px;font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;font-size:11px;color:var(--gold)}.dfn-issues ul{margin:0;padding-left:16px;display:flex;flex-direction:column;gap:4px}.dfn-issues li.error{color:var(--text)}.dfn-issues li.error::marker{color:var(--c-error)}.dfn-body{overflow:auto;min-height:0;padding:18px 22px 40px}.dfn-pane{display:flex;flex-direction:column;gap:12px;max-width:1100px}.dfn-pane.narrow{max-width:640px}.dfn-intro h2{margin:0 0 4px;font-family:var(--font-label);font-size:20px;color:var(--text)}.dfn-intro p{margin:0;color:var(--text-soft);max-width:70ch}.dfn-row{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:flex-end}.dfn-row.tight{gap:4px;align-items:center}.dfn-seg{display:inline-flex;gap:4px}.dfn-seg input,.dfn-pick input{position:absolute;opacity:0;pointer-events:none}.dfn-seg .tb-btn.on,.dfn-speed .tb-btn.on{border-color:var(--gold);color:var(--gold-hi)}.dfn-num,.dfn-text{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--muted);min-width:0}.dfn-num input{width:92px}.dfn-num em{font-style:normal;color:var(--muted);opacity:.8}.dfn-text textarea{resize:vertical}.dfn-check{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-soft);padding-bottom:6px}.dfn-hint{color:var(--muted);font-size:12.5px;margin:0}.dfn-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:12px}.dfn-card{border:1px solid var(--border);border-radius:6px;background:var(--node);padding:12px 14px;display:flex;flex-direction:column;gap:10px}.dfn-card-head{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.dfn-card-head h3{margin:0;font-size:15px;color:var(--text)}.dfn-card-head .dfn-text{flex:1}.dfn-card-head .dfn-row.tight{margin-left:auto}.dfn-grid{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end}.dfn-upgrade{border-top:1px dashed var(--border);padding-top:8px}.dfn-level{font-size:12px;color:var(--gold);width:54px;padding-bottom:7px}.dfn-waves{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.dfn-group{border-top:1px dashed var(--border);padding-top:8px}.dfn-board{width:100%;max-height:calc(100vh - 290px);min-height:240px;display:block;-webkit-user-select:none;user-select:none}.dfn-grass{fill:color-mix(in srgb,var(--c-environment) 16%,var(--ground));stroke:color-mix(in srgb,var(--c-environment) 26%,var(--ground));stroke-width:.02;cursor:pointer}.dfn-path{fill:color-mix(in srgb,var(--gold-lo) 45%,var(--ground));stroke:color-mix(in srgb,var(--gold-lo) 60%,var(--ground));stroke-width:.02;cursor:pointer}.dfn-path-line{fill:none;stroke:var(--gold);stroke-width:.06;stroke-dasharray:.15 .15;pointer-events:none;opacity:.7}.dfn-spot{fill:color-mix(in srgb,var(--c-object) 18%,transparent);stroke:var(--c-object);stroke-width:.05;cursor:pointer}.dfn-mark{font-size:.32px;fill:var(--text);font-family:var(--font-label);pointer-events:none}.dfn-castle rect{fill:var(--node-raised);stroke:var(--gold);stroke-width:.05}.dfn-castle text{font-size:.5px;fill:var(--gold-hi)}.dfn-tower{cursor:pointer}.dfn-range{fill:color-mix(in srgb,var(--gold) 6%,transparent);stroke:color-mix(in srgb,var(--gold) 30%,transparent);stroke-width:.02;pointer-events:none}.dfn-tower-body{stroke:var(--ground);stroke-width:.05}.dfn-tower.waiting .dfn-tower-body{opacity:.35}.dfn-tower-level{font-size:.26px;fill:var(--ground);font-weight:700;pointer-events:none}.dfn-shot{stroke:var(--gold-hi);stroke-width:.05;pointer-events:none}.dfn-enemy{pointer-events:none}.dfn-enemy circle{fill:var(--c-character);stroke:var(--ground);stroke-width:.04}.dfn-enemy.flying circle{fill:var(--c-cinematic)}.dfn-hp-back{fill:var(--ground)}.dfn-hp{fill:var(--c-environment)}.dfn-play{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.dfn-play-main{display:flex;flex-direction:column;gap:8px;min-width:0}.dfn-hud{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--text-soft)}.dfn-hud-wave{color:var(--gold-hi);font-weight:600}.dfn-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dfn-speed{display:inline-flex;gap:4px}.dfn-play-side{display:flex;flex-direction:column;gap:8px}.dfn-play-side h3{margin:6px 0 0;font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;font-size:12px;color:var(--gold)}.dfn-pick{display:flex;flex-direction:column;gap:4px}.dfn-pick-btn{position:relative;display:flex;justify-content:space-between;border:1px solid var(--border);border-radius:5px;padding:6px 10px;font-size:13px;color:var(--text-soft);cursor:pointer}.dfn-pick-btn em{font-style:normal;color:var(--gold);font-family:var(--font-mono)}.dfn-pick-btn.on{border-color:var(--gold);color:var(--text)}.dfn-pick-btn:focus-within{outline:2px solid var(--gold-lo)}.dfn-verdict{margin:0;font-size:13px;padding:8px 10px;border-radius:5px;border:1px solid var(--border)}.dfn-verdict.won{border-color:color-mix(in srgb,var(--c-environment) 60%,transparent);color:var(--text)}.dfn-verdict.lost,.dfn-verdict.timeout{border-color:color-mix(in srgb,var(--c-error) 60%,transparent);color:var(--text)}.dfn-table{border-collapse:collapse;font-size:12.5px;width:100%}.dfn-table th,.dfn-table td{padding:4px 6px;border-bottom:1px solid var(--border);text-align:right}.dfn-table th:first-child,.dfn-table td:first-child{text-align:left}.dfn-table th{color:var(--muted);font-weight:500}.dfn-table tr.leaky td{color:var(--c-error)}@media (max-width: 900px){.dfn-studio{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.dfn-tabs{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--border)}.dfn-issues{display:none}.dfn-play{grid-template-columns:1fr}}.sht-field{width:100%;max-height:calc(100vh - 290px);min-height:240px;display:block;-webkit-user-select:none;user-select:none}.sht-space{fill:color-mix(in srgb,var(--c-cinematic) 8%,var(--ground));stroke:var(--border);stroke-width:.03}.sht-ground{stroke:color-mix(in srgb,var(--c-environment) 50%,var(--ground));stroke-width:.06}.sht-eye{fill:var(--ground)}.sht-ship path{fill:var(--gold-hi)}.sht-ship.blink{animation:sht-blink .25s steps(2) infinite}@keyframes sht-blink{50%{opacity:.25}}@media (prefers-reduced-motion: reduce){.sht-ship.blink{animation:none;opacity:.5}}.sht-shield{fill:var(--c-environment)}.sht-shot{fill:var(--gold-hi)}.sht-bomb{fill:var(--c-error)}.sht-swatch{width:34px;height:34px;flex:none;align-self:flex-end;background:var(--ground);border-radius:6px}.sht-wave{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start}.sht-rows{display:flex;flex-direction:column;gap:4px}.sht-rows .dfn-row{flex-wrap:nowrap}.sht-rows .dfn-level{min-width:48px}.sht-formation{flex:1 1 220px;max-width:360px;max-height:130px;background:color-mix(in srgb,var(--c-cinematic) 8%,var(--ground));border-radius:6px;padding:6px}.arn-stage{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.arn-field{height:calc(100vh - 300px);min-height:360px;max-width:100%;aspect-ratio:9 / 16;display:block;-webkit-user-select:none;user-select:none;border-radius:6px}.arn-half.red{fill:color-mix(in srgb,var(--c-encounter) 9%,var(--ground))}.arn-half.blue{fill:color-mix(in srgb,var(--c-object) 9%,var(--ground))}.arn-half.blue.open{cursor:crosshair}.arn-mid{stroke:var(--border-strong);stroke-width:.06;stroke-dasharray:.3 .2}.arn-lane{stroke:color-mix(in srgb,var(--c-lore) 30%,transparent);stroke-width:.9;stroke-linecap:round;pointer-events:none}.arn-tower rect:first-child{stroke:var(--ground);stroke-width:.06}.arn-tower.blue rect:first-child{fill:var(--c-object)}.arn-tower.red rect:first-child{fill:var(--c-encounter)}.arn-tower.down{opacity:.2}.arn-hp-back{fill:var(--ground)}.arn-hp{fill:var(--c-environment)}.arn-unit{pointer-events:none}.arn-unit circle{stroke:var(--ground);stroke-width:.05}.arn-unit.blue circle{fill:color-mix(in srgb,var(--c-object) 75%,white)}.arn-unit.red circle{fill:color-mix(in srgb,var(--c-encounter) 75%,white)}.arn-unit.flying circle{stroke:var(--text);stroke-dasharray:.08 .06}.arn-unit text{font-size:.3px;font-weight:700;fill:var(--ground)}.arn-strike{stroke-width:.05;pointer-events:none}.arn-strike.blue{stroke:color-mix(in srgb,var(--c-object) 60%,white)}.arn-strike.red{stroke:color-mix(in srgb,var(--c-encounter) 60%,white)}.arn-hand{flex:1 1 220px;display:flex;flex-direction:column;gap:10px;min-width:200px}.arn-energy{position:relative;height:26px;border:1px solid var(--border-strong);border-radius:6px;overflow:hidden;background:var(--ground)}.arn-energy-fill{position:absolute;inset:0 auto 0 0;background:color-mix(in srgb,var(--c-puzzle) 55%,var(--ground))}.arn-energy span{position:relative;display:block;text-align:center;line-height:24px;font-size:12px;color:var(--text)}.dfn-pick-btn.short{opacity:.5}.arn-table-wrap{overflow-x:auto}.arn-table th,.arn-table td{text-align:center;white-space:nowrap}.arn-table tbody th{text-align:left;font-weight:500}.arn-table td.win{color:var(--c-environment)}.arn-table td.loss{color:var(--c-encounter)}.arn-table td.even,.arn-table td.self{color:var(--muted)}.arn-sub{margin:8px 0 0;font-size:13px;color:var(--gold)}.arn-decks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.arn-deck{display:flex;flex-direction:column;gap:6px}.arn-deck legend{padding:0 4px;font-weight:600}.arn-deck.blue legend{color:var(--c-object)}.arn-deck.red legend{color:var(--c-encounter)}.crd-card{position:relative;display:flex;flex-direction:column;gap:4px;width:128px;min-height:176px;padding:26px 10px 28px;border-radius:10px;border:2px solid var(--border-strong);background:linear-gradient(180deg,color-mix(in srgb,var(--c-lore) 16%,var(--node)),var(--node));color:var(--text);text-align:center;font-size:11.5px;line-height:1.3}.crd-card.spell{background:linear-gradient(180deg,color-mix(in srgb,var(--c-cinematic) 22%,var(--node)),var(--node))}.crd-card.small{width:92px;min-height:112px;padding:18px 6px 22px;font-size:10.5px}.crd-cost{position:absolute;top:-8px;left:-8px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--c-skill);color:var(--ground);font-weight:700;font-size:13px;border:2px solid var(--ground)}.crd-cost.small{position:static;width:20px;height:20px;font-size:11px;flex:none}.crd-name{font-weight:600;font-size:1.08em}.crd-kind{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.crd-text{color:var(--text-soft)}.crd-attack,.crd-health{position:absolute;bottom:-8px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;color:var(--ground);border:2px solid var(--ground)}.crd-attack{left:-8px;background:var(--c-choice)}.crd-health{right:-8px;background:var(--c-encounter)}.crd-health.hurt{box-shadow:0 0 0 2px var(--c-encounter)}.crd-table{gap:12px}.crd-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.crd-hero{min-width:72px;padding:8px 12px;border-radius:10px;border:2px solid var(--border-strong);background:var(--node);color:var(--text);font-size:16px;font-weight:700}.crd-hero.red{border-color:color-mix(in srgb,var(--c-encounter) 70%,var(--border))}.crd-hero.blue{border-color:color-mix(in srgb,var(--c-object) 70%,var(--border))}.crd-hero:disabled{opacity:1;cursor:default}.crd-board{display:flex;gap:14px;flex-wrap:wrap;min-height:136px;padding:12px;border-radius:10px}.crd-board.red{background:color-mix(in srgb,var(--c-encounter) 7%,var(--ground))}.crd-board.blue{background:color-mix(in srgb,var(--c-object) 7%,var(--ground))}.crd-hand{display:flex;gap:14px;flex-wrap:wrap;padding:8px 4px 12px}.crd-slot{padding:0;border:none;background:none;border-radius:12px;cursor:pointer;transition:transform .12s}.crd-slot.ready .crd-card{border-color:var(--c-environment)}.crd-slot.dim{opacity:.55}.crd-slot.on{transform:translateY(-6px)}.crd-slot.on .crd-card{border-color:var(--gold-hi)}.crd-slot.guard .crd-card{outline:3px solid color-mix(in srgb,var(--c-logic) 60%,transparent);outline-offset:2px}.crd-slot.aim .crd-card,.crd-hero.aim{border-color:var(--c-encounter);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-encounter) 35%,transparent)}@media (prefers-reduced-motion: reduce){.crd-slot{transition:none}}.crd-mana{display:inline-flex;gap:3px;align-items:center}.crd-mana span{width:12px;height:12px;border-radius:50%;border:1px solid var(--c-skill)}.crd-mana span.full{background:var(--c-skill)}.crd-mana em{font-style:normal;margin-left:6px;color:var(--text-soft);font-size:12px}.crd-log{margin:0;padding-left:18px;color:var(--muted);font-size:12px}.crd-editors{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:12px}.dfn-card.crd-editor{display:flex;flex-direction:row;gap:18px;align-items:flex-start;padding-top:18px}.crd-editor>.crd-card{flex:none;margin-left:6px}.crd-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.crd-fields .dfn-num input{width:64px}.crd-curve{margin:0;font-size:12px;color:var(--muted)}.crd-curve.high{color:var(--c-choice)}.crd-curve.low{color:var(--c-encounter)}.crd-curvebars{display:flex;align-items:flex-end;gap:4px;height:70px;margin:4px 0 8px}.crd-bar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px}.crd-bar span{width:100%;min-height:2px;border-radius:3px 3px 0 0;background:var(--c-skill)}.crd-bar em{font-style:normal;font-size:10px;color:var(--muted)}.crd-deckrow{display:grid;grid-template-columns:auto 1fr auto 18px auto;gap:6px;align-items:center;font-size:13px}.crd-count{text-align:center;font-weight:600}.blk-board{width:100%;max-width:560px;max-height:calc(100vh - 330px);min-height:200px;display:block;-webkit-user-select:none;user-select:none;touch-action:none}.blk-board.paint{cursor:crosshair}.blk-board.blk-play{max-width:720px}.blk-wall{fill:color-mix(in srgb,var(--c-logic) 30%,var(--ground));stroke:color-mix(in srgb,var(--c-logic) 40%,var(--ground));stroke-width:.03}.blk-floor,.blk-target{fill:color-mix(in srgb,var(--c-lore) 10%,var(--ground));stroke:color-mix(in srgb,var(--c-lore) 18%,var(--ground));stroke-width:.02}.blk-target-dot{fill:none;stroke:var(--c-environment);stroke-width:.07}.blk-crate{fill:color-mix(in srgb,var(--c-dialogue) 70%,var(--ground));stroke:var(--ground);stroke-width:.05}.blk-crate.home{fill:var(--c-environment)}.blk-player{fill:var(--gold-hi);stroke:var(--ground);stroke-width:.05}.blk-editor{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;align-items:start}.blk-list{display:flex;flex-direction:column;gap:4px}.blk-stage{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}.blk-stage>.blk-board{flex:1 1 320px}.blk-side{flex:1 1 260px;display:flex;flex-direction:column;gap:10px;min-width:240px}.blk-text{font-family:var(--font-mono);white-space:pre;line-height:1.25}.blk-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-1px}.blk-swatch.wall{background:color-mix(in srgb,var(--c-logic) 45%,var(--ground))}.blk-swatch.floor{background:color-mix(in srgb,var(--c-lore) 20%,var(--ground));border:1px solid var(--border-strong)}.blk-swatch.target{border:2px solid var(--c-environment);border-radius:50%}.blk-swatch.crate{background:color-mix(in srgb,var(--c-dialogue) 70%,var(--ground))}.blk-swatch.player{background:var(--gold-hi);border-radius:50%}.dfn-issues-list{margin:0;padding-left:18px;font-size:12.5px}.dfn-issues-list .error{color:var(--c-encounter)}.dfn-issues-list .warning{color:var(--c-choice)}.blk-curve{display:flex;align-items:flex-end;gap:6px;height:90px;max-width:640px;margin:6px 0 10px}.blk-curve .crd-bar span{background:var(--c-puzzle)}.blk-curve .crd-bar span.bad{background:var(--c-encounter);opacity:.5}.blk-order{max-width:760px}.blk-order th:nth-child(2),.blk-order td:nth-child(2){text-align:left}.blk-order td:last-child{white-space:nowrap}.blk-order td:last-child .icon-btn{display:inline-grid;margin-left:4px}.blk-curve .crd-bar{max-width:48px}.blk-levels{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.blk-levels .dfn-tab{width:100%}.blk-levels em{font-style:normal;margin-left:auto;font-size:11px}.blk-pad{display:inline-grid;grid-template-columns:repeat(4,auto);gap:4px}.blk-stars{color:var(--c-choice);letter-spacing:.1em}@media (max-width: 900px){.blk-editor{grid-template-columns:1fr}}.m3-board{width:100%;max-width:520px;max-height:calc(100vh - 330px);min-height:220px;display:block;-webkit-user-select:none;user-select:none;touch-action:none}.m3-board.paint{cursor:crosshair}.m3-board.m3-play{max-width:600px}.m3-cell{fill:color-mix(in srgb,var(--c-cinematic) 12%,var(--ground))}.m3-jelly{fill:color-mix(in srgb,var(--c-puzzle) 35%,var(--ground));stroke:color-mix(in srgb,var(--c-puzzle) 60%,var(--ground));stroke-width:.04}.m3-hole{fill:transparent;stroke:color-mix(in srgb,var(--border) 60%,transparent);stroke-width:.02;stroke-dasharray:.08 .08}.m3-cell-hit{cursor:pointer}.m3-gem circle:first-child{stroke:color-mix(in srgb,var(--ground) 60%,transparent);stroke-width:.04}.m3-mark{fill:var(--ground);opacity:.75}.m3-bomb{fill:none;stroke:var(--ground);stroke-width:.07}.m3-sel{fill:none;stroke:var(--gold-hi);stroke-width:.07;pointer-events:none}.m3-flash{fill:color-mix(in srgb,var(--gold-hi) 25%,transparent);pointer-events:none}.m3-progress{position:relative;display:inline-block;width:90px;height:8px;border-radius:4px;background:var(--ground);border:1px solid var(--border-strong);overflow:hidden}.m3-progress span{position:absolute;inset:0 auto 0 0;background:var(--c-environment)}.m3-gemnames{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 14px}.m3-swatch{width:18px;height:18px;border-radius:50%;flex:none;align-self:flex-end;margin-bottom:6px}.m3-balance{max-width:980px}.m3-balance th:nth-child(3),.m3-balance td:nth-child(3){text-align:left}.run-strip{width:100%;max-width:980px;display:block;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:6px}.run-strip.paint{cursor:crosshair}.run-view{width:100%;display:block;border-radius:8px;max-height:calc(100vh - 330px)}.run-sky{fill:color-mix(in srgb,var(--c-skill) 10%,var(--ground))}.run-cell{fill:transparent;stroke:color-mix(in srgb,var(--border) 50%,transparent);stroke-width:.015}.run-solid{fill:color-mix(in srgb,var(--c-faction) 75%,var(--ground));stroke:var(--ground);stroke-width:.04}.run-coin{fill:var(--c-choice);stroke:color-mix(in srgb,var(--c-choice) 50%,var(--ground));stroke-width:.05}.run-ground{fill:color-mix(in srgb,var(--c-environment) 45%,var(--ground))}.run-pit{fill:var(--ground)}.run-way{fill:none;stroke:var(--gold-hi);stroke-width:.06;stroke-dasharray:.15 .12;pointer-events:none}.run-player{fill:var(--gold-hi);stroke:var(--ground);stroke-width:.05}.run-player.dead{fill:var(--c-encounter)}.run-report{max-width:980px}.run-mix{max-width:760px}.run-mix th:nth-child(2),.run-mix td:nth-child(2),.run-mix th:last-child,.run-mix td:last-child{text-align:left}.run-mix .dfn-num span{display:none}.run-mix .dfn-num input{width:64px}.run-bar{display:inline-block;width:120px;height:8px;border-radius:4px;background:var(--ground);border:1px solid var(--border);vertical-align:middle;overflow:hidden}.run-bar span{display:block;height:100%;background:var(--c-encounter)}.pf-scroll{overflow:auto;max-width:100%;max-height:calc(100vh - 380px);border-radius:6px;border:1px solid var(--border)}.pf-board{display:block;-webkit-user-select:none;user-select:none;touch-action:none}.pf-board.paint{cursor:crosshair}.pf-view{width:100%;display:block;border-radius:8px;max-height:calc(100vh - 320px)}.pf-sky{fill:color-mix(in srgb,var(--c-skill) 12%,var(--ground))}.pf-reach{fill:color-mix(in srgb,var(--c-environment) 22%,transparent)}.pf-solid{fill:color-mix(in srgb,var(--c-lore) 45%,var(--ground));stroke:color-mix(in srgb,var(--c-lore) 25%,var(--ground));stroke-width:.03}.pf-oneway{fill:color-mix(in srgb,var(--c-lore) 70%,var(--ground))}.pf-spikes{fill:var(--c-encounter)}.pf-coin{fill:var(--c-choice)}.pf-coin.lost{opacity:.35}.pf-enemy{fill:color-mix(in srgb,var(--c-cinematic) 80%,var(--ground));stroke:var(--ground);stroke-width:.04}.pf-start{fill:none;stroke:var(--gold-hi);stroke-width:.06;stroke-dasharray:.12 .08}.pf-goal rect{fill:var(--text-soft)}.pf-goal path{fill:var(--c-environment)}.pf-hero{fill:var(--gold-hi);stroke:var(--ground);stroke-width:.05}.pf-hero.dead{fill:var(--c-encounter)}.pf-route{fill:none;stroke:var(--gold-hi);stroke-width:.08;stroke-dasharray:.18 .14;pointer-events:none}.pf-flow{max-width:1100px}.adv-pick{display:flex;gap:6px;align-items:center}.adv-pick select{min-width:200px}.adv-card{display:flex;flex-direction:column;gap:12px;min-width:0}.adv-card h3{margin:0;font-size:15px}.adv-checklist{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}.adv-checklist li{font-size:12px;padding:3px 9px;border-radius:999px;border:1px solid var(--border);color:var(--text-soft)}.adv-checklist li.done{border-color:color-mix(in srgb,var(--c-environment) 60%,transparent);color:var(--text)}.adv-ticks{border:1px solid var(--border);border-radius:5px;padding:6px 10px 2px;margin:0;display:flex;flex-wrap:wrap;gap:2px 14px}.adv-ticks legend{font-size:12px;color:var(--text-soft);padding:0 4px}.adv-editor{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:start}.adv-side{display:flex;flex-direction:column;gap:8px}.adv-levels{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.adv-levels .dfn-tab{width:100%;display:flex;align-items:center;gap:6px}.adv-card .dfn-text input.inp{min-width:300px}.adv-left{margin-left:auto;font-size:11px;color:var(--text-soft)}.adv-left.done{color:var(--c-environment)}.adv-held{margin:10px 0}.adv-held h4{margin:0 0 4px;font-size:13px}.adv-held ul{margin:0 0 6px;padding-left:18px;font-size:13px}
