body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.settings-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.settings-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:80vh;max-width:90vw;overflow:hidden;width:700px}.settings-tabs{border-bottom:1px solid #e0e0e0;display:flex;padding:0 20px}.settings-tab{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:.95em;gap:8px;padding:12px 20px;position:relative;transition:color .2s}.settings-tab .material-symbols-outlined{font-size:20px}.settings-tab:hover{color:#333}.settings-tab.active{color:#007bff;font-weight:500}.settings-tab.active:after{background:#007bff;bottom:-1px;content:"";height:2px;left:0;position:absolute;right:0}.settings-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.settings-modal-header h2{color:#333;font-size:1.5em;margin:0}.close-btn{align-items:center;background:none;border-radius:4px;color:#666;display:flex;font-size:1.5em;height:30px;justify-content:center;transition:background .2s;width:30px}.close-btn:hover{background:#f0f0f0}.settings-modal-content{flex:1 1;overflow-y:auto;padding:20px}.settings-section{margin-bottom:30px}.settings-section h3{color:#333;font-size:1.2em;margin:0 0 10px}.section-description{color:#666;font-size:.95em;margin:0 0 20px}.loading{color:#666;padding:40px;text-align:center}.model-list{display:flex;flex-direction:column;gap:10px}.model-option{align-items:flex-start;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:10px 15px;transition:all .2s}.model-option:hover{background:#f8f9fa;border-color:#007bff}.model-option.selected{background:#e7f3ff;border-color:#007bff}.model-radio{padding-top:2px}.model-radio input[type=radio]{cursor:pointer;height:18px;width:18px}.model-info{flex:1 1}.model-name{align-items:center;color:#333;display:flex;font-weight:600;gap:10px;margin-bottom:2px}.current-badge{background:#28a745;font-size:.85em}.cost-badge,.current-badge{color:#fff;font-weight:400;padding:2px 8px}.cost-badge{background:#6f42c1;border-radius:4px;font-size:.8em;margin-left:auto}.model-cost{color:#6f42c1;font-weight:500}.vision-badge{background:#17a2b8;border-radius:4px;color:#fff;font-size:.8em;font-weight:500;padding:2px 8px}.model-details{display:flex;flex-wrap:wrap;gap:15px}.model-details span{color:#666;font-size:.9em}.context-window{color:#007bff;font-weight:500}.model-description{display:flex;flex-direction:column;flex-shrink:0;justify-content:center;max-width:200px;text-align:right}.best-for{color:#6c757d;font-size:.85em}.model-features{color:#999;font-size:.8em;font-style:italic}.settings-modal-footer{background:#fff;border-top:1px solid #e0e0e0;display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;padding:20px;position:relative;z-index:1}.save-btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95em;padding:8px 20px;transition:background .2s}.save-btn:hover:not(:disabled){background:#0056b3}.save-btn:disabled{background:#ccc;cursor:not-allowed}.color-picker-section{display:flex;flex-direction:column;gap:20px}.color-presets{display:flex;flex-wrap:wrap;gap:12px}.color-preset{align-items:center;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;height:48px;justify-content:center;transition:transform .15s,border-color .15s,box-shadow .15s;width:48px}.color-preset:hover{box-shadow:0 2px 8px #0003;transform:scale(1.1)}.color-preset.selected{border-color:#007bff;box-shadow:0 0 0 2px #007bff4d}.color-preset .check-icon{color:#fff;font-size:20px;text-shadow:0 1px 3px #00000080}.custom-color-row{align-items:center;display:flex;gap:12px}.custom-color-row label{color:#666;font-size:.95em;min-width:100px}.custom-color-input{align-items:center;display:flex;gap:10px}.custom-color-input input[type=color]{border:none;border-radius:6px;cursor:pointer;height:40px;padding:0;width:40px}.custom-color-input input[type=color]::-webkit-color-swatch-wrapper{padding:0}.custom-color-input input[type=color]::-webkit-color-swatch{border:1px solid #ddd;border-radius:4px}.custom-color-input input[type=text]{border:1px solid #ddd;border-radius:4px;font-family:monospace;font-size:.95em;padding:8px 12px;width:100px}.custom-color-input input[type=text]:focus{border-color:#007bff;outline:none}.color-preview{align-items:center;display:flex;gap:12px}.color-preview span{color:#666;font-size:.95em;min-width:100px}.preview-box{align-items:center;border:1px solid #ddd;border-radius:8px;display:flex;height:100px;justify-content:center;position:relative;width:200px}.preview-node{background:#2d3748;border-radius:6px;box-shadow:0 2px 4px #0000004d;color:#fff;font-size:.9em;padding:8px 16px}.entity-row-colors{display:flex;flex-direction:column;gap:16px}.row-color-setting{align-items:center;display:flex;gap:12px}.row-color-setting label{color:#666;font-size:.95em;min-width:100px}.entity-rows-preview{border:1px solid #ddd;border-radius:6px;overflow:hidden;width:200px}.entity-rows-preview .preview-row{border-bottom:1px solid #eee;color:#333;font-size:.9em;padding:10px 16px}.entity-rows-preview .preview-row:last-child{border-bottom:none}.user-menu{align-items:center;display:flex;position:relative}.user-menu-login-btn{background:#6366f1;background:var(--accent-color,#6366f1);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:background-color .2s}.user-menu-login-btn:hover{background:#4f46e5;background:var(--accent-hover,#4f46e5)}.user-menu-trigger{align-items:center;background:#0000;border:1px solid #3f3f46;border:1px solid var(--border-color,#3f3f46);border-radius:4px;color:#e4e4e7;color:var(--text-primary,#e4e4e7);cursor:pointer;display:flex;gap:.5rem;padding:.375rem .75rem;transition:all .2s}.user-menu-trigger:hover{background:#27272a;background:var(--bg-secondary,#27272a);border-color:#6366f1;border-color:var(--accent-color,#6366f1)}.user-avatar{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;color:#fff;display:flex;font-size:.75rem;font-weight:600;height:28px;justify-content:center;width:28px}.user-name{font-size:.875rem;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-arrow{font-size:.625rem;opacity:.7}.user-menu-dropdown{animation:fadeIn .15s ease-out;background:#27272a;background:var(--bg-secondary,#27272a);border:1px solid #3f3f46;border:1px solid var(--border-color,#3f3f46);border-radius:8px;box-shadow:0 4px 20px #0000004d;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:220px;z-index:1000}.user-menu-header{background:#1f1f23;background:var(--bg-tertiary,#1f1f23);padding:.75rem 1rem}.user-menu-email{color:#a1a1aa;color:var(--text-secondary,#a1a1aa);font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-badge{border-radius:4px;display:inline-block;font-size:.6875rem;font-weight:600;letter-spacing:.05em;margin-top:.375rem;padding:.125rem .5rem;text-transform:uppercase}.user-menu-badge.admin{background:#ef444433;color:#f87171}.user-menu-divider{background:#3f3f46;background:var(--border-color,#3f3f46);height:1px}.user-menu-item{align-items:center;background:#0000;border:none;color:#e4e4e7;color:var(--text-primary,#e4e4e7);cursor:pointer;display:flex;font-size:.875rem;gap:.75rem;padding:.625rem 1rem;text-align:left;transition:background-color .15s;width:100%}.user-menu-item:hover{background:#3f3f46;background:var(--bg-hover,#3f3f46)}.user-menu-item .material-symbols-outlined{color:#a1a1aa;color:var(--text-secondary,#a1a1aa);font-size:1.125rem}.user-menu-item.sign-out,.user-menu-item.sign-out .material-symbols-outlined{color:#f87171}.user-menu-item.sign-out:hover{background:#ef44441a}.bug-report-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.bug-report-modal{background:#1e1e1e;border:1px solid #3c3c3c;border-radius:8px;box-shadow:0 8px 32px #0006;max-height:90vh;max-width:90vw;overflow-y:auto;width:480px}.bug-report-header{align-items:center;border-bottom:1px solid #3c3c3c;display:flex;justify-content:space-between;padding:16px 20px}.bug-report-header h2{align-items:center;color:#fff;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0}.bug-report-header h2 .material-symbols-outlined{color:#f48771;font-size:24px}.bug-report-close{align-items:center;background:none;border:none;border-radius:4px;color:#888;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s ease}.bug-report-close:hover{background:#3c3c3c;color:#fff}.bug-report-body{display:flex;flex-direction:column;gap:20px;padding:20px}.bug-report-field{display:flex;flex-direction:column;gap:8px}.bug-report-field label{color:#ccc;font-size:14px;font-weight:500}.bug-report-field textarea{background:#2d2d30;border:1px solid #3c3c3c;border-radius:4px;color:#fff;font-family:inherit;font-size:14px;min-height:100px;padding:12px;resize:vertical;transition:border-color .2s ease}.bug-report-field textarea:focus{border-color:#667eea;outline:none}.bug-report-field textarea::placeholder{color:#666}.severity-options{display:flex;flex-direction:column;gap:8px}.severity-option{align-items:center;background:#2d2d30;border:1px solid #3c3c3c;border-radius:4px;cursor:pointer;display:flex;gap:12px;padding:10px 12px;transition:all .2s ease}.severity-option:hover{background:#363636}.severity-option.selected{background:#667eea1a;border-color:#667eea}.severity-option input{display:none}.severity-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.severity-dot.low{background:#4a9eff}.severity-dot.medium{background:#f5a623}.severity-dot.high{background:#f97316}.severity-dot.critical{background:#ef4444}.severity-label{display:flex;flex-direction:column;gap:2px}.severity-label strong{color:#fff;font-size:14px}.severity-label small{color:#888;font-size:12px}.bug-report-info{align-items:center;background:#667eea1a;border:1px solid #667eea4d;border-radius:4px;color:#a0b0ff;display:flex;font-size:13px;gap:8px;padding:12px}.bug-report-info .material-symbols-outlined{flex-shrink:0;font-size:18px}.bug-report-error{align-items:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:4px;color:#fca5a5;display:flex;font-size:13px;gap:8px;padding:12px}.bug-report-error .material-symbols-outlined{flex-shrink:0;font-size:18px}.bug-report-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:8px}.bug-report-cancel-btn{background:#0000;border:1px solid #3c3c3c;border-radius:4px;color:#ccc;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .2s ease}.bug-report-cancel-btn:hover:not(:disabled){background:#3c3c3c;color:#fff}.bug-report-cancel-btn:disabled{cursor:not-allowed;opacity:.5}.bug-report-submit-btn{align-items:center;background:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s ease}.bug-report-submit-btn:hover:not(:disabled){background:#5a6fd6}.bug-report-submit-btn:disabled{cursor:not-allowed;opacity:.5}.bug-report-submit-btn .material-symbols-outlined{font-size:18px}.bug-report-submit-btn .loading-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.bug-report-success{align-items:center;display:flex;flex-direction:column;gap:12px;padding:40px 20px;text-align:center}.bug-report-success .success-icon{color:#4ade80;font-size:48px}.bug-report-success h3{color:#fff;font-size:20px;margin:0}.bug-report-success p{color:#888;font-size:14px;margin:0}.bug-report-success .issue-link{align-items:center;color:#667eea;display:flex;font-size:14px;gap:4px;margin-top:8px;text-decoration:none;transition:color .2s ease}.bug-report-success .issue-link:hover{color:#8b9bf4}.bug-report-success .issue-link .material-symbols-outlined{font-size:16px}.bug-report-done-btn{background:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-top:16px;padding:10px 32px;transition:all .2s ease}.bug-report-done-btn:hover{background:#5a6fd6}.bug-report-validation-hint{color:#f97316;display:block;font-size:12px;margin-top:4px}.desktop-layout{background:#1e1e1e;color:#ccc;display:flex;flex-direction:column;font-family:Segoe UI,system-ui,-apple-system,sans-serif;height:100vh;overflow:hidden}.desktop-menubar{background:#2d2d30;border-bottom:1px solid #1e1e1e;flex-shrink:0;font-size:13px;height:32px;padding:0 .5rem;-webkit-user-select:none;user-select:none;z-index:1000}.desktop-menubar,.menubar-logo{align-items:center;display:flex}.menubar-logo{border-radius:3px;cursor:pointer;height:18px;justify-content:center;margin-right:.625rem;opacity:.9;overflow:hidden;transition:opacity .2s,transform .2s;width:18px}.menubar-logo:hover{opacity:1;transform:translateY(-.5px)}.menubar-logo img{filter:grayscale(1) brightness(1.08) contrast(1.08);height:18px;object-fit:cover;object-position:center top;transform:scale(1.18);transform-origin:center top;width:18px}.menu-item-wrapper{position:relative}.menu-item-wrapper,.menu-title{align-items:center;display:flex;height:100%}.menu-title{color:#ccc;cursor:pointer;font-size:14px;padding:0 .75rem;text-decoration:none;transition:background .1s}.menu-item-wrapper.active .menu-title,.menu-title:hover{background:#3e3e42;color:#fff}.menu-title.current-view{border-bottom:2px solid #007acc;color:#fff}.menu-dropdown{background:#1b1b1c;border:1px solid #454545;border-radius:0 0 4px 4px;box-shadow:0 4px 10px #00000080;display:none;left:0;min-width:220px;padding:.25rem 0;position:absolute;top:100%;z-index:2000}.menu-item-wrapper:hover .menu-dropdown{display:block}.menu-action-btn{align-items:center;background:#0000;border:none;color:#ccc;cursor:pointer;display:block;display:flex;font-size:13px;justify-content:space-between;padding:.4rem 1rem;text-align:left;width:100%}.menu-action-btn:hover:not(:disabled){background:#094771;color:#fff}.menu-action-btn:disabled{color:#555;cursor:default}.menu-separator{background:#454545;height:1px;margin:.25rem 0}.project-header{align-items:center;background:#252526;border-bottom:1px solid #3e3e42;display:flex;flex-shrink:0;height:48px;justify-content:space-between;padding:0 1rem}.project-title-section{align-items:center;display:flex;gap:.75rem}.project-icon{font-size:1.25rem}.project-name-display{color:#fff;font-size:1.125rem;font-weight:600}.header-tools{align-items:center;display:flex;gap:.5rem}.tool-btn{background:#0000;border:none;border-radius:4px;color:#8a8a8a;cursor:pointer;padding:4px}.tool-btn:hover{background:#3e3e42;color:#fff}.desktop-main{display:flex;flex:1 1;overflow:hidden}.desktop-sidebar{background:#252526;border-right:1px solid #3e3e42;display:flex;flex-direction:column;overflow:hidden;width:260px}.sidebar-header{background:#0b0e14;border-bottom:1px solid #3e3e42;padding:.75rem 1rem}.sidebar-header h3{color:#969696;font-size:.75rem;font-weight:400;letter-spacing:.05em;margin:0;text-transform:uppercase}.content-panel{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding:0;position:relative}.content-panel>*{flex:1 1;height:100%;overflow:hidden}.file-tree{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:.5rem 0}.tree-node-wrapper{-webkit-user-select:none;user-select:none}.tree-node{align-items:center;cursor:pointer;display:flex;font-size:.875rem;padding:.25rem .5rem;white-space:nowrap}.tree-node:hover{background:#2a2d2e}.tree-node.selected{background:#094771;color:#fff}.tree-expand{align-items:center;background:#0000;border:none;color:#8a8a8a;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.625rem;height:16px;justify-content:center;margin-right:4px;min-width:16px;padding:0;width:16px}.tree-expand:hover{color:#d4d4d4}.tree-expand:focus{outline:none}.tree-expand.collapsed,.tree-expand.expanded{transform:none}.tree-icon{flex-shrink:0;margin:0 .375rem}.tree-icon .material-symbols-outlined{font-size:18px;vertical-align:middle}.tree-node-wrapper[data-node-id=unassigned-beats-root]>.tree-node .tree-icon{color:#f59e0b}.tree-label{flex:1 1;overflow:hidden;text-overflow:ellipsis}.tree-children{position:relative}.desktop-content{background:#1e1e1e;flex:1 1;overflow:hidden}.desktop-content,.issues-panel{display:flex;flex-direction:column}.issues-panel{animation:slideUp .2s ease-out;background:#252526;border-top:1px solid #007acc;bottom:0;height:200px;left:0;position:absolute;right:0;z-index:100}.issues-header{align-items:center;background:#2d2d30;border-bottom:1px solid #3e3e42;display:flex;justify-content:space-between;padding:.5rem 1rem}.issues-header h3{color:#ccc;font-size:.875rem;margin:0}.issues-close{background:#0000;border:none;color:#8a8a8a;cursor:pointer;font-size:1.25rem;padding:0 .25rem}.issues-close:hover{color:#fff}.issues-list{flex:1 1;overflow-y:auto;padding:.5rem}.no-issues{color:#8a8a8a;padding:2rem;text-align:center}.issue-item{align-items:center;border-radius:4px;display:flex;font-size:.875rem;gap:.75rem;margin-bottom:.25rem;padding:.5rem}.issue-item:hover{background:#2a2d2e}.issue-error{border-left:3px solid #f48771}.issue-warning{border-left:3px solid #dcdcaa}.issue-info{border-left:3px solid #3794ff}.issue-icon{flex-shrink:0}.issue-text{flex:1 1}.issue-fix-btn{background:#007acc;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:.75rem;padding:.25rem .75rem}.issue-fix-btn:hover{background:#005a9e}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#464647;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#5a5a5a}.project-selection-new{background:var(--color-background);color:var(--color-text-primary);font-family:var(--font-primary);min-height:100vh}.selection-header{align-items:center;background:#0b0e14;border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-md);display:flex;justify-content:space-between;padding:0}.header-content{align-items:center;display:flex;padding:.75rem 3rem .75rem 1rem}.header-branding{align-items:center;display:flex;gap:1rem}.project-logo-container{align-items:center;background:#0000;border:none;border-radius:0;box-shadow:none;display:flex;flex-shrink:0;height:36px;justify-content:flex-start;padding:0;width:188px}.project-header-logo{display:block;filter:none;height:100%;object-fit:contain;object-position:left center;width:100%}.header-text{display:flex;flex-direction:column;gap:.25rem;justify-content:center}.header-content h1{display:none}.loreweaver-title{-webkit-text-fill-color:tan!important;background:none!important;background-clip:initial!important;-webkit-background-clip:unset!important;color:tan!important}.header-content p{color:var(--color-text-secondary);font-size:.8rem;margin:0}.create-project-btn{background:#2d3842;border:1px solid #3d4850;border-radius:var(--radius-sm);box-shadow:none;color:#e8e5d8;cursor:pointer;font-size:.875rem;font-weight:600;padding:.625rem 1.25rem;transition:var(--transition-fast)}.create-project-btn:hover{background:#354149;border-color:#4d5860;color:#fff}.projects-container{margin:0 auto;max-width:1400px;padding:3rem}.loading-container{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;justify-content:center;min-height:400px}.loading-spinner{border:3px solid var(--color-border);border-top:3px solid #adb5bd}.empty-state{min-height:400px}.empty-icon{align-items:center;display:flex;justify-content:center;margin-bottom:1rem}.empty-icon .material-symbols-outlined{font-size:4rem}.empty-state h2{color:var(--color-text-primary);font-size:1.5rem;margin:0 0 .5rem}.empty-state p{margin:0 0 1.5rem}.empty-create-btn{background:#fff;border:1px solid #dee2e6;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:#495057;cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;transition:var(--transition-fast)}.empty-create-btn:hover{background:#f8f9fa;border-color:#adb5bd;box-shadow:var(--shadow-md);transform:translateY(-1px)}.projects-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.project-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:all var(--transition-normal)}.project-card:hover{border-color:#adb5bd;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-header{background:var(--color-background);justify-content:space-between;padding:1.5rem}.card-header,.card-icon{align-items:center;display:flex}.card-icon{background:#2d3842;border:1px solid #3d4850;border-radius:16px;color:#e8e5d8;height:56px;justify-content:center;width:56px}.project-card-icon-symbol{font-size:2rem}.card-delete{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;opacity:0;padding:0;transition:var(--transition-fast);width:32px}.project-card:hover .card-delete{opacity:1}.card-delete:hover{background:var(--destructive);color:var(--color-text-primary)}.card-body{flex:1 1;padding:1.5rem}.card-body h3{color:var(--color-text-primary);font-size:1.25rem;font-weight:600;margin:0 0 .75rem}.card-description{color:var(--color-text-secondary);font-size:.875rem;line-height:1.5;margin:0 0 .75rem}.card-owner{color:#9ba1a6;font-size:.75rem;letter-spacing:.01em;margin:0}.card-footer{background:var(--color-background);color:var(--color-text-muted);display:flex;font-size:.75rem;justify-content:space-between;padding:.75rem 1.5rem}.modal-overlay{animation:fadeIn .2s;background:#1a2227d9}.project-selection-new .modal-content{animation:slideIn .2s;background:#1a2227!important;border:1px solid #3d4850!important;border-radius:var(--border-radius);box-shadow:var(--shadow-xl);max-height:90vh;overflow-y:auto;width:min(860px,calc(100vw - 2rem))}.project-selection-new .modal-header{align-items:flex-start;background:linear-gradient(180deg,#253139,#212b31)!important;border-bottom:1px solid #3d4850!important;display:flex;justify-content:space-between;padding:1.5rem 1.5rem 1rem}.project-selection-new .modal-header h2{color:#e8e5d8!important;font-size:1.5rem;font-weight:700;margin:0}.project-modal-heading{display:flex;flex-direction:column;gap:.5rem;max-width:560px}.project-modal-heading p{color:#aeb5ba;font-size:.95rem;line-height:1.5;margin:0}.modal-close{align-items:center;border-radius:var(--radius-sm);color:#9ba1a6;display:flex;height:32px;justify-content:center;transition:var(--transition-fast);width:32px}.modal-close:hover{background:#ef4444;color:#e8e5d8}.project-form{padding:1.25rem 1.5rem 1.5rem}.form-group{margin-bottom:1.25rem}.project-selection-new .form-group label{color:#e8e5d8!important;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.project-selection-new .form-group input,.project-selection-new .form-group textarea{background:#2d3842!important;border:1px solid #3d4850!important;border-radius:var(--radius-sm);box-sizing:border-box;color:#e8e5d8!important;font-family:inherit;font-size:.875rem;padding:.875rem .95rem;transition:var(--transition-fast);width:100%}.project-selection-new .form-group input::placeholder,.project-selection-new .form-group textarea::placeholder{color:#6b7278!important;opacity:1}.form-group input:focus,.form-group textarea:focus{border-color:#6c757d;box-shadow:0 0 0 3px #6c757d33;outline:none}.form-group textarea{min-height:108px;resize:vertical}.field-help{color:#8d969c;font-size:.78rem;line-height:1.45;margin:.5rem 0 0}.project-form-grid{grid-gap:1.25rem;align-items:start;display:grid;gap:1.25rem;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}.project-form-main,.project-form-side{min-width:0}.project-meta-card{background:linear-gradient(180deg,#2d3842f2,#242e35f2);border:1px solid #3d4850;border-radius:14px;margin-bottom:1rem;padding:1rem}.project-meta-label{color:#8d969c;display:block;font-size:.72rem;letter-spacing:.08em;margin-bottom:.5rem;text-transform:uppercase}.project-meta-card strong{color:#f0ede1;display:block;font-size:1rem;margin-bottom:.25rem}.project-meta-card p{color:#8d969c;font-size:.8rem;line-height:1.4;margin:0}.icon-group{margin-bottom:0}.project-icon-field{background:#12181d;border:1px solid #3d4850;border-radius:14px;padding:.9rem}.project-icon-preview{align-items:center;display:flex;gap:.9rem;margin-bottom:.9rem}.project-icon-preview-badge{align-items:center;background:linear-gradient(180deg,#3d4c56,#2d3842);border:1px solid #4c5a62;border-radius:16px;color:#f0ede1;display:flex;height:56px;justify-content:center;width:56px}.project-icon-preview-symbol{font-size:1.8rem}.project-icon-preview-copy{display:flex;flex-direction:column;gap:.2rem}.project-icon-preview-copy strong{color:#f0ede1;font-size:.92rem}.project-icon-preview-copy span{color:#9ba1a6;font-size:.82rem;text-transform:capitalize}.project-icon-search{background:#2d3842;border:1px solid #3d4850;border-radius:10px;box-sizing:border-box;color:#e8e5d8;font-size:.84rem;margin-bottom:.8rem;padding:.75rem .85rem;width:100%}.project-icon-search:focus{border-color:#6c757d;box-shadow:0 0 0 3px #6c757d2e;outline:none}.project-color-row{align-items:center;display:flex;gap:.65rem;margin-bottom:.85rem}.project-color-swatches{display:flex;flex-wrap:wrap;gap:.4rem;vertical-align:middle}.project-color-swatch{align-items:center;border:1px solid #ffffff38;border-radius:999px;box-sizing:border-box;cursor:pointer;display:inline-flex;height:18px;justify-content:center;min-width:18px;padding:0;position:relative;top:0;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;width:18px}.project-color-swatch:hover{transform:scale(1.08)}.project-color-swatch.selected{border-color:#f0ede1;box-shadow:0 0 0 2px #f0ede12e}.project-color-custom{align-items:center;background:#d6d8dd;border:1px solid #ffffff38;border-radius:5px;box-sizing:border-box;cursor:pointer;display:inline-flex;height:18px;justify-content:center;min-width:18px;overflow:hidden;position:relative;top:0;width:18px}.project-color-custom:hover{background:#e2e4e8;border-color:#fff6;transform:scale(1.08)}.project-color-custom-icon{align-items:center;color:#111;display:flex;height:100%;justify-content:center;pointer-events:none;transform:none;width:100%}.project-color-custom input[type=color]{border:none;cursor:pointer;height:100%;inset:0;opacity:0;padding:0;position:absolute;width:100%}.project-icon-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(4,minmax(0,1fr))}.project-icon-option{align-items:center;background:#222c33;border:1px solid #3d4850;border-radius:12px;color:#d7d2c4;cursor:pointer;display:flex;flex-direction:column;gap:.3rem;min-width:0;padding:.62rem .45rem;transition:var(--transition-fast)}.project-icon-option:hover{background:#2a343b;border-color:#5b6971;transform:translateY(-1px)}.project-icon-option.selected{background:#d2b48c1f;border-color:tan;box-shadow:0 0 0 1px #d2b48c59}.project-icon-option-symbol{font-size:1.2rem}.project-icon-option-label{color:#9ba1a6;font-size:.62rem;line-height:1.2;text-align:center;text-transform:capitalize}.project-selection-new .modal-actions{background:#0000!important;border-top:none!important;display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem;padding:0}.btn-cancel{background:#0000;border:1px solid #3d4850;border-radius:var(--radius-sm);color:#9ba1a6;cursor:pointer;font-size:.875rem;padding:.625rem 1.25rem;transition:var(--transition-fast)}.btn-cancel:hover{background:#2d3842;border-color:#4d5860;color:#e8e5d8}.btn-create{background:#fff;border:1px solid #dee2e6;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:#495057;cursor:pointer;font-size:.875rem;font-weight:600;padding:.625rem 1.25rem;transition:var(--transition-fast)}.btn-create:hover:not(:disabled){background:#f8f9fa;border-color:#adb5bd;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-create:disabled{cursor:not-allowed;opacity:.5}.header-actions{padding-right:1rem}.view-toggle{background:#2d384280;border-radius:var(--radius-sm);display:flex;gap:.25rem;padding:.25rem}.view-btn{background:#0000;border:none;border-radius:3px;color:var(--color-text-secondary);cursor:pointer;font-size:1.125rem;opacity:.7;padding:.5rem .75rem;transition:var(--transition-fast)}.view-btn.active{background:#fff;box-shadow:var(--shadow-sm);color:#495057;opacity:1}.view-btn:hover:not(.active){background:#2d3842cc;color:var(--color-text-primary);opacity:1}.card-actions{align-items:center;display:flex;gap:.5rem}.card-action-btn{background:#0000;border:none;border-radius:3px;color:var(--color-text-muted);cursor:pointer;font-size:1.125rem;opacity:0;padding:.25rem .5rem;transition:var(--transition-fast)}.project-card:hover .card-action-btn{opacity:1}.card-action-btn:hover{background:var(--card-background-hover);color:#e8e5d8}.project-card-new{align-items:center;background:#0000;border:2px dashed var(--color-border);display:flex;justify-content:center;min-height:200px}.project-card-new:hover{background:#ffffff08;border-color:#adb5bd;transform:translateY(-2px)}.project-card-new:hover .new-project-icon{border-color:#adb5bd;color:var(--color-text-primary)}.new-project-content{align-items:center;display:flex;flex-direction:column;gap:.75rem;padding:2rem;text-align:center}.new-project-icon{align-items:center;border:2px dashed var(--color-border);border-radius:50%;color:var(--color-text-muted);display:flex;font-weight:300;height:52px;justify-content:center;line-height:1;padding-bottom:2px;transition:var(--transition-fast);width:52px}.new-project-icon .material-symbols-outlined{font-size:1.75rem}.new-project-title{color:var(--color-text-secondary);font-size:1rem;font-weight:600;margin:0}.new-project-desc{color:var(--color-text-muted);font-size:.8rem;margin:0}.project-card-new.list-view{flex-direction:row;min-height:80px}.project-card-new.list-view .new-project-content{flex-direction:row;gap:1rem;padding:1rem 1.5rem}.projects-list{display:flex;flex-direction:column;gap:1rem}.project-card.list-view{display:flex;flex-direction:row;max-width:none;width:100%}.project-card.list-view .card-body{flex:1 1}.project-card.list-view .card-header{flex-direction:column;width:auto}@media (max-width:768px){.selection-header{flex-direction:column;gap:1rem;padding:1.5rem;text-align:center}.projects-container{padding:1.5rem}.project-form-grid,.projects-grid{grid-template-columns:1fr}.project-selection-new .modal-content{max-height:calc(100vh - 1rem);width:min(100vw - 1rem,860px)}.view-toggle{display:none}.project-icon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.version-display{bottom:12px;color:#6b6b6b;cursor:pointer;font-family:SF Mono,Monaco,Inconsolata,monospace;font-family:var(--font-mono,"SF Mono","Monaco","Inconsolata",monospace);font-size:11px;left:12px;letter-spacing:.02em;opacity:.7;position:fixed;text-decoration:none;transition:opacity .15s ease,color .15s ease;-webkit-user-select:none;user-select:none;z-index:1000}.version-display:hover{color:#4a90e2;opacity:1;text-decoration:underline}.login-page{align-items:center;background:linear-gradient(180deg,#0e639c14,#0e639c00),#1e1e1e;display:flex;justify-content:center;min-height:100vh;padding:24px}.login-shell{width:min(480px,100%)}.login-brand-panel{background:linear-gradient(160deg,#0b0e14fa,#252526f5),#111317;border-right:1px solid #3e3e42;display:flex;flex-direction:column;gap:28px;justify-content:space-between;padding:40px 36px}.login-brand-header{display:flex;flex-direction:column;gap:18px}.login-brand-logo{height:52px;object-fit:contain;object-position:left center;width:min(320px,100%)}.login-brand-kicker{background:#1f1f1f;border:1px solid #3e3e42;border-radius:999px;color:#9da3a9;display:inline-flex;font-size:.76rem;letter-spacing:.08em;padding:6px 10px;text-transform:uppercase;width:fit-content}.login-brand-copy h2{color:#fff;font-size:clamp(2rem,3vw,2.7rem);letter-spacing:-.03em;line-height:1.05;margin:0 0 12px}.login-brand-copy p{color:#9da3a9;font-size:1rem;line-height:1.6;margin:0;max-width:48ch}.login-brand-list{grid-gap:12px;display:grid;gap:12px}.login-brand-item{background:#1f1f1f;border:1px solid #3e3e42;border-radius:6px;display:flex;gap:16px;justify-content:space-between;padding:14px 16px}.login-brand-item-label{color:#fff;font-size:.88rem;font-weight:700}.login-brand-item-value{color:#9da3a9;font-size:.84rem;text-align:right}.login-container{width:100%}.login-card{background:#252526;border:1px solid #3e3e42;border-radius:8px;box-shadow:0 24px 60px #00000052;overflow:hidden;width:100%}.login-header{background:#2d2d30;border-bottom:1px solid #3e3e42;padding:24px 24px 18px}.login-mode-badge{background:#094771;border-radius:999px;color:#d7ebff;display:inline-flex;font-size:.74rem;font-weight:700;letter-spacing:.08em;margin-bottom:12px;padding:5px 9px;text-transform:uppercase}.login-header h1{color:#fff;font-size:2rem;line-height:1.05;margin:0 0 8px}.login-header p{color:#9da3a9;font-size:.95rem;margin:0}.login-form{padding:24px}.login-form .form-group{margin-bottom:18px}.login-form label{color:#d4d4d4;display:block;font-size:.84rem;font-weight:600;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.login-form input{background:#1f1f1f;border:1px solid #3e3e42;border-radius:6px;color:#e8e5d8;font-size:1rem;padding:13px 14px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;width:100%}.login-form input::placeholder{color:#7e868d}.login-form input:focus{background:#21252b;border-color:#0e639c;box-shadow:0 0 0 3px #0e639c2e;outline:none}.login-form input:disabled{background:#1a1d21;cursor:not-allowed}.login-button{background:#0e639c;border:1px solid #0e639c;border-radius:6px;color:#fff;cursor:pointer;font-size:.98rem;font-weight:700;margin-top:8px;padding:13px 16px;transition:background .2s ease,border-color .2s ease;width:100%}.login-button:hover:not(:disabled){background:#17b;border-color:#17b;box-shadow:none;transform:none}.login-button:disabled{background:#51565c;border-color:#51565c;cursor:not-allowed;transform:none}.error-message,.success-message{border:1px solid #0000;border-radius:6px;font-size:.9rem;margin-bottom:18px;padding:12px 14px}.error-message{background:#991b1b38;border-color:#ef44444d;color:#ffd1d1}.success-message{background:#065f4638;border-color:#22c55e47;color:#cbf7d6}.login-footer{background:#1f1f1f;border-top:1px solid #3e3e42;padding:18px 24px 22px}.login-footer p{color:#9da3a9;font-size:.88rem;margin:8px 0}.login-link{appearance:none;background:none;border:none;color:#4ea1d8;cursor:pointer;font:inherit;font-weight:700;padding:0}.login-link:hover{color:#74b8e5;text-decoration:underline}.login-signup-btn{background:#0000;border:1px solid #4ea1d8;border-radius:6px;color:#4ea1d8;cursor:pointer;display:block;font-size:.95rem;font-weight:600;margin-bottom:10px;padding:11px;text-align:center;transition:background .15s,color .15s;width:100%}.login-signup-btn:hover{background:#4ea1d8;color:#fff}.dev-mode-banner{align-items:flex-start;background:#0e639c1f;border:1px solid #0e639c47;border-radius:6px;display:flex;gap:14px;margin-bottom:18px;padding:14px}.dev-mode-icon{font-size:1.25rem}.dev-mode-banner strong{color:#fff;display:block;margin-bottom:4px}.dev-mode-banner p,.form-hint{color:#9da3a9;font-size:.82rem;margin:0}.form-hint{display:block;margin-top:6px}.button-loading{align-items:center;display:flex;gap:8px;justify-content:center}.spinner{animation:spin .8s linear infinite;border:2px solid #ffffff47;border-top-color:#fff;height:16px;width:16px}@media (max-width:960px){.login-shell{grid-template-columns:1fr}.login-brand-panel{border-bottom:1px solid #3e3e42;border-right:none}}@media (max-width:640px){.login-page{padding:12px}.login-brand-panel,.login-container{padding:18px}.login-brand-copy h2{font-size:1.8rem}.login-brand-item{flex-direction:column}.login-brand-item-value{text-align:left}.login-footer,.login-form,.login-header{padding-left:18px;padding-right:18px}}.lore-view{color:#ccc;display:flex;flex-direction:column;height:100%;padding:20px}.view-header{margin-bottom:2rem}.view-description{margin:0}.upload-section{margin-bottom:2rem}.upload-warning,.vision-warning{align-items:center;border-radius:6px;display:flex;font-size:.875rem;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem}.vision-warning{background:#ffc10726;border:1px solid #ffc1074d;color:#ffc107}.upload-warning{background:#f4877126;border:1px solid #f487714d;color:#f48771}.warning-icon{flex-shrink:0;font-size:1.25rem}.warning-dismiss{background:#0000;border:none;color:inherit;cursor:pointer;font-size:1.25rem;line-height:1;margin-left:auto;opacity:.7;padding:0}.warning-dismiss:hover{opacity:1}.dropzone{background:#252526;border:2px dashed #464647;border-radius:8px;cursor:pointer;padding:3rem;text-align:center;transition:all .3s}.dropzone:hover{background:#2a2d2e;border-color:#007acc}.dropzone.active{background:#1a3a52;border-color:#40a9ff}.dropzone.uploading{opacity:.6;pointer-events:none}.dropzone-content{align-items:center;display:flex;flex-direction:column;gap:.75rem}.dropzone-icon{font-size:3rem;opacity:.5}.dropzone-text{color:#ccc;font-size:1rem;margin:0}.dropzone-hint{color:#8a8a8a;font-size:.75rem;margin:0}.files-section{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.section-header{margin-bottom:1rem}.section-header h3{font-size:1.25rem}.processing-indicator{animation:pulse 2s infinite;background:#dcdcaa;border-radius:12px;color:#1e1e1e;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.files-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));overflow-y:auto;padding:.25rem}.file-card{background:#2d2d30;border:1px solid #3e3e42;border-radius:8px;cursor:pointer;padding:1rem;position:relative;transition:all .2s}.file-card:hover{background:#323233;border-color:#007acc;box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.file-card.selected{background:#094771;border-color:#007acc}.file-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.75rem}.file-icon{font-size:2rem}.file-delete{background:#0000;border:none;color:#8a8a8a;cursor:pointer;font-size:1.25rem;opacity:0;padding:0;transition:opacity .2s}.file-card:hover .file-delete{opacity:1}.file-delete:hover{color:#f48771}.file-body{display:flex;flex-direction:column;gap:.375rem}.file-name{color:#fff;font-size:.875rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:#8a8a8a;font-size:.75rem;margin:0}.file-error{color:#f48771;font-size:.75rem;margin:.5rem 0 0}.status-badge{border-radius:12px;display:inline-block;font-size:.625rem;font-weight:600;letter-spacing:.05em;padding:.125rem .5rem;text-transform:uppercase}.status-badge.pending{background:#464647;color:#8a8a8a}.status-badge.processing{background:#dcdcaa;color:#1e1e1e}.status-badge.completed{background:#4ec9b0;color:#1e1e1e}.status-badge.failed{background:#f48771;color:#1e1e1e}.status-badge.ready{background:#4ec9b0;color:#1e1e1e}.status-badge.not-ready{background:#464647;color:#8a8a8a}.status-badge.chunking{animation:pulse 1.5s infinite;background:#17a2b8;color:#fff;cursor:default}.status-badge.clickable{cursor:pointer;transition:all .2s ease}.status-badge.clickable:hover{box-shadow:0 2px 4px #0003;transform:scale(1.05)}.file-details{animation:slideIn .2s ease-out;background:#252526;border-left:1px solid #007acc;bottom:0;box-shadow:-4px 0 12px #0000004d;display:flex;flex-direction:column;position:absolute;right:0;top:0;width:400px}.details-header{align-items:center;background:#2d2d30;border-bottom:1px solid #3e3e42;display:flex;justify-content:space-between;padding:1rem 1.5rem}.details-header h3{color:#fff;font-size:1.125rem;margin:0}.details-close{background:#0000;border:none;color:#8a8a8a;cursor:pointer;font-size:1.5rem;line-height:1;padding:0}.details-close:hover{color:#fff}.details-content{flex:1 1;overflow-y:auto;padding:1.5rem}.detail-row{margin-bottom:1rem}.detail-label{color:#8a8a8a;flex:0 0 100px;font-size:.875rem}.detail-value{color:#ccc;flex:1 1;font-size:.875rem}.detail-section{margin-top:2rem}.detail-section h4{color:#fff;font-size:1rem;margin:0 0 1rem}.transcript-content{background:#1e1e1e;border:1px solid #3e3e42;border-radius:4px;font-size:.875rem;line-height:1.5;max-height:300px;overflow-y:auto;padding:1rem;white-space:pre-wrap}.process-btn{background:#007acc;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;margin-top:1rem;padding:.5rem 1rem;width:100%}.process-btn:hover{background:#005a9e}.schema-update-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.schema-update-modal{background:#1e1e1e;border:1px solid #333;border-radius:12px;box-shadow:0 8px 32px #0006;display:flex;flex-direction:column;max-height:85vh;max-width:800px;width:100%}.schema-update-modal .modal-header{align-items:center;background:#252525;border-bottom:1px solid #333;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.schema-update-modal .modal-header h2{color:#e0e0e0;font-size:1.25rem;margin:0}.schema-update-modal .close-btn{background:none;border:none;color:#888;cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem;transition:color .2s}.schema-update-modal .close-btn:hover{color:#fff}.schema-update-modal .modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.schema-update-modal .loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.schema-update-modal .spinner{animation:spin 1s linear infinite;border:3px solid #333;border-radius:50%;border-top-color:#4ec9b0;height:48px;width:48px}.schema-update-modal .loading-state p{color:#e0e0e0;margin:1rem 0 .5rem}.schema-update-modal .loading-hint{color:#888;font-size:.875rem}.schema-update-modal .no-changes-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.schema-update-modal .no-changes-icon{color:#4ec9b0;font-size:3rem;margin-bottom:1rem}.schema-update-modal .no-changes-state h3{color:#e0e0e0;margin:0 0 .5rem}.schema-update-modal .no-changes-state p{color:#888;max-width:400px}.suggestions-summary{background:#252525;border-left:3px solid #4ec9b0;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.suggestions-summary p{color:#e0e0e0;line-height:1.5;margin:0 0 1rem}.selection-controls{align-items:center;display:flex;gap:.75rem}.select-btn{background:#333;border:1px solid #444;border-radius:4px;color:#e0e0e0;cursor:pointer;font-size:.875rem;padding:.375rem .75rem;transition:all .2s}.select-btn:hover{background:#444;border-color:#555}.selection-count{color:#888;font-size:.875rem;margin-left:auto}.suggestions-section{margin-bottom:1.5rem}.suggestions-section h3{color:#4ec9b0;font-size:1rem;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.entity-types-list{display:flex;flex-direction:column;gap:1rem}.entity-type-card{background:#252525;border:1px solid #333;border-radius:8px;padding:1rem;transition:all .2s}.entity-type-card.selected{background:#4ec9b01a;border-color:#4ec9b0}.entity-type-header{margin-bottom:.5rem}.checkbox-label input[type=checkbox]{accent-color:#4ec9b0;cursor:pointer;height:18px;width:18px}.entity-type-name{color:#e0e0e0;font-size:1.125rem;font-weight:600}.entity-type-description{color:#b0b0b0;font-size:.9rem;line-height:1.4;margin:.5rem 0}.entity-type-reason{color:#888;font-size:.85rem;font-style:italic;margin:.5rem 0}.entity-type-fields{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.fields-label{color:#888;font-size:.85rem}.field-badge{background:#333;border-radius:4px;color:#e0e0e0;font-size:.8rem;padding:.25rem .5rem}.field-badge .required{color:#f48771;margin-left:2px}.type-fields-card{background:#252525;border:1px solid #333;border-radius:8px;margin-bottom:1rem;padding:1rem}.type-name{color:#dcdcaa;font-size:1rem;margin:0 0 .75rem}.fields-grid{display:flex;flex-direction:column;gap:.75rem}.field-card{background:#1e1e1e;border:1px solid #333;border-radius:6px;padding:.75rem;transition:all .2s}.field-card.selected{background:#4ec9b00d;border-color:#4ec9b0}.field-card .checkbox-label{flex-wrap:wrap}.field-card .field-name{color:#e0e0e0;font-weight:500}.field-card .field-type{color:#888;font-size:.85rem}.field-card .field-description{color:#b0b0b0;font-size:.85rem;line-height:1.4;margin:.5rem 0 0 1.625rem}.field-card .field-reason{color:#888;font-size:.8rem;font-style:italic;margin:.25rem 0 0 1.625rem}.schema-update-modal .modal-footer{background:#252525;border-radius:0 0 12px 12px;border-top:1px solid #333;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.schema-update-modal .cancel-btn{background:#333;border:1px solid #444;border-radius:6px;color:#e0e0e0;cursor:pointer;font-size:.9rem;padding:.625rem 1.25rem;transition:all .2s}.schema-update-modal .cancel-btn:hover:not(:disabled){background:#444}.schema-update-modal .cancel-btn:disabled{cursor:not-allowed;opacity:.5}.schema-update-modal .apply-btn{background:#4ec9b0;border:none;border-radius:6px;color:#1e1e1e;cursor:pointer;font-size:.9rem;font-weight:600;padding:.625rem 1.25rem;transition:all .2s}.schema-update-modal .apply-btn:hover:not(:disabled){background:#5fd9c0}.schema-update-modal .apply-btn:disabled{cursor:not-allowed;opacity:.5}.sgm-modal{max-width:95vw;width:580px}.sgm-body{gap:20px;padding:20px 24px}.sgm-body,.sgm-section{display:flex;flex-direction:column}.sgm-section{gap:8px}.sgm-section-header{margin-bottom:2px}.sgm-section-title{color:var(--text-muted);font-size:.78rem;font-weight:600;letter-spacing:.06em;margin:0 0 4px;text-transform:uppercase}.sgm-section-desc{color:var(--text-muted);font-size:.82rem;line-height:1.4;margin:0}.sgm-type-list{background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:8px;gap:2px;padding:6px}.sgm-type-list,.sgm-type-row{display:flex;flex-direction:column}.sgm-type-row{border:1px solid #0000;border-radius:6px;gap:3px;padding:7px 10px;transition:background .12s ease,border-color .12s ease}.sgm-type-row:hover{background:var(--bg-hover)}.sgm-type-row--enabled{background:var(--bg-card);border-color:var(--accent-primary)}.sgm-type-label{align-items:center;cursor:pointer;display:flex;gap:10px;-webkit-user-select:none;user-select:none}.sgm-checkbox{accent-color:var(--accent-primary);cursor:pointer;flex-shrink:0;height:15px!important;margin:0!important;width:15px!important}.sgm-type-name{color:var(--text-primary);font-size:.9rem;font-weight:500}.sgm-type-desc-preview{color:var(--text-muted);font-size:.78rem;line-height:1.4;margin:0 0 0 25px}.sgm-description-editor{display:flex;flex-direction:column;gap:4px;margin-left:25px}.sgm-desc-textarea{background:var(--bg-primary)!important;border:1px solid var(--border-secondary)!important;border-radius:4px!important;box-sizing:border-box;color:var(--text-primary)!important;font-family:inherit!important;font-size:.82rem!important;line-height:1.4!important;min-height:48px;padding:6px 8px!important;resize:vertical;width:100%}.sgm-desc-textarea:focus{border-color:var(--accent-primary)!important;box-shadow:0 0 0 2px #5a9fd426;outline:none}.sgm-reset-btn{align-self:flex-end;background:#0000;border:1px solid var(--border-secondary);border-radius:3px;color:var(--text-muted);cursor:pointer;font-size:.73rem;padding:2px 8px;transition:all .12s ease}.sgm-reset-btn:hover{background:var(--bg-hover);border-color:var(--border-primary);color:var(--text-primary)}.sgm-additional-toggle{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.86rem;font-weight:500;gap:8px;padding:8px 12px;text-align:left;transition:background .12s ease,border-color .12s ease,color .12s ease;width:100%}.sgm-additional-toggle:hover{background:var(--bg-hover);border-color:var(--border-primary);color:var(--text-primary)}.sgm-additional-toggle-arrow{color:var(--text-muted);font-size:.65rem}.sgm-badge{background:var(--accent-primary);border-radius:10px;color:#fff;font-size:.72rem;font-weight:600;margin-left:auto;padding:1px 9px}.sgm-additional-list{margin-top:4px}.sgm-options{border-top:1px solid var(--border-secondary);display:flex;flex-direction:column;gap:8px;padding-top:14px}.sgm-option-row{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:10px 12px;transition:background .12s ease,border-color .12s ease;-webkit-user-select:none;user-select:none}.sgm-option-row:hover{background:var(--bg-hover);border-color:var(--border-primary)}.sgm-option-row--active{background:var(--bg-card);border-color:var(--accent-primary)}.sgm-toggle{background:var(--border-primary);border-radius:10px;cursor:pointer;flex-shrink:0;height:20px;padding:2px;position:relative;transition:background .2s ease;width:36px}.sgm-toggle--on{background:var(--accent-primary)}.sgm-toggle-thumb{background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000040;display:block;height:16px;left:2px;position:absolute;top:2px;transition:transform .2s ease;width:16px}.sgm-toggle--on .sgm-toggle-thumb{transform:translateX(16px)}.sgm-option-text{display:flex;flex-direction:column;gap:2px}.sgm-option-name{color:var(--text-primary);font-size:.88rem;font-weight:500}.sgm-option-desc{color:var(--text-muted);font-size:.78rem;line-height:1.3}.modal-overlay{animation:fadeIn .2s ease-out;background-color:#000000a6}.modal-container{animation:slideUp .25s ease-out;background-color:#2d3842;background-color:var(--card-background,#2d3842);border:1px solid #3d4850;border:1px solid var(--border,#3d4850);border-radius:12px;box-shadow:0 20px 40px #00000080;display:flex;flex-direction:column;max-height:90vh}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-small{max-width:420px}.modal-medium{max-width:620px}.modal-large{max-width:920px}.modal-header{background-color:#222d36;border-bottom:1px solid #3d4850;border-bottom:1px solid var(--border,#3d4850);border-radius:12px 12px 0 0;flex-shrink:0;padding:18px 24px}.modal-title{color:#e8e5d8;font-size:1.25rem;font-weight:600;margin:0}.modal-close-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#9ba1a6;color:var(--text-secondary,#9ba1a6);cursor:pointer;display:flex;justify-content:center;padding:6px;transition:background .15s ease,color .15s ease}.modal-close-btn:hover{background-color:#354149;background-color:var(--card-background-hover,#354149);color:#e8e5d8;color:var(--text-primary,#e8e5d8)}.modal-body{background-color:#2d3842;background-color:var(--card-background,#2d3842);padding:24px}.modal-body .form-group{margin-bottom:20px}.modal-body label{color:#e8e5d8;color:var(--text-primary,#e8e5d8);display:block;font-size:.9rem;font-weight:500;margin-bottom:8px}.modal-body input,.modal-body select,.modal-body textarea{background-color:#1a2227;background-color:var(--background,#1a2227);border:1px solid #3d4850;border:1px solid var(--border,#3d4850);border-radius:6px;color:#e8e5d8;color:var(--text-primary,#e8e5d8);font-size:1rem;padding:10px 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus{border-color:#19c42a;border-color:var(--accent-primary,#19c42a);box-shadow:0 0 0 3px #19c42a26;outline:none}.modal-body .field-row{align-items:center;display:flex;gap:12px;margin-bottom:12px}.modal-body .field-row input{flex:1 1}.modal-body .field-row select{width:150px}.modal-body .checkbox-label{align-items:center;cursor:pointer;display:flex;gap:8px}.modal-body .checkbox-label input[type=checkbox]{margin:0;width:auto}.modal-footer{background-color:#222d36;border-radius:0 0 12px 12px;border-top:1px solid #3d4850;border-top:1px solid var(--border,#3d4850);flex-shrink:0;gap:12px;padding:16px 24px}.modal-btn{border:none;border-radius:6px;cursor:pointer;font-size:.92rem;font-weight:500;padding:9px 20px;transition:background .15s ease,transform .1s ease,box-shadow .15s ease}.modal-btn-primary{background-color:#19c42a;background-color:var(--accent-primary,#19c42a);color:#1a2227}.modal-btn-primary:hover{background-color:#20d633;background-color:var(--accent-primary-hover,#20d633);box-shadow:0 4px 12px #19c42a4d;transform:translateY(-1px)}.modal-btn-secondary{background-color:initial;border:1px solid #3d4850;border:1px solid var(--border,#3d4850);color:#e8e5d8;color:var(--text-primary,#e8e5d8)}.modal-btn-secondary:hover{background-color:#354149;background-color:var(--card-background-hover,#354149)}.modal-btn-danger{background-color:#ef4444;background-color:var(--destructive,#ef4444);color:#fff}.modal-btn-danger:hover{background-color:#dc2626;transform:translateY(-1px)}.field-editor{background-color:#1e2830;border-radius:8px;margin-bottom:16px;padding:16px}.field-editor-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.field-editor-title{color:#e8e5d8;color:var(--text-primary,#e8e5d8);font-size:1.1rem;font-weight:600}.field-add-btn{background-color:#19c42a;background-color:var(--accent-primary,#19c42a);border:none;border-radius:6px;color:#1a2227;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background .15s ease,transform .1s ease}.field-add-btn:hover{background-color:#20d633;background-color:var(--accent-primary-hover,#20d633);transform:translateY(-1px)}.field-list{max-height:300px;overflow-y:auto}.field-item{align-items:center;background-color:#2d3842;background-color:var(--card-background,#2d3842);border:1px solid #3d4850;border:1px solid var(--border,#3d4850);border-radius:6px;display:flex;gap:12px;margin-bottom:8px;padding:12px}.field-item:hover{background-color:#354149;background-color:var(--card-background-hover,#354149)}.field-delete-btn{background-color:#ef4444;background-color:var(--destructive,#ef4444);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:4px 8px}.field-delete-btn:hover{background-color:#dc2626}@media (max-width:768px){.modal-container{max-height:95vh;width:95%}.modal-header{padding:14px 16px}.modal-body{padding:16px}.modal-footer{padding:12px 16px}}.delete-field-modal-content{display:flex;flex-direction:column;gap:16px}.delete-field-core-warning{align-items:flex-start;background-color:#ef44441a;border:1px solid #ef444466;border-radius:8px;color:#e8e5d8;display:flex;font-size:.88rem;gap:12px;line-height:1.5;padding:12px 14px}.delete-field-core-warning .warning-icon{color:#ef4444;color:var(--color-error,#ef4444);flex-shrink:0;font-size:1.25rem;margin-top:1px}.delete-field-core-warning p{margin:0}.delete-field-warning{align-items:flex-start;background-color:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:8px;color:#e8e5d8;display:flex;font-size:.95rem;gap:12px;line-height:1.6;padding:14px 16px}.delete-field-warning .warning-icon{color:#f59e0b;color:var(--warning,#f59e0b);flex-shrink:0;font-size:1.25rem;margin-top:2px}.delete-field-warning p{margin:0}.delete-field-info{background-color:#222d36;border:1px solid #3d4850;border:1px solid var(--border-subtle,#3d4850);border-radius:8px;color:#e8e5d8;font-size:.92rem;padding:16px}.delete-field-info p{margin:0 0 10px}.delete-field-info ul{color:#c0c8d0;margin:0 0 12px;padding-left:20px}.delete-field-info li{margin-bottom:6px}.delete-field-permanent{color:#ef4444!important;color:var(--color-error,#ef4444)!important;font-weight:600;margin-bottom:0!important;margin-top:14px!important}.llm-progress-monitor{bottom:20px;display:flex;flex-direction:column;gap:12px;max-width:400px;position:fixed;right:20px;z-index:1000}.llm-progress-monitor.loading{align-items:center;display:flex;flex-direction:row;gap:12px;padding:16px 24px}.llm-progress-monitor.loading,.llm-task-card{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026}.llm-task-card{animation:slideIn .3s ease-out;border-left:4px solid #4a90e2;padding:16px}.llm-task-card.status-completed{animation:fadeOut .5s ease-out 3s forwards}@keyframes fadeOut{to{opacity:0;transform:translateX(420px)}}.task-header{align-items:flex-start;display:flex;gap:12px;margin-bottom:12px}.task-icon{flex-shrink:0;font-size:24px}.task-info{flex:1 1;min-width:0}.task-info h4{color:#333;font-size:14px;font-weight:600;margin:0 0 4px}.current-step,.task-info h4{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.current-step{color:#666;font-size:12px;margin:0}.cancel-btn{align-items:center;background:#0000;border:1px solid #ddd;border-radius:4px;color:#666;display:flex;flex-shrink:0;font-size:14px;height:24px;justify-content:center;transition:all .2s;width:24px}.cancel-btn:hover{background:#f5f5f5;border-color:#e74c3c;color:#e74c3c}.task-progress{align-items:center;display:flex;gap:8px;margin-bottom:12px}.progress-bar-container{background:#e0e0e0;border-radius:3px;flex:1 1;height:6px;overflow:hidden}.progress-bar-fill{background:#4a90e2;border-radius:3px;height:100%;transition:width .5s ease-out}.progress-bar-fill.indeterminate{animation:indeterminate-slide 1.5s ease-in-out infinite;background:linear-gradient(90deg,#4a90e2,#93c6f4 50%,#4a90e2);transition:none;width:35%}@keyframes indeterminate-slide{0%{transform:translateX(-130%)}to{transform:translateX(320%)}}.progress-percent{color:#333;font-size:12px;font-weight:600;min-width:40px;text-align:right}.task-details{display:flex;flex-direction:column;gap:6px}.detail-row{align-items:center;display:flex;font-size:12px;gap:8px;justify-content:space-between}.detail-row .label{color:#666;font-weight:500}.detail-row .value{color:#333;font-weight:600;text-align:right}.detail-row .value .estimate{color:#888;font-weight:400}.detail-row.error .value{color:#e74c3c;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spinner{border:2px solid #f3f3f3;border-top-color:#4a90e2;height:20px;width:20px}@media (max-width:768px){.llm-progress-monitor{left:20px;max-width:none;right:20px}}.type-icon-editor{background:#1e1e1e;border:1px solid #3a3a3a;border-radius:8px;box-shadow:0 8px 24px #00000080;display:flex;flex-direction:column;gap:8px;left:0;padding:12px;position:absolute;top:4px;width:360px;z-index:1000}.tie-section-label{color:#666;font-size:.65rem;font-weight:700;letter-spacing:.08em;margin-bottom:2px;text-transform:uppercase}.tie-icon-search{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:4px;box-sizing:border-box;color:#ccc;font-size:.8rem;outline:none;padding:5px 8px;width:100%}.tie-icon-search:focus{border-color:#007acc}.tie-icon-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(5,1fr);max-height:200px;overflow-y:auto;padding-right:2px}.tie-icon-grid::-webkit-scrollbar{width:4px}.tie-icon-grid::-webkit-scrollbar-track{background:#1e1e1e}.tie-icon-grid::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:2px}.tie-icon-btn{align-items:center;background:#2a2a2a;border:1px solid #0000;border-radius:4px;color:#ccc;cursor:pointer;display:flex;flex-direction:column;gap:2px;min-width:0;padding:5px 2px;transition:border-color .1s,background .1s}.tie-icon-btn:hover{background:#333;border-color:#555}.tie-icon-btn.selected{background:#1a3a5c;border-color:#007acc}.tie-icon-btn .material-symbols-outlined{font-size:20px;line-height:1}.tie-icon-label{color:#888;font-size:.55rem;max-width:56px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.tie-no-results{color:#666;font-size:.8rem;grid-column:1/-1;padding:16px 0;text-align:center}.tie-divider{border:none;border-top:1px solid #2a2a2a;margin:2px 0}.tie-swatches{display:flex;flex-wrap:wrap;gap:6px}.tie-swatch{border:2px solid #0000;border-radius:50%;cursor:pointer;flex-shrink:0;height:22px;padding:0;transition:border-color .1s,transform .1s;width:22px}.tie-swatch:hover{transform:scale(1.15)}.tie-swatch.selected{border-color:#fff;box-shadow:0 0 0 1px #007acc}.tie-hex-row{align-items:center;display:flex;gap:8px}.tie-hex-label{color:#888;font-size:.75rem;white-space:nowrap}.tie-hex-input{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:4px;color:#ccc;flex:1 1;font-family:monospace;font-size:.8rem;outline:none;padding:4px 6px}.tie-hex-input:focus{border-color:#007acc}.tie-hex-preview{border:1px solid #3a3a3a;border-radius:4px;flex-shrink:0;height:22px;width:22px}.schema-view{color:#ccc;display:flex;flex:1 1;flex-direction:column;min-height:100%;overflow-y:auto!important;padding:12px 16px;position:relative}.view-header{margin-bottom:1rem}.view-header h2{color:#fff;font-size:1.75rem;margin:0 0 .5rem}.view-description{color:#8a8a8a;font-size:.875rem;margin:0 0 1rem}.schema-status{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:4px;color:#999;display:inline-block;font-family:monospace;font-size:.875rem;margin:.5rem 0;padding:.25rem .75rem}.header-actions{gap:1rem}.save-btn,.suggest-btn,.undo-btn{background:#007acc;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:background-color .2s}.save-btn:hover,.suggest-btn:hover,.undo-btn:hover{background:#005a9e}.suggest-btn:disabled{background:#464647;color:#8a8a8a;cursor:not-allowed}.generating-status{align-items:center;display:flex;gap:.5rem}.pulse-dot{animation:pulse 1.5s infinite;background:#fff;border-radius:50%;height:8px;width:8px}.undo-btn{background:#4ec9b0;color:#1e1e1e}.update-schema-btn{background:#dcdcaa;border:none;border-radius:4px;color:#1e1e1e;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.update-schema-btn:hover{background:#e8e8b8;transform:translateY(-1px)}.undo-btn:hover{background:#3aa088}.save-btn{background:#4ec9b0;color:#1e1e1e}.save-btn:hover{background:#3aa088}.view-xml-btn{background:#569cd6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:background-color .2s}.view-xml-btn:hover{background:#4178a8}.loading-state{gap:1rem;height:60%}.loading-spinner{border:3px solid #464647;border-top-color:#007acc;height:40px;width:40px}.suggested-schemas{background:#252526;border:1px solid #3e3e42;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.suggested-schemas h3{color:#fff;font-size:1.25rem;margin:0 0 1rem}.schemas-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.suggested-schema-card{background:#2d2d30;border:1px solid #3e3e42;border-radius:8px;padding:1rem;transition:all .2s}.suggested-schema-card:hover{border-color:#007acc;box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.schema-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.schema-header h4{color:#fff;font-size:1rem;margin:0}.schema-stats{background:#464647;border-radius:12px;color:#ccc;font-size:.75rem;padding:.25rem .5rem}.schema-preview{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.entity-preview{align-items:center;background:#1e1e1e;border-radius:4px;display:flex;justify-content:space-between;padding:.5rem}.field-count{color:#8a8a8a;font-size:.75rem}.apply-schema-btn{background:#dcdcaa;border:none;border-radius:4px;color:#1e1e1e;cursor:pointer;font-weight:600;padding:.75rem;transition:background-color .2s;width:100%}.apply-schema-btn:hover{background:#b8b876}.change-diff-modal{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#252526;border:1px solid #3e3e42;border-radius:8px;display:flex;flex-direction:column;max-height:80vh;max-width:600px}.modal-header{background:#2d2d30;border-bottom:1px solid #3e3e42}.modal-header h3{color:#fff}.modal-close{background:#0000;border:none;color:#8a8a8a;cursor:pointer;font-size:1.5rem;line-height:1;padding:0}.modal-close:hover{color:#fff}.modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.changes-list{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}.change-item{align-items:flex-start;background:#1e1e1e;border-left:3px solid #0000;border-radius:4px;display:flex;gap:.75rem;padding:.75rem}.change-item.safe{border-left-color:#4ec9b0}.change-item.destructive{border-left-color:#f48771}.change-icon{flex-shrink:0;font-size:1.25rem}.change-details{flex:1 1}.change-description{color:#fff;font-weight:600;margin-bottom:.25rem}.change-impact{color:#f48771;font-size:.75rem}.migration-options{margin-top:1.5rem}.migration-options h4{color:#fff;font-size:1rem;margin:0 0 1rem}.migration-choice{display:flex;flex-direction:column;gap:.5rem}.migration-choice label{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem;transition:background-color .2s}.migration-choice label:hover{background:#ffffff0d}.migration-choice input[type=radio]{accent-color:#007acc}.modal-footer{background:#2d2d30;border-radius:0 0 8px 8px;border-top:1px solid #3e3e42;display:flex;gap:1rem;justify-content:flex-end;padding:1rem 1.5rem}.cancel-btn,.confirm-btn{border:none;border-radius:4px;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:background-color .2s}.cancel-btn{background:#464647;color:#ccc}.cancel-btn:hover{background:#5a5a5c}.confirm-btn{background:#007acc;color:#fff}.confirm-btn:hover{background:#005a9e}.current-schema{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.current-schema h3{color:#fff;flex-shrink:0;font-size:1.1rem;margin:0 0 .5rem}.entities-list{flex:1 1;gap:.5rem;min-height:0;overflow-y:auto;padding-right:.5rem}.entities-list,.entity-card{display:flex;flex-direction:column}.entity-card{background:#252526;border:1px solid #3e3e42;border-radius:8px;flex-shrink:0;transition:border-color .2s}.entity-card:hover{border-color:#007acc}.entity-card.focused{background:#19c42a0d;border-color:var(--color-primary);box-shadow:0 0 0 2px #19c42a4d}.entity-header{align-items:center;background:#2d2d30;cursor:pointer;display:flex;justify-content:space-between;padding:.5rem .75rem;transition:background-color .2s}.entity-header:hover{background:#323233}.entity-info{align-items:center;display:flex;gap:.5rem}.collapse-icon{font-size:.875rem;opacity:.7}.entity-name{color:#4ec9b0;font-size:1rem;font-weight:600;margin:0}.entity-field-count{color:#8a8a8a;font-size:.75rem}.add-field-btn{background:#007acc;border-radius:4px;color:#fff;font-size:.75rem;padding:.375rem .75rem;transition:background-color .2s}.add-field-btn:hover{background:#005a9e}.entity-description{background:#2d2d30;border-left:3px solid #cda000;border-radius:0 4px 4px 0;color:#b0b0b0;font-size:.85rem;font-style:italic;line-height:1.4;margin:0 .75rem .5rem;padding:8px 12px}.entity-fields{display:block;min-height:40px;padding:.25rem .75rem .5rem}.no-fields{color:#8a8a8a;font-style:italic;padding:1rem;text-align:center}.field-row{align-items:center;background:#1e1e1e;border-left:3px solid #007acc;border-radius:4px;display:flex!important;justify-content:space-between;margin-bottom:.4rem;min-height:32px;opacity:1!important;padding:.4rem .6rem;transition:background .3s ease;visibility:visible!important}.field-row.newly-added{animation:highlightNewField 3s ease-out;border-left-color:#4ec9b0;border-left-width:4px}@keyframes highlightNewField{0%{background:#4ec9b066;box-shadow:0 0 20px #4ec9b099,inset 0 0 10px #4ec9b033;transform:scale(1.02)}20%{background:#4ec9b059;box-shadow:0 0 15px #4ec9b080;transform:scale(1.01)}to{background:#1e1e1e;box-shadow:none;transform:scale(1)}}.field-info{align-items:center;display:flex;flex:1 1;gap:.6rem}.field-name{color:#dcdcaa;font-weight:600}.field-name,.field-type{font-family:Consolas,Monaco,monospace}.field-type{background:#464647;border-radius:12px;color:#ccc;font-size:.75rem;padding:.125rem .5rem}.field-desc{color:#8a8a8a;font-size:.875rem;font-style:italic;margin-left:1rem}.field-description{position:relative}.description-display{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between}.description-text{border-radius:4px;cursor:pointer;flex:1 1;line-height:1.4;padding:.25rem;transition:background-color .2s}.description-text:hover{background:#ffffff0d}.description-text.empty{color:#8a8a8a;font-style:italic}.field-actions{display:flex!important;gap:.25rem;opacity:.7;transition:opacity .2s}.field-row:hover .field-actions{opacity:1}.edit-description-btn,.remove-field-btn{background:#0000;border:none;border-radius:4px;color:#8a8a8a;cursor:pointer;padding:.25rem;transition:all .2s}.edit-description-btn:hover{background:#007acc1a;color:#007acc}.remove-field-btn:hover{background:#f487711a;color:#f48771}.description-edit{display:flex;flex-direction:column;gap:.5rem}.description-edit textarea{background:#2d2d30;border:1px solid #007acc;border-radius:4px;color:#ccc;font-family:inherit;font-size:.875rem;min-height:60px;padding:.5rem;resize:vertical}.description-edit textarea:focus{border-color:#40a9ff;outline:none}.edit-actions{gap:.5rem;justify-content:flex-end}.edit-actions button{background:#007acc;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:.25rem .75rem;transition:background-color .2s}.edit-actions button:hover{background:#005a9e}.edit-actions button:last-child{background:#464647}.edit-actions button:last-child:hover{background:#5a5a5c}.add-field-form{background:#2d2d30;border-radius:4px;display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;padding:1rem}.form-row{gap:.75rem}.field-input,.field-type-select{background:#1e1e1e;border:1px solid #3e3e42;border-radius:4px;color:#ccc;font-size:.875rem;padding:.5rem}.field-input{flex:2 1}.field-type-select{flex:1 1}.field-input:focus,.field-type-select:focus{border-color:#007acc;outline:none}.field-description-input{background:#1e1e1e;border:1px solid #3e3e42;border-radius:4px;color:#ccc;font-family:inherit;font-size:.875rem;min-height:60px;padding:.5rem;resize:vertical}.field-description-input:focus{border-color:#007acc;outline:none}.form-actions{gap:.75rem}.form-actions button{border:none;font-size:.875rem;padding:.5rem 1rem;transition:background-color .2s}.form-actions button:first-child{background:#007acc;color:#fff}.form-actions button:first-child:hover{background:#005a9e}.form-actions button:last-child{background:#464647;color:#ccc}.form-actions button:last-child:hover{background:#5a5a5c}.empty-state{align-items:center;display:flex;flex-direction:column;gap:1rem;height:60%;justify-content:center}.empty-icon{font-size:4rem;opacity:.5}.empty-state h3{color:#fff;margin:0}.empty-state p{color:#8a8a8a;margin:0}.generation-progress{align-items:center;display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.progress-spinner{animation:spin 1s linear infinite;border:3px solid #464647;border-radius:50%;border-top-color:#007acc;height:40px;width:40px}.generation-progress p{color:#007acc;font-size:.9rem;margin:0}.empty-hint{color:#8a8a8a;font-size:.875rem;font-style:italic;margin-top:1rem}.suggest-btn.primary{background:#007acc;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .2s}.suggest-btn.primary:hover{background:#005a9e}.entities-list::-webkit-scrollbar{width:8px}.entities-list::-webkit-scrollbar-track{background:#252526}.entities-list::-webkit-scrollbar-thumb{background:#464647;border-radius:4px}.entities-list::-webkit-scrollbar-thumb:hover{background:#5a5a5c}.xml-view{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.xml-view h3{color:#fff;font-size:1.25rem;margin:0 0 1rem}.xml-content{background:#1e1e1e;border:1px solid #3e3e42;border-radius:8px;flex:1 1;overflow:auto;padding:1rem;position:relative}.xml-code{color:#d4d4d4;font-family:Consolas,Monaco,Courier New,monospace;font-size:.875rem;line-height:1.5;margin:0;overflow-x:auto;padding:0;white-space:pre}.copy-xml-btn{background:#007acc;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:.5rem 1rem;position:absolute;right:1rem;top:1rem;transition:background-color .2s}.copy-xml-btn:hover{background:#005a9e}.empty-schema-state{align-items:center;background:#252526;border:2px dashed #3e3e42;border-radius:12px;display:flex;flex-direction:column;justify-content:center;margin:2rem 0;padding:4rem 2rem;text-align:center}.empty-schema-state .empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.6}.empty-schema-state h3{color:#fff;font-size:1.5rem;margin:0 0 .75rem}.empty-schema-state p{color:#8a8a8a;line-height:1.6;margin:0 0 1.5rem;max-width:500px}.schema-note{background:#2d2d30;border:1px solid #f48771;border-radius:8px;margin-top:1rem;padding:1.5rem}.schema-note p{color:#ccc;font-size:.875rem;line-height:1.6;margin:0 0 .5rem}.schema-note p:last-child{margin-bottom:0}.schema-generating-banner{align-items:center;animation:bannerPulse 2s ease-in-out infinite;background:#007acc26;border:1px solid #007acc66;border-radius:6px;color:#4fc3f7;display:flex;font-size:.875rem;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem}.generating-lock-icon{flex-shrink:0;font-size:1rem}@keyframes bannerPulse{0%,to{border-color:#007acc66}50%{border-color:#007accb3}}.current-schema.schema-locked .entities-list{opacity:.6;pointer-events:none;position:relative}.add-field-btn:disabled,.remove-field-btn:disabled{cursor:not-allowed;opacity:.4}.form-actions button:disabled{background:#464647!important;color:#8a8a8a!important;cursor:not-allowed;opacity:.4}.schema-raw-content{background:#1e1e1e;border:1px solid #3e3e42;border-radius:8px;max-height:400px;overflow:auto;padding:1rem}.empty-schema-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1rem}.action-btn.secondary{background:#3e3e42;border:1px solid #555}.action-btn.secondary:hover{background:#505055}.schema-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.schema-section-header h3{margin:0}.add-entity-type-btn{background:#2d5a27;border:1px solid #4a8a45;border-radius:4px;color:#9ccc98;cursor:pointer;font-size:.8rem;padding:5px 12px;transition:background-color .2s}.add-entity-type-btn:hover{background:#3a7234}.add-entity-type-form{align-items:center;background:#252526;border:1px solid #4a8a45;border-radius:6px;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding:10px 12px}.entity-type-desc-input,.entity-type-name-input{background:#1e1e1e;border:1px solid #3e3e42;border-radius:4px;color:#ccc;font-size:.875rem;outline:none;padding:6px 10px}.entity-type-name-input{width:180px}.entity-type-desc-input{flex:1 1;min-width:200px}.entity-type-desc-input:focus,.entity-type-name-input:focus{border-color:#4a8a45}.add-entity-type-actions{display:flex;gap:.5rem}.add-entity-type-confirm{background:#2d5a27;border:1px solid #4a8a45;border-radius:4px;color:#9ccc98;cursor:pointer;font-size:.875rem;padding:6px 14px}.add-entity-type-confirm:hover{background:#3a7234}.add-entity-type-cancel{background:#3e3e42;border:1px solid #555;border-radius:4px;color:#999;cursor:pointer;font-size:.875rem;padding:6px 14px}.add-entity-type-cancel:hover{background:#505055}.entity-description.editable{cursor:pointer;transition:background-color .15s}.entity-description.editable:hover{background:#3a3a3d;border-left-color:#f0b800}.description-placeholder{color:#555;font-style:italic}.description-edit-wrapper{margin:0 .75rem .5rem}.description-textarea{background:#1e1e1e;border:1px solid #4a7a9b;border-radius:4px;box-sizing:border-box;color:#ccc;font-family:inherit;font-size:.85rem;outline:none;padding:8px 10px;resize:vertical;width:100%}.description-textarea:focus{border-color:#cda000}.description-edit-actions{display:flex;gap:.5rem;margin-top:4px}.desc-save-btn{background:#0e639c;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:.8rem;padding:4px 12px}.desc-save-btn:hover{background:#17b}.desc-cancel-btn{background:#0000;border:1px solid #555;border-radius:3px;color:#999;cursor:pointer;font-size:.8rem;padding:4px 12px}.desc-cancel-btn:hover{background:#3e3e42}.entity-type-badge{border:1px solid #0000001a;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:inline-block;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase;transition:all .2s ease;white-space:nowrap}.entity-type-badge--small{border-radius:10px;font-size:11px;padding:3px 8px}.entity-type-badge--medium{border-radius:12px;font-size:12px;padding:4px 12px}.entity-type-badge--large{border-radius:14px;font-size:14px;padding:6px 16px}.entity-type-badge:hover{box-shadow:0 2px 6px #00000026;transform:translateY(-1px)}@keyframes badge-appear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.entity-type-badge{animation:badge-appear .3s ease-out}.data-table-wrapper{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001f;overflow-x:auto;width:100%}.data-table{border-collapse:collapse;font-size:14px;width:100%}.data-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.data-table th{background:#f8f9fa;color:#495057;font-weight:600;padding:8px 16px;position:sticky;text-align:left;top:0;white-space:nowrap;z-index:10}.data-table th.sortable{cursor:pointer;transition:background-color .2s;-webkit-user-select:none;user-select:none}.data-table th.sortable:hover{background:#e9ecef}.th-content{align-items:center;display:flex;gap:8px}.sort-indicator{color:#6c757d;font-size:10px}.actions-column{text-align:center!important;width:100px}.data-table tbody tr{border:none;transition:background-color .15s}.data-table td{border:none;color:#212529;padding:8px 16px;vertical-align:middle}.data-table.striped tbody tr.even{background:#fff}.data-table.striped tbody tr.odd{background:#e9ecef}.data-table.hoverable tbody tr:hover{background:#e9f4ff!important}.data-table.compact td,.data-table.compact th{padding:8px 12px}.data-table.compact{font-size:13px}.empty-row td{color:#6c757d;font-style:italic;padding:48px 16px;text-align:center}.empty-message{align-items:center;display:flex;flex-direction:column;gap:8px;justify-content:center}.actions-cell{text-align:center!important}.action-buttons{gap:8px;justify-content:center}.table-action-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:16px;padding:4px 8px;transition:background-color .2s}.table-action-btn:hover{background:#e9ecef}.table-action-btn.ai{color:#6f42c1}.table-action-btn.ai:disabled{color:#9a7bd1;cursor:wait;opacity:.7}.table-action-btn.edit{color:#06c}.table-action-btn.delete{color:#dc3545}@media (max-width:768px){.data-table{font-size:12px}.data-table td,.data-table th{padding:8px 12px}}.truncate{display:inline-block;max-width:250px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.table-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.checkbox-cell,.checkbox-column{padding:8px!important;text-align:center!important;width:40px!important}.checkbox-cell input[type=checkbox],.checkbox-column input[type=checkbox]{accent-color:#06c;cursor:pointer;height:16px;width:16px}.data-table tbody tr.selected{outline:1px solid #64a0ff59;outline-offset:-1px}.data-table tbody tr.selected td:first-child{box-shadow:inset 3px 0 0 0 #4a90e2}.media-field-input{display:flex;flex-direction:column;gap:.75rem}.media-field-preview{align-items:center;background:#1f1f23;background:var(--color-surface,#1f1f23);border:1px solid #2b2b2f;border:1px solid var(--color-border,#2b2b2f);border-radius:8px;display:flex;justify-content:center;max-height:220px;overflow:hidden;padding:.75rem}.media-field-preview.image img{border-radius:4px;max-height:200px;max-width:100%;object-fit:contain}.media-field-preview.audio audio,.media-field-preview.video video{width:100%}.media-field-placeholder{border:1px dashed #2b2b2f;border:1px dashed var(--color-border,#2b2b2f);border-radius:8px;color:#9b9ba5;color:var(--color-muted,#9b9ba5);font-size:.95rem;padding:1rem;text-align:center}.media-field-controls{align-items:center;flex-wrap:wrap}.media-field-controls,.media-field-secondary-actions{display:flex;gap:.5rem}.media-field-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;padding:.55rem .85rem;transition:background .2s ease,color .2s ease,border-color .2s ease}.media-field-btn.primary{background:#5b6efd;background:var(--color-primary,#5b6efd);color:#fff}.media-field-btn.primary:disabled{background:#5b6efd8c;cursor:not-allowed}.media-field-btn.ghost{background:#0000;border:1px solid #2b2b2f;border:1px solid var(--color-border,#2b2b2f);color:#d8d8e3;color:var(--color-text,#d8d8e3)}.media-field-btn.ghost:hover:not(:disabled){border-color:#5b6efd;border-color:var(--color-primary,#5b6efd);color:#5b6efd;color:var(--color-primary,#5b6efd)}.media-field-error{color:#f87171;color:var(--color-danger,#f87171);font-size:.85rem}.generate-entities-modal .modal-container{max-width:420px}.generate-modal-content{display:flex;flex-direction:column;gap:16px}.generate-modal-description{color:#a0aec0;color:var(--text-secondary,#a0aec0);font-size:.95rem;margin:0}.generate-modal-description strong{color:#4caf50;color:var(--primary-color,#4caf50)}.generate-modal-warning{align-items:center;background:#ff98001a;border:1px solid #ff98004d;border-radius:6px;color:#ff9800;display:flex;font-size:.9rem;gap:8px;padding:12px}.generate-modal-warning .material-symbols-outlined{font-size:20px}.generate-modal-form{display:flex;flex-direction:column;gap:8px}.generate-modal-form label{color:#e2e8f0;color:var(--text-primary,#e2e8f0);font-size:.9rem;font-weight:500}.generate-modal-form select{background:#2d3748;background:var(--bg-secondary,#2d3748);border:1px solid #4a5568;border:1px solid var(--border-color,#4a5568);border-radius:6px;color:#e2e8f0;color:var(--text-primary,#e2e8f0);cursor:pointer;font-size:1rem;padding:10px 12px;transition:border-color .2s}.generate-modal-form select:focus,.generate-modal-form select:hover:not(:disabled){border-color:#4caf50;border-color:var(--primary-color,#4caf50)}.generate-modal-form select:focus{box-shadow:0 0 0 2px #4caf5033;outline:none}.generate-modal-form select:disabled{cursor:not-allowed;opacity:.6}.generate-modal-info{align-items:center;background:#1a202c;background:var(--bg-tertiary,#1a202c);border-radius:6px;color:#718096;color:var(--text-muted,#718096);display:flex;font-size:.85rem;gap:8px;margin:0;padding:10px 12px}.generate-modal-info:before{color:#4caf50;color:var(--primary-color,#4caf50);content:"info";font-family:Material Symbols Outlined;font-size:18px}.generate-modal-actions{border-top:1px solid #4a5568;border-top:1px solid var(--border-color,#4a5568);display:flex;gap:12px;justify-content:flex-end;margin-top:8px;padding-top:16px}.generate-modal-actions .btn-secondary{background:#0000;border:1px solid #4a5568;border:1px solid var(--border-color,#4a5568);border-radius:6px;color:#e2e8f0;color:var(--text-primary,#e2e8f0);cursor:pointer;font-size:.9rem;padding:10px 20px;transition:all .2s}.generate-modal-actions .btn-secondary:hover:not(:disabled){background:#1a202c;background:var(--bg-tertiary,#1a202c);border-color:#a0aec0;border-color:var(--text-secondary,#a0aec0)}.generate-modal-actions .btn-primary{align-items:center;background:#4caf50;background:var(--primary-color,#4caf50);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:8px;padding:10px 24px;transition:all .2s}.generate-modal-actions .btn-primary:hover:not(:disabled){background:#45a049;background:var(--primary-color-dark,#45a049);transform:translateY(-1px)}.generate-modal-actions .btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.generate-modal-actions .spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.extraction-type-modal{display:flex;flex-direction:column;gap:16px;max-width:480px;min-width:320px}.extraction-type-description{color:#9ba1a6;font-size:.875rem;line-height:1.5;margin:0}.extraction-type-actions{align-items:center;display:flex;font-size:.8125rem;gap:8px}.btn-link{background:none;border:none;color:#19c42a;color:var(--accent-primary,#19c42a);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.btn-link:hover{opacity:.8}.extraction-type-divider{color:#6b7278}.extraction-type-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto;padding:4px 0}.extraction-type-item{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:10px;padding:6px 8px;transition:background .15s}.extraction-type-item:hover{background:#354149;background:var(--card-background-hover,#354149)}.extraction-type-item input[type=checkbox]{cursor:pointer;flex-shrink:0;height:16px;width:16px}.extraction-type-name{color:#e8e5d8;font-size:.9375rem}.extraction-type-footer{border-top:1px solid #3d4850;border-top:1px solid var(--border,#3d4850);display:flex;gap:10px;justify-content:flex-end;margin-top:4px;padding-top:12px}.extraction-type-footer .btn{border:none;border-radius:6px;cursor:pointer;font-size:.92rem;font-weight:500;padding:9px 20px;transition:background .15s ease,transform .1s ease}.extraction-type-footer .btn-secondary{background:#0000;border:1px solid #3d4850;border:1px solid var(--border,#3d4850);color:#e8e5d8}.extraction-type-footer .btn-secondary:hover{background:#354149;background:var(--card-background-hover,#354149)}.extraction-type-footer .btn-primary{background:#19c42a;background:var(--accent-primary,#19c42a);color:#1a2227}.extraction-type-footer .btn-primary:hover:not(:disabled){background:#20d633;background:var(--accent-primary-hover,#20d633);transform:translateY(-1px)}.extraction-type-footer .btn-primary:disabled{cursor:not-allowed;opacity:.5;transform:none}.entity-view{background:var(--color-background);color:var(--color-text-primary);display:flex;flex-direction:column;height:100vh}.entity-view .data-table td:nth-child(4),.entity-view .data-table th:nth-child(4){max-width:48px!important;min-width:48px!important;padding:0!important;text-align:center!important;vertical-align:middle!important;width:48px!important}.entity-view .entity-icon-cell{font-size:20px}.entity-icon-badge,.entity-view .entity-icon-cell{align-items:center;display:flex;justify-content:center}.entity-icon-badge{border:none;border-radius:6px;cursor:pointer;flex-shrink:0;height:30px;padding:0;transition:opacity .15s,transform .15s;width:30px}.entity-icon-badge:hover{opacity:.85;transform:scale(1.08)}.entity-icon-badge:disabled{cursor:not-allowed;opacity:.5}.entity-icon-badge .material-symbols-outlined{color:#000000bf;font-size:18px;line-height:1}.entity-view .data-table td:nth-child(5),.entity-view .data-table th:nth-child(5){padding-left:8px!important}.entity-view-header{align-items:flex-start;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-2xl)}.header-content h1{color:var(--color-text-primary);font-size:2.5rem;font-weight:600;margin:0}.project-info{color:var(--color-text-secondary);font-size:1.125rem;margin:0}.header-actions{align-items:center;display:flex;gap:var(--spacing-md);margin-right:20px}.entity-view-toolbar{align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-md) var(--spacing-2xl)}.search-controls{flex:1 1;max-width:400px}.search-input{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:14px;padding:12px 16px;transition:border-color .3s ease;width:100%}.search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #3c64781a;outline:none}.filter-controls{align-items:center;display:flex;gap:var(--spacing-md)}.filter-select{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:14px;min-width:160px;padding:10px 15px;transition:border-color .3s ease}.filter-select:focus{border-color:var(--color-primary);outline:none}.entity-view main{flex:1 1;overflow-y:auto;padding:var(--spacing-lg) var(--spacing-2xl)}.loading-state{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.loading-state .spinner{animation:spin 1s linear infinite;border:4px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:48px;margin-bottom:var(--spacing-md);width:48px}.empty-state{background:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius-md);margin:var(--spacing-2xl) 0;padding:80px 20px}.empty-state h3{font-size:1.5rem;margin:0 0 var(--spacing-md) 0}.empty-state p{color:var(--color-text-secondary);font-size:1.125rem;margin:0 0 var(--spacing-lg) 0;margin-left:auto;margin-right:auto;max-width:400px}.empty-actions{display:flex;gap:var(--spacing-md);justify-content:center}.action-btn{align-items:center;border-radius:var(--radius-sm);display:inline-flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:all .3s ease}.action-btn.primary{background-color:var(--color-primary)!important;color:#fff!important}.action-btn.primary:hover:not(:disabled){background-color:var(--color-primary-dark)!important;transform:translateY(-1px)}.action-btn.secondary{background-color:var(--color-surface);border:2px solid var(--color-border);color:var(--color-text-primary)}.action-btn.secondary:hover:not(:disabled){background-color:#19c42a0d;border-color:var(--color-primary);transform:translateY(-1px)}.action-btn:disabled{opacity:.6;transform:none}.action-btn.generate{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;color:#fff;font-weight:600}.action-btn.generate:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009}.entity-edit-modal,.extraction-modal{background:#252526!important;border:1px solid #3e3e42!important;border-radius:8px;box-shadow:0 8px 32px #0006;display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden}.extraction-info{background:#1e1e1e;color:#ccc;font-size:.9rem;margin-bottom:1.5rem;padding:1rem}.advanced-options,.extraction-info{border:1px solid #3a3a3a;border-radius:4px}.advanced-options{background:#252526;margin-top:1.5rem;padding:.75rem}.advanced-options summary{color:#ccc;font-weight:500;list-style:none;outline:none;-webkit-user-select:none;user-select:none}.advanced-options summary::-webkit-details-marker{display:none}.modal-header{align-items:center;background:#2d2d30!important;border-bottom:1px solid #3e3e42!important;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.modal-header h3{color:#fff!important;font-size:1.125rem;font-weight:600;margin:0}.close-btn{background:#0000;border:none;color:#8a8a8a;cursor:pointer;font-size:1.5rem;line-height:1;padding:0}.close-btn:hover{color:#fff}.modal-content{background:#252526!important;flex:1 1;overflow-y:auto;padding:1.5rem}.modal-actions{background:#2d2d30!important;border-radius:0 0 8px 8px;border-top:1px solid #3e3e42!important;display:flex;gap:1rem;justify-content:flex-end;padding:1rem 1.5rem}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{color:#fff!important;font-size:.875rem;font-weight:600;margin-bottom:var(--spacing-sm)}.form-input,.form-textarea{background:#1e1e1e!important;border:1px solid #3e3e42!important;border-radius:4px;color:#fff!important;font-size:.875rem;padding:12px;transition:border-color .3s ease;width:100%}select.form-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23fff' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;color:#fff!important;cursor:pointer;padding-right:36px}select.form-input option{background:#1e1e1e;color:#fff}.form-input:focus,.form-textarea:focus{border-color:#19c42a;box-shadow:0 0 0 2px #19c42a33;outline:none}.form-textarea{min-height:80px;resize:vertical}.fields-section{border-top:1px solid var(--color-border);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.fields-section h4{color:var(--color-text-primary);font-size:1rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.add-field-row{align-items:center;display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.field-input{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);flex:1 1;font-size:.875rem;padding:8px 12px}.add-field-btn{background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--color-surface);cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 16px;transition:background-color .2s ease;white-space:nowrap}.add-field-btn:hover:not(:disabled){background:var(--color-primary-dark)}.add-field-btn:disabled{cursor:not-allowed;opacity:.6}.existing-fields{gap:var(--spacing-sm)}.existing-fields,.field-edit-row{display:flex;flex-direction:column}.field-edit-row{background:#1e1e1e;border:1px solid #3e3e42;border-radius:4px;gap:.5rem;margin-bottom:1rem;padding:1rem}.field-label{align-items:center;color:#ccc!important;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;margin-bottom:.25rem}.field-required{color:#f48771;font-size:.875rem;margin-left:.25rem}.field-input-group{align-items:flex-start;display:flex;gap:.5rem}.field-input-group .form-input,.field-input-group .form-textarea{flex:1 1}.field-input-group .form-textarea{min-height:100px;resize:vertical}.field-name{color:var(--color-text-secondary);font-size:.875rem;font-weight:500;min-width:100px}.remove-field-btn{background:none;border:none;border-radius:4px;color:var(--color-error);cursor:pointer;font-size:1rem;padding:4px;transition:background-color .2s ease}.remove-field-btn:hover{background:#dc26261a}.radio-group,.type-checkboxes{display:flex;flex-direction:column;gap:var(--spacing-sm)}.checkbox-option,.radio-option{align-items:center;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm);transition:background-color .2s ease}.checkbox-option:hover,.radio-option:hover{background:#3c64780d}.checkbox-option input,.radio-option input{cursor:pointer}.checkbox-option{background:var(--color-background);border:1px solid var(--color-border)}@media (max-width:768px){.entity-view-header{align-items:stretch;flex-direction:column;gap:var(--spacing-md)}.header-actions{flex-wrap:wrap;justify-content:center}.entity-view-toolbar{align-items:stretch;flex-direction:column;gap:var(--spacing-md)}.entity-edit-modal,.extraction-modal{max-height:90vh;width:95%}.add-field-row,.field-edit-row{flex-direction:column}.field-edit-row{align-items:stretch}.field-name{min-width:auto}}@media (max-width:480px){.entity-view main,.entity-view-header,.entity-view-toolbar{padding:var(--spacing-md)}.header-content h1{font-size:2rem}}.fields-section .fields-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.fields-section .fields-header h4{margin:0}.autofill-btn{align-items:center;background:#007acc;border:1px solid #007acc;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.autofill-btn:hover:not(:disabled){background:#005a9e;border-color:#005a9e}.autofill-btn:disabled{cursor:not-allowed;opacity:.6}.generate-field-btn{align-items:center;background:#3c3c3c;border:1px solid #464647;border-radius:4px;color:#ccc;cursor:pointer;display:flex;flex-shrink:0;font-size:.75rem;font-weight:500;gap:.25rem;justify-content:center;padding:.375rem .75rem;transition:all .2s;white-space:nowrap}.generate-field-btn:hover:not(:disabled){background:#007acc;border-color:#007acc;color:#fff}.generate-field-btn:disabled{animation:pulse 1.5s infinite;cursor:not-allowed;opacity:.6}.ai-badge{animation:fadeIn .3s;font-size:.875rem;margin-left:.25rem;opacity:.8}.entity-edit-view{flex:1 1;overflow-y:auto;padding:2rem;width:100%}.edit-header{align-items:flex-start;border-bottom:1px solid #3e3e42;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.edit-header h2{color:#fff;font-size:1.75rem;margin:0 0 .5rem}.entity-type-label{align-items:center;color:#8a8a8a;display:flex;gap:.5rem;margin:0}.edit-actions{display:flex;gap:.75rem}.edit-content{display:flex;flex-direction:column;gap:2rem}.form-section{background:#252526;border:1px solid #3e3e42;border-radius:8px;padding:1.5rem}.form-section h3{color:#fff;font-size:1.125rem;font-weight:600;margin:0 0 1.5rem}.section-header{margin-bottom:1.5rem}.fields-list{display:flex;flex-direction:column}.add-custom-field{border-top:1px solid #3e3e42;margin-top:1.5rem;padding-top:1.5rem}.add-custom-field h4{color:#ccc;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.custom-fields{border-top:1px solid #3e3e42;margin-top:1.5rem;padding-top:1.5rem}.custom-fields h4{color:#ccc;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.similar-entity-modal{background:#252526!important;border:1px solid #3e3e42!important;border-radius:8px;box-shadow:0 8px 32px #0006;display:flex;flex-direction:column;max-height:80vh;max-width:520px;overflow:hidden}.similar-entity-overlay .modal-actions,.similar-entity-overlay .modal-header{background:#2d2d30!important;border-color:#3e3e42!important}.similar-entity-description{color:#e0e0e0;font-size:.95rem;margin:0 0 1.2rem}.similar-entity-modal .form-group label{color:#fff!important;display:block;font-weight:600;margin-bottom:.5rem}.similar-entity-modal .form-input,.similar-entity-modal .form-textarea{background:#1e1e1e;border:1px solid #3e3e42;border-radius:4px;color:#fff;font-size:.95rem;padding:.75rem;width:100%}.similar-entity-modal .form-input:disabled,.similar-entity-modal .form-textarea:disabled{cursor:not-allowed;opacity:.6}.similar-entity-modal .form-textarea{min-height:120px;resize:vertical}.similar-entity-modal .modal-actions .action-btn.primary:disabled{cursor:not-allowed;opacity:.7}.extraction-progress{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:var(--spacing-2xl)}.extraction-header{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl);padding:var(--spacing-xl)}.extraction-spinner{animation:spin 1s linear infinite;border:4px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:48px;width:48px}.extraction-info h3{color:var(--color-text-primary);font-size:1.5rem;margin:0 0 var(--spacing-xs) 0}.extraction-status{color:var(--color-text-secondary);font-size:1rem;margin:0}.extracted-entities-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.extracted-entity-card{align-items:center;animation:slideIn .3s ease-out forwards;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:var(--spacing-md);opacity:0;padding:var(--spacing-md) var(--spacing-lg);transform:translateY(10px)}.extracted-entity-card .entity-icon{background:#3b82f61a;background:var(--color-primary-light,#3b82f61a);border-radius:var(--radius-md);color:var(--color-primary);font-size:2rem;padding:var(--spacing-sm)}.entity-card-info{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0}.entity-card-name{color:var(--color-text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.extraction-waiting{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-3xl)}.extraction-waiting p{font-size:1.125rem;margin-bottom:var(--spacing-lg)}.pulse-dots{display:flex;gap:var(--spacing-sm)}.pulse-dots span{animation:pulse 1.4s ease-in-out infinite;background:var(--color-primary);border-radius:50%;height:12px;width:12px}.pulse-dots span:nth-child(2){animation-delay:.2s}.pulse-dots span:nth-child(3){animation-delay:.4s}.selection-actions{align-items:center;display:flex;gap:var(--spacing-md)}.selection-count{background:#4ade80;background:var(--color-primary,#4ade80);border-radius:var(--radius-sm);color:#fff;font-weight:600;padding:var(--spacing-xs) var(--spacing-md)}.selection-warning{color:var(--color-text-secondary);font-size:.875rem;font-style:italic}.merge-entity-modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:600px;width:90%}.merge-entity-modal .modal-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl)}.merge-entity-modal .modal-header h3{color:var(--color-text-primary);font-size:1.25rem;font-weight:600;margin:0}.merge-info{background:#3b82f61a;background:var(--color-primary-light,#3b82f61a);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.merge-info p{color:var(--color-text-secondary);font-size:.875rem;line-height:1.5;margin:0}.merge-entity-modal .radio-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.merge-entity-modal .radio-option{align-items:flex-start;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm);transition:background .2s}.merge-entity-modal .radio-option:hover{background:var(--color-hover)}.merge-entity-modal .radio-option input[type=radio]{accent-color:var(--color-primary);margin-top:4px}.merge-entity-modal .radio-option div{display:flex;flex-direction:column;gap:2px}.merge-entity-modal .radio-option strong{color:var(--color-text-primary)}.radio-description{color:var(--color-text-secondary);font-size:.8rem}.merge-preview{border-top:1px solid var(--color-border);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.merge-preview h4{color:var(--color-text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.5px;margin:0 0 var(--spacing-md);text-transform:uppercase}.merge-entity-list{display:flex;flex-direction:column;gap:var(--spacing-sm);list-style:none;margin:0;padding:0}.merge-entity-list li{align-items:center;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.merge-entity-list li.primary{background:#3b82f61a;background:var(--color-primary-light,#3b82f61a);border-color:var(--color-primary)}.merge-entity-list li.secondary{opacity:.8}.merge-entity-list .entity-name{color:var(--color-text-primary);flex:1 1;font-weight:500}.primary-badge{background:#fff;border-radius:4px;color:var(--color-primary);font-size:.7rem;font-weight:600;padding:2px 6px;text-transform:uppercase}.primary-select-row{align-items:center;display:flex;gap:var(--spacing-sm)}.primary-select-row select{flex:1 1}.select-oldest-btn{font-size:.875rem!important;padding:var(--spacing-sm) var(--spacing-md)!important;white-space:nowrap}.entity-extracting-banner{align-items:center;animation:entityBannerPulse 2s ease-in-out infinite;background:#007acc26;border:1px solid #007acc66;border-radius:6px;color:#4fc3f7;display:flex;flex-shrink:0;font-size:.875rem;gap:.75rem;margin:0 var(--spacing-lg);padding:.75rem 1rem}.entity-extracting-banner .generating-lock-icon{flex-shrink:0;font-size:1rem}@keyframes entityBannerPulse{0%,to{border-color:#007acc66}50%{border-color:#007accb3}}.graph-canvas{height:100%;overflow:hidden;position:relative;width:100%}.graph-canvas.mode-select,.graph-canvas.mode-select:active{cursor:crosshair}.graph-canvas.mode-pan{cursor:grab}.graph-canvas.mode-pan:active{cursor:grabbing}.graph-background-text{color:rgba(15,23,42,.035);font-size:clamp(72px,18vw,220px);font-weight:700;left:50%;letter-spacing:.08em;pointer-events:none;position:absolute;text-transform:uppercase;top:50%;transform:translate(-50%,-50%);-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:-1}.graph-content{height:100%;isolation:isolate;position:relative;width:100%;will-change:transform;z-index:1}.graph-connections-svg{height:100%;left:0;overflow:visible;pointer-events:none;position:absolute;top:0;width:100%}.graph-connection{cursor:pointer;pointer-events:all}.graph-connection path{transition:stroke-width .2s ease}.graph-connection:hover path{stroke-width:3;stroke:#94a3b8e6}.graph-connection-temp path{pointer-events:none;transition:none!important}.connection-label{pointer-events:none;-webkit-user-select:none;user-select:none}.connection-label-group{cursor:pointer;pointer-events:all}.connection-label-group rect{transition:fill .2s ease,stroke .2s ease,stroke-width .2s ease}.connection-label-group text{transition:fill .2s ease,font-weight .2s ease}.connection-label-group:hover rect{fill:#334155fa;stroke:#94a3b8cc;stroke-width:1.5}.connection-label-group:hover text{fill:#f1f5f9;font-weight:600}.graph-node{cursor:move;position:absolute;transition:box-shadow .15s ease;-webkit-user-select:none;user-select:none;z-index:5}.graph-node:hover{box-shadow:0 4px 12px #0000004d;z-index:10}.graph-node.selected{box-shadow:0 0 0 2px #667eeacc,0 6px 16px #0006;z-index:20}.port{background:#4a5568;border:2px solid #2d3748;border-radius:50%;cursor:pointer;height:14px;position:absolute;top:calc(50% - 7px);transition:all .2s ease;width:14px}.port:hover{background:#667eea;border-color:#667eea;transform:scale(1.2)}.port-in{left:-7px}.port-out{right:-7px}.graph-node.branch-node-container{overflow:visible}.selection-box{background:#667eea1a;border:2px dashed #667eeacc;border-radius:2px;contain:strict;left:0;pointer-events:none;position:absolute;top:0;will-change:transform,width,height;z-index:100}.resize-handle{background:#0000;border:none;height:16px;position:absolute;width:16px;z-index:30}.resize-nw{cursor:nwse-resize;left:-8px;top:-8px}.resize-ne{cursor:nesw-resize;right:-8px;top:-8px}.resize-sw{bottom:-8px;cursor:nesw-resize;left:-8px}.resize-se{bottom:-8px;cursor:nwse-resize;right:-8px}.resize-n{top:-6px}.resize-n,.resize-s{cursor:ns-resize;height:12px;left:16px;right:16px;width:auto}.resize-s{bottom:-6px}.resize-e{right:-6px}.resize-e,.resize-w{bottom:16px;cursor:ew-resize;height:auto;top:16px;width:12px}.resize-w{left:-6px}.property-inspector{background:#2d2d30;border-left:1px solid #3e3e42;box-shadow:-2px 0 8px #0000004d;display:flex;flex-direction:column;height:100vh;overflow:hidden;position:fixed;right:-400px;top:0;transition:right .3s ease-in-out;width:400px;z-index:1000}.property-inspector.open{right:0}.inspector-header{align-items:center;background:#1e1e1e;border-bottom:1px solid #3e3e42;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem}.inspector-title-group{align-items:center;display:flex;gap:.75rem}.inspector-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;font-size:1.5rem;height:40px;justify-content:center;line-height:40px;text-align:center;width:40px}.inspector-header h3{color:#fff;font-size:1rem;font-weight:600;margin:0}.inspector-type{color:#9ba1a6;display:block;font-size:.75rem;margin-top:.125rem}.inspector-close-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#9ba1a6;cursor:pointer;display:flex;justify-content:center;padding:.25rem;transition:all .2s}.inspector-close-btn:hover{background:#3c3c3c;color:#fff}.inspector-close-btn .material-symbols-outlined{font-size:1.25rem}.inspector-content{flex:1 1;overflow-y:auto;padding:1rem}.inspector-saving-indicator{align-items:center;animation:pulse 1.5s ease-in-out infinite;background:#4caf5026;border:1px solid #4caf504d;border-radius:4px;color:#81c784;display:flex;font-size:.875rem;gap:.5rem;margin-bottom:1rem;padding:.5rem .75rem}.inspector-saving-indicator .material-symbols-outlined{animation:spin 1s linear infinite;font-size:1rem}.inspector-field{margin-bottom:1rem}.inspector-label{color:#ccc;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.inspector-input,.inspector-textarea{background:#1e1e1e;border:1px solid #3e3e42;border-radius:4px;color:#ccc;font-family:inherit;font-size:.875rem;padding:.5rem .75rem;transition:all .2s;width:100%}.inspector-input:focus,.inspector-textarea:focus{background:#252526;border-color:#007acc;outline:none}.inspector-input:disabled{color:#6b7278;cursor:not-allowed;opacity:.5}.inspector-textarea{line-height:1.4;min-height:80px;resize:vertical}.inspector-content::-webkit-scrollbar{width:8px}.inspector-content::-webkit-scrollbar-track{background:#1e1e1e}.inspector-content::-webkit-scrollbar-thumb{background:#3e3e42;border-radius:4px}.inspector-content::-webkit-scrollbar-thumb:hover{background:#4e4e52}@media (max-width:768px){.property-inspector{right:-100%;width:100%}}.context-menu{animation:contextMenuSlideIn .15s ease-out;background:#2d2d30;border:1px solid #3e3e42;border-radius:4px;box-shadow:0 4px 12px #0006;min-width:180px;padding:.25rem 0;position:fixed;z-index:10000}@keyframes contextMenuSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.context-menu-item{align-items:center;background:#0000;border:none;color:#ccc;cursor:pointer;display:flex;font-size:.875rem;gap:.75rem;padding:.5rem .75rem;text-align:left;transition:background .15s;width:100%}.context-menu-item:hover{background:#3c3c3c;color:#fff}.context-menu-icon{color:#9ba1a6;flex-shrink:0;font-size:1.125rem}.context-menu-item:hover .context-menu-icon{color:#fff}.relationship-view-container{background:#2d2d2d;height:100%;overflow:hidden;position:relative;width:100%}.relationship-view-loading{color:#fff;flex-direction:column;font-size:18px;height:100vh}.relationship-node,.relationship-view-loading{align-items:center;display:flex;justify-content:center}.relationship-node{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1e1e1ef2;border:2px solid #ffffff1a;border-radius:12px;height:100%;padding:12px;transition:all .2s ease;width:100%}.relationship-node.selected{border-color:#667eea;box-shadow:0 0 0 3px #667eea33}.node-header{width:100%}.node-icon{font-size:18px;height:32px;width:32px}.node-icon.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 18}.relationship-view-container .node-title{color:#f0f0f0;display:block;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.relationship-view-container .node-subtitle{color:#ffffff80;display:block;font-size:10px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.beat-editor{background:#1a1a1a;background:var(--bg-primary,#1a1a1a);border-radius:12px;box-shadow:0 8px 32px #00000080;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:100%}.beat-editor.loading{align-items:center;color:#aaa;color:var(--text-secondary,#aaa);display:flex;justify-content:center;min-height:300px}.beat-editor-header{align-items:center;background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border-bottom:1px solid #333;border-bottom:1px solid var(--border-color,#333);display:flex;justify-content:space-between;padding:16px 20px}.header-title{align-items:center;display:flex;gap:12px}.header-title .material-symbols-outlined{color:#4a90e2;color:var(--accent-color,#4a90e2);font-size:24px}.header-title h2{color:#fff;color:var(--text-primary,#fff);font-size:18px;font-weight:600;margin:0}.scene-badge{background:#252525;background:var(--bg-tertiary,#252525);border-radius:12px;font-size:12px;padding:4px 10px}.close-button,.scene-badge{color:#aaa;color:var(--text-secondary,#aaa)}.close-button{align-items:center;background:#0000;border:none;border-radius:6px;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .15s ease;width:32px}.close-button:hover{background:#333;background:var(--bg-hover,#333);color:#fff;color:var(--text-primary,#fff)}.beat-editor-content{flex:1 1;overflow-y:auto;padding:20px}.cast-section{margin-bottom:24px}.cast-section h3,.dialogue-section h3,.notes-section h3{align-items:center;color:#fff;color:var(--text-primary,#fff);display:flex;font-size:14px;font-weight:600;gap:8px;margin:0 0 12px}.collapsible-header{border-radius:4px;cursor:pointer;padding:4px 0;transition:background .15s ease;-webkit-user-select:none;user-select:none}.collapsible-header:hover{background:#ffffff0d;background:var(--bg-hover,#ffffff0d)}.cast-count{align-items:center;background:#4a90e2;background:var(--accent-color,#4a90e2);border-radius:10px;color:#fff;display:inline-flex;font-size:11px;font-weight:600;height:20px;justify-content:center;min-width:20px;padding:0 6px}.collapse-icon{color:#aaa;color:var(--text-secondary,#aaa);font-size:20px;margin-left:auto;transition:transform .2s ease}.collapse-icon.collapsed{transform:rotate(-90deg)}.cast-section.collapsed,.notes-section.collapsed{margin-bottom:12px}.cast-section.collapsed h3,.notes-section.collapsed h3{margin-bottom:0}.has-notes-indicator{line-height:1}.cast-section h3 .material-symbols-outlined,.dialogue-section h3 .material-symbols-outlined,.has-notes-indicator,.notes-section h3 .material-symbols-outlined{color:#4a90e2;color:var(--accent-color,#4a90e2);font-size:18px}.cast-dropzone{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border:2px dashed #444;border:2px dashed var(--border-color,#444);border-radius:8px;min-height:60px;padding:12px;transition:all .2s ease}.cast-dropzone.drag-over,.cast-dropzone:hover{background:#4a90e20d;border-color:#4a90e2;border-color:var(--accent-color,#4a90e2)}.cast-empty{align-items:center;color:#666;color:var(--text-tertiary,#666);display:flex;flex-direction:column;justify-content:center;padding:16px}.cast-empty .material-symbols-outlined{font-size:32px;margin-bottom:8px;opacity:.5}.cast-empty p{font-size:13px;margin:0}.cast-list{display:flex;flex-wrap:wrap;gap:8px}.cast-member{align-items:center;background:#252525;background:var(--bg-tertiary,#252525);border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:20px;display:flex;gap:6px;padding:6px 10px}.cast-member .material-symbols-outlined{color:#4a90e2;color:var(--accent-color,#4a90e2);font-size:16px}.cast-name{color:#fff;color:var(--text-primary,#fff);font-size:13px}.remove-cast{align-items:center;background:#0000;border:none;border-radius:50%;color:#666;color:var(--text-tertiary,#666);cursor:pointer;display:flex;height:18px;justify-content:center;padding:0;transition:all .15s ease;width:18px}.remove-cast:hover{background:#f4433626;color:#f44336}.remove-cast .material-symbols-outlined{font-size:14px}.available-characters{border-top:1px dashed #444;border-top:1px dashed var(--border-color,#444);display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding-top:8px}.add-character-chip{background:#0000;border:1px dashed #444;border:1px dashed var(--border-color,#444);border-radius:14px;color:#aaa;color:var(--text-secondary,#aaa);cursor:pointer;font-size:12px;padding:4px 10px;transition:all .15s ease}.add-character-chip:hover{border-color:#4a90e2;border-color:var(--accent-color,#4a90e2);color:#fff;color:var(--text-primary,#fff)}.dialogue-section{margin-bottom:24px}.script-container{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border-radius:8px;margin-bottom:12px;max-height:400px;overflow-y:auto;padding:12px}.script-empty{align-items:center;color:#666;color:var(--text-tertiary,#666);display:flex;font-style:italic;height:100px;justify-content:center}.dialogue-line{border-left:2px solid #0000;border-radius:2px;cursor:pointer;margin:0;padding:2px 6px;transition:background .15s ease}.dialogue-line:hover{background:#252525;background:var(--bg-hover,#252525);border-left-color:#4a90e2;border-left-color:var(--accent-color,#4a90e2)}.dialogue-line.editing{background:#252525;background:var(--bg-tertiary,#252525);cursor:default;margin:4px 0;padding:10px 12px}.line-display{align-items:baseline;display:flex;flex-wrap:wrap;font-size:13px;gap:4px;line-height:1.4}.speaker-name{color:#4a90e2;color:var(--accent-color,#4a90e2);font-size:12px;font-weight:600;letter-spacing:.2px;text-transform:uppercase}.parenthetical{color:#aaa;color:var(--text-secondary,#aaa);font-size:12px;font-style:italic}.line-text{color:#fff;color:var(--text-primary,#fff);flex:1 1;min-width:0}.choice-badge{background:#ff980033;border-radius:4px;color:#ff9800;display:inline-block;font-size:10px;font-weight:600;margin-left:8px;padding:2px 8px;vertical-align:middle}.line-editor{display:flex;flex-direction:column;gap:10px}.line-editor input,.line-editor select,.line-editor textarea{background:#1a1a1a;background:var(--bg-primary,#1a1a1a);border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:6px;color:#fff;color:var(--text-primary,#fff);font-size:13px;padding:8px 12px}.line-editor input,.line-editor select{width:200px}.line-editor textarea{font-family:Courier New,Courier,monospace;resize:vertical;width:100%}.line-editor input:focus,.line-editor select:focus,.line-editor textarea:focus{border-color:#4a90e2;border-color:var(--accent-color,#4a90e2);outline:none}.line-actions{display:flex;gap:8px}.line-actions button{background:#4a90e2;background:var(--accent-color,#4a90e2);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:6px 14px;transition:background .15s ease}.line-actions button:hover{background:#5a9ff2;background:var(--accent-hover,#5a9ff2)}.line-actions button.delete{background:#0000;border:1px solid #444;border:1px solid var(--border-color,#444);color:#aaa;color:var(--text-secondary,#aaa)}.line-actions button.delete:hover{background:#f4433626;border-color:#f44336;color:#f44336}.new-dialogue-form{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border-radius:6px;padding:8px}.new-dialogue-form .form-row{align-items:center;display:flex;gap:6px}.new-dialogue-form select{padding:6px 8px;width:110px}.new-dialogue-form input,.new-dialogue-form select{background:#1a1a1a;background:var(--bg-primary,#1a1a1a);border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:4px;color:#fff;color:var(--text-primary,#fff);font-size:12px}.new-dialogue-form input{flex:1 1;padding:6px 10px}.new-dialogue-form input:focus,.new-dialogue-form select:focus{border-color:#4a90e2;border-color:var(--accent-color,#4a90e2);outline:none}.add-line-button{align-items:center;background:#4a90e2;background:var(--accent-color,#4a90e2);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:background .15s ease;width:28px}.add-line-button .material-symbols-outlined{font-size:18px}.add-line-button:hover:not(:disabled){background:#5a9ff2;background:var(--accent-hover,#5a9ff2)}.add-line-button:disabled{cursor:not-allowed;opacity:.5}.notes-section textarea{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:8px;color:#fff;color:var(--text-primary,#fff);font-size:13px;padding:12px;resize:vertical;width:100%}.notes-section textarea:focus{border-color:#4a90e2;border-color:var(--accent-color,#4a90e2);outline:none}.notes-section textarea::placeholder{color:#666;color:var(--text-tertiary,#666)}.saving-indicator{align-items:center;background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border-top:1px solid #333;border-top:1px solid var(--border-color,#333);color:#aaa;color:var(--text-secondary,#aaa);display:flex;font-size:13px;gap:8px;justify-content:center;padding:12px}.saving-indicator .spinning{animation:spin 1s linear infinite}.expression-builder{position:relative}.mode-toggle{display:flex;gap:4px;margin-bottom:12px}.mode-toggle button{align-items:center;background:#0000;border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:6px;color:#aaa;color:var(--text-secondary,#aaa);cursor:pointer;display:flex;font-size:12px;gap:6px;padding:6px 12px;transition:all .15s ease}.mode-toggle button:hover{background:#333;background:var(--bg-hover,#333);color:#fff;color:var(--text-primary,#fff)}.mode-toggle button.active{background:#4a90e2;background:var(--accent-color,#4a90e2);border-color:#4a90e2;border-color:var(--accent-color,#4a90e2);color:#fff}.mode-toggle button .material-symbols-outlined{font-size:16px}.text-mode input{background:#1a1a1a;background:var(--bg-primary,#1a1a1a);border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:6px;color:#fff;color:var(--text-primary,#fff);font-family:Courier New,monospace;font-size:13px;padding:10px 14px;width:100%}.text-mode input:focus{border-color:#4a90e2;border-color:var(--accent-color,#4a90e2);outline:none}.syntax-hint{color:#666;color:var(--text-tertiary,#666);font-size:11px;margin:8px 0 0}.syntax-hint code{background:#333;background:var(--bg-hover,#333);border-radius:3px;color:#aaa;color:var(--text-secondary,#aaa);font-family:Courier New,monospace;padding:2px 6px}.visual-mode{gap:8px}.empty-condition,.visual-mode{display:flex;flex-direction:column}.empty-condition{align-items:center;border:2px dashed #444;border:2px dashed var(--border-color,#444);border-radius:8px;color:#aaa;color:var(--text-secondary,#aaa);gap:12px;padding:20px}.empty-condition p{font-size:13px;margin:0}.empty-condition button{align-items:center;background:#4a90e2;background:var(--accent-color,#4a90e2);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;gap:6px;padding:8px 14px;transition:background .15s ease}.empty-condition button:hover{background:#5a9ff2;background:var(--accent-hover,#5a9ff2)}.condition-row{align-items:center;background:#1a1a1a;background:var(--bg-primary,#1a1a1a);border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:6px;display:flex;gap:8px;padding:8px}.variable-picker-container{flex:1 1;min-width:120px;position:relative}.variable-button{align-items:center;background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:6px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;display:flex;font-size:13px;justify-content:space-between;padding:8px 10px;transition:all .15s ease;width:100%}.variable-button:hover{border-color:#4a90e2;border-color:var(--accent-color,#4a90e2)}.variable-button .material-symbols-outlined{color:#aaa;color:var(--text-secondary,#aaa);font-size:18px}.variable-dropdown{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:6px;box-shadow:0 4px 12px #0000004d;left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.variable-dropdown button{align-items:center;background:#0000;border:none;color:#fff;color:var(--text-primary,#fff);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:10px 12px;text-align:left;transition:background .15s ease;width:100%}.variable-dropdown button:hover{background:#333;background:var(--bg-hover,#333)}.variable-dropdown .type-icon{font-size:16px}.variable-dropdown .type-icon.boolean{color:#4caf50}.variable-dropdown .type-icon.integer{color:#2196f3}.variable-dropdown .type-icon.float{color:#9c27b0}.variable-dropdown .type-icon.string{color:#ff9800}.no-variables{color:#666;color:var(--text-tertiary,#666);font-size:12px;padding:16px;text-align:center}.operator-select{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:6px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:13px;padding:8px;width:100px}.operator-select:focus{border-color:#4a90e2;border-color:var(--accent-color,#4a90e2);outline:none}.value-input{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:6px;color:#fff;color:var(--text-primary,#fff);flex:1 1;font-family:Courier New,monospace;font-size:13px;min-width:80px;padding:8px 10px}.value-input:focus{border-color:#4a90e2;border-color:var(--accent-color,#4a90e2);outline:none}.remove-condition{align-items:center;background:#0000;border:none;border-radius:4px;color:#666;color:var(--text-tertiary,#666);cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .15s ease;width:28px}.remove-condition:hover{background:#f4433626;color:#f44336}.remove-condition .material-symbols-outlined{font-size:18px}.logical-connector{display:flex;justify-content:center;padding:4px 0}.logical-connector select{background:#252525;background:var(--bg-tertiary,#252525);border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:12px;color:#aaa;color:var(--text-secondary,#aaa);cursor:pointer;font-size:11px;font-weight:600;padding:4px 12px;text-transform:uppercase}.logical-connector select:focus{border-color:#4a90e2;border-color:var(--accent-color,#4a90e2);outline:none}.add-condition-button{align-items:center;background:#0000;border:1px dashed #444;border:1px dashed var(--border-color,#444);border-radius:6px;color:#aaa;color:var(--text-secondary,#aaa);cursor:pointer;display:flex;font-size:12px;gap:6px;justify-content:center;padding:8px;transition:all .15s ease}.add-condition-button:hover{border-color:#4a90e2;border-color:var(--accent-color,#4a90e2);color:#4a90e2;color:var(--accent-color,#4a90e2)}.add-condition-button .material-symbols-outlined{font-size:16px}.dropdown-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:99}.branch-node-editor{background:#1a1a1a;background:var(--bg-primary,#1a1a1a);border-radius:12px;box-shadow:0 8px 32px #00000080;display:flex;flex-direction:column;max-height:85vh;max-width:600px;overflow:hidden;width:100%}.branch-node-editor.loading{align-items:center;color:#aaa;color:var(--text-secondary,#aaa);display:flex;justify-content:center;min-height:200px}.editor-header{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border-bottom:1px solid #333;border-bottom:1px solid var(--border-color,#333);gap:12px;padding:16px 20px}.header-icon{align-items:center;background:linear-gradient(135deg,#ff9800,#ff5722);border-radius:10px;display:flex;height:40px;justify-content:center;width:40px}.header-icon .material-symbols-outlined{color:#fff;font-size:24px}.editor-header h2{color:#fff;color:var(--text-primary,#fff);flex:1 1;font-size:18px;font-weight:600;margin:0}.editor-content{flex:1 1;overflow-y:auto;padding:20px}.form-section{margin-bottom:20px}.form-section label{color:#aaa;color:var(--text-secondary,#aaa);display:block;font-size:13px;font-weight:500;margin-bottom:8px}.form-section input,.form-section select,.form-section textarea{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:8px;color:#fff;color:var(--text-primary,#fff);font-size:14px;padding:10px 14px;width:100%}.form-section input:focus,.form-section select:focus,.form-section textarea:focus{border-color:#4a90e2;border-color:var(--accent-color,#4a90e2);outline:none}.branches-section{margin-top:24px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.section-header h3{color:#fff;color:var(--text-primary,#fff);font-size:15px;font-weight:600;margin:0}.add-branch-button{align-items:center;background:#0000;border:1px dashed #4a90e2;border:1px dashed var(--accent-color,#4a90e2);border-radius:6px;color:#4a90e2;color:var(--accent-color,#4a90e2);cursor:pointer;display:flex;font-size:13px;gap:6px;padding:6px 14px;transition:all .15s ease}.add-branch-button:hover{background:#4a90e21a}.add-branch-button .material-symbols-outlined{font-size:16px}.branches-list{display:flex;flex-direction:column;gap:12px}.branch-item{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border:1px solid #444;border:1px solid var(--border-color,#444);border-left-width:4px;border-radius:8px;overflow:hidden;transition:border-color .15s ease}.branch-item.editing{border-color:#4a90e2;border-color:var(--accent-color,#4a90e2)}.branch-header{align-items:center;display:flex;gap:10px;padding:12px 14px}.branch-color{border-radius:3px;height:12px;width:12px}.branch-label{background:#0000;border:none;color:#fff;color:var(--text-primary,#fff);flex:1 1;font-size:14px;font-weight:500;padding:4px 8px}.branch-label:focus{background:#252525;background:var(--bg-hover,#252525);border-radius:4px;outline:none}.branch-actions{display:flex;gap:4px}.branch-actions button{align-items:center;background:#0000;border:none;border-radius:4px;color:#aaa;color:var(--text-secondary,#aaa);cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .15s ease;width:28px}.branch-actions button:hover:not(:disabled){background:#333;background:var(--bg-hover,#333);color:#fff;color:var(--text-primary,#fff)}.branch-actions button:disabled{cursor:not-allowed;opacity:.3}.branch-actions button.delete-button:hover{background:#f4433626;color:#f44336}.branch-actions button .material-symbols-outlined{font-size:18px}.branch-details{background:#252525;background:var(--bg-tertiary,#252525);border-top:1px solid #333;border-top:1px solid var(--border-color,#333);padding:16px}.color-picker{margin-bottom:16px}.color-picker label{color:#aaa;color:var(--text-secondary,#aaa);display:block;font-size:12px;margin-bottom:8px}.color-options{display:flex;gap:8px}.color-option{border:2px solid #0000;border-radius:4px;cursor:pointer;height:24px;transition:all .15s ease;width:24px}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:#fff;box-shadow:0 0 0 2px #1a1a1a;box-shadow:0 0 0 2px var(--bg-primary,#1a1a1a)}.condition-section,.target-section{margin-top:16px}.condition-section label,.target-section label{color:#aaa;color:var(--text-secondary,#aaa);display:block;font-size:12px;margin-bottom:8px}.target-section select{background:#1a1a1a;background:var(--bg-primary,#1a1a1a);border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:6px;color:#fff;color:var(--text-primary,#fff);font-size:13px;padding:8px 12px;width:100%}.evaluation-note{align-items:flex-start;background:#2196f31a;border:1px solid #2196f333;border-radius:8px;display:flex;gap:10px;margin-top:16px;padding:12px}.evaluation-note .material-symbols-outlined{color:#2196f3;font-size:18px}.evaluation-note p{color:#aaa;color:var(--text-secondary,#aaa);font-size:12px;line-height:1.5;margin:0}.editor-footer{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border-top:1px solid #333;border-top:1px solid var(--border-color,#333);display:flex;gap:12px;justify-content:flex-end;padding:16px 20px}.cancel-button,.save-button{border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .15s ease}.cancel-button{background:#0000;border:1px solid #444;border:1px solid var(--border-color,#444);color:#fff;color:var(--text-primary,#fff)}.cancel-button:hover{background:#333;background:var(--bg-hover,#333)}.save-button{background:#4a90e2;background:var(--accent-color,#4a90e2);border:none;color:#fff}.save-button:hover:not(:disabled){background:#5a9ff2;background:var(--accent-hover,#5a9ff2)}.save-button:disabled{cursor:not-allowed;opacity:.5}.variables-panel{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border-radius:8px;display:flex;flex-direction:column;height:100%;overflow:hidden}.variables-panel.compact{max-height:300px}.variables-header{align-items:center;background:#252525;background:var(--bg-tertiary,#252525);border-bottom:1px solid #333;border-bottom:1px solid var(--border-color,#333);display:flex;justify-content:space-between;padding:12px 16px}.variables-header h3{align-items:center;color:#fff;color:var(--text-primary,#fff);display:flex;font-size:14px;font-weight:600;gap:8px;margin:0}.variables-header h3 .material-symbols-outlined{color:#4a90e2;color:var(--accent-color,#4a90e2);font-size:18px}.variables-actions{display:flex;gap:4px}.icon-button{align-items:center;background:#0000;border:none;border-radius:4px;color:#aaa;color:var(--text-secondary,#aaa);cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .15s ease;width:28px}.icon-button:hover{background:#333;background:var(--bg-hover,#333);color:#fff;color:var(--text-primary,#fff)}.icon-button.primary{background:#4a90e2;background:var(--accent-color,#4a90e2);color:#fff}.icon-button.primary:hover{background:#5a9ff2;background:var(--accent-hover,#5a9ff2)}.icon-button .material-symbols-outlined{font-size:18px}.category-filter{border-bottom:1px solid #333;border-bottom:1px solid var(--border-color,#333);display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px}.category-chip{background:#0000;border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:12px;color:#aaa;color:var(--text-secondary,#aaa);cursor:pointer;font-size:12px;padding:4px 10px;transition:all .15s ease}.category-chip:hover{color:#fff;color:var(--text-primary,#fff)}.category-chip.active,.category-chip:hover{border-color:#4a90e2;border-color:var(--accent-color,#4a90e2)}.category-chip.active{background:#4a90e2;background:var(--accent-color,#4a90e2);color:#fff}.variable-create-form{background:#252525;background:var(--bg-tertiary,#252525);border-bottom:1px solid #333;border-bottom:1px solid var(--border-color,#333);padding:12px}.form-row{display:flex;gap:8px;margin-bottom:8px}.form-row:last-of-type{margin-bottom:12px}.form-row label{align-items:center;color:#aaa;color:var(--text-secondary,#aaa);display:flex;font-size:12px;min-width:60px}.form-row input,.form-row select{background:#1a1a1a;background:var(--bg-primary,#1a1a1a);border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:4px;color:#fff;color:var(--text-primary,#fff);flex:1 1;font-size:13px;padding:6px 10px}.form-row input:focus,.form-row select:focus{border-color:#4a90e2;border-color:var(--accent-color,#4a90e2);outline:none}.form-actions{gap:8px;justify-content:flex-end}.form-actions button{background:#0000;border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:4px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:12px;padding:6px 14px;transition:all .15s ease}.form-actions button:hover{background:#333;background:var(--bg-hover,#333)}.form-actions button.primary{background:#4a90e2;background:var(--accent-color,#4a90e2);border-color:#4a90e2;border-color:var(--accent-color,#4a90e2)}.form-actions button.primary:hover{background:#5a9ff2;background:var(--accent-hover,#5a9ff2)}.variables-list{flex:1 1;overflow-y:auto;padding:8px}.empty-state,.loading{align-items:center;color:#aaa;color:var(--text-secondary,#aaa);display:flex;flex-direction:column;justify-content:center;padding:32px 16px;text-align:center}.empty-state .material-symbols-outlined{font-size:48px;margin-bottom:12px;opacity:.3}.empty-state p{margin:4px 0}.empty-state .hint{font-size:12px;opacity:.6}.variable-group{margin-bottom:16px}.group-header{color:#666;color:var(--text-tertiary,#666);font-size:11px;font-weight:600;letter-spacing:.5px;padding:6px 8px;text-transform:uppercase}.variable-item{align-items:center;border:1px solid #0000;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:6px 8px;transition:all .15s ease}.variable-item.draggable{cursor:grab}.variable-item.draggable:active{cursor:grabbing}.variable-item:hover{background:#2a2a2a;background:var(--bg-hover,#2a2a2a);border-color:#444;border-color:var(--border-color,#444)}.drag-handle{align-items:center;color:#555;color:var(--text-tertiary,#555);display:flex;opacity:0;transition:opacity .15s ease}.variable-item:hover .drag-handle{opacity:1}.type-icon{align-items:center;border-radius:4px;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.type-icon .material-symbols-outlined{font-size:14px}.type-icon.boolean{background:#4caf5026;color:#4caf50}.type-icon.integer{background:#2196f326;color:#2196f3}.type-icon.float{background:#9c27b026;color:#9c27b0}.type-icon.string{background:#ff980026;color:#ff9800}.variable-name{color:#fff;color:var(--text-primary,#fff);flex:1 1;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.variable-checkbox{align-items:center;color:#aaa;color:var(--text-secondary,#aaa);cursor:pointer;display:flex;font-size:12px;gap:6px}.variable-checkbox.inline{padding:6px 0}.variable-checkbox input[type=checkbox]{accent-color:#4a90e2;accent-color:var(--accent-color,#4a90e2);height:16px;width:16px}.delete-button{align-items:center;background:#0000;border:none;border-radius:4px;color:#555;color:var(--text-tertiary,#555);cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;opacity:0;padding:0;transition:all .15s ease;width:20px}.variable-item:hover .delete-button{opacity:1}.delete-button:hover{background:#f4433626;color:#f44336}.delete-button .material-symbols-outlined{font-size:14px}.variable-modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.variable-modal{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border:1px solid #333;border:1px solid var(--border-color,#333);border-radius:12px;box-shadow:0 8px 32px #0006;display:flex;flex-direction:column;max-height:85vh;max-width:90vw;overflow:hidden;width:420px}.variable-modal-header{align-items:center;background:#252525;background:var(--bg-tertiary,#252525);border-bottom:1px solid #333;border-bottom:1px solid var(--border-color,#333);display:flex;justify-content:space-between;padding:16px 20px}.variable-modal-header h4{align-items:center;color:#fff;color:var(--text-primary,#fff);display:flex;font-size:16px;font-weight:600;gap:10px;margin:0}.variable-modal-header h4 .material-symbols-outlined{color:#4a90e2;color:var(--accent-color,#4a90e2);font-size:22px}.variable-modal-content{flex:1 1;overflow-y:auto;padding:20px}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-group label{color:#aaa;color:var(--text-secondary,#aaa);display:block;font-size:12px;font-weight:500;margin-bottom:6px}.form-group input,.form-group select{background:#1a1a1a;background:var(--bg-primary,#1a1a1a);border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:6px;color:#fff;color:var(--text-primary,#fff);font-size:14px;padding:10px 12px;transition:border-color .15s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#4a90e2;border-color:var(--accent-color,#4a90e2);outline:none}.form-group input::placeholder{color:#666;color:var(--text-tertiary,#666)}.variable-modal-actions{background:#252525;background:var(--bg-tertiary,#252525);border-top:1px solid #333;border-top:1px solid var(--border-color,#333);display:flex;gap:10px;justify-content:flex-end;padding:16px 20px}.variable-modal-actions button{background:#0000;border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:6px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:14px;padding:10px 20px;transition:all .15s ease}.variable-modal-actions button:hover{background:#333;background:var(--bg-hover,#333)}.variable-modal-actions button:disabled{cursor:not-allowed;opacity:.5}.variable-modal-actions button.primary{background:#4a90e2;background:var(--accent-color,#4a90e2);border-color:#4a90e2;border-color:var(--accent-color,#4a90e2)}.variable-modal-actions button.primary:hover:not(:disabled){background:#5a9ff2;background:var(--accent-hover,#5a9ff2)}.presets-dialog-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.presets-dialog{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border:1px solid #333;border:1px solid var(--border-color,#333);border-radius:12px;box-shadow:0 8px 32px #0006;display:flex;flex-direction:column;max-height:80vh;max-width:90vw;overflow:hidden;width:480px}.presets-dialog-header{align-items:center;background:#252525;background:var(--bg-tertiary,#252525);border-bottom:1px solid #333;border-bottom:1px solid var(--border-color,#333);display:flex;justify-content:space-between;padding:16px 20px}.presets-dialog-header h4{align-items:center;color:#fff;color:var(--text-primary,#fff);display:flex;font-size:16px;font-weight:600;gap:10px;margin:0}.presets-dialog-header h4 .material-symbols-outlined{color:#ffc107;font-size:22px}.presets-dialog-header .close-button{align-items:center;background:#0000;border:none;border-radius:4px;color:#aaa;color:var(--text-secondary,#aaa);cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .15s ease;width:28px}.presets-dialog-header .close-button:hover{background:#333;background:var(--bg-hover,#333);color:#fff;color:var(--text-primary,#fff)}.presets-dialog-header .close-button:disabled{cursor:not-allowed;opacity:.5}.presets-dialog-content{flex:1 1;overflow-y:auto;padding:16px 20px}.presets-description{color:#aaa;color:var(--text-secondary,#aaa);font-size:13px;line-height:1.5;margin:0 0 16px}.presets-categories{display:flex;flex-direction:column;gap:16px}.preset-category{background:#252525;background:var(--bg-tertiary,#252525);border-radius:8px;overflow:hidden}.preset-category-header{background:#4a90e21a;border-bottom:1px solid #333;border-bottom:1px solid var(--border-color,#333);color:#4a90e2;color:var(--accent-color,#4a90e2);font-size:12px;font-weight:600;letter-spacing:.5px;padding:10px 14px;text-transform:uppercase}.preset-list{list-style:none;margin:0;padding:8px}.preset-list li{align-items:center;border-radius:4px;display:flex;font-size:12px;gap:10px;padding:6px 8px}.preset-list li.exists{cursor:not-allowed;opacity:.5}.preset-list li:not(.exists){cursor:pointer}.preset-list li:not(.exists):hover{background:#333;background:var(--bg-hover,#333)}.preset-list li.selected{background:#4a90e226}.preset-checkbox{accent-color:#4a90e2;accent-color:var(--accent-color,#4a90e2);cursor:pointer;flex-shrink:0;height:16px;width:16px}.preset-checkbox:disabled{cursor:not-allowed;opacity:.4}.presets-select-actions{display:flex;gap:8px;margin-bottom:12px}.select-all-btn{background:#0000;border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:4px;color:#aaa;color:var(--text-secondary,#aaa);cursor:pointer;font-size:12px;padding:6px 12px;transition:all .15s ease}.select-all-btn:hover{background:#333;background:var(--bg-hover,#333);color:#fff;color:var(--text-primary,#fff)}.select-all-btn:disabled{cursor:not-allowed;opacity:.5}.preset-name{color:#fff;color:var(--text-primary,#fff);flex:1 1;font-family:SF Mono,Fira Code,monospace}.preset-type{background:#333;background:var(--bg-hover,#333);color:#aaa;color:var(--text-secondary,#aaa);text-transform:uppercase}.exists-badge,.preset-type{border-radius:3px;font-size:10px;padding:2px 6px}.exists-badge{background:#ff980026;color:#ff9800}.presets-dialog-actions{background:#252525;background:var(--bg-tertiary,#252525);border-top:1px solid #333;border-top:1px solid var(--border-color,#333);display:flex;gap:10px;justify-content:flex-end;padding:16px 20px}.presets-dialog-actions button{background:#0000;border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:6px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;font-size:13px;padding:8px 18px;transition:all .15s ease}.presets-dialog-actions button:hover{background:#333;background:var(--bg-hover,#333)}.presets-dialog-actions button:disabled{cursor:not-allowed;opacity:.5}.presets-dialog-actions button.primary{background:#4a90e2;background:var(--accent-color,#4a90e2);border-color:#4a90e2;border-color:var(--accent-color,#4a90e2)}.presets-dialog-actions button.primary:hover:not(:disabled){background:#5a9ff2;background:var(--accent-hover,#5a9ff2)}.media-panel{background:#1a1a1a;background:var(--bg-primary,#1a1a1a);border-radius:8px;display:flex;flex-direction:column;height:100%;overflow:hidden}.media-panel.compact{font-size:12px}.media-panel-header{align-items:center;background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border-bottom:1px solid #333;border-bottom:1px solid var(--border-color,#333);display:flex;justify-content:space-between;padding:12px 14px}.media-panel-header h3{align-items:center;color:#fff;color:var(--text-primary,#fff);display:flex;font-size:14px;font-weight:600;gap:8px;margin:0}.media-panel-header h3 .material-symbols-outlined{color:#4a90e2;color:var(--accent-color,#4a90e2);font-size:18px}.media-actions{display:flex;gap:6px}.media-actions .icon-button{align-items:center;background:#0000;border:1px solid #444;border:1px solid var(--border-color,#444);border-radius:6px;color:#aaa;color:var(--text-secondary,#aaa);cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .15s ease;width:28px}.media-actions .icon-button:hover:not(:disabled){background:#333;background:var(--bg-hover,#333);color:#fff;color:var(--text-primary,#fff)}.media-actions .icon-button:disabled{cursor:not-allowed;opacity:.5}.media-actions .icon-button.primary{background:#4a90e2;background:var(--accent-color,#4a90e2);border-color:#4a90e2;border-color:var(--accent-color,#4a90e2);color:#fff}.media-actions .icon-button.primary:hover:not(:disabled){background:#5a9ff2;background:var(--accent-hover,#5a9ff2)}.media-actions .icon-button .material-symbols-outlined{font-size:16px}.upload-button{cursor:pointer}.media-list{flex:1 1;overflow-y:auto;padding:8px}.media-list .loading{color:#aaa;color:var(--text-secondary,#aaa);font-size:13px;padding:20px;text-align:center}.media-list .empty-state{align-items:center;color:#666;color:var(--text-tertiary,#666);display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.media-list .empty-state .material-symbols-outlined{font-size:48px;margin-bottom:12px;opacity:.5}.media-list .empty-state p{font-size:13px;margin:4px 0}.media-list .empty-state .hint{color:#555;color:var(--text-tertiary,#555);font-size:11px}.media-group{margin-bottom:8px}.media-group .group-header{align-items:center;background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border:none;border-radius:6px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;padding:8px 10px;transition:background .15s ease;width:100%}.media-group .group-header:hover{background:#2a2a2a;background:var(--bg-hover,#2a2a2a)}.group-header .expand-icon{color:#666;color:var(--text-tertiary,#666);font-size:18px}.group-header .group-icon{color:#4caf50;font-size:16px}.group-header .group-icon.sound{color:#2196f3}.group-header .group-name{flex:1 1;text-align:left}.group-header .group-count{background:#333;background:var(--bg-hover,#333);border-radius:10px;color:#aaa;color:var(--text-secondary,#aaa);font-size:11px;font-weight:500;padding:2px 8px}.group-content{padding:4px 0 4px 8px}.group-empty{color:#666;color:var(--text-tertiary,#666);font-size:12px;font-style:italic;padding:12px 16px}.media-item{align-items:center;border:1px solid #0000;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:6px 8px;transition:all .15s ease}.media-item.draggable{cursor:grab}.media-item.draggable:active{cursor:grabbing}.media-item:hover{background:#2a2a2a;background:var(--bg-hover,#2a2a2a);border-color:#444;border-color:var(--border-color,#444)}.media-item .drag-handle{align-items:center;color:#555;color:var(--text-tertiary,#555);display:flex;opacity:0;transition:opacity .15s ease}.media-item:hover .drag-handle{opacity:1}.drag-handle .material-symbols-outlined{font-size:16px}.media-thumbnail{align-items:center;border-radius:4px;display:flex;flex-shrink:0;height:32px;justify-content:center;overflow:hidden;width:32px}.media-thumbnail.image-thumbnail{background:#252525;background:var(--bg-tertiary,#252525)}.media-thumbnail.image-thumbnail img{height:100%;object-fit:cover;width:100%}.media-thumbnail.sound-thumbnail{background:#2196f326;color:#2196f3}.media-thumbnail.sound-thumbnail .material-symbols-outlined{font-size:18px}.media-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.media-name{color:#fff;color:var(--text-primary,#fff);font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-size{color:#666;color:var(--text-tertiary,#666);font-size:10px}.media-item .delete-button{align-items:center;background:#0000;border:none;border-radius:4px;color:#555;color:var(--text-tertiary,#555);cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;opacity:0;padding:0;transition:all .15s ease;width:20px}.media-item:hover .delete-button{opacity:1}.media-item .delete-button:hover{background:#f4433626;color:#f44336}.media-item .delete-button .material-symbols-outlined{font-size:14px}.media-list::-webkit-scrollbar{width:6px}.media-list::-webkit-scrollbar-track{background:#0000}.media-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.media-list::-webkit-scrollbar-thumb:hover{background:#ffffff40}.entity-mention-dropdown{background:#fff;border:1px solid #0000001a;border-radius:10px;box-shadow:0 4px 20px #00000026;font-family:inherit;max-width:360px;min-width:280px;overflow:hidden;position:fixed;z-index:1000}.mention-dropdown-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #00000014;display:flex;justify-content:space-between;padding:10px 14px}.mention-dropdown-title{color:#333;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.mention-dropdown-hint{color:#888;font-size:11px}.mention-dropdown-list{max-height:240px;overflow-y:auto;padding:6px}.mention-dropdown-empty{color:#888;font-size:13px;padding:16px;text-align:center}.mention-dropdown-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:10px;padding:8px 10px;transition:background-color .15s ease}.mention-dropdown-item.selected,.mention-dropdown-item:hover{background:#667eea1a}.mention-dropdown-item.selected{background:#667eea26}.mention-item-icon{align-items:center;border-radius:6px;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:28px;justify-content:center;width:28px}.mention-item-content{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.mention-item-name{color:#1a1a1a;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mention-item-type{color:#888;font-size:11px;text-transform:capitalize}.mention-dropdown-footer{background:#f8f9fa;border-top:1px solid #00000014;padding:8px 12px}.mention-footer-hint{align-items:center;color:#888;display:flex;font-size:11px;gap:8px}.mention-footer-hint kbd{align-items:center;background:#fff;border:1px solid #ddd;border-radius:3px;color:#666;display:inline-flex;font-family:inherit;font-size:10px;height:18px;justify-content:center;margin-right:2px;min-width:18px;padding:0 4px}.mention-dropdown-list::-webkit-scrollbar{width:6px}.mention-dropdown-list::-webkit-scrollbar-track{background:#0000}.mention-dropdown-list::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.mention-dropdown-list::-webkit-scrollbar-thumb:hover{background:#00000040}.node-link-dropdown{background:#1e1e1e;border:1px solid #333;border-radius:10px;box-shadow:0 4px 20px #0006;font-family:inherit;max-width:400px;min-width:300px;overflow:hidden;position:fixed;z-index:1000}.node-link-dropdown-header{align-items:center;background:#252525;border-bottom:1px solid #333;display:flex;justify-content:space-between;padding:10px 14px}.node-link-dropdown-title{align-items:center;color:#fff;display:flex;font-size:12px;font-weight:600;gap:6px;letter-spacing:.5px;text-transform:uppercase}.node-link-dropdown-title .material-symbols-outlined{color:#9370db;font-size:16px}.node-link-dropdown-hint{color:#888;font-size:11px}.node-link-dropdown-list{max-height:300px;overflow-y:auto;padding:6px}.node-link-dropdown-empty{color:#888;font-size:13px;padding:16px;text-align:center}.node-link-scene-group{margin-bottom:8px}.node-link-scene-group:last-child{margin-bottom:0}.node-link-scene-header{align-items:center;color:#888;display:flex;font-size:11px;font-weight:600;gap:6px;letter-spacing:.5px;padding:6px 10px;text-transform:uppercase}.node-link-scene-header .material-symbols-outlined{color:#666;font-size:14px}.node-link-scene-header.current,.node-link-scene-header.current .material-symbols-outlined{color:#9370db}.current-badge{background:#9370db33;border-radius:4px;color:#9370db;font-size:9px;font-weight:600;margin-left:auto;padding:2px 6px;text-transform:uppercase}.node-link-dropdown-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:10px;margin-left:10px;padding:8px 10px;transition:background-color .15s ease}.node-link-dropdown-item.selected,.node-link-dropdown-item:hover{background:#9370db26}.node-link-dropdown-item.selected{background:#9370db33}.node-link-item-icon{align-items:center;border-radius:6px;display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.node-link-item-icon .material-symbols-outlined{font-size:16px}.node-link-item-content{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.node-link-item-name{color:#fff;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-link-item-type{color:#888;font-size:11px;text-transform:capitalize}.node-link-dropdown-footer{background:#252525;border-top:1px solid #333;padding:8px 12px}.node-link-footer-hint{align-items:center;color:#888;display:flex;font-size:11px;gap:8px}.node-link-footer-hint kbd{align-items:center;background:#333;border:1px solid #444;border-radius:3px;color:#aaa;display:inline-flex;font-family:inherit;font-size:10px;height:18px;justify-content:center;margin-right:2px;min-width:18px;padding:0 4px}.node-link-dropdown-list::-webkit-scrollbar{width:6px}.node-link-dropdown-list::-webkit-scrollbar-track{background:#0000}.node-link-dropdown-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.node-link-dropdown-list::-webkit-scrollbar-thumb:hover{background:#ffffff40}.node-sounds-panel{border-top:1px solid #00000014;display:flex;flex-direction:column;flex-shrink:0;gap:4px;margin-top:8px;padding-top:8px}.sound-entry{align-items:center;background:#0000000a;border-radius:4px;cursor:pointer;display:flex;gap:6px;padding:4px 8px;transition:background-color .15s ease;-webkit-user-select:none;user-select:none}.sound-entry:hover{background:#00000014}.sound-entry:active{background:#0000001f}.sound-icon{color:#00000080;flex-shrink:0;font-size:16px}.sound-filename{color:#000000b3;flex:1 1;font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sound-popup{background:#2d3748;border-radius:12px;box-shadow:0 8px 32px #0006;color:#e2e8f0;font-size:14px;max-width:400px;min-width:340px;overflow:hidden;position:fixed;z-index:1000}.sound-popup-header{align-items:center;border-bottom:1px solid #ffffff14;display:flex;justify-content:space-between;padding:16px 16px 12px}.sound-popup-filename{color:#fff;flex:1 1;font-size:15px;font-weight:500;margin-right:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sound-popup-close{align-items:center;background:none;border:none;border-radius:4px;color:#a0aec0;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .15s ease}.sound-popup-close:hover{background:#ffffff1a;color:#fff}.sound-popup-close .material-symbols-outlined{font-size:20px}.sound-popup-player{align-items:center;border-bottom:1px solid #ffffff14;display:flex;gap:12px;padding:16px}.play-button{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:4px;transition:all .15s ease}.play-button:hover{background:#ffffff1a}.play-button .material-symbols-outlined{font-size:28px}.time-display{font-feature-settings:"tnum";color:#a0aec0;flex-shrink:0;font-size:13px;font-variant-numeric:tabular-nums;min-width:36px}.seek-slider{appearance:none;background:#4a5568;border-radius:2px;cursor:pointer;flex:1 1;height:4px}.seek-slider::-webkit-slider-thumb{appearance:none;background:#fff;border-radius:50%;cursor:pointer;height:12px;-webkit-transition:transform .15s ease;transition:transform .15s ease;width:12px}.seek-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.seek-slider::-moz-range-thumb{background:#fff;border:none;border-radius:50%;cursor:pointer;height:12px;width:12px}.sound-popup-section{border-bottom:1px solid #ffffff14;padding:16px}.sound-popup-section:last-child{border-bottom:none}.section-label{color:#718096;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.play-mode-options{display:flex;flex-direction:column;gap:8px}.play-mode-option{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:8px 12px;transition:background-color .15s ease}.play-mode-option:hover{background:#ffffff0d}.play-mode-option input[type=radio]{appearance:none;border:2px solid #4a5568;border-radius:50%;cursor:pointer;flex-shrink:0;height:18px;margin:0;position:relative;transition:all .15s ease;width:18px}.play-mode-option input[type=radio]:checked{background:#ed8936;border-color:#ed8936}.play-mode-option input[type=radio]:checked:after{background:#2d3748;border-radius:50%;content:"";height:6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:6px}.play-mode-icon{color:#a0aec0;flex-shrink:0;font-size:18px}.play-mode-label{color:#e2e8f0;font-size:14px}.delay-section{align-items:center;display:flex;gap:12px}.delay-label{color:#718096;font-size:14px}.delay-input{background:#1a202c;border:1px solid #4a5568;border-radius:6px;color:#fff;font-size:14px;outline:none;padding:8px 12px;text-align:center;transition:border-color .15s ease;width:80px}.delay-input:focus{border-color:#667eea}.delay-input::-webkit-inner-spin-button,.delay-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.delay-input[type=number]{-moz-appearance:textfield}.delay-unit{color:#718096;font-size:14px}.narrative-board-container{background:#e0e0e0;height:100%;overflow:hidden;position:relative;width:100%}.scene-title-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000073;border-radius:8px;flex-direction:column;left:50%;max-width:600px;padding:6px 16px;pointer-events:none;position:absolute;top:12px;transform:translateX(-50%);white-space:nowrap;z-index:10}.breadcrumb,.scene-title-overlay{align-items:center;display:flex;gap:4px}.breadcrumb{color:#fffffff2;pointer-events:auto}.breadcrumb,.breadcrumb-link{font-size:14px;font-weight:600}.breadcrumb-link{background:none;border:none;color:#87ceebe6;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.breadcrumb-link:hover{color:#87ceeb}.breadcrumb-separator{align-items:center;color:#ffffff80;display:flex;font-size:16px}.breadcrumb-separator .material-symbols-outlined{font-size:16px}.breadcrumb-current{color:#fffffff2}.canvas-hint{color:#fff6;font-size:11px;pointer-events:none}.scene-color-picker{align-items:center;background:#ffffffe6;border-radius:6px;box-shadow:0 2px 8px #00000026;cursor:pointer;display:flex;height:36px;justify-content:center;pointer-events:auto;position:absolute;right:12px;top:12px;transition:all .2s;width:36px}.scene-color-picker:hover{background:#fff;box-shadow:0 3px 12px #0003;transform:scale(1.05)}.scene-color-picker input[type=color]{cursor:pointer;height:100%;opacity:0;position:absolute;width:100%}.scene-color-picker .material-symbols-outlined{color:#666;font-size:20px;pointer-events:none}.scene-color-picker:hover .material-symbols-outlined{color:#333}.narrative-board-container .graph-content{background:#0000}.narrative-board-loading{align-items:center;color:#fff;display:flex;flex-direction:column;font-size:18px;height:100vh;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #ffffff1a;border-radius:50%;border-top-color:#667eea;height:48px;margin-bottom:1rem;width:48px}.narrative-node{background:#fff;border:2px solid #0000001a;border-radius:12px;box-shadow:0 2px 8px #0000001a;box-sizing:border-box;display:flex;flex-direction:column;height:100%;padding:12px;position:relative;transition:all .2s ease;width:100%}.narrative-node.selected{border-color:#667eea;box-shadow:0 0 0 3px #667eea33,0 2px 8px #0000001a}.node-header{display:flex;gap:10px;margin-bottom:8px}.node-header,.node-icon{align-items:center;flex-shrink:0}.node-icon{border-radius:8px;display:flex!important;font-size:20px;height:36px;justify-content:center;line-height:1;position:relative;width:36px}.node-icon.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 20}.node-title-group{flex:1 1;min-width:0}.narrative-board-container .node-title{color:#1a1a1a;display:block;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.narrative-board-container .node-subtitle{color:#00000080;display:block;font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.node-body{display:flex;flex-direction:column;margin-top:8px;min-height:0;overflow:hidden}.narrative-board-container .node-description{word-wrap:break-word;color:#000000b3;cursor:text;font-size:12px;line-height:1.5;margin:0;overflow:hidden;overflow-wrap:break-word}.narrative-board-container .node-description:empty:before,.narrative-board-container .node-description:not(:empty){cursor:text}.node-title-input{background:#fff;border:1px solid #667eea;border-radius:4px;box-sizing:border-box;color:#1a1a1a;font-size:14px;font-weight:600;outline:none;padding:2px 6px;width:100%}.node-title-input:focus{box-shadow:0 0 0 2px #667eea33}.node-description-input{background:#fff;border:1px solid #667eea;border-radius:4px;box-sizing:border-box;color:#000000b3;font-family:inherit;font-size:12px;line-height:1.5;min-height:40px;outline:none;padding:6px 8px;resize:vertical;width:100%}.node-description-input:focus{box-shadow:0 0 0 2px #667eea33}.entity-mention-link{border-radius:2px;color:#d97706;cursor:pointer;font-weight:500;margin:0 -2px;padding:0 2px;transition:color .15s ease,background-color .15s ease}.entity-mention-link:hover{background-color:#d977061a;color:#b45309;text-decoration:underline}.node-hyperlink{border-radius:2px;color:#2563eb;cursor:pointer;font-weight:500;margin:0 -2px;padding:0 2px;text-decoration:underline;transition:color .15s ease,background-color .15s ease}.node-hyperlink:hover{background-color:#2563eb1a;color:#1d4ed8}.node-link{border-bottom:1px dashed #9370db;border-radius:2px;color:#9370db;cursor:pointer;font-weight:500;margin:0 -2px;padding:0 2px;text-decoration:none;transition:color .15s ease,background-color .15s ease}.node-link:hover{background-color:#9370db26;border-bottom-style:solid;color:#7b68ee}.node-image-container{background:#f5f5f5;border-radius:6px;flex-shrink:0;margin-bottom:8px;overflow:hidden;width:100%}.node-image{display:block;height:auto;max-height:150px;object-fit:cover;width:100%}.narrative-node.arc-node .node-image-container{margin-left:auto;margin-right:auto;max-width:250px}.narrative-node.arc-node .node-image{max-height:120px}.node-image-container.selected{outline:2px solid #667eea;outline-offset:-2px}.node-image-container:hover{cursor:pointer}.narrative-node.image-drop-target{background:#667eea0d;border:3px dashed #667eea;box-shadow:0 0 0 4px #667eea26,0 2px 8px #0000001a}.narrative-node.image-drop-target:after{background:#667eeae6;border-radius:6px;color:#fff;content:"Drop file here";font-size:12px;font-weight:500;left:50%;padding:8px 16px;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}.canvas-mode-toggle{background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000026;display:flex;gap:4px;left:12px;padding:4px;position:absolute;top:12px;z-index:100}.canvas-mode-toggle .mode-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s ease;width:36px}.canvas-mode-toggle .mode-btn:hover{background:#0000000d;color:#333}.canvas-mode-toggle .mode-btn.active{background:#667eea;color:#fff}.canvas-mode-toggle .mode-btn .material-symbols-outlined{font-size:20px}.variables-toggle{align-items:center;background:#fff;border:none;border-radius:10px;box-shadow:0 2px 8px #00000026;color:#666;cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:12px;top:12px;transition:all .2s ease;width:40px;z-index:100}.variables-toggle:hover{box-shadow:0 4px 12px #0003;color:#333}.variables-toggle.active{background:#667eea;color:#fff}.variables-toggle .material-symbols-outlined{font-size:22px}.variables-panel-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;max-height:calc(100vh - 100px);overflow:hidden;position:absolute;right:12px;top:60px;width:320px;z-index:99}.media-toggle{align-items:center;background:#fff;border:none;border-radius:10px;box-shadow:0 2px 8px #00000026;color:#666;cursor:pointer;display:flex;height:40px;justify-content:center;left:12px;position:absolute;top:12px;transition:all .2s ease;width:40px;z-index:100}.media-toggle:hover{box-shadow:0 4px 12px #0003;color:#333}.media-toggle.active{background:#4caf50;color:#fff}.media-toggle .material-symbols-outlined{font-size:22px}.media-panel-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;left:12px;max-height:calc(100vh - 100px);overflow:hidden;position:absolute;top:60px;width:280px;z-index:99}.narrative-node.branch-node{background:linear-gradient(135deg,#fff9e6,#fff5cc);border-color:#ff98004d;box-sizing:border-box;height:100%;overflow:visible;padding:0}.narrative-node.branch-node.selected{border-color:#ff9800;box-shadow:0 0 0 3px #ff980033,0 2px 8px #0000001a}.narrative-node.branch-node .branch-header{border-bottom:1px solid #ff980033;box-sizing:border-box;height:50px;margin-bottom:0;padding:10px 12px}.narrative-node.branch-node .branch-outputs{display:flex;flex-direction:column;gap:0;margin-top:0;padding:0}.branch-output-row{align-items:center;background:#fff9;border-bottom:1px solid #ff98001a;border-left:4px solid #ccc;box-sizing:border-box;display:flex;height:36px;justify-content:space-between;padding:8px 12px;position:relative}.branch-output-row:last-child{border-bottom:none;border-radius:0 0 10px 10px}.branch-output-content{flex:1 1;min-width:0;padding-right:8px}.branch-output-content .branch-label{color:#333;display:block;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-output-content .branch-condition{color:#666;display:block;font-family:Courier New,monospace;font-size:10px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{max-height:90vh;max-width:90vw;overflow:auto}.connection-editor-modal{max-width:90vw;width:400px}.connection-editor{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;padding:24px}.connection-editor h3{color:#1a1a1a;font-size:18px;font-weight:600;margin:0 0 20px}.connection-editor-field{margin-bottom:16px}.connection-editor-field label{color:#666;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.connection-editor-field input{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:14px;outline:none;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.connection-editor-field input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.connection-editor-info{align-items:center;border-bottom:1px solid #eee;display:flex;gap:8px;padding:8px 0}.connection-editor-info:last-of-type{margin-bottom:20px}.connection-info-label{color:#999;font-size:12px;font-weight:500;min-width:40px}.connection-info-value{color:#333;font-size:13px;font-weight:500}.connection-editor-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.connection-editor-actions button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 18px;transition:all .2s ease}.btn-secondary{background:#f0f0f0;color:#666}.btn-secondary:hover{background:#e0e0e0}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5a6fd6}.btn-danger{background:#ff4d4f;color:#fff}.btn-danger:hover{background:#e04346}.undo-redo-controls{background:#fff;border-radius:10px;bottom:16px;box-shadow:0 2px 8px #00000026;display:flex;gap:4px;padding:4px;position:absolute;right:16px;z-index:100}.undo-redo-controls .undo-redo-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s ease;width:36px}.undo-redo-controls .undo-redo-btn:hover:not(:disabled){background:#0000000d;color:#333}.undo-redo-controls .undo-redo-btn:disabled{color:#ccc;cursor:not-allowed}.undo-redo-controls .undo-redo-btn .material-symbols-outlined{font-size:20px}.ai-generation-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1000}.ai-generation-modal{align-items:center;background:#2d2d30;border:1px solid #4a4a4a;border-radius:8px;display:flex;flex-direction:column;gap:12px;padding:24px 32px;text-align:center}.ai-generation-modal p{color:#fff;font-size:14px;margin:0}.ai-generation-modal .subtitle{color:#888;font-size:12px}.ai-generation-modal .loading-spinner{animation:spin 1s linear infinite;border:3px solid #4a4a4a;border-radius:50%;border-top-color:#667eea;height:32px;width:32px}.story-board-title .scene-title-overlay-text{align-items:center;background:linear-gradient(135deg,#667eea26,#764ba226);border:1px solid #667eea4d;color:#667eea;display:flex}.export-view{background:#1e1e1e;color:#ccc;display:flex;flex-direction:column;height:100%}.export-header{background:linear-gradient(135deg,#252526,#2d2d30);border-bottom:1px solid #3e3e42;padding:2rem 2rem 1rem}.export-header h2{color:#fff;font-size:1.75rem;font-weight:600;margin:0 0 .5rem}.export-header p{color:#8a8a8a;font-size:.875rem;line-height:1.5;margin:0}.export-content{grid-gap:2rem;display:grid;flex:1 1;gap:2rem;grid-template-columns:1fr 1fr 1fr;overflow:hidden;padding:2rem}.export-config{display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto;padding-right:.5rem}.config-section{background:#252526;border:1px solid #3e3e42;border-radius:8px;padding:1.5rem}.config-section h3{align-items:center;color:#fff;display:flex;font-size:1.125rem;font-weight:600;gap:.5rem;margin:0 0 1rem}.template-selector{display:flex;flex-direction:column;gap:.75rem}.template-card{background:#2d2d30;border:2px solid #3e3e42;border-radius:8px;cursor:pointer;padding:1rem;transition:all .2s ease}.template-card:hover{background:#323233;border-color:#007acc}.template-card.selected{background:#094771;border-color:#007acc}.template-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.template-header h4{color:#fff;font-size:1rem;font-weight:500;margin:0}.format-badge{border-radius:4px;font-size:.625rem;font-weight:600;letter-spacing:.05em;padding:.25rem .5rem;text-transform:uppercase}.format-badge.format-xml{background:#f48771;color:#1e1e1e}.format-badge.format-json{background:#dcdcaa;color:#1e1e1e}.format-badge.format-unity{background:#4ec9b0;color:#1e1e1e}.format-badge.format-unreal{background:#569cd6;color:#1e1e1e}.format-badge.format-csv{background:#b5cea8;color:#1e1e1e}.template-card p{color:#8a8a8a;font-size:.875rem;line-height:1.4;margin:0}.template-features{display:flex;gap:.5rem;margin-top:.75rem}.feature-badge{background:#4ec9b0;border-radius:12px;color:#1e1e1e;font-size:.625rem;font-weight:600;padding:.125rem .5rem}.selection-summary{margin-bottom:1rem}.summary-stats{display:flex;flex-direction:column;gap:.75rem}.stat-item{align-items:center;background:#2d2d30;gap:.75rem;padding:.75rem}.stat-numbers{color:#ccc;font-size:.875rem;font-weight:500;min-width:3rem}.checkbox-label{align-items:center;color:#8a8a8a;cursor:pointer;display:flex;font-size:.75rem;gap:.5rem;margin-left:auto}.checkbox-label input{cursor:pointer}.entity-grid{display:flex;flex-direction:column;gap:1rem;max-height:300px;overflow-y:auto}.entity-type-group{background:#2d2d30;border:1px solid #3e3e42;border-radius:6px;padding:1rem}.group-header{align-items:center;border-bottom:1px solid #3e3e42;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.75rem}.entity-count{font-size:.75rem}.entity-list{display:flex;flex-direction:column;gap:.375rem;max-height:150px;overflow-y:auto}.entity-checkbox{align-items:center;color:#ccc;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.25rem 0}.entity-checkbox input{cursor:pointer}.entity-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.export-options{display:flex;flex-direction:column;gap:.75rem}.option-checkbox{align-items:center;color:#ccc;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.option-checkbox input,.toggle-btn{cursor:pointer}.toggle-btn{background:#007acc;border:none;border-radius:4px;color:#fff;font-size:.875rem;margin-top:.5rem;padding:.5rem 1rem;transition:background-color .2s}.toggle-btn:hover{background:#005a9e}.field-mappings{display:flex;flex-direction:column;gap:1.5rem}.mapping-group{background:#2d2d30;border:1px solid #3e3e42;border-radius:6px;padding:1rem}.mapping-group h4{align-items:center;color:#fff;display:flex;font-size:1rem;gap:.5rem;margin:0 0 1rem}.mapping-table{display:flex;flex-direction:column;gap:.5rem}.mapping-header{border-bottom:1px solid #3e3e42;color:#8a8a8a;font-size:.75rem;font-weight:600;padding:.5rem 0;text-transform:uppercase}.mapping-header,.mapping-row{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr 1fr}.mapping-row{align-items:center}.source-field,.target-field-input{color:#ccc;font-family:Monaco,Courier New,monospace;font-size:.875rem}.target-field-input{background:#1e1e1e;border:1px solid #3e3e42;border-radius:4px;padding:.375rem .5rem}.target-field-input:focus{border-color:#007acc;outline:none}.transform-select{background:#1e1e1e;border:1px solid #3e3e42;border-radius:4px;color:#ccc;cursor:pointer;font-size:.875rem;padding:.375rem .5rem}.transform-select:focus{border-color:#007acc;outline:none}.target-file-section{display:flex;flex-direction:column;gap:1rem}.file-upload-area{position:relative}.file-input{display:none}.file-upload-label{align-items:center;background:#2d2d30;border:2px dashed #3e3e42;border-radius:8px;color:#ccc;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;justify-content:center;padding:1rem;transition:all .2s}.file-upload-label:hover{background:#323233;border-color:#007acc}.target-file-preview{background:#1e1e1e;border:1px solid #3e3e42;border-radius:6px;padding:1rem}.target-file-preview h4{color:#fff;font-size:.875rem;margin:0 0 .75rem}.target-content{background:#0d1117;border:1px solid #3e3e42;border-radius:4px;color:#8a8a8a;font-family:Monaco,Courier New,monospace;font-size:.75rem;max-height:200px;overflow-x:auto;overflow-y:auto;padding:.75rem}.template-editor{background:#252526;border:1px solid #3e3e42;border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.editor-header{align-items:center;background:#2d2d30;border-bottom:1px solid #3e3e42;display:flex;justify-content:space-between;padding:1rem 1.5rem}.editor-header h3{color:#fff;font-size:1.125rem;font-weight:600;margin:0}.editor-actions{display:flex;gap:.75rem}.action-btn{background:#007acc;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.action-btn:hover:not(:disabled){background:#005a9e}.action-btn:disabled{background:#464647;cursor:not-allowed}.action-btn.secondary{background:#464647;color:#ccc}.action-btn.secondary:hover:not(:disabled){background:#555556}.action-btn.primary{background:#007acc;color:#fff}.template-textarea{background:#1e1e1e;border:none;color:#ccc;flex:1 1;font-family:Monaco,Courier New,monospace;font-size:.875rem;line-height:1.5;outline:none;padding:1.5rem;resize:none}.template-help{background:#2d2d30;border-top:1px solid #3e3e42}.template-help summary{color:#8a8a8a;cursor:pointer;font-size:.875rem;padding:1rem 1.5rem;-webkit-user-select:none;user-select:none}.template-help summary:hover{color:#ccc}.help-content{border-top:1px solid #3e3e42;padding:0 1.5rem 1rem}.variable-group{margin-bottom:1rem}.variable-group h5{color:#fff;font-size:.875rem;font-weight:600;margin:0 0 .5rem}.variable-group code{background:#1e1e1e;border-radius:3px;color:#dcdcaa;font-family:Monaco,Courier New,monospace;font-size:.75rem;padding:.125rem .25rem}.preview-panel{background:#252526;border:1px solid #3e3e42;border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.preview-header{align-items:center;background:#2d2d30;border-bottom:1px solid #3e3e42;display:flex;justify-content:space-between;padding:1rem 1.5rem}.preview-header h3{color:#fff;font-size:1.125rem;font-weight:600;margin:0}.preview-info{align-items:center;display:flex;font-size:.75rem;gap:1rem}.entity-count{color:#8a8a8a}.round-trip-badge{background:#4ec9b0;border-radius:12px;color:#1e1e1e;font-weight:600;padding:.125rem .5rem}.preview-content{flex:1 1;overflow:hidden}.preview-content,.preview-loading{display:flex;flex-direction:column}.preview-loading{align-items:center;color:#8a8a8a;flex:1 1;gap:1rem;justify-content:center}.spinner{animation:spin 1s linear infinite;border:3px solid #3e3e42;border-radius:50%;border-top-color:#007acc;height:24px;width:24px}@keyframes spin{to{transform:rotate(1turn)}}.preview-text{word-wrap:break-word;background:#1e1e1e;border:none;color:#ccc;flex:1 1;font-family:Monaco,Courier New,monospace;font-size:.75rem;line-height:1.4;margin:0;overflow:auto;padding:1.5rem;white-space:pre-wrap}.export-actions{align-items:center;background:#2d2d30;border-top:1px solid #3e3e42;display:flex;justify-content:space-between;padding:1.5rem 2rem}.export-summary{color:#8a8a8a;font-size:.875rem}.action-buttons{display:flex;gap:1rem}@media (max-width:1400px){.export-content{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.preview-panel{grid-column:1/-1}}@media (max-width:1024px){.export-content{gap:1rem;grid-template-columns:1fr}.export-header{padding:1.5rem}.mapping-header,.mapping-row{gap:.5rem;grid-template-columns:1fr}.mapping-header{display:none}.mapping-row{background:#1e1e1e;border:1px solid #3e3e42;border-radius:4px;padding:.75rem}.export-actions{flex-direction:column;gap:1rem;text-align:center}}@media (max-width:768px){.config-section,.export-content,.export-header{padding:1rem}.template-selector{gap:.5rem}.template-card{padding:.75rem}.stat-item{align-items:flex-start;flex-direction:column;gap:.5rem}.checkbox-label{margin-left:0}.action-buttons{flex-direction:column;width:100%}.action-btn{justify-content:center;width:100%}}.stripe-payment-form{background:#fff;border-radius:12px;overflow:hidden}.payment-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.payment-header h3{color:#1f2937;flex:1 1;font-size:1.1rem;font-weight:600;margin:0;text-align:center}.payment-header .back-btn,.payment-header .close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:6px}.payment-header .back-btn:hover,.payment-header .close-btn:hover{background:#f3f4f6;color:#1f2937}.payment-header .back-btn{margin-right:auto}.payment-header .close-btn{margin-left:auto}.amount-section{padding:20px}.amount-section label{color:#374151;display:block;font-size:.9rem;font-weight:500;margin-bottom:8px}.amount-input-wrapper{align-items:center;border:2px solid #e5e7eb;border-radius:10px;display:flex;overflow:hidden;transition:border-color .2s}.amount-input-wrapper:focus-within{border-color:#6366f1}.currency-symbol{background:#f9fafb;border-right:1px solid #e5e7eb;color:#6b7280;font-size:.9rem;font-weight:600;padding:14px 16px}.amount-input-wrapper input{background:#0000;border:none;color:#1f2937;flex:1 1;font-size:1.5rem;font-weight:700;outline:none;padding:14px 16px}.amount-input-wrapper input::placeholder{color:#d1d5db}.min-hint{color:#9ca3af;display:block;font-size:.8rem;margin-top:6px}.preview-breakdown{background:#f9fafb;border-radius:10px;margin:0 20px 20px;padding:16px}.breakdown-row{color:#6b7280;display:flex;font-size:.9rem;justify-content:space-between;padding:8px 0}.breakdown-row.highlight{color:#1f2937;font-weight:500}.breakdown-row .credits-value{color:#059669;font-weight:600}.breakdown-row.total{border-top:1px solid #e5e7eb;color:#1f2937;font-weight:600;margin-top:8px;padding-top:12px}.calculating{color:#6b7280;font-size:.9rem;padding:16px;text-align:center}.form-actions{display:flex;gap:12px;padding:0 20px 20px}.cancel-btn{background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;flex:1 1;font-size:1rem;font-weight:500;padding:14px;transition:background .2s}.cancel-btn:hover{background:#e5e7eb}.pay-btn,.proceed-btn{background:#6366f1;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:2 1;font-size:1rem;font-weight:600;padding:14px;transition:background .2s}.pay-btn:hover:not(:disabled),.proceed-btn:hover:not(:disabled){background:#4f46e5}.pay-btn:disabled,.proceed-btn:disabled{background:#9ca3af;cursor:not-allowed}.checkout-form{padding:20px}.payment-summary{background:#f9fafb;border-radius:10px;margin-bottom:20px;padding:16px}.payment-summary .summary-row{color:#374151;display:flex;font-size:.9rem;justify-content:space-between;padding:6px 0}.payment-summary .summary-row.fee{color:#6b7280;font-size:.85rem}.payment-summary .credits-value{color:#059669;font-weight:600}.payment-element-container{margin-bottom:20px}.payment-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.9rem;margin-bottom:16px;padding:12px 16px}.checkout-actions{display:flex;gap:12px}.checkout-actions .cancel-btn{flex:1 1}.checkout-actions .pay-btn{flex:2 1}.loading-state{color:#6b7280;padding:60px 20px;text-align:center}@media (max-width:480px){.amount-input-wrapper input{font-size:1.25rem}.checkout-actions,.form-actions{flex-direction:column}.cancel-btn,.pay-btn,.proceed-btn{flex:none}}.user-profile-page{background:#1e1e1e;min-height:100vh;padding:20px 24px 32px}.profile-page-container{margin:0 auto;max-width:1180px}.profile-page-shell{background:#252526;border:1px solid #3e3e42;border-radius:8px;box-shadow:0 18px 40px #00000047;overflow:hidden}.profile-page-header{align-items:flex-end;background:#2d2d30;border-bottom:1px solid #3e3e42;display:flex;gap:24px;justify-content:space-between;padding:18px 24px}.profile-heading-block{display:flex;flex-direction:column;gap:6px}.profile-back-link{align-items:center;color:#969696;display:inline-flex;font-size:.84rem;gap:8px;letter-spacing:.06em;text-decoration:none;text-transform:uppercase;transition:color .15s ease-out;transition:color var(--transition-fast,.15s ease-out);width:fit-content}.profile-back-link:hover{color:#fff}.profile-back-link .material-symbols-outlined{font-size:16px}.profile-page-title{color:#fff;font-size:1.75rem;letter-spacing:-.02em;line-height:1.1;margin:0}.profile-page-subtitle{color:#9da3a9;font-size:.92rem;margin:0;max-width:620px}.profile-balance-hero{background:#252526;border:1px solid #3e3e42;border-radius:6px;min-width:240px;padding:14px 16px}.profile-balance-label{color:#969696;display:block;font-size:.72rem;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.profile-balance-value{color:#fff;display:block;font-size:1.45rem;line-height:1.1}.profile-page-tabs{background:#252526;border-bottom:1px solid #3e3e42;display:flex;gap:1px;overflow-x:auto;padding:0 16px}.profile-page-tab{align-items:center;background:#2d2d30;border:1px solid #2d2d30;border-bottom:none;border-radius:0;border-top:2px solid #0000;color:#969696;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:12px;min-width:220px;padding:12px 16px 11px;text-align:left;transition:color .15s ease-out,background .15s ease-out,border-color .15s ease-out;transition:color var(--transition-fast,.15s ease-out),background var(--transition-fast,.15s ease-out),border-color var(--transition-fast,.15s ease-out)}.profile-page-tab:hover{background:#37373d;color:#fff}.profile-page-tab.active{background:#1e1e1e;border-left-color:#3e3e42;border-right-color:#3e3e42;border-top-color:#007acc;color:#fff}.profile-page-tab-icon{align-items:center;background:#252526;border:1px solid #3e3e42;border-radius:4px;color:#c5c5c5;display:inline-flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.profile-page-tab.active .profile-page-tab-icon{background:#094771;border-color:#0e639c;color:#fff}.profile-page-tab .material-symbols-outlined{font-size:16px}.profile-page-tab-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.profile-page-tab-label{color:inherit;font-size:.9rem;font-weight:600;line-height:1.15}.profile-page-tab-meta{color:#8a8a8a;font-size:.74rem;line-height:1.25}.profile-page-tab.active .profile-page-tab-meta{color:#b9c7d5}.profile-page-content{background:#1e1e1e;padding:16px}.profile-page-loading{color:#9ba1a6;color:var(--text-secondary,#9ba1a6);padding:80px 24px;text-align:center}.credits-section,.profile-section,.usage-section{display:flex;flex-direction:column;gap:24px}.profile-overview-layout{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr)}.profile-main-column{display:flex;flex-direction:column;gap:16px}.action-card,.balance-card,.profile-info-card,.transactions-section,.usage-breakdown,.usage-summary-card{background:#252526;border:1px solid #3e3e42;border-radius:6px;box-shadow:none}.profile-info-card{align-items:center;display:flex;gap:20px;padding:20px}.profile-side-panel{background:#252526;border:1px solid #3e3e42;border-radius:6px;overflow:hidden}.profile-side-panel-header{background:#2d2d30;border-bottom:1px solid #3e3e42;padding:16px}.profile-side-panel-header h3{color:#fff;font-size:.92rem;font-weight:700;margin:0 0 4px}.profile-side-panel-header p{color:#9da3a9;font-size:.82rem;line-height:1.4;margin:0}.profile-side-list{padding:10px 0}.profile-side-item{border-bottom:1px solid #333336;display:flex;gap:12px;justify-content:space-between;padding:10px 16px}.profile-side-item:last-child{border-bottom:none}.profile-side-label{color:#969696;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.profile-side-value{color:#d4d4d4;font-size:.86rem;font-weight:600;text-align:right}.profile-side-actions{grid-gap:8px;background:#1f1f1f;border-top:1px solid #3e3e42;display:grid;gap:8px;padding:16px}.profile-side-action{background:#2d2d30;border:1px solid #3e3e42;border-radius:4px;color:#d4d4d4;cursor:pointer;font-size:.86rem;font-weight:600;padding:10px 12px;text-align:left;transition:background .15s ease-out,border-color .15s ease-out;transition:background var(--transition-fast,.15s ease-out),border-color var(--transition-fast,.15s ease-out);width:100%}.profile-side-action:hover{background:#37373d;border-color:#0e639c;color:#fff}.profile-avatar-large{align-items:center;background:linear-gradient(135deg,#0e639c,#5b9bd5);border:1px solid #ffffff14;border-radius:6px;color:#fff;display:flex;flex-shrink:0;font-size:28px;font-weight:700;height:72px;justify-content:center;letter-spacing:.04em;width:72px}.profile-details{min-width:0}.profile-details h3{color:#fff;font-size:1.2rem;margin:0 0 6px}.profile-email{color:#9da3a9;font-size:.9rem;margin:0;word-break:break-word}.profile-badge-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.admin-badge,.status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.74rem;font-weight:700;letter-spacing:.06em;padding:6px 10px;text-transform:uppercase}.admin-badge{background:#d4ac0d29;border:1px solid #d4ac0d3d;color:#e7c96b}.status-badge.active{background:#19c42a1f;border:1px solid #19c42a38;color:#7ddf87}.status-badge.inactive{background:#ef444424;border:1px solid #ef44443d;color:#ff9f9f}.profile-stats{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.stat-item{background:#1f1f1f;border:1px solid #3e3e42;border-radius:6px;display:flex;flex-direction:column;gap:6px;padding:16px}.stat-label{color:#969696;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.stat-value{color:#fff;font-size:1.05rem;font-weight:700}.credits-overview-grid{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.balance-card{padding:24px}.balance-amount{align-items:baseline;display:flex;gap:10px}.balance-amount .amount{color:#fff;font-size:clamp(2rem,5vw,2.8rem);font-weight:700;line-height:1}.balance-subtitle{color:#969696;font-size:.88rem;margin-top:10px}.balance-error,.balance-loading,.no-transactions,.transactions-loading,.usage-error,.usage-loading{color:#969696;padding:28px;text-align:center}.credits-actions{display:flex}.action-card{cursor:pointer;padding:20px;transition:border-color .15s ease-out,background .15s ease-out;transition:border-color var(--transition-fast,.15s ease-out),background var(--transition-fast,.15s ease-out);width:100%}.action-card:hover{background:#2a2d2e;border-color:#0e639c}.action-header{margin-bottom:18px}.action-title{color:#fff;display:block;font-size:.98rem;font-weight:700;margin-bottom:8px}.action-description{color:#9da3a9;font-size:.86rem;line-height:1.5;margin:0}.add-credits-btn{background:#0e639c;border:1px solid #0e639c;border-radius:4px;color:#fff;cursor:pointer;font-size:.92rem;font-weight:700;padding:12px 14px;transition:background .15s ease-out;transition:background var(--transition-fast,.15s ease-out);width:100%}.add-credits-btn:hover{background:#17b}.view-usage-link{align-items:center;background:none;border:none;color:#9da3a9;cursor:pointer;display:inline-flex;font-size:.84rem;justify-content:center;margin-top:10px;padding:10px 16px 0;width:100%}.view-usage-link:hover{color:#fff}.transactions-section,.usage-breakdown{padding:20px}.transactions-section h3,.usage-breakdown h3,.usage-summary-card h3{color:#fff;font-size:.96rem;font-weight:700;margin:0 0 16px}.table-card{border-top:1px solid #3e3e42}.table-scroll{overflow-x:auto}.transactions-table,.usage-table{border-collapse:collapse;width:100%}.transactions-table td,.transactions-table th,.usage-table td,.usage-table th{border-bottom:1px solid #333336;padding:12px 8px;text-align:left}.transactions-table th,.usage-table th{color:#969696;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.transactions-table td,.usage-table td{color:#d4d4d4;font-size:.94rem}.tx-type{text-transform:capitalize}.tx-amount.positive{color:#76e5a1;font-weight:700}.tx-amount.negative{color:#ff9f9f;font-weight:700}.usage-summary-card{padding:20px}.usage-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.usage-stat{background:#1f1f1f;border:1px solid #3e3e42;border-radius:6px;padding:16px;text-align:center}.usage-stat .stat-value{display:block;font-size:1.65rem;line-height:1.1}.usage-stat .stat-label{display:block;margin-top:8px}.usage-table .model-name{font-family:monospace;font-family:var(--font-mono,monospace);font-size:.88rem}@media (max-width:960px){.profile-page-header{align-items:flex-start;flex-direction:column}.profile-balance-hero{width:100%}.credits-overview-grid,.profile-overview-layout{grid-template-columns:1fr}}@media (max-width:720px){.user-profile-page{padding:12px 12px 20px}.profile-page-shell{border-radius:6px}.profile-page-header{padding:16px}.profile-page-tabs{padding:0 8px}.profile-page-content{padding:16px}.profile-page-tab{min-width:200px;padding:12px 14px 10px}.profile-info-card{align-items:flex-start;flex-direction:column}.profile-stats,.usage-stats-grid{grid-template-columns:1fr}.action-card,.balance-card,.transactions-section,.usage-breakdown,.usage-summary-card{padding:18px}.transactions-table,.usage-table{min-width:560px}}:root{--background:#1a2227;--color-background:#1a2227;--sidebar-background:#0b0e14;--card-background:#2d3842;--card-background-hover:#354149;--color-surface:#2d3842;--text-primary:#e8e5d8;--color-text-primary:#e8e5d8;--text-secondary:#9ba1a6;--color-text-secondary:#9ba1a6;--text-tertiary:#6b7278;--color-text-muted:#6b7278;--accent-primary:#19c42a;--accent-primary-hover:#20d633;--accent-primary-foreground:#1a2227;--color-accent:#19c42a;--color-accent-dark:#15a823;--color-accent-light:#20d633;--color-primary:#19c42a;--color-primary-dark:#15a823;--color-primary-light:#20d633;--color-secondary:#7d6f5f;--color-secondary-dark:#635649;--color-secondary-light:#9b8775;--success:#22c55e;--success-foreground:#1a2227;--color-success:#22c55e;--color-success-light:#4fba80;--destructive:#ef4444;--destructive-foreground:#fff;--color-error:#ef4444;--color-error-light:#f56565;--warning:#f59e0b;--warning-foreground:#1a2227;--color-warning:#f59e0b;--color-warning-light:#fbbf24;--border:#3d4850;--border-subtle:#2d3842;--color-border:#3d4850;--color-border-dark:#4d5860;--ring:#19c42a;--chart-primary:#9b8775;--chart-secondary:#7d6f5f;--chart-tertiary:#635649;--toggle-background:#d4c5a9;--toggle-foreground:#1a2227;--font-primary:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-heading:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-sans:"Inter",ui-sans-serif,system-ui,sans-serif;--font-serif:Georgia,serif;--font-mono:"Fira Code",Menlo,Monaco,Consolas,monospace;--spacing-unit:8px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--radius:0.5rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--border-radius:0.5rem;--spacing:0.25rem;--shadow-color:#0000004d;--shadow-sm:0 1px 2px 0 #00000040;--shadow-md:0 4px 6px -1px #0000004d,0 2px 4px -2px #0003;--shadow-lg:0 10px 15px -3px #0000004d,0 4px 6px -4px #0003;--shadow-xl:0 20px 25px -5px #0006,0 10px 10px -5px #0000004d;--transition-fast:0.15s ease-out;--transition-normal:0.3s ease-out;--transition-slow:0.5s ease-out;--transition:all 0.3s ease-out}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1a2227;background-color:var(--color-background);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-primary);font-size:16px;line-height:1.6}body,h1,h2,h3,h4,h5,h6{color:#e8e5d8;color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-heading);font-weight:600;line-height:1.3;margin-bottom:16px;margin-bottom:var(--spacing-md)}h1{font-size:2.5rem;font-weight:700}h2{font-size:2rem}h2,h3{font-weight:600}h3{font-size:1.5rem}h4{font-size:1.25rem}h4,h5{font-weight:500}h5{font-size:1.125rem}h6{font-size:1rem;font-weight:500}p{color:#9ba1a6;color:var(--color-text-secondary);margin-bottom:16px;margin-bottom:var(--spacing-md)}a{color:#19c42a;color:var(--color-accent);text-decoration:none;transition:color .15s ease-out;transition:color var(--transition-fast)}a:hover{color:#20d633;color:var(--color-accent-light)}button{border:none;cursor:pointer}button,input,select,textarea{font-family:inherit;outline:none;transition:all .15s ease-out;transition:all var(--transition-fast)}input,select,textarea{background-color:#2d3842;background-color:var(--color-surface);border:1px solid #3d4850;border:1px solid var(--color-border);border-radius:.375rem;border-radius:var(--radius-sm);color:#e8e5d8;color:var(--color-text-primary);font-size:16px;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md)}input:focus,select:focus,textarea:focus{border-color:#19c42a;border-color:var(--color-accent);box-shadow:0 0 0 3px #c17a5c33}input::placeholder,textarea::placeholder{color:#6b7278;color:var(--color-text-muted)}.container{margin:0 auto;max-width:1200px}.container,.navbar{padding:0 24px;padding:0 var(--spacing-lg)}.navbar{align-items:center;background-color:#0b0e14;background-color:var(--sidebar-background);border-bottom:1px solid #3d4850;border-bottom:1px solid var(--color-border);box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -2px #0003;box-shadow:var(--shadow-md);display:flex;height:60px;justify-content:space-between}.navbar,.navbar a{color:#e8e5d8;color:var(--color-text-primary)}.navbar a:hover{color:#19c42a;color:var(--color-accent)}.grid-container{grid-gap:24px;grid-gap:var(--spacing-lg);display:grid;gap:24px;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:24px 0;margin:var(--spacing-lg) 0}.grid-item{background-color:#2d3842;background-color:var(--color-surface);border:1px solid #3d4850;border:1px solid var(--color-border);border-radius:.5rem;border-radius:var(--border-radius);padding:24px;padding:var(--spacing-lg);transition:all .3s ease-out;transition:all var(--transition-normal)}.grid-item:hover{background-color:#354149;background-color:var(--card-background-hover);box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -2px #0003;box-shadow:var(--shadow-md);transform:translateY(-2px)}.card{background-color:#2d3842;background-color:var(--color-surface);border:1px solid #3d4850;border:1px solid var(--color-border);border-radius:.5rem;border-radius:var(--border-radius);box-shadow:0 1px 2px 0 #00000040;box-shadow:var(--shadow-sm);padding:24px;padding:var(--spacing-lg);transition:all .3s ease-out;transition:all var(--transition-normal)}.card:hover{box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -2px #0003;box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{border-bottom:1px solid #3d4850;border-bottom:1px solid var(--color-border);margin-bottom:16px;margin-bottom:var(--spacing-md);padding-bottom:16px;padding-bottom:var(--spacing-md)}.card-body{padding:16px;padding:var(--spacing-md)}.card-footer{border-top:1px solid #3d4850;border-top:1px solid var(--color-border);margin-top:16px;margin-top:var(--spacing-md);padding-top:16px;padding-top:var(--spacing-md)}.btn{align-items:center;border:none;border-radius:.375rem;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:8px;gap:var(--spacing-sm);justify-content:center;min-height:40px;padding:8px 24px;padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;transition:all .15s ease-out;transition:all var(--transition-fast)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:#19c42a;background-color:var(--color-accent);color:#1a2227;color:var(--accent-primary-foreground)}.btn-primary:hover:not(:disabled){background-color:#20d633;background-color:var(--color-accent-light);box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -2px #0003;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background-color:#7d6f5f;background-color:var(--color-secondary);color:#e8e5d8;color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background-color:#9b8775;background-color:var(--color-secondary-light);box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -2px #0003;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-accent{background-color:#19c42a;background-color:var(--color-accent);color:#1a2227;color:var(--accent-primary-foreground)}.btn-accent:hover:not(:disabled){background-color:#15a823;background-color:var(--color-accent-dark);box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -2px #0003;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-outline{background-color:initial;border:2px solid #19c42a;border:2px solid var(--color-accent);color:#19c42a;color:var(--color-accent)}.btn-outline:hover:not(:disabled){background-color:#19c42a;background-color:var(--color-accent);box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -2px #0003;box-shadow:var(--shadow-md);color:#1a2227;color:var(--accent-primary-foreground);transform:translateY(-1px)}.btn-ghost{background-color:initial;color:#e8e5d8;color:var(--color-text-primary)}.btn-ghost:hover:not(:disabled){background-color:#c17a5c1a}.btn-lg{font-size:1.125rem;min-height:48px;padding:16px 32px;padding:var(--spacing-md) var(--spacing-xl)}.btn-sm{font-size:.875rem;min-height:32px;padding:4px 16px;padding:var(--spacing-xs) var(--spacing-md)}.badge{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:4px 8px;padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase}.badge-primary{background-color:#19c42a;background-color:var(--color-accent);color:#1a2227;color:var(--accent-primary-foreground)}.badge-secondary{background-color:#7d6f5f;background-color:var(--color-secondary);color:#e8e5d8;color:var(--color-text-primary)}.badge-success{background-color:#22c55e;background-color:var(--color-success);color:#1a2227;color:var(--success-foreground)}.badge-warning{background-color:#f59e0b;background-color:var(--color-warning);color:#1a2227;color:var(--warning-foreground)}.badge-error{background-color:#ef4444;background-color:var(--color-error);color:#fff;color:var(--destructive-foreground)}.alert{border:1px solid;border-radius:.5rem;border-radius:var(--border-radius);margin-bottom:16px;margin-bottom:var(--spacing-md);padding:16px;padding:var(--spacing-md)}.alert-info{background-color:#c17a5c26;border-color:#19c42a;border-color:var(--color-accent);color:#20d633;color:var(--color-accent-light)}.alert-success{background-color:#22c55e26;border-color:#22c55e;border-color:var(--color-success);color:#4fba80;color:var(--color-success-light)}.alert-warning{background-color:#f59e0b26;border-color:#f59e0b;border-color:var(--color-warning);color:#fbbf24;color:var(--color-warning-light)}.alert-error{background-color:#ef444426;border-color:#ef4444;border-color:var(--color-error);color:#f56565;color:var(--color-error-light)}table{background-color:#2d3842;background-color:var(--color-surface);border-collapse:collapse;width:100%}th{background-color:#0b0e14;background-color:var(--sidebar-background);border-bottom:2px solid #3d4850;border-bottom:2px solid var(--color-border);color:#e8e5d8;color:var(--color-text-primary);font-weight:600;text-align:left}td,th{padding:16px;padding:var(--spacing-md)}td{border-bottom:1px solid #3d4850;border-bottom:1px solid var(--color-border);color:#9ba1a6;color:var(--color-text-secondary)}tr:hover{background-color:#354149;background-color:var(--card-background-hover)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:#e8e5d8;color:var(--color-text-primary)}.text-secondary{color:#9ba1a6;color:var(--color-text-secondary)}.text-muted{color:#6b7278;color:var(--color-text-muted)}.text-accent{color:#19c42a;color:var(--color-accent)}.text-success{color:#22c55e;color:var(--color-success)}.text-warning{color:#f59e0b;color:var(--color-warning)}.text-error{color:#ef4444;color:var(--color-error)}.bg-primary{background-color:#19c42a;background-color:var(--color-accent)}.bg-secondary{background-color:#7d6f5f;background-color:var(--color-secondary)}.bg-accent{background-color:#19c42a;background-color:var(--color-accent)}.bg-surface{background-color:#2d3842;background-color:var(--color-surface)}.bg-background{background-color:#1a2227;background-color:var(--color-background)}.m-0{margin:0}.m-xs{margin:4px;margin:var(--spacing-xs)}.m-sm{margin:8px;margin:var(--spacing-sm)}.m-md{margin:16px;margin:var(--spacing-md)}.m-lg{margin:24px;margin:var(--spacing-lg)}.m-xl{margin:32px;margin:var(--spacing-xl)}.mt-0{margin-top:0}.mt-xs{margin-top:4px;margin-top:var(--spacing-xs)}.mt-sm{margin-top:8px;margin-top:var(--spacing-sm)}.mt-md{margin-top:16px;margin-top:var(--spacing-md)}.mt-lg{margin-top:24px;margin-top:var(--spacing-lg)}.mt-xl{margin-top:32px;margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:4px;margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:8px;margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:16px;margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:24px;margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:32px;margin-bottom:var(--spacing-xl)}.p-0{padding:0}.p-xs{padding:4px;padding:var(--spacing-xs)}.p-sm{padding:8px;padding:var(--spacing-sm)}.p-md{padding:16px;padding:var(--spacing-md)}.p-lg{padding:24px;padding:var(--spacing-lg)}.p-xl{padding:32px;padding:var(--spacing-xl)}.d-none{display:none}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-grid{display:grid}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.align-start{align-items:flex-start}.align-center{align-items:center}.align-end{align-items:flex-end}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1 1}.gap-xs{gap:4px;gap:var(--spacing-xs)}.gap-sm{gap:8px;gap:var(--spacing-sm)}.gap-md{gap:16px;gap:var(--spacing-md)}.gap-lg{gap:24px;gap:var(--spacing-lg)}.loading{color:#9ba1a6;color:var(--color-text-secondary)}.error,.loading{align-items:center;display:flex;font-size:1.125rem;justify-content:center;padding:48px;padding:var(--spacing-2xl)}.error{color:#ef4444;color:var(--color-error)}.empty-state{color:#9ba1a6;color:var(--color-text-secondary);padding:64px 24px;padding:var(--spacing-3xl) var(--spacing-lg);text-align:center}.empty-state h3{color:#e8e5d8;color:var(--color-text-primary);margin-bottom:16px;margin-bottom:var(--spacing-md)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fadeIn{animation:fadeIn ease-out .3s ease-out;animation:fadeIn var(--transition-normal) ease-out}.animate-slideIn{animation:slideIn ease-out .3s ease-out;animation:slideIn var(--transition-normal) ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#1a2227;background:var(--color-background)}::-webkit-scrollbar-thumb{background:#3d4850;background:var(--color-border);border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#6b7278;background:var(--color-text-muted)}:focus-visible{outline:2px solid #19c42a;outline:2px solid var(--color-accent);outline-offset:2px}::selection{background-color:#c17a5c4d;color:#e8e5d8;color:var(--color-text-primary)}*{transition:var(--transition)}body{background-color:var(--bg-primary);color:var(--text-primary)}.card,.step-card{background-color:var(--bg-card);border-color:var(--border-primary);box-shadow:var(--shadow-sm)}.btn-primary{background-color:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-inverse)}.btn-primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}.form-control,.form-select,input,textarea{background-color:var(--bg-card);border-color:var(--border-secondary);color:var(--text-primary)}.form-control:focus,.form-select:focus,input:focus,textarea:focus{background-color:var(--bg-card);border-color:var(--border-focus);color:var(--text-primary)}.navbar{background-color:var(--bg-secondary)!important;border-bottom-color:var(--border-primary)}.table{background-color:var(--bg-card)}.table,.table th{color:var(--text-primary)}.table th{background-color:var(--bg-tertiary)}.table td,.table th{border-color:var(--border-secondary)}.modal-content{background-color:var(--bg-card);border-color:var(--border-primary);color:var(--text-primary)}.modal-header{background-color:var(--bg-secondary);border-bottom-color:var(--border-secondary)}.list-group-item{background-color:var(--bg-card);border-color:var(--border-secondary);color:var(--text-primary)}.list-group-item:hover{background-color:var(--bg-hover)}.alert{background-color:var(--bg-tertiary);border-color:var(--border-primary);color:var(--text-primary)}.App{background-color:var(--color-background);color:var(--color-text-primary);font-family:var(--font-primary);min-height:100vh}
/*# sourceMappingURL=main.07ef2dc0.css.map*/