.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-0:#110913;--bg-1:#1a0f1d;--bg-2:#241526;--bg-3:#301d31;--glass:#28172aa8;--glass-strong:#301c32db;--line:#ffc4a01c;--line-strong:#ffc4a038;--text:#f7ece6;--text-2:#d6c2cb;--muted:#9a8494;--ember:#ff8a3d;--ember-deep:#e2622a;--amber:#f6c453;--rose:#ef5d7a;--teal:#5ccdb6;--violet:#b48cff;--ok:#7fdc9f;--error:#ff6f7d;--warning:#f6c453;--radius:14px;--radius-s:9px;--shadow:0 18px 50px #05000873, 0 2px 8px #05000859;--ui:"Inter", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--story:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--mono:"SF Mono", "JetBrains Mono", ui-monospace, Menlo, monospace;font-family:var(--ui);color:var(--text);background:var(--bg-0);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(1200px 700px at 12% -10%, #ff8a3d1a, transparent 60%), radial-gradient(900px 600px at 100% 110%, #b48cff14, transparent 60%), linear-gradient(180deg, var(--bg-1), var(--bg-0));overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}code,.mono{font-family:var(--mono);font-size:.92em}kbd{font-family:var(--mono);border:1px solid var(--line-strong);color:var(--text-2);background:#ffffff0a;border-radius:5px;padding:1px 5px;font-size:11px}.icon{flex:none}.muted{color:var(--muted)}.eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.glass{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px)saturate(140%)}.spacer{flex:1}.app{height:100%;position:relative}.primary-button,.ghost-button,.toolbar-button,.big-button,.icon-button,.link-button{background:0 0;border:1px solid #0000;align-items:center;gap:7px;transition:background .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.primary-button{color:#26100a;background:linear-gradient(135deg, var(--amber), var(--ember));border-radius:10px;padding:8px 14px;font-weight:600;box-shadow:0 6px 18px #ff8a3d40}.primary-button:hover{transform:translateY(-1px)}.ghost-button{border-color:var(--line-strong);color:var(--text-2);border-radius:10px;padding:7px 12px}.ghost-button:hover:not(:disabled){color:var(--text);background:#ffc4a012}.ghost-button.small{border-radius:8px;padding:4px 9px;font-size:12.5px}.icon-button{color:var(--text-2);border-radius:8px;padding:6px}.icon-button:hover:not(:disabled){color:var(--text);background:#ffc4a017}.icon-button.subtle{color:var(--muted);padding:4px}.icon-button.danger:hover:not(:disabled){color:var(--error);background:#ff6f7d1a}.link-button{color:inherit;font-weight:inherit;padding:0}.link-button:hover{color:var(--amber)}.button-row{flex-wrap:wrap;gap:8px;margin:2px 0 14px;display:flex}.welcome{place-items:center;height:100%;padding:24px;display:grid;position:relative;overflow:auto}.welcome-glow{filter:blur(80px);pointer-events:none;background:radial-gradient(circle,#ff8a3d47,#ef5d7a1f 45%,#0000 70%);border-radius:50%;width:640px;height:640px;animation:9s ease-in-out infinite alternate glow;position:absolute}@keyframes glow{0%{transform:translate(-60px,-30px)scale(.95)}to{transform:translate(60px,30px)scale(1.06)}}.welcome-card{width:min(660px,100%);box-shadow:var(--shadow);border-radius:26px;padding:44px 44px 34px;position:relative}.welcome-card h1{font-family:var(--story);letter-spacing:-.01em;margin:10px 0 12px;font-size:44px;font-weight:500;line-height:1.08}.welcome-card .lead{color:var(--text-2);max-width:46ch;margin:0 0 26px;font-size:16px}.brand-mark{color:#2a0f06;background:linear-gradient(135deg, var(--amber), var(--ember) 60%, var(--rose));border-radius:9px;place-items:center;width:30px;height:30px;font-size:15px;display:inline-grid;box-shadow:0 0 22px #ff8a3d73}.welcome-card>.brand-mark{vertical-align:middle;margin-right:10px}.welcome-actions{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.big-button{border-color:var(--line-strong);color:var(--text);text-align:center;background:#ffffff09;border-radius:16px;flex-direction:column;justify-content:center;gap:10px;padding:20px 12px;font-weight:600;position:relative}.big-button:hover{background:#ffc4a014;border-color:#ffc4a059;transform:translateY(-2px)}.big-button.accent{background:linear-gradient(160deg,#ff8a3d38,#ef5d7a24);border-color:#ff8a3d73}.big-button input,.toolbar-button input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.restore{background:#f6c45314;border:1px solid #f6c45340;border-radius:14px;align-items:center;gap:12px;margin-top:18px;padding:14px 16px;display:flex}.restore>div{flex:1;display:grid}.restore span{color:var(--text-2);font-size:12.5px}.welcome-hint{color:var(--muted);margin:20px 0 0;font-size:12.5px}.editor{grid-template-rows:auto 1fr;gap:10px;height:100%;padding:10px;display:grid}.topbar{border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:14px;min-width:0;padding:8px 10px;display:flex}.brand{text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;min-width:0;padding:2px 8px 2px 2px;display:flex}.brand:hover{background:#ffc4a00f}.brand-text{min-width:0;line-height:1.2;display:grid}.brand-text strong{font-family:var(--story);white-space:nowrap;text-overflow:ellipsis;max-width:26ch;font-size:16px;font-weight:500;overflow:hidden}.dirty-dot{background:var(--amber);width:8px;height:8px;box-shadow:0 0 10px var(--amber);border-radius:50%;flex:none}.toolbar{scrollbar-width:none;flex:1;align-items:center;gap:10px;min-width:0;display:flex;overflow-x:auto}.tool-group{border:1px solid var(--line);background:#0000002e;border-radius:11px;gap:2px;padding:3px;display:flex}.toolbar-button{color:var(--text-2);white-space:nowrap;border-radius:8px;padding:6px 10px;font-size:13px;position:relative}.toolbar-button:hover:not(:disabled){color:var(--text);background:#ffc4a017}.toolbar-button.accent{color:var(--amber)}.check-status{border:1px solid var(--line-strong);white-space:nowrap;background:#0003;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.check-status.is-ok{color:var(--ok)}.check-status.is-warning{color:var(--warning)}.check-status.is-error{color:var(--error)}.status-dot{background:currentColor;border-radius:50%;width:8px;height:8px;box-shadow:0 0 10px}.status-dot.pulsing{animation:.9s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.3}}.workspace{grid-template-columns:minmax(0,1fr) 380px;gap:10px;min-height:0;display:grid}.stage{border-radius:var(--radius);border:1px solid var(--line);background:#0a050c73;min-height:0;position:relative;overflow:hidden}.side{border-radius:var(--radius);min-height:0;box-shadow:var(--shadow);grid-template-rows:auto 1fr;display:grid;overflow:hidden}.tabs{border-bottom:1px solid var(--line);gap:4px;padding:8px 8px 0;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:8px 12px 10px;font-size:13px;font-weight:600;display:inline-flex}.tabs button.active{color:var(--text);border-bottom-color:var(--ember)}.tab-count{color:var(--warning);background:#f6c4532e;border-radius:999px;padding:0 6px;font-size:11px}.tab-count.error{color:var(--error);background:#ff6f7d2e}.side-scroll{min-height:0;overflow-y:auto}.inspector-body{padding:16px 16px 40px}.inspector-head{grid-template-columns:1fr auto;align-items:start;margin-bottom:12px;display:grid}.inspector-head .eyebrow{grid-column:1}.inspector-head h2{font-size:19px;font-weight:600;font-family:var(--story);overflow-wrap:anywhere;grid-column:1;margin:2px 0 0}.inspector-head .icon-button{grid-area:1/2/span 2}.inspector-section{border-top:1px solid var(--line);padding:14px 0}.inspector-section>header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.inspector-section h3{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);margin:0;font-size:12px}.section-actions{gap:2px;display:inline-flex}.field{gap:5px;margin-bottom:11px;display:grid}.field-label{color:var(--muted);margin:4px 0 5px;font-size:12px;font-weight:600;display:block}.field .field-label{margin:0}.field-hint{color:var(--muted);font-size:11.5px}.field-input{border-radius:var(--radius-s);border:1px solid var(--line-strong);width:100%;min-width:0;color:var(--text);background:#08030a66;padding:7px 10px;transition:border-color .15s,background .15s}.field-input:hover{border-color:#ffc4a04d}.field-input:focus{border-color:var(--ember);background:#08030a99;outline:none;box-shadow:0 0 0 3px #ff8a3d26}.field-input.narrow{flex:0 auto;width:auto}.field-input.invalid{border-color:var(--error)}select.field-input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 14px) 52%,calc(100% - 9px) 52%;background-repeat:no-repeat;background-size:5px 5px;padding-right:26px}select.field-input option,select.field-input optgroup{background:var(--bg-2);color:var(--text)}textarea.field-input,.text-area{resize:none;font-family:var(--story);font-size:15px;line-height:1.5;overflow:hidden}.facts{flex-wrap:wrap;gap:6px;display:flex}.facts span{color:var(--text-2);background:#ffffff0d;border-radius:999px;padding:3px 8px;font-size:12px}.plain-list{gap:6px;margin:0 0 10px;padding:0;font-size:13px;list-style:none;display:grid}.inline-form{gap:6px;display:flex}.toggle-row{color:var(--text-2);gap:6px;margin:6px 0 4px;font-size:13px;display:grid}.toggle-row label{align-items:center;gap:8px;display:flex}input[type=checkbox]{accent-color:var(--ember);width:15px;height:15px}.stage-characters{gap:6px;display:grid}.stage-row{align-items:center;gap:6px;display:flex}.stage-row b{min-width:56px;font-size:13px;font-weight:600}.exit-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.exit-list li{grid-template-columns:10px 90px 1fr;align-items:center;gap:8px;display:grid}.exit-name{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.option-card{border-left:3px solid var(--option);padding-left:12px}.node-findings{margin-bottom:8px}.finding-inline{border-radius:9px;align-items:flex-start;gap:6px;margin:0 0 6px;padding:7px 9px;font-size:12.5px;display:flex}.finding-inline.error{color:#ffb3bb;background:#ff6f7d1a}.finding-inline.warning{color:#f7dc9b;background:#f6c45317}.ok-text{color:var(--ok);font-size:12.5px}.error-text{color:var(--error);font-size:12.5px}.panel-hint{color:var(--muted)}.condition-editor{gap:6px;margin-bottom:10px;display:grid}.clause-wrap{gap:6px;display:grid}.clause{background:#5ccdb60f;border:1px solid #5ccdb62e;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px;display:flex}.clause-subject{flex:140px}.clause-op{flex:none;width:auto}.clause-value{flex:0 80px;width:80px}.join-toggle{color:var(--teal);text-transform:uppercase;letter-spacing:.06em;background:0 0;border:1px dashed #5ccdb666;border-radius:999px;justify-self:start;margin-left:10px;padding:1px 9px;font-size:11.5px;font-weight:700}.condition-empty{color:var(--muted);margin:0;font-size:12.5px;font-style:italic}.condition-complex{gap:6px;margin-bottom:10px;display:grid}.condition-complex code{white-space:pre-wrap;background:#00000040;border-radius:8px;padding:8px}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{border:1px solid var(--line-strong);color:var(--text-2);white-space:nowrap;background:#ffffff0d;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.chip.quiet{color:var(--muted);font-weight:500}.chip button{font-weight:inherit;background:0 0;border:0;padding:0}.chip-x{opacity:.6;display:inline-grid}.chip-x:hover{opacity:1;color:var(--error)}.chip.active{border-color:var(--amber)}.chip-add{cursor:pointer;border-style:dashed}.effect-chip.tone-up,.chip.tone-up{color:#a6f0bf;background:#7fdc9f14;border-color:#7fdc9f59}.effect-chip.tone-down,.chip.tone-down{color:#ffb0b8;background:#ff6f7d14;border-color:#ff6f7d59}.effect-chip.tone-memory{color:#d9c4ff;background:#b48cff14;border-color:#b48cff59}.effect-chip.tone-var,.effect-chip.tone-rel{color:#f8dc96;background:#f6c45312;border-color:#f6c45359}.effect-chip.tone-achievement{color:#ffd36e;border-color:#ffd36e66}.cond-chip{color:#9fe6d6;background:#5ccdb614;border-color:#5ccdb659}.stage-chip{color:var(--text-2)}.target-chip{cursor:pointer;color:var(--amber);font-family:var(--mono);border-color:#f6c4534d;font-weight:500}.target-chip:hover{background:#f6c4531f}.add-effect{position:relative}.mini-menu{z-index:5;background:var(--glass-strong);border:1px solid var(--line-strong);min-width:140px;box-shadow:var(--shadow);border-radius:10px;padding:4px;display:grid;position:absolute;top:calc(100% + 4px);left:0}.mini-menu button{text-align:left;background:0 0;border:0;border-radius:7px;padding:6px 10px}.mini-menu button:hover:not(:disabled){background:#ffc4a01a}.effect-list{margin-bottom:8px}.effect-editor{border:1px solid var(--line);background:#0003;border-radius:10px;gap:6px;margin-top:8px;padding:8px;display:grid}.effect-editor-kind{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px;font-weight:700}.effect-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.effect-row .field-input:not(.narrow){flex:110px;width:auto}.map-wrap{position:absolute;inset:0}.map-hint{color:var(--muted);border:1px solid var(--line);pointer-events:none;z-index:5;background:#110913b3;border-radius:999px;padding:5px 12px;font-size:12px;animation:.6s 7s forwards hint-out;position:absolute;top:12px;left:50%;transform:translate(-50%)}@keyframes hint-out{to{opacity:0;visibility:hidden}}.react-flow{--xy-background-color:transparent}.react-flow__node{font-family:var(--ui)}.react-flow__edge:hover .react-flow__edge-path{stroke-width:3.2px!important}.react-flow__connection-path{stroke:var(--amber);stroke-width:2.4px;stroke-dasharray:6 4}.react-flow__controls{box-shadow:var(--shadow);border:1px solid var(--line);border-radius:12px;overflow:hidden}.react-flow__controls-button{background:var(--glass-strong);border-bottom:1px solid var(--line);fill:var(--text-2)}.react-flow__controls-button:hover{background:var(--bg-3)}.react-flow__minimap{border:1px solid var(--line);background:#110913d9;border-radius:12px;overflow:hidden}.map-column{pointer-events:none;background:linear-gradient(#ff8a3d0f,#ff8a3d03 30%,#ffffff03);border:1px solid #ffc4a012;border-radius:22px}.map-column header{pointer-events:all;align-items:baseline;gap:10px;padding:20px 22px 0;display:flex}.map-column header strong{font-family:var(--story);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:22px;font-weight:500;overflow:hidden}.column-number{letter-spacing:.1em;text-transform:uppercase;color:var(--ember);white-space:nowrap;font-size:11px;font-weight:700}.endings-column{background:linear-gradient(#b48cff14,#b48cff03 40%)}.endings-column .column-number{color:var(--violet)}.scene-card{border:1px solid var(--line-strong);background:linear-gradient(#382139f5,#261628f5);border-radius:16px;padding:12px 14px 10px;transition:border-color .15s,box-shadow .2s,transform .15s;position:relative;box-shadow:0 10px 28px #04000673}.scene-card:hover{border-color:#ffc4a061}.scene-card.selected{border-color:var(--ember);box-shadow:0 0 0 3px #ff8a3d38,0 14px 36px #0400068c}.scene-card.broken{border-color:#ff6f7db3;box-shadow:0 0 0 3px #ff6f7d29,0 0 26px #ff6f7d40}.scene-card header{align-items:center;gap:6px;margin-bottom:6px;display:flex}.scene-id{font-family:var(--mono);color:var(--amber);font-size:11.5px}.badge{color:var(--text-2);letter-spacing:.02em;background:#ffffff12;border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:700}.badge-start{background:linear-gradient(135deg, var(--amber), var(--ember));color:#2a0f06}.badge-entry{color:var(--ember);background:#ff8a3d2e}.badge-error{color:var(--error);background:#ff6f7d33}.badge-warning{color:var(--warning);background:#f6c4532e}.scene-title{font-family:var(--story);color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.7em;margin:0 0 6px;font-size:14.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.scene-meta{color:var(--muted);flex-wrap:wrap;gap:8px;margin-bottom:8px;font-size:11.5px;display:flex}.speakers{color:var(--text-2)}.exits{border-top:1px solid var(--line);margin:0 -14px;padding:6px 0 0;list-style:none}.exit{height:26px;color:var(--text-2);align-items:center;gap:8px;padding:0 22px 0 14px;font-size:12px;display:flex;position:relative}.exit-dot{background:var(--exit-color);width:9px;height:9px;box-shadow:0 0 8px var(--exit-color);border-radius:50%;flex:none}.exit-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.exit-option .exit-label{color:var(--text)}.exit-hint{color:var(--muted);font-size:10.5px}.exit-open .exit-hint{color:var(--amber)}.react-flow__handle.handle-out{border:2px solid var(--bg-2);background:var(--exit-color,var(--amber));width:12px;height:12px;transition:transform .15s;top:50%;right:-6px}.react-flow__handle.handle-out:hover{transform:translateY(-50%)scale(1.35)}.react-flow__handle.handle-in{border:2px solid var(--bg-2);background:#ffc4a066;border-radius:5px;width:10px;height:26px;left:-6px}.react-flow__handle.connectingto,.react-flow__handle.valid{background:var(--amber)}.ending-card{background:linear-gradient(135deg, color-mix(in srgb, var(--ending-color) 22%, #2a1830), #201222f5);border:1px solid color-mix(in srgb, var(--ending-color) 55%, transparent);box-shadow:0 0 24px color-mix(in srgb, var(--ending-color) 18%, transparent);border-radius:16px;gap:3px;padding:12px 14px;display:grid;position:relative}.ending-card.selected{box-shadow:0 0 0 3px color-mix(in srgb, var(--ending-color) 40%, transparent)}.ending-card.broken{border-style:dashed}.ending-card strong{font-family:var(--story);font-size:15px;font-weight:500}.ending-kind{text-transform:uppercase;letter-spacing:.08em;color:var(--ending-color);font-size:11px;font-weight:700}.ending-card .badge{justify-self:start}.quick-menu{z-index:20;background:var(--glass-strong);border:1px solid var(--line-strong);min-width:230px;max-width:320px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:14px;gap:2px;padding:6px;animation:.14s ease-out pop;display:grid;position:absolute;transform:translate(8px,-12px)}@keyframes pop{0%{opacity:0;transform:translate(8px,-6px)scale(.97)}}.quick-menu button{text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;padding:8px 10px;display:flex}.quick-menu button:hover,.quick-menu button:focus-visible{background:#ffc4a01a;outline:none}.quick-menu button kbd{margin-left:auto}.quick-menu .muted{color:var(--muted)}.quick-menu .field-input{margin-bottom:4px}.quick-list{max-height:260px;display:grid;overflow-y:auto}.quick-title{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.ending-dot{border-radius:50%;flex:none;width:10px;height:10px}.scene-flow{grid-template-rows:auto 1fr;display:grid;position:absolute;inset:0}.flow-header{border-bottom:1px solid var(--line);background:#11091380;flex-wrap:wrap;align-items:center;gap:16px;padding:14px 18px;display:flex}.flow-title h2{font-family:var(--story);margin:0;font-size:22px;font-weight:500}.flow-meta{margin-left:auto}.flow-list{padding:26px max(24px,50% - 380px) 80px;overflow-y:auto}.flow-empty{border:1px dashed var(--line-strong);width:100%;color:var(--muted);font-family:var(--story);background:0 0;border-radius:16px;padding:30px;font-size:16px}.flow-row{grid-template-columns:22px 1fr 26px;align-items:start;gap:6px;padding:3px 0;display:grid;position:relative}.flow-row.dragging{opacity:.4}.flow-row.drop-before:before,.flow-row.drop-after:after{content:"";background:var(--amber);height:2px;box-shadow:0 0 10px var(--amber);border-radius:2px;position:absolute;left:28px;right:32px}.flow-row.drop-before:before{top:-1px}.flow-row.drop-after:after{bottom:-1px}.grip{color:var(--muted);cursor:grab;opacity:0;justify-items:center;padding-top:12px;transition:opacity .15s;display:grid}.flow-row:hover .grip,.flow-row:focus-within .grip{opacity:.8}.row-add{border:1px solid var(--line-strong);width:24px;height:24px;color:var(--muted);opacity:0;background:0 0;border-radius:50%;place-items:center;margin-top:9px;transition:opacity .15s;display:grid}.flow-row:hover .row-add{opacity:1}.row-add:hover{color:var(--amber);border-color:var(--amber)}.node-block{border:1px solid #0000;border-radius:14px;padding:4px 6px;transition:border-color .15s,background .15s;position:relative}.node-block:hover{background:#ffffff05}.node-block.selected{background:#ff8a3d0a;border-color:#ff8a3d59}.node-block.has-error{border-color:#ff6f7d73}.node-block.has-warning:not(.selected){border-color:#f6c45338}.node-finding{background:var(--warning);color:#2a1a00;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:grid;position:absolute;top:-6px;right:-6px}.has-error>.node-finding{background:var(--error);color:#2a0006}.node-block.is-chip{padding:6px}.line-input{resize:none;width:100%;color:var(--text);font-family:var(--story);background:0 0;border:0;border-radius:8px;padding:6px 4px;font-size:17px;line-height:1.55;overflow:hidden}.line-input:focus{outline:none}.line-input::placeholder{color:#d6c2cb59;font-style:italic}.line-input.narration{color:#e9dcd6;padding:8px 10px;font-style:italic}.is-narration .line-input.narration{border-left:2px solid #ffc4a024;border-radius:0}.bubble-row{grid-template-columns:34px 1fr;align-items:start;gap:10px;display:grid}.avatar{color:#1a0b10;background:var(--speaker);width:34px;height:34px;box-shadow:0 0 16px color-mix(in srgb, var(--speaker) 45%, transparent);border-radius:50%;place-items:center;margin-top:4px;font-weight:700;display:grid}.bubble{background:color-mix(in srgb, var(--speaker) 10%, #28172ae6);border:1px solid color-mix(in srgb, var(--speaker) 30%, transparent);border-radius:4px 16px 16px;padding:8px 12px 4px;position:relative}.bubble:focus-within{border-color:color-mix(in srgb, var(--speaker) 70%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--speaker) 16%, transparent)}.speaker{color:var(--speaker);align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.expression{color:var(--text-2);background:#ffffff12;border-radius:999px;padding:0 7px;font-size:10.5px;font-weight:600}.bubble .line-input{padding:2px 0 6px}.logic-block{background:#5ccdb60d;border:1px dashed #5ccdb64d;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;font-size:13.5px;display:flex}.logic-tag{letter-spacing:.09em;text-transform:uppercase;color:var(--teal);font-size:10.5px;font-weight:800}.end-block{background:#b48cff12;border-color:#b48cff59}.end-block .logic-tag{color:var(--violet)}.heat-block{background:#ef5d7a0f;border-color:#ef5d7a59}.heat-block .logic-tag{color:var(--rose)}.moment-tile{background:linear-gradient(135deg,#f6c45329,#ff8a3d0f);border:1px solid #f6c45359;border-radius:14px;gap:2px;padding:16px 18px;display:grid}.moment-tile .logic-tag{color:var(--amber)}.moment-tile strong{font-family:var(--story);font-size:18px;font-weight:500}.moment-tile small{color:var(--muted);font-family:var(--mono)}.choice-block{background:linear-gradient(#ff8a3d14,#ff8a3d05);border:1px solid #ff8a3d4d;border-radius:16px;gap:8px;padding:12px;display:grid}.choice-head{align-items:center;gap:8px;display:flex}.choice-head .logic-tag{color:var(--ember)}.line-input.prompt{color:var(--text-2);padding:2px 4px;font-size:15px}.choice-options{gap:6px;margin:0;padding:0;list-style:none;display:grid}.choice-option{border:1px solid color-mix(in srgb, var(--option) 30%, transparent);background:#11091373;border-radius:12px;grid-template-columns:28px 1fr auto;align-items:start;gap:10px;padding:6px 10px 6px 6px;display:grid;position:relative}.choice-option:after{content:"";background:var(--option);width:12px;height:12px;box-shadow:0 0 10px var(--option);border-radius:50%;position:absolute;top:50%;right:-7px;transform:translateY(-50%)}.choice-option.active{border-color:var(--option);box-shadow:0 0 0 3px color-mix(in srgb, var(--option) 18%, transparent)}.option-letter{color:#1a0b10;background:var(--option);border-radius:8px;place-items:center;width:28px;height:28px;margin-top:3px;font-size:13px;font-weight:800;display:grid}.option-body{min-width:0}.option-input{padding:4px 2px;font-size:15.5px}.option-chips{padding-bottom:4px}.choice-option>.chip{margin-top:6px}.choice-block>.ghost-button{justify-self:start}.insert-menu{z-index:10;background:var(--glass-strong);border:1px solid var(--line-strong);box-shadow:var(--shadow);border-radius:14px;grid-column:2;gap:6px;margin:6px 0 4px;padding:8px;animation:.14s ease-out pop;display:grid}.insert-items{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:2px;max-height:280px;display:grid;overflow-y:auto}.insert-items button{text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;padding:7px 9px;display:flex}.insert-items button span{line-height:1.25;display:grid}.insert-items button small{color:var(--muted);font-size:11.5px}.insert-items button.active{background:#ffc4a01a}.insert-items .icon{color:var(--ember)}.flow-footer{flex-wrap:wrap;align-items:center;gap:8px;padding:14px 0 0 28px;display:flex;position:relative}.flow-footer .insert-menu{flex-basis:100%}.kbd-hint{color:var(--muted);margin-left:auto;font-size:12px}.scene-end{border:1px solid var(--line);background:#ffffff05;border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;margin:26px 0 0 28px;padding:14px 16px;display:flex}.scene-end .field-input{flex:220px;width:auto}.finding-summary{gap:8px;margin-bottom:12px;display:flex}.pill{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.pill-ok{color:var(--ok);background:#7fdc9f1f}.pill-error{color:var(--error);background:#ff6f7d26}.pill-warning{color:var(--warning);background:#f6c45324}.ending-coverage{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.all-clear{color:var(--ok);background:#7fdc9f14;border:1px solid #7fdc9f40;border-radius:14px;align-items:center;gap:12px;padding:14px;display:flex}.all-clear div{display:grid}.all-clear span{color:var(--text-2);font-size:12.5px}.finding-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.finding{text-align:left;border:1px solid var(--line);background:#ffffff06;border-radius:12px;gap:3px;width:100%;padding:10px 12px;transition:background .15s,border-color .15s;display:grid}.finding:hover:not(:disabled){border-color:var(--line-strong);background:#ffc4a00f}.finding-head{align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.finding-dot{border-radius:50%;flex:none;width:8px;height:8px}.finding.error .finding-dot{background:var(--error);box-shadow:0 0 8px var(--error)}.finding.warning .finding-dot{background:var(--warning)}.finding-where{font-family:var(--mono);color:var(--amber);margin-left:auto;font-size:11px;font-weight:500}.finding-message{color:var(--text-2);font-size:12.5px}.finding-source{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10.5px}.drop-overlay{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;background:#110913b3;place-items:center;display:grid;position:fixed;inset:0}.drop-overlay div{border:2px dashed var(--ember);font-family:var(--story);color:var(--amber);border-radius:22px;padding:34px 48px;font-size:22px}.toasts{z-index:60;pointer-events:none;justify-items:center;gap:8px;display:grid;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.toast{background:var(--glass-strong);border:1px solid var(--line-strong);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:12px;max-width:560px;padding:10px 16px;font-size:13px;animation:.18s ease-out pop}.toast-error{color:#ffc2c8;border-color:#ff6f7d80}.toast-ok{color:#c6f5d5;border-color:#7fdc9f73}@media (width<=1100px){.workspace{grid-template-columns:minmax(0,1fr) 330px}.toolbar-button{padding:6px 8px}}@media (width<=820px){.workspace{grid-template-rows:1fr 42%;grid-template-columns:1fr}.welcome-actions{grid-template-columns:1fr}.welcome-card{padding:30px 22px}.brand-text strong{max-width:14ch}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.toolbar-button.active{color:var(--amber);background:#ff8a3d29}.format-select{border:1px solid var(--line);color:var(--text-2);background:#ffffff08;border-radius:8px;max-width:150px;padding:5px 6px;font-size:12px}.toolbar-button kbd{font-size:10px}.stage-split{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);display:grid;position:absolute;inset:0}.stage-pane{min-width:0;min-height:0;position:relative}.stage-pane+.stage-pane{border-left:1px solid var(--line)}.map-tools{z-index:6;pointer-events:none;gap:8px;width:min(340px,100% - 24px);display:grid;position:absolute;top:12px;left:12px}.map-tools>*{pointer-events:auto}.map-toolbar{box-shadow:var(--shadow);border-radius:12px;justify-self:start;align-items:center;gap:4px;padding:4px;display:flex}.trace-picker{color:var(--text-2);align-items:center;gap:4px;padding-left:8px;display:inline-flex}.trace-picker .field-input{max-width:210px;padding:4px 26px 4px 8px;font-size:12.5px}.tool-card{box-shadow:var(--shadow);border-radius:14px;max-height:42vh;padding:10px 12px;animation:.14s ease-out pop;overflow-y:auto}.tool-card header{align-items:center;gap:7px;margin-bottom:6px;font-size:13px;display:flex}.tool-card header strong{text-overflow:ellipsis;font-weight:600;overflow:hidden}.tool-card p{margin:4px 0;font-size:12.5px}.tool-list{gap:3px;margin:6px 0 0;padding:0;list-style:none;display:grid}.tool-list button{text-align:left;width:100%;color:var(--text-2);background:#ffffff08;border:0;border-radius:8px;align-items:baseline;gap:7px;padding:6px 8px;font-size:12.5px;display:flex}.tool-list button:hover:not(:disabled){color:var(--text);background:#ffc4a01a}.step-choose:before{content:"◆";color:var(--ember)}.step-condition:before,.step-option-condition:before{content:"?";color:var(--teal);font-weight:700}.step-ending-condition:before{content:"⚑";color:var(--violet)}.legend{gap:3px;margin:0;padding:0;font-size:12.5px;list-style:none;display:grid}.legend li{align-items:center;gap:8px;display:flex}.legend b{color:var(--text-2);margin-left:auto;font-weight:600}.legend-dot{background:var(--heat);width:12px;height:12px;box-shadow:0 0 8px var(--heat);border-radius:4px}.heat-never{--heat:#6d5a78}.heat-rare{--heat:#ef5d7a}.heat-some{--heat:#f6c453}.heat-often{--heat:#ff8a3d}.heat-always{--heat:#ffd36e}.scene-card.heat{border-color:color-mix(in srgb, var(--heat) 65%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--heat) 22%, transparent), 0 0 28px color-mix(in srgb, var(--heat) 26%, transparent)}.scene-card.heat-never{opacity:.75;border-style:dashed}.scene-card.heat-rare{box-shadow:0 0 0 3px #ef5d7a59,0 0 30px #ef5d7a66}.badge-heat{background:color-mix(in srgb, var(--heat,var(--ember)) 24%, transparent);color:var(--heat,var(--amber))}.scene-tools{flex-wrap:wrap;gap:5px;margin:-2px 0 6px;display:flex}.badge-set{color:var(--ok);background:#7fdc9f2e}.badge-read{color:#9ccaff;background:#6fb6ff2e}.scene-card.lens-off,.ending-card.lens-off,.scene-card.trace-off,.ending-card.trace-off{opacity:.22;filter:saturate(.4)}.scene-card.lens-on{border-color:var(--amber);box-shadow:0 0 0 3px #f6c45340,0 0 30px #f6c45340}.scene-card.lens-target,.ending-card.lens-target{border-color:var(--amber);box-shadow:0 0 0 4px #f6c45373,0 0 40px #f6c45373}.scene-card.trace-on{border-color:#9ccaff;box-shadow:0 0 0 3px #6fb6ff40}.scene-card,.ending-card{transition:opacity .2s,filter .2s,border-color .15s,box-shadow .2s}.react-flow__edge-path{transition:opacity .2s,stroke-width .15s}.palette-backdrop{z-index:70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a040c8c;place-items:start center;padding-top:12vh;display:grid;position:fixed;inset:0}.palette{width:min(640px,100vw - 32px);box-shadow:var(--shadow);background:var(--glass-strong);border-radius:16px;animation:.14s ease-out pop;overflow:hidden}.palette-input{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:10px;padding:12px 14px;display:flex}.palette-input input{color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:16px}.palette-list{max-height:52vh;margin:0;padding:6px;list-style:none;overflow-y:auto}.palette-list button{text-align:left;width:100%;color:var(--text-2);background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:8px 10px;display:flex}.palette-list button.is-active{color:var(--text);background:#ff8a3d24}.palette-label{white-space:nowrap;font-weight:600}.palette-hint{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12.5px;overflow:hidden}.palette-group{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-left:auto;font-size:10.5px}.palette-empty{color:var(--muted);padding:14px}.preview{grid-template-rows:auto 1fr auto;min-height:100%;display:grid}.preview-controls{border-bottom:1px solid var(--line);gap:8px;padding:12px 14px 8px;display:grid}.preview-row{align-items:center;gap:8px;display:flex}.preview-row .field-input{flex:1;min-width:0}.primary-button.small,.ghost-button.small{padding:5px 10px;font-size:12.5px}.segmented{border:1px solid var(--line-strong);border-radius:9px;display:inline-flex;overflow:hidden}.segmented button{color:var(--text-2);background:0 0;border:0;padding:3px 12px}.segmented button.active{color:var(--amber);background:#ff8a3d33;font-weight:700}.preview-state summary,.preview-world summary{cursor:pointer;color:var(--text-2);padding:2px 0;font-size:12.5px}.preview-state[open]{padding-bottom:6px}.slider-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 40px;align-items:center;gap:8px;padding:3px 0;font-size:12.5px;display:grid}.slider-row>span{text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);overflow:hidden}.slider-row b{text-align:right;font-variant-numeric:tabular-nums}.slider-row input[type=range]{accent-color:var(--ember);width:100%}.slider-row input[type=checkbox]{accent-color:var(--ember);justify-self:start}.slider-row .field-input{padding:3px 6px;font-size:12.5px}.preview-script{font-family:var(--story);align-content:start;gap:8px;padding:12px 14px;font-size:14.5px;line-height:1.5;display:grid}.preview-scene{border:1px solid var(--line);font-family:var(--mono);color:var(--amber);background:#ffffff08;border-radius:999px;justify-self:start;margin-top:6px;padding:1px 10px;font-size:11px}.preview-line{border-left:3px solid var(--speaker);margin:0;padding-left:10px}.preview-line b{font-family:var(--ui);color:var(--speaker);font-size:12px;display:block}.preview-narration{color:var(--text-2);margin:0;font-style:italic}.preview-chosen{max-width:85%;color:var(--text);font-family:var(--ui);background:#ff8a3d29;border-radius:12px 12px 2px;justify-self:end;margin:0;padding:6px 10px;font-size:13px}.preview-moment{color:var(--violet);background:#b48cff1f;border-radius:10px;margin:0;padding:8px 10px}.preview-chip{font-family:var(--mono);color:var(--muted);justify-self:start;margin:0;font-size:11px}.preview-choice{gap:6px;padding-top:6px;display:grid}.preview-prompt{font-family:var(--ui);color:var(--muted);margin:0;font-size:12.5px}.preview-option{text-align:left;border:1px solid var(--line-strong);font-family:var(--ui);background:#ffffff0a;border-radius:12px;align-items:baseline;gap:10px;padding:9px 12px;font-size:13.5px;display:flex}.preview-option:hover{border-color:var(--ember);background:#ff8a3d1a}.option-letter{font-family:var(--mono);color:var(--amber);font-size:11px;font-weight:700}.preview-ending{border:1px solid color-mix(in srgb, var(--ending-color) 55%, transparent);background:color-mix(in srgb, var(--ending-color) 14%, transparent);font-family:var(--ui);border-radius:14px;justify-items:start;gap:6px;padding:12px;display:grid}.preview-ending strong{font-family:var(--story);font-size:18px;font-weight:500}.preview-world{border-top:1px solid var(--line);padding:8px 14px 12px;font-size:12.5px}.preview-world .plain-list{margin:6px 0 0}.script-view{background:#0a050c59;grid-template-rows:auto auto 1fr;display:grid;position:absolute;inset:0}.script-head{border-bottom:1px solid var(--line);color:var(--text-2);align-items:center;gap:8px;padding:8px 10px;display:flex}.script-head .field-input{max-width:260px;padding:4px 26px 4px 8px;font-size:12.5px}.script-status{background:#ffffff0d;border-radius:999px;padding:2px 9px;font-size:11.5px}.script-status.is-ok{color:var(--ok)}.script-status.is-pending{color:var(--amber)}.script-status.is-error{color:var(--error);background:#ff6f7d24}.script-error{text-align:left;color:#ffc2c8;background:#ff6f7d1a;border:0;border-bottom:1px solid #ff6f7d4d;align-items:baseline;gap:8px;padding:7px 12px;font-size:12.5px;display:flex}.script-error .muted{white-space:nowrap;margin-left:auto}.script-blocked{color:var(--text-2);justify-items:start;gap:8px;max-width:560px;padding:24px;display:grid}.script-blocked .icon{color:var(--warning)}.script-editor{min-height:0;font-family:var(--mono);grid-template-columns:auto 1fr;font-size:12.5px;line-height:20px;display:grid;position:relative;overflow:hidden}.script-gutter{text-align:right;color:#ffc4a047;-webkit-user-select:none;user-select:none;border-right:1px solid var(--line);background:#0000001f;padding:10px 0;overflow:hidden}.script-gutter div{height:20px;padding:0 10px 0 12px}.script-gutter div.is-error{color:var(--error);background:#ff6f7d29;font-weight:700}.script-code{min-width:0;min-height:0;position:relative}.script-highlight,.script-input{font:inherit;white-space:pre;tab-size:2;margin:0;padding:10px 14px;line-height:20px;position:absolute;inset:0;overflow:auto}.script-highlight{pointer-events:none;color:var(--text);overflow:hidden}.script-highlight div{height:20px}.script-highlight div.is-error{background:#ff6f7d1f}.script-input{resize:none;color:#0000;caret-color:var(--amber);background:0 0;border:0;outline:none}.script-input::selection{color:#0000;background:#ff8a3d4d}.tok-comment{color:#7d6a78;font-style:italic}.tok-scene{color:var(--ember);font-weight:700}.tok-attr{color:var(--amber)}.tok-speaker{color:var(--teal);font-weight:600}.tok-expr{color:#8fd3c5}.tok-narration{color:var(--violet);font-weight:700}.tok-choice{color:var(--rose);font-weight:700}.tok-option{color:var(--amber);font-weight:600}.tok-arrow{color:#9ccaff}.tok-effect{color:var(--ok)}.tok-cond{color:var(--rose)}.tok-label{color:#c79bff}.tok-stage{color:var(--muted)}.preview .link-button{color:var(--amber);justify-self:start;font-size:12.5px}.map-hint{top:auto;bottom:14px}@media (width<=1500px){.wide-only{display:none}}.editor-body{grid-template-columns:74px minmax(0,1fr);gap:10px;min-height:0;display:grid}.rail{border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:4px;padding:8px 6px;display:flex;overflow-y:auto}.rail-button{color:var(--muted);letter-spacing:.01em;cursor:pointer;background:0 0;border:0;border-radius:11px;justify-items:center;gap:3px;padding:9px 2px 7px;font-size:10.5px;font-weight:600;display:grid;position:relative}.rail-button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.rail-button:hover{color:var(--text);background:#ffc4a00f}.rail-button.active{color:var(--amber);background:#ff8a3d24;box-shadow:inset 0 0 0 1px #ff8a3d47}.rail-badge{background:var(--error);color:#2a0610;border-radius:999px;min-width:16px;padding:0 4px;font-size:10px;line-height:16px;position:absolute;top:4px;right:8px}.area{border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;min-height:0;display:flex;overflow:hidden}.area-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding:16px 20px 12px;display:flex}.area-head h1{font-family:var(--story);margin:2px 0 0;font-size:24px;font-weight:500}.area-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.area-actions label.ghost-button{cursor:pointer;align-items:center;gap:6px;display:inline-flex;position:relative}.area-actions label input[type=file]{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.area-split{flex:1;grid-template-columns:minmax(260px,380px) minmax(0,1fr);min-height:0;display:grid}.area-list{border-right:1px solid var(--line);align-content:start;gap:12px;padding:12px;display:grid;overflow-y:auto}.area-list ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.area-item{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.area-item:hover{background:#ffc4a00d}.area-item.active{background:#ff8a3d1a;border-color:#ff8a3d59}.area-item-text{flex:1;min-width:0;display:grid}.area-item-text b{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.area-item-text span{font-size:12px}.area-detail{min-height:0;overflow-y:auto}.detail-body{max-width:980px;padding:18px 22px 40px}.detail-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start;gap:4px 28px;display:grid}.field-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.relation-row{grid-template-columns:110px minmax(0,1fr) 36px 24px}.chip-editor .chip-input{flex:none;width:150px;padding:3px 8px;font-size:12.5px}.chip-count{color:var(--muted);margin-left:2px;font-size:10.5px}.chip-x:disabled{opacity:.25;cursor:not-allowed}.use-list{gap:4px;margin:0;padding:0;font-size:12.5px;list-style:none;display:grid}.use-list .link-button{align-items:center;gap:6px;display:inline-flex}.finding-inline.as-button{text-align:left;cursor:pointer;border:0;width:100%}.mono{font-family:var(--mono)}.var-table{border-collapse:collapse;width:100%;font-size:12.5px}.var-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:4px 6px;font-size:11px;font-weight:600}.var-table td{border-top:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;max-width:140px;padding:6px;overflow:hidden}.var-table tbody tr{cursor:pointer}.var-table tbody tr:hover td{background:#ffc4a00a}.var-table tbody tr.active td{background:#ff8a3d1f}.area-filters{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 20px;display:flex}.area-filters>.field-input{flex:1;min-width:200px;max-width:420px}.area-empty{text-align:center;color:var(--text-2);justify-items:center;gap:6px;padding:60px 24px;display:grid}.area-empty p{max-width:520px;margin:0}.lang-progress{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:10px;padding:12px 20px;display:flex}.lang-card{border:1px solid var(--line-strong);text-align:left;cursor:pointer;background:#00000029;border-radius:12px;gap:5px;min-width:210px;padding:9px 12px;font-size:12.5px;display:grid}.lang-card.active{border-color:var(--ember)}.progress{background:#ffffff12;border-radius:999px;height:6px;display:block;overflow:hidden}.progress span{background:linear-gradient(90deg, var(--ember-deep), var(--amber));border-radius:inherit;height:100%;display:block}.progress span.complete{background:var(--ok)}.translation-scroll{flex:1;min-height:0;padding:0 0 24px;overflow:auto}.translation-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.translation-table th{z-index:1;background:var(--glass-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:left;border-bottom:1px solid var(--line-strong);white-space:nowrap;padding:8px 10px;font-weight:600;position:sticky;top:0}.translation-table th .icon-button{vertical-align:middle;margin-left:6px}.translation-table td{vertical-align:top;border-bottom:1px solid var(--line);padding:6px 10px}.translation-table .key-col{width:230px;min-width:180px;font-size:12px}.translation-table .key-col .link-button{color:var(--text-2);font-weight:600}.key-name{overflow-wrap:anywhere;font-size:11px;display:block}.translation-table tr.unused td{opacity:.55}.translation-table td.missing{background:#f6c4530d}.translation-table td.stale{box-shadow:inset 2px 0 0 var(--rose);background:#ef5d7a12}.stale-note{color:var(--rose);align-items:center;gap:8px;padding:0 8px 4px;font-size:11.5px;display:flex}.stale-note span{cursor:help;align-items:center;gap:4px;display:inline-flex}.lang-stale{color:var(--rose);background:#ef5d7a29;border-radius:999px;justify-self:start;padding:1px 8px;font-size:11.5px}.ki-chip{border:1px solid var(--violet);color:var(--violet);letter-spacing:.04em;border-radius:5px;margin-left:6px;padding:0 5px;font-size:10px;font-weight:600;display:inline-block}.cell-input{resize:none;width:100%;color:var(--text);font:inherit;font-family:var(--story);background:0 0;border:1px solid #0000;border-radius:8px;padding:5px 7px;font-size:14px;line-height:1.4}.cell-input:hover{border-color:var(--line-strong)}.cell-input:focus{border-color:var(--ember);background:#08030a80;outline:none}td.missing .cell-input::placeholder{color:var(--warning);font-family:var(--ui);font-size:12px}.more-button{margin:14px 20px}.asset-scroll{flex:1;min-height:0;padding:6px 20px 30px;overflow-y:auto}.asset-section h3{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);margin:18px 0 10px;font-size:13px}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.tile-grid.small{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;margin:6px 0 10px}.asset-section>.tile-grid:has(.figure-card){grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.tile{border:1px solid var(--line);background:#0000002e;border-radius:11px;gap:3px;min-width:0;padding:6px;font-size:12px;display:grid}.tile-media{aspect-ratio:4/3;background:repeating-conic-gradient(#ffffff0a 0 25%, transparent 0 50%) 0 0 / 14px 14px;color:var(--muted);font-family:var(--mono);border-radius:7px;place-items:center;font-size:11px;display:grid;overflow:hidden}.tile-media img{object-fit:contain;width:100%;height:100%}.tile-name{flex-wrap:wrap;align-items:center;gap:4px;font-weight:600;display:flex}.tile-path{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.tile.state-missing{border:1px dashed var(--error);background:#ff6f7d0f}.tile.state-unused{opacity:.6}.tile.state-file-missing{border-color:#f6c45380}.state-tag{color:var(--text-2);background:#ffffff12;border-radius:999px;padding:0 6px;font-size:10px;font-weight:700}.state-tag.state-missing{color:var(--error);background:#ff6f7d33}.state-tag.state-unused{color:#cfc3dd;background:#b6a8c92e}.state-tag.state-file-missing{color:var(--warning);background:#f6c4532e}.figure-card{border:1px solid var(--line);background:#0000001f;border-radius:13px;padding:10px 12px;display:grid}.figure-card header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.figure-card.state-missing{border:1px dashed var(--error)}.figure-card.state-unused{opacity:.65}.stage3-tile .tile-media{color:var(--violet);text-align:center;background:repeating-linear-gradient(135deg,#b48cff1f 0 8px,#b48cff0a 8px 16px);align-content:center;gap:2px;display:grid}.stage3-tile .tile-media span{font-weight:700;font-family:var(--ui)}.audio-tile{grid-template-columns:34px minmax(0,1fr);align-items:center;column-gap:8px}.audio-tile .tile-path{grid-column:2}.tile-path-row{align-items:center;gap:4px;min-width:0;display:flex}.audio-tile .tile-path-row,.audio-tile .tile-input{grid-column:2}.path-button{text-align:left;cursor:text;background:0 0;border:0;min-width:0;padding:0}.path-button:hover{color:var(--text);-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.tile-input{width:100%;padding:3px 6px;font-size:11px}.asset-section h3 .add-entry{margin-left:10px;font-size:12px;font-weight:400}.inline-form.add-entry{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.play-button{border:1px solid var(--line-strong);width:34px;height:34px;color:var(--amber);cursor:pointer;background:#ff8a3d24;border-radius:50%;grid-row:span 2;place-items:center;display:grid}.play-button:disabled{opacity:.35;cursor:not-allowed}.review-bar{border-bottom:1px solid var(--line);gap:10px;padding:14px 20px;display:grid}.review-steps{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.review-steps li{border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:center;gap:9px;padding:8px 14px 8px 8px;display:flex}.review-steps li span:last-child{line-height:1.2;display:grid}.review-steps small{font-size:11px}.review-steps .step-dot{background:#ffffff0f;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:grid}.review-steps li.done{color:var(--ok);border-color:#7fdc9f4d}.review-steps li.done .step-dot{background:#7fdc9f33}.review-steps li.current{color:var(--text);border-color:var(--ember);background:#ff8a3d1a}.review-steps li.current .step-dot{background:linear-gradient(135deg, var(--amber), var(--ember));color:#2a0f06}.review-steps li.later{opacity:.45;border-style:dashed}.review-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.review-actions .field-input{flex:1;min-width:220px;max-width:460px}.review-history summary{cursor:pointer;color:var(--text-2);font-size:12.5px}.finding-list.wide{max-width:980px}@media (width<=900px){.editor-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.rail{flex-direction:row;overflow-x:auto}.area-split{grid-template-columns:1fr}.area-list{border-right:0;border-bottom:1px solid var(--line);max-height:40vh}}.area-list .inline-form{flex-wrap:wrap}.area-list .inline-form>.field-input:first-child{flex:160px}.ki-panel{gap:10px}.ki-head{position:relative}.ki-switch{color:var(--text-2);align-items:center;gap:5px;font-size:12.5px;display:flex;position:absolute;top:2px;right:0}.ki-node{align-items:center;gap:7px;margin:4px 0 0;font-size:12px;display:flex}.ki-node .status-dot{color:var(--muted)}.ki-node .link-button{margin-left:auto;font-size:12px;text-decoration:underline}.ki-target{margin:0;font-size:12.5px}.ki-actions{flex-wrap:wrap;gap:6px;display:flex}.ki-keywords{resize:vertical;width:100%;font-size:13px}.ki-busy{color:var(--amber);align-items:center;gap:8px;margin:0;font-size:12.5px;display:flex}.ki-busy .status-dot{color:var(--amber)}.ki-results{flex-direction:column;gap:10px;display:flex}.ki-results-head{justify-content:space-between;align-items:center;display:flex}.ghost-card{border:1px dashed var(--line-strong);border-radius:var(--radius);opacity:.92;background:#ffc4a009;padding:10px 12px}.ghost-card:hover{opacity:1;border-color:var(--amber)}.ghost-lines{font-family:var(--story);flex-direction:column;gap:6px;margin:0 0 8px;padding:0;font-size:14px;line-height:1.45;list-style:none;display:flex}.ghost-lines .is-narration .ghost-text{color:var(--text-2);font-style:italic}.ghost-lines .is-dialogue{border-left:2px solid var(--speaker,var(--ember));padding-left:8px}.ghost-speaker{font-family:var(--ui);letter-spacing:.04em;text-transform:uppercase;color:var(--speaker,var(--ember));font-size:11px;font-weight:600;display:block}.ghost-choice{margin-bottom:8px;font-size:13.5px}.ghost-prompt{margin:0 0 4px;font-weight:600}.ghost-choice ol{flex-direction:column;gap:4px;margin:0;padding-left:20px;display:flex}.ghost-choice .chips{flex-wrap:wrap;gap:4px;margin-left:6px;display:inline-flex}.ki-hints{flex-direction:column;gap:6px;margin:0 0 8px;padding:0;font-size:13px;list-style:none;display:flex}.ki-hints li{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.ki-hints .link-button{color:var(--amber);font-family:var(--mono);font-size:12px}.ki-note{margin:4px 0 0;font-size:11.5px}.finding-inline.ok{color:#bdf0cd;background:#7fdc9f1a}.server-pill{border:1px solid var(--line-strong);color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.server-pill.status-draft{color:var(--text-2)}.server-pill.status-review{color:var(--amber);border-color:#f6c45366}.server-pill.status-approved{color:var(--ok);border-color:#7fdc9f66}.server-pill.status-staging{color:var(--teal);border-color:#5ccdb666}.server-pill.status-published{color:#2a0f06;background:linear-gradient(135deg, var(--amber), var(--ember));border-color:#0000}.server-pill.status-archived{color:var(--muted);border-style:dashed}.server-chip{border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:8px;padding:4px 10px;display:inline-flex}.server-chip:hover{border-color:var(--line-strong)}.server-welcome{border-radius:var(--radius);border:1px solid var(--line);text-align:left;gap:10px;margin-top:18px;padding:14px 16px;display:grid}.server-welcome-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.server-signin{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.server-signin .field-input{max-width:220px}.server-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.server-list li{border-radius:var(--radius-s);background:#ffffff08;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.server-dialog{gap:12px;padding:20px 22px;display:grid}.server-dialog h2{margin:0;font-size:17px}.server-dialog p{color:var(--text-2);margin:0}.server-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.server-publish{border-radius:var(--radius-s);border:1px dashed var(--line-strong);gap:8px;padding:10px 12px;display:grid}.server-publish-files{flex-wrap:wrap;align-items:center;gap:12px;font-size:12.5px;display:flex}.server-publish-files label{gap:4px;display:grid}.server-review .link-button{color:var(--amber)}.server-welcome .small,.server-review .small,.server-list .small,.server-chip .small{font-size:12px}.server-members{gap:8px;display:grid}.server-members>summary{cursor:pointer;font-weight:600}.server-members[open]>summary{margin-bottom:6px}.member-list li{grid-template-columns:minmax(160px,1fr) 2.4fr auto;align-items:start}.member-who{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.member-roles{gap:6px;display:grid}.member-roles label.chip{cursor:pointer}.member-select{width:auto;padding:3px 6px;font-size:12.5px}.member-story{width:140px;padding:3px 8px;font-size:12.5px}.member-actions{justify-items:end;gap:4px;display:grid}@media (width<=760px){.member-list li{grid-template-columns:1fr}.member-actions{justify-items:start}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.member-roles label.chip:focus-within{outline:2px solid var(--amber);outline-offset:1px}.ki-badge{height:17px;color:var(--teal);letter-spacing:.04em;cursor:pointer;opacity:.75;background:#5ccdb614;border:1px solid #5ccdb659;border-radius:999px;align-items:center;gap:3px;padding:0 6px;font-size:10px;font-weight:700;display:inline-flex}.ki-badge:hover,.ki-badge:focus-visible{opacity:1;border-color:var(--teal)}.is-narration .ki-corner{position:absolute;top:6px;right:8px}.is-narration:has(.ki-badge) .line-input.narration{padding-right:46px}
