@import"https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:ital,wght@0,400;0,700;1,400;1,700&family=IBM+Plex+Sans:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=Lexend:wght@400;500;600&family=Literata:ital,opsz,wght@0,7..72,400;0,7..72,700;1,7..72,400;1,7..72,700&family=Open+Sans:wght@400;500;600;700&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,700;1,8..60,400;1,8..60,700&display=swap";.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background-color:var(--bg-primary);padding:24px;border-radius:8px;border:1px solid var(--border-color);box-shadow:0 4px 20px #00000026;width:100%;color:var(--text-primary)}.statistics-panel{padding:1.5rem;height:100%;overflow-y:auto;box-sizing:border-box}.statistics-panel h2{margin-top:0;margin-bottom:1.5rem;font-size:1.25rem;color:var(--text-primary);font-weight:600}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1rem}.stat-card{background-color:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.stat-card.primary{grid-column:1 / -1;background-color:rgba(var(--primary-rgb, 59, 130, 246),.1);border-color:var(--primary)}.stat-card.primary .stat-value{color:var(--primary);font-size:2rem}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.stat-label{font-size:.85rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.objectives-panel{padding:1.5rem;height:100%;overflow-y:auto;box-sizing:border-box}.objectives-panel h2{margin-top:0;margin-bottom:1.5rem;font-size:1.25rem;color:var(--text-primary);font-weight:600}.objective-timer-display{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem}.timer-text{font-size:3.5rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent-primary);line-height:1;margin-bottom:.5rem}.timer-status{font-size:.9rem;text-transform:uppercase;font-weight:600;letter-spacing:1px}.timer-status.active{color:var(--success)}.timer-status.paused{color:var(--warning)}.timer-status.completed{color:var(--accent-primary)}.timer-status.idle{color:var(--text-tertiary)}.objective-progress-container{margin-bottom:2rem}.progress-header{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.85rem;color:var(--text-secondary)}.progress-bar-bg{width:100%;height:8px;background-color:var(--surface-raised);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background-color:var(--accent-primary);transition:width .3s ease}.progress-bar-fill.completed{background-color:var(--success)}.objective-controls{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.objective-btn{padding:.6rem 1.2rem;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;border:none;transition:all .2s ease}.objective-btn.start{background-color:var(--success);color:#fff}.objective-btn.start:hover{opacity:.9}.objective-btn.pause{background-color:var(--warning);color:#fff}.objective-btn.pause:hover{opacity:.9}.objective-btn.reset{background-color:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border)}.objective-btn.reset:hover{background-color:var(--bg-hover)}.objective-settings{border-top:1px solid var(--border);padding-top:1.5rem}.objective-settings h3{font-size:1rem;margin-top:0;margin-bottom:1rem;color:var(--text-primary)}.settings-field{display:flex;flex-direction:column;gap:.5rem}.settings-field label{font-size:.85rem;color:var(--text-secondary)}.settings-field input{padding:.5rem;border:1px solid var(--border);background-color:var(--surface);color:var(--text-primary);border-radius:4px;font-size:.95rem}.settings-field input:focus-visible{outline:2px solid var(--focus-ring)}.ai-panel{display:flex;flex-direction:column;height:100%;padding:1rem;background-color:var(--surface-default);color:var(--text-primary);font-family:Inter,sans-serif;overflow:hidden}.ai-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-shrink:0}.ai-header-controls{display:flex;align-items:center;gap:.5rem}.inspector-modal-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:.35rem .75rem;border-radius:16px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.inspector-modal-btn:hover{background-color:var(--surface);color:var(--text-primary)}.ai-header h2{font-size:1.125rem;margin:0}.model-toggle{display:flex;background-color:var(--surface);border-radius:20px;padding:4px;border:1px solid var(--border)}.model-toggle button{background:transparent;border:none;padding:.4rem 1rem;font-size:.85rem;font-weight:500;cursor:pointer;color:var(--text-tertiary);border-radius:16px;transition:all .2s ease}.model-toggle button.active{background-color:var(--surface-raised);color:var(--text-primary);font-weight:600;box-shadow:0 2px 4px #0000001a}.ai-settings{position:relative}.ai-settings-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-radius:50%;border:1px solid var(--border);background-color:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .2s ease}.ai-settings-btn svg{fill:currentColor}.ai-settings-btn:hover,.ai-settings-btn[aria-pressed=true]{background-color:var(--surface);color:var(--accent)}.ai-settings-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:1000;display:flex;flex-direction:column;gap:.75rem;min-width:200px;padding:.75rem;background-color:var(--surface-raised);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000026}.ai-settings-dropdown label{display:flex;flex-direction:column;gap:.3rem;font-size:.75rem;color:var(--text-secondary)}.ai-settings-dropdown select{padding:.4rem .5rem;border-radius:6px;border:1px solid var(--border);background-color:var(--surface);color:var(--text-primary);font-size:.85rem}.ai-history{flex-shrink:1;flex-grow:1;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding-bottom:1rem}.ai-empty-state{text-align:center;color:var(--text-tertiary);font-style:italic;margin-top:2rem}.ai-message{display:flex;width:100%}.ai-message.user{justify-content:flex-end}.ai-message.assistant{justify-content:flex-start}.message-bubble{max-width:85%;padding:.75rem 1rem;border-radius:8px;line-height:1.65;white-space:pre-wrap;word-wrap:break-word}.ai-message.user .message-bubble{background-color:var(--accent);color:var(--button-text);border-bottom-right-radius:2px}.ai-message.assistant .message-bubble{background-color:var(--surface-raised);color:var(--text-primary);border-bottom-left-radius:2px}.ai-message.assistant.loading .message-bubble{font-style:italic;color:var(--text-tertiary)}.ai-resize-handle{height:12px;cursor:row-resize;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:.5rem 0;background-color:var(--surface-raised);border:1px solid var(--border);border-radius:6px;transition:all .2s ease}.ai-resize-handle:hover{background-color:var(--border)}.handle-line{width:40px;height:4px;background-color:var(--text-tertiary);border-radius:2px;transition:background-color .2s ease}.ai-resize-handle:hover .handle-line{background-color:var(--accent)}.ai-input-area{display:flex;gap:.5rem;flex-shrink:0;margin-top:auto;margin-bottom:1.5rem}.ai-input-area textarea{flex-grow:1;resize:none;padding:.75rem 1rem;border-radius:16px;border:1px solid var(--text-tertiary);background-color:var(--surface);color:var(--text-secondary);font-family:inherit;line-height:1.5;font-size:1.05rem;transition:all .2s ease}.ai-input-area textarea::placeholder{color:var(--text-tertiary);opacity:.8}.ai-input-area textarea:focus{outline:none;border-color:var(--focus-ring);background-color:var(--surface-raised);box-shadow:0 0 0 2px var(--focus-ring);color:var(--text-primary)}.ai-input-area button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:none;background-color:var(--surface-raised);color:var(--accent);cursor:pointer;transition:background-color .2s ease,opacity .2s ease;padding:0;margin-top:auto;margin-bottom:0}.ai-input-area button:disabled{opacity:.5;cursor:not-allowed}.ai-input-area button:not(:disabled):hover{background-color:var(--surface-hover);opacity:1}.ai-input-area button svg{width:20px;height:20px;fill:currentColor;margin-right:2px}.inspector-modal{position:absolute;z-index:1000;background-color:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000026;width:400px;max-width:90vw;height:350px;display:flex;flex-direction:column;resize:both;overflow:hidden}.inspector-modal-header{padding:.75rem 1rem;background-color:var(--surface-raised);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;cursor:grab}.inspector-modal-header:active{cursor:grabbing}.inspector-modal-header h4{margin:0;font-size:.9rem;color:var(--text-primary)}.inspector-modal-header button{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:.2rem;font-size:1rem}.inspector-modal-header button:hover{color:var(--text-primary)}.inspector-modal-content{flex-grow:1;padding:1rem;overflow-y:auto;font-size:.8rem;color:var(--text-secondary);background-color:var(--bg-primary)}.inspector-modal-content pre{margin:0;white-space:pre-wrap;word-wrap:break-word}.wikidata-result-block{background-color:var(--surface-2);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;margin-bottom:8px;font-family:var(--font-sans)}.wikidata-header{background-color:var(--surface-3);padding:8px 12px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border-color)}.wikidata-icon{width:24px;height:14px}.wikidata-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.wikidata-table-container{overflow-x:auto;max-height:300px;overflow-y:auto}.wikidata-table{width:100%;border-collapse:collapse;font-size:.9rem}.wikidata-table th,.wikidata-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border-color)}.wikidata-table th{background-color:var(--surface-1);font-weight:600;color:var(--text-secondary);position:sticky;top:0}.wikidata-table tr:last-child td{border-bottom:none}.wikidata-link{color:var(--accent-primary);text-decoration:none}.wikidata-link:hover{text-decoration:underline}.activity-bar{width:48px;min-width:48px;height:100%;background-color:var(--bg-tertiary);display:flex;flex-direction:column;align-items:center;padding-top:1rem;box-sizing:border-box;z-index:10}.left-activity-bar{border-right:1px solid var(--border)}.right-activity-bar{border-left:1px solid var(--border)}.activity-tab{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;position:relative;transition:all .2s}.activity-tab:hover{color:var(--text-primary)}.activity-tab.active{color:var(--text-primary);background-color:var(--bg-secondary)}.left-activity-bar .activity-tab.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background-color:var(--primary)}.right-activity-bar .activity-tab.active:before{content:"";position:absolute;right:0;top:0;bottom:0;width:3px;background-color:var(--primary)}.edge-rail{width:45px;display:flex;flex-direction:column;align-items:stretch;background:var(--bg-secondary);border-right:1px solid var(--border)}.edge-rail[data-side=right]{border-right:none;border-left:1px solid var(--border)}.edge-rail__btn{position:relative;width:45px;height:72px;display:flex;align-items:center;justify-content:center;padding:0;margin:0;border-left:none;border-right:none;border-top:2px solid transparent;border-bottom:2px solid transparent;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:color .15s ease,background-color .15s ease}.edge-rail__btn:hover:not(:disabled){color:var(--accent-primary);background:var(--bg-hover)}.edge-rail__btn[data-active]{background-color:var(--accent-primary);color:var(--bg-primary);border-top-color:var(--bg-primary);border-bottom-color:var(--bg-primary)}.edge-rail__btn:disabled{color:var(--text-tertiary);opacity:.4;cursor:default}.edge-rail__btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-4px;border-radius:6px}@media (prefers-reduced-motion: reduce){.edge-rail__btn{transition:none}}:root{--bg-primary: #F7F3E9;--bg-secondary: #F0EBDE;--bg-tertiary: #E8E2D2;--surface: #E8E2D2;--surface-raised: #FCF9F2;--bg-hover: #E3DCC9;--border: #D6CFBC;--text-primary: #3B372F;--text-secondary: #6B6558;--text-tertiary: #8F887A;--accent-primary: #4A7A6F;--accent-secondary: #8A6D4E;--highlight: #E4D9B8;--error: #A65B4B;--warning: #A6823E;--success: #5E7F5A;--focus-ring: #4A7A6F;--theme-font-editor: "Atkinson Hyperlegible", sans-serif;--theme-font-ui: "Inter", sans-serif;--theme-editor-letter-spacing: normal;--theme-editor-font-weight: 400}.theme-cream{--bg-primary: #F7F3E9;--bg-secondary: #F0EBDE;--bg-tertiary: #E8E2D2;--surface: #E8E2D2;--surface-raised: #FCF9F2;--bg-hover: #E3DCC9;--border: #D6CFBC;--text-primary: #3B372F;--text-secondary: #6B6558;--text-tertiary: #8F887A;--accent-primary: #4A7A6F;--accent-secondary: #8A6D4E;--highlight: #E4D9B8;--error: #A65B4B;--warning: #A6823E;--success: #5E7F5A;--focus-ring: #4A7A6F;--theme-font-editor: "Atkinson Hyperlegible", sans-serif;--theme-font-ui: "Inter", sans-serif;--theme-editor-letter-spacing: normal;--theme-editor-font-weight: 400}.theme-sage{--bg-primary: #EFF2EC;--bg-secondary: #E5EAE0;--bg-tertiary: #DBE2D4;--surface: #DBE2D4;--surface-raised: #F7F9F4;--bg-hover: #D2DAC9;--border: #C4CDBA;--text-primary: #2E352C;--text-secondary: #5C6657;--text-tertiary: #83907C;--accent-primary: #55705E;--accent-secondary: #6E8296;--highlight: #D7E2C4;--error: #9C5A50;--warning: #9C7F45;--success: #55705E;--focus-ring: #55705E;--theme-font-editor: "Lexend", sans-serif;--theme-font-ui: "Inter", sans-serif;--theme-editor-letter-spacing: normal;--theme-editor-font-weight: 400}.theme-sepia{--bg-primary: #F3E9D8;--bg-secondary: #EBDFC9;--bg-tertiary: #E2D4BA;--surface: #E2D4BA;--surface-raised: #F9F1E3;--bg-hover: #DCCCAE;--border: #CDBC9D;--text-primary: #43382A;--text-secondary: #6F614D;--text-tertiary: #92836C;--accent-primary: #7A5C3E;--accent-secondary: #5E6E5A;--highlight: #E7D5A9;--error: #9E5344;--warning: #96712F;--success: #647A54;--focus-ring: #7A5C3E;--theme-font-editor: "Literata", "Source Serif 4", serif;--theme-font-ui: "Inter", sans-serif;--theme-editor-letter-spacing: normal;--theme-editor-font-weight: 400}.theme-slate{--bg-primary: #EDEFF1;--bg-secondary: #E3E6E9;--bg-tertiary: #D8DCE0;--surface: #D8DCE0;--surface-raised: #F6F7F8;--bg-hover: #CED3D8;--border: #C0C6CC;--text-primary: #2B3138;--text-secondary: #59616A;--text-tertiary: #7F8892;--accent-primary: #4E6E8E;--accent-secondary: #6E5E80;--highlight: #D3DEE8;--error: #965055;--warning: #8E7442;--success: #567561;--focus-ring: #4E6E8E;--theme-font-editor: "Inter", sans-serif;--theme-font-ui: "Inter", sans-serif;--theme-editor-letter-spacing: normal;--theme-editor-font-weight: 400}.theme-dusk{--bg-primary: #2A2622;--bg-secondary: #322D28;--bg-tertiary: #3B3630;--surface: #3B3630;--surface-raised: #443E37;--bg-hover: #4D463E;--border: #554D44;--text-primary: #E8E0D4;--text-secondary: #B3A995;--text-tertiary: #8A8173;--accent-primary: #C79A6B;--accent-secondary: #8FA98F;--highlight: #574A33;--error: #C77E6E;--warning: #C7A05E;--success: #8FA98F;--focus-ring: #C79A6B;--theme-font-editor: "Atkinson Hyperlegible", sans-serif;--theme-font-ui: "Inter", sans-serif;--theme-editor-letter-spacing: .01em;--theme-editor-font-weight: 400}.theme-midnight{--bg-primary: #1F242B;--bg-secondary: #262C34;--bg-tertiary: #2E353E;--surface: #2E353E;--surface-raised: #363E48;--bg-hover: #3E4753;--border: #475161;--text-primary: #D9DEE5;--text-secondary: #A2ABB6;--text-tertiary: #7B8492;--accent-primary: #7BA3C9;--accent-secondary: #A08FC0;--highlight: #3A4A5C;--error: #C0766E;--warning: #BFA25C;--success: #7FA98A;--focus-ring: #7BA3C9;--theme-font-editor: "Lexend", sans-serif;--theme-font-ui: "Inter", sans-serif;--theme-editor-letter-spacing: normal;--theme-editor-font-weight: 450}.theme-lavender{--bg-primary: #F1EEF4;--bg-secondary: #E8E4EE;--bg-tertiary: #DED9E6;--surface: #DED9E6;--surface-raised: #F8F6FA;--bg-hover: #D4CEDF;--border: #C6BFD4;--text-primary: #322E3A;--text-secondary: #625C6E;--text-tertiary: #878098;--accent-primary: #6E5E8E;--accent-secondary: #5E7E7A;--highlight: #E0D6EC;--error: #9E5A62;--warning: #97783E;--success: #5E7E64;--focus-ring: #6E5E8E;--theme-font-editor: "Open Sans", "Inter", sans-serif;--theme-font-ui: "Inter", sans-serif;--theme-editor-letter-spacing: normal;--theme-editor-font-weight: 400}.theme-sand{--bg-primary: #F0EBE3;--bg-secondary: #E7E1D6;--bg-tertiary: #DDD5C7;--surface: #DDD5C7;--surface-raised: #F7F4EE;--bg-hover: #D3CABA;--border: #C7BDAB;--text-primary: #37332C;--text-secondary: #665F53;--text-tertiary: #8C8375;--accent-primary: #8A7355;--accent-secondary: #74706A;--highlight: #E5DBC2;--error: #9A5F4E;--warning: #94793F;--success: #6E7B5B;--focus-ring: #8A7355;--theme-font-editor: "IBM Plex Sans", sans-serif;--theme-font-ui: "Inter", sans-serif;--theme-editor-letter-spacing: normal;--theme-editor-font-weight: 400}.theme-mist{--bg-primary: #EAF0F2;--bg-secondary: #DFE8EB;--bg-tertiary: #D3DFE3;--surface: #D3DFE3;--surface-raised: #F4F8F9;--bg-hover: #C8D6DB;--border: #B9CAD1;--text-primary: #29343A;--text-secondary: #56646C;--text-tertiary: #7C8B93;--accent-primary: #46748A;--accent-secondary: #7A6E94;--highlight: #CFE0E8;--error: #98565A;--warning: #8E7440;--success: #567A6A;--focus-ring: #46748A;--theme-font-editor: "Atkinson Hyperlegible", sans-serif;--theme-font-ui: "Inter", sans-serif;--theme-editor-letter-spacing: .015em;--theme-editor-font-weight: 400}.theme-charcoal{--bg-primary: #23262A;--bg-secondary: #2B2F34;--bg-tertiary: #34393F;--surface: #34393F;--surface-raised: #3D434A;--bg-hover: #474E56;--border: #5A626C;--text-primary: #EAECEF;--text-secondary: #B8BEC6;--text-tertiary: #8E96A0;--accent-primary: #8FB8D8;--accent-secondary: #C9A87A;--highlight: #44505E;--error: #D48A80;--warning: #D0B06A;--success: #90BA98;--focus-ring: #8FB8D8;--theme-font-editor: "Inter", sans-serif;--theme-font-ui: "Inter", sans-serif;--theme-editor-letter-spacing: normal;--theme-editor-font-weight: 500}body{margin:0;padding:0;font-family:var(--theme-font-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);background-color:var(--bg-primary);color:var(--text-primary);height:100vh;width:100vw;overflow:hidden}#root{display:flex;flex-direction:column;height:100vh;width:100vw}:focus-visible{outline:2px solid var(--focus-ring)!important;outline-offset:2px!important}.app-header{height:60px;background-color:var(--bg-secondary);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 1.5rem;box-sizing:border-box;z-index:100}.app-logo{font-size:1.25rem;font-weight:700;color:var(--accent-primary);-webkit-user-select:none;user-select:none}.header-center{display:flex;align-items:center;gap:1.5rem;flex:1;justify-content:center;max-width:600px}.story-title-btn{background:none;border:1px solid var(--border);border-radius:4px;padding:.4rem 1rem;font-size:.9rem;font-weight:600;color:var(--text-primary);cursor:pointer;background-color:var(--bg-tertiary);transition:background-color .2s}.story-title-btn:hover{background-color:var(--border)}.search-box-container{flex:1}.search-input{width:100%;box-sizing:border-box;padding:.4rem .8rem;border-radius:4px;border:1px solid var(--border);background-color:var(--bg-primary);color:var(--text-primary);font-size:.9rem}.search-input:focus{outline:none;border-color:var(--accent-primary)}.header-right{display:flex;align-items:center;gap:1rem}.save-status-indicator{font-size:.85rem;color:var(--text-primary);font-weight:500;transition:color .2s}.header-action-btn{background-color:var(--accent-primary);color:#fff;border:none;padding:.4rem 1rem;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:opacity .2s}.header-action-btn:hover{opacity:.9}.header-action-btn.manual-save-btn{background-color:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary)}.header-action-btn.manual-save-btn:hover{background-color:var(--border)}.user-avatar{width:32px;height:32px;border-radius:50%;background-color:var(--accent-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;-webkit-user-select:none;user-select:none}.app-footer{height:40px;background-color:var(--bg-secondary);border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 1.5rem;box-sizing:border-box;font-size:.85rem;color:var(--text-secondary);z-index:100}.footer-left{display:flex;gap:1.5rem}.footer-right{display:flex;align-items:center;gap:1.5rem}.autosave-status{font-weight:500;transition:color .2s}.validation-shortcut-btn{background-color:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;padding:.2rem .6rem;font-size:.8rem;color:var(--text-primary);cursor:pointer;transition:background-color .2s}.validation-shortcut-btn:hover{background-color:var(--border)}.app-content-row{flex:1;display:flex;flex-direction:row;height:calc(100vh - 100px);width:100vw;overflow:hidden;position:relative}.sidebar-panel{height:100%;position:relative;box-sizing:border-box;background-color:var(--bg-secondary);display:flex;flex-direction:column}.left-panel{border-right:1px solid var(--border)}.right-panel{border-left:1px solid var(--border)}.panel-inner{height:100%;display:flex;flex-direction:column;overflow:hidden}.resize-handle{position:absolute;top:0;width:6px;height:100%;cursor:col-resize;z-index:50;background-color:transparent;transition:background-color .2s}.resize-handle:hover{background-color:var(--border)}.right-handle{right:-3px}.left-handle{left:-3px}.toggle-tab{position:absolute;top:50%;transform:translateY(-50%);width:18px;height:48px;border:1px solid var(--border);background-color:var(--bg-secondary);cursor:pointer;z-index:60;display:flex;align-items:center;justify-content:center;font-size:.85rem;padding:0;color:var(--text-secondary);transition:background-color .15s,color .15s}.toggle-tab:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.left-toggle-tab{right:-19px;border-left:none;border-radius:0 4px 4px 0}.right-toggle-tab{left:-19px;border-right:none;border-radius:4px 0 0 4px}.middle-panel{flex:1;height:100%;background-color:var(--bg-primary);overflow-y:auto;min-width:200px}.sidebar-tabs{height:48px;display:flex;background-color:var(--bg-tertiary);border-top:1px solid var(--border);flex-shrink:0}.tab-btn{flex:1;border:none;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;padding:4px 0;transition:background-color .2s,color .2s;color:var(--text-secondary)}.tab-btn:hover{background-color:var(--border);color:var(--text-primary)}.tab-btn.active{background-color:var(--bg-secondary);color:var(--accent-primary);border-bottom:2px solid var(--accent-primary)}.tab-icon{font-size:1.1rem}.tab-label{font-size:.85rem;font-weight:500;margin-top:2px}.panel-main-content{flex:1;overflow-y:auto;display:flex;flex-direction:column}.panel-placeholder{padding:1.5rem;color:var(--text-secondary)}.panel-placeholder h3{color:var(--text-primary);margin-top:0}.outline-tree-container{flex:1;display:flex;flex-direction:column;overflow:hidden;height:100%}.tree-wrapper{flex:1;overflow:auto;padding:.5rem}.tree-node{display:flex;align-items:center;padding:0 .5rem;border-radius:4px;color:var(--text-primary);font-size:.9rem;-webkit-user-select:none;user-select:none;height:100%}.tree-node:hover{background-color:var(--bg-tertiary)}.tree-node.selected{background-color:var(--border);font-weight:600}.drag-handle-icon{font-size:.8rem;color:var(--text-tertiary);margin-right:6px;cursor:grab}.node-icon{margin-right:6px;font-size:1rem}.node-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-status-dot{width:8px;height:8px;border-radius:50%;margin-left:8px;flex-shrink:0}.tree-empty{padding:1rem;color:var(--text-tertiary);font-style:italic}.trash-panel-container{border-top:1px solid var(--border);background-color:var(--bg-tertiary);flex-shrink:0;display:flex;flex-direction:column}.trash-panel-header{height:36px;width:100%;border:none;background:none;display:flex;justify-content:space-between;align-items:center;padding:0 1rem;font-size:.85rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:background-color .2s}.trash-panel-header:hover{background-color:var(--border);color:var(--text-primary)}.trash-panel-content{max-height:150px;overflow-y:auto;background-color:var(--bg-primary);border-top:1px solid var(--border);padding:.5rem}.trash-empty-msg{padding:.5rem;text-align:center;color:var(--text-tertiary);font-style:italic;font-size:.8rem}.trash-item{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;border-radius:4px;font-size:.85rem;color:var(--text-primary);transition:background-color .2s}.trash-item:hover{background-color:var(--bg-tertiary)}.trash-item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:8px}.trash-item-actions{display:flex;gap:4px;flex-shrink:0}.trash-btn{border:1px solid var(--border);border-radius:3px;padding:2px 6px;font-size:.75rem;cursor:pointer;background-color:var(--bg-secondary);color:var(--text-secondary)}.trash-btn:hover{background-color:var(--border);color:var(--text-primary)}.trash-btn.restore:hover{border-color:var(--accent-secondary);color:var(--accent-secondary)}.trash-btn.delete:hover{border-color:var(--error);color:var(--error)}.context-menu{position:fixed;background-color:var(--bg-secondary);border:1px solid var(--border);box-shadow:0 4px 12px #0000001a;border-radius:6px;padding:4px 0;z-index:1000;display:flex;flex-direction:column;min-width:130px}.context-menu-item{background:none;border:none;padding:6px 12px;text-align:left;font-size:.85rem;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;transition:background-color .2s}.context-menu-item:hover{background-color:var(--bg-tertiary)}.context-menu-item.danger{color:var(--error)}.context-menu-item.danger:hover{background-color:#fce8e6}.metadata-editor-container{padding:2rem;max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.metadata-editor-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding-bottom:.75rem;margin-bottom:.5rem}.editor-title{font-size:.9rem;font-weight:700;letter-spacing:.05em;color:var(--text-secondary);margin:0}.save-badge{font-size:.8rem;font-weight:500;padding:.2rem .6rem;border-radius:4px;-webkit-user-select:none;user-select:none}.save-badge.saved{color:var(--accent-secondary)}.save-badge.saving{color:var(--accent-primary);font-style:italic}.save-badge.unsaved{color:var(--accent-warning)}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.form-row{display:flex;gap:1.5rem}.flex-1{flex:1}.form-input,.form-select,.form-textarea{width:100%;padding:.6rem .8rem;border:1px solid var(--border);border-radius:4px;background-color:var(--bg-tertiary);color:var(--text-primary);font-size:.95rem;box-sizing:border-box;font-family:inherit;transition:border-color .2s,background-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent-primary);background-color:var(--bg-primary)}.form-input.read-only,.form-input.disabled{background-color:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed;border-style:dashed}.form-textarea{resize:vertical;line-height:1.4}.metadata-timestamps{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:1rem;margin-top:1rem;font-size:.8rem;color:var(--text-tertiary)}.timestamp-item{display:flex;gap:.4rem}.timestamp-item strong{color:var(--text-secondary);font-weight:500}.metadata-editor-empty{padding:2rem;text-align:center;color:var(--text-tertiary);font-style:italic}.scene-editor-container{display:flex;flex-direction:column;height:100%;box-sizing:border-box}.scene-editor-header{padding:1.5rem 2rem .5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-end;flex-shrink:0}.scene-editor-title{font-size:1.5rem;font-weight:700;margin:0;color:var(--text-primary)}.scene-editor-meta-info{font-size:.8rem;color:var(--text-tertiary);display:flex;gap:1rem}.editor-workspace{flex:1;overflow-y:auto;padding:2rem;display:flex;flex-direction:column}.tiptap-editor-content{flex:1;display:flex;flex-direction:column}.ProseMirror{flex:1;outline:none;font-family:var(--theme-font-editor, -apple-system, sans-serif);letter-spacing:var(--theme-editor-letter-spacing, normal);font-weight:var(--theme-editor-font-weight, 400);font-size:1.125rem;line-height:1.65;color:var(--text-primary);max-width:68ch;margin:0 auto;width:100%;min-height:250px}.ProseMirror p{margin-top:0;margin-bottom:1rem}.ProseMirror h1,.ProseMirror h2,.ProseMirror h3{color:var(--text-primary);margin-top:1.5rem;margin-bottom:.75rem;font-weight:700}.ProseMirror h1{font-size:1.6rem}.ProseMirror h2{font-size:1.4rem}.ProseMirror h3{font-size:1.2rem}.ProseMirror blockquote{border-left:3px solid var(--accent-primary);margin:1.5rem 0;padding-left:1rem;color:var(--text-secondary);font-style:italic}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-tertiary);pointer-events:none;height:0}.editor-bubble-menu{display:flex;background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:4px;box-shadow:0 4px 12px #00000026;gap:2px;z-index:100;align-items:center}.editor-bubble-menu button{background:none;border:none;color:var(--text-secondary);padding:4px 8px;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:600;transition:background-color .2s,color .2s;display:flex;align-items:center;justify-content:center;min-width:24px;height:24px}.editor-bubble-menu button:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.editor-bubble-menu button.active{background-color:var(--border);color:var(--accent-primary)}.editor-bubble-menu button:disabled{opacity:.4;cursor:not-allowed}.bubble-divider{color:var(--border);margin:0 2px;-webkit-user-select:none;user-select:none;font-size:.8rem}.save-status-indicator.saved,.autosave-status.saved{color:var(--text-primary);transition:color 2.5s ease-out}.save-status-indicator.saving,.autosave-status.saving{color:var(--accent-primary);font-style:italic}.save-status-indicator.unsaved,.autosave-status.unsaved{color:var(--accent-warning)}.insert-image-btn{background-color:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);padding:.25rem .5rem;border-radius:4px;font-size:.8rem;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-weight:500;transition:all .2s ease}.insert-image-btn:hover{background-color:var(--border);color:var(--text-primary);border-color:var(--text-tertiary)}.custom-image-wrapper{transition:outline .2s ease}.custom-image-wrapper.selected{outline:2px solid var(--accent-primary);outline-offset:2px}.image-floating-controls{position:absolute;top:8px;right:8px;display:flex;gap:6px;z-index:5;background:#000000b3;padding:4px;border-radius:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.15);opacity:0;transition:opacity .2s ease}.custom-image-wrapper:hover .image-floating-controls,.custom-image-wrapper.selected .image-floating-controls{opacity:1}.floating-control-btn{background:transparent;border:none;color:#fff;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;font-size:.95rem;transition:all .2s ease}.floating-control-btn:hover{background:#ffffff40;transform:scale(1.05)}.floating-control-btn.delete:hover{background:#ef4444}.image-properties-dialog-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;z-index:1000;pointer-events:none}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}.image-properties-dialog{background:#ffffffd9;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(209,213,219,.3);box-shadow:0 10px 40px #1f268733;border-radius:12px;padding:1.5rem;width:90%;max-width:450px;display:flex;flex-direction:column;gap:1rem;font-family:var(--font-primary);color:#333;animation:dialog-scale-in .15s ease-out;pointer-events:auto}@keyframes dialog-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (prefers-color-scheme: dark){.image-properties-dialog{background:#1e1e1ef2;border:1px solid rgba(255,255,255,.1);color:#f3f4f6}}.image-properties-dialog .dialog-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(0,0,0,.1);padding-bottom:.75rem;margin-bottom:.5rem;cursor:move}@media (prefers-color-scheme: dark){.image-properties-dialog .dialog-header{border-bottom-color:#ffffff1a}}.image-properties-dialog .dialog-title{font-weight:600;font-size:1rem}.image-properties-dialog .dialog-close-btn{background:transparent;border:none;color:inherit;font-size:1.1rem;cursor:pointer;opacity:.6;transition:opacity .2s;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%}.image-properties-dialog .dialog-close-btn:hover{opacity:1;background:#0000000d}@media (prefers-color-scheme: dark){.image-properties-dialog .dialog-close-btn:hover{background:#ffffff1a}}.image-properties-dialog .panel-row{display:flex;gap:1rem;flex-wrap:wrap}.image-properties-dialog .panel-field{flex:1;min-width:150px;display:flex;flex-direction:column;gap:.25rem}.image-properties-dialog .panel-field.flex-2{flex:2}.image-properties-dialog label{font-size:.75rem;font-weight:500;opacity:.8}.image-properties-dialog input[type=range]{width:100%;accent-color:var(--accent-primary)}.image-properties-dialog input[type=color]{height:24px;width:40px;padding:0;border:1px solid var(--border);border-radius:4px;cursor:pointer}.image-properties-dialog select{height:28px;background-color:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);padding:0 .25rem;font-size:.8rem}.image-properties-dialog .align-buttons{display:flex;gap:2px}.image-properties-dialog .align-buttons button{flex:1;height:28px;border:1px solid var(--border);background-color:var(--bg-tertiary);color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .2s ease}.image-properties-dialog .align-buttons button:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.image-properties-dialog .align-buttons button:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.image-properties-dialog .align-buttons button:hover{background-color:var(--border);color:var(--text-primary)}.image-properties-dialog .align-buttons button.active{background-color:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.image-properties-dialog .border-row,.image-properties-dialog .shadow-row{display:flex;align-items:center;gap:.5rem}.image-properties-dialog .shadow-row input[type=range]{flex:1}.image-properties-dialog .dialog-footer{margin-top:.5rem;display:flex;justify-content:flex-end;border-top:1px solid rgba(0,0,0,.1);padding-top:.75rem}@media (prefers-color-scheme: dark){.image-properties-dialog .dialog-footer{border-top-color:#ffffff1a}}.image-properties-dialog .dialog-done-btn{background-color:var(--accent-primary);color:#fff;border:none;padding:.4rem 1.2rem;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.image-properties-dialog .dialog-done-btn:hover{background-color:var(--accent-primary-hover, #5b21b6)}.panel-manager{display:flex;flex-direction:column;height:100%;width:100%}.panel-list-container,.panel-form-container{display:flex;flex-direction:column;height:100%;padding:1rem;box-sizing:border-box}.panel-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.panel-list-header h3{margin:0;font-size:1.1rem;color:var(--text-primary)}.add-item-btn{background-color:var(--accent-primary);color:#fff;border:none;padding:.3rem .6rem;border-radius:4px;cursor:pointer;font-size:.85rem}.add-item-btn:hover{opacity:.9}.panel-filter-container{margin-bottom:1rem}.panel-filter{width:100%;padding:.4rem;border-radius:4px;border:1px solid var(--border);background-color:var(--bg-primary);color:var(--text-primary)}.panel-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.panel-item{display:flex;justify-content:space-between;align-items:center;padding:.6rem;background-color:var(--bg-primary);border:1px solid var(--border);border-radius:4px;transition:border-color .2s}.panel-item:hover{border-color:var(--accent-primary)}.panel-item-info{display:flex;flex-direction:column;gap:.2rem;flex:1;cursor:pointer}.panel-item-name{font-weight:600;font-size:.95rem;color:var(--text-primary)}.panel-item-subtitle{font-size:.75rem;text-transform:uppercase;font-weight:500;color:var(--text-secondary)}.panel-item-actions{display:flex;gap:.3rem;opacity:.45;transition:opacity .15s}.panel-item:hover .panel-item-actions,.panel-item:focus-within .panel-item-actions{opacity:1}.icon-btn{background:none;border:none;cursor:pointer;padding:.2rem;color:var(--text-secondary);border-radius:4px}.icon-btn:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.delete-btn:hover{color:var(--error)}.panel-form-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.panel-form-header h3{margin:0;font-size:1.1rem}.back-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.85rem}.back-btn:hover{color:var(--text-primary)}.panel-form-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding-right:.5rem}.panel-form-footer{display:flex;justify-content:flex-end;gap:.8rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);padding:.4rem 1rem;border-radius:4px;cursor:pointer}.btn-secondary:hover{background-color:var(--border)}.btn-primary{background-color:var(--accent-primary);color:#fff;border:none;padding:.4rem 1rem;border-radius:4px;cursor:pointer}.btn-primary:hover{opacity:.9}.trash-panel-container{border-top:1px solid var(--border);background-color:var(--surface);flex-shrink:0}.trash-panel-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;background:none;border:none;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.trash-panel-header:hover{background-color:var(--bg-hover);color:var(--text-primary)}.trash-panel-content{max-height:200px;overflow-y:auto;padding:0 8px 8px}.trash-empty-msg{padding:12px;text-align:center;color:var(--text-tertiary);font-size:13px;font-style:italic}.trash-item{display:flex;justify-content:space-between;align-items:center;padding:8px;border-radius:4px;margin-bottom:4px;background-color:var(--surface-raised);border:1px solid var(--border)}.trash-item-name{font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:8px}.trash-item-actions{display:flex;gap:4px}.trash-btn{background:none;border:1px solid transparent;padding:4px 8px;font-size:11px;border-radius:4px;cursor:pointer;transition:all .2s ease}.trash-btn.restore{color:var(--accent-primary);border-color:#4361ee33}.trash-btn.restore:hover{background-color:#4361ee1a}.trash-btn.delete{color:var(--error);border-color:#ef233c33}.trash-btn.delete:hover{background-color:#ef233c1a}.search-box-container{position:relative;width:100%;max-width:400px}.search-input{width:100%;box-sizing:border-box}.search-dropdown{position:absolute;top:calc(100% + 8px);left:0;width:100%;max-height:400px;overflow-y:auto;background-color:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);z-index:1000;display:flex;flex-direction:column}.search-dropdown-empty{padding:16px;text-align:center;color:var(--text-tertiary);font-size:13px;font-style:italic}.search-dropdown-group{display:flex;flex-direction:column;border-bottom:1px solid var(--border)}.search-dropdown-group:last-child{border-bottom:none}.search-group-header{padding:8px 12px;background-color:var(--surface-raised);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.search-result-item{padding:10px 12px;cursor:pointer;transition:background-color .15s ease}.search-result-item:hover{background-color:var(--bg-hover)}.search-result-title{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:2px}.search-result-desc{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.validation-header{padding:16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background-color:var(--surface)}.validation-header h2{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.run-validation-btn{padding:6px 12px;font-size:13px;border-radius:6px}.validation-content{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.validation-empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);text-align:center;font-size:14px;padding:32px}.validation-summary{padding:16px;border-radius:8px;text-align:center;border:1px solid var(--border)}.validation-summary.success{background-color:#22c55e1a;border-color:#22c55e4d;color:var(--success)}.validation-summary.warning{background-color:#f59e0b1a;border-color:#f59e0b4d;color:var(--warning)}.validation-summary h3{margin:0 0 8px;font-size:15px}.validation-summary p{margin:0;font-size:13px}.validation-warnings-list{display:flex;flex-direction:column;gap:8px}.validation-warning-card{display:flex;gap:12px;padding:12px;background-color:var(--surface-raised);border:1px solid var(--border);border-left:3px solid var(--warning);border-radius:6px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.validation-warning-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);background-color:var(--bg-hover)}.warning-icon{font-size:18px;padding-top:2px}.warning-details strong{display:block;font-size:13px;color:var(--text-primary);margin-bottom:4px}.warning-details p{margin:0;font-size:12px;color:var(--text-secondary)}.search-highlight{background-color:var(--highlight);color:var(--text-primary);font-weight:400;border-radius:2px;cursor:pointer}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
