@import "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600&family=Noto+Serif+SC:wght@400;600&family=Space+Grotesk:wght@400;500;600&display=swap";:root{--bg-primary:#f4f7f8;--bg-surface:#fff;--bg-elevated:#f8fafa;--accent-main:#ff5e4d;--accent-light:#f98;--accent-dark:#cc3b2d;--text-primary:#040d12;--text-secondary:#50696b;--text-muted:#8ca6a6;--border-subtle:#040d1214;--border-medium:#040d1226;--bg-base:var(--bg-primary);--bg-panel:var(--bg-surface);--bg-header:var(--bg-surface);--bg-gradient-start:var(--bg-primary);--border-color:var(--border-subtle);--text-tertiary:var(--text-muted);--agent-msg-bg:var(--bg-elevated);--agent-msg-shadow:none;--chat-input-container-bg:var(--bg-surface);--chat-input-bg:var(--bg-primary);--chat-input-border:var(--border-subtle);--chat-input-focus-bg:var(--bg-elevated);--accent-color:var(--accent-main);--accent-secondary:var(--accent-dark);--accent-glow:#ff5e4d0d;--accent-color-hover:var(--accent-light);--border-radius-sm:0px;--border-radius-md:0px;--border-radius-lg:0px;--shadow-sm:none;--shadow-md:none;--shadow-glow:none;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Noto Sans SC,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}:root.dark{--bg-primary:#0a0a0a;--bg-surface:#1a1a1a;--bg-elevated:#2a2a2a;--accent-main:#ff5e4d;--accent-light:#f98;--accent-dark:#cc3b2d;--text-primary:#f0f4f5;--text-secondary:#8ca6a6;--text-muted:#50696b;--border-subtle:#ffffff0d;--border-medium:#ffffff1f}body{width:100vw;height:100vh;margin:0;padding:0;overflow:hidden}#root{width:100%;height:100%;display:flex}*{box-sizing:border-box}.glass-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);box-shadow:none;border-radius:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.markdown-body h1,.markdown-body h2,.markdown-body h3{color:var(--text-primary);margin-top:1.5em;margin-bottom:.5em;font-family:Noto Serif SC,serif;font-weight:600}.markdown-body h2{border-bottom:1px solid var(--border-color);padding-bottom:.3em}.markdown-body p{color:var(--text-secondary);line-height:1.7}.markdown-body strong{color:var(--text-primary)}.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:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--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}.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))}.player-view{flex-direction:column;height:100%;font-family:Inter,Noto Sans SC,-apple-system,sans-serif;font-size:14px;display:flex;overflow:hidden}.player-view.dark{color:#e2e8f0;background:#0c1222}.player-view.light{color:#1e293b;background:#fff}.pv-scene-header{border-bottom:1px solid;flex-shrink:0;padding:12px 16px}.player-view.dark .pv-scene-header{background:#0f172acc;border-color:#64748b33}.player-view.light .pv-scene-header{background:#f8fafc;border-color:#e2e8f0}.pv-scene-title-row{align-items:center;gap:8px;display:flex}.pv-scene-name{font-size:16px;font-weight:700}.pv-scene-id{border-radius:4px;padding:1px 6px;font-family:monospace;font-size:11px}.player-view.dark .pv-scene-id{color:#94a3b8;background:#64748b33}.player-view.light .pv-scene-id{color:#64748b;background:#e2e8f0}.pv-scene-tags{gap:6px;margin-top:4px;display:flex}.pv-tag{border-radius:4px;padding:1px 6px;font-size:11px}.player-view.dark .pv-tag{color:#94a3b8;background:#64748b26}.player-view.light .pv-tag{color:#64748b;background:#f1f5f9}.pv-controls{border-bottom:1px solid;flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.player-view.dark .pv-controls{background:#0f172a80;border-color:#64748b26}.player-view.light .pv-controls{background:#fafafa;border-color:#e2e8f0}.pv-ctrl-btn{cursor:pointer;border:1px solid;border-radius:6px;padding:4px 10px;font-size:12px;transition:all .15s}.player-view.dark .pv-ctrl-btn{color:#94a3b8;background:0 0;border-color:#64748b4d}.player-view.dark .pv-ctrl-btn:hover:not(:disabled){color:#e2e8f0;background:#64748b26}.player-view.light .pv-ctrl-btn{color:#475569;background:#fff;border-color:#d1d5db}.player-view.light .pv-ctrl-btn:hover:not(:disabled){background:#f1f5f9}.pv-ctrl-btn:disabled{opacity:.3;cursor:not-allowed}.pv-progress{font-size:11px}.player-view.dark .pv-progress{color:#64748b}.player-view.light .pv-progress{color:#94a3b8}.pv-content{flex:1;padding:16px;line-height:1.8;overflow-y:auto}.pv-chapter-transition{text-align:center;margin:8px 0;padding:20px 0}.pv-ch-badge{border-radius:6px;margin-right:8px;padding:4px 14px;font-size:13px;font-weight:700;display:inline-block}.player-view.dark .pv-ch-badge{color:#0f172a;background:#818cf8}.player-view.light .pv-ch-badge{color:#fff;background:#3b82f6}.pv-ch-name{font-size:20px;font-weight:800}.pv-narrate{text-indent:2em;margin:6px 0;line-height:1.9}.player-view.dark .pv-narrate{color:#cbd5e1}.player-view.light .pv-narrate{color:#334155}.pv-narrate-slow{letter-spacing:1px;font-style:italic}.pv-narrate-blood{font-weight:700}.player-view.dark .pv-narrate-blood{color:#f87171}.player-view.light .pv-narrate-blood{color:#b91c1c}.pv-narrate-whisper{opacity:.7;font-style:italic}.pv-dialogue{align-items:baseline;gap:6px;padding:3px 0;display:flex}.pv-speaker{font-size:14px;font-weight:700}.player-view.dark .pv-speaker{color:#fbbf24}.player-view.light .pv-speaker{color:#b45309}.pv-emotion{border-radius:3px;padding:1px 4px;font-size:11px}.player-view.dark .pv-emotion{color:#f59e0b;background:#f59e0b1a}.player-view.light .pv-emotion{color:#92400e;background:#fef3c7}.pv-speech{font-size:14px}.pv-inspect-block{margin:4px 0}.pv-inspect-btn{cursor:pointer;text-align:left;border:1px dashed;border-radius:6px;align-items:center;gap:4px;width:100%;padding:6px 12px;font-size:13px;transition:all .15s;display:flex}.player-view.dark .pv-inspect-btn{color:#fbbf24;background:0 0;border-color:#eab3084d}.player-view.dark .pv-inspect-btn:hover{background:#eab3080f}.player-view.light .pv-inspect-btn{color:#92400e;background:0 0;border-color:#fde68a}.player-view.light .pv-inspect-btn:hover{background:#fefce8}.pv-inspect-reward{border-radius:3px;margin-left:auto;padding:1px 6px;font-size:11px}.player-view.dark .pv-inspect-reward{color:#4ade80;background:#22c55e26}.player-view.light .pv-inspect-reward{color:#166534;background:#dcfce7}.pv-inspect-content{border-radius:6px;margin:2px 0 4px;padding:8px 12px;font-size:13px;line-height:1.7}.player-view.dark .pv-inspect-content{color:#e2e8f0;background:#eab3080a}.player-view.light .pv-inspect-content{color:#334155;background:#fefce8}.pv-talk-block{border-left:3px solid;border-radius:8px;margin:10px 0;padding:10px 12px}.player-view.dark .pv-talk-block{background:#3b82f60a;border-left-color:#60a5fa}.player-view.light .pv-talk-block{background:#eff6ff;border-left-color:#3b82f6}.pv-talk-header{margin-bottom:8px;font-size:13px}.pv-talk-tree{padding-left:0}.pv-npc-line{align-items:baseline;gap:4px;padding:2px 0;display:flex}.pv-npc-name{font-size:13px;font-weight:600}.player-view.dark .pv-npc-name{color:#fbbf24}.player-view.light .pv-npc-name{color:#b45309}.pv-npc-emotion{border-radius:2px;padding:0 3px;font-size:10px}.player-view.dark .pv-npc-emotion{color:#f59e0b;background:#f59e0b1a}.player-view.light .pv-npc-emotion{color:#92400e;background:#fef3c7}.pv-npc-text{font-size:14px}.pv-choice-group{margin:2px 0}.pv-talk-choice{cursor:pointer;text-align:left;border:none;border-radius:5px;align-items:center;gap:4px;width:100%;padding:4px 8px;font-size:13px;transition:background .15s;display:flex}.player-view.dark .pv-talk-choice{color:#a5b4fc;background:#6366f10f}.player-view.dark .pv-talk-choice:hover{background:#6366f11f}.player-view.dark .pv-talk-choice.expanded{background:#6366f11a}.player-view.light .pv-talk-choice{color:#4338ca;background:#6366f10a}.player-view.light .pv-talk-choice:hover{background:#6366f114}.pv-choice-arrow{width:12px;font-size:10px}.pv-choice-text{font-weight:500}.pv-choice-children{border-left:1px solid;margin-left:8px;padding-left:8px}.player-view.dark .pv-choice-children{border-color:#64748b33}.player-view.light .pv-choice-children{border-color:#e2e8f0}.pv-puzzle{border-left:3px solid;border-radius:8px;margin:8px 0;padding:10px 12px}.player-view.dark .pv-puzzle{background:#a855f70a;border-left-color:#c084fc}.player-view.light .pv-puzzle{background:#faf5ff;border-left-color:#a855f7}.pv-puzzle-header{align-items:center;gap:6px;display:flex}.pv-puzzle-name{font-weight:700}.pv-puzzle-type{border-radius:3px;padding:1px 6px;font-size:11px}.player-view.dark .pv-puzzle-type{color:#c084fc;background:#a855f726}.player-view.light .pv-puzzle-type{color:#7c3aed;background:#e9d5ff}.pv-puzzle-desc{margin:4px 0 0;font-size:13px;line-height:1.7}.pv-puzzle-reward{margin-top:4px;font-size:12px}.player-view.dark .pv-puzzle-reward{color:#4ade80}.player-view.light .pv-puzzle-reward{color:#16a34a}.pv-qte{border:2px solid;border-radius:8px;margin:10px 0;padding:12px}.player-view.dark .pv-qte{background:#f59e0b0a;border-color:#f59e0b}.player-view.light .pv-qte{background:#fffbeb;border-color:#f59e0b}.pv-qte-header{justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:700;display:flex}.pv-qte-timer{border-radius:4px;padding:2px 8px;font-size:13px}.player-view.dark .pv-qte-timer{color:#fbbf24;background:#f59e0b33}.player-view.light .pv-qte-timer{color:#92400e;background:#fef3c7}.pv-qte-choices{flex-direction:column;gap:6px;display:flex}.pv-select{margin:8px 0}.pv-select-prompt{margin-bottom:6px;font-weight:600}.pv-select-choices{flex-direction:column;gap:6px;display:flex}.pv-exits{margin:12px 0}.pv-exits-label{margin-bottom:6px;font-size:12px}.player-view.dark .pv-exits-label{color:#64748b}.player-view.light .pv-exits-label{color:#94a3b8}.pv-exits{flex-direction:column;gap:6px;display:flex}.pv-exits .pv-exits-label{flex-basis:100%}.pv-nav-btn{cursor:pointer;border:1px solid;border-radius:8px;justify-content:center;align-items:center;gap:4px;width:100%;padding:10px 16px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.player-view.dark .pv-nav-exit{color:#4ade80;background:#22c55e0f;border-color:#22c55e4d}.player-view.dark .pv-nav-exit:hover:not(:disabled){background:#22c55e26}.player-view.light .pv-nav-exit{color:#166534;background:#f0fdf4;border-color:#86efac}.player-view.light .pv-nav-exit:hover:not(:disabled){background:#dcfce7}.player-view.dark .pv-nav-exit.visited{color:#94a3b8;background:#64748b0f;border-style:dashed;border-color:#64748b4d}.player-view.dark .pv-nav-exit.visited:hover:not(:disabled){background:#64748b1f}.player-view.light .pv-nav-exit.visited{color:#94a3b8;background:#f8fafc;border-style:dashed;border-color:#cbd5e1}.player-view.light .pv-nav-exit.visited:hover:not(:disabled){background:#f1f5f9}.pv-visited-mark{opacity:.6;margin-left:4px;font-size:11px}.player-view.dark .pv-nav-exit.has-new{color:#fbbf24;background:#fbbf2414;border-style:solid;border-color:#fbbf2466}.player-view.dark .pv-nav-exit.has-new:hover{background:#fbbf2426}.player-view.light .pv-nav-exit.has-new{color:#92400e;background:#fffbeb;border-style:solid;border-color:#fcd34d}.player-view.light .pv-nav-exit.has-new:hover{background:#fef3c7}.pv-new-path-badge{border-radius:4px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:600}.player-view.dark .pv-new-path-badge{color:#fbbf24;background:#fbbf2433}.player-view.light .pv-new-path-badge{color:#92400e;background:#fef3c7}.player-view.dark .pv-nav-qte{color:#fbbf24;background:#f59e0b0f;border-color:#f59e0b4d}.player-view.dark .pv-nav-qte:hover{background:#f59e0b26}.player-view.light .pv-nav-qte{color:#92400e;background:#fffbeb;border-color:#fde68a}.player-view.light .pv-nav-qte:hover{background:#fef3c7}.player-view.dark .pv-nav-select{color:#a5b4fc;background:#6366f10f;border-color:#6366f14d}.player-view.dark .pv-nav-select:hover:not(:disabled){background:#6366f126}.player-view.light .pv-nav-select{color:#4338ca;background:#eef2ff;border-color:#c7d2fe}.player-view.light .pv-nav-select:hover:not(:disabled){background:#e0e7ff}.pv-nav-timeout{opacity:.6}.pv-nav-btn:disabled{opacity:.3;cursor:not-allowed}.pv-nav-btn .pv-lock{opacity:.7;margin-left:6px;font-family:monospace;font-size:10px}.pv-nav-dest{opacity:.7;margin-left:4px;font-size:11px}.pv-choice-cond{opacity:.6;font-family:monospace;font-size:10px}.pv-item-gained{border-radius:6px;margin:4px 0;padding:6px 10px;font-size:13px}.player-view.dark .pv-item-gained{color:#4ade80;background:#22c55e0f}.player-view.light .pv-item-gained{color:#166534;background:#f0fdf4}.pv-var-change{opacity:.5;padding:2px 8px;font-family:monospace;font-size:11px}.pv-cg{margin:4px 0;padding:4px 8px;font-size:13px}.player-view.dark .pv-cg{color:#22d3ee}.player-view.light .pv-cg{color:#0e7490}.pv-stage-dir{margin:4px 0;font-size:13px;font-weight:600}.player-view.dark .pv-stage-dir{color:#c084fc}.player-view.light .pv-stage-dir{color:#7c3aed}.pv-footer{border-top:1px solid;flex-shrink:0;padding:6px 12px}.player-view.dark .pv-footer{background:#0f172acc;border-color:#64748b33}.player-view.light .pv-footer{background:#f8fafc;border-color:#e2e8f0}.pv-inventory-toggle{cursor:pointer;border:1px solid;border-radius:6px;padding:4px 10px;font-size:12px}.player-view.dark .pv-inventory-toggle{color:#94a3b8;background:0 0;border-color:#64748b4d}.player-view.light .pv-inventory-toggle{color:#475569;background:#fff;border-color:#d1d5db}.pv-inventory-panel{flex-wrap:wrap;gap:4px;padding:8px 0;display:flex}.pv-inv-item{cursor:pointer;border:1px solid;border-radius:4px;flex-direction:column;align-items:center;gap:1px;padding:4px 8px 3px;font-size:11px;display:flex}.player-view.dark .pv-inv-item{color:#e2e8f0;background:#64748b0f;border-color:#64748b4d}.player-view.light .pv-inv-item{color:#374151;background:#f9fafb;border-color:#d1d5db}.pv-inv-id{letter-spacing:-.3px;opacity:.65;font-family:Courier New,monospace;font-size:8px;line-height:1}.player-view.dark .pv-inv-id{color:#94a3b8}.player-view.light .pv-inv-id{color:#9ca3af}.pv-inv-name{align-items:center;gap:3px;display:flex}.pv-inv-new{animation:1.5s ease-in-out infinite alternate inv-glow}.player-view.dark .pv-inv-new{color:#4ade80!important;background:#22c55e1f!important;border-color:#4ade80!important}.player-view.light .pv-inv-new{color:#166534!important;background:#f0fdf4!important;border-color:#22c55e!important}.pv-new-badge{letter-spacing:.5px;border-radius:3px;margin-left:4px;padding:0 4px;font-size:9px;font-weight:700}.player-view.dark .pv-new-badge{color:#052e16;background:#4ade80}.player-view.light .pv-new-badge{color:#fff;background:#22c55e}@keyframes inv-glow{0%{box-shadow:0 0 #22c55e00}to{box-shadow:0 0 6px 1px #22c55e4d}}.pv-empty{text-align:center;justify-content:center;align-items:center;height:100%;display:flex}.player-view.dark .pv-empty{color:#64748b}.player-view.light .pv-empty{color:#94a3b8}.storyboard-container{background:var(--bg-primary);width:100%;height:100%;color:var(--text-primary);flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;display:flex;position:relative}.storyboard-toolbar{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:10px 20px;display:flex;overflow:hidden;box-shadow:0 4px 20px #0003}.toolbar-left{flex-shrink:0;align-items:center;gap:12px;display:flex}.toolbar-title{background:linear-gradient(135deg, var(--accent-main), var(--accent-hover));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:15px;font-weight:700}.toolbar-subtitle{color:var(--text-tertiary);background:0 0;border-radius:4px;padding:2px 8px;font-size:12px}.toolbar-right{flex-shrink:1;align-items:center;gap:12px;min-width:0;display:flex;overflow:hidden}.toolbar-search{align-items:center;display:flex;position:relative}.search-icon{color:var(--text-tertiary);pointer-events:none;position:absolute;left:8px}.toolbar-search input{width:200px;height:28px;color:var(--text-primary);box-sizing:border-box;background:#ffffff08;border:1px solid #0000;border-radius:4px;outline:none;padding:0 28px;font-size:12px;transition:all .3s}.toolbar-search input:focus{border-color:var(--border-subtle);background:#ffffff0f;box-shadow:0 0 0 2px #ffffff05}.search-clear{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:12px;transition:color .2s;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.search-clear:hover{color:var(--text-primary)}.chapter-filters{scrollbar-width:none;flex-shrink:1;gap:6px;min-width:0;padding:2px 0;display:flex;overflow-x:auto}.chapter-filters::-webkit-scrollbar{display:none}.chapter-filter-btn{color:var(--text-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:12px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:600;transition:all .3s}.chapter-filter-btn:hover{color:var(--text-primary);background:#ffffff0d}.chapter-filter-btn.active{background:#ffffff1a;border-color:#0000;color:var(--text-primary)!important}.toolbar-btn{border:1px solid var(--border-subtle);height:28px;color:var(--text-secondary);cursor:pointer;box-sizing:border-box;background:0 0;border-radius:4px;align-items:center;gap:6px;padding:0 14px;font-size:12px;font-weight:600;transition:all .3s;display:inline-flex}.toolbar-btn:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-medium)}.toolbar-btn.icon-only{justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:flex}.toolbar-btn.icon-only svg{display:block}.storyboard-canvas{flex:1;width:100%;position:relative}.storyboard-canvas .react-flow__attribution{display:none}.storyboard-canvas .react-flow__controls{box-shadow:none;border:1px solid var(--border-subtle);border-radius:0;overflow:hidden}.storyboard-canvas .react-flow__controls-button{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);fill:#94a3b8;width:28px;height:28px}.storyboard-canvas .react-flow__controls-button:hover{background:var(--bg-elevated);fill:#e2e8f0}.storyboard-canvas .react-flow__minimap{border:1px solid var(--border-subtle);box-shadow:none;border-radius:0}.storyboard-canvas .react-flow__edge-textbg{fill:#0f172ae6}.storyboard-canvas .react-flow__edge-text{fill:#94a3b8;font-size:10px}.scene-node{cursor:pointer;border:1px solid;border-radius:0;width:280px;font-size:12px;transition:all .2s;position:relative;overflow:hidden}.scene-node:hover{box-shadow:none;transform:translateY(-2px)}.scene-handle{background:#475569!important;border:2px solid #1e293b!important;width:8px!important;height:8px!important}.scene-node-chapter-bar{width:100%;height:3px}.scene-node-header{align-items:baseline;gap:6px;padding:8px 10px 2px;display:flex}.scene-node-id{color:var(--text-tertiary);background:var(--bg-elevated);border-radius:0;padding:1px 4px;font-family:JetBrains Mono,monospace;font-size:10px}.scene-node-title{color:var(--text-primary);font-size:14px;font-weight:600}.scene-node-location{opacity:.7;margin-top:2px;padding:0 10px;font-size:10px}.scene-node-narrate{color:var(--text-secondary);max-height:44px;padding:4px 10px;font-size:11px;line-height:1.4;overflow:hidden}.scene-node-badges{flex-wrap:wrap;gap:4px;padding:4px 10px 6px;display:flex}.scene-badge{background:var(--bg-elevated);border-radius:0;align-items:center;padding:1px 4px;font-size:12px;line-height:1;display:inline-flex}.scene-badge sub{opacity:.7;margin-left:1px;font-size:9px}.scene-node-wordcount{opacity:.5;font-family:JetBrains Mono,monospace;font-size:10px;position:absolute;top:8px;right:10px}.ending-node{text-align:center;cursor:pointer;border:2px dashed;border-radius:0;width:200px;padding:12px 14px;transition:all .2s}.ending-node:hover{box-shadow:none;transform:translateY(-2px)}.ending-node-title{color:var(--text-primary);font-size:14px;font-weight:700}.ending-node-meta{color:var(--text-secondary);margin-top:4px;font-size:11px}.detail-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);z-index:20;width:380px;height:100%;box-shadow:none;flex-direction:column;animation:.25s slideInRight;display:flex;position:absolute;top:0;right:0}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.detail-panel-header{border:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:16px;display:flex}.detail-panel-header h3{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.detail-scene-id{color:#3b82f6;background:#6366f11a;border-radius:0;margin-top:4px;margin-right:6px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:11px;display:inline-block}.detail-chapter{color:var(--text-tertiary);font-size:11px}.detail-close-btn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:0;padding:4px 8px;font-size:16px;transition:all .2s}.detail-close-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.detail-panel-body{flex:1;padding:12px 16px;overflow-y:auto}.detail-panel-body::-webkit-scrollbar{width:4px}.detail-panel-body::-webkit-scrollbar-track{background:0 0}.detail-panel-body::-webkit-scrollbar-thumb{background:#64748b4d;border-radius:0}.detail-section{border-bottom:1px solid var(--border-subtle);margin-bottom:16px;padding-bottom:12px}.detail-section h4{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;font-size:12px;font-weight:600}.detail-meta-grid{grid-template-columns:1fr 1fr;gap:4px;display:grid}.detail-meta-item{color:var(--text-secondary);background:var(--bg-elevated);border-radius:0;padding:3px 6px;font-size:11px}.detail-narrates{flex-direction:column;gap:8px;display:flex}.detail-narrate-line{color:var(--text-primary);background:var(--bg-elevated);border-left:3px solid #6366f14d;border-radius:0;margin:0;padding:6px 10px;font-size:13px;line-height:1.6}.detail-inspect-item{background:var(--bg-elevated);border-radius:0;margin-bottom:6px;padding:6px 8px}.inspect-name{color:var(--text-primary);font-size:12px;font-weight:600}.inspect-item{color:#22c55e;background:#22c55e1a;border-radius:0;margin-left:6px;padding:1px 4px;font-size:10px}.inspect-desc{color:var(--text-secondary);margin:4px 0 0;font-size:11px;line-height:1.4}.detail-talk-block{background:var(--bg-elevated);border-radius:0;margin-bottom:4px;padding:4px 8px}.talk-character{color:#fbbf24;font-size:12px;font-weight:600}.talk-emotion{color:var(--text-secondary);margin-left:4px;font-size:10px}.detail-puzzle{background:var(--bg-elevated);border-left:3px solid #a855f766;border-radius:0;margin-bottom:6px;padding:6px 8px}.puzzle-name{color:#c084fc;font-size:12px;font-weight:600}.puzzle-type{color:var(--text-secondary);background:var(--bg-elevated);border-radius:0;margin-left:6px;padding:1px 4px;font-size:10px}.puzzle-reward{color:#22c55e;margin-left:4px;font-size:10px}.puzzle-desc{color:var(--text-secondary);margin:4px 0 0;font-size:11px;line-height:1.4}.detail-qte{background:var(--bg-elevated);border-left:3px solid #f59e0b66;border-radius:0;margin-bottom:6px;padding:6px 8px}.qte-prompt{color:#fbbf24;font-size:12px;font-weight:600}.qte-time{color:#f59e0b;margin-left:6px;font-size:10px}.qte-choices{flex-direction:column;gap:2px;margin-top:4px;display:flex}.qte-choice{color:var(--text-secondary);font-size:11px}.qte-timeout{color:#f97316;font-size:11px}.detail-items{flex-wrap:wrap;gap:4px;display:flex}.detail-item{border-radius:0;padding:2px 6px;font-size:11px}.detail-item.gained{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e33}.detail-vars{flex-wrap:wrap;gap:4px;display:flex}.detail-var{color:#f59e0b;background:#f59e0b1a;border-radius:0;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:11px}.detail-exits{flex-direction:column;gap:4px;display:flex}.detail-exit{align-items:center;gap:6px;font-size:11px;display:flex}.exit-target{color:#3b82f6;font-family:JetBrains Mono,monospace}.exit-condition{color:#ef4444;background:#ef44441a;border-radius:0;padding:1px 4px;font-size:10px}.exit-label{color:var(--text-secondary);font-size:10px}.stats-overlay{-webkit-backdrop-filter:blur(4px);z-index:30;background:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:absolute;inset:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stats-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;flex-direction:column;width:680px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 10px 40px #0000004d,0 0 0 1px #ffffff0d}.stats-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.stats-header h3{background:linear-gradient(135deg,#818cf8,#c084fc);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:16px;font-weight:700}.stats-body{padding:16px 20px;overflow-y:auto}.stats-overview{grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:20px;display:grid}.stat-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:0;flex-direction:column;align-items:center;padding:12px 8px;display:flex}.stat-number{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:22px;font-weight:800}.stat-label{color:var(--text-tertiary);margin-top:2px;font-size:11px}.stats-charts{margin-bottom:20px}.stats-charts h4{color:var(--text-secondary);margin:0 0 12px;font-size:13px;font-weight:600}.stats-chart-container{flex-direction:column;gap:8px;display:flex}.chart-row{align-items:flex-start;gap:10px;display:flex}.chart-label{width:120px;color:var(--text-secondary);flex-shrink:0;padding-top:4px;font-size:11px}.chart-bars{flex-direction:column;flex:1;gap:3px;display:flex}.chart-bar-wrapper{align-items:center;gap:8px;height:20px;display:flex}.chart-bar{border-radius:0;min-width:4px;height:16px;transition:width .3s}.chart-bar.scenes{height:12px}.chart-value{color:var(--text-tertiary);white-space:nowrap;font-size:10px}.stats-endings h4{color:var(--text-secondary);margin:0 0 8px;font-size:13px;font-weight:600}.endings-list{flex-direction:column;gap:6px;display:flex}.ending-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.ending-card.default{background:#ef44440d;border-color:#ef44444d}.ending-icon{font-size:16px}.ending-name{color:var(--text-primary);font-size:13px;font-weight:600}.ending-words{color:var(--text-tertiary);font-size:11px}.ending-conditions{color:var(--text-secondary);margin-left:auto;font-family:JetBrains Mono,monospace;font-size:10px}.storyboard-container.light{color:#1e293b;background:#f8fafc}.storyboard-container.light .storyboard-toolbar{background:#f8fafcf2;border-bottom-color:#94a3b840}.storyboard-container.light .toolbar-title{background:linear-gradient(135deg,#4f46e5,#7c3aed);-webkit-background-clip:text;background-clip:text}.storyboard-container.light .toolbar-subtitle{color:#475569;background:#64748b1a}.storyboard-container.light .toolbar-stat{color:#475569;border-color:#64748b33}.storyboard-container.light .toolbar-search input{color:#1e293b;background:#f1f5f9e6;border-color:#94a3b84d}.storyboard-container.light .toolbar-search input:focus{box-shadow:none;border-color:#3b82f6}.storyboard-container.light .chapter-filter-btn{color:var(--text-tertiary);background:#f1f5f9cc}.storyboard-container.light .chapter-filter-btn:hover{background:#e2e8f0e6}.storyboard-container.light .chapter-filter-btn.active{background:#6366f114}.storyboard-container.light .toolbar-btn{color:#1e293b;background:#f1f5f9e6;border-color:#94a3b84d}.storyboard-container.light .toolbar-btn:hover{background:#6366f11a;border-color:#3b82f6}.storyboard-container.light .storyboard-canvas .react-flow__controls-button{fill:#475569;background:#f8fafcf2;border-bottom-color:#94a3b826}.storyboard-container.light .storyboard-canvas .react-flow__controls-button:hover{fill:#1e293b;background:#f1f5f9f2}.storyboard-container.light .storyboard-canvas .react-flow__controls,.storyboard-container.light .storyboard-canvas .react-flow__minimap{box-shadow:none;border-color:#94a3b833}.storyboard-container.light .storyboard-canvas .react-flow__edge-textbg{fill:#f8fafce6}.storyboard-container.light .storyboard-canvas .react-flow__edge-text{fill:#475569}.storyboard-container.light .react-flow__pane{background:#f8fafc}.storyboard-container.light .scene-node,.storyboard-container.light .scene-node:hover{box-shadow:none}.storyboard-container.light .scene-node-id{color:#475569;background:#64748b1a}.storyboard-container.light .scene-node-title{color:#0f172a}.storyboard-container.light .scene-node-narrate{color:#475569}.storyboard-container.light .scene-badge{background:#64748b14}.storyboard-container.light .scene-node-wordcount{opacity:.6}.storyboard-container.light .scene-handle{background:#94a3b8!important;border-color:#f1f5f9!important}.storyboard-container.light .ending-node{box-shadow:none;background:#faf5ff!important}.storyboard-container.light .ending-node[style*=ef4444]{background:#fef2f2!important}.storyboard-container.light .ending-node-title{color:#0f172a}.storyboard-container.light .ending-node-meta{color:#475569}.storyboard-container.light .detail-panel{box-shadow:none;background:#f8fafcf7;border-left-color:#94a3b840}.storyboard-container.light .detail-panel-header{border-bottom-color:#94a3b833}.storyboard-container.light .detail-panel-header h3{color:#0f172a}.storyboard-container.light .detail-scene-id{color:#4f46e5;background:#6366f114}.storyboard-container.light .detail-chapter{color:#475569}.storyboard-container.light .detail-close-btn{color:var(--text-secondary)}.storyboard-container.light .detail-close-btn:hover{color:#1e293b;background:#64748b1a}.storyboard-container.light .detail-section{border-bottom-color:#94a3b81f}.storyboard-container.light .detail-section h4{color:var(--text-tertiary)}.storyboard-container.light .detail-narrate-line{color:#334155;background:#f1f5f9b3;border-left-color:#6366f140}.storyboard-container.light .detail-meta-item{color:#475569;background:#f1f5f9cc}.storyboard-container.light .detail-inspect-item{background:#f1f5f999}.storyboard-container.light .inspect-name{color:#1e293b}.storyboard-container.light .inspect-desc{color:#475569}.storyboard-container.light .detail-talk-block{background:#f1f5f999}.storyboard-container.light .talk-character{color:#b45309}.storyboard-container.light .talk-emotion{color:var(--text-tertiary)}.storyboard-container.light .detail-puzzle{background:#f1f5f999;border-left-color:#a855f74d}.storyboard-container.light .detail-qte{background:#f1f5f999;border-left-color:#f59e0b4d}.storyboard-container.light .detail-var{color:#b45309;background:#f59e0b14}.storyboard-container.light .exit-target{color:#4f46e5}.storyboard-container.light .exit-condition{color:#dc2626;background:#ef44440f}.storyboard-container.light .exit-label{color:var(--text-tertiary)}.storyboard-container.light .stats-overlay{-webkit-backdrop-filter:blur(4px);background:#fff9}.storyboard-container.light .stats-panel{background:#fffffffa;border-color:#94a3b84d;box-shadow:0 10px 40px #0000001a,0 0 0 1px #0000000d}.storyboard-container.light .stats-header{border-bottom-color:#94a3b826}.storyboard-container.light .stat-card{background:#f1f5f9b3;border-color:#94a3b81a}.storyboard-container.light .stat-number{color:#0f172a}.storyboard-container.light .stat-label{color:#475569}.storyboard-container.light .stats-charts h4,.storyboard-container.light .chart-label{color:var(--text-tertiary)}.storyboard-container.light .chart-value{color:#475569}.storyboard-container.light .ending-card{background:#f1f5f9b3;border-color:#94a3b81a}.storyboard-container.light .ending-name{color:#0f172a}.storyboard-container.light .ending-words{color:#475569}.storyboard-container.light .ending-conditions{color:var(--text-tertiary)}.storyboard-container.light .detail-panel-body::-webkit-scrollbar-thumb{background:#94a3b84d}.storyboard-container.light .search-clear{color:var(--text-secondary)}.storyboard-split{flex:1;display:flex;overflow:hidden}.storyboard-split .storyboard-canvas{flex:1;min-width:0}.storyboard-split .player-panel{border:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:380px;min-width:320px;max-width:500px;display:flex}.storyboard-container.light .storyboard-split .player-panel{border-left-color:var(--text-primary)}.execution-group{border:1px solid var(--border-medium);background:#ffffff08;border-radius:6px;display:flex;overflow:hidden;box-shadow:0 2px 8px #00000026}.toolbar-play-btn{border:none;border-right:1px solid var(--border-medium);height:28px;color:var(--text-secondary);cursor:pointer;box-sizing:border-box;background:0 0;border-radius:0;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.toolbar-play-btn:last-child{border-right:none}.toolbar-play-btn:hover{color:var(--text-primary);background:#ffffff0d}.toolbar-play-btn.active{background:var(--accent-main);color:#fff;border-color:#0000;animation:2s infinite pulse-btn;box-shadow:0 0 12px #ff5e4d4d}@keyframes pulse-btn{0%,to{opacity:1}50%{opacity:.7}}.playback-current{z-index:100!important}.playback-current .scene-node{box-shadow:none;transform:scale(1.05);border-color:#4ade80!important}.storyboard-container.light .playback-current .scene-node{box-shadow:none;border-color:#16a34a!important}@keyframes pulse-glow{0%,to{box-shadow:none}50%{box-shadow:none}}.playback-current .scene-node{animation:2s ease-in-out infinite pulse-glow}.playback-visited .scene-node{border-style:solid!important}.playback-unvisited .scene-node{filter:grayscale(.3)}.auto-test-controls{background:0 0;border:none;align-items:center;height:28px;display:flex}.auto-test-controls-inner{align-items:center;gap:12px;padding:0 16px;display:flex}.auto-speed-slider{-webkit-appearance:none;background:var(--border-medium);border-radius:2px;outline:none;width:60px;height:4px}.auto-speed-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--text-primary);cursor:pointer;border-radius:50%;width:12px;height:12px}.auto-progress{color:#c4b5fd;font-variant-numeric:tabular-nums;text-align:right;font-variant-numeric:tabular-nums;text-align:right;min-width:60px;font-size:12px}.auto-report-overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:absolute;inset:0}.auto-report-modal{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;flex-direction:column;width:90%;max-width:600px;max-height:80vh;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow:hidden;box-shadow:0 10px 40px #0000004d,0 0 0 1px #ffffff0d}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auto-report-header{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);justify-content:space-between;align-items:center;padding:16px 20px;font-size:16px;font-weight:600;display:flex}.auto-report-header button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:0;padding:4px 8px;font-size:18px}.auto-report-header button:hover{background:var(--bg-elevated)}.auto-report-body{flex:1;padding:20px;overflow-y:auto}.auto-report-stats{gap:12px;margin-bottom:20px;display:flex}.auto-stat-card{border:1px solid var(--border-subtle);text-align:center;background:#64748b1a;border-radius:6px;flex:1;padding:12px}.auto-stat-value{color:#7c3aed;font-size:28px;font-weight:700;line-height:1.2}.auto-stat-label{color:var(--text-secondary);margin-top:4px;font-size:12px}.auto-stat-detail{color:var(--text-tertiary);margin-top:2px;font-size:11px}.auto-report-issues{flex-direction:column;gap:16px;display:flex}.issue-group h4{color:var(--text-primary);margin:0 0 8px;font-size:14px}.issue-item{border-radius:4px;margin-bottom:4px;padding:8px 12px;font-size:13px;line-height:1.5}.issue-error{color:#fca5a5;background:#dc26261a;border-left:3px solid #dc2626}.issue-warn{color:#fcd34d;background:#f59e0b1a;border-left:3px solid #f59e0b}.issue-info{color:#93c5fd;background:#3b82f61a;border-left:3px solid #3b82f6}.auto-report-ok{text-align:center;color:#4ade80;padding:40px;font-size:18px}.auto-report-footer{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:8px;padding:16px 20px;display:flex}.auto-report-copy-btn{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:4px;padding:8px 16px;font-size:13px;font-weight:500;transition:background .2s}.auto-report-copy-btn:hover{background:#6d28d9}.auto-report-close-btn{border:1px solid var(--border-medium);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:8px 16px;font-size:13px;transition:all .2s}.auto-report-close-btn:hover{color:var(--text-primary);background:#64748b1a}.storyboard-container.light .auto-test-controls{background:#7c3aed0d;border-color:#7c3aed33}.storyboard-container.light .auto-ctrl-btn{color:#7c3aed;background:#7c3aed1a;border-color:#7c3aed33}.storyboard-container.light .auto-progress{color:#7c3aed}.storyboard-container.light .auto-report-overlay{-webkit-backdrop-filter:blur(4px);background:#fff9}.storyboard-container.light .auto-report-modal{background:#fffffffa;border-color:#94a3b84d;box-shadow:0 10px 40px #0000001a,0 0 0 1px #0000000d}.storyboard-container.light .auto-report-header{border-bottom-color:#94a3b826}.storyboard-container.light .auto-stat-card{background:#f1f5f9b3;border-color:#94a3b81a}.storyboard-container.light .auto-stat-value{color:var(--accent-main)}.storyboard-container.light .issue-group h4{color:var(--text-primary)}.storyboard-container.light .issue-error{color:#991b1b;background:#fef2f2}.storyboard-container.light .issue-warn{color:#92400e;background:#fffbeb}.storyboard-container.light .issue-info{color:#1e40af;background:#eff6ff}.storyboard-container.light .auto-report-ok{color:#16a34a}.storyboard-container.light .auto-report-footer{border-top-color:#94a3b826}.storyboard-container.light .auto-report-close-btn{color:var(--text-tertiary);border-color:#d1d5db}.dsl-preview{max-width:100%;margin:0 auto;padding:24px 32px 64px;font-family:Inter,Noto Sans SC,-apple-system,sans-serif;font-size:15px;line-height:1.8}.dsl-preview.light{color:#1e293b}.dsl-preview.dark{color:#e2e8f0}.dsl-game-title{text-align:center;letter-spacing:2px;margin:0 0 8px;font-size:32px;font-weight:800}.dsl-preview.light .dsl-game-title{color:#0f172a}.dsl-preview.dark .dsl-game-title{background:linear-gradient(135deg,#818cf8,#c084fc);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.dsl-game-desc{text-align:center;margin:0 0 4px;font-size:16px;font-style:italic}.dsl-preview.light .dsl-game-desc{color:#475569}.dsl-preview.dark .dsl-game-desc{color:#94a3b8}.dsl-game-author,.dsl-game-version{text-align:center;margin:0 8px 16px 0;font-size:13px;display:inline-block}.dsl-preview.light .dsl-game-author,.dsl-preview.light .dsl-game-version,.dsl-preview.dark .dsl-game-author,.dsl-preview.dark .dsl-game-version{color:#64748b}.dsl-section-header{border-radius:8px;margin:32px 0 12px;padding:8px 16px;font-size:18px;font-weight:700}.dsl-preview.light .dsl-section-header{color:#334155;background:#f1f5f9;border-left:4px solid #3b82f6}.dsl-preview.dark .dsl-section-header{color:#e2e8f0;background:#1e293b99;border-left:4px solid #818cf8}.dsl-chapter-header{border-radius:12px;align-items:center;gap:16px;margin:48px 0 16px;padding:16px 24px;display:flex;position:relative}.dsl-preview.light .dsl-chapter-header{background:linear-gradient(135deg,#eef2ff,#faf5ff);border:1px solid #6366f133}.dsl-preview.dark .dsl-chapter-header{background:linear-gradient(135deg,#6366f126,#a855f726);border:1px solid #6366f140}.dsl-ch-num{border-radius:6px;padding:4px 12px;font-size:14px;font-weight:700}.dsl-preview.light .dsl-ch-num{color:#fff;background:#3b82f6}.dsl-preview.dark .dsl-ch-num{color:#0f172a;background:#818cf8}.dsl-ch-title{font-size:22px;font-weight:800}.dsl-preview.light .dsl-ch-title{color:#1e293b}.dsl-preview.dark .dsl-ch-title{color:#f1f5f9}.dsl-scene-header{border-left:4px solid;border-radius:8px;margin:28px 0 12px;padding:12px 16px}.dsl-preview.light .dsl-scene-header{background:#f8fafc;border-left-color:#22c55e;box-shadow:0 1px 4px #0000000d}.dsl-preview.dark .dsl-scene-header{background:#1e293b80;border-left-color:#4ade80;box-shadow:0 1px 4px #0003}.dsl-scene-title-row{align-items:center;gap:10px;display:flex}.dsl-scene-id{border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:11px}.dsl-preview.light .dsl-scene-id{color:#475569;background:#e2e8f0}.dsl-preview.dark .dsl-scene-id{color:#94a3b8;background:#64748b33}.dsl-scene-name{font-size:17px;font-weight:700}.dsl-preview.light .dsl-scene-name{color:#0f172a}.dsl-preview.dark .dsl-scene-name{color:#f1f5f9}.dsl-scene-meta{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.dsl-tag{border-radius:4px;padding:2px 8px;font-size:11px}.dsl-preview.light .dsl-tag{color:#475569;background:#f1f5f9}.dsl-preview.dark .dsl-tag{color:#94a3b8;background:#64748b26}.dsl-char-card{border-radius:6px;align-items:center;gap:12px;margin:2px 0;padding:6px 12px;display:flex}.dsl-preview.light .dsl-char-card{background:#fefce8}.dsl-preview.dark .dsl-char-card{background:#facc150f}.dsl-char-name{min-width:60px;font-weight:700}.dsl-preview.light .dsl-char-name{color:#92400e}.dsl-preview.dark .dsl-char-name{color:#fbbf24}.dsl-char-attrs{font-size:13px}.dsl-preview.light .dsl-char-attrs{color:#64748b}.dsl-preview.dark .dsl-char-attrs{color:#94a3b8}.dsl-char-mood{border-radius:4px;padding:1px 6px;font-size:12px}.dsl-preview.light .dsl-char-mood{color:#475569;background:#e2e8f0}.dsl-preview.dark .dsl-char-mood{color:#94a3b8;background:#64748b33}.dsl-item-card{border-radius:6px;grid-template-columns:auto auto 1fr;align-items:baseline;gap:8px;margin:2px 0;padding:8px 12px;display:grid}.dsl-preview.light .dsl-item-card{background:#f0fdf4}.dsl-preview.dark .dsl-item-card{background:#22c55e0d}.dsl-item-id{white-space:nowrap;font-family:monospace;font-size:11px}.dsl-preview.light .dsl-item-id{color:#16a34a}.dsl-preview.dark .dsl-item-id{color:#4ade80}.dsl-item-name{white-space:nowrap;font-weight:600}.dsl-item-desc{font-size:13px}.dsl-preview.light .dsl-item-desc{color:#475569}.dsl-preview.dark .dsl-item-desc{color:#94a3b8}.dsl-var-row{align-items:center;gap:8px;padding:2px 12px;font-size:13px;display:flex}.dsl-var-name{font-size:12px}.dsl-preview.light .dsl-var-name{color:#7c3aed}.dsl-preview.dark .dsl-var-name{color:#c084fc}.dsl-var-type{border-radius:3px;padding:1px 4px;font-size:11px}.dsl-preview.light .dsl-var-type{color:#7c3aed;background:#f3e8ff}.dsl-preview.dark .dsl-var-type{color:#a855f7;background:#a855f71a}.dsl-var-val{font-size:12px}.dsl-preview.light .dsl-var-val,.dsl-preview.dark .dsl-var-val{color:#64748b}.dsl-recipe-card{border-radius:6px;flex-direction:column;margin:3px 0;padding:6px 12px;display:flex}.dsl-preview.light .dsl-recipe-card{background:#fff7ed}.dsl-preview.dark .dsl-recipe-card{background:#f59e0b0d}.dsl-recipe-formula{font-family:monospace;font-size:13px;font-weight:600}.dsl-preview.light .dsl-recipe-formula{color:#c2410c}.dsl-preview.dark .dsl-recipe-formula{color:#fb923c}.dsl-recipe-desc{margin-top:2px;font-size:13px}.dsl-preview.light .dsl-recipe-desc{color:#78716c}.dsl-preview.dark .dsl-recipe-desc{color:#a8a29e}.dsl-narrate{text-indent:2em;margin:6px 0;padding:4px 0}.dsl-preview.light .dsl-narrate{color:#334155}.dsl-preview.dark .dsl-narrate{color:#cbd5e1}.dsl-narrate-slow{letter-spacing:1px;font-style:italic}.dsl-narrate-blood{font-weight:700}.dsl-preview.light .dsl-narrate-blood{color:#b91c1c}.dsl-preview.dark .dsl-narrate-blood{color:#f87171}.dsl-narrate-whisper{font-size:14px;font-style:italic}.dsl-preview.light .dsl-narrate-whisper,.dsl-preview.dark .dsl-narrate-whisper{color:#6b7280}.dsl-talk-start{border-radius:6px;align-items:center;gap:8px;margin:16px 0 6px;padding:6px 12px;font-weight:600;display:flex}.dsl-preview.light .dsl-talk-start{background:#eff6ff;border-left:3px solid #3b82f6}.dsl-preview.dark .dsl-talk-start{background:#3b82f614;border-left:3px solid #60a5fa}.dsl-talk-char{font-size:15px}.dsl-preview.light .dsl-talk-char{color:#1d4ed8}.dsl-preview.dark .dsl-talk-char{color:#93c5fd}.dsl-talk-emotion{border-radius:4px;padding:1px 6px;font-size:12px}.dsl-preview.light .dsl-talk-emotion{color:#1e40af;background:#dbeafe}.dsl-preview.dark .dsl-talk-emotion{color:#60a5fa;background:#3b82f626}.dsl-talk-end{border-bottom:1px dashed;margin:0 0 8px}.dsl-preview.light .dsl-talk-end{border-color:#e2e8f0}.dsl-preview.dark .dsl-talk-end{border-color:#64748b33}.dsl-talk-npc{align-items:baseline;gap:6px;padding:2px 0;display:flex}.dsl-npc-name{font-size:14px;font-weight:600}.dsl-preview.light .dsl-npc-name{color:#b45309}.dsl-preview.dark .dsl-npc-name{color:#fbbf24}.dsl-npc-emotion{border-radius:3px;padding:1px 4px;font-size:11px}.dsl-preview.light .dsl-npc-emotion{color:#92400e;background:#fef3c7}.dsl-preview.dark .dsl-npc-emotion{color:#f59e0b;background:#f59e0b1a}.dsl-npc-text{font-size:15px}.dsl-preview.light .dsl-npc-text{color:#334155}.dsl-preview.dark .dsl-npc-text{color:#e2e8f0}.dsl-talk-player{cursor:default;border-radius:6px;align-items:center;gap:6px;margin:2px 0;padding:3px 8px;display:flex}.dsl-preview.light .dsl-talk-player{background:#eff6ff}.dsl-preview.dark .dsl-talk-player{background:#6366f10f}.dsl-player-arrow{font-weight:700}.dsl-preview.light .dsl-player-arrow{color:#3b82f6}.dsl-preview.dark .dsl-player-arrow{color:#818cf8}.dsl-player-text{font-weight:500}.dsl-player-cond{font-family:monospace;font-size:11px}.dsl-preview.light .dsl-player-cond{color:#dc2626}.dsl-preview.dark .dsl-player-cond{color:#f87171}.dsl-player-goto{font-family:monospace;font-size:11px}.dsl-preview.light .dsl-player-goto{color:#3b82f6}.dsl-preview.dark .dsl-player-goto{color:#818cf8}.dsl-inspect,.dsl-examine,.dsl-hidden{border-radius:6px;align-items:baseline;gap:6px;margin:3px 0;padding:4px 12px;font-size:14px;display:flex}.dsl-preview.light .dsl-inspect{background:#fefce8}.dsl-preview.dark .dsl-inspect{background:#eab3080d}.dsl-preview.light .dsl-examine{background:#f0fdf4}.dsl-preview.dark .dsl-examine{background:#22c55e0d}.dsl-preview.light .dsl-hidden{background:#faf5ff}.dsl-preview.dark .dsl-hidden{background:#a855f70d}.dsl-inspect-target,.dsl-examine-item,.dsl-hidden-target{font-weight:600}.dsl-inspect-item,.dsl-hidden-item{border-radius:3px;padding:1px 4px;font-size:11px}.dsl-preview.light .dsl-inspect-item,.dsl-preview.light .dsl-hidden-item{color:#166534;background:#dcfce7}.dsl-preview.dark .dsl-inspect-item,.dsl-preview.dark .dsl-hidden-item{color:#4ade80;background:#22c55e26}.dsl-inspect-desc,.dsl-examine-desc,.dsl-hidden-desc{flex:1;font-size:13px}.dsl-preview.light .dsl-inspect-desc,.dsl-preview.light .dsl-examine-desc{color:#475569}.dsl-preview.dark .dsl-inspect-desc,.dsl-preview.dark .dsl-examine-desc{color:#94a3b8}.dsl-hidden-cond{font-family:monospace;font-size:11px}.dsl-preview.light .dsl-hidden-cond{color:#dc2626}.dsl-preview.dark .dsl-hidden-cond{color:#f87171}.dsl-exit{border-radius:4px;align-items:center;gap:4px;margin:2px 4px 2px 0;padding:2px 8px;font-size:12px;display:inline-flex}.dsl-preview.light .dsl-exit{color:#475569;background:#f1f5f9}.dsl-preview.dark .dsl-exit{color:#94a3b8;background:#64748b1a}.dsl-exit-target{font-family:monospace;font-weight:500}.dsl-exit-label{font-size:11px}.dsl-locked{border-radius:6px;align-items:center;gap:6px;margin:3px 0;padding:4px 12px;font-size:13px;display:flex}.dsl-preview.light .dsl-locked{background:#fef2f2}.dsl-preview.dark .dsl-locked{background:#ef44440d}.dsl-locked-cond{font-family:monospace;font-size:11px}.dsl-preview.light .dsl-locked-cond{color:#dc2626}.dsl-preview.dark .dsl-locked-cond{color:#f87171}.dsl-locked-desc{font-size:13px}.dsl-stage-dir{margin:4px 0;padding:2px 8px;font-size:13px;font-weight:600}.dsl-preview.light .dsl-stage-dir{color:#7c3aed}.dsl-preview.dark .dsl-stage-dir{color:#c084fc}.dsl-emotion{font-size:12px;font-weight:400}.dsl-puzzle{border-left:4px solid;border-radius:8px;margin:8px 0;padding:10px 14px}.dsl-preview.light .dsl-puzzle{background:#faf5ff;border-left-color:#a855f7}.dsl-preview.dark .dsl-puzzle{background:#a855f70f;border-left-color:#c084fc}.dsl-puzzle-header{align-items:center;gap:6px;display:flex}.dsl-puzzle-name{font-size:15px;font-weight:700}.dsl-puzzle-type{border-radius:4px;padding:1px 6px;font-size:11px}.dsl-preview.light .dsl-puzzle-type{color:#6b21a8;background:#e9d5ff}.dsl-preview.dark .dsl-puzzle-type{color:#c084fc;background:#a855f726}.dsl-puzzle-reward{border-radius:4px;margin-top:4px;padding:1px 6px;font-size:12px;display:inline-block}.dsl-preview.light .dsl-puzzle-reward{color:#166534;background:#dcfce7}.dsl-preview.dark .dsl-puzzle-reward{color:#4ade80;background:#22c55e26}.dsl-puzzle-desc{margin:4px 0 0;font-size:14px}.dsl-qte{border-left:4px solid;border-radius:8px;align-items:center;gap:8px;margin:8px 0;padding:8px 14px;display:flex}.dsl-preview.light .dsl-qte{background:#fffbeb;border-left-color:#f59e0b}.dsl-preview.dark .dsl-qte{background:#f59e0b0f;border-left-color:#fbbf24}.dsl-qte-prompt{font-size:15px;font-weight:700}.dsl-qte-time{border-radius:4px;padding:1px 6px;font-size:12px;font-weight:600}.dsl-preview.light .dsl-qte-time{color:#92400e;background:#fef3c7}.dsl-preview.dark .dsl-qte-time{color:#fbbf24;background:#f59e0b26}.dsl-qte-timeout{padding:2px 12px;font-size:13px}.dsl-preview.light .dsl-qte-timeout{color:#c2410c}.dsl-preview.dark .dsl-qte-timeout{color:#fb923c}.dsl-select{border-radius:6px;align-items:center;gap:8px;margin:6px 0;padding:6px 12px;display:flex}.dsl-preview.light .dsl-select{background:#eef2ff}.dsl-preview.dark .dsl-select{background:#6366f10f}.dsl-select-prompt{font-weight:600}.dsl-cutscene-start{border-radius:6px;margin:12px 0 4px;padding:6px 12px;font-size:14px;font-weight:700}.dsl-preview.light .dsl-cutscene-start{color:#b91c1c;background:#fef2f2;border-left:3px solid #ef4444}.dsl-preview.dark .dsl-cutscene-start{color:#f87171;background:#ef44440f;border-left:3px solid #f87171}.dsl-cutscene-end{margin-bottom:8px}.dsl-cg{border-radius:4px;padding:4px 12px;font-size:13px}.dsl-preview.light .dsl-cg{color:#0e7490;background:#ecfeff}.dsl-preview.dark .dsl-cg{color:#22d3ee;background:#06b6d40f}.dsl-sfx{opacity:.5;padding:2px 8px;font-family:monospace;font-size:12px}.dsl-condition-start{border-radius:4px;margin:4px 0;padding:3px 10px;font-family:monospace;font-size:12px}.dsl-preview.light .dsl-condition-start{color:#b91c1c;background:#fef2f2}.dsl-preview.dark .dsl-condition-start{color:#f87171;background:#ef44440d}.dsl-set-var{opacity:.7;padding:1px 8px;font-size:12px}.dsl-set-var code{font-family:JetBrains Mono,monospace;font-size:11px}.dsl-preview.light .dsl-set-var code{color:#7c3aed}.dsl-preview.dark .dsl-set-var code{color:#c084fc}.dsl-ending{text-align:center;border-radius:8px;margin:16px 0 4px;padding:10px 16px;font-size:16px;font-weight:700}.dsl-preview.light .dsl-ending{background:linear-gradient(135deg,#faf5ff,#eef2ff);border:1px solid #a855f733}.dsl-preview.dark .dsl-ending{background:linear-gradient(135deg,#a855f71a,#6366f11a);border:1px solid #a855f733}.dsl-unknown{opacity:.35;white-space:pre-wrap;padding:1px 8px;font-family:monospace;font-size:12px}.sw-container{height:100%;font-family:Inter,Noto Sans SC,sans-serif;font-size:14px;display:flex}.sw-container.dark{color:#e2e8f0;background:var(--bg-primary)}.sw-container.light{color:#1e293b;background:#fafbfc}.sw-sidebar{border-right:1px solid var(--border-subtle);flex-direction:column;width:240px;min-width:240px;display:flex;overflow-y:auto}.sw-container.dark .sw-sidebar{background:#0f172a99}.sw-container.light .sw-sidebar{background:#f1f5f9}.sw-sidebar-header{border-bottom:1px solid var(--border-subtle);padding:20px 16px 12px}.sw-sidebar-title{margin:0;font-size:15px;font-weight:700}.sw-sidebar-meta{color:var(--text-tertiary);gap:12px;margin-top:6px;font-size:11px;display:flex}.sw-data-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px 8px 0;display:grid}.sw-data-tabs button{min-height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:500;transition:all .2s;display:flex}.sw-data-tabs button:last-child:nth-child(odd){grid-column:1/-1}.sw-data-tabs button:hover{color:var(--text-primary);background:#ffffff0d}.sw-container.light .sw-data-tabs button:hover{background:#0000000d}.sw-data-tabs button.active{background:var(--accent-main);color:#fff}.sw-chapter-tree{flex:1;padding:8px;overflow-y:auto}.sw-ch-group{margin-bottom:2px}.sw-ch-header{cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;font-size:13px;font-weight:600;transition:background .15s;display:flex}.sw-ch-header:hover{background:#ffffff0d}.sw-container.light .sw-ch-header:hover{background:#0000000a}.sw-ch-badge{background:var(--accent-main);color:#fff;letter-spacing:.5px;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.sw-ch-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sw-ch-count{color:var(--text-tertiary);font-size:11px;font-weight:400}.sw-scene-list{padding-left:18px}.sw-scene-item{cursor:pointer;color:var(--text-secondary);border-radius:4px;align-items:center;gap:8px;padding:4px 8px;font-size:12px;transition:all .15s;display:flex}.sw-scene-item:hover{color:var(--text-primary);background:#ffffff0d}.sw-container.light .sw-scene-item:hover{background:#0000000a}.sw-scene-item.active{color:var(--accent-main);background:#ff5e4d1a;font-weight:600}.sw-scene-dot{background:var(--text-tertiary);border-radius:50%;flex-shrink:0;width:6px;height:6px}.sw-scene-item.active .sw-scene-dot{background:var(--accent-main)}.sw-scene-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sw-main{flex:1;min-width:0;padding:32px 40px;overflow-y:auto}.sw-game-card{text-align:center;border:1px solid var(--border-subtle);border-radius:12px;margin-bottom:32px;padding:32px}.sw-container.dark .sw-game-card{background:#1e293b66}.sw-container.light .sw-game-card{background:#fff;box-shadow:0 1px 4px #0000000f}.sw-game-title{letter-spacing:2px;margin:0 0 8px;font-size:28px;font-weight:800}.sw-container.dark .sw-game-title{background:linear-gradient(135deg,#818cf8,#c084fc);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.sw-game-desc{color:var(--text-secondary);margin:0 0 12px;font-size:15px;font-style:italic}.sw-game-meta-row{color:var(--text-tertiary);justify-content:center;gap:16px;font-size:13px;display:flex}.sw-section-title{border-bottom:1px solid var(--border-subtle);margin:0 0 16px;padding-bottom:8px;font-size:16px;font-weight:700}.sw-chapter-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:32px;display:grid}.sw-chapter-card{cursor:pointer;border:1px solid var(--border-subtle);border-radius:10px;padding:16px;transition:all .2s}.sw-container.dark .sw-chapter-card{background:#1e293b66}.sw-container.light .sw-chapter-card{background:#fff}.sw-chapter-card:hover{border-color:var(--accent-main);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.sw-chapter-card-num{color:var(--accent-main);margin-bottom:4px;font-size:11px;font-weight:700}.sw-chapter-card-title{margin-bottom:8px;font-size:15px;font-weight:700}.sw-chapter-card-info{color:var(--text-tertiary);font-size:12px}.sw-char-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:32px;display:grid}.sw-char-grid-full{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.sw-char-card{border:1px solid var(--border-subtle);border-radius:10px;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex}.sw-container.dark .sw-char-card{background:#facc150a}.sw-container.light .sw-char-card{background:#fffbeb}.sw-char-card:hover{border-color:#facc154d}.sw-char-avatar{background:linear-gradient(135deg, var(--accent-main), #c084fc);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;font-weight:700;display:flex}.sw-char-avatar-lg{width:44px;height:44px;font-size:20px}.sw-char-info{flex:1;min-width:0}.sw-char-name{font-size:14px;font-weight:700}.sw-container.dark .sw-char-name{color:#fbbf24}.sw-container.light .sw-char-name{color:#92400e}.sw-char-attrs{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.sw-char-mood{border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:11px}.sw-container.dark .sw-char-mood{color:#94a3b8;background:#64748b33}.sw-container.light .sw-char-mood{color:#475569;background:#e2e8f0}.sw-item-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.sw-item-card{border:1px solid var(--border-subtle);border-radius:10px;padding:14px 16px;transition:all .2s}.sw-container.dark .sw-item-card{background:#22c55e0a}.sw-container.light .sw-item-card{background:#f0fdf4}.sw-item-card:hover{border-color:#22c55e4d}.sw-item-header{align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.sw-item-id{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.sw-container.dark .sw-item-id{color:#4ade80}.sw-container.light .sw-item-id{color:#16a34a}.sw-item-name{font-size:13px;font-weight:600}.sw-item-desc{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.sw-var-list{flex-direction:column;gap:4px;display:flex}.sw-var-row{border-radius:6px;align-items:center;gap:10px;padding:6px 12px;font-size:13px;display:flex}.sw-container.dark .sw-var-row{background:#a855f70a}.sw-container.light .sw-var-row{background:#faf5ff}.sw-var-name{font-family:JetBrains Mono,monospace;font-size:12px}.sw-container.dark .sw-var-name{color:#c084fc}.sw-container.light .sw-var-name{color:#7c3aed}.sw-var-type{border-radius:3px;padding:1px 6px;font-size:10px}.sw-container.dark .sw-var-type{color:#a855f7;background:#a855f71a}.sw-container.light .sw-var-type{color:#7c3aed;background:#f3e8ff}.sw-var-val{color:var(--text-tertiary);font-size:12px}.sw-recipe-row{border-radius:6px;align-items:center;gap:12px;padding:6px 12px;font-size:13px;display:flex}.sw-container.dark .sw-recipe-row{background:#f59e0b0a}.sw-container.light .sw-recipe-row{background:#fff7ed}.sw-recipe-row code{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.sw-container.dark .sw-recipe-row code{color:#fb923c}.sw-container.light .sw-recipe-row code{color:#c2410c}.sw-recipe-desc{color:var(--text-secondary)}.sw-scene-content{max-width:720px}.sw-scene-header-card{border:1px solid var(--border-subtle);border-left:4px solid #4ade80;border-radius:10px;margin-bottom:24px;padding:20px 24px}.sw-container.dark .sw-scene-header-card{background:#1e293b80}.sw-container.light .sw-scene-header-card{background:#fff;box-shadow:0 1px 4px #0000000f}.sw-scene-title{margin:0 0 4px;font-size:20px;font-weight:700}.sw-scene-id-badge{border-radius:4px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:11px}.sw-container.dark .sw-scene-id-badge{color:#94a3b8;background:#64748b33}.sw-container.light .sw-scene-id-badge{color:#475569;background:#e2e8f0}.sw-scene-tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.sw-tag{border-radius:4px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;display:flex}.sw-container.dark .sw-tag{color:#94a3b8;background:#64748b1f}.sw-container.light .sw-tag{color:#475569;background:#f1f5f9}.sw-scene-stats{gap:16px;margin-top:12px;display:flex}.sw-mini-stat{color:var(--text-tertiary);align-items:center;gap:4px;font-size:12px;display:flex}.sw-scene-lines{flex-direction:column;gap:2px;display:flex}.sw-narrate{text-indent:2em;margin:4px 0;padding:0;line-height:1.8}.sw-container.dark .sw-narrate{color:#cbd5e1}.sw-container.light .sw-narrate{color:#334155}.sw-narrate-blood{font-weight:700}.sw-container.dark .sw-narrate-blood{color:#f87171}.sw-container.light .sw-narrate-blood{color:#b91c1c}.sw-narrate-whisper{color:#6b7280;font-size:13px;font-style:italic}.sw-narrate-slow{letter-spacing:1px;font-style:italic}.sw-talk-header{border-radius:6px;align-items:center;gap:8px;margin-top:12px;padding:6px 12px;font-size:14px;display:flex}.sw-container.dark .sw-talk-header{color:#93c5fd;background:#3b82f60f;border-left:3px solid #60a5fa}.sw-container.light .sw-talk-header{color:#1d4ed8;background:#eff6ff;border-left:3px solid #3b82f6}.sw-talk-divider{border-bottom:1px dashed var(--border-subtle);margin:4px 0 8px}.sw-dialogue{align-items:baseline;gap:6px;padding:2px 0;display:flex}.sw-speaker{flex-shrink:0;font-size:13px;font-weight:600}.sw-container.dark .sw-speaker{color:#fbbf24}.sw-container.light .sw-speaker{color:#b45309}.sw-emotion{border-radius:3px;flex-shrink:0;padding:1px 6px;font-size:10px}.sw-container.dark .sw-emotion{color:#f59e0b;background:#f59e0b1a}.sw-container.light .sw-emotion{color:#92400e;background:#fef3c7}.sw-speech{font-size:14px}.sw-choice{border-radius:6px;align-items:center;gap:6px;margin:2px 0;padding:4px 10px;display:flex}.sw-container.dark .sw-choice{background:#6366f10d}.sw-container.light .sw-choice{background:#eef2ff}.sw-choice-arrow{font-weight:700}.sw-container.dark .sw-choice-arrow{color:#818cf8}.sw-container.light .sw-choice-arrow{color:#3b82f6}.sw-choice-text{font-weight:500}.sw-choice-cond{font-family:monospace;font-size:10px}.sw-container.dark .sw-choice-cond{color:#f87171}.sw-container.light .sw-choice-cond{color:#dc2626}.sw-choice-goto{font-family:monospace;font-size:10px}.sw-container.dark .sw-choice-goto{color:#818cf8}.sw-container.light .sw-choice-goto{color:#3b82f6}.sw-interact{border-radius:6px;align-items:baseline;gap:6px;margin:3px 0;padding:5px 12px;font-size:13px;display:flex}.sw-container.dark .sw-interact-inspect{background:#eab3080a}.sw-container.light .sw-interact-inspect{background:#fefce8}.sw-container.dark .sw-interact-examine{background:#22c55e0a}.sw-container.light .sw-interact-examine{background:#f0fdf4}.sw-container.dark .sw-interact-puzzle{background:#a855f70d}.sw-container.light .sw-interact-puzzle{background:#faf5ff}.sw-container.dark .sw-interact-qte{background:#f59e0b0d}.sw-container.light .sw-interact-qte{background:#fffbeb}.sw-container.dark .sw-interact-cutscene{background:#ef44440a}.sw-container.light .sw-interact-cutscene{background:#fef2f2}.sw-container.dark .sw-interact-locked{background:#ef44440a}.sw-container.light .sw-interact-locked{background:#fef2f2}.sw-interact-desc{color:var(--text-secondary);flex:1}.sw-reward{border-radius:3px;padding:1px 6px;font-size:11px}.sw-container.dark .sw-reward{color:#4ade80;background:#22c55e26}.sw-container.light .sw-reward{color:#166534;background:#dcfce7}.sw-exit-line{border-radius:4px;align-items:center;gap:4px;margin:2px 4px 2px 0;padding:3px 10px;font-size:12px;display:inline-flex}.sw-container.dark .sw-exit-line{color:#94a3b8;background:#64748b14}.sw-container.light .sw-exit-line{color:#475569;background:#f1f5f9}.sw-exit-target{font-family:monospace;font-weight:500}.sw-exit-label{color:var(--text-tertiary);font-size:11px}.sw-stage-dir{margin:4px 0;padding:2px 8px;font-size:12px;font-weight:600}.sw-container.dark .sw-stage-dir{color:#c084fc}.sw-container.light .sw-stage-dir{color:#7c3aed}.sw-ending{text-align:center;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin:16px 0;padding:12px 16px;font-size:16px;font-weight:700;display:flex}.sw-container.dark .sw-ending{background:linear-gradient(135deg,#a855f71a,#6366f11a);border:1px solid #a855f733}.sw-container.light .sw-ending{background:linear-gradient(135deg,#faf5ff,#eef2ff);border:1px solid #a855f733}.sw-set-var{opacity:.6;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:flex}.sw-set-var code{font-family:JetBrains Mono,monospace;font-size:11px}.sw-container.dark .sw-set-var code{color:#c084fc}.sw-container.light .sw-set-var code{color:#7c3aed}.sw-condition{border-radius:4px;margin:4px 0;padding:3px 10px;font-family:monospace;font-size:12px}.sw-container.dark .sw-condition{color:#f87171;background:#ef44440a}.sw-container.light .sw-condition{color:#b91c1c;background:#fef2f2}.sw-sfx{opacity:.4;padding:2px 8px;font-family:monospace;font-size:11px}.sw-unknown{opacity:.3;white-space:pre-wrap;padding:1px 8px;font-family:monospace;font-size:12px}.sw-tab-content{max-width:900px}.game-letterbox{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.game-letterbox__stage{transform-origin:50%;isolation:isolate;border:1px solid #ffffff14;flex-shrink:0;position:relative;box-shadow:0 0 80px #000000e6}.game-letterbox__debug{color:#f4ddb680;letter-spacing:.1em;pointer-events:none;z-index:9999;font-family:Courier New,monospace;font-size:11px;position:absolute;bottom:4px;right:8px}.ev-root{color:#e8e0d4;-webkit-user-select:none;user-select:none;cursor:default;background:#050507;outline:none;width:100%;height:100%;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;position:relative;overflow:hidden}.ev-stage{will-change:transform;height:100%;transition:transform 50ms linear;position:absolute;top:0;left:0}.ev-bg{object-fit:cover;pointer-events:none;filter:brightness(.78)contrast(1.05)saturate(.85);width:100%;height:100%;position:absolute;top:0;left:0}.ev-ground{pointer-events:none;background:linear-gradient(#0009,#0000);width:100%;height:6px;position:absolute;left:0}.ev-player{z-index:10;pointer-events:none;transition:filter .2s;position:absolute;transform:translate(-50%,-100%)}.ev-hotspot{z-index:5;pointer-events:auto;cursor:pointer;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:absolute;transform:translate(-50%,-50%)}.ev-hotspot:active{transform:translate(-50%,-50%)scale(.98)}.ev-hotspot__halo{background:radial-gradient(circle,#f4ddb68c 0%,#d4a26a40 40%,#d4a26a00 70%);border-radius:50%;animation:2.4s ease-in-out infinite ev-halo-pulse;position:absolute;inset:-16px}.ev-hotspot__core{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14100ad9;border:2px solid #f4ddb6d9;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex;position:relative;box-shadow:0 0 16px #f4ddb673,0 4px 12px #0009}.ev-hotspot__label{white-space:nowrap;letter-spacing:.04em;color:#f4ddb6b3;pointer-events:none;background:#000000b3;border:1px solid #d4a26a4d;border-radius:2px;margin-bottom:8px;padding:3px 10px;font-size:12px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.ev-hotspot__label--closest{color:#f4ddb6;background:#000000eb;border-color:#f4ddb6d9;padding:4px 14px;font-size:13px}.ev-hotspot--closest .ev-hotspot__halo{background:radial-gradient(circle,#fff0c8d9 0%,#fff0c866 30%,#f4ddb600 75%);animation-duration:1s}.ev-hotspot--closest .ev-hotspot__core{border-color:#fff0c8;transform:scale(1.15);box-shadow:0 0 32px #fff0c8d9,0 4px 12px #0009}.ev-hotspot--locked .ev-hotspot__halo{background:radial-gradient(circle,#a0484866 0%,#0000 70%)}.ev-hotspot--locked .ev-hotspot__core{border-color:#a04848b3}.ev-hotspot--talk .ev-hotspot__halo{background:radial-gradient(circle,#6aa2d459 0%,#0000 70%)}.ev-hotspot--talk .ev-hotspot__core{border-color:#96c6e899}.ev-hotspot--puzzle .ev-hotspot__halo{background:radial-gradient(circle,#ae6ad459 0%,#0000 70%)}.ev-hotspot--puzzle .ev-hotspot__core{border-color:#be96dc99}.ev-hotspot--consumed .ev-hotspot__core{opacity:.35;border-color:#786e6466}.ev-hotspot--consumed .ev-hotspot__halo{display:none}.ev-exit{z-index:4;pointer-events:auto;cursor:pointer;position:absolute;transform:translate(-50%,-50%)}.ev-exit:active{transform:translate(-50%,-50%)scale(.98)}.ev-exit__arrow{color:#f4ddb666;text-shadow:0 0 15px #f4ddb699;background:radial-gradient(circle,#f4ddb626 0%,#0000 70%);justify-content:center;align-items:center;width:80px;height:80px;font-size:40px;font-weight:700;animation:2s ease-in-out infinite ev-arrow-bob;display:flex}.ev-exit--near .ev-exit__arrow{color:#f4ddb6;text-shadow:0 0 25px #f4ddb6;background:radial-gradient(circle,#f4ddb666 0%,#0000 70%);animation-duration:.8s}.ev-exit--locked .ev-exit__arrow{color:#a0484899;text-shadow:0 0 15px #a0484866}.ev-exit__label{white-space:nowrap;letter-spacing:.04em;background:#000000d9;border:1px solid #f4ddb666;border-radius:2px;margin-top:8px;padding:4px 12px;font-size:13px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.ev-hotspot.is-flashing .ev-hotspot__core,.ev-exit.is-flashing .ev-exit__arrow{animation:.7s ease-in-out infinite ev-qa-flash}.ev-hud-title.is-flashing{border-radius:8px;animation:.7s ease-in-out infinite ev-qa-flash}.ev-hotspot.is-flashing .ev-hotspot__halo{animation:.7s ease-in-out infinite ev-qa-flash-halo}.ev-exit.is-flashing .ev-exit__label{border-color:#ff7878cc;box-shadow:0 0 14px #ff78788c}@keyframes ev-qa-flash{0%{filter:none;box-shadow:0 0 #ff6e6e00,0 4px 12px #0009}50%{filter:saturate(1.2)brightness(1.08);box-shadow:0 0 34px #ff6e6ebf,0 4px 12px #0009}to{filter:none;box-shadow:0 0 #ff6e6e00,0 4px 12px #0009}}@keyframes ev-qa-flash-halo{0%{opacity:.4;filter:none}50%{opacity:1;filter:saturate(1.2)brightness(1.1)}to{opacity:.4;filter:none}}.ev-hud-title{z-index:50;pointer-events:none;text-shadow:0 2px 6px #000000e6;position:absolute;top:24px;left:32px}.ev-hud-chapter{letter-spacing:.3em;color:#d4a26ad9;margin-bottom:4px;font-size:12px}.ev-hud-scene{letter-spacing:.1em;color:#f4ddb6;font-size:28px;font-weight:300}.ev-hud-inventory{z-index:50;max-width:320px;position:absolute;top:24px;right:32px}.ev-hud-inventory__label{letter-spacing:.3em;color:#f4ddb6b3;text-align:right;text-shadow:0 2px 6px #000000e6;margin-bottom:8px;font-size:11px}.ev-hud-inventory__items{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.ev-inv-item{cursor:pointer;background:#000000b3;border:1px solid #d4a26a66;border-radius:4px;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .15s;display:flex;position:relative}.ev-inv-item:hover{border-color:#f4ddb6cc;transform:scale(1.1)}.ev-inv-item img{object-fit:contain;width:100%;height:100%}.ev-inv-item__name{white-space:nowrap;opacity:0;pointer-events:none;background:#000000e6;border:1px solid #d4a26a66;border-radius:2px;margin-bottom:6px;padding:4px 10px;font-size:12px;transition:opacity .15s;position:absolute;bottom:100%;right:0}.ev-inv-item:hover .ev-inv-item__name{opacity:1}.ev-narrate{cursor:pointer;z-index:60;background:linear-gradient(#0a0a0feb,#14100cf5);border:1px solid #d4a26a59;border-radius:4px;width:min(900px,80%);padding:24px 32px 16px;animation:.3s ease-out ev-fade-in-up;position:absolute;bottom:32px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #000c}.ev-narrate__speaker{letter-spacing:.2em;color:#d4a26a;border-bottom:1px solid #d4a26a33;margin-bottom:12px;padding-bottom:8px;font-size:14px}.ev-narrate__chapter{letter-spacing:.3em;color:#d4a26a;text-align:center;padding:12px 0;font-size:16px;font-style:italic}.ev-narrate__item{color:#f4ddb6;text-align:center;padding:8px 0;font-size:16px}.ev-narrate__var{color:#96826eb3;text-align:center;font-family:monospace;font-size:12px}.ev-narrate__text{color:#e8e0d4;letter-spacing:.04em;min-height:3.6em;font-size:18px;line-height:1.8}.ev-narrate__text--slow{letter-spacing:.2em;color:#b0a89c}.ev-narrate__text--blood{color:#c87272;letter-spacing:.08em;font-weight:700}.ev-narrate__text--whisper{color:#9890a4;font-style:italic}.ev-narrate__footer{letter-spacing:.15em;color:#d4a26a99;justify-content:space-between;margin-top:10px;font-size:11px;display:flex}.ev-narrate__hint{animation:1.5s ease-in-out infinite ev-blink}.ev-interact-hint{letter-spacing:.05em;z-index:60;background:#0a0a0feb;border:1px solid #f4ddb699;border-radius:4px;align-items:center;gap:12px;padding:12px 24px;font-size:16px;animation:.15s ease-out ev-fade-in;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #000000b3}.ev-interact-hint--locked{color:#dcb4b4cc;border-color:#a0484899}.ev-interact-hint kbd,.ev-controls-hint kbd{color:#1a1a1a;background:#f4ddb6f2;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;font-family:Courier New,monospace;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 2px #d4a26a99}.ev-controls-hint{letter-spacing:.1em;color:#f4ddb68c;z-index:50;pointer-events:none;gap:24px;font-size:13px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.ev-controls-hint span{align-items:center;gap:8px;display:flex}.ev-controls-hint kbd{color:#f4ddb6cc;width:26px;height:26px;box-shadow:none;background:#f4ddb62e;border:1px solid #f4ddb64d;font-size:11px}.ev-modal-overlay{z-index:100;background:#000000b3;justify-content:center;align-items:center;animation:.2s ease-out ev-fade-in;display:flex;position:absolute;inset:0}.ev-modal{background:linear-gradient(#14110d,#1f1a14);border:1px solid #d4a26a73;width:min(640px,85%);max-height:80%;padding:32px 40px;animation:.25s cubic-bezier(.2,.9,.3,1) ev-modal-in;overflow-y:auto;box-shadow:0 30px 80px #000000f2}.ev-modal__title{letter-spacing:.15em;color:#f4ddb6;border-bottom:1px solid #d4a26a4d;margin-bottom:20px;padding-bottom:12px;font-size:22px}.ev-modal__body{color:#e8e0d4;letter-spacing:.03em;margin-bottom:24px;font-size:16px;line-height:1.85}.ev-modal__body--talk{flex-direction:column;gap:12px;display:flex}.ev-modal__pickup{text-align:center;color:#f4ddb6;letter-spacing:.1em;background:#d4a26a26;border:1px solid #d4a26a66;margin-bottom:16px;padding:12px 16px}.ev-modal__locked{text-align:center;color:#c89090;background:#a0484826;border:1px solid #a0484880;margin-bottom:16px;padding:12px 16px}.ev-modal__locked--blocked{background:#a0484826}.ev-modal__hint{color:#96826eb3;margin-bottom:16px;font-size:13px;font-style:italic}.ev-modal__choices{flex-direction:column;gap:10px;margin-top:8px;display:flex}.ev-modal__close{color:#f4ddb6;letter-spacing:.25em;cursor:pointer;text-transform:uppercase;background:#d4a26a26;border:1px solid #d4a26a66;border-radius:8px;width:100%;padding:14px;font-family:inherit;font-size:14px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1)}.ev-modal__close:hover{color:#fff;background:#d4a26a4d;border-color:#f4ddb6e6;transform:translateY(-1px);box-shadow:0 4px 15px #d4a26a33}.ev-modal__close:active{transform:translateY(0)}.ev-choice{color:#e8e0d4;letter-spacing:.04em;cursor:pointer;text-align:left;background:#0006;border:1px solid #d4a26a66;justify-content:space-between;align-items:center;padding:14px 20px;font-family:inherit;font-size:15px;transition:all .15s;display:flex}.ev-choice:hover:not(:disabled){background:#d4a26a33;border-color:#f4ddb6cc;transform:translate(4px)}.ev-choice:disabled{opacity:.4;cursor:not-allowed}.ev-choice__target{color:#d4a26ab3;letter-spacing:.1em;font-size:12px}.ev-talk-line{letter-spacing:.03em;font-size:15px;line-height:1.7}.ev-talk-line--npc{color:#e8e0d4}.ev-talk-line__speaker{color:#d4a26a;margin-right:4px;font-weight:700}.ev-talk-line--player{color:#96c6e8;padding-left:24px;font-style:italic}.ev-talk-line--meta{color:#96826eb3;text-align:center;letter-spacing:.15em;font-size:12px}.ev-overlay{color:#d4a26a;letter-spacing:.3em;z-index:999;background:#0a0a0d;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;inset:0}.ev-loading,.ev-empty{color:#d4a26a;letter-spacing:.3em;background:#0a0a0d;justify-content:center;align-items:center;width:100%;height:100%;font-size:16px;display:flex}.ev-error{color:#e8e0d4;text-align:center;background:#0a0a0d;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;height:100%;padding:32px;display:flex}.ev-error-title{color:#c87272;letter-spacing:.2em;font-size:20px}.ev-error-detail{color:#e8e0d4b3;font-family:monospace;font-size:13px}.ev-error-hint{color:#e8e0d499;margin-top:16px;font-size:13px}.ev-error code{color:#d4a26a;background:#d4a26a26;border-radius:2px;padding:2px 8px;font-family:Courier New,monospace}@keyframes ev-halo-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes ev-arrow-bob{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(6px - 50%))}}@keyframes ev-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ev-fade-in-up{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@keyframes ev-modal-in{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes ev-blink{0%,to{opacity:.4}50%{opacity:1}}.nv-root{color:#e8e0d4;-webkit-user-select:none;user-select:none;background:#050507;width:100%;height:100%;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;position:relative;overflow:hidden}.nv-bg{filter:brightness(.55)blur(2px)saturate(.8);background-position:50%;background-repeat:no-repeat;background-size:cover;transition:background-image .6s;position:absolute;inset:0;transform:scale(1.06)}.nv-bg-vignette{pointer-events:none;background:radial-gradient(#0000 30%,#0000008c 100%),linear-gradient(#0006 0%,#0000 25% 70%,#000000b3 100%);position:absolute;inset:0}.nv-portrait-stage{pointer-events:none;z-index:2;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:8% 0 32%}.nv-portrait{object-fit:contain;filter:drop-shadow(0 12px 30px #000000d9);max-width:90%;max-height:100%;animation:.45s cubic-bezier(.2,.9,.3,1) nv-portrait-in}@keyframes nv-portrait-in{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.nv-topbar{z-index:5;pointer-events:none;background:linear-gradient(#000000b3,#0000);justify-content:space-between;align-items:flex-start;padding:32px 40px 24px;display:flex;position:absolute;top:0;left:0;right:0}.nv-chapter{letter-spacing:.3em;color:#d4a26ad9;margin-bottom:8px;font-size:18px}.nv-scene-title{letter-spacing:.15em;color:#f4ddb6;text-shadow:0 2px 8px #000000e6;font-size:40px;font-weight:300}.nv-topbar__right{pointer-events:auto}.nv-inv{align-items:center;gap:8px;display:flex}.nv-inv-item{cursor:pointer;background:#000000b3;border:1.5px solid #d4a26a80;border-radius:4px;width:68px;height:68px;transition:transform .15s;overflow:hidden}.nv-inv-item:hover{transform:scale(1.08)}.nv-inv-item img{object-fit:contain;width:100%;height:100%}.nv-inv-more{color:#f4ddb6b3;letter-spacing:.05em;background:#00000080;border:1.5px dashed #d4a26a66;border-radius:4px;justify-content:center;align-items:center;width:68px;height:68px;font-size:18px;display:flex}.nv-textbox{z-index:10;background:linear-gradient(#0a0a0feb,#14100cf7);border:1.5px solid #d4a26a80;border-radius:6px;flex-direction:column;min-height:32%;padding:36px 48px 28px;display:flex;position:absolute;bottom:32px;left:32px;right:32px;box-shadow:0 -10px 40px #000000b3}.nv-beat{cursor:pointer;flex-direction:column;flex:1;min-height:220px;display:flex}.nv-beat__speaker{letter-spacing:.15em;color:#d4a26a;border-bottom:1px solid #d4a26a59;margin-bottom:18px;padding-bottom:12px;font-size:26px}.nv-beat__tag{letter-spacing:.3em;color:#d4a26ad9;margin-bottom:14px;font-size:18px}.nv-beat__text{color:#e8e0d4;letter-spacing:.04em;white-space:pre-wrap;flex:1;min-height:100px;font-size:28px;line-height:1.85}.nv-beat__text--slow{letter-spacing:.25em;color:#b0a89c}.nv-beat__text--blood{color:#c87272;letter-spacing:.1em;font-weight:700}.nv-beat__text--whisper{color:#9890a4;font-style:italic}.nv-beat__text--meta{text-align:center;color:#d4a26ad9;letter-spacing:.15em;font-size:22px}.nv-beat__footer{letter-spacing:.2em;color:#d4a26a99;justify-content:space-between;margin-top:18px;font-size:14px;display:flex}.nv-beat__hint{animation:1.5s ease-in-out infinite nv-blink}.nv-beat__advance{color:#f4ddb6;letter-spacing:.2em;cursor:pointer;background:#d4a26a33;border:1px solid #d4a26a80;margin-top:14px;padding:14px;font-family:inherit;font-size:18px}.nv-beat__advance:hover{background:#d4a26a59}.nv-talk{flex-direction:column;flex:1;display:flex}.nv-talk__lines{flex-direction:column;flex:1;gap:14px;max-height:480px;padding-right:8px;display:flex;overflow-y:auto}.nv-talk-line{letter-spacing:.03em;font-size:22px;line-height:1.7}.nv-talk-line--npc{color:#e8e0d4}.nv-talk-line__speaker{color:#d4a26a;margin-right:6px;font-weight:700}.nv-talk-line--player{color:#96c6e8;padding-left:24px;font-style:italic}.nv-talk-line--meta{color:#96826eb3;text-align:center;letter-spacing:.15em;font-size:16px}.nv-choose{flex-direction:column;flex:1;display:flex}.nv-choices{flex-direction:column;gap:12px;margin-top:16px;display:flex}.nv-choice{color:#e8e0d4;letter-spacing:.05em;cursor:pointer;text-align:left;background:#00000073;border:1px solid #d4a26a73;justify-content:space-between;align-items:center;padding:18px 24px;font-family:inherit;font-size:22px;transition:all .15s;display:flex}.nv-choice:hover:not(:disabled){background:#d4a26a38;border-color:#f4ddb6d9;transform:translate(6px)}.nv-choice:disabled{opacity:.45;cursor:not-allowed}.nv-choice__target{color:#d4a26ab3;letter-spacing:.1em;font-size:16px}.nv-overlay{color:#d4a26a;letter-spacing:.4em;z-index:999;background:#0a0a0d;justify-content:center;align-items:center;font-size:24px;display:flex;position:absolute;inset:0}.nv-error{color:#e8e0d4;text-align:center;background:#0a0a0d;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:48px;display:flex;position:absolute;inset:0}.nv-error-title{color:#c87272;letter-spacing:.2em;font-size:28px}.nv-error-detail{color:#e8e0d4b3;font-family:monospace;font-size:16px}.nv-error-hint{color:#e8e0d499;margin-top:16px;font-size:16px}.nv-error code{color:#d4a26a;background:#d4a26a33;border-radius:4px;padding:4px 10px;font-family:Courier New,monospace}@keyframes nv-blink{0%,to{opacity:.4}50%{opacity:1}}.vqar-root{background:var(--bg-base);flex-direction:column;width:100%;height:100%;display:flex;position:relative}.vqar-main{grid-template-columns:1fr 8px var(--qa-side-w,360px);flex:1;align-items:stretch;min-width:0;min-height:0;display:grid}.vqar-stage{min-width:0;min-height:0;position:relative}.vqar-splitter{cursor:col-resize;background:var(--bg-panel)}.vqar-splitter:hover{background:var(--bg-panel)}.vqar-toolbar{background:var(--bg-primary);border-top:1px solid var(--border-subtle);color:var(--text-primary);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;font-family:Space Grotesk,system-ui,sans-serif;font-size:13px;display:flex;box-shadow:0 -4px 20px #00000008}.vqar-toolbar__left{flex:1;align-items:center;gap:16px;min-width:0;display:flex}.vqar-toolbar__right{flex-shrink:0;align-items:center;gap:6px;display:flex}.vqar-status{background:var(--bg-panel);letter-spacing:.02em;border-radius:6px;padding:3px 10px;font-weight:600;box-shadow:inset 0 1px #ffffff1a}.vqar-status[data-status=running]{color:#fff;background:#10b981}.vqar-status[data-status=paused]{color:#fff;background:#f59e0b}.vqar-status[data-status=taken-over]{color:#fff;background:#f97316}.vqar-status[data-status=planning]{color:#fff;background:#3b82f6}.vqar-status[data-status=done]{color:#fff;background:#64748b}.vqar-summary{color:#065f46;white-space:nowrap;cursor:help;background:#ecfdf5;border:1px solid #10b981;border-radius:6px;padding:3px 12px;font-weight:600}.vqar-summary[data-fail="1"]{color:#991b1b;background:#fef2f2;border-color:#ef4444}.vqar-progress{color:var(--text-secondary);white-space:nowrap}.vqar-stepinfo{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.vqar-toolbar button{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:500;transition:all .2s cubic-bezier(.215,.61,.355,1);display:flex}.vqar-toolbar button:hover:not(:disabled){background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-medium);transform:translateY(-1px);box-shadow:0 4px 8px #0000000a}.vqar-toolbar button:active:not(:disabled){box-shadow:none;transform:translateY(0)}.vqar-toolbar button:disabled{opacity:.3;cursor:not-allowed}.vqar-speed{background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:8px;align-items:center;gap:2px;margin-left:12px;padding:4px;display:inline-flex}.vqar-speed button{color:var(--text-tertiary);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-family:Space Grotesk,system-ui,sans-serif;font-size:11px;font-weight:700}.vqar-speed button.active{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-medium);box-shadow:0 2px 4px #0000000d}.vqar-close{margin-left:12px;color:#ef4444!important;background:#fee2e2!important;border-color:#0000!important}.vqar-close:hover{color:#b91c1c!important;background:#fecaca!important}.vqar-close:active{background:#fca5a5!important}.vqar-error-inline{color:#ffb0b0;background:var(--bg-panel);border:1px solid var(--border-color);white-space:nowrap;text-overflow:ellipsis;cursor:help;border-radius:3px;flex:1;min-width:0;padding:2px 8px;overflow:hidden}.qa-side{width:var(--qa-side-w,360px);border-left:1px solid var(--border-subtle);background:var(--bg-base);min-width:280px;max-width:560px;height:100%;color:var(--text-primary);z-index:5;flex-direction:column;font-family:Inter,system-ui,sans-serif;font-size:13px;display:flex;overflow:hidden;box-shadow:-4px 0 24px #0000000d}.qa-side.is-collapsed{width:32px;min-width:32px;max-width:32px}.qa-side__header{z-index:5;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);padding:16px;position:sticky;top:0}.qa-side__headerTop{align-items:center;gap:10px;display:flex}.qa-side__collapse{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.qa-side__collapse:hover{background:var(--bg-panel);color:var(--text-primary)}.qa-side__headerBtns{flex-shrink:0;gap:6px;display:flex}.qa-side__header button{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:500;transition:all .2s cubic-bezier(.215,.61,.355,1);display:flex}.qa-side__header button:hover:not(:disabled){background:var(--bg-panel);color:var(--text-primary);border-color:var(--border-medium);transform:translateY(-1px)}.qa-side__header button:disabled{opacity:.3;cursor:not-allowed}.qa-side__progress{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.qa-side__progressBar{background:var(--border-color);border-radius:99px;flex:1;height:6px;overflow:hidden}.qa-side__progressBarFill{background:var(--accent-color);width:0%;height:100%}.qa-side__progressText{color:var(--text-secondary);white-space:nowrap}.qa-side__cards{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px;display:grid}.qa-side__card{border:1px solid var(--border-subtle);background:var(--bg-primary);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:12px 8px;transition:all .2s cubic-bezier(.215,.61,.355,1);display:flex;box-shadow:0 1px 2px #00000005}.qa-side__card:hover{background:var(--bg-surface);border-color:var(--border-medium);transform:translateY(-1px);box-shadow:0 4px 12px #0000000a}.qa-side__cardLabel{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:500}.qa-side__cardValue{color:var(--text-primary);margin-top:8px;font-family:Space Grotesk,system-ui,sans-serif;font-size:18px;font-weight:700}.qa-side__paths{flex-direction:column;flex:1;min-height:0;display:flex}.qa-side__pathsHeader{border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.qa-side__pathsTitle{color:var(--text-primary);font-size:14px;font-weight:600}.qa-side__pathsHint{color:var(--text-tertiary);margin-left:8px;font-size:12px;font-weight:500}.qa-pathRow__dups{color:var(--text-secondary);background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:999px;margin-left:6px;padding:2px 8px;font-size:11px;font-weight:600}.qa-side__pathsFilters .active{background:var(--bg-primary);border-color:var(--border-medium);color:var(--text-primary);box-shadow:0 1px 2px #0000000d}.qa-side__pathsList{flex-direction:column;gap:8px;min-height:0;padding:12px;display:flex;overflow:auto}.qa-pathRow{cursor:pointer;border:1px solid var(--border-subtle);background:var(--bg-primary);border-radius:10px;gap:12px;padding:12px;transition:all .2s cubic-bezier(.215,.61,.355,1);display:flex;box-shadow:0 1px 2px #00000005}.qa-pathRow:hover{background:var(--bg-surface);border-color:var(--border-medium);transform:translateY(-1px);box-shadow:0 4px 12px #0000000a}.qa-pathRow.is-current{border-color:var(--accent-main);background:var(--bg-surface);box-shadow:0 0 0 1px var(--accent-main) inset, 0 4px 16px #ff5e4d1a}.qa-pathRow.is-selected{border-color:var(--accent-main);background:var(--bg-surface)}.qa-pathRow__status{opacity:.9;flex-shrink:0;width:20px}.qa-pathRow__main{flex:1;min-width:0}.qa-pathRow__line1{justify-content:space-between;gap:10px;display:flex}.qa-pathRow__id{color:var(--text-primary);font-family:Space Grotesk,system-ui,sans-serif;font-size:14px;font-weight:700}.qa-pathRow__meta{color:var(--text-secondary);white-space:nowrap;font-size:12px}.qa-pathRow__line2{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;overflow:hidden}.qa-pathRow__scene{color:var(--text-primary)}.qa-pathRow__actions{flex-direction:column;flex-shrink:0;gap:6px;display:flex}.qa-pathRow__actions button{padding:2px 6px;font-size:12px}.qa-side__detail{border-top:1px solid var(--border-subtle);background:var(--bg-surface);flex-direction:column;min-height:260px;max-height:45%;display:flex}.qa-side__tabs{border-bottom:1px solid var(--border-subtle);gap:8px;padding:10px 16px;display:flex}.qa-tab{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:500;transition:all .2s}.qa-tab.active{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-base);box-shadow:0 2px 4px #0000001a}.qa-side__tabBody{min-height:0;padding:16px;overflow:auto}.qa-side__empty{color:var(--text-tertiary);text-align:center;padding:16px}.qa-steps{flex-direction:column;gap:8px;display:flex}.qa-stepRow{border:1px solid var(--border-subtle);background:var(--bg-primary);border-radius:6px;align-items:center;gap:12px;padding:8px 12px;transition:all .2s;display:flex}.qa-stepRow.is-current{border-color:var(--accent-main);box-shadow:0 0 0 1px var(--accent-main) inset}.qa-stepRow.is-done{opacity:.6}.qa-stepRow__idx{color:var(--text-tertiary);min-width:24px;font-family:Space Grotesk,monospace;font-size:11px}.qa-stepRow__scene{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;background:var(--bg-panel);border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:11px;font-weight:500;overflow:hidden}.qa-stepRow__act{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-family:JetBrains Mono,monospace;font-size:12px;overflow:hidden}.qa-issues__filters{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.qa-issues__filterRow{flex-wrap:wrap;gap:6px;display:flex}.qa-chip{background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:999px;padding:3px 10px}.qa-chip.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.qa-issue{border:1px solid var(--border-color);background:var(--bg-panel);border-radius:10px;margin-bottom:10px;padding:10px}.qa-issue--error{border-color:#ff6e6e73}.qa-issue--warning{border-color:#f0c87866}.qa-issue--info{border-color:#96c6e859}.qa-issue__head{align-items:baseline;gap:8px;display:flex}.qa-issue__badge{background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;padding:2px 8px;font-weight:700}.qa-issue__msg{color:var(--text-primary);flex:1;min-width:0}.qa-issue__meta{color:var(--text-secondary);flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.qa-issue__hint{color:var(--text-secondary);margin-top:6px}.qa-issue__actions{gap:8px;margin-top:8px;display:flex}.qa-issue__actions button{padding:2px 8px;font-size:12px}.am-root{background:var(--bg-base);width:100%;height:100%;color:var(--text-primary);flex-direction:column;font-family:system-ui,-apple-system,sans-serif;display:flex;overflow:hidden}.am-toolbar{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);z-index:10;scrollbar-width:none;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:10px 20px;display:flex;overflow-x:auto;box-shadow:0 4px 20px #0003}.am-toolbar-left{flex-shrink:0;align-items:center;gap:12px;display:flex}.am-toolbar-right{flex-shrink:1;justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.am-header-actions{align-items:center;gap:16px;display:flex}.am-btn-macro{cursor:pointer;letter-spacing:.02em;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .3s cubic-bezier(.215,.61,.355,1);display:inline-flex}.am-btn-ai{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-medium);box-shadow:0 1px 2px #0000000d}.am-btn-ai svg{color:#f59e0b}.am-btn-ai:hover{background:var(--bg-surface);color:#f59e0b;border-color:#f59e0b;transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b26}.am-btn-run{background:var(--accent-main);color:#fff;box-shadow:0 2px 8px #ff5e4d40}.am-btn-run:hover{background:var(--accent-light,#ff7a6b);transform:translateY(-1px);box-shadow:0 4px 12px #ff5e4d66}.am-btn-run.active{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-medium);box-shadow:none}.am-btn-run.active:hover{background:var(--bg-surface);border-color:var(--text-secondary)}.am-tabs{flex-wrap:nowrap;gap:4px;display:flex}.am-tab-btn{cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px 14px 6px 10px;transition:all .2s cubic-bezier(.215,.61,.355,1);display:flex;position:relative}.am-tab-btn:hover{background:#0000000a}:root.dark .am-tab-btn:hover{background:#ffffff0d}.am-tab-btn.active{background:var(--bg-primary);transform:translateY(-1px);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}:root.dark .am-tab-btn.active{background:var(--bg-elevated);box-shadow:0 4px 6px #0000004d}.am-tab-text{align-items:baseline;display:flex}.am-tab-cn{color:var(--text-secondary);font-size:14px;font-weight:600;transition:color .3s cubic-bezier(.215,.61,.355,1)}.am-tab-en{letter-spacing:.05em;color:var(--text-tertiary);opacity:.6;font-size:11px;font-weight:700}.am-tab-btn.active .am-tab-cn{color:var(--text-primary)}.am-tab-btn.active .am-tab-en{color:var(--text-secondary)}.am-tab-count{background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-tertiary);z-index:2;border-radius:10px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 4px;font-family:Space Grotesk,monospace;font-size:9px;font-weight:700;line-height:14px;transition:all .2s cubic-bezier(.215,.61,.355,1);display:flex;position:absolute;top:0;right:0;transform:scale(.85)translate(20%,-30%);box-shadow:0 1px 2px #0000000d}.am-tab-btn.active .am-tab-count{background:var(--accent-main);color:#fff;border-color:var(--accent-main)}.am-body{background:var(--bg-base);flex:1;padding:24px;overflow-y:auto}.am-list{flex-direction:column;gap:12px;max-width:1000px;margin:0 auto;display:flex}.am-row{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:12px;gap:24px;padding:16px 20px;transition:all .2s cubic-bezier(.215,.61,.355,1);display:flex;box-shadow:0 1px 3px #00000005}.am-row:hover{border-color:var(--border-medium);box-shadow:0 6px 16px #0000000d}:root.dark .am-row:hover{border-color:var(--border-strong)}.am-preview{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:100px;height:100px;display:flex;overflow:hidden}.am-preview img{object-fit:cover;width:100%;height:100%;transition:transform .3s cubic-bezier(.215,.61,.355,1)}.am-preview img:hover{transform:scale(1.05)}.am-placeholder-img{color:var(--text-tertiary);justify-content:center;align-items:center;display:flex}.am-audio-icon{opacity:.3;font-size:28px}.am-info{flex-direction:column;flex:1;justify-content:center;gap:12px;min-width:0;display:flex}.am-id{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.am-id strong{letter-spacing:.02em;font-family:Space Grotesk,system-ui,sans-serif;font-size:16px;font-weight:700}.am-badge-type{background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600}.am-input-size{color:var(--text-secondary);background:0 0;border:1px dashed #0000;border-radius:4px;width:100px;padding:2px 6px;font-family:monospace;font-size:11px;transition:all .2s}.am-input-size:hover,.am-input-size:focus{border-color:var(--border-medium);background:var(--bg-surface);color:var(--text-primary);outline:none}.am-badge-status{letter-spacing:.05em;border-radius:12px;justify-content:center;align-items:center;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.am-badge-status.missing{color:#f59e0b;background:#f59e0b1a}.am-badge-status.fresh{color:#10b981;background:#10b9811a}.am-badge-status.stale{color:#3b82f6;background:#3b82f61a}.am-badge-status.orphaned{background:var(--bg-surface);color:var(--text-tertiary);border:1px solid var(--border-subtle)}.am-badge-status.generating{color:#8b5cf6;background:#8b5cf61a;animation:1.5s infinite alternate pulse}.am-prompt-container{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;flex-direction:column;transition:all .2s;display:flex;overflow:hidden}.am-prompt-container:hover{border-color:var(--border-medium)}.am-prompt-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:10px 14px;transition:background .2s;display:flex}.am-prompt-header:hover{background:#00000005}:root.dark .am-prompt-header:hover{background:#ffffff05}.am-prompt-header-left{color:var(--text-secondary);flex:1;align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.am-prompt-preview{text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);overflow:hidden}.am-prompt-header-right{color:var(--text-tertiary);align-items:center;display:flex}.am-prompt-body{border-top:1px dashed var(--border-color);background:var(--bg-surface);padding:16px}.am-input-wrapper{border:1px solid var(--border-subtle);background:var(--bg-primary);border-radius:12px;flex-direction:column;transition:all .3s;display:flex;position:relative}.am-input-wrapper:focus-within{border-color:#a855f7;box-shadow:0 0 0 2px #a855f71a}.am-input-prompt{width:100%;color:var(--text-primary);resize:vertical;min-height:120px;box-shadow:none;background:0 0;border:none;outline:none;padding:16px 16px 50px;font-family:inherit;font-size:13px;line-height:1.6}.am-btn-magic-small{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-strong);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .2s cubic-bezier(.215,.61,.355,1);display:flex;box-shadow:0 1px 2px #0000000d}.am-btn-magic-small svg{color:#f59e0b;transition:all .3s}.am-btn-magic-small:hover{background:var(--bg-primary);border-color:#f59e0b;transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b26}.am-btn-magic-small:hover svg{transform:scale(1.1)rotate(5deg)}@keyframes magic-gradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.am-actions{flex-direction:row;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.am-btn-gen{background:var(--bg-surface);border:1px solid var(--border-strong);color:var(--text-primary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s cubic-bezier(.215,.61,.355,1);display:flex;box-shadow:0 1px 2px #0000000d}.am-btn-gen:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--text-primary);transform:translateY(-1px);box-shadow:0 4px 8px #00000014}.am-btn-gen.primary{background:var(--accent-main);color:#fff;border:none;box-shadow:0 2px 8px #ff5e4d40}.am-btn-gen.primary:hover:not(:disabled){background:var(--accent-light,#ff7a6b);color:#fff;box-shadow:0 4px 12px #ff5e4d66}.am-btn-gen.generating{background:var(--bg-surface);border-color:var(--border-subtle);color:var(--text-tertiary);cursor:not-allowed;box-shadow:none}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.am-loading,.am-empty{height:100%;color:var(--text-tertiary);justify-content:center;align-items:center;display:flex}.am-error{text-align:center;color:#dc2626;padding:40px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}:root.dark .am-badge-status.missing{color:#fca5a5;background:#dc26261a;border-color:#dc26264d}:root.dark .am-badge-status.fresh{color:#6ee7b7;background:#0596691a;border-color:#0596694d}.am-input-size{text-align:center;color:var(--text-secondary);outline:none;font-family:Space Grotesk,monospace;transition:all .3s cubic-bezier(.215,.61,.355,1);background:var(--bg-surface)!important;border:1px dashed var(--border-subtle)!important;border-radius:0!important;width:90px!important;padding:4px 6px!important;font-size:11px!important}.am-input-size:focus,.am-input-size:hover{color:var(--text-primary);border-style:solid!important;border-color:var(--accent-color)!important}.am-lightbox{z-index:9999;cursor:zoom-out;background:#000000d9;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.am-lightbox img{object-fit:contain;max-width:90vw;max-height:90vh;box-shadow:none;border-radius:0}.am-banner-alert{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);color:#b45309;background:#fffbeb;justify-content:center;align-items:center;gap:8px;padding:8px 24px;font-size:13px;line-height:1.5;display:flex;box-shadow:inset 0 2px 4px #0000000d}:root.dark .am-banner-alert{color:#fcd34d;background:#f59e0b0d;border-top:1px solid #0000004d;border-bottom:1px solid #ffffff0d;box-shadow:inset 0 3px 8px #0000004d}.am-banner-alert strong{margin-right:4px;font-weight:600}.app-container{background:var(--bg-primary);width:100%;height:100%;display:flex}.editor-pane{border-right:1px solid var(--border-subtle);flex-direction:column;flex:1;min-width:0;height:100%;display:flex;position:relative;container:editorPane/inline-size}.agent-pane{background:var(--bg-surface);height:100%;box-shadow:none;z-index:10;flex-direction:column;flex-shrink:0;display:flex}.pane-resizer{cursor:col-resize;background:var(--border-subtle);z-index:20;width:1px;transition:background .3s cubic-bezier(.215,.61,.355,1);position:relative}.pane-resizer:hover,.pane-resizer:active{background:var(--accent-main)}.pane-header{border-bottom:1px solid var(--border-subtle);height:64px;color:var(--text-primary);letter-spacing:.05em;background:var(--bg-surface);z-index:30;flex-shrink:0;align-items:center;padding:0 24px;font-size:15px;font-weight:600;display:flex;position:relative}@container editorPane (width<=880px){.brand-text,.tab-text{display:none!important}}@container editorPane (width<=700px){.toolbar-search input{width:100px!important}}@container editorPane (width<=500px){.toolbar-search,.brand-logo{display:none!important}}.header-icon{color:var(--accent-color);filter:drop-shadow(0 0 8px var(--accent-glow));margin-right:12px}.header-action-btn{border:1px solid var(--border-subtle);height:28px;color:var(--text-secondary);cursor:pointer;box-sizing:border-box;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:0 14px;font-size:12px;font-weight:600;transition:all .3s;display:inline-flex}.header-action-btn:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-medium)}.editor-content{flex:1;min-width:0;padding:40px;overflow:hidden auto}.editor-content--storyboard,.editor-content--no-padding{padding:0!important;overflow:hidden!important}.editor-textarea{width:100%;min-height:100%;color:var(--text-primary);resize:none;background:0 0;border:none;outline:none;font-family:Inter,sans-serif;font-size:16px;line-height:1.8}.editor-textarea::placeholder{color:var(--text-tertiary)}.chat-history{flex-direction:column;flex:1;gap:24px;padding:24px;display:flex;overflow-y:auto}.chat-message{flex-direction:column;gap:16px;animation:.3s ease-out forwards fadeIn;display:flex}.chat-message.user,.chat-message.agent{align-items:stretch}.chat-message.agent.consecutive,.chat-message.user.consecutive{margin-top:-8px}.message-bubble{overflow-wrap:break-word;word-break:break-word;max-width:100%;font-size:14px;line-height:1.6;overflow-x:auto}.message-bubble table{border-collapse:collapse;table-layout:fixed;word-break:break-all;width:100%;font-size:12px}.message-bubble th,.message-bubble td{border:1px solid var(--border-color);text-overflow:ellipsis;padding:4px 8px;overflow:hidden}.message-bubble pre{white-space:pre-wrap;word-break:break-all;max-width:100%;overflow-x:auto}.message-bubble code{word-break:break-all}.message-bubble>:first-child{margin-top:0}.message-bubble>:last-child{margin-bottom:0}.message-markdown-body ul li{margin-top:.2em}.inline-icon{vertical-align:-.15em;margin-right:.25em;display:inline-block}.inline-icon.success{color:#10b981}.inline-icon.error{color:#ef4444}.inline-icon.warning{color:#f59e0b}.inline-icon.inactive{color:#94a3b8}.message-markdown>p:first-child{margin-top:0}.message-markdown>p:last-child{margin-bottom:0}.user .message-bubble{border:1px solid var(--border-medium);color:var(--text-primary);background:#ff5e4d0a;border-radius:0;width:100%;padding:16px 20px}.dark .user .message-bubble{border-color:var(--border-medium);background:#ff5e4d0a}.agent .message-bubble{background:var(--agent-msg-bg);border-left:2px solid var(--accent-main);border-top:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);color:var(--text-primary);box-shadow:none;border-radius:0;width:100%;padding:16px 20px}.reasoning-block{border:1px solid var(--border-subtle);opacity:.8;background:0 0;border-radius:0;margin-bottom:12px;transition:all .3s cubic-bezier(.215,.61,.355,1);overflow:hidden}.dark .reasoning-block{background:0 0}.reasoning-block:hover{border-color:var(--accent-main);opacity:1}.reasoning-block summary{color:var(--text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;outline:none;align-items:center;gap:4px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.reasoning-block summary:hover{color:var(--accent-color);background:#2563eb0d}.dark .reasoning-block summary:hover{background:#2563eb1a}.reasoning-content{color:var(--text-secondary);padding:0 14px 12px;font-size:13px;line-height:1.6}.reasoning-icon{opacity:.5;color:var(--text-tertiary)}.reasoning-status{opacity:.7;letter-spacing:.01em;font-size:12px;font-weight:400}.reasoning-block[open]{opacity:1}.reasoning-block[open] .reasoning-status{opacity:1;color:var(--text-secondary)}.reasoning-block[open] .reasoning-icon{opacity:1;color:var(--accent-color)}.message-tools-container{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.tool-pill{background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary);-webkit-user-select:none;user-select:none;border-radius:0;align-items:center;gap:6px;padding:4px 10px;font-family:Space Grotesk,monospace;font-size:11px;font-weight:500;transition:all .3s cubic-bezier(.215,.61,.355,1);display:inline-flex}.tool-pill.clickable{cursor:pointer}.tool-pill.clickable:hover{background:var(--bg-panel);border-color:var(--text-tertiary)}.tool-pill.status-error{color:#ef4444;background:#ef44440f;border-color:#ef444433}.tool-pill.status-error.clickable:hover{background:#ef44441f;border-color:#ef44444d}.tool-pill .tool-icon{opacity:.6}.tool-pill .status-icon.success{color:#10b981}.tool-pill .status-icon.error{color:#ef4444}.tool-pill .status-icon.warning{color:#f59e0b}.tool-pill .status-icon.running{color:#3b82f6}.tool-pill-wrapper{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.tool-details-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);width:100%;max-width:600px;box-shadow:none;border-radius:0;flex-direction:column;gap:12px;padding:12px;display:flex}.tool-details-section{flex-direction:column;gap:6px;display:flex}.tool-details-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.tool-details-code{background:var(--bg-primary);border:1px solid var(--border-subtle);color:var(--text-primary);white-space:pre-wrap;word-break:break-all;border-radius:0;max-height:300px;margin:0;padding:8px 10px;font-family:Space Grotesk,monospace;font-size:12px;overflow-y:auto}.tool-details-code.error-text{color:#ef4444;background:#ef44440d;border-color:#ef444433}.reasoning-content{white-space:pre-wrap;opacity:.85;line-height:1.6}.reasoning-block summary::-webkit-details-marker{display:none}.reasoning-block summary:after{content:"";border:solid var(--text-tertiary);border-width:0 1.5px 1.5px 0;margin-left:auto;padding:3px;transition:transform .2s;display:inline-block;transform:rotate(-45deg)}.reasoning-block[open] summary:after{transform:rotate(45deg)}.reasoning-snippet{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;max-width:200px;margin-left:12px;font-size:12px;font-weight:400;overflow:hidden}.reasoning-placeholder{color:var(--text-tertiary);font-style:italic;animation:1.5s ease-in-out infinite reasoningPulse}@keyframes reasoningPulse{0%,to{opacity:.4}50%{opacity:1}}.streaming-text{animation:.15s ease-out streamFadeIn}@keyframes streamFadeIn{0%{opacity:.7}to{opacity:1}}.message-sender{color:var(--text-tertiary);align-items:center;gap:6px;font-size:12px;display:flex}.chat-input-container{border-top:1px solid var(--border-subtle);background:var(--bg-surface);padding:20px 24px}.chat-input-wrapper{border:1px solid var(--border-medium);box-shadow:none;background:0 0;border-radius:8px;align-items:flex-end;padding:8px 8px 8px 16px;transition:all .3s cubic-bezier(.215,.61,.355,1);display:flex}.chat-input-wrapper:focus-within{border-color:var(--accent-main);box-shadow:none;background:#0000001a;transform:translateY(0)}.chat-input{color:var(--text-primary);resize:none;box-sizing:border-box;background:0 0;border:none;outline:none;flex:1;min-height:40px;max-height:150px;padding:8px 8px 8px 0;font-family:inherit;font-size:14px;line-height:1.6;overflow-x:hidden}.chat-input::placeholder{color:var(--text-tertiary);font-weight:400}.chat-send-btn{background:var(--accent-main);color:var(--bg-primary);cursor:pointer;width:40px;height:40px;box-shadow:none;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:2px;transition:all .3s cubic-bezier(.215,.61,.355,1);display:flex}.chat-send-btn:hover{transform:translateY(-2px)scale(1.05);box-shadow:0 6px 14px #2563eb66}.chat-send-btn:disabled{background:var(--border-color);color:var(--text-tertiary);cursor:not-allowed;box-shadow:none;transform:none}.typing-indicator:after{display:none}@keyframes blink{50%{opacity:0}}.file-selector-container{background:var(--bg-surface);border:1px solid var(--border-subtle);box-shadow:none;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:0;align-items:center;gap:8px;padding:6px 14px 6px 12px;transition:all .3s cubic-bezier(.215,.61,.355,1);display:flex;position:relative}.file-selector-container:hover{border-color:var(--accent-main);box-shadow:none}.file-selector-icon{color:var(--accent-color);opacity:.9}.file-selector-value{color:var(--text-primary);min-width:60px;font-family:Inter,sans-serif;font-size:14px;font-weight:600}.file-selector-arrow{color:var(--text-tertiary);transition:transform .2s}.file-selector-container.open .file-selector-arrow{transform:rotate(180deg)}.file-selector-dropdown{background:var(--bg-surface);border:1px solid var(--border-subtle);min-width:180px;box-shadow:none;z-index:100;border-radius:0;padding:6px;animation:.2s ease-out dropdownFadeIn;position:absolute;top:calc(100% + 8px);left:0}.dark .file-selector-dropdown{box-shadow:none}.file-selector-option{color:var(--text-secondary);cursor:pointer;border-radius:0;align-items:center;padding:8px 12px;font-size:14px;font-weight:500;transition:all .3s cubic-bezier(.215,.61,.355,1);display:flex}.file-selector-option:hover{background:var(--bg-panel);color:var(--text-primary)}.file-selector-option.selected{color:var(--accent-main);border-left:2px solid var(--accent-main);background:#ff5e4d0d;font-weight:600}.file-selector-option.empty{color:var(--text-tertiary);cursor:default;background:0 0}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.mode-toggle{background:var(--bg-primary);border:1px solid var(--border-subtle);box-shadow:none;scrollbar-width:none;border-radius:0;padding:4px;display:flex;overflow-x:auto}.mode-toggle::-webkit-scrollbar{display:none}.mode-toggle button{color:var(--text-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:0;flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;font-size:13px;transition:all .3s cubic-bezier(.215,.61,.355,1);display:flex}.mode-toggle button:hover{color:var(--text-primary)}.mode-toggle button.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:none;font-weight:600}.theme-toggle-btn-floating-container{z-index:1000;box-shadow:var(--xy-controls-box-shadow-default,0 0 2px 1px #00000014);flex-direction:row;gap:4px;display:flex;position:absolute;bottom:15px;left:15px}.theme-toggle-btn-floating{box-sizing:content-box;background:var(--bg-surface);width:26px;height:26px;color:var(--text-primary);cursor:pointer;border:none;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.theme-toggle-btn-floating:hover{background:var(--bg-primary);border-color:var(--accent-main);color:var(--accent-main)}.preview-panel{background:var(--bg-primary);flex-direction:column;height:100%;min-height:0;display:flex}.preview-toolbar{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);z-index:10;flex-shrink:0;justify-content:flex-end;align-items:center;gap:16px;min-height:52px;padding:10px 20px;display:flex;box-shadow:0 4px 20px #0003}.preview-toolbar-actions{flex:1;justify-content:flex-end;align-items:center;min-width:0;display:flex}.preview-body{flex:1;min-height:0;overflow:hidden}.preview-text-scroll{height:100%;overflow:auto}.preview-structure-shell{height:100%;min-height:0}.preview-mode-toggle{background:var(--bg-primary);border:1px solid var(--border-subtle);box-shadow:none;border-radius:0;display:flex;overflow:hidden}.preview-mode-toggle button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .3s cubic-bezier(.215,.61,.355,1);display:flex}.preview-mode-toggle button:first-child{border-right:1px solid var(--border-subtle)}.preview-mode-toggle button:hover{background:var(--bg-elevated);color:var(--text-primary)}.preview-mode-toggle button.active{background:var(--accent-main);color:#fff}.screenplay-preview{color:var(--text-primary);background:var(--bg-surface);max-width:960px;box-shadow:none;border:1px solid var(--border-subtle);border-radius:0;margin:40px auto;padding:48px 56px;font-family:Space Grotesk,Courier New,Courier,monospace;font-size:16px;line-height:1.8;transition:all .3s cubic-bezier(.215,.61,.355,1)}.dark .screenplay-preview{box-shadow:none;border-color:var(--border-subtle)}.screenplay-preview h1,.screenplay-preview h2,.screenplay-preview h3{text-align:center;text-transform:uppercase;letter-spacing:2px;color:var(--text-primary);margin-top:2.5em;margin-bottom:1.2em;font-family:Inter,sans-serif;font-weight:800}.screenplay-preview h1{border-bottom:2px solid var(--border-color);margin-top:0;padding-bottom:16px;font-size:1.8em}.screenplay-preview h2{color:var(--accent-color);font-size:1.4em}.screenplay-preview h3{font-size:1.2em}.screenplay-preview p{margin-bottom:1em}.screenplay-preview p>strong:only-child{text-align:center;text-transform:uppercase;margin-top:1.5em;margin-bottom:.2em;display:block}.screenplay-preview p:has(>strong:only-child)+p{text-align:center;width:70%;margin:0 auto 1em}.screenplay-preview ul,.screenplay-preview ol{margin-bottom:1.5em;padding-left:40px}.screenplay-preview li{margin-bottom:.5em}.screenplay-preview blockquote{border-left:4px solid var(--accent-color);color:var(--text-secondary);margin-left:0;padding-left:16px;font-style:italic}.screenplay-preview hr{border:none;border-top:1px dashed var(--border-color);margin:2em 0}@media (width<=768px){.preview-toolbar{padding:8px 12px}.preview-mode-toggle button{padding:6px 10px;font-size:12px}.screenplay-preview{margin:20px 12px;padding:28px 20px}}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#0006;justify-content:center;align-items:center;animation:.3s cubic-bezier(.16,1,.3,1) modalFadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface);border-radius:20px;width:100%;max-width:480px;animation:.4s cubic-bezier(.16,1,.3,1) modalSlideUp;overflow:hidden;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000d}.dark .modal-content{box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff1a}.modal-header{border-bottom:1px solid var(--border-color);background:var(--bg-header);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3{color:var(--text-primary);letter-spacing:-.02em;margin:0;font-size:1.2rem;font-weight:700}.close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:6px;transition:all .2s;display:flex}.close-btn:hover{background:var(--border-color);color:var(--text-primary);transform:rotate(90deg)}.modal-body{padding:24px}.config-field{margin-bottom:20px}.config-field:last-child{margin-bottom:0}.config-field label{color:var(--text-secondary);margin-bottom:8px;font-size:.9rem;font-weight:600;display:block}.config-field input{border:1px solid var(--border-color);background:var(--bg-base);width:100%;color:var(--text-primary);border-radius:12px;padding:12px 16px;font-size:.95rem;transition:all .2s;box-shadow:inset 0 2px 4px #00000005}.config-field input:focus{border-color:var(--accent-color);background:var(--bg-surface);outline:none;box-shadow:0 0 0 3px #2563eb26}.config-field small{color:var(--text-tertiary);margin-top:6px;font-size:.8rem;display:block}.modal-footer{background:var(--bg-header);border-top:1px solid var(--border-color);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.primary-btn{background:linear-gradient(135deg, var(--accent-color) 0%, var(--accent-secondary) 100%);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 6px #2563eb33}.primary-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.primary-btn:disabled{opacity:.6;cursor:not-allowed;background:var(--text-tertiary);box-shadow:none}.secondary-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:10px;padding:10px 20px;font-weight:600;transition:all .2s}.secondary-btn:hover{background:var(--bg-panel);color:var(--text-primary);border-color:var(--text-tertiary)}.animate-spin{animation:1s linear infinite modalSpin}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes modalSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.preset-btn{border:1px solid var(--border-color);background:var(--bg-panel);color:var(--text-secondary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:8px 4px;font-size:11px;transition:all .2s;overflow:hidden}.preset-btn:hover{background:var(--bg-header);border-color:var(--accent-color);color:var(--text-primary)}.preset-btn.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff;font-weight:600}.terminal-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:500;background:#0a0f14f2;border-top:1px solid #333;flex-direction:column;height:250px;animation:.3s ease-out slideUp;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -10px 30px #00000080}.terminal-header{color:#0f0;background:#1a1a1a;border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:8px 16px;font-family:Courier New,monospace;font-size:12px;display:flex}.terminal-content{flex:1;padding:12px;overflow-y:auto}.terminal-content pre{color:#a8b2ba;white-space:pre-wrap;word-wrap:break-word;margin:0;font-family:Courier New,Courier,monospace;font-size:11px}.tools-execution-block{flex-direction:column;gap:8px;margin-top:12px;display:flex}.tool-badge{background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:6px;align-self:flex-start;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:inline-flex;box-shadow:0 1px 2px #0000000d}.dark .tool-badge{background:#ffffff05}.tool-name{color:var(--text-primary);font-family:Courier New,monospace;font-weight:500}.tool-status{border-radius:4px;padding:2px 6px;font-size:12px;font-weight:500}.tool-status.status-success{color:#10b981;background:#10b9811a}.tool-status.status-error{color:#ef4444;background:#ef44441a}.tool-status.status-warning{color:#f59e0b;background:#f59e0b1a}.tool-status.status-pending{color:#3b82f6;background:#3b82f61a}
