@font-face{font-family:Courier Prime;src:url(/fonts/CourierPrime-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Courier Prime;src:url(/fonts/CourierPrime-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Courier Prime;src:url(/fonts/CourierPrime-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Courier Prime;src:url(/fonts/CourierPrime-BoldItalic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}*{box-sizing:border-box}:root{--bg-primary: #1a1a1a;--bg-secondary: #242424;--bg-tertiary: #2d2d2d;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--accent: #4a9eff;--accent-hover: #6ab0ff;--border: #3a3a3a;--character: #8a7cff;--dialogue: #a6ffcb;--action: #d0d0d0;--parenthetical: #7dffc6;--choice: #ffb86c;--choice-spoken: #ffd9a8;--choice-action: #c4a882;--markup: #ff6b6b;--conditional: #56b6c2;--state-change: #d19a66;--extern-decl: #98c379;--navigation: #c678dd;--ui-directive: #e5c07b;--moment: #b389ff;--comment: #666666;--beat-connector: rgba(255, 255, 255, .4);--beat-connector-stroke: rgba(255, 255, 255, .5);--beat-connector-fallback: rgba(255, 200, 100, .6);--beat-connector-fallback-text: rgba(255, 200, 100, .9);--beat-connector-condition: rgba(100, 200, 255, .6);--beat-connector-condition-text: rgba(100, 200, 255, .9);--beat-text: #ffffff;--beat-line-left: -28px;--beat-letter-left: -36px;--beat-letter-size: 18px;--beat-letter-font-size: 11px;--wire-episode: #4A90E2;--wire-scene: #7ED321;--wire-moment: #F5A623;--tree-control-flow: #56b6c2;--tree-mode-feature: #d19a66;--wire-connection: rgba(255, 255, 255, .6);--wire-connection-delete: #ff6b6b;--wire-connection-preview: rgba(100, 200, 255, .6);--wire-connection-preview-stroke: rgba(100, 200, 255, 1);--editor-font-size: 14px;--editor-font-family: "Courier Prime", "Courier New", monospace;--editor-line-height: 1.6;--panel-header-height: 38px;--ui-font-size: 11px;--ui-font-size-xs: calc(var(--ui-font-size) - 2px);--ui-font-size-sm: calc(var(--ui-font-size) - 1px);--ui-font-size-md: calc(var(--ui-font-size) + 1px);--ui-font-size-lg: calc(var(--ui-font-size) + 2px);--character-font-weight: bold;--character-font-style: normal;--character-text-decoration: none;--character-size-offset: 0px;--dialogue-font-weight: normal;--dialogue-font-style: normal;--dialogue-text-decoration: none;--dialogue-size-offset: 0px;--action-font-weight: normal;--action-font-style: normal;--action-text-decoration: none;--action-size-offset: 0px;--parenthetical-font-weight: normal;--parenthetical-font-style: normal;--parenthetical-text-decoration: none;--parenthetical-size-offset: 0px;--scene-heading-font-weight: bold;--scene-heading-font-style: normal;--scene-heading-text-decoration: underline;--scene-heading-size-offset: 0px;--choice-font-weight: bold;--choice-font-style: normal;--choice-text-decoration: none;--choice-size-offset: 0px;--choice-spoken-font-weight: bold;--choice-spoken-font-style: normal;--choice-spoken-text-decoration: none;--choice-spoken-size-offset: 0px;--choice-action-font-weight: normal;--choice-action-font-style: italic;--choice-action-text-decoration: none;--choice-action-size-offset: 0px}[data-theme=light]{--bg-primary: #f5f5f5;--bg-secondary: #ffffff;--bg-tertiary: #e8e8e8;--text-primary: #1a1a1a;--text-secondary: #666666;--accent: #2563eb;--accent-hover: #1d4ed8;--border: #d1d5db;--character: #6d28d9;--dialogue: #047857;--action: #374151;--parenthetical: #059669;--choice: #c2410c;--choice-spoken: #ea580c;--choice-action: #a0845c;--markup: #dc2626;--conditional: #0e7490;--state-change: #b45309;--extern-decl: #15803d;--navigation: #7e22ce;--ui-directive: #a16207;--moment: #7c3aed;--comment: #9ca3af;--beat-connector: rgba(0, 0, 0, .3);--beat-connector-stroke: rgba(0, 0, 0, .4);--beat-connector-fallback: rgba(180, 100, 20, .7);--beat-connector-fallback-text: rgba(180, 100, 20, .9);--beat-connector-condition: rgba(37, 99, 235, .7);--beat-connector-condition-text: rgba(37, 99, 235, .9);--beat-text: #ffffff;--wire-episode: #2563eb;--wire-scene: #059669;--wire-moment: #d97706;--wire-connection: rgba(0, 0, 0, .5);--wire-connection-delete: #dc2626;--wire-connection-preview: rgba(37, 99, 235, .6);--wire-connection-preview-stroke: rgba(37, 99, 235, 1);--tree-control-flow: #0e7490;--tree-mode-feature: #b45309}[data-theme=solarizedDark]{--bg-primary: #001a20;--bg-secondary: #002b36;--bg-tertiary: #073642;--text-primary: #839496;--text-secondary: #657b83;--accent: #268bd2;--accent-hover: #2aa7f7;--border: #094150;--character: #6c71c4;--dialogue: #2aa198;--action: #93a1a1;--parenthetical: #859900;--choice: #859900;--choice-spoken: #b58900;--choice-action: #7d8a6e;--markup: #dc322f;--conditional: #2aa198;--state-change: #b58900;--extern-decl: #859900;--navigation: #6c71c4;--ui-directive: #cb4b16;--moment: #d33682;--comment: #586e75;--beat-connector: rgba(147, 161, 161, .4);--beat-connector-stroke: rgba(147, 161, 161, .5);--beat-connector-fallback: rgba(181, 137, 0, .7);--beat-connector-fallback-text: rgba(181, 137, 0, .9);--beat-connector-condition: rgba(38, 139, 210, .7);--beat-connector-condition-text: rgba(38, 139, 210, .9);--beat-text: #fdf6e3;--wire-episode: #268bd2;--wire-scene: #859900;--wire-moment: #cb4b16;--wire-connection: rgba(147, 161, 161, .6);--wire-connection-delete: #dc322f;--wire-connection-preview: rgba(38, 139, 210, .6);--wire-connection-preview-stroke: rgba(38, 139, 210, 1);--tree-control-flow: #2aa198;--tree-mode-feature: #cb4b16}[data-theme=solarizedLight]{--bg-primary: #fdf6e3;--bg-secondary: #eee8d5;--bg-tertiary: #e4ddc8;--text-primary: #657b83;--text-secondary: #93a1a1;--accent: #268bd2;--accent-hover: #1a6ba0;--border: #d3cbb7;--character: #6c71c4;--dialogue: #2aa198;--action: #586e75;--parenthetical: #859900;--choice: #859900;--choice-spoken: #b58900;--choice-action: #7d8a6e;--markup: #dc322f;--conditional: #2aa198;--state-change: #b58900;--extern-decl: #859900;--navigation: #6c71c4;--ui-directive: #cb4b16;--moment: #d33682;--comment: #93a1a1;--beat-connector: rgba(0, 0, 0, .3);--beat-connector-stroke: rgba(0, 0, 0, .4);--beat-connector-fallback: rgba(181, 137, 0, .7);--beat-connector-fallback-text: rgba(181, 137, 0, .9);--beat-connector-condition: rgba(38, 139, 210, .7);--beat-connector-condition-text: rgba(38, 139, 210, .9);--beat-text: #ffffff;--wire-episode: #268bd2;--wire-scene: #859900;--wire-moment: #cb4b16;--wire-connection: rgba(88, 110, 117, .6);--wire-connection-delete: #dc322f;--wire-connection-preview: rgba(38, 139, 210, .6);--wire-connection-preview-stroke: rgba(38, 139, 210, 1);--tree-control-flow: #2aa198;--tree-mode-feature: #cb4b16}[data-theme=sepia]{--bg-primary: #f4ecd8;--bg-secondary: #faf6eb;--bg-tertiary: #ede5d0;--text-primary: #5b4636;--text-secondary: #8b7355;--accent: #b8860b;--accent-hover: #9a7209;--border: #d4c4a8;--character: #8b4513;--dialogue: #2e8b57;--action: #5b4636;--parenthetical: #6b8e23;--choice: #6b8e23;--choice-spoken: #9acd32;--choice-action: #8b7d5e;--markup: #cd5c5c;--conditional: #2e8b57;--state-change: #b8860b;--extern-decl: #6b8e23;--navigation: #8b4513;--ui-directive: #cd853f;--moment: #8b4513;--comment: #a0937a;--beat-connector: rgba(0, 0, 0, .3);--beat-connector-stroke: rgba(0, 0, 0, .4);--beat-connector-fallback: rgba(139, 69, 19, .7);--beat-connector-fallback-text: rgba(139, 69, 19, .9);--beat-connector-condition: rgba(70, 130, 180, .7);--beat-connector-condition-text: rgba(70, 130, 180, .9);--beat-text: #ffffff;--wire-episode: #8b6914;--wire-scene: #6b8e23;--wire-moment: #cd853f;--wire-connection: rgba(91, 70, 54, .5);--wire-connection-delete: #cd5c5c;--wire-connection-preview: rgba(184, 134, 11, .6);--wire-connection-preview-stroke: rgba(184, 134, 11, 1);--tree-control-flow: #4682b4;--tree-mode-feature: #cd853f}[data-theme=highContrast]{--bg-primary: #000000;--bg-secondary: #0a0a0a;--bg-tertiary: #1a1a1a;--text-primary: #ffffff;--text-secondary: #cccccc;--accent: #00ffff;--accent-hover: #00cccc;--border: #444444;--character: #ff00ff;--dialogue: #00ff00;--action: #ffffff;--parenthetical: #00ff88;--choice: #ffff00;--choice-spoken: #ffcc00;--choice-action: #cccc00;--markup: #ff0000;--conditional: #00ffff;--state-change: #ffaa00;--extern-decl: #00ff00;--navigation: #ff00ff;--ui-directive: #ffff00;--moment: #ff88ff;--comment: #888888;--beat-connector: rgba(255, 255, 255, .6);--beat-connector-stroke: rgba(255, 255, 255, .8);--beat-connector-fallback: rgba(255, 200, 0, .9);--beat-connector-fallback-text: #ffcc00;--beat-connector-condition: rgba(0, 255, 255, .9);--beat-connector-condition-text: #00ffff;--beat-text: #000000;--wire-episode: #00ffff;--wire-scene: #00ff00;--wire-moment: #ffff00;--wire-connection: rgba(255, 255, 255, .8);--wire-connection-delete: #ff0000;--wire-connection-preview: rgba(0, 255, 255, .8);--wire-connection-preview-stroke: #00ffff;--tree-control-flow: #00ffff;--tree-mode-feature: #ffff00}html,body,#root{height:100%;margin:0;padding:0}body{font-family:Courier Prime,Courier New,monospace;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.5}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);font-family:inherit;font-size:inherit;padding:6px 10px}select option{background:var(--bg-secondary);color:var(--text-primary)}#root{display:flex;flex-direction:column}.app{display:flex;flex-direction:column;height:100vh}.toolbar{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-secondary);border-bottom:none;flex-wrap:nowrap;overflow:visible}.toolbar-title{font-size:14px;font-weight:700;color:var(--text-secondary);margin-right:16px}.toolbar-filename-wrapper{flex:1;min-width:0;display:flex;align-items:center}.toolbar-filename{font-size:14px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-filename.unsaved:after{content:" •";color:var(--accent)}.toolbar-filename:hover{cursor:pointer;color:var(--accent)}.toolbar-filename.readonly{cursor:default}.toolbar-filename.readonly:hover{color:var(--text-primary)}.toolbar-filename-input{font-size:14px;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--accent);border-radius:4px;padding:4px 8px;font-family:inherit;flex:1;min-width:0}.toolbar-filename-input:focus{outline:none;box-shadow:0 0 0 2px #4a9eff4d}.mode-switcher{display:flex;gap:2px;background:var(--bg-tertiary);border-radius:6px;padding:3px;margin-left:8px;flex-shrink:0}.mode-btn{padding:6px 14px;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s ease}.mode-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.mode-btn.active{background:var(--accent);color:#fff;box-shadow:0 1px 3px #0003}.toolbar-separator{width:1px;height:24px;background:var(--border);margin:0 8px}.toolbar-filename-input.unsaved{border-color:var(--accent)}.toolbar button{padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:12px}.toolbar button:hover:not(:disabled){background:var(--border)}.toolbar button:disabled{opacity:.4;cursor:not-allowed}.toolbar button.toolbar-btn{font-size:20px;min-width:36px;min-height:36px;padding:6px 10px;border-radius:6px;transition:background .15s ease,color .15s ease,border-color .15s ease;flex-shrink:0}.toolbar button.toolbar-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.save-btn{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;font-weight:500;flex-shrink:0}.save-btn:hover:not(:disabled){background:var(--accent-hover)!important;border-color:var(--accent-hover)!important}@media(max-width:1000px){.toolbar-separator{display:none}.mode-btn{padding:6px 8px}}.toolbar-dropdown{position:relative;display:inline-block}.toolbar-dropdown-menu{position:absolute;top:100%;left:0;margin-top:4px;min-width:220px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #0000004d;z-index:1000;padding:4px 0}.toolbar-dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;background:none;border:none;border-radius:0;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:12px;text-align:left;white-space:nowrap}.toolbar-dropdown-item:hover{background:var(--bg-tertiary)}.toolbar-dropdown-item.danger{color:#ef4444}.toolbar-dropdown-item.danger:hover{background:#ef44441a}.toolbar-dropdown-item .shortcut{color:var(--text-secondary);font-size:11px;margin-left:16px}.toolbar-dropdown-divider{height:1px;background:var(--border);margin:4px 0}.toolbar-dropdown.export-ready>button{color:#22c55e}.toolbar-dropdown.export-blocked>button{color:#ef4444}.save-confirmation-toast{position:fixed;top:60px;left:50%;transform:translate(-50%);background:#2d5a3d;color:#fff;padding:12px 16px;border-radius:8px;display:flex;flex-direction:column;gap:6px;z-index:1000;animation:slideDown .3s ease;box-shadow:0 4px 12px #0000004d;min-width:260px;max-width:420px}.save-confirmation-header{display:flex;align-items:center;gap:8px}.save-confirmation-icon{font-size:18px;color:#7dff9a}.save-confirmation-message{font-weight:500}.save-confirmation-storage{opacity:.85;font-size:11px;padding-left:26px}.save-confirmation-files{border-top:1px solid rgba(255,255,255,.15);padding-top:6px;margin-top:2px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px}.save-confirmation-file{display:flex;justify-content:space-between;gap:16px;opacity:.8;line-height:1.5}.save-confirmation-chars{opacity:.7;white-space:nowrap}.save-confirmation-details{opacity:.8;font-size:12px}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.main-content{display:flex;flex:1;overflow:hidden}.status-bar{position:relative;display:flex;align-items:center;justify-content:space-between;padding:4px 16px;background:var(--bg-secondary);border-top:none;font-size:var(--ui-font-size);color:var(--text-secondary)}.status-left{display:flex;gap:16px}.status-center{display:flex;align-items:center;gap:12px}.status-right{display:flex;gap:16px}.element-indicator{padding:2px 8px;background:var(--bg-tertiary);border-radius:3px;text-transform:uppercase;font-size:var(--ui-font-size-sm);letter-spacing:.5px}.lint-status{display:flex;gap:8px;cursor:pointer;padding:2px 6px;border-radius:3px;transition:background .15s}.lint-status:not(:empty){background:var(--bg-tertiary);border-radius:4px;padding:2px 8px}.lint-status:hover{background:var(--bg-secondary)}.lint-status-item{display:flex;align-items:center;gap:3px;font-weight:500}.lint-status-item.error{color:var(--markup);background:#ef444426;border-radius:3px;padding:1px 4px}.lint-status-item.warning{color:#ffc107}.lint-status-item.info{color:var(--accent)}.lint-status-linting{font-style:italic;color:var(--text-secondary);animation:lint-pulse 1.5s ease-in-out infinite}@keyframes lint-pulse{0%,to{opacity:.5}50%{opacity:1}}.loading-dots:after{content:"";animation:dots 1.5s steps(4,end) infinite}@keyframes dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::selection{background:color-mix(in srgb,var(--accent) 40%,transparent)}.left-panel{width:280px;min-width:200px;max-width:500px;display:flex;flex-direction:column;background:var(--bg-secondary);border-right:none}.resize-handle{width:6px;cursor:col-resize;background:transparent;transition:background .15s ease;flex:0 0 6px;position:relative;z-index:3}.resize-handle:after{content:"";position:absolute;top:50%;left:50%;width:2px;height:2px;border-radius:50%;background:var(--text-secondary);opacity:0;transform:translate(-50%,-50%);box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor;transition:opacity .15s ease}.resize-handle:hover{background:transparent}.resize-handle:hover:after{opacity:0}.resize-handle:active{background:transparent}.resize-handle-left,.resize-handle-right{margin-left:-3px;margin-right:-3px}.left-panel-tabs{position:relative;border-bottom:1px solid var(--border);background:var(--bg-tertiary);height:var(--panel-header-height)}.left-panel-tabs-row{display:flex;overflow:hidden}.left-panel-tabs button{flex:none;white-space:nowrap;padding:10px 8px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:var(--ui-font-size);transition:all .15s ease}.left-panel-tabs button:hover{color:var(--text-primary);background:var(--bg-secondary)}.left-panel-tabs button.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--bg-secondary)}.left-panel-tabs button:disabled{opacity:.35;cursor:not-allowed}.left-panel-tabs button:disabled:hover{color:var(--text-secondary);background:none}.left-panel-tabs-overflow{flex:none;width:32px;padding:10px 0;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:var(--ui-font-size);transition:all .15s ease;margin-left:auto}.left-panel-tabs-overflow:hover{color:var(--text-primary);background:var(--bg-secondary)}.left-panel-tabs-overflow.has-active{color:var(--accent);border-bottom-color:var(--accent)}.left-panel-tabs-dropdown{position:absolute;top:100%;right:0;z-index:100;background:var(--bg-tertiary);border:1px solid var(--border);border-top:none;box-shadow:0 4px 12px #00000026;min-width:120px}.left-panel-tabs-dropdown button{display:block;width:100%;padding:8px 12px;background:none;border:none;border-bottom:none;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:var(--ui-font-size);text-align:left;transition:all .15s ease}.left-panel-tabs-dropdown button:hover{color:var(--text-primary);background:var(--bg-secondary)}.left-panel-tabs-dropdown button.active{color:var(--accent)}.left-panel-tabs-dropdown button:disabled{opacity:.35;cursor:not-allowed}.left-panel-tabs-dropdown button:disabled:hover{color:var(--text-secondary);background:none}.left-panel-content{flex:1;overflow-y:auto}.outline-navigator{padding:12px;display:flex;flex-direction:column;height:100%;min-height:0}.outline-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.outline-header h4{margin:0;font-size:var(--ui-font-size-md);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.outline-title{font-size:var(--ui-font-size);color:var(--text-primary);font-weight:700}.outline-tree{display:flex;flex-direction:column;gap:4px}.outline-empty{color:var(--text-secondary);font-size:var(--ui-font-size);text-align:center;padding:16px}.outline-project-title{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:4px;cursor:pointer;font-size:var(--ui-font-size-lg);font-weight:700;color:var(--text-primary);background:var(--bg-tertiary);transition:background .15s ease}.outline-project-title:hover{background:var(--bg-secondary)}.outline-episode{margin-bottom:8px}.outline-episode-title{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:4px;cursor:pointer;font-size:var(--ui-font-size-lg);font-weight:700;color:var(--accent);background:var(--bg-tertiary);transition:background .15s ease;border-left:3px solid var(--accent)}.outline-episode-title:hover{background:var(--bg-secondary)}.outline-episode-title.active{background:var(--bg-secondary);border-left:3px solid var(--accent)}.collapse-icon{font-size:var(--ui-font-size-sm);color:var(--text-secondary);width:14px;text-align:center;transition:transform .15s ease;-webkit-user-select:none;user-select:none}.collapse-icon:hover{color:var(--text-primary)}.outline-scene{margin-bottom:4px;margin-left:8px}.outline-scene-title{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:var(--ui-font-size-md);font-weight:700;color:var(--text-primary);transition:background .15s ease}.outline-scene-title:hover{background:var(--bg-tertiary)}.outline-scene-title.active{background:var(--bg-tertiary);border-left:2px solid var(--accent)}.outline-scene-header{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:var(--ui-font-size-md);transition:background .15s ease}.outline-scene-header:hover{background:var(--bg-tertiary)}.outline-scene-header.current{background:var(--bg-tertiary);border-left:2px solid var(--accent)}.outline-expand{font-size:var(--ui-font-size-sm);color:var(--text-secondary);width:12px}.outline-scene-name{flex:1;color:var(--text-primary);font-weight:700}.outline-moment-count{font-size:var(--ui-font-size-sm);color:var(--text-secondary);background:var(--bg-primary);padding:1px 5px;border-radius:3px}.outline-moments{margin-left:18px;display:flex;flex-direction:column;gap:2px}.outline-moment{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:var(--ui-font-size);color:var(--text-secondary);transition:background .15s ease}.outline-moment:hover{background:var(--bg-tertiary)}.outline-moment.current{background:var(--bg-tertiary);border-left:2px solid var(--moment)}.outline-moment.selected{background:var(--accent);color:#fff}.outline-moment-delete{opacity:0;margin-left:auto;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;line-height:1;padding:2px 4px;border-radius:3px;transition:opacity .15s ease,background .15s ease,color .15s ease}.outline-moment:hover .outline-moment-delete{opacity:1}.outline-moment-delete:hover{background:var(--danger, #dc3545);color:#fff}.outline-moment.selected .moment-name,.outline-moment.selected .moment-line{color:#fff}.outline-delete-selected{background:var(--danger, #dc3545);color:#fff;border:none;padding:2px 8px;border-radius:4px;font-size:var(--ui-font-size-sm);cursor:pointer;transition:background .15s ease}.outline-delete-selected:hover{background:color-mix(in srgb,var(--danger, #dc3545) 80%,black)}.outline-header-actions{display:flex;align-items:center;gap:6px}.outline-display-toggle{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border);padding:2px 8px;border-radius:4px;font-size:var(--ui-font-size-sm);cursor:pointer;transition:all .15s ease;min-width:40px;text-align:center}.outline-display-toggle:hover{border-color:var(--accent);color:var(--text-primary)}.outline-display-toggle.friendly{background:var(--accent);color:#fff;border-color:var(--accent)}.outline-scene-title.current-scene{background:color-mix(in srgb,var(--accent) 20%,transparent);border-left:2px solid var(--accent);padding-left:6px}.outline-selection-hint{padding:6px 12px;font-size:var(--ui-font-size-sm);color:var(--text-secondary);background:var(--bg-secondary);border-top:1px solid var(--border);text-align:center}.outline-moment-name{color:var(--moment);font-weight:500}.outline-moment-meta{display:flex;gap:8px;margin-top:2px}.outline-badge{font-size:var(--ui-font-size-xs);padding:2px 4px;border-radius:3px;background:var(--bg-primary)}.outline-badge.choices{color:var(--choice)}.outline-characters{font-size:var(--ui-font-size-xs);color:var(--character)}.outline-stats{display:flex;gap:12px;padding:8px;margin-top:12px;font-size:var(--ui-font-size-sm);color:var(--text-secondary);border-top:1px solid var(--border)}.outline-search-bar{display:flex;align-items:center;margin-bottom:8px;position:relative}.outline-scene-warning-icon{margin-left:auto;width:16px;height:16px;border-radius:50%;border:1px solid color-mix(in srgb,var(--danger, #dc3545) 65%,var(--border));color:var(--danger, #dc3545);background:color-mix(in srgb,var(--danger, #dc3545) 10%,transparent);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;line-height:1;flex-shrink:0;cursor:pointer;padding:0}.outline-scene-warning-icon:hover{background:color-mix(in srgb,var(--danger, #dc3545) 20%,transparent)}.outline-search-input{width:100%;padding:6px 28px 6px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-size:var(--ui-font-size);outline:none;transition:border-color .15s ease}.outline-search-input:focus{border-color:var(--accent)}.outline-search-input::placeholder{color:var(--text-secondary)}.outline-search-clear{position:absolute;right:4px;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;line-height:1;padding:2px 4px}.outline-search-clear:hover{color:var(--text-primary)}.outline-search-results{flex:1;overflow-y:auto;min-height:0}.outline-search-status{padding:12px;font-size:var(--ui-font-size);color:var(--text-secondary);text-align:center}.outline-search-result{padding:6px 8px;border-radius:4px;cursor:pointer;transition:background .15s ease}.outline-search-result:hover{background:var(--bg-tertiary)}.outline-search-result-header{display:flex;gap:6px;align-items:center;margin-bottom:2px}.outline-search-result-ep{font-size:var(--ui-font-size-sm);font-weight:700;color:var(--accent)}.outline-search-result-file{font-size:var(--ui-font-size-sm);color:var(--text-secondary)}.outline-search-result-snippet{font-size:var(--ui-font-size);color:var(--text-primary);line-height:1.4;word-break:break-word}.outline-search-result-snippet mark{background:color-mix(in srgb,var(--accent) 30%,transparent);color:var(--text-primary);border-radius:2px;padding:0 1px}.outline-datascripts-header{padding:4px 8px;border-top:1px solid var(--border);margin-top:8px;color:var(--text-secondary);font-size:.85em;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;display:flex;align-items:center;gap:4px}.outline-datascripts-header:hover{color:var(--text-primary)}.outline-datascript-group{padding:2px 8px 2px 16px;cursor:pointer;display:flex;align-items:center;gap:4px;font-size:.85em;color:var(--text-primary)}.outline-datascript-group:hover{background:var(--bg-tertiary)}.outline-datascript-group-count{color:var(--text-secondary);font-size:.8em;margin-left:4px}.outline-datascript-item{padding:2px 8px 2px 28px;cursor:pointer;color:var(--text-primary);font-size:.82em;display:flex;align-items:center;gap:4px}.outline-datascript-item:hover{background:var(--bg-tertiary)}.outline-datascript-item.active{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent)}.outline-datascript-ep-badge{color:var(--text-secondary);font-size:.75em;margin-left:auto}.outline-add-btn{opacity:0;width:18px;height:18px;border:none;background:none;color:var(--text-secondary);cursor:pointer;font-size:1em;padding:0;margin-left:auto;display:flex;align-items:center;justify-content:center;flex-shrink:0}.outline-project-title:hover .outline-add-btn,.outline-episode-title:hover .outline-add-btn,.outline-datascripts-header:hover .outline-add-btn,.outline-datascript-group:hover .outline-add-btn{opacity:1}.outline-add-btn:hover{color:var(--accent)}.branch-tools{padding:12px}.pinned-buttons-section{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.pinned-btn{flex:1 1 auto;padding:10px 12px;background:var(--accent);border:1px solid var(--accent);border-radius:4px;color:#fff;font-weight:600;font-size:var(--ui-font-size-lg);font-family:inherit;cursor:pointer;letter-spacing:.5px;min-width:0}.pinned-btn.single{width:100%;margin-bottom:6px}.pinned-btn:hover{background:color-mix(in srgb,var(--accent) 85%,white);border-color:color-mix(in srgb,var(--accent) 85%,white)}.pinned-hint{font-size:var(--ui-font-size-sm);color:var(--text-muted);text-align:center;margin-bottom:8px;opacity:.6}.branch-tools-actions button.is-pinned{position:relative;box-shadow:inset 0 0 0 1px var(--accent)}.branch-tools-actions button.is-pinned:after{content:" 📌";font-size:8px}.branch-category{margin-bottom:4px;border-radius:4px;transition:opacity .15s ease,border-color .15s ease}.branch-category:first-child .branch-category-header{margin-top:0}.branch-category.dragging{opacity:.5}.branch-category.drag-over{border-top:2px solid var(--accent);margin-top:-2px}.branch-category-header{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 4px;border-radius:4px;margin-top:8px;transition:background .15s ease}.branch-category-header:hover{background:var(--bg-tertiary)}.branch-category-label{font-size:var(--ui-font-size);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.drag-handle{cursor:grab;opacity:.4;padding:0 2px;font-size:var(--ui-font-size-sm);color:var(--text-secondary);letter-spacing:-2px}.drag-handle:hover{opacity:1}.drag-handle:active{cursor:grabbing}.branch-tools-header{font-size:var(--ui-font-size);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;margin-top:12px}.branch-tools-header:first-child{margin-top:0}.branch-tools-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.branch-tools-actions button{padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:var(--ui-font-size);transition:all .15s ease}.branch-tools-actions button:hover{background:var(--accent);border-color:var(--accent);color:#fff}.branch-tools-actions.line-types{display:grid;grid-template-columns:1fr 1fr;gap:6px}.branch-tools-actions.line-types .line-type-btn{font-size:var(--ui-font-size-sm);padding:8px 6px;text-align:center}.branch-tools-actions.conditionals{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.branch-tools-actions.conditionals button{font-size:var(--ui-font-size-sm);padding:8px 6px;text-align:center}.branch-tools-actions.structure{display:grid;grid-template-columns:1fr 1fr;gap:6px}.branch-tools-actions.structure button{font-size:var(--ui-font-size-sm);padding:8px 6px;text-align:center}.branch-tools-actions.game-state{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.branch-tools-actions.game-state button{font-size:var(--ui-font-size-sm);padding:8px 6px;text-align:center}.branch-tools-actions.interactive{display:grid;grid-template-columns:1fr 1fr;gap:6px}.branch-tools-actions.interactive button{font-size:var(--ui-font-size-sm);padding:8px 6px;text-align:center}.branch-tools-actions.display{display:grid;grid-template-columns:1fr 1fr;gap:6px}.branch-tools-actions.display button{font-size:var(--ui-font-size-sm);padding:8px 6px;text-align:center}.branch-tools-actions.media{display:flex;gap:6px}.branch-tools-actions.media button{font-size:var(--ui-font-size-sm);padding:8px 12px}.branch-tools-hint{font-size:var(--ui-font-size-sm);color:var(--text-secondary);margin-bottom:12px;line-height:1.4}.branch-tools-header h4{margin:0;font-size:var(--ui-font-size-md);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.branch-current-moment{font-size:var(--ui-font-size);color:var(--moment);font-weight:700}.branch-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.branch-actions button{padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:var(--ui-font-size);transition:all .15s ease}.branch-actions button:hover{background:var(--accent);border-color:var(--accent);color:#fff}.branch-tree{margin-bottom:16px}.branch-moment-header{font-size:var(--ui-font-size);color:var(--text-secondary);margin-bottom:8px}.branch-empty{color:var(--text-secondary);font-size:var(--ui-font-size);text-align:center;padding:16px}.branch-choices-list{display:flex;flex-direction:column;gap:6px}.branch-choice-item{display:flex;align-items:flex-start;gap:8px;padding:8px;background:var(--bg-tertiary);border-radius:4px;font-size:var(--ui-font-size)}.branch-choice-item .branch-letter{color:var(--choice);font-weight:700;min-width:16px}.branch-choice-item .branch-label{color:var(--text-primary);flex:1}.branch-choice-item .branch-spoken{color:var(--choice-spoken);font-size:var(--ui-font-size-sm);font-style:italic}.branch-full-tree{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.branch-section-header{font-size:var(--ui-font-size-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.branch-node{margin-bottom:4px}.branch-node-header{display:flex;align-items:center;gap:6px;padding:4px;border-radius:3px;font-size:var(--ui-font-size)}.branch-node-header:hover{background:var(--bg-tertiary)}.branch-fold-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:0;font-size:var(--ui-font-size-sm);width:14px}.branch-node-header .branch-letter{color:var(--choice);font-weight:700;min-width:14px}.branch-node-header .branch-letter.no-letter{color:var(--text-secondary)}.branch-node-header .branch-label{color:var(--text-primary);flex:1}.branch-node-header .branch-spoken{color:var(--text-secondary);font-size:var(--ui-font-size-sm);font-style:italic;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-children{margin-left:8px;border-left:1px solid var(--border);padding-left:8px}.branch-stats{display:flex;gap:12px;padding:8px;margin-top:12px;font-size:var(--ui-font-size-sm);color:var(--text-secondary);border-top:1px solid var(--border)}.version-panel{padding:12px}.version-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.version-header h4{margin:0;font-size:var(--ui-font-size-md);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.version-status select{padding:4px 28px 4px 8px;background-color:var(--bg-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a0a0a0' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px;border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:var(--ui-font-size-sm);cursor:pointer}.version-actions{display:flex;gap:6px;margin-bottom:12px}.version-btn{flex:1;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:var(--ui-font-size);transition:all .15s ease}.version-btn:hover{background:var(--border)}.version-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.version-btn.primary:hover{background:var(--accent-hover)}.version-create{display:flex;gap:6px;margin-bottom:12px}.version-create input{flex:1;padding:8px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:var(--ui-font-size)}.version-create input:focus{outline:none;border-color:var(--accent)}.version-create button{padding:8px 12px;background:var(--accent);border:none;border-radius:4px;color:#fff;cursor:pointer;font-family:inherit;font-size:var(--ui-font-size)}.version-create button:disabled{opacity:.5;cursor:not-allowed}.version-list{display:flex;flex-direction:column;gap:8px}.version-empty{color:var(--text-secondary);font-size:var(--ui-font-size);text-align:center;padding:16px}.version-item{padding:10px;background:var(--bg-tertiary);border-radius:6px;border:1px solid transparent}.version-item.current{border-color:var(--accent)}.version-item.diffing{border-color:var(--moment)}.version-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.version-name{font-size:var(--ui-font-size-md);color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.version-badge{font-size:var(--ui-font-size-xs);padding:2px 6px;border-radius:3px;background:var(--accent);color:#fff}.version-time{font-size:var(--ui-font-size-sm);color:var(--text-secondary)}.version-meta{font-size:var(--ui-font-size-sm);color:var(--text-secondary);margin-bottom:6px}.version-item-actions{display:flex;gap:4px}.version-item-actions button{padding:4px 8px;background:var(--bg-primary);border:1px solid var(--border);border-radius:3px;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:var(--ui-font-size-sm);transition:all .15s ease}.version-item-actions button:hover{background:var(--border);color:var(--text-primary)}.version-item-actions button.active{background:var(--moment);border-color:var(--moment);color:#fff}.version-item-actions button.danger:hover{background:var(--markup);border-color:var(--markup);color:#fff}.version-diff{margin-top:12px;border:1px solid var(--border);border-radius:6px;overflow:hidden}.version-diff-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border);font-size:var(--ui-font-size);color:var(--text-secondary)}.version-diff-header strong{color:var(--text-primary)}.version-diff-header button{padding:4px 8px;background:var(--bg-primary);border:1px solid var(--border);border-radius:3px;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:var(--ui-font-size-sm)}.version-diff-content{max-height:300px;overflow-y:auto;font-family:Courier Prime,monospace;font-size:var(--ui-font-size)}.diff-line{display:flex;padding:2px 8px;white-space:pre}.diff-line.diff-same{background:transparent;color:var(--text-secondary)}.diff-line.diff-add{background:#27ae6026;color:#27ae60}.diff-line.diff-remove{background:#e74c3c26;color:#e74c3c}.diff-symbol{width:16px;text-align:center;font-weight:700}.diff-text{flex:1;overflow:hidden;text-overflow:ellipsis}.version-diff-stats{display:flex;gap:16px;padding:8px 12px;background:var(--bg-tertiary);border-top:1px solid var(--border);font-size:var(--ui-font-size-sm)}.diff-stat.add{color:#27ae60}.diff-stat.remove{color:#e74c3c}.version-section{margin-bottom:16px}.version-section-header{display:flex;align-items:center;gap:6px;font-size:var(--ui-font-size);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;padding:4px 0}.version-section-header.collapsible{cursor:pointer;-webkit-user-select:none;user-select:none}.version-section-header.collapsible:hover{color:var(--text-primary)}.version-section-header .collapse-icon{font-size:var(--ui-font-size-sm);width:12px}.auto-history-section{border-top:1px solid var(--border);padding-top:12px}.auto-version-item{background:var(--bg-secondary)}.auto-version-item .version-name{color:var(--accent)}.auto-trigger-label{font-size:var(--ui-font-size);font-weight:500}.version-age{font-size:var(--ui-font-size-sm);color:var(--text-secondary);font-style:italic}.version-item.active{border-color:var(--accent);background:var(--bg-secondary)}.version-actions button{padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:var(--ui-font-size-sm);transition:all .15s ease}.version-actions button:hover:not(:disabled){background:var(--border)}.version-actions button:disabled{opacity:.5;cursor:not-allowed}.version-actions button.danger-btn{color:#e74c3c}.version-actions button.danger-btn:hover:not(:disabled){background:#e74c3c26}.restore-warning{background:#e74c3c26;border:1px solid rgba(231,76,60,.3);border-radius:4px;padding:8px 10px;margin-bottom:8px;font-size:var(--ui-font-size);color:#e74c3c}.diff-header{padding:8px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border);font-size:var(--ui-font-size);color:var(--text-secondary)}.diff-table{max-height:200px;overflow-y:auto;font-family:Courier Prime,monospace;font-size:10px}.diff-row{display:flex;padding:1px 8px;white-space:pre}.diff-row .diff-line{width:30px;text-align:right;padding-right:8px;color:var(--text-secondary)}.diff-row .diff-tag{width:16px;text-align:center;font-weight:700}.diff-row .diff-left,.diff-row .diff-right{flex:1;overflow:hidden;text-overflow:ellipsis}.diff-row.diff-removed{background:#e74c3c26;color:#e74c3c}.diff-row.diff-added{background:#27ae6026;color:#27ae60}.diff-row.diff-changed{background:#f1c40f26;color:#f1c40f}.diff-row.diff-same{color:var(--text-secondary)}.version-panel .snapshot-name-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.version-panel .snapshot-name-dialog{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:16px;min-width:300px}.version-panel .snapshot-name-dialog h3{margin:0 0 12px;font-size:14px;color:var(--text-primary)}.version-panel .snapshot-name-dialog input{width:100%;padding:8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:13px;margin-bottom:12px}.version-panel .snapshot-name-dialog-buttons{display:flex;gap:8px;justify-content:flex-end}.history-panel{padding:12px;display:flex;flex-direction:column;height:100%}.history-header{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;margin-bottom:12px;color:var(--text-primary)}.history-count{font-size:11px;font-weight:400;color:var(--text-secondary)}.history-empty{color:var(--text-secondary);font-size:12px;text-align:center;padding:24px 12px;background:var(--bg-tertiary);border-radius:6px}.history-list{display:flex;flex-direction:column;gap:4px;flex:1;overflow-y:auto;margin-bottom:12px}.history-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg-tertiary);border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .15s ease}.history-item:hover:not(.current){background:var(--bg-secondary);border-color:var(--border)}.history-item.current{border-color:var(--accent);background:var(--bg-secondary);cursor:default}.history-item.redo{opacity:.5}.history-item.redo:hover{opacity:.7}.history-item-icon{font-size:14px;width:20px;text-align:center;color:var(--text-secondary)}.history-item.current .history-item-icon{color:var(--accent)}.history-item-content{flex:1;min-width:0}.history-item-label{font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item-time{font-size:10px;color:var(--text-secondary);margin-top:2px}.history-item-indicator{font-size:9px;text-transform:uppercase;padding:2px 6px;border-radius:3px;background:var(--accent);color:#fff;font-weight:600}.history-item-indicator.redo{background:var(--border);color:var(--text-secondary)}.history-list-compact{gap:1px;margin-bottom:8px}.history-item-compact{display:flex;align-items:center;gap:6px;padding:3px 6px;font-size:11px;background:var(--bg-tertiary);border-radius:2px;cursor:pointer;transition:background .1s ease;min-height:20px}.history-item-compact:hover:not(.current){background:var(--bg-secondary)}.history-item-compact.current{background:var(--bg-secondary);border-left:2px solid var(--accent);cursor:default}.history-item-compact.redo{opacity:.4}.history-item-compact.redo:hover{opacity:.6}.history-compact-icon{font-size:10px;width:14px;text-align:center;color:var(--text-secondary);flex-shrink:0}.history-item-compact.current .history-compact-icon{color:var(--accent)}.history-compact-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.history-compact-time{color:var(--text-secondary);font-size:10px;flex-shrink:0}.history-compact-badge{color:var(--accent);font-size:8px;flex-shrink:0}.history-compact-badge.redo{color:var(--text-secondary)}.snapshot-camera-btn{padding:2px 6px;background:none;border:none;cursor:pointer;font-size:14px;opacity:.7;transition:opacity .15s ease;margin-left:auto}.snapshot-camera-btn:hover{opacity:1}.clear-history-btn{padding:0 6px;background:none;border:none;cursor:pointer;font-size:14px;color:var(--text-secondary);opacity:.5;transition:opacity .15s ease;margin-left:auto}.clear-history-btn:hover{opacity:1;color:var(--error)}.snapshot-actions-row{padding:4px 0}.snapshot-actions-row button{padding:3px 8px;font-size:11px}.manual-indicator{color:var(--accent)}.diff-header{display:flex;justify-content:space-between;align-items:center}.diff-merge-btn{padding:4px 10px;background:var(--accent);border:none;border-radius:3px;color:#fff;font-size:10px;cursor:pointer;transition:background .15s ease}.diff-merge-btn:hover{background:var(--accent-hover, #5faef0)}.merge-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000}.merge-modal{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;width:90%;max-width:1000px;height:80%;max-height:600px;display:flex;flex-direction:column;box-shadow:0 8px 32px #0006}.merge-modal-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.merge-modal-header h3{margin:0;font-size:16px;color:var(--text-primary)}.merge-modal-hint{font-size:11px;color:var(--text-secondary)}.merge-modal-body{flex:1;display:flex;gap:12px;padding:16px;min-height:0}.merge-pane{flex:1;display:flex;flex-direction:column;min-width:0}.merge-pane-header{padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-bottom:none;border-radius:4px 4px 0 0;font-size:11px;font-weight:600;color:var(--text-secondary)}.merge-textarea{flex:1;padding:12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:0 0 4px 4px;color:var(--text-primary);font-family:Courier Prime,monospace;font-size:12px;line-height:1.5;resize:none;min-height:0}.merge-textarea:focus{outline:none;border-color:var(--accent)}.merge-textarea.merge-readonly{background:var(--bg-tertiary);color:var(--text-secondary);cursor:default}.merge-modal-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end}.merge-modal-footer .cancel-btn{padding:8px 16px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease}.merge-modal-footer .cancel-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.merge-modal-footer .save-btn{padding:8px 16px;background:var(--accent);border:none;border-radius:4px;color:#fff;font-size:12px;cursor:pointer;transition:background .15s ease}.merge-modal-footer .save-btn:hover{background:var(--accent-hover, #5faef0)}.history-actions{padding-top:8px;border-top:1px solid var(--border)}.history-clear-btn{width:100%;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:11px;transition:all .15s ease}.history-clear-btn:hover{background:#e74c3c26;border-color:#e74c3c4d;color:#e74c3c}.codex-panel{display:flex;flex-direction:column;height:100%;padding:12px;overflow-y:auto}.codex-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.codex-header-actions{display:inline-flex;align-items:center;gap:8px}.codex-header h3{margin:0;font-size:14px;color:var(--text-primary);font-weight:600}.codex-add-btn{padding:6px 12px;background:var(--accent);border:none;border-radius:4px;color:#fff;cursor:pointer;font-family:inherit;font-size:11px;font-weight:500;transition:all .15s ease}.codex-add-btn:hover{background:var(--accent-hover)}.codex-ai-panel-btn{padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:11px;font-weight:500}.codex-ai-panel-btn:hover{border-color:var(--accent);color:var(--text-primary)}.codex-search{display:flex;gap:6px;margin-bottom:12px}.codex-search input{flex:1;padding:8px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:12px}.codex-search input:focus{outline:none;border-color:var(--accent)}.codex-search button{padding:0 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:14px}.codex-search button:hover{background:var(--bg-primary);color:var(--text-primary)}.codex-type-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.codex-type-tab{padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:11px;display:flex;align-items:center;gap:6px;transition:all .15s ease}.codex-type-tab:hover{background:var(--bg-primary);color:var(--text-primary)}.codex-type-tab.active{background:var(--type-color, var(--accent));border-color:var(--type-color, var(--accent));color:#fff}.codex-type-count{font-size:10px;padding:2px 5px;background:#0003;border-radius:3px}.codex-detected-banner{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:10px;margin-bottom:12px;font-size:11px}.codex-detected-banner>span{color:var(--text-secondary)}.codex-detected-banner>button{margin-left:8px;padding:4px 8px;background:var(--accent);border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:10px}.codex-detected-banner>button:hover{background:var(--accent-hover)}.codex-detected-banner details{margin-top:8px}.codex-detected-banner summary{cursor:pointer;color:var(--accent);font-size:11px}.codex-detected-list{margin-top:8px;display:flex;flex-direction:column;gap:4px}.codex-detected-item{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:var(--bg-primary);border-radius:3px}.codex-detected-item span{color:var(--character);font-weight:500}.codex-detected-item button{padding:2px 6px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:3px;color:var(--text-secondary);cursor:pointer;font-size:10px}.codex-detected-item button:hover{background:var(--accent);border-color:var(--accent);color:#fff}.codex-grid{display:flex;flex-direction:column;gap:8px}.codex-empty{text-align:center;padding:24px;color:var(--text-secondary);font-size:12px}.codex-card{background:var(--bg-tertiary);border:2px solid var(--border);border-left:4px solid var(--card-color, var(--border));border-radius:6px;padding:10px 12px;cursor:pointer;transition:all .15s ease}.codex-card:hover{background:var(--bg-secondary);border-color:var(--card-color)}.codex-card.selected{background:var(--bg-secondary);border-color:var(--card-color);box-shadow:0 0 0 2px rgba(var(--card-color),.3)}.codex-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.codex-card-header-actions{display:inline-flex;align-items:center;gap:6px}.codex-card-type{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--card-color)}.codex-card-ai-badge{border:1px solid transparent;font-size:9px;font-weight:600;padding:2px 5px;border-radius:3px;cursor:pointer}.codex-card-ai-badge.active{background:var(--accent);color:#fff}.codex-card-ai-badge.inactive{background:var(--bg-primary);color:var(--text-secondary);border-color:var(--border)}.codex-card-ai-badge:hover{border-color:var(--accent)}.codex-card-name{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.codex-card-aliases{font-size:10px;color:var(--text-secondary);font-style:italic;margin-bottom:4px}.codex-card-preview{font-size:11px;color:var(--text-secondary);line-height:1.4;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.codex-card-relationships{font-size:10px;color:var(--text-secondary);margin-top:4px;margin-bottom:6px}.codex-card-tags{display:flex;flex-wrap:wrap;gap:4px}.codex-tag{font-size:9px;padding:2px 6px;background:var(--bg-primary);border:1px solid var(--border);border-radius:3px;color:var(--text-secondary)}.codex-editor{display:flex;flex-direction:column;gap:16px}.codex-editor-header{display:flex;align-items:center;justify-content:space-between}.codex-editor-header-actions{display:inline-flex;align-items:center;gap:6px}.codex-editor-back{padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:11px;transition:all .15s ease}.codex-editor-back:hover{background:var(--bg-primary);color:var(--text-primary)}.codex-editor-save{padding:6px 12px;background:var(--accent);border:none;border-radius:4px;color:#fff;cursor:pointer;font-family:inherit;font-size:11px;font-weight:500;transition:all .15s ease}.codex-editor-save:hover{background:var(--accent-hover)}.codex-editor-ai-btn{padding:6px 8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:11px}.codex-editor-ai-btn:hover{border-color:var(--accent);color:var(--text-primary)}.codex-editor-ai-btn:disabled{opacity:.6;cursor:default}.codex-editor-field{display:flex;flex-direction:column;gap:6px}.codex-editor-field label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.codex-editor-input,.codex-editor-select{padding:10px;background-color:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:13px}.codex-editor-select{padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a0a0a0' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px;cursor:pointer}.codex-editor-input:focus,.codex-editor-select:focus{outline:none;border-color:var(--accent)}.codex-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.codex-chip{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;font-size:11px;color:var(--text-primary)}.codex-chip.tag{background:var(--bg-primary);color:var(--text-secondary)}.codex-chip.relationship{background:#7ed32126;border-color:#7ed32159}.codex-chip button{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:0;line-height:1}.codex-chip button:hover{color:var(--markup)}.codex-chip-input{display:flex;gap:6px}.codex-chip-input input{flex:1;padding:6px 8px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:11px}.codex-chip-input input:focus{outline:none;border-color:var(--accent)}.codex-chip-input button{padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:11px}.codex-chip-input button:hover{background:var(--accent);border-color:var(--accent);color:#fff}.codex-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px!important;color:var(--text-primary)!important;text-transform:none!important;letter-spacing:normal!important;font-weight:400!important}.codex-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.codex-editor-actions{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.codex-ai-error{margin-bottom:10px;font-size:11px;color:#ff5c7a}.codex-delete-btn{padding:8px 12px;background:transparent;border:1px solid var(--markup);border-radius:4px;color:var(--markup);cursor:pointer;font-family:inherit;font-size:11px;transition:all .15s ease}.codex-delete-btn:hover{background:var(--markup);color:#fff}.codex-delete-confirm{display:flex;align-items:center;gap:10px;padding:10px;background:#ff6b6b1a;border:1px solid var(--markup);border-radius:4px}.codex-delete-confirm span{flex:1;font-size:12px;color:var(--markup)}.codex-delete-confirm button{padding:6px 10px;border-radius:4px;cursor:pointer;font-family:inherit;font-size:11px}.codex-delete-confirm button:first-of-type{background:var(--markup);border:none;color:#fff}.codex-delete-confirm button:first-of-type:hover{opacity:.9}.codex-delete-confirm button:last-of-type{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary)}.codex-delete-confirm button:last-of-type:hover{background:var(--bg-primary)}.codex-new-form{display:flex;gap:8px;padding:12px;background:var(--bg-tertiary);border:1px solid var(--accent);border-radius:6px;margin-bottom:12px}.codex-new-form input{flex:1;padding:8px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:12px}.codex-new-form input:focus{outline:none;border-color:var(--accent)}.codex-new-form select{padding:8px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:12px;cursor:pointer}.codex-new-form select:focus{outline:none;border-color:var(--accent)}.codex-new-form button{padding:8px 12px;border-radius:4px;cursor:pointer;font-family:inherit;font-size:12px}.codex-new-form button[type=submit]{background:var(--accent);border:none;color:#fff}.codex-new-form button[type=submit]:hover{background:var(--accent-hover)}.codex-new-form button[type=button]{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary)}.codex-new-form button[type=button]:hover{background:var(--bg-primary);color:var(--text-primary)}.codex-ai-scan-panel{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:10px;margin-bottom:12px}.codex-ai-scan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.codex-ai-scan-header button{background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:10px;padding:2px 8px;cursor:pointer}.codex-ai-scan-subtitle{color:var(--text-secondary);font-size:11px}.codex-ai-scan-controls{margin-top:8px;display:flex;flex-direction:column;gap:8px}.codex-ai-scan-row{display:flex;justify-content:space-between;gap:8px;font-size:11px}.codex-ai-scan-row label{color:var(--text-secondary)}.codex-ai-scan-moments{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px 8px}.codex-ai-scan-check{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:11px}.codex-ai-scan-type-row{display:flex;gap:12px;flex-wrap:wrap}.codex-ai-results{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:10px;margin-bottom:12px}.codex-ai-results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.codex-ai-results-group{margin-top:8px}.codex-ai-results-title{font-size:11px;color:var(--text-secondary);margin-bottom:4px}.codex-ai-result-item{display:grid;grid-template-columns:20px 1fr;gap:8px;padding:8px;border:1px solid var(--border);border-radius:4px;margin-bottom:6px;background:var(--bg-primary);font-size:11px}.codex-ai-result-item-wide{grid-template-columns:1fr auto;align-items:start}.codex-ai-add-btn{align-self:start}.codex-ai-result-head{font-weight:600;color:var(--text-primary);margin-bottom:2px}.codex-ai-warning{margin-left:8px;font-weight:400;color:#f5a623}.codex-card.character{--card-color: #8a7cff}.codex-card.location{--card-color: #4A90E2}.codex-card.item{--card-color: #F5A623}.codex-card.lore{--card-color: #7ED321}.codex-card.puzzle{--card-color: #BD10E0}.codex-panel:not(.expanded) .codex-card{padding:6px 10px}.codex-panel:not(.expanded) .codex-card-preview{-webkit-line-clamp:1}.codex-panel:not(.expanded) .codex-card-aliases{display:none}.codex-panel.expanded{max-width:100%;padding:0}.codex-main-tabs{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.codex-main-tab{padding:10px 20px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s ease}.codex-main-tab:hover{color:var(--text-primary)}.codex-main-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.codex-main-tabs .codex-add-btn{margin-left:auto}.codex-tab-content{padding:20px;overflow-y:auto;flex:1}.codex-grid.expanded{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.codex-card.expanded{min-height:140px}.codex-card.expanded .codex-card-preview{-webkit-line-clamp:4}.codex-summaries{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:16px}.codex-summary-card{background:var(--bg-tertiary);border:1px solid var(--border);border-left:4px solid #F5A623;border-radius:6px;padding:16px;transition:all .15s ease}.codex-summary-card:hover{border-color:#f5a623;box-shadow:0 2px 8px #0003}.codex-summary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.codex-summary-name{font-size:14px;font-weight:600;color:var(--text-primary)}.codex-summary-line{font-size:11px;color:var(--text-secondary);background:var(--bg-primary);padding:3px 8px;border-radius:3px}.codex-summary-preview{font-size:12px;color:var(--text-secondary);line-height:1.5}.codex-summary-line-text{padding:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.codex-summary-more{color:var(--accent);font-size:11px;margin-top:8px}.codex-snippets{display:flex;flex-direction:column;gap:16px}.codex-snippets-header{display:flex;justify-content:flex-start}.codex-snippets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.snippet-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:16px;cursor:pointer;transition:all .15s ease}.snippet-card:hover{border-color:var(--accent);box-shadow:0 2px 8px #0003}.snippet-card.editing{cursor:default;border-color:var(--accent)}.snippet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.snippet-title{font-size:14px;font-weight:600;color:var(--text-primary)}.snippet-title-input{flex:1;padding:8px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:14px;font-weight:600;margin-bottom:12px}.snippet-title-input:focus{outline:none;border-color:var(--accent)}.snippet-delete-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:16px;padding:4px 8px;border-radius:3px;transition:all .15s ease}.snippet-delete-btn:hover{background:#e57373;color:#fff}.snippet-preview{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-bottom:10px}.snippet-meta{font-size:10px;color:var(--text-secondary);opacity:.7}.snippet-actions{display:flex;gap:8px;margin-top:12px;justify-content:flex-end}.snippet-save-btn{padding:8px 16px;background:var(--accent);border:none;border-radius:4px;color:#fff;cursor:pointer;font-family:inherit;font-size:12px;font-weight:500}.snippet-save-btn:hover{background:var(--accent-hover)}.snippet-cancel-btn{padding:8px 16px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:12px}.snippet-cancel-btn:hover{background:var(--bg-primary);color:var(--text-primary)}.codex-type-tab-add{font-weight:700;font-size:14px;min-width:28px;padding:4px 8px}.codex-type-manager{padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;margin:6px 0}.codex-type-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.codex-type-manager-close{background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;padding:2px 10px;font-size:12px}.codex-type-manager-list{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.codex-type-manager-item{display:flex;align-items:center;gap:6px;font-size:12px}.codex-type-manager-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.codex-type-manager-label{flex:1;color:var(--text-primary)}.codex-type-manager-count{color:var(--text-secondary);font-size:11px}.codex-type-manager-remove{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:0 4px;line-height:1}.codex-type-manager-remove:hover{color:#e74c3c}.codex-type-manager-add-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.codex-type-manager-input{flex:1;min-width:100px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:12px}.codex-type-manager-palette{display:flex;gap:3px;flex-wrap:wrap}.codex-type-manager-color{width:16px;height:16px;border-radius:3px;border:2px solid transparent;cursor:pointer;padding:0}.codex-type-manager-color.selected{border-color:var(--text-primary)}.codex-type-manager-add-btn{padding:4px 10px;border:1px solid var(--border);border-radius:4px;background:var(--accent);color:#fff;cursor:pointer;font-size:12px}.codex-type-manager-error{color:#e74c3c;font-size:11px;margin-top:4px}.storage-mode-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.storage-mode-modal{background:var(--bg-secondary);border-radius:8px;width:480px;max-width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #0006;border:1px solid var(--border)}.storage-mode-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--bg-tertiary)}.storage-mode-header h2{margin:0;font-size:18px;color:var(--text-primary);font-weight:600}.storage-mode-close{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1;transition:color .15s}.storage-mode-close:hover{color:var(--text-primary)}.storage-mode-body{padding:20px;overflow-y:auto;flex:1}.storage-mode-field{margin-bottom:20px}.storage-mode-field:last-child{margin-bottom:0}.storage-mode-field label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:8px;font-weight:500}.storage-mode-field input[type=text]{width:100%;padding:10px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:14px;transition:border-color .15s}.storage-mode-field input[type=text]:focus{outline:none;border-color:var(--accent)}.storage-mode-options{display:flex;flex-direction:column;gap:8px}.storage-mode-option{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:border-color .15s,background-color .15s}.storage-mode-option:hover:not(.disabled){border-color:var(--accent)}.storage-mode-option.disabled{opacity:.5;cursor:not-allowed}.storage-mode-option input[type=radio]{margin-top:2px;accent-color:var(--accent)}.storage-mode-option-content{display:flex;flex-direction:column;gap:4px}.storage-mode-option-title{font-size:14px;color:var(--text-primary);font-weight:500}.storage-mode-option-desc{font-size:12px;color:var(--text-secondary);line-height:1.4}.storage-mode-select{width:100%;padding:10px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:14px;cursor:pointer}.storage-mode-select:focus{outline:none;border-color:var(--accent)}.storage-mode-empty{color:var(--text-secondary);font-size:13px;font-style:italic;margin:0}.storage-mode-error{color:var(--markup);font-size:13px;margin-top:12px;padding:8px 12px;background:#ff6b6b1a;border-radius:4px}.storage-mode-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border);background:var(--bg-tertiary)}.storage-mode-btn{padding:8px 20px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s,opacity .15s}.storage-mode-btn.primary{background:var(--accent);border:none;color:#fff}.storage-mode-btn.primary:hover:not(:disabled){background:var(--accent-hover)}.storage-mode-btn.primary:disabled{opacity:.5;cursor:not-allowed}.storage-mode-btn.secondary{background:transparent;border:1px solid var(--border);color:var(--text-primary)}.storage-mode-btn.secondary:hover{background:var(--bg-primary)}.migration-preview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.migration-preview-modal{background:var(--bg-secondary);border-radius:8px;width:560px;max-width:90vw;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #0006;border:1px solid var(--border)}.migration-preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--bg-tertiary)}.migration-preview-header h2{margin:0;font-size:18px;color:var(--text-primary);font-weight:600}.migration-preview-close{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1;transition:color .15s;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.migration-preview-close:hover{color:var(--text-primary)}.migration-preview-body{padding:20px;overflow-y:auto;flex:1}.migration-preview-field{margin-bottom:20px}.migration-preview-field label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:8px;font-weight:500}.migration-preview-field input[type=text]{width:100%;padding:10px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:14px;transition:border-color .15s;box-sizing:border-box}.migration-preview-field input[type=text]:focus{outline:none;border-color:var(--accent)}.migration-preview-stats{display:flex;gap:24px;margin-bottom:20px;padding:16px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border)}.migration-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.migration-stat-value{font-size:24px;font-weight:600;color:var(--accent)}.migration-stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.migration-preview-warnings{margin-bottom:20px}.migration-warning{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:4px;font-size:13px;color:var(--text-primary);margin-bottom:8px}.migration-warning:last-child{margin-bottom:0}.migration-warning-icon{flex-shrink:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:#ffc1074d;border-radius:50%;font-size:11px;font-weight:700;color:#f59e0b}.migration-preview-structure{margin-bottom:20px}.migration-preview-structure label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:8px;font-weight:500}.migration-structure-tree{background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;padding:12px;max-height:200px;overflow-y:auto}.migration-tree-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;font-family:Fira Code,Monaco,monospace}.migration-tree-item.indent-1{padding-left:20px}.migration-tree-item.indent-2{padding-left:40px}.migration-tree-icon{font-size:11px;color:var(--text-secondary);width:16px;text-align:center;flex-shrink:0}.migration-tree-item.project .migration-tree-icon:before,.migration-tree-item.folder .migration-tree-icon:before{content:"📁"}.migration-tree-item.file .migration-tree-icon:before{content:"📄"}.migration-tree-item.project .migration-tree-icon,.migration-tree-item.folder .migration-tree-icon{color:var(--accent)}.migration-tree-item.file .migration-tree-icon{color:var(--text-secondary)}.migration-tree-name{color:var(--text-primary)}.migration-tree-meta{color:var(--text-secondary);font-size:11px;font-style:italic;margin-left:auto}.migration-preview-moments{margin-bottom:0}.migration-preview-moments label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:8px;font-weight:500}.migration-moments-list{background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;padding:12px}.migration-moment-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px;font-family:Fira Code,Monaco,monospace}.migration-moment-old{color:var(--text-secondary);text-decoration:line-through}.migration-moment-arrow{color:var(--text-secondary)}.migration-moment-new{color:var(--accent)}.migration-moment-more{padding:4px 0;font-size:12px;color:var(--text-secondary);font-style:italic}.migration-preview-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border);background:var(--bg-tertiary)}.migration-btn{padding:8px 20px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s,opacity .15s}.migration-btn.primary{background:var(--accent);border:none;color:#fff}.migration-btn.primary:hover:not(:disabled){background:var(--accent-hover)}.migration-btn.primary:disabled{opacity:.5;cursor:not-allowed}.migration-btn.secondary{background:transparent;border:1px solid var(--border);color:var(--text-primary)}.migration-btn.secondary:hover{background:var(--bg-primary)}.export-blocked-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.export-blocked-modal{background:var(--bg-secondary);border-radius:8px;width:500px;max-width:90vw;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #0006;border:1px solid var(--border)}.export-blocked-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--bg-tertiary)}.export-blocked-header h2{margin:0;font-size:18px;color:var(--markup);font-weight:600}.export-blocked-close{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1;transition:color .15s;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.export-blocked-close:hover{color:var(--text-primary)}.export-blocked-body{padding:20px;overflow-y:auto;flex:1}.export-blocked-message{margin:0 0 16px;font-size:14px;color:var(--text-primary);line-height:1.5}.export-blocked-errors{background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;max-height:300px;overflow-y:auto}.export-blocked-error-item{display:flex;align-items:flex-start;gap:8px;padding:12px;border-bottom:1px solid var(--border);font-size:13px}.export-blocked-error-item:last-child{border-bottom:none}.export-blocked-error-icon{flex-shrink:0;color:var(--markup);font-weight:700}.export-blocked-error-code{flex-shrink:0;font-family:Fira Code,Monaco,monospace;font-size:12px;color:var(--markup);background:#e539351a;padding:2px 6px;border-radius:3px}.export-blocked-error-line{flex-shrink:0;font-family:Fira Code,Monaco,monospace;font-size:12px;color:var(--text-secondary);min-width:60px}.export-blocked-error-message{color:var(--text-primary);flex:1;word-break:break-word}.export-blocked-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border);background:var(--bg-tertiary)}.export-blocked-btn{padding:8px 20px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s,opacity .15s}.export-blocked-btn.primary{background:var(--markup);border:none;color:#fff}.export-blocked-btn.primary:hover{background:#d32f2f}.export-blocked-btn.secondary{background:transparent;border:1px solid var(--border);color:var(--text-primary)}.export-blocked-btn.secondary:hover{background:var(--bg-primary)}[data-theme=light] .export-blocked-error-code{background:#e5393526}.scene-selector{padding:6px 28px 6px 10px;background-color:var(--bg-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a0a0a0' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px;border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:13px;min-width:180px;max-width:250px;cursor:pointer;transition:border-color .15s}.scene-selector:hover:not(:disabled){border-color:var(--accent)}.scene-selector:focus{outline:none;border-color:var(--accent)}.scene-selector:disabled{opacity:.5;cursor:not-allowed}.scene-selector option{background:var(--bg-secondary);color:var(--text-primary);padding:6px}.scene-selector option:disabled{color:var(--text-secondary);font-weight:600;background:var(--bg-tertiary)}.scene-selector-header{font-weight:700;color:var(--accent)!important}.theme-customizer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1100}.theme-customizer{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;width:600px;max-width:95vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #0006}.theme-customizer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.theme-customizer-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.theme-customizer-close{background:none;border:none;font-size:22px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.theme-customizer-close:hover{color:var(--text-primary)}.theme-customizer-body{display:flex;flex:1;overflow:hidden;min-height:0}.theme-customizer-preview{width:220px;border-right:1px solid var(--border);padding:16px;display:flex;flex-direction:column}.preview-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);margin-bottom:12px;letter-spacing:.5px}.preview-content{flex:1;background:var(--preview-bg);border-radius:6px;padding:12px;font-family:Courier Prime,Courier New,monospace;font-size:10px;line-height:1.5;overflow:auto}.preview-line{white-space:pre-wrap;margin-bottom:2px}.preview-moment{color:var(--preview-moment);font-weight:700}.preview-character{color:var(--preview-character);text-transform:uppercase;text-align:center;margin-top:8px}.preview-parenthetical{color:var(--preview-parenthetical);font-style:italic;text-align:center}.preview-dialogue{color:var(--preview-dialogue);margin-left:20px;margin-right:20px}.preview-action{color:var(--preview-action);margin-top:8px}.preview-choice{color:var(--preview-choice);font-weight:700;margin-top:8px}.preview-choice-spoken{color:var(--preview-choice-spoken);margin-left:12px}.preview-choice-action{color:var(--preview-choice-action);margin-left:12px;font-style:italic}.preview-comment{color:var(--preview-comment);font-style:italic;margin-top:8px}.preview-markup{color:var(--preview-markup)}.theme-customizer-colors{flex:1;display:flex;flex-direction:column;overflow:hidden}.color-tabs{display:flex;border-bottom:1px solid var(--border)}.color-tab{flex:1;padding:12px 16px;background:transparent;border:none;color:var(--text-secondary);font-family:inherit;font-size:13px;cursor:pointer;transition:all .15s ease}.color-tab:hover{background:var(--bg-tertiary);color:var(--text-primary)}.color-tab.active{background:var(--bg-tertiary);color:var(--accent);border-bottom:2px solid var(--accent)}.color-picker-grid{flex:1;overflow-y:auto;padding:16px}.color-picker-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.color-picker-row:last-child{border-bottom:none}.color-picker-label{font-size:13px;color:var(--text-primary);flex:1}.color-picker-controls{display:flex;align-items:center;gap:8px}.color-picker-input{width:36px;height:28px;border:1px solid var(--border);border-radius:4px;cursor:pointer;padding:2px;background:var(--bg-tertiary)}.color-picker-input::-webkit-color-swatch-wrapper{padding:0}.color-picker-input::-webkit-color-swatch{border:none;border-radius:2px}.color-picker-hex{font-family:SF Mono,Monaco,monospace;font-size:11px;color:var(--text-secondary);min-width:60px;text-transform:uppercase}.color-picker-reset{padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:3px;font-size:10px;color:var(--text-secondary);cursor:pointer;font-family:inherit}.color-picker-reset:hover{background:var(--border);color:var(--text-primary)}.theme-customizer-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid var(--border);background:var(--bg-tertiary)}.theme-customizer-btn{padding:8px 16px;border-radius:4px;font-family:inherit;font-size:13px;cursor:pointer;transition:all .15s ease}.theme-customizer-btn.primary{background:var(--accent);border:1px solid var(--accent);color:#fff}.theme-customizer-btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.theme-customizer-btn.secondary{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary)}.theme-customizer-btn.secondary:hover{background:var(--border)}.theme-customizer-btn:disabled{opacity:.5;cursor:not-allowed}.typography-settings-panel{display:flex;flex-direction:column;gap:16px}.typography-row{display:flex;flex-direction:column;gap:8px}.typography-label{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-primary)}.typography-value{font-family:SF Mono,Monaco,monospace;font-size:12px;color:var(--text-secondary)}.typography-slider{width:100%;height:4px;-webkit-appearance:none;background:var(--bg-tertiary);border-radius:2px;outline:none}.typography-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--accent);border-radius:50%;cursor:pointer}.typography-slider::-moz-range-thumb{width:16px;height:16px;background:var(--accent);border-radius:50%;cursor:pointer;border:none}.typography-select{width:100%;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:13px;cursor:pointer}.typography-select:focus{outline:none;border-color:var(--accent)}.theme-customizer-footer-left,.theme-customizer-footer-right,.save-theme-input-group{display:flex;align-items:center;gap:8px}.save-theme-input{padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:13px;width:160px}.save-theme-input:focus{outline:none;border-color:var(--accent)}.save-theme-input::placeholder{color:var(--text-secondary)}.typography-element-section{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.typography-element-section .element-typography-list{display:flex;flex-direction:column;gap:8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:12px}.typography-element-section .element-typography-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.typography-element-section .element-typography-label{font-size:12px;color:var(--text-primary);min-width:90px}.typography-element-section .element-typography-controls{display:flex;align-items:center;gap:4px}.typography-element-section .element-style-btn{width:26px;height:26px;padding:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.typography-element-section .element-style-btn:hover{background:var(--border);color:var(--text-primary)}.typography-element-section .element-style-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.typography-element-section .element-style-btn.italic{font-style:italic}.typography-element-section .element-style-btn.underline{text-decoration:underline}.typography-element-section .element-size-control{display:flex;align-items:center;gap:2px;margin-left:6px}.typography-element-section .element-size-btn{width:22px;height:22px;padding:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:3px;color:var(--text-secondary);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.typography-element-section .element-size-btn:hover:not(:disabled){background:var(--border);color:var(--text-primary)}.typography-element-section .element-size-btn:disabled{opacity:.4;cursor:not-allowed}.typography-element-section .element-size-value{width:22px;text-align:center;font-size:11px;color:var(--text-secondary);font-family:SF Mono,Monaco,monospace}.ai-settings-input{display:flex;flex-direction:column;gap:8px}.ai-settings-input-row{display:flex;gap:8px}.ai-settings-text-input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;outline:none;transition:border-color .15s}.ai-settings-text-input:focus{border-color:var(--accent)}.ai-settings-text-input:disabled{opacity:.6;cursor:not-allowed}.ai-settings-text-input::placeholder{color:var(--text-secondary);opacity:.7}.ai-settings-submit-btn{padding:8px 16px;border:none;border-radius:6px;background:var(--accent);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s,opacity .15s;white-space:nowrap}.ai-settings-submit-btn:hover:not(:disabled){background:var(--accent-hover)}.ai-settings-submit-btn:disabled{opacity:.5;cursor:not-allowed}.ai-settings-feedback{padding:8px 12px;border-radius:6px;font-size:12px;line-height:1.4}.ai-settings-feedback.success{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.ai-settings-feedback.error{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.ai-settings-feedback.warning{background:#eab30826;color:#eab308;border:1px solid rgba(234,179,8,.3)}[data-theme=light] .ai-settings-feedback.success{background:#22c55e1a;color:#16a34a}[data-theme=light] .ai-settings-feedback.error{background:#ef44441a;color:#dc2626}[data-theme=light] .ai-settings-feedback.warning{background:#eab3081a;color:#ca8a04}.ai-settings-color-input-hidden{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.ai-settings-color-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);cursor:pointer;transition:border-color .15s,background-color .15s;flex-shrink:0}.ai-settings-color-btn:hover:not(:disabled){border-color:var(--accent);background:var(--bg-tertiary)}.ai-settings-color-btn:disabled{opacity:.5;cursor:not-allowed}.ai-settings-color-swatch{width:20px;height:20px;border-radius:4px;border:1px solid rgba(0,0,0,.2)}.ai-settings-color-icon{font-size:16px}.ai-settings-picked-color{display:flex;align-items:center;gap:6px;padding:4px 8px 4px 6px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;font-size:12px;color:var(--text-secondary);flex-shrink:0}.ai-settings-picked-swatch{width:16px;height:16px;border-radius:3px;border:1px solid rgba(0,0,0,.2);flex-shrink:0}.ai-settings-picked-label{font-style:italic;white-space:nowrap}.ai-settings-clear-color{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;background:transparent;color:var(--text-secondary);font-size:14px;cursor:pointer;border-radius:3px;transition:background-color .15s,color .15s}.ai-settings-clear-color:hover{background:#ef444433;color:#ef4444}.ai-settings-toggle-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.ai-settings-toggle-label{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-primary);font-weight:500}.ai-settings-model-badge{font-size:11px;color:var(--text-secondary);background:var(--bg-tertiary);padding:3px 8px;border-radius:4px;border:1px solid var(--border)}.ai-settings-model-hint{margin:8px 0 0;font-size:11px;color:var(--text-secondary);opacity:.7}.settings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.settings-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;width:400px;max-width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none}.settings-modal-header:active,.settings-modal.dragging .settings-modal-header{cursor:grabbing}.settings-modal.dragging{-webkit-user-select:none;user-select:none}.settings-modal-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.settings-close-btn{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.settings-close-btn:hover{color:var(--text-primary)}.settings-modal-body{padding:20px;overflow-y:auto;flex:1}.settings-group{margin-bottom:24px}.settings-group:last-child{margin-bottom:0}.settings-label{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.settings-value{font-weight:400;color:var(--text-secondary);font-size:12px}.settings-hint{margin:6px 0 0;font-size:12px;color:var(--text-secondary)}.settings-theme-toggle{display:flex;gap:8px}.theme-btn{flex:1;padding:8px 16px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:13px;transition:all .15s ease}.theme-btn:hover{background:var(--border)}.theme-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.settings-slider{width:100%;height:6px;-webkit-appearance:none;appearance:none;background:var(--bg-tertiary);border-radius:3px;outline:none}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--accent);border-radius:50%;cursor:pointer;transition:transform .1s ease}.settings-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.settings-slider::-moz-range-thumb{width:16px;height:16px;background:var(--accent);border:none;border-radius:50%;cursor:pointer}.settings-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid var(--border);background:var(--bg-tertiary)}.settings-footer-right{display:flex;gap:8px}.settings-btn{padding:8px 16px;border-radius:4px;font-family:inherit;font-size:13px;cursor:pointer;transition:all .15s ease}.settings-btn-primary{background:var(--accent);border:1px solid var(--accent);color:#fff}.settings-btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.settings-btn-secondary{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary)}.settings-btn-secondary:hover{background:var(--border)}.settings-section{margin-bottom:16px;border:1px solid var(--border);border-radius:6px;overflow:hidden}.settings-section-header{display:flex;align-items:center;width:100%;padding:12px 16px;background:var(--bg-tertiary);border:none;color:var(--text-primary);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;text-align:left;transition:background .15s ease}.settings-section-header:hover{background:var(--border)}.settings-section-arrow{font-size:10px;margin-right:10px;color:var(--text-secondary)}.settings-section-title{flex:1}.settings-section-status{font-size:11px;font-weight:400;padding:2px 8px;border-radius:10px}.settings-section-status.on{background:#22c55e33;color:#22c55e}.settings-section-status.off{background:#9ca3af33;color:var(--text-secondary)}.settings-section-content{padding:16px;border-top:1px solid var(--border)}.settings-toggle{position:relative;width:44px;height:24px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease}.settings-toggle.on{background:var(--accent);border-color:var(--accent)}.settings-toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s ease}.settings-toggle.on .settings-toggle-knob{transform:translate(20px)}.settings-group.disabled{opacity:.5;pointer-events:none}.settings-slider:disabled{opacity:.5;cursor:not-allowed}.settings-slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.keybinding-btn{width:100%;padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:SF Mono,Monaco,Inconsolata,Fira Mono,Droid Sans Mono,monospace;font-size:13px;cursor:pointer;text-align:left;transition:all .15s ease}.keybinding-btn:hover{background:var(--border);border-color:var(--text-secondary)}.keybinding-btn:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #3b82f633}.keybinding-btn.recording{background:#3b82f61a;border-color:var(--accent);color:var(--accent);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.settings-modal-wide{width:480px}.settings-theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.settings-theme-grid .theme-btn{padding:8px 12px;font-size:12px}.settings-customize-row{display:flex;align-items:center;gap:8px}.settings-btn-link{background:none;border:none;padding:0;color:var(--accent);font-family:inherit;font-size:12px;cursor:pointer;text-decoration:underline}.settings-btn-link:hover{color:var(--accent-hover)}.settings-custom-badge{font-size:10px;padding:2px 6px;background:#4a9eff26;color:var(--accent);border-radius:3px;font-weight:500}.settings-badge.beta{margin-left:auto;font-size:10px;padding:2px 8px;background:var(--accent);color:#fff;border-radius:4px;font-weight:500}.settings-select-wrapper{position:relative}.settings-select{width:100%;padding:10px 32px 10px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:13px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a0a0a0' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.settings-select:hover{background-color:var(--border)}.settings-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #3b82f633}.settings-text-input{width:100%;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:13px;box-sizing:border-box}.settings-text-input:hover{background-color:var(--border)}.settings-text-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #3b82f633}.settings-text-input::placeholder{color:var(--text-secondary);opacity:.7}.settings-status-indicator{padding:8px 12px;border-radius:6px;font-size:13px}.settings-status-indicator.checking{background:#eab30826;color:#eab308}.settings-status-indicator.connected{background:#22c55e26;color:#22c55e}.settings-status-indicator.disconnected,.settings-status-indicator.error{background:#ef444426;color:#ef4444}.settings-status-indicator.warming{background:#3b82f626;color:#3b82f6}.settings-status-indicator.ready{background:#22c55e26;color:#22c55e}.settings-model-info{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;font-size:13px;color:var(--text-primary)}.settings-model-note{font-size:11px;color:var(--text-secondary);font-style:italic}.settings-import-export-btns{display:flex;gap:8px}.settings-import-export-btns .settings-btn{flex:1}.settings-modal-overlay.color-picker-active{background:transparent;pointer-events:none}.settings-modal.color-picker-active{opacity:0;pointer-events:none;transform:scale(.95);transition:opacity .15s,transform .15s}.settings-my-themes{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.settings-my-themes .settings-label{margin-bottom:12px}.settings-my-themes-list{display:flex;flex-direction:column;gap:6px}.settings-my-theme-item{display:flex;align-items:center;gap:8px}.settings-my-theme-btn{flex:1;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:13px;cursor:pointer;text-align:left;transition:all .15s ease}.settings-my-theme-btn:hover{background:var(--border);border-color:var(--accent)}.settings-my-theme-delete{width:28px;height:28px;padding:0;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-secondary);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.settings-my-theme-delete:hover{background:#ef444426;border-color:#ef44444d;color:#ef4444}.element-typography-list{display:flex;flex-direction:column;gap:8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:12px}.element-typography-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.element-typography-label{font-size:13px;color:var(--text-primary);min-width:100px}.element-typography-controls{display:flex;align-items:center;gap:4px}.element-style-btn{width:28px;height:28px;padding:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.element-style-btn:hover{background:var(--border);color:var(--text-primary)}.element-style-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.element-style-btn.italic{font-style:italic}.element-style-btn.underline{text-decoration:underline}.element-size-control{display:flex;align-items:center;gap:2px;margin-left:8px}.element-size-btn{width:24px;height:24px;padding:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:3px;color:var(--text-secondary);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.element-size-btn:hover:not(:disabled){background:var(--border);color:var(--text-primary)}.element-size-btn:disabled{opacity:.4;cursor:not-allowed}.element-size-value{width:24px;text-align:center;font-size:12px;color:var(--text-secondary);font-family:SF Mono,Monaco,monospace}.lint-rules-group{margin-top:8px}.lint-rules-container{display:flex;flex-direction:column;gap:16px;max-height:320px;overflow-y:auto;padding-right:4px}.lint-rule-category{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;overflow:hidden}.lint-rule-category-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.lint-rule-category-name{font-size:12px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.lint-rule-category-desc{font-size:11px;color:var(--text-secondary);font-style:italic}.lint-rule-list{display:flex;flex-direction:column;gap:0}.lint-rule-item{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;transition:background .1s ease}.lint-rule-item:hover{background:var(--bg-secondary)}.lint-rule-item input[type=checkbox]{width:14px;height:14px;margin:0;cursor:pointer;accent-color:var(--accent)}.lint-rule-code{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:11px;color:var(--accent);min-width:36px;font-weight:500}.lint-rule-label{font-size:12px;color:var(--text-primary)}.lint-rules-container::-webkit-scrollbar{width:6px}.lint-rules-container::-webkit-scrollbar-track{background:transparent}.lint-rules-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.lint-rules-container::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.ai-sidebar{width:400px;min-width:250px;max-width:600px;display:flex;flex-direction:column;background:var(--bg-secondary);border-left:none;transition:width .2s ease}.ai-sidebar.collapsed{width:48px;min-width:48px;max-width:48px}.ai-sidebar.collapsed .ai-header h3,.ai-sidebar.collapsed .ai-messages,.ai-sidebar.collapsed .ai-input-area,.ai-sidebar.collapsed .api-key-section{display:none}.ai-header{display:flex;align-items:center;justify-content:space-between;padding:0 8px;border-bottom:1px solid var(--border);height:var(--panel-header-height)}.ai-header h3{margin:0;font-size:14px;color:var(--text-primary)}.chat-selector{position:relative;flex:1;min-width:0}.chat-selector-button{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:var(--ui-font-size-lg);cursor:pointer;text-align:left;transition:border-color .15s,background-color .15s}.chat-selector-button:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}.chat-selector-button .chat-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-selector-button .chat-dropdown-arrow{font-size:var(--ui-font-size-sm);color:var(--text-secondary)}.chat-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #0000004d;z-index:1000;max-height:300px;overflow-y:auto}.chat-dropdown-item{display:flex;flex-direction:column;width:100%;padding:10px 12px;background:none;border:none;color:var(--text-primary);font-size:var(--ui-font-size-lg);text-align:left;cursor:pointer;transition:background-color .15s;position:relative}.chat-dropdown-item:hover{background:var(--bg-tertiary)}.chat-dropdown-item.active{background:var(--accent-faded, rgba(59, 130, 246, .1))}.chat-dropdown-item.new-chat{color:var(--accent);font-weight:500;flex-direction:row}.chat-dropdown-item .chat-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:20px}.chat-dropdown-item .chat-item-time{font-size:var(--ui-font-size);color:var(--text-secondary);margin-top:2px}.chat-dropdown-item .chat-item-check{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--accent);font-size:var(--ui-font-size-md)}.chat-dropdown-divider{height:1px;background:var(--border);margin:4px 0}.ai-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;font-size:18px}.ai-toggle:hover{color:var(--text-primary)}.ai-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.ai-message{padding:12px;border-radius:8px;font-size:var(--ui-font-size-lg);line-height:1.6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.ai-message.user{background:var(--accent);color:#fff;margin-left:40px;border-bottom-right-radius:4px}.ai-message.user ::selection{background:#ffffff59;color:#fff}.chat-copy-btn{background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;padding:4px 6px;font-size:var(--ui-font-size);flex-shrink:0}.chat-copy-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.ai-message.assistant{background:var(--bg-tertiary);border:1px solid var(--border);margin-right:40px;border-bottom-left-radius:4px}.ai-message.system{background:transparent;color:var(--text-secondary);font-style:italic;text-align:center;font-size:var(--ui-font-size-md)}.ai-message pre{background:var(--bg-primary);padding:8px;border-radius:4px;overflow-x:auto;font-family:Courier Prime,monospace;font-size:var(--ui-font-size-md)}.ai-message code{background:var(--bg-primary);padding:2px 4px;border-radius:2px;font-family:Courier Prime,monospace;font-size:var(--ui-font-size-md)}.ai-input-area{padding:16px;border-top:1px solid var(--border)}.ai-input-container{display:flex;gap:8px;align-items:flex-end}.ai-input{flex:1;padding:10px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:var(--ui-font-size-lg);resize:none;min-height:calc(var(--ui-font-size-lg) * 1.6 * 3 + 20px);max-height:200px}.ai-input:focus{outline:none;border-color:var(--accent)}.ai-send{padding:10px 16px;background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-weight:700;height:44px}.ai-send:hover{background:var(--accent-hover)}.ai-send:disabled{opacity:.5;cursor:not-allowed}.api-key-section{padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-tertiary)}.api-key-section label{display:block;font-size:var(--ui-font-size);color:var(--text-secondary);margin-bottom:6px}.api-key-row{display:flex;gap:8px}.api-key-input{flex:1;padding:6px 8px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:monospace;font-size:var(--ui-font-size)}.api-key-input:focus{outline:none;border-color:var(--accent)}.api-key-save{padding:6px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:var(--ui-font-size)}.api-key-save:hover{background:var(--border)}.api-key-status{font-size:var(--ui-font-size-sm);margin-top:4px}.api-key-status.connected{color:var(--choice)}.api-key-status.disconnected{color:var(--markup)}.provider-section{padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-tertiary)}.provider-section label{display:block;font-size:var(--ui-font-size);color:var(--text-secondary);margin-bottom:6px}.provider-select{width:100%;padding:8px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:var(--ui-font-size-md);cursor:pointer}.provider-select:focus{outline:none;border-color:var(--accent)}.provider-status{font-size:var(--ui-font-size-sm);margin-top:6px;padding:4px 0}.provider-status.checking{color:var(--text-secondary)}.provider-status.connected{color:var(--choice)}.provider-status.disconnected{color:var(--markup)}.provider-status-line{font-weight:500}.provider-status-model{margin-top:2px;font-size:var(--ui-font-size-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.provider-status-model .model-warning{color:var(--markup)}.provider-status-model .model-loaded{color:var(--text-secondary);opacity:.7}.provider-config{margin-top:8px;display:flex;flex-direction:column;gap:6px}.config-input{width:100%;padding:6px 8px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:monospace;font-size:var(--ui-font-size)}.config-input:focus{outline:none;border-color:var(--accent)}.model-select{width:100%;padding:6px 8px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:var(--ui-font-size);cursor:pointer}.model-select:focus{outline:none;border-color:var(--accent)}.quick-actions{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.quick-actions button{padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:var(--ui-font-size);transition:all .15s ease}.quick-actions button:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}.quick-actions button:disabled{opacity:.5;cursor:not-allowed}.voice-select{padding:6px 8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:var(--ui-font-size);cursor:pointer;min-width:90px}.voice-select:hover:not(:disabled){border-color:var(--accent)}.voice-select:disabled{opacity:.5;cursor:not-allowed}.bug-report-btn{background:#dc3c3c26!important;border-color:#dc3c3c66!important;color:#dc3c3c!important}.bug-report-btn:hover:not(:disabled){background:#dc3c3c!important;border-color:#dc3c3c!important;color:#fff!important}.bug-report-confirm{margin:8px 12px;padding:12px;background:var(--bg-tertiary);border:1px solid rgba(220,60,60,.4);border-radius:8px;flex-shrink:0}.bug-report-confirm-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:var(--ui-font-size-md);font-weight:600;color:var(--text-primary)}.bug-severity-badge{padding:2px 8px;border-radius:10px;font-size:var(--ui-font-size-sm);font-weight:600;text-transform:uppercase}.bug-severity-badge.severity-critical{background:#dc282833;color:#dc2828}.bug-severity-badge.severity-high{background:#ea781e33;color:#ea781e}.bug-severity-badge.severity-medium{background:#d2b41e33;color:#c4a81e}.bug-severity-badge.severity-low{background:#3ca05033;color:#3ca050}.bug-report-confirm-title{font-size:var(--ui-font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:4px}.bug-report-confirm-desc{font-size:var(--ui-font-size);color:var(--text-secondary);line-height:1.4;margin-bottom:10px}.bug-report-confirm-actions{display:flex;gap:8px}.bug-report-create-btn{flex:1;padding:6px 12px;background:#dc3c3c;border:none;border-radius:4px;color:#fff;font-size:var(--ui-font-size);font-family:inherit;font-weight:600;cursor:pointer;transition:background .15s ease}.bug-report-create-btn:hover{background:#c42828}.bug-report-cancel-btn{padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:var(--ui-font-size);font-family:inherit;cursor:pointer;transition:all .15s ease}.bug-report-cancel-btn:hover{color:var(--text-primary);border-color:var(--text-secondary)}.bug-report-saved{border-color:#3ca05066}.bug-report-file-path{font-size:var(--ui-font-size);font-family:monospace;color:var(--text-secondary);background:var(--bg-secondary);padding:4px 8px;border-radius:4px;margin-bottom:10px;word-break:break-all}.bug-report-commit-btn{flex:1;padding:6px 12px;background:#3ca050;border:none;border-radius:4px;color:#fff;font-size:var(--ui-font-size);font-family:inherit;font-weight:600;cursor:pointer;transition:background .15s ease}.bug-report-commit-btn:hover{background:#2d8040}.ai-stop{padding:10px 16px;background:var(--markup);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-weight:700;height:44px}.ai-stop:hover{background:#ff5252}.ai-sidebar.collapsed .provider-section,.ai-sidebar.collapsed .quick-actions{display:none}.ai-sidebar-tabs{display:flex;gap:4px;flex:0 0 auto}.ai-sidebar-tab{padding:6px 12px;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-secondary);font-size:var(--ui-font-size-md);cursor:pointer;transition:all .15s ease}.ai-sidebar-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.ai-sidebar-tab.active{color:var(--text-primary);background:var(--bg-tertiary);border-color:var(--border)}.ai-sidebar.collapsed .ai-sidebar-tabs{display:none}.sidebar-notes{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.sidebar-notes-header{padding:12px;border-bottom:1px solid var(--border)}.sidebar-notes-add-btn{width:100%;padding:8px 12px;background:var(--accent);border:none;border-radius:6px;color:#fff;font-size:12px;cursor:pointer}.sidebar-notes-add-btn:hover{background:var(--accent-hover)}.sidebar-notes-list{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.sidebar-notes-empty{text-align:center;color:var(--text-secondary);font-size:13px;padding:24px}.message-content{display:flex;flex-direction:column;gap:8px}.text-content{white-space:pre-wrap;word-wrap:break-word}.text-line{margin:0;line-height:1.5}.code-block{background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;overflow:hidden}.code-block-header{padding:6px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border);font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.code-block pre{margin:0;padding:12px;overflow-x:auto;font-family:Courier Prime,Courier New,monospace;font-size:12px;line-height:1.5;color:var(--text-primary);background:transparent;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word}.inline-code{background:var(--bg-primary);border:1px solid var(--border);padding:1px 5px;border-radius:3px;font-family:Courier Prime,Courier New,monospace;font-size:12px;color:var(--accent)}.script-block{background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;padding:12px 16px;font-family:Courier Prime,Courier New,monospace;font-size:13px;line-height:1.6;overflow-x:auto}.script-block .script-line{margin:0;padding:2px 0;min-height:1.4em;white-space:pre;tab-size:4;-moz-tab-size:4}.script-character{color:var(--character);text-transform:uppercase;font-weight:700}.script-dialogue{color:var(--dialogue);padding-left:24px}.script-choice{color:var(--choice);font-weight:700}.script-choice-spoken{color:var(--choice-spoken);padding-left:24px}.script-choice-action{color:var(--choice-action);padding-left:24px;font-style:italic}.script-moment{color:var(--moment);font-weight:700;text-transform:uppercase;margin-top:8px;margin-bottom:4px}.script-markup{color:var(--markup)}.script-parenthetical{color:var(--parenthetical);font-style:italic;padding-left:24px}.script-comment{color:var(--comment);font-style:italic}.script-action{color:var(--action)}.block-copy-btn{position:absolute;top:8px;right:8px;padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:10px;cursor:pointer;opacity:0;transition:opacity .15s ease}.script-block:hover .block-copy-btn,.code-block:hover .block-copy-btn{opacity:1}.block-copy-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.script-block,.code-block{position:relative}.block-insert-btn{position:absolute;top:8px;right:8px;padding:4px 10px;background:var(--accent);border:none;border-radius:4px;color:#fff;font-size:11px;font-weight:700;cursor:pointer;opacity:0;transition:opacity .15s ease}.script-block:hover .block-insert-btn{opacity:1}.block-insert-btn:hover{background:var(--accent-hover)}.story-preview{display:flex;flex-direction:column;height:100%;overflow:hidden}.story-preview--inactive{justify-content:center;align-items:center}.story-preview__start-screen{text-align:center;padding:2rem 1rem}.story-preview__start-hint{color:var(--text-secondary, #888);font-size:.85rem;margin-bottom:1rem}.story-preview__start-btn{background:var(--accent-color, #4a9eff);color:#fff;border:none;border-radius:6px;padding:.6rem 1.5rem;font-size:.9rem;cursor:pointer;transition:opacity .15s}.story-preview__start-btn:hover{opacity:.85}.story-preview__toolbar{display:flex;gap:4px;padding:6px 8px;border-bottom:1px solid var(--border-color, #333);flex-shrink:0}.story-preview__toolbar-btn{background:var(--bg-secondary, #2a2a2a);color:var(--text-primary, #ccc);border:1px solid var(--border-color, #444);border-radius:4px;padding:3px 8px;font-size:.75rem;cursor:pointer;transition:background .15s}.story-preview__toolbar-btn:hover{background:var(--bg-hover, #333)}.story-preview__toolbar-btn--stop{margin-left:auto}.story-preview__rewind-container{position:relative}.story-preview__rewind-dropdown{position:absolute;top:100%;left:0;z-index:10;background:var(--bg-secondary, #2a2a2a);border:1px solid var(--border-color, #444);border-radius:4px;min-width:160px;box-shadow:0 4px 12px #0000004d;margin-top:2px}.story-preview__rewind-item{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text-primary, #ccc);padding:6px 10px;font-size:.75rem;cursor:pointer}.story-preview__rewind-item:hover{background:var(--bg-hover, #333)}.story-preview__chat-log{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}@keyframes story-preview-slide-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.story-preview__bubble{max-width:85%;padding:6px 10px;border-radius:8px;font-size:var(--editor-font-size, 14px);line-height:1.4;word-wrap:break-word;animation:story-preview-slide-in .25s ease-out backwards}.story-preview__bubble--dialogue{align-self:flex-start;background:var(--bg-secondary, #2a2a2a);border:1px solid var(--border-color, #3a3a3a)}.story-preview__bubble-character{font-weight:600;font-size:.85em;text-transform:uppercase;color:var(--accent-color, #4a9eff);margin-bottom:2px;letter-spacing:.04em}.story-preview__bubble-parenthetical{font-size:.88em;color:var(--text-secondary, #888);font-style:italic;margin-bottom:2px}.story-preview__bubble-text{color:var(--text-primary, #ddd);white-space:normal}.story-preview__bubble--action{align-self:stretch;max-width:100%;background:transparent;color:var(--text-secondary, #999);font-style:italic;font-size:calc(var(--editor-font-size, 14px) * .95);padding:4px 10px}.story-preview__bubble--choice-selected{align-self:flex-end;background:var(--accent-color, #4a9eff);color:#fff}.story-preview__bubble--system{align-self:center;max-width:100%;color:var(--text-secondary, #777);font-size:.7rem;text-align:center;padding:2px 8px}.story-preview__bubble--set{align-self:center;max-width:100%;text-align:center;padding:2px 0}.story-preview__set-tag{display:inline-block;background:var(--bg-secondary, #2a2a2a);border:1px solid var(--border-color, #444);border-radius:3px;padding:1px 6px;font-size:.68rem;color:var(--text-secondary, #aaa);font-family:monospace}.story-preview__bubble--scene-boundary{align-self:stretch;max-width:100%;text-align:center;padding:8px 0}.story-preview__scene-divider{border-top:1px solid var(--border-color, #444);margin-bottom:6px}.story-preview__scene-name{font-size:.72rem;color:var(--text-secondary, #999);text-transform:uppercase;letter-spacing:.05em}.story-preview__bubble--dialogue[data-color-index="0"]{border-left:3px solid #4a9eff}.story-preview__bubble--dialogue[data-color-index="0"] .story-preview__bubble-character{color:#4a9eff}.story-preview__bubble--dialogue[data-color-index="1"]{border-left:3px solid #ff6b6b}.story-preview__bubble--dialogue[data-color-index="1"] .story-preview__bubble-character{color:#ff6b6b}.story-preview__bubble--dialogue[data-color-index="2"]{border-left:3px solid #51cf66}.story-preview__bubble--dialogue[data-color-index="2"] .story-preview__bubble-character{color:#51cf66}.story-preview__bubble--dialogue[data-color-index="3"]{border-left:3px solid #ffd43b}.story-preview__bubble--dialogue[data-color-index="3"] .story-preview__bubble-character{color:#ffd43b}.story-preview__bubble--dialogue[data-color-index="4"]{border-left:3px solid #cc5de8}.story-preview__bubble--dialogue[data-color-index="4"] .story-preview__bubble-character{color:#cc5de8}.story-preview__bubble--dialogue[data-color-index="5"]{border-left:3px solid #ff922b}.story-preview__bubble--dialogue[data-color-index="5"] .story-preview__bubble-character{color:#ff922b}.story-preview__bubble--dialogue[data-color-index="6"]{border-left:3px solid #20c997}.story-preview__bubble--dialogue[data-color-index="6"] .story-preview__bubble-character{color:#20c997}.story-preview__bubble--dialogue[data-color-index="7"]{border-left:3px solid #ff8787}.story-preview__bubble--dialogue[data-color-index="7"] .story-preview__bubble-character{color:#ff8787}.story-preview__bubble--dialogue:not(.story-preview__bubble--writer){border-radius:8px 8px 8px 2px}.story-preview__bubble--writer{align-self:flex-end;background:#2563eb;color:#fff;border-left:none;border-radius:8px 8px 2px}.story-preview__bubble--writer .story-preview__bubble-character{color:#fffc;text-align:right}.story-preview__bubble--writer .story-preview__bubble-parenthetical{color:#ffffffb3}.story-preview__bubble--writer .story-preview__bubble-text{color:#fff}.story-preview__bubble--writer[data-color-index]{border-left:none}.story-preview__bubble--writer[data-color-index] .story-preview__bubble-character{color:#fffc}@keyframes story-preview-dot-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}@keyframes story-preview-dot-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.story-preview__typing-indicator{align-self:flex-start;max-width:85%;animation:story-preview-slide-in .25s ease-out backwards}.story-preview__typing-name{font-weight:600;font-size:.85em;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #888);margin-bottom:2px}.story-preview__typing-bubble{display:inline-flex;gap:4px;align-items:center;padding:8px 14px;background:var(--bg-secondary, #2a2a2a);border:1px solid var(--border-color, #3a3a3a);border-radius:8px 8px 8px 2px}.story-preview__typing-dot{width:6px;height:6px;border-radius:50%;background:var(--text-secondary, #888);animation:story-preview-dot-bounce 1.2s ease-in-out infinite}.story-preview__typing-dot:nth-child(2){animation-delay:.15s}.story-preview__typing-dot:nth-child(3){animation-delay:.3s}.story-preview__typing-indicator[data-color-index="0"] .story-preview__typing-name{color:#4a9eff}.story-preview__typing-indicator[data-color-index="1"] .story-preview__typing-name{color:#ff6b6b}.story-preview__typing-indicator[data-color-index="2"] .story-preview__typing-name{color:#51cf66}.story-preview__typing-indicator[data-color-index="3"] .story-preview__typing-name{color:#ffd43b}.story-preview__typing-indicator[data-color-index="4"] .story-preview__typing-name{color:#cc5de8}.story-preview__typing-indicator[data-color-index="5"] .story-preview__typing-name{color:#ff922b}.story-preview__typing-indicator[data-color-index="6"] .story-preview__typing-name{color:#20c997}.story-preview__typing-indicator[data-color-index="7"] .story-preview__typing-name{color:#ff8787}.story-preview__typing-indicator--writer{align-self:flex-end}.story-preview__typing-indicator--writer .story-preview__typing-name{color:#fffc;text-align:right}.story-preview__typing-indicator--writer .story-preview__typing-bubble{background:#2563eb;border-color:#2563eb;border-radius:8px 8px 2px}.story-preview__typing-indicator--writer .story-preview__typing-dot{background:#fff9}.story-preview__continue-btn{align-self:center;background:none;border:1px solid var(--border-color, #444);color:var(--text-secondary, #999);border-radius:6px;padding:4px 16px;font-size:.75rem;cursor:pointer;animation:story-preview-pulse 2s ease-in-out infinite;transition:background .15s,color .15s}.story-preview__continue-btn:hover{background:var(--bg-hover, #333);color:var(--text-primary, #ccc)}@keyframes story-preview-pulse{0%,to{opacity:1}50%{opacity:.6}}.story-preview__choices{align-self:flex-end;display:flex;flex-direction:column;gap:4px;max-width:85%}.story-preview__choice-btn{background:var(--bg-secondary, #2a2a2a);border:1px solid var(--accent-color, #4a9eff);color:var(--accent-color, #4a9eff);border-radius:8px;padding:6px 12px;font-size:.8rem;cursor:pointer;text-align:left;transition:background .15s,color .15s;display:flex;align-items:center;gap:6px;animation:story-preview-slide-in .3s ease-out backwards}.story-preview__choice-btn:nth-child(1){animation-delay:.15s}.story-preview__choice-btn:nth-child(2){animation-delay:.3s}.story-preview__choice-btn:nth-child(3){animation-delay:.45s}.story-preview__choice-btn:nth-child(4){animation-delay:.6s}.story-preview__choice-indicator-dots{align-self:flex-end;animation:story-preview-slide-in .25s ease-out backwards}.story-preview__choice-indicator-bubble{display:inline-flex;gap:5px;align-items:center;padding:6px 14px;background:transparent;border:1px dashed var(--accent-color, #4a9eff);border-radius:8px}.story-preview__choice-indicator-bubble .story-preview__typing-dot{background:var(--accent-color, #4a9eff);animation-name:story-preview-dot-pulse;animation-duration:1.5s}.story-preview__choice-indicator-bubble .story-preview__typing-dot:nth-child(2){animation-delay:.3s}.story-preview__choice-indicator-bubble .story-preview__typing-dot:nth-child(3){animation-delay:.6s}.story-preview__choice-btn:hover:not(:disabled){background:var(--accent-color, #4a9eff);color:#fff}.story-preview__choice-btn--disabled{opacity:.4;cursor:not-allowed;border-color:var(--border-color, #555);color:var(--text-secondary, #777)}.story-preview__choice-btn--fallback{border-style:dashed}.story-preview__choice-btn--major{border-width:2px}.story-preview__choice-text{flex:1}.story-preview__choice-label{font-size:.6rem;text-transform:uppercase;opacity:.6;letter-spacing:.04em}.story-preview__choice-indicator{width:6px;height:6px;border-radius:50%;background:var(--accent-color, #4a9eff);flex-shrink:0}.story-preview__choice-condition{font-size:.6rem;font-family:monospace;opacity:.5}.story-preview__scene-continue{align-self:center;padding:8px 0}.story-preview__scene-continue-btn{background:var(--bg-secondary, #2a2a2a);border:1px solid var(--border-color, #444);color:var(--text-primary, #ccc);border-radius:6px;padding:6px 16px;font-size:.8rem;cursor:pointer;transition:background .15s}.story-preview__scene-continue-btn:hover{background:var(--bg-hover, #333)}.story-preview__end{text-align:center;color:var(--text-secondary, #777);font-size:.75rem;padding:12px 0;font-style:italic}.story-preview__preflight{border:1px solid var(--border-color, #333);border-radius:6px;padding:10px 14px;margin:0 auto 1rem;max-width:320px;text-align:left}.story-preview__preflight-header{font-size:.72rem;color:var(--text-secondary, #888);margin-bottom:8px}.story-preview__preflight-flags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.story-preview__preflight-flag{background:transparent;border:1px dashed var(--border-color, #555);color:var(--text-secondary, #999);border-radius:3px;padding:2px 8px;font-size:.68rem;font-family:monospace;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.story-preview__preflight-flag:hover{border-color:var(--accent-color, #4a9eff);color:var(--accent-color, #4a9eff)}.story-preview__preflight-flag--set{background:var(--accent-color, #4a9eff);border-color:var(--accent-color, #4a9eff);border-style:solid;color:#fff}.story-preview__preflight-flag--set:hover{opacity:.85;color:#fff}.story-preview__preflight-vars{display:flex;flex-direction:column;gap:4px}.story-preview__preflight-var-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.story-preview__preflight-var-name{font-size:.68rem;font-family:monospace;color:var(--text-secondary, #aaa)}.story-preview__preflight-var-input{background:var(--bg-secondary, #1e1e1e);border:1px solid var(--border-color, #444);color:var(--text-primary, #ddd);border-radius:3px;padding:2px 4px;font-size:.68rem;font-family:monospace;width:64px;text-align:right}.story-preview__preflight-var-input:focus{outline:none;border-color:var(--accent-color, #4a9eff)}.story-preview__drawer{border-top:1px solid var(--border-color, #333);flex-shrink:0}.story-preview__drawer-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;color:var(--text-secondary, #999);padding:5px 10px;font-size:.7rem;cursor:pointer}.story-preview__drawer-toggle:hover{color:var(--text-primary, #ccc)}.story-preview__drawer-arrow{font-size:.6rem}.story-preview__drawer-content{padding:6px 10px 8px;max-height:120px;overflow-y:auto}.story-preview__drawer-flags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.story-preview__flag-chip{background:var(--accent-color, #4a9eff);color:#fff;border-radius:3px;padding:1px 6px;font-size:.65rem;font-family:monospace}.story-preview__drawer-vars{display:flex;flex-direction:column;gap:2px}.story-preview__var-row{display:flex;justify-content:space-between;font-size:.68rem;font-family:monospace}.story-preview__var-name{color:var(--text-secondary, #aaa)}.story-preview__var-value{color:var(--text-primary, #ddd)}.story-preview__var-value--editable{cursor:pointer;border-bottom:1px dashed var(--text-secondary, #666)}.story-preview__var-value--editable:hover{color:var(--accent-color, #4a9eff)}.story-preview__var-remove,.story-preview__flag-remove{background:none;border:none;color:var(--text-secondary, #888);cursor:pointer;font-size:.7rem;padding:0 2px;margin-left:2px;line-height:1}.story-preview__var-remove:hover,.story-preview__flag-remove:hover{color:#ff6b6b}.story-preview__drawer-section{margin-bottom:6px}.story-preview__drawer-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}.story-preview__drawer-section-label{font-size:.62rem;text-transform:uppercase;color:var(--text-secondary, #777);letter-spacing:.04em}.story-preview__drawer-add-btn{background:none;border:1px solid var(--border-color, #444);color:var(--text-secondary, #999);border-radius:3px;width:18px;height:18px;font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.story-preview__drawer-add-btn:hover{color:var(--accent-color, #4a9eff);border-color:var(--accent-color, #4a9eff)}.story-preview__drawer-inline-add{display:flex;gap:3px;align-items:center;margin-top:3px}.story-preview__drawer-input{background:var(--bg-secondary, #1e1e1e);border:1px solid var(--border-color, #444);color:var(--text-primary, #ddd);border-radius:3px;padding:2px 4px;font-size:.65rem;font-family:monospace;min-width:0;flex:1}.story-preview__drawer-input:focus{outline:none;border-color:var(--accent-color, #4a9eff)}.story-preview__drawer-input--value{max-width:60px;flex:0 0 auto}.story-preview__drawer-ok-btn{background:var(--accent-color, #4a9eff);border:none;color:#fff;border-radius:3px;padding:2px 6px;font-size:.6rem;cursor:pointer}.story-preview__drawer-cancel-btn{background:none;border:none;color:var(--text-secondary, #888);cursor:pointer;font-size:.75rem;padding:0 2px}.story-preview__flag-chip--unset{background:transparent;border:1px dashed var(--border-color, #444);color:var(--text-secondary, #777);opacity:.6;cursor:pointer}.story-preview__flag-chip--unset:hover{opacity:1;border-color:var(--accent-color, #4a9eff);color:var(--accent-color, #4a9eff)}.story-preview__var-row--unset{opacity:.5;cursor:pointer}.story-preview__var-row--unset:hover{opacity:.8}.story-preview__var-value--unset{color:var(--text-secondary, #777);font-style:italic}.editor-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.editor-container{position:relative;flex:1;overflow:auto;padding:40px;background:var(--bg-primary)}.screenplay-editor-wrapper{position:relative;max-width:800px;margin:0 auto;min-height:100%}.screenplay-textarea,.screenplay-overlay{font-family:var(--editor-font-family);font-size:var(--editor-font-size);line-height:var(--editor-line-height);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;tab-size:4;-moz-tab-size:4;letter-spacing:normal;word-spacing:normal;font-weight:400;font-style:normal;text-rendering:auto;-webkit-font-smoothing:auto}.screenplay-textarea{position:absolute;top:0;left:0;width:100%;height:100%;padding:0;margin:0;border:none;background:transparent;color:transparent;caret-color:var(--accent);resize:none;outline:none;overflow:auto;z-index:2}.screenplay-textarea::selection{background:color-mix(in srgb,var(--accent) 40%,transparent)}.screenplay-overlay{position:relative;pointer-events:none;z-index:1;min-height:100%;padding:0;margin:0}.screenplay-overlay em{font-style:italic}.hl-italic-marker{color:transparent}.hl-current{background:#4a9eff14}.hl-empty{color:transparent}.hl-script-heading{color:var(--accent)}.hl-scene-heading{color:var(--text-primary);font-weight:var(--scene-heading-font-weight);font-style:var(--scene-heading-font-style);text-decoration:var(--scene-heading-text-decoration);font-size:calc(var(--editor-font-size) + var(--scene-heading-size-offset))}.hl-moment{color:var(--moment);font-weight:700}.hl-moment-editing{color:#e0a040}.hl-character{color:var(--character);font-weight:var(--character-font-weight);font-style:var(--character-font-style);text-decoration:var(--character-text-decoration);font-size:calc(var(--editor-font-size) + var(--character-size-offset))}.hl-dialogue{color:var(--dialogue);font-weight:var(--dialogue-font-weight);font-style:var(--dialogue-font-style);text-decoration:var(--dialogue-text-decoration);font-size:calc(var(--editor-font-size) + var(--dialogue-size-offset))}.hl-parenthetical{color:var(--parenthetical);font-weight:var(--parenthetical-font-weight);font-style:var(--parenthetical-font-style);text-decoration:var(--parenthetical-text-decoration);font-size:calc(var(--editor-font-size) + var(--parenthetical-size-offset))}.hl-action{color:var(--action);font-weight:var(--action-font-weight);font-style:var(--action-font-style);text-decoration:var(--action-text-decoration);font-size:calc(var(--editor-font-size) + var(--action-size-offset))}.hl-choice{color:var(--choice);font-weight:var(--choice-font-weight);font-style:var(--choice-font-style);text-decoration:var(--choice-text-decoration);font-size:calc(var(--editor-font-size) + var(--choice-size-offset))}.hl-choice-spoken{color:var(--choice-spoken);font-weight:var(--choice-spoken-font-weight);font-style:var(--choice-spoken-font-style);text-decoration:var(--choice-spoken-text-decoration);font-size:calc(var(--editor-font-size) + var(--choice-spoken-size-offset))}.hl-choice-action{color:var(--choice-action);font-weight:var(--choice-action-font-weight);font-style:var(--choice-action-font-style);text-decoration:var(--choice-action-text-decoration);font-size:calc(var(--editor-font-size) + var(--choice-action-size-offset))}.hl-markup{color:var(--markup);font-weight:700;font-size:var(--editor-font-size)}.hl-conditional{color:var(--conditional);font-weight:700;font-size:var(--editor-font-size)}.hl-state-change{color:var(--state-change);font-weight:700;font-size:var(--editor-font-size)}.hl-extern{color:var(--extern-decl);font-weight:700;font-size:var(--editor-font-size)}.hl-navigation{color:var(--navigation);font-weight:700;font-size:var(--editor-font-size)}.hl-ui-directive{color:var(--ui-directive);font-weight:700;font-size:var(--editor-font-size)}.hl-comment{color:var(--comment)}.hl-invalid-asterisk{color:var(--text-primary);text-decoration:wavy underline var(--markup);text-underline-offset:3px}.hl-indent-1,.hl-indent-2,.hl-indent-3,.hl-indent-4{position:relative}.hl-indent-1:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:#7dffc64d;pointer-events:none}.hl-indent-2:before{content:"";position:absolute;left:calc(8px + 2em);top:0;bottom:0;width:2px;background:#4a9eff4d;pointer-events:none}.hl-indent-3:before{content:"";position:absolute;left:calc(8px + 4em);top:0;bottom:0;width:2px;background:#b389ff4d;pointer-events:none}.hl-indent-4:before{content:"";position:absolute;left:calc(8px + 6em);top:0;bottom:0;width:2px;background:#ff6b6b4d;pointer-events:none}.hl-beat-1,.hl-beat-2,.hl-beat-3,.hl-beat-4,.hl-beat-5,.hl-beat-6,.hl-beat-7,.hl-beat-8{position:relative}.hl-beat-1:after{background:#dd3c3c}.hl-beat-2:after{background:#e68019}.hl-beat-3:after{background:#cfb017}.hl-beat-4:after{background:#2eb85c}.hl-beat-5:after{background:#2eb8b8}.hl-beat-6:after{background:#3c8cdd}.hl-beat-7:after{background:#8c47d1}.hl-beat-8:after{background:#d1478c}:root[data-beat-tint=on] .hl-beat-tint-block.hl-beat-2{background:#e680190d}:root[data-beat-tint=on] .hl-beat-tint-block.hl-beat-3{background:#cfb0170d}:root[data-beat-tint=on] .hl-beat-tint-block.hl-beat-4{background:#2eb85c0d}:root[data-beat-tint=on] .hl-beat-tint-block.hl-beat-5{background:#2eb8b80d}:root[data-beat-tint=on] .hl-beat-tint-block.hl-beat-6{background:#3c8cdd0d}:root[data-beat-tint=on] .hl-beat-tint-block.hl-beat-7{background:#8c47d10d}:root[data-beat-tint=on] .hl-beat-tint-block.hl-beat-8{background:#d1478c0d}:root[data-beat-tint=on] .hl-beat-tint.hl-beat-2{background:#e680190d}:root[data-beat-tint=on] .hl-beat-tint.hl-beat-3{background:#cfb0170d}:root[data-beat-tint=on] .hl-beat-tint.hl-beat-4{background:#2eb85c0d}:root[data-beat-tint=on] .hl-beat-tint.hl-beat-5{background:#2eb8b80d}:root[data-beat-tint=on] .hl-beat-tint.hl-beat-6{background:#3c8cdd0d}:root[data-beat-tint=on] .hl-beat-tint.hl-beat-7{background:#8c47d10d}:root[data-beat-tint=on] .hl-beat-tint.hl-beat-8{background:#d1478c0d}.hl-beat-1:after,.hl-beat-2:after,.hl-beat-3:after,.hl-beat-4:after,.hl-beat-5:after,.hl-beat-6:after,.hl-beat-7:after,.hl-beat-8:after{content:"";position:absolute;left:var(--beat-line-left);top:0;height:100%;width:3px;border-radius:1px;pointer-events:none}.hl-beat-start{position:relative}.hl-beat-start:before{content:attr(data-beat);position:absolute;left:var(--beat-letter-left);top:0;width:var(--beat-letter-size);height:var(--beat-letter-size);font-size:var(--beat-letter-font-size);font-weight:700;line-height:var(--beat-letter-size);text-align:center;border-radius:50%;color:#fff;z-index:2;pointer-events:none}.hl-beat-start.hl-beat-1:before{background:#dd3c3c}.hl-beat-start.hl-beat-2:before{background:#e68019}.hl-beat-start.hl-beat-3:before{background:#cfb017;color:#333}.hl-beat-start.hl-beat-4:before{background:#2eb85c}.hl-beat-start.hl-beat-5:before{background:#2eb8b8}.hl-beat-start.hl-beat-6:before{background:#3c8cdd}.hl-beat-start.hl-beat-7:before{background:#8c47d1}.hl-beat-start.hl-beat-8:before{background:#d1478c}:root[data-beat-lining=off] .hl-beat-1:after,:root[data-beat-lining=off] .hl-beat-2:after,:root[data-beat-lining=off] .hl-beat-3:after,:root[data-beat-lining=off] .hl-beat-4:after,:root[data-beat-lining=off] .hl-beat-5:after,:root[data-beat-lining=off] .hl-beat-6:after,:root[data-beat-lining=off] .hl-beat-7:after,:root[data-beat-lining=off] .hl-beat-8:after,:root[data-beat-lining=off] .hl-beat-start:before{display:none}:root[data-beat-lining=off] .hl-beat-tint-block.hl-beat-2,:root[data-beat-lining=off] .hl-beat-tint-block.hl-beat-3,:root[data-beat-lining=off] .hl-beat-tint-block.hl-beat-4,:root[data-beat-lining=off] .hl-beat-tint-block.hl-beat-5,:root[data-beat-lining=off] .hl-beat-tint-block.hl-beat-6,:root[data-beat-lining=off] .hl-beat-tint-block.hl-beat-7,:root[data-beat-lining=off] .hl-beat-tint-block.hl-beat-8,:root[data-beat-lining=off] .hl-beat-tint.hl-beat-2,:root[data-beat-lining=off] .hl-beat-tint.hl-beat-3,:root[data-beat-lining=off] .hl-beat-tint.hl-beat-4,:root[data-beat-lining=off] .hl-beat-tint.hl-beat-5,:root[data-beat-lining=off] .hl-beat-tint.hl-beat-6,:root[data-beat-lining=off] .hl-beat-tint.hl-beat-7,:root[data-beat-lining=off] .hl-beat-tint.hl-beat-8{background:none;box-shadow:none}.editor-container[data-beat-lining=off] .hl-beat-1:after,.editor-container[data-beat-lining=off] .hl-beat-2:after,.editor-container[data-beat-lining=off] .hl-beat-3:after,.editor-container[data-beat-lining=off] .hl-beat-4:after,.editor-container[data-beat-lining=off] .hl-beat-5:after,.editor-container[data-beat-lining=off] .hl-beat-6:after,.editor-container[data-beat-lining=off] .hl-beat-7:after,.editor-container[data-beat-lining=off] .hl-beat-8:after,.editor-container[data-beat-lining=off] .hl-beat-start:before{display:none}.editor-container[data-beat-lining=off] .hl-beat-tint-block.hl-beat-2,.editor-container[data-beat-lining=off] .hl-beat-tint-block.hl-beat-3,.editor-container[data-beat-lining=off] .hl-beat-tint-block.hl-beat-4,.editor-container[data-beat-lining=off] .hl-beat-tint-block.hl-beat-5,.editor-container[data-beat-lining=off] .hl-beat-tint-block.hl-beat-6,.editor-container[data-beat-lining=off] .hl-beat-tint-block.hl-beat-7,.editor-container[data-beat-lining=off] .hl-beat-tint-block.hl-beat-8,.editor-container[data-beat-lining=off] .hl-beat-tint.hl-beat-2,.editor-container[data-beat-lining=off] .hl-beat-tint.hl-beat-3,.editor-container[data-beat-lining=off] .hl-beat-tint.hl-beat-4,.editor-container[data-beat-lining=off] .hl-beat-tint.hl-beat-5,.editor-container[data-beat-lining=off] .hl-beat-tint.hl-beat-6,.editor-container[data-beat-lining=off] .hl-beat-tint.hl-beat-7,.editor-container[data-beat-lining=off] .hl-beat-tint.hl-beat-8{background:none;box-shadow:none}:root[data-beat-tint=on] .focus-mode-active .editor-container[data-beat-lining=off] .hl-beat-tint-block.hl-beat-2{background:#e680190d}:root[data-beat-tint=on] .focus-mode-active .editor-container[data-beat-lining=off] .hl-beat-tint-block.hl-beat-3{background:#cfb0170d}:root[data-beat-tint=on] .focus-mode-active .editor-container[data-beat-lining=off] .hl-beat-tint-block.hl-beat-4{background:#2eb85c0d}:root[data-beat-tint=on] .focus-mode-active .editor-container[data-beat-lining=off] .hl-beat-tint-block.hl-beat-5{background:#2eb8b80d}:root[data-beat-tint=on] .focus-mode-active .editor-container[data-beat-lining=off] .hl-beat-tint-block.hl-beat-6{background:#3c8cdd0d}:root[data-beat-tint=on] .focus-mode-active .editor-container[data-beat-lining=off] .hl-beat-tint-block.hl-beat-7{background:#8c47d10d}:root[data-beat-tint=on] .focus-mode-active .editor-container[data-beat-lining=off] .hl-beat-tint-block.hl-beat-8{background:#d1478c0d}:root[data-beat-tint=on] .focus-mode-active .editor-container[data-beat-lining=off] .hl-beat-tint.hl-beat-2{background:#e680190d}:root[data-beat-tint=on] .focus-mode-active .editor-container[data-beat-lining=off] .hl-beat-tint.hl-beat-3{background:#cfb0170d}:root[data-beat-tint=on] .focus-mode-active .editor-container[data-beat-lining=off] .hl-beat-tint.hl-beat-4{background:#2eb85c0d}:root[data-beat-tint=on] .focus-mode-active .editor-container[data-beat-lining=off] .hl-beat-tint.hl-beat-5{background:#2eb8b80d}:root[data-beat-tint=on] .focus-mode-active .editor-container[data-beat-lining=off] .hl-beat-tint.hl-beat-6{background:#3c8cdd0d}:root[data-beat-tint=on] .focus-mode-active .editor-container[data-beat-lining=off] .hl-beat-tint.hl-beat-7{background:#8c47d10d}:root[data-beat-tint=on] .focus-mode-active .editor-container[data-beat-lining=off] .hl-beat-tint.hl-beat-8{background:#d1478c0d}.hl-double-bracket{color:var(--comment);opacity:.5}[data-hide-brackets=on] .hl-double-bracket{color:transparent;-webkit-user-select:none;user-select:none}.screenplay-editor{max-width:800px;margin:0 auto;min-height:100%;outline:none;white-space:pre-wrap;font-size:14px}.screenplay-editor:focus{outline:none}.line{margin:0;padding:2px 0;min-height:1.5em;position:relative}.line-script-heading{color:var(--accent);font-weight:700;text-transform:uppercase;font-size:16px;margin-bottom:16px}.line-scene-heading{color:var(--text-primary);font-weight:700;text-transform:uppercase;margin-top:24px}.line-action{color:var(--action)}.line-character{color:var(--character);text-transform:uppercase;text-align:center;margin-top:12px}.line-parenthetical{color:var(--parenthetical);font-style:italic;text-align:center}.line-dialogue{color:var(--dialogue);margin-left:100px;margin-right:100px}.line-choice{color:var(--choice);font-weight:700}.line-choice-spoken{color:var(--choice-spoken)}.line-choice-action{color:var(--choice-action);font-style:italic}.line-moment{color:var(--moment);font-weight:700;text-transform:uppercase;margin-top:24px;margin-bottom:8px}.line-markup{color:var(--markup);font-family:monospace}.line-comment{color:var(--comment);font-style:italic}.line-empty{min-height:1.5em}.indent-1{padding-left:40px;border-left:2px solid var(--choice)}.indent-2{padding-left:80px;border-left:2px solid var(--accent)}.indent-3{padding-left:120px;border-left:2px solid var(--moment)}.indent-4{padding-left:160px;border-left:2px solid var(--markup)}.branch-letter{position:absolute;right:-30px;color:var(--text-secondary);font-size:12px;font-weight:700}.autocomplete-popup{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 12px #0000004d;max-height:150px;overflow-y:auto;z-index:1000;min-width:120px}.autocomplete-item{padding:8px 12px;cursor:pointer;font-size:12px;color:var(--character);font-weight:700;text-transform:uppercase;transition:background .1s ease}.autocomplete-item:hover,.autocomplete-item.selected{background:var(--accent);color:#fff}.editor-controls-row{display:flex;align-items:stretch;border-bottom:1px solid var(--border)}.editor-controls-row .gutter-toggle-button{width:65px;min-width:65px;background:var(--bg-secondary);border:none;border-right:1px solid var(--border);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.editor-controls-row .gutter-toggle-button:hover{background:var(--bg-tertiary)}.editor-controls-row .gutter-toggle-button:active{background:var(--bg-primary)}.gutter-toggle-dot{width:10px;height:10px;border-radius:50%;transition:background-color .15s ease,box-shadow .15s ease}.gutter-mode-0 .gutter-toggle-dot{background-color:#333}.gutter-mode-1 .gutter-toggle-dot{background-color:#2d5a2d}.gutter-mode-2 .gutter-toggle-dot{background-color:#4a9a4a}.gutter-mode-3 .gutter-toggle-dot{background-color:#5fd35f;box-shadow:0 0 6px #5fd35f}[data-theme=light] .gutter-mode-0 .gutter-toggle-dot{background-color:#ccc}[data-theme=light] .gutter-mode-1 .gutter-toggle-dot{background-color:#7ab87a}[data-theme=light] .gutter-mode-2 .gutter-toggle-dot{background-color:#4a9a4a}[data-theme=light] .gutter-mode-3 .gutter-toggle-dot{background-color:#2d7a2d;box-shadow:0 0 6px #2d7a2d}.lint-gutter{position:absolute;left:0;top:0;width:20px;height:100%;z-index:3;pointer-events:none;overflow:visible}.lint-gutter-content{position:relative}.lint-gutter-row{position:relative;display:flex;align-items:center;pointer-events:auto;cursor:pointer}.lint-gutter-marker{width:12px;height:12px;margin-left:4px;border-radius:50%;opacity:.9;transition:transform .1s ease;flex-shrink:0}.lint-gutter-row:hover .lint-gutter-marker{transform:scale(1.2);opacity:1}.lint-gutter-marker.lint-gutter-error{background-color:#e53935}.lint-gutter-marker.lint-gutter-warning{background-color:#ffc107}.lint-gutter-marker.lint-gutter-info{background-color:var(--accent, #2196f3)}.lint-gutter-tooltip{position:absolute;left:24px;top:-4px;background:var(--bg-secondary, #1a1a1a);border:1px solid var(--border, #333);padding:6px 10px;border-radius:4px;font-size:12px;white-space:normal;z-index:100;min-width:280px;max-width:550px;box-shadow:0 4px 12px #0000004d}.lint-gutter-tooltip.pinned{border-color:var(--accent, #2196f3)}.lint-gutter-tooltip-header{display:flex;justify-content:flex-end;margin-bottom:6px;gap:4px}.lint-gutter-tooltip-copy,.lint-gutter-tooltip-close{background:transparent;border:1px solid var(--border, #444);border-radius:3px;color:var(--text-secondary, #999);font-size:10px;padding:2px 6px;cursor:pointer;transition:all .15s ease}.lint-gutter-tooltip-copy:hover,.lint-gutter-tooltip-close:hover{background:var(--bg-tertiary, #333);color:var(--text-primary, #e0e0e0)}.lint-gutter-tooltip-close{font-size:14px;line-height:1;padding:0 5px}.lint-gutter-tooltip-item{margin-bottom:4px}.lint-gutter-tooltip-item:last-child{margin-bottom:0}.lint-gutter-tooltip-code{font-weight:600}.lint-gutter-tooltip-code.lint-gutter-error{color:#e53935}.lint-gutter-tooltip-code.lint-gutter-warning{color:#ffc107}.lint-gutter-tooltip-code.lint-gutter-info{color:var(--accent, #2196f3)}.lint-gutter-tooltip-message{color:var(--text-primary, #e0e0e0);white-space:normal;word-break:break-word}[data-theme=light] .lint-gutter-tooltip{background:var(--bg-secondary);border-color:var(--border)}[data-theme=light] .lint-gutter-tooltip.pinned{border-color:var(--accent, #2196f3)}[data-theme=light] .lint-gutter-tooltip-message{color:var(--text-primary)}[data-theme=light] .lint-gutter-tooltip-copy,[data-theme=light] .lint-gutter-tooltip-close{border-color:var(--border);color:var(--text-secondary)}[data-theme=light] .lint-gutter-tooltip-copy:hover,[data-theme=light] .lint-gutter-tooltip-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.line-number-gutter{position:absolute;top:0;width:45px;height:100%;z-index:2;overflow:visible;background:var(--bg-primary);border-right:1px solid var(--border, #333);-webkit-user-select:none;user-select:none}.line-number-content{position:relative}.line-number{height:calc(var(--editor-font-size) * var(--editor-line-height));line-height:1;display:flex;align-items:flex-start;justify-content:flex-end;font-family:var(--editor-font-family);font-size:var(--editor-font-size);color:var(--text-secondary, #666);padding-right:8px;box-sizing:border-box}.line-number:hover{color:var(--text-primary, #e0e0e0)}[data-theme=light] .lint-status:hover{background:#0000000d}[data-theme=light] .lint-status-item.warning{color:#b8860b}.wire-planning{display:flex;flex-direction:column;height:100%}.wire-planning.expanded{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:var(--bg-primary)}.wire-breadcrumb{padding:8px;background:var(--bg-tertiary);border-bottom:1px solid var(--border);font-size:12px;display:flex;align-items:center;flex-wrap:nowrap;overflow:hidden;gap:2px}.wire-breadcrumb-btn{background:none;border:none;color:var(--text-secondary);text-decoration:underline;cursor:pointer;padding:2px 4px;font-family:inherit;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.wire-breadcrumb-btn:hover{color:var(--text-primary)}.wire-breadcrumb-btn.current{color:var(--text-primary);text-decoration:none;cursor:default;flex-shrink:0}.wire-breadcrumb-separator{color:var(--text-secondary)}.wire-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.wire-toolbar-btn{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px;font-family:inherit;transition:all .15s ease}.wire-toolbar-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.wire-toolbar-btn.danger{color:#e74c3c;border-color:#e74c3c}.wire-toolbar-btn.danger:hover{background:#e74c3c;color:#fff;border-color:#e74c3c}.wire-toolbar-level-label{font-size:13px;font-weight:600;color:var(--text-primary)}.wire-toolbar-add{background:var(--accent);color:#fff;border-color:var(--accent)}.wire-toolbar-add:hover{background:color-mix(in srgb,var(--accent) 85%,white)}.wire-toolbar-delete{background:var(--markup);color:#fff;border-color:var(--markup)}.wire-toolbar-delete:hover{background:color-mix(in srgb,var(--markup) 85%,white)}.wire-canvas-wrapper{position:relative;flex:1;min-height:300px;display:flex;flex-direction:column}.wire-floating-buttons{position:absolute;top:12px;left:12px;display:flex;gap:8px;z-index:100;pointer-events:none}.wire-floating-buttons>*{pointer-events:auto}.wire-floating-btn{padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #0003;transition:all .15s ease;font-family:inherit}.wire-floating-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000040}.wire-floating-add{background:var(--accent);color:#fff}.wire-floating-add:hover{background:color-mix(in srgb,var(--accent) 85%,white)}.wire-floating-edit{background:#3b82f6;color:#fff}.wire-floating-edit:hover{background:#60a5fa}.wire-floating-import{background:#3b82f6;color:#fff}.wire-floating-import:hover{background:#60a5fa}.wire-floating-delete{background:var(--markup);color:#fff}.wire-floating-delete:hover{background:color-mix(in srgb,var(--markup) 85%,white)}.wire-canvas{position:relative;overflow:auto;flex:1;background:var(--bg-tertiary);border:1px solid var(--border)}.wire-canvas.pan-mode{cursor:grab}.wire-canvas.pan-mode .wire-card,.wire-canvas.pan-mode .wire-add-btn{pointer-events:none}.wire-canvas.panning{cursor:grabbing}.wire-canvas-empty{padding:20px;text-align:center;color:var(--text-secondary)}.wire-canvas-content{position:relative;box-sizing:border-box}.wire-card{position:absolute;background:var(--bg-secondary);border:2px solid var(--border);border-radius:8px;padding:8px;cursor:grab;-webkit-user-select:none;user-select:none;box-shadow:2px 2px 8px #0000004d;transition:box-shadow .15s ease;z-index:50}.wire-card:hover{box-shadow:3px 3px 12px #0006}.wire-card.selected{border-color:var(--accent)!important;box-shadow:0 0 0 3px #8b5cf666,0 4px 12px #8b5cf64d}.wire-card.selected:hover{box-shadow:0 0 0 3px #8b5cf680,0 6px 16px #8b5cf666}.wire-card.dragging{cursor:grabbing;z-index:1000;box-shadow:4px 4px 16px #00000080}.wire-card.episode{border-color:var(--wire-episode);width:150px;min-height:80px}.wire-card.scene{border-color:var(--wire-scene);width:150px;min-height:80px}.wire-card.moment{border-color:var(--wire-moment);min-width:180px;max-width:300px;min-height:120px}.wire-card.orphaned{border-style:dashed;border-color:var(--text-secondary);opacity:.7;filter:grayscale(40%)}.wire-card.orphaned:after{content:"ORPHANED";position:absolute;top:-8px;right:-8px;background:#e57373;color:#fff;font-size:8px;padding:2px 5px;border-radius:3px;font-weight:700;letter-spacing:.5px}.wire-card.orphaned:hover{opacity:.85}.wire-card.unwired{border-style:dashed;border-color:#f59e0b}.wire-card.unwired:hover{border-color:#fbbf24}.wire-card.locked{position:relative}.wire-card.locked-by-other{border-color:#f59e0b;opacity:.7}.wire-card.locked-by-me{border-color:#22c55e;border-width:2px}.wire-card-lock-indicator{position:absolute;top:4px;right:4px;font-size:14px;display:flex;align-items:center;gap:4px;z-index:5}.wire-card-lock-indicator .lock-owner{font-size:9px;color:var(--text-secondary);background:var(--bg-tertiary);padding:2px 4px;border-radius:3px;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wire-card-checkout-btn,.wire-card-release-btn{position:absolute;bottom:4px;right:4px;font-size:9px;padding:3px 6px;border-radius:3px;border:none;cursor:pointer;opacity:0;transition:opacity .2s;z-index:5}.wire-card:hover .wire-card-checkout-btn,.wire-card:hover .wire-card-release-btn{opacity:1}.wire-card-checkout-btn{background:var(--accent);color:#fff}.wire-card-checkout-btn:hover{background:var(--accent-hover)}.wire-card-release-btn{background:#22c55e;color:#fff}.wire-card-release-btn:hover{background:#16a34a}.wire-card-title{font-weight:700;font-size:12px;margin-bottom:4px;color:var(--text-primary)}.wire-card-code-prefix{display:block;font-family:monospace;font-size:var(--ui-font-size, 12px);font-weight:700;color:var(--accent);letter-spacing:.5px;margin-bottom:1px}.wire-card-ornamental-name{display:block;font-size:var(--ui-font-size-sm, 11px);font-weight:400;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wire-card-characters{font-size:10px;color:var(--text-secondary);margin-bottom:4px}.wire-card-stub{font-size:9px;color:var(--text-secondary);background:var(--bg-tertiary);padding:2px 4px;border-radius:3px;margin-top:4px}.wire-controls{padding:8px;font-size:11px;color:var(--text-secondary);background:var(--bg-secondary);border-top:1px solid var(--border)}.wire-validation-error{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:#e57373;color:#fff;padding:12px 16px;border-radius:6px;display:flex;align-items:center;gap:10px;box-shadow:0 4px 12px #0000004d;z-index:10000;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.wire-validation-icon{font-size:18px}.wire-validation-message{font-size:13px;font-weight:500}.wire-validation-dismiss{background:transparent;border:none;color:#fff;font-size:18px;cursor:pointer;padding:0 4px;opacity:.7}.wire-validation-dismiss:hover{opacity:1}.moment-protection-error{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:#7986cb;color:#fff;padding:12px 16px;border-radius:6px;display:flex;align-items:center;gap:10px;box-shadow:0 4px 12px #0000004d;z-index:10000;animation:slideUp .3s ease}.moment-protection-icon{font-size:18px}.moment-protection-message{font-size:13px;font-weight:500}.moment-protection-dismiss{background:transparent;border:none;color:#fff;font-size:18px;cursor:pointer;padding:0 4px;opacity:.7}.moment-protection-dismiss:hover{opacity:1}.scene-locked-banner{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:10px 16px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;border-bottom:1px solid rgba(0,0,0,.1)}.scene-locked-banner .locked-icon{font-size:16px}.scene-locked-banner .locked-message{flex:1}.screenplay-textarea.read-only{cursor:not-allowed;background:#0000000d}.wire-planning-center{flex:1;display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden}.wire-planning-center .wire-canvas{flex:1;min-height:0}.notes-mode-center{flex:1;display:flex;flex-direction:column;background:var(--bg-primary);overflow:auto;padding:24px}.notes-mode-header{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.notes-mode-header h2{margin:0 0 8px;font-size:20px;color:var(--text-primary)}.notes-mode-header p{margin:0;font-size:13px;color:var(--text-secondary)}.notes-mode-center .codex{flex:1;max-width:900px}.notes-sidebar{display:flex;flex-direction:column;background:var(--bg-secondary);border-left:1px solid var(--border);min-width:300px;max-width:600px}.notes-sidebar-header{padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-tertiary)}.notes-sidebar-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.notes-textarea{flex:1;width:100%;padding:16px;border:none;background:var(--bg-primary);color:var(--text-primary);font-family:var(--editor-font-family);font-size:14px;line-height:1.6;resize:none;outline:none}.notes-textarea::placeholder{color:var(--text-secondary)}.wire-toolbar{display:flex;align-items:center;justify-content:space-between}.wire-toolbar-left,.wire-toolbar-right{display:flex;align-items:center;gap:8px}.wire-toolbar-center{display:flex;align-items:center;gap:4px;margin:0 auto}.wire-zoom-controls{display:flex;align-items:center;gap:4px}.wire-zoom-btn{width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s,border-color .15s}.wire-zoom-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--accent)}.wire-zoom-btn:disabled{opacity:.4;cursor:not-allowed}.wire-zoom-indicator{min-width:40px;text-align:center;font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.wire-dirty-indicator{color:var(--accent);font-size:18px;line-height:1}.wire-add-btn{background:var(--bg-tertiary);border:2px dashed var(--border);border-radius:8px;padding:16px 20px;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:12px;transition:all .15s ease;min-width:120px;text-align:center}.wire-add-btn:hover{border-color:var(--accent);color:var(--accent);background:#4a9eff1a}.wire-card-form{background:var(--bg-secondary);border:2px solid var(--accent);border-radius:8px;padding:16px;width:280px;box-shadow:0 4px 20px #00000080}.wire-card-form input,.wire-card-form textarea{width:100%;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;padding:10px;color:var(--text-primary);font-family:inherit;font-size:13px;margin-bottom:12px}.wire-card-form input:focus,.wire-card-form textarea:focus{outline:none;border-color:var(--accent)}.wire-card-form textarea{resize:vertical;min-height:60px}.wire-form-buttons{display:flex;gap:8px;justify-content:flex-end}.wire-form-buttons button{padding:8px 16px;border-radius:4px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:12px;transition:all .15s ease}.wire-form-buttons button:hover{background:var(--bg-primary)}.wire-btn-primary{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.wire-btn-primary:hover{background:var(--accent-hover)!important}.wire-btn-primary:disabled{background:var(--border)!important;border-color:var(--border)!important;cursor:not-allowed;opacity:.6}.wire-form-prefix-row{display:flex;align-items:center;gap:4px;margin-bottom:8px;padding:6px 10px;background:var(--bg-tertiary);border-radius:4px;border:1px solid var(--border)}.wire-form-code-prefix{font-family:monospace;font-size:13px;font-weight:600;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.wire-form-scene-code-inline{font-family:monospace;font-size:13px;font-weight:600;background:var(--bg-primary);border:1px solid var(--border);border-radius:3px;padding:4px 6px;color:var(--text-primary);text-transform:uppercase;width:60px}.wire-form-scene-code-inline.input-error{border-color:var(--markup)!important;background:#ff57571a}.wire-scene-code-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.wire-scene-code-field label{font-size:12px;color:var(--text-secondary);font-weight:500}.wire-scene-code-field input{width:100px!important;font-family:monospace;text-transform:uppercase}.wire-scene-code-field input.input-error{border-color:var(--markup)!important;background:#ff57571a}.wire-error-msg{color:var(--markup);font-size:11px;font-weight:500}.wire-hint{color:var(--text-secondary);font-size:10px;opacity:.8}.wire-card-edit-btn{position:absolute;bottom:4px;left:4px;width:20px;height:20px;padding:0;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;font-size:12px;opacity:0;transition:opacity .15s ease,color .15s ease;display:flex;align-items:center;justify-content:center}.wire-card:hover .wire-card-edit-btn{opacity:.6}.wire-card-edit-btn:hover{opacity:1;color:var(--text-primary)}.wire-card-summary{font-size:10px;color:var(--text-secondary);cursor:default;min-height:24px;padding:4px;border-radius:3px;margin-top:4px;word-wrap:break-word;overflow:hidden}.wire-card.episode .wire-card-summary{background:color-mix(in srgb,var(--wire-episode) 12%,var(--bg-secondary))}.wire-card.scene .wire-card-summary{background:color-mix(in srgb,var(--wire-scene) 12%,var(--bg-secondary))}.wire-card.moment .wire-card-summary{background:color-mix(in srgb,var(--wire-moment) 12%,var(--bg-secondary))}.wire-card-summary.placeholder{font-style:italic;opacity:.6}.wire-card-summary-edit{width:100%;background:var(--bg-primary);border:1px solid var(--accent);border-radius:3px;padding:4px;color:var(--text-primary);font-family:inherit;font-size:10px;margin-top:4px;resize:none}.wire-card-summary-edit:focus{outline:none}.wire-card.custom{border-style:dashed}.wire-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.wire-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:3000}.wire-confirm-dialog{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:20px;width:320px;box-shadow:0 8px 24px #00000080}.wire-confirm-dialog h4{margin:0 0 12px;color:var(--text-primary);font-size:16px}.wire-confirm-dialog p{margin:0 0 12px;color:var(--text-secondary);font-size:13px}.wire-confirm-warning{color:var(--markup)!important;font-weight:500}.wire-confirm-list{margin:8px 0;padding-left:20px;font-size:12px;color:var(--text-secondary);max-height:120px;overflow-y:auto}.wire-confirm-list li{margin:4px 0}.wire-confirm-buttons{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.wire-confirm-buttons button{padding:8px 16px;border-radius:4px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:12px;transition:all .15s ease}.wire-confirm-buttons button:hover{background:var(--bg-primary)}.wire-btn-danger{background:var(--markup)!important;border-color:var(--markup)!important;color:#fff!important}.wire-btn-danger:hover{opacity:.9}.wire-sync-btn{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;animation:pulse-sync 2s infinite}.wire-sync-btn:hover{background:var(--accent-hover)!important;animation:none}@keyframes pulse-sync{0%,to{opacity:1}50%{opacity:.7}}.wire-summary-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:4000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.wire-summary-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;box-shadow:0 20px 50px #00000080;min-width:400px;min-height:300px;position:relative}.wire-summary-modal.dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}.wire-summary-modal.resizing{-webkit-user-select:none;user-select:none}.wire-modal-resize-handle{position:absolute;bottom:0;right:0;width:20px;height:20px;cursor:se-resize;background:transparent;z-index:10}.wire-modal-resize-handle:before{content:"";position:absolute;bottom:4px;right:4px;width:10px;height:10px;border-right:2px solid var(--text-secondary);border-bottom:2px solid var(--text-secondary);opacity:.5}.wire-modal-resize-handle:hover:before{opacity:1;border-color:var(--accent)}.wire-summary-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0}.wire-summary-modal-header:active{cursor:grabbing}.wire-summary-modal-title{display:flex;align-items:center;gap:12px}.wire-summary-modal-type{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:4px 8px;border-radius:4px;background:var(--accent);color:#fff}.wire-modal-code-prefix{font-family:monospace;font-size:14px;font-weight:600;color:var(--text-secondary);padding:4px 0;-webkit-user-select:none;user-select:none;white-space:nowrap}.wire-summary-modal-name{font-size:16px;font-weight:600;color:var(--text-primary)}.wire-summary-modal-title-input{flex:1;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text-primary);font-size:16px;font-weight:600;padding:4px 0;margin:0 12px}.wire-summary-modal-title-input:focus{outline:none;border-bottom-color:var(--accent)}.wire-summary-modal-close{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:4px 8px;line-height:1;border-radius:4px;transition:all .15s ease}.wire-summary-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.wire-summary-modal-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:row;gap:0}.wire-modal-editor-area{flex:1;padding:24px 32px;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.wire-modal-editor-area .rte-wrapper{flex:1 1 0%;min-height:0;display:flex;flex-direction:column;font-size:16px;line-height:1.7;overflow:visible}.wire-modal-editor-area .rte-wrapper>.tiptap,.wire-modal-editor-area .rte-wrapper>div:not(.rte-toolbar){flex:1 1 0%;display:flex;flex-direction:column;min-height:0}.wire-modal-editor-area .rte-wrapper .ProseMirror{flex:1 1 0%;font-size:16px;line-height:1.7;padding:12px 16px;overflow-y:auto;min-height:0}.wire-modal-info-sidebar{width:200px;min-width:200px;border-left:1px solid var(--border);padding:16px;background:var(--bg-tertiary);overflow-y:auto;display:flex;flex-direction:column;gap:12px}.wire-modal-info-section{margin-bottom:8px}.wire-modal-info-section h4{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:0 0 8px}.info-tags{display:flex;flex-wrap:wrap;gap:4px}.info-tag{display:inline-block;padding:3px 8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;font-size:12px;color:var(--text-primary)}.info-choice{display:flex;align-items:flex-start;gap:8px;padding:6px 0;font-size:12px;border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .2))}.info-choice:last-child{border-bottom:none}.choice-letter{font-weight:600;color:var(--accent);min-width:16px;flex-shrink:0}.choice-label{color:var(--text-primary);line-height:1.4}.wire-modal-info-empty{color:var(--text-secondary);font-size:12px;font-style:italic;padding:8px 0}.wire-modal-info-empty .info-hint{margin-top:8px;font-size:11px;opacity:.8}.wire-modal-reanalyze-btn{margin-top:auto;padding:6px 10px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s ease}.wire-modal-reanalyze-btn:hover{background:var(--bg-primary);color:var(--text-primary);border-color:var(--accent)}.wire-modal-reanalyze-btn:disabled{opacity:.5;cursor:not-allowed}.wire-modal-analyze-btn{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;padding:4px 10px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .15s ease;margin-right:8px}.wire-modal-analyze-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--accent)}.wire-modal-analyze-btn:disabled{opacity:.5;cursor:not-allowed}.props-list{display:flex;flex-direction:column;gap:6px}.prop-item{display:flex;align-items:center;gap:6px;padding:4px 6px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;font-size:12px}.prop-type-toggle{background:none;border:none;cursor:pointer;font-size:14px;padding:0 2px;line-height:1;opacity:.8;transition:opacity .15s ease,transform .15s ease}.prop-type-toggle:hover{opacity:1;transform:scale(1.1)}.prop-name{flex:1;color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prop-beats{display:flex;gap:2px}.beat-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 3px;font-size:10px;font-weight:600;border-radius:3px;color:#fff;text-transform:uppercase}.beat-indicator.beat-introduced{background:#2eb85c}.beat-indicator.beat-present{background:#3c8cdd}.beat-indicator.beat-removed{background:#dd3c3c}.prop-remove-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;line-height:1;padding:0 2px;opacity:.5;transition:opacity .15s ease,color .15s ease}.prop-remove-btn:hover{opacity:1;color:#dd3c3c}.prop-add-form{display:flex;gap:4px;margin-top:8px}.prop-add-input{flex:1;padding:4px 8px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:11px;outline:none}.prop-add-input:focus{border-color:var(--accent)}.prop-add-input::placeholder{color:var(--text-secondary);opacity:.7}.prop-add-btn{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:14px;font-weight:600;padding:0 8px;cursor:pointer;transition:all .15s ease}.prop-add-btn:hover:not(:disabled){background:var(--accent);color:#fff;border-color:var(--accent)}.prop-add-btn:disabled{opacity:.3;cursor:not-allowed}.wire-summary-modal-body>.rich-text-editor{flex:1;min-height:150px}.wire-summary-modal-editor{width:100%;height:250px;min-height:200px;padding:16px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:14px;line-height:1.6;resize:vertical;outline:none;transition:border-color .15s ease}.wire-summary-modal-editor:focus{border-color:var(--accent)}.wire-summary-modal-editor::placeholder{color:var(--text-secondary);opacity:.7}.wire-modal-ai-section{border-top:1px solid var(--border);padding:12px 20px}.wire-modal-ai-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:4px 0;display:flex;align-items:center;gap:8px}.wire-modal-ai-toggle:hover{color:var(--text-primary)}.wire-modal-ai-content{margin-top:12px}.wire-modal-ai-buttons{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.wire-modal-ai-buttons button{font-size:12px;padding:6px 12px}.wire-modal-ai-chat{display:flex;gap:8px}.wire-modal-ai-input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:13px}.wire-modal-ai-input:focus{outline:none;border-color:var(--accent)}.wire-modal-ai-input::placeholder{color:var(--text-secondary)}.wire-modal-ai-response{margin-top:12px;padding:12px;background:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border)}.wire-modal-ai-response-text{white-space:pre-wrap;font-size:13px;color:var(--text-primary);line-height:1.5;margin-bottom:12px}.wire-modal-ai-loading{color:var(--text-secondary);font-style:italic}.wire-modal-ai-insert{font-size:12px;padding:6px 12px}.wire-summary-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid var(--border);flex-shrink:0}.wire-summary-modal-hint{font-size:11px;color:var(--text-secondary)}.wire-summary-modal-buttons{display:flex;gap:10px}.wire-summary-modal-buttons button{padding:10px 20px;border-radius:6px;border:1px solid var(--border);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.wire-btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.wire-btn-secondary:hover{background:var(--bg-primary)}.wire-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.wire-btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.rte-wrapper{border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);overflow:hidden}.rte-toolbar{display:flex;align-items:center;gap:2px;padding:8px 10px;background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.rte-toolbar-btn{padding:6px 10px;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:13px;font-family:inherit;min-width:30px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.rte-toolbar-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.rte-toolbar-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.rte-toolbar-separator{width:1px;height:20px;background:var(--border);margin:0 6px}.rte-content{min-height:200px;max-height:400px;overflow-y:auto;padding:16px;color:var(--text-primary);font-size:14px;line-height:1.6;outline:none}.rte-content:empty:before{content:attr(data-placeholder);color:var(--text-secondary);opacity:.6;pointer-events:none}.rte-content p{margin:0 0 .75em}.rte-content p:last-child{margin-bottom:0}.rte-content strong{font-weight:600;color:var(--text-primary)}.rte-content em{font-style:italic}.rte-content u{text-decoration:underline}.rte-content ul,.rte-content ol{margin:0 0 .75em;padding-left:1.5em}.rte-content ul{list-style-type:disc}.rte-content ol{list-style-type:decimal}.rte-content li{margin-bottom:.25em}.rte-content li p{margin:0}.rte-content ul ul,.rte-content ol ol,.rte-content ul ol,.rte-content ol ul{margin-top:.25em;margin-bottom:0}.ProseMirror,.ProseMirror-focused{outline:none}.rte-content ::selection{background:color-mix(in srgb,var(--accent) 40%,transparent)}.wire-card-title-edit{width:100%;padding:4px 8px;background:var(--bg-primary);border:1px solid var(--accent);border-radius:4px;color:var(--text-primary);font-size:13px;font-weight:600;font-family:inherit;outline:none;box-sizing:border-box}.wire-card-title-edit:focus{box-shadow:0 0 0 2px rgba(var(--accent-rgb, 100, 149, 237),.3)}.script-breadcrumb{display:flex;align-items:center;gap:8px;padding:0 16px 0 44px;background:var(--bg-tertiary);border-bottom:1px solid var(--border);font-size:12px;flex-wrap:nowrap;overflow:hidden;height:var(--panel-header-height)}.script-breadcrumb button{background:none;border:none;color:var(--accent);cursor:pointer;padding:4px 6px;border-radius:4px;font-family:inherit;font-size:12px;transition:all .15s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.script-breadcrumb button:hover{background:var(--bg-secondary);text-decoration:underline}.script-breadcrumb .current{color:var(--text-primary);font-weight:500;padding:4px 6px;flex-shrink:0}.script-breadcrumb .separator{color:var(--text-secondary);font-size:14px}.wire-port{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--bg-tertiary);border:2px solid var(--border);cursor:crosshair;z-index:10;transition:all .15s ease;opacity:0}.wire-port:before{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px;border-radius:8px}.wire-card:hover .wire-port{opacity:1}.wire-port:hover{transform:scale(1.3);border-color:var(--accent);background:var(--accent)}.wire-port:hover:before{background:color-mix(in srgb,var(--accent) 15%,transparent)}.wire-port-input{left:-7px;top:60px;transform:translateY(-50%)}.wire-port-output{right:-7px;top:60px;transform:translateY(-50%)}.wire-port.active,.wire-card:hover .wire-port-output:active{background:var(--accent);border-color:var(--accent);box-shadow:0 0 8px var(--accent);opacity:1}.wire-canvas.connecting{-webkit-user-select:none;user-select:none}.wire-canvas.connecting .wire-port{opacity:1}.wire-canvas.connecting-from-output .wire-port-input,.wire-canvas.connecting-from-input .wire-port-output{animation:pulse-port 1s ease-in-out infinite;border-color:var(--accent)}.wire-canvas.connecting:not(.connecting-from-output):not(.connecting-from-input) .wire-port-input{animation:pulse-port 1s ease-in-out infinite}@keyframes pulse-port{0%,to{transform:scale(1);box-shadow:none}50%{transform:scale(1.2);box-shadow:0 0 8px var(--accent)}}.wire-connection-svg{pointer-events:none}.wire-connection-dragging{z-index:100}.whiteboard-toolbar{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--panel-bg);border-bottom:1px solid var(--border);min-height:40px;flex-shrink:0}.whiteboard-toolbar:not(.enabled){opacity:.9}.whiteboard-toolbar-divider{width:1px;height:24px;background:var(--border);margin:0 4px}.whiteboard-tool-group{display:flex;gap:2px}.whiteboard-tool-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.whiteboard-tool-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.whiteboard-tool-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.whiteboard-tool-icon{font-size:16px;line-height:1}.whiteboard-arrow-dropdown{position:relative;display:inline-flex}.whiteboard-arrow-dropdown .whiteboard-tool-btn{padding-right:6px;width:auto;min-width:32px;gap:2px}.whiteboard-dropdown-indicator{font-size:8px;opacity:.6;margin-left:2px}.whiteboard-arrow-menu{position:absolute;top:100%;left:0;margin-top:4px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #0000004d;z-index:100;min-width:140px;padding:4px}.whiteboard-arrow-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:transparent;border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;text-align:left;transition:background .15s ease}.whiteboard-arrow-option:hover{background:var(--bg-hover)}.whiteboard-arrow-option.active{background:var(--accent);color:#fff}.whiteboard-arrow-option-icon{font-size:16px;width:20px;text-align:center}.whiteboard-arrow-option-label{font-size:12px}.whiteboard-color-palette{display:flex;gap:4px}.whiteboard-color-btn{width:20px;height:20px;border:2px solid var(--border);border-radius:4px;cursor:pointer;transition:transform .1s ease,border-color .15s ease}.whiteboard-color-btn:hover{transform:scale(1.15)}.whiteboard-color-btn.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--accent)}.whiteboard-stroke-selector{display:flex;align-items:center}.whiteboard-stroke-select{padding:4px 28px 4px 8px;background-color:var(--bg-secondary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a0a0a0' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px;border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:12px;cursor:pointer;min-width:60px}.whiteboard-stroke-select:hover{border-color:var(--accent)}.whiteboard-stroke-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #8b5cf64d}.whiteboard-font-size-selector{display:flex;align-items:center}.whiteboard-font-size-select{padding:4px 28px 4px 8px;background-color:var(--bg-secondary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a0a0a0' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px;border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:12px;cursor:pointer;min-width:60px}.whiteboard-font-size-select:hover{border-color:var(--accent)}.whiteboard-font-size-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #8b5cf64d}.whiteboard-history-group{display:flex;gap:2px}.whiteboard-action-group{display:flex;gap:4px}.whiteboard-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;font-size:14px}.whiteboard-action-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.whiteboard-action-btn:disabled{opacity:.4;cursor:not-allowed}.whiteboard-layer{position:absolute;top:0;left:0;overflow:visible;z-index:1}.whiteboard-layer.enabled{cursor:crosshair}.whiteboard-layer.tool-select{cursor:default}.whiteboard-layer.tool-select .whiteboard-element{cursor:grab}.whiteboard-layer.dragging,.whiteboard-layer.dragging *{cursor:grabbing!important}.whiteboard-layer.resizing *{cursor:nwse-resize!important}.whiteboard-layer.tool-freehand{cursor:crosshair}.whiteboard-layer.tool-eraser,.whiteboard-layer.tool-eraser .whiteboard-element{cursor:pointer}.whiteboard-layer.tool-eraser .whiteboard-element:hover{filter:drop-shadow(0 0 4px rgba(239,68,68,.7));opacity:.6}.whiteboard-layer.tool-text{cursor:text}.whiteboard-element{pointer-events:all;transition:filter .15s ease}.whiteboard-element.selected{filter:drop-shadow(0 0 4px var(--accent))}.whiteboard-layer.alt-held .whiteboard-element{cursor:pointer;filter:drop-shadow(0 0 4px rgba(255,100,100,.8))}.whiteboard-layer.alt-held .whiteboard-element path,.whiteboard-layer.alt-held .whiteboard-element line,.whiteboard-layer.alt-held .whiteboard-element rect:not([fill="#ffd43b"]),.whiteboard-layer.alt-held .whiteboard-element ellipse,.whiteboard-layer.alt-held .whiteboard-element polygon,.whiteboard-layer.alt-held .whiteboard-element text{stroke:#ff6b6b!important;fill:#ff6b6b!important}.whiteboard-layer.alt-held .whiteboard-sticky rect{stroke:#ff6b6b!important;stroke-width:3px!important}.whiteboard-preview{pointer-events:none}.wire-canvas.whiteboard-active{cursor:crosshair}.wire-canvas.whiteboard-active .wire-card{pointer-events:auto}.wire-canvas.whiteboard-active.tool-select{cursor:default}.whiteboard-sticky text{dominant-baseline:hanging}.whiteboard-selection-box{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:4 2;pointer-events:none}.whiteboard-resize-handle{fill:#fff;stroke:var(--accent);stroke-width:2;cursor:pointer}.whiteboard-resize-handle.nw{cursor:nwse-resize}.whiteboard-resize-handle.ne,.whiteboard-resize-handle.sw{cursor:nesw-resize}.whiteboard-resize-handle.se{cursor:nwse-resize}.whiteboard-resize-handle.n,.whiteboard-resize-handle.s{cursor:ns-resize}.whiteboard-resize-handle.e,.whiteboard-resize-handle.w{cursor:ew-resize}[data-theme=light] .whiteboard-toolbar{background:var(--panel-bg)}[data-theme=light] .whiteboard-color-btn{border-color:#ccc}[data-theme=light] .whiteboard-color-btn[style*="background-color: #ffffff"]{border-color:#999}.lint-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.lint-panel-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg-tertiary);flex-shrink:0}.lint-panel-title{font-weight:600;font-size:var(--ui-font-size-lg);color:var(--text-primary)}.lint-panel-count{font-size:var(--ui-font-size-md);color:var(--text-secondary)}.lint-panel-status.lint-status-linting{font-size:var(--ui-font-size-md);color:var(--accent);font-style:italic}.lint-panel-content{flex:1;overflow-y:auto;padding:4px 0}.lint-panel-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:var(--ui-font-size-lg);font-style:italic}.lint-section{border-bottom:1px solid var(--border)}.lint-section:last-child{border-bottom:none}.lint-section-header{display:flex;align-items:center;width:100%;padding:6px 12px;background:transparent;border:none;cursor:pointer;font-size:var(--ui-font-size-md);color:var(--text-primary);text-align:left}.lint-section-header:hover{background:var(--bg-tertiary)}.lint-section-toggle{width:16px;font-size:var(--ui-font-size-sm);color:var(--text-secondary);flex-shrink:0}.lint-section-title{flex:1;font-weight:500}.lint-section-count{color:var(--text-secondary);margin-left:8px}.lint-section.lint-level-error .lint-section-title{color:var(--markup)}.lint-section.lint-level-warning .lint-section-title{color:#ffc107}.lint-section.lint-level-info .lint-section-title{color:var(--accent)}.lint-section-content{padding-left:8px}.lint-issue-row{display:flex;align-items:center;gap:6px;padding:4px 12px 4px 8px;font-size:var(--ui-font-size-md);cursor:pointer;border-radius:3px;margin:2px 4px}.lint-issue-row:hover{background:var(--bg-tertiary)}.lint-issue-row:focus{outline:1px solid var(--accent);outline-offset:-1px}.lint-issue-code{font-family:monospace;font-size:var(--ui-font-size);font-weight:600;flex-shrink:0;min-width:36px}.lint-issue-line{font-family:monospace;font-size:var(--ui-font-size);color:var(--text-secondary);flex-shrink:0;min-width:32px}.lint-issue-message{flex:1;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lint-issue-row.lint-level-error .lint-issue-code{color:var(--markup)}.lint-issue-row.lint-level-warning .lint-issue-code{color:#ffc107}.lint-issue-row.lint-level-info .lint-issue-code{color:var(--accent)}.lint-issue-fix-btn{padding:2px 6px;font-size:var(--ui-font-size-sm);font-weight:600;background:var(--accent);color:#fff;border:none;border-radius:3px;cursor:pointer;flex-shrink:0;opacity:.8;transition:opacity .15s}.lint-issue-fix-btn:hover,.lint-issue-row:hover .lint-issue-fix-btn{opacity:1}[data-theme=light] .lint-panel-header,[data-theme=light] .lint-section-header:hover,[data-theme=light] .lint-issue-row:hover{background:var(--bg-tertiary)}.variable-drawer{border-top:1px solid var(--border);background:var(--bg-secondary);display:flex;flex-direction:column;height:200px;min-height:120px;flex-shrink:0;animation:drawer-slide-up .2s ease-out}@keyframes drawer-slide-up{0%{height:0;opacity:0}to{height:200px;opacity:1}}.variable-drawer.closing{animation:drawer-slide-down .2s ease-in forwards}@keyframes drawer-slide-down{0%{height:200px;opacity:1}to{height:0;opacity:0}}.variable-drawer-header{display:flex;align-items:center;gap:8px;padding:4px 12px;border-bottom:1px solid var(--border);background:var(--bg-tertiary);flex-shrink:0}.variable-drawer-title{font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap}.variable-drawer-filters{display:flex;gap:4px;flex:1;overflow-x:auto}.variable-filter-chip{padding:2px 8px;font-size:11px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.variable-filter-chip:hover{color:var(--text-primary);border-color:var(--text-secondary)}.variable-filter-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.variable-filter-chip.has-warnings{color:var(--state-change);border-color:var(--state-change)}.variable-filter-chip.has-warnings.active{background:var(--state-change);color:#fff}.variable-drawer-search{position:relative;display:flex;align-items:center}.variable-drawer-search input{width:140px;padding:2px 22px 2px 8px;font-size:12px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);outline:none}.variable-drawer-search input:focus{border-color:var(--accent)}.variable-drawer-search input::placeholder{color:var(--text-secondary);opacity:.6}.variable-search-clear{position:absolute;right:2px;background:none;border:none;color:var(--text-secondary);font-size:14px;cursor:pointer;padding:0 4px;line-height:1}.variable-search-clear:hover{color:var(--text-primary)}.variable-drawer-close{background:none;border:none;color:var(--text-secondary);font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.variable-drawer-close:hover{color:var(--text-primary)}.variable-drawer-content{overflow-y:auto;flex:1;padding:4px 0}.variable-drawer-empty{padding:16px;text-align:center;color:var(--text-secondary);font-size:12px}.variable-entry{border-bottom:1px solid transparent}.variable-entry.expanded{border-bottom-color:var(--border)}.variable-entry-row{display:flex;align-items:center;gap:8px;padding:3px 12px;cursor:pointer;font-size:12px}.variable-entry-row:hover{background:var(--bg-tertiary)}.variable-kind-badge{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;font-family:monospace;letter-spacing:.5px;flex-shrink:0}.variable-kind-flag{background:color-mix(in srgb,var(--state-change) 20%,transparent);color:var(--state-change)}.variable-kind-var{background:color-mix(in srgb,var(--conditional) 20%,transparent);color:var(--conditional)}.variable-kind-extern{background:color-mix(in srgb,var(--extern-decl) 20%,transparent);color:var(--extern-decl)}.variable-kind-scene{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent)}.variable-kind-label{background:color-mix(in srgb,var(--conditional) 15%,transparent);color:var(--conditional);border:1px dashed color-mix(in srgb,var(--conditional) 40%,transparent)}.variable-entry-name{font-family:Courier Prime,monospace;color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.variable-status-icon{font-weight:700;font-size:11px;flex-shrink:0}.variable-status-icon.warning{color:var(--state-change)}.variable-status-icon.dim{color:var(--text-secondary);opacity:.6}.variable-entry-count{font-size:10px;color:var(--text-secondary);min-width:14px;text-align:right}.variable-expand-arrow{font-size:10px;color:var(--text-secondary);transition:transform .15s ease;flex-shrink:0}.variable-expand-arrow.open{transform:rotate(90deg)}.variable-entry-detail{padding:4px 12px 6px 40px;display:flex;flex-direction:column;gap:3px}.variable-ref-group{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.variable-ref-label{font-size:9px;font-weight:700;color:var(--text-secondary);width:42px;flex-shrink:0;text-transform:uppercase;letter-spacing:.5px}.variable-ref-line{font-size:11px;font-family:monospace;padding:1px 6px;border-radius:3px;border:1px solid var(--border);background:var(--bg-primary);color:var(--accent);cursor:pointer}.variable-ref-line:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.variable-scene-tag{font-size:10px;font-family:monospace;padding:1px 5px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:3px;color:var(--text-secondary)}.status-bar-vars-toggle{font-size:var(--ui-font-size-md);font-family:Courier Prime,monospace;font-weight:700;padding:3px 10px;border:1px solid var(--border);border-radius:3px;background:transparent;color:var(--conditional);cursor:pointer;transition:all .2s ease}.vars-toggle-bracket{color:var(--conditional);transition:color .2s ease}.status-bar-vars-toggle:hover{color:var(--text-primary);border-color:var(--conditional);background:color-mix(in srgb,var(--conditional) 12%,transparent)}.status-bar-vars-toggle:hover .vars-toggle-bracket{color:var(--text-primary)}.status-bar-vars-toggle.active{background:var(--conditional);color:#fff;border-color:var(--conditional)}.status-bar-vars-toggle.active .vars-toggle-bracket{color:#fff}.vars-toggle-warning{margin-left:4px;color:var(--state-change);font-size:var(--ui-font-size-xs)}.status-bar-vars-toggle.active .vars-toggle-warning{color:#fff}.status-bar-zoom{display:flex;align-items:center;gap:4px}.zoom-label-small{font-size:9px;color:var(--text-secondary);font-weight:600;line-height:1}.zoom-label-large{font-size:14px;color:var(--text-secondary);font-weight:600;line-height:1}.zoom-slider{width:80px;height:4px;-webkit-appearance:none;appearance:none;background:var(--border);border-radius:2px;outline:none;cursor:pointer}.zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--text-secondary);cursor:pointer;transition:background .15s}.zoom-slider::-webkit-slider-thumb:hover{background:var(--text-primary)}.zoom-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--text-secondary);border:none;cursor:pointer;transition:background .15s}.zoom-slider::-moz-range-thumb:hover{background:var(--text-primary)}.zoom-percent{font-size:10px;color:var(--text-secondary);font-variant-numeric:tabular-nums;min-width:28px;text-align:right}.editor-zoom-indicator{position:fixed;bottom:48px;left:50%;transform:translate(-50%);background:#000000bf;color:#fff;padding:6px 16px;border-radius:20px;font-size:14px;font-variant-numeric:tabular-nums;pointer-events:none;z-index:10000;animation:editor-zoom-fade 1.5s ease-out forwards}@keyframes editor-zoom-fade{0%,70%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.editor-zoom-indicator{animation:none;opacity:1}}.wire-card-codex-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.wire-codex-chip{font-size:9px;padding:2px 6px;background:var(--bg-primary);border-left:2px solid var(--chip-color, var(--accent));border-radius:2px;color:var(--text-secondary);white-space:nowrap}.wire-card-beats{margin-top:8px;padding-top:6px;border-top:1px solid rgba(255,255,255,.1);overflow:hidden}.wire-card-beats svg{display:block;max-width:100%}.beat-connection-fallback{stroke-dasharray:4 2;stroke:#ffc86499}.beat-connection-conditional{stroke:#64c8ff99}.beat-major-choice circle{stroke:gold;stroke-width:2}.beat-fallback circle{stroke:#ffc864cc}.wire-codex-chip-more{font-size:9px;padding:2px 6px;background:var(--bg-tertiary);border-radius:2px;color:var(--text-secondary)}.wire-codex-filter{padding:4px 8px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:10px;cursor:pointer;margin-left:8px;max-width:150px}.wire-codex-filter:focus{outline:none;border-color:var(--accent)}.wire-codex-filter option{background:var(--bg-secondary)}*{--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.editor-container,.wire-planning-center,.notes-mode-center,.production-panel{animation:fadeIn .3s ease}.mode-btn{position:relative;overflow:hidden}.mode-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,rgba(255,255,255,.2) 0%,transparent 70%);opacity:0;transition:opacity .3s ease}.mode-btn:hover:after{opacity:1}.mode-btn.active{transform:scale(1.02)}.wire-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.wire-card:hover{transform:translateY(-2px)}.wire-card.dragging{transform:scale(1.02);transition:none}.codex-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.codex-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.snippet-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.snippet-card:hover{transform:translateY(-2px)}.codex-summary-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.codex-summary-card:hover{transform:translateY(-2px)}.left-panel-tabs button{transition:background .2s ease,color .2s ease,border-color .2s ease}.codex-main-tab{transition:color .2s ease,border-color .2s ease}.codex-add-btn,.wire-add-btn,.wire-toolbar-btn{transition:transform .1s ease,background .15s ease,box-shadow .15s ease}.codex-add-btn:active,.wire-add-btn:active,.wire-toolbar-btn:active{transform:scale(.97)}.wire-modal-overlay,.wire-confirm-overlay,.wire-summary-modal-overlay{animation:fadeIn .2s ease}.wire-card-form,.wire-confirm-dialog,.wire-summary-modal{animation:fadeInScale .25s ease}.wire-validation-error{animation:slideUp .3s cubic-bezier(.34,1.56,.64,1)}.breadcrumb-item,.wire-breadcrumb-btn{transition:color .15s ease,background .15s ease}@keyframes orphanPulse{0%,to{opacity:.7}50%{opacity:.8}}.wire-card.orphaned{animation:orphanPulse 3s ease-in-out infinite}.codex-grid.expanded .codex-card{animation:fadeIn .3s ease backwards}.codex-virtual-scroll-container,.outline-body{flex:1;overflow-y:auto;min-height:0}.codex-panel,.notes-mode-center,.wire-canvas{scroll-behavior:smooth}@keyframes focusRing{0%{box-shadow:0 0 #8b5cf666}to{box-shadow:0 0 0 3px #8b5cf633}}input:focus,textarea:focus,select:focus{animation:focusRing .2s ease forwards}.wire-fab-container{position:fixed;bottom:24px;right:24px;display:flex;gap:12px;z-index:1000}.wire-fab{padding:12px 20px;background:var(--accent);color:#fff;border:none;border-radius:28px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #00000040,0 2px 4px #00000026;transition:all .2s ease;display:flex;align-items:center;gap:6px}.wire-fab:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000004d,0 3px 6px #0003;background:color-mix(in srgb,var(--accent) 90%,white)}.wire-fab:active{transform:translateY(0);box-shadow:0 2px 8px #0003}.wire-fab-delete{background:var(--markup)}.wire-fab-delete:hover{background:color-mix(in srgb,var(--markup) 90%,white)}.wire-canvas.alt-held{cursor:crosshair}.wire-canvas.alt-held .wire-connection-svg.alt-held{cursor:pointer}.wire-canvas.alt-held .wire-card,.wire-canvas.alt-held .wire-add-btn{pointer-events:none}.wire-connection-svg.alt-held .connection-path{transition:stroke .15s ease}.wire-connection-svg.alt-held:hover .connection-path{stroke-width:6px}.wire-card-placeholder{position:absolute;pointer-events:none}.wire-marquee-selection{position:absolute;border:2px dashed var(--accent);background:#8b5cf61a;pointer-events:none;z-index:500;border-radius:4px}.wire-canvas.shift-held .wire-card,.wire-card.shift-held{cursor:cell}.wire-canvas.selecting{cursor:crosshair}.export-warnings-toast{position:fixed;bottom:20px;right:20px;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:12px 16px;max-width:400px;z-index:1000;box-shadow:0 4px 12px #00000026;color:#856404}.export-warnings-header{display:flex;justify-content:space-between;align-items:center;font-weight:600;margin-bottom:8px;font-size:14px}.export-warnings-header button{background:none;border:none;font-size:18px;cursor:pointer;color:#856404;padding:0 4px;line-height:1}.export-warnings-header button:hover{color:#533f03}.export-warnings-toast ul{margin:0;padding-left:20px;font-size:13px}.export-warnings-toast li{margin-bottom:4px}.export-warnings-toast li:last-child{margin-bottom:0}[data-theme=dark] .export-warnings-toast{background:#3d3100;border-color:#6b5600;color:#ffd966}[data-theme=dark] .export-warnings-header button{color:#ffd966}[data-theme=dark] .export-warnings-header button:hover{color:#ffe699}.focus-mode-toggle{position:relative;display:flex;align-items:center;margin-right:8px;z-index:550}.focus-mode-toggle.floating{position:absolute;top:8px;right:8px;margin-right:0;z-index:50}.focus-mode-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.focus-mode-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.focus-mode-btn.active{color:var(--accent);background:#4a9eff26}.focus-mode-slider-popup{position:absolute;top:100%;left:0;margin-top:4px;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #0000004d;display:flex;flex-direction:column;gap:6px;white-space:nowrap;z-index:100;animation:fadeIn .15s ease}.focus-slider-row{display:flex;align-items:center;gap:8px}.focus-mode-slider-popup label{font-size:11px;color:var(--text-secondary);min-width:28px}.focus-mode-slider-popup input[type=range]{width:80px;height:4px;-webkit-appearance:none;appearance:none;background:var(--bg-tertiary);border-radius:2px;outline:none}.focus-mode-slider-popup input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:var(--accent);border-radius:50%;cursor:pointer}.focus-mode-slider-popup input[type=range]::-moz-range-thumb{width:12px;height:12px;background:var(--accent);border:none;border-radius:50%;cursor:pointer}.focus-mode-slider-popup span{font-size:11px;color:var(--text-secondary);min-width:32px;text-align:right}.focus-mode-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,var(--focus-dim-opacity, .35));cursor:pointer;z-index:500;transition:opacity .2s ease;animation:fadeIn .2s ease}.focus-mode-active .toolbar>:not(.focus-mode-overlay),.focus-mode-active .left-panel>:not(.focus-mode-overlay),.focus-mode-active .editor-header-area>:not(.focus-mode-overlay):not(.focus-mode-toggle),.focus-mode-active .ai-sidebar>:not(.focus-mode-overlay),.focus-mode-active .status-bar>:not(.focus-mode-overlay){filter:blur(var(--focus-blur-amount, 2px)) saturate(.72) contrast(.86);opacity:.72;transition:filter .2s ease,opacity .2s ease}.focus-mode-active .resize-handle{filter:blur(var(--focus-blur-amount, 2px)) saturate(.65) contrast(.82);opacity:0;pointer-events:none;cursor:default;transition:filter .2s ease,opacity .2s ease}.focus-mode-active .resize-handle:after{opacity:0}.focus-mode-active .left-panel,.focus-mode-active .ai-sidebar{border-color:transparent}.left-panel,.ai-sidebar,.toolbar,.editor-panel,.editor-header-area{position:relative}.toast-container{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:10px;z-index:10000;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:6px;box-shadow:0 4px 12px #0000004d;font-size:14px;color:#fff;pointer-events:auto;animation:toast-slide-in .3s cubic-bezier(.34,1.56,.64,1);max-width:400px;min-width:280px}.toast-success{background:#2d5a3d}.toast-error{background:#e57373}.toast-warning{background:#d97706}.toast-info{background:#2563eb}.toast-icon{font-size:16px;flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.toast-message{flex:1;font-weight:500;line-height:1.4}.toast-action{background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:4px;color:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:4px 12px;margin-left:8px;transition:background .15s ease,border-color .15s ease;flex-shrink:0}.toast-action:hover{background:#ffffff4d;border-color:#ffffff80}.toast-action:active{background:#fff6}.toast-dismiss{background:transparent;border:none;color:inherit;font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .15s ease;flex-shrink:0}.toast-dismiss:hover{opacity:1}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-fade-out{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}[data-theme=light] .toast-success{background:#2d5a3d}[data-theme=light] .toast-error{background:#dc2626}[data-theme=light] .toast-warning{background:#d97706}[data-theme=light] .toast-info{background:#2563eb}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
