*{margin:0;padding:0;box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body.modal-open{overflow:hidden}:root[data-theme=light]{--bg-primary: #f5f5f5;--bg-secondary: #ffffff;--bg-tertiary: #e8e8e8;--text-primary: #333333;--text-secondary: #666666;--text-tertiary: #999999;--border-color: #dddddd;--color-surface: #ffffff;--color-border: #dddddd;--color-border-light: #eeeeee;--color-primary: #2563eb;--color-error: #c00000;--color-error-bg: #fee;--color-error-border: #fcc;--color-success: #070707;--color-success-bg: #efe;--color-success-border: #cfc;--color-muted: #888888;--color-muted-bg: #eeeeee;--genre-chip-bg: #e3e6eb;--genre-chip-border: #cfd5df;--genre-chip-text: #111111;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--nav-bg: #ffffff;--nav-text: #333333;--nav-hover: #3498db;--heading-color: #2c3e50;--primary-color: #007bff;--primary-hover: #0056b3;--secondary-color: #6c757d;--secondary-hover: #545b62;--btn-secondary-bg: #f0f0f0;--btn-secondary-color: #333333;--btn-secondary-border: #d0d0d0;--btn-secondary-bg-hover: #e0e0e0;--danger-color: #dc3545;--danger-hover: #a71d2a;--error-bg: #f8d7da;--error-text: #721c24;--success-bg: #d4edda;--success-text: #155724;--modal-overlay: rgba(0, 0, 0, .5)}:root[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #3a3a3a;--text-primary: #e8e8e8;--text-secondary: #b8b8b8;--text-tertiary: #888888;--border-color: #444444;--genre-chip-bg: #2f343c;--genre-chip-border: #4a5561;--genre-chip-text: #f5f7fa;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--nav-bg: #1e1e1e;--nav-text: #e8e8e8;--nav-hover: #4a9eff;--heading-color: #e8e8e8;--primary-color: #4a9eff;--primary-hover: #2d7bd4;--secondary-color: #8a9099;--secondary-hover: #6c7279;--danger-color: #e74c5c;--danger-hover: #c82333;--error-bg: #3d2528;--error-text: #f8b4b4;--success-bg: #1e3a24;--success-text: #a8d5a8;--modal-overlay: rgba(0, 0, 0, .7);--btn-secondary-bg: #444444;--btn-secondary-color: #ffffff;--btn-secondary-border: #555555;--btn-secondary-bg-hover: #555555;--color-surface: #2d2d2d;--color-border: #444444;--color-border-light: #383838;--color-primary: #4a9eff;--color-error: #e74c5c;--color-error-bg: #3d2528;--color-error-border: #5a3236;--color-success: #6cc06c;--color-success-bg: #1e3a24;--color-success-border: #2d5230;--color-muted: #888888;--color-muted-bg: #383838}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{max-width:1200px;margin:0 auto;padding:20px}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-link{background:transparent;color:var(--accent);padding:0;min-width:auto}.btn-link:hover{color:var(--accent-hover);background:none}.btn-link:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:var(--btn-secondary-bg, var(--secondary-color));color:var(--btn-secondary-color, white);border:1px solid var(--btn-secondary-border, transparent)}.btn-secondary:hover{background-color:var(--btn-secondary-bg-hover, var(--secondary-hover))}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover{background-color:var(--danger-hover)}.card{background:var(--bg-secondary);border-radius:8px;padding:20px;box-shadow:var(--shadow-sm);margin-bottom:20px;transition:background-color .3s ease,box-shadow .3s ease}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:600;font-size:14px}.form-control{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;background-color:var(--bg-secondary);color:var(--text-primary);transition:border-color .2s ease,background-color .3s ease}.form-control:focus{outline:none;border-color:var(--primary-color)}.form-control-static{padding:10px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-weight:600;transition:background-color .3s ease,color .3s ease}.read-only-field{background-color:var(--bg-tertiary)!important;color:var(--text-secondary)!important;cursor:not-allowed;font-style:italic}.scene-slug-preview{background-color:var(--bg-tertiary);color:var(--text-primary);font-family:inherit;font-weight:600;min-height:42px;display:flex;align-items:center;cursor:default;-webkit-user-select:text;user-select:text}.scene-number-preview{display:grid;gap:4px;margin-top:8px;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-tertiary);color:var(--text-secondary);font-size:13px;line-height:1.35}.scene-number-preview strong{color:var(--text-primary);font-weight:700}.scene-number-preview--primary{border-color:var(--primary-color);background-color:var(--bg-secondary)}.scene-number-preview--muted strong{color:var(--text-secondary)}textarea.form-control{min-height:100px;resize:vertical}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.loading{text-align:center;padding:40px;color:var(--text-secondary)}.error{background-color:var(--error-bg);color:var(--error-text);padding:12px;border-radius:6px;margin-bottom:20px;transition:background-color .3s ease,color .3s ease}.success{background-color:var(--success-bg);color:var(--success-text);padding:12px;border-radius:6px;margin-bottom:20px;transition:background-color .3s ease,color .3s ease}.error-message{background-color:var(--error-bg);color:var(--error-text);padding:12px;border-radius:6px;margin-bottom:20px;border-left:4px solid #dc3545}.subtle-text{color:var(--text-secondary);font-size:.95rem;margin-bottom:10px}.success-message{background-color:var(--success-bg);color:var(--success-text);padding:12px;border-radius:6px;margin-bottom:20px;border-left:4px solid #27ae60}.info-text{font-size:14px;color:var(--text-secondary);margin-bottom:15px;line-height:1.5}.warning-text{background-color:#fff3cd;color:#856404;padding:10px;border-radius:4px;margin-top:10px;border-left:4px solid #ffc107}.nav{background-color:var(--nav-bg);padding:15px 0;margin-bottom:30px;transition:background-color .3s ease;position:sticky;top:0;z-index:900;box-shadow:0 2px 4px #0000001a}.nav-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.nav-brand{text-decoration:none;line-height:0;display:inline-block}.nav-brand-logo{height:40px;width:auto;display:block}.nav-brand-logo-dark{display:none}.nav-brand-logo-light{display:block}:root[data-theme=dark] .nav-brand-logo-dark{display:block}:root[data-theme=dark] .nav-brand-logo-light{display:none}.nav-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--color-primary, #2563eb);color:#fff;font-weight:600;font-size:14px;text-decoration:none;cursor:pointer;transition:opacity .2s}.nav-avatar:hover{opacity:.85}.email-verify-banner{background:#fef3c7;color:#92400e;text-align:center;padding:8px 16px;font-size:.85rem}:root[data-theme=dark] .email-verify-banner{background:#78350f;color:#fef3c7}.nav-links{display:flex;gap:20px;list-style:none;align-items:center}.nav-links a{color:var(--nav-text);text-decoration:none;font-weight:500;transition:color .2s}.nav-links a:hover{color:var(--nav-hover)}.nav-links a.active{color:var(--nav-hover);position:relative}.nav-links a.active:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--accent-color, #3b82f6);border-radius:2px}.nav-link-highlight{color:#93c5fd!important}.nav-link-highlight:hover{color:var(--nav-hover)!important}.usage-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border-color);border-radius:999px;background:var(--bg-secondary);color:var(--nav-text);font-weight:600;min-width:110px;justify-content:center}.usage-pill-label{font-size:12px;text-transform:uppercase;letter-spacing:.03em;opacity:.6}.usage-pill-value{font-size:14px}.nav-brand-section{display:flex;align-items:center;gap:12px}.project-selector-label{color:var(--nav-text);font-size:16px;font-weight:600;white-space:nowrap}.project-selector-dropdown{background-color:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-color);border-radius:6px;padding:8px 12px;font-size:16px;font-weight:600;min-width:200px;cursor:pointer;transition:all .2s ease}.project-selector-dropdown:hover{border-color:var(--nav-hover)}.project-selector-dropdown:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4a9eff33}.project-selector-dropdown:disabled{opacity:.6;cursor:not-allowed}h1,h2,h3{margin-bottom:20px;color:var(--heading-color);transition:color .3s ease}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:30px;flex-wrap:wrap}.header-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.view-toggle{display:inline-flex;background-color:var(--bg-tertiary);padding:4px;border-radius:10px;gap:8px}.view-toggle .btn{border-radius:8px;min-width:110px}.project-card{cursor:pointer;transition:transform .2s,box-shadow .2s}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.project-summary-preview--loading{width:100%;aspect-ratio:16 / 9;margin-bottom:12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary)}.project-card-title{display:flex;align-items:center;gap:10px;min-width:0;margin-bottom:10px}.project-card-title--no-image{align-items:flex-start}.project-card-title--no-image .project-summary-preview__icon{flex:0 0 auto;width:32px;height:32px;margin-top:2px;color:var(--text-secondary)}.project-summary-preview__icon{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:.72}.projects-discovery{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(140px,1fr));gap:12px;align-items:end;margin:0 0 20px;padding:14px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary)}.projects-discovery__field{min-width:0}.projects-discovery__field label{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:.82rem;font-weight:700}.projects-discovery__field .form-control{width:100%}.projects-discovery__summary{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;color:var(--text-secondary);font-size:.9rem}.projects-no-results{padding:32px 20px;border:1px dashed var(--border-color);border-radius:8px;background:var(--bg-secondary);text-align:center}.projects-no-results h2{margin-bottom:8px}.projects-no-results p{margin-bottom:16px;color:var(--text-secondary)}@media(max-width:980px){.projects-discovery{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-discovery__field--search,.projects-discovery__summary{grid-column:1 / -1}}@media(max-width:640px){.projects-discovery{grid-template-columns:1fr;padding:12px}.projects-discovery__field,.projects-discovery__field--search,.projects-discovery__summary{grid-column:1}.projects-discovery__summary{align-items:stretch;flex-direction:column}.projects-discovery__summary .btn,.projects-no-results .btn{width:100%}}.project-card h3{color:var(--primary-color);min-width:0;margin:0;transition:color .3s ease}.project-meta{display:flex;gap:15px;margin-top:10px;font-size:13px;color:var(--text-secondary);transition:color .3s ease}.project-genre-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}.project-genre-chip{display:inline-flex;align-items:center;min-height:24px;max-width:100%;padding:3px 8px;border:1px solid var(--genre-chip-border, var(--border-color));border-radius:999px;background:var(--genre-chip-bg, var(--bg-tertiary));color:var(--genre-chip-text, var(--text-secondary));font-size:12px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}.project-genre-chip--overflow{color:var(--primary-color)}.badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase}.metadata-badge{display:inline-flex;align-items:center;justify-content:center;max-width:100%;padding:3px 7px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-tertiary);color:var(--text-primary);font-size:11px;font-weight:600;line-height:1.2;text-transform:none;white-space:nowrap;vertical-align:middle}.metadata-badge-compact{padding:2px 5px;font-size:9px}.metadata-badge-neutral,.metadata-badge-category,.metadata-badge-age,.metadata-badge-gender,.metadata-badge-arc,.metadata-badge-arc-change,.metadata-badge-arc-growth,.metadata-badge-arc-fall,.metadata-badge-arc-flat,.metadata-badge-arc-corruption{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}.metadata-badge-pov,.metadata-badge-role-protagonist{background-color:#567dfa1f;color:var(--accent);border-color:#567dfa59}.metadata-badge-role-antagonist{background-color:#ef53501f;color:#c62828;border-color:#ef535059}.metadata-badge-role-mentor,.metadata-badge-role-ally,.metadata-badge-role-love-interest,.metadata-badge-role-sidekick,.metadata-badge-role-supporting,.metadata-badge-role-minor,.metadata-badge-role-extra{background-color:#00b5cc1f;color:#008ba3;border-color:#00b5cc52}.metadata-badge-scene-location-int{background-color:#e3f2fd;color:#1976d2;border-color:#bbdefb}.metadata-badge-scene-location-ext{background-color:#fff3e0;color:#e67e22;border-color:#ffe0b2}.metadata-badge-scene-location-int-ext{background-color:#f3e5f5;color:#7b1fa2;border-color:#e1bee7}.metadata-badge-time{background-color:#eceff1;color:#34495e;border-color:#cfd8dc}.metadata-badge-scene-type{background-color:#e0f2f1;color:#00796b;border-color:#b2dfdb}.metadata-badge-status-concept,.metadata-badge-status-outline,.metadata-badge-status-outlined,.metadata-badge-status-planned{background-color:#e3f2fd;color:#1976d2;border-color:#bbdefb}.metadata-badge-status-draft,.metadata-badge-status-revision,.metadata-badge-status-in-progress{background-color:#fff3e0;color:#f57c00;border-color:#ffe0b2}.metadata-badge-status-final,.metadata-badge-status-production,.metadata-badge-status-produced,.metadata-badge-status-complete,.metadata-badge-status-completed,.metadata-badge-status-active,.metadata-badge-success,.metadata-badge-screenplay-written{background-color:#e8f5e9;color:#388e3c;border-color:#c8e6c9}.metadata-badge-screenplay-outline{background-color:#e3f2fd;color:#1976d2;border-color:#bbdefb}.metadata-badge-screenplay-empty,.metadata-badge-status-archived,.metadata-badge-status-closed,.metadata-badge-status-open{background-color:#f5f5f5;color:#616161;border-color:#e0e0e0}.metadata-badge-intensity-very-low,.metadata-badge-intensity-low{background-color:#e8f5e9;color:#2e7d32;border-color:#c8e6c9}.metadata-badge-intensity,.metadata-badge-intensity-medium{background-color:#fff9c4;color:#f57f17;border-color:#fff59d}.metadata-badge-intensity-high,.metadata-badge-intensity-very-high{background-color:#ffecb3;color:#e65100;border-color:#ffe082}.badge-concept{background-color:#e3f2fd;color:#1976d2}.badge-draft{background-color:#fff3e0;color:#f57c00}.badge-revision{background-color:#f3e5f5;color:#7b1fa2}.badge-complete{background-color:#e8f5e9;color:#388e3c}.modal-overlay{position:fixed;inset:0;background-color:var(--modal-overlay);display:flex;justify-content:center;align-items:center;z-index:4000;transition:background-color .3s ease}.modal{background:var(--bg-secondary);position:relative;border-radius:8px;padding:30px;max-width:800px;width:90%;max-height:90vh;overflow-y:auto;transition:background-color .3s ease}.modal-content{background:var(--bg-secondary);position:relative;color:var(--text-primary);border-radius:8px;padding:24px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg, 0 16px 40px rgba(0, 0, 0, .24))}.modal-large{max-width:960px}.refine-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.refine-column{display:flex;flex-direction:column;gap:8px}.refine-column-header{display:flex;align-items:center;justify-content:space-between;font-weight:700}@media(max-width:768px){.refine-compare-grid{grid-template-columns:1fr}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-close{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:50%;font-size:20px;cursor:pointer;color:var(--text-secondary);transition:all .3s ease;width:36px;height:36px;display:flex;align-items:center;justify-content:center;position:absolute;top:15px;right:15px;z-index:20;box-shadow:var(--shadow-sm)}.modal-close:hover{color:var(--danger-color);border-color:var(--danger-color);background-color:var(--bg-primary);transform:rotate(90deg)}.modal-header{padding-right:40px}.button-group{display:flex;gap:10px;margin-top:20px}.theme-toggle{background:none;border:2px solid var(--nav-text);color:var(--nav-text);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease;display:flex;align-items:center;gap:8px}.theme-toggle:hover{background-color:#ffffff1a;border-color:var(--nav-hover);color:var(--nav-hover)}.theme-icon{font-size:18px;line-height:1}.form-section{margin-bottom:30px;padding:20px;background-color:var(--bg-tertiary);border-radius:8px;transition:background-color .3s ease}.form-section h3{margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid var(--border-color);color:var(--heading-color);font-size:18px;transition:color .3s ease,border-color .3s ease}.form-section small{display:block;margin-top:5px;font-size:12px;color:var(--text-tertiary);transition:color .3s ease}.form-disclosure{margin-bottom:18px}.form-disclosure>summary{min-height:44px;padding:12px 14px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary);color:var(--heading-color);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700}.form-disclosure>summary small{color:var(--text-tertiary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0}.form-disclosure[open]>summary{border-radius:8px 8px 0 0;border-bottom-color:transparent}.form-disclosure>.form-section{border-top-left-radius:0;border-top-right-radius:0;border:1px solid var(--border-color);border-top:0;margin-bottom:0}.form-validation-summary,.form-draft-recovery{border:1px solid var(--border-color);border-left:4px solid var(--primary-color);border-radius:8px;background:var(--bg-tertiary);padding:12px 14px;margin-bottom:16px}.form-validation-summary{border-left-color:var(--danger-color)}.form-validation-summary ul{margin:8px 0 0;padding-left:18px}.form-validation-summary li span{font-weight:700}.form-draft-recovery{display:flex;align-items:center;justify-content:space-between;gap:12px}.form-draft-recovery strong,.form-draft-recovery span{display:block}.form-draft-recovery span,.form-save-status{color:var(--text-secondary);font-size:.85rem}.form-draft-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.beats-add-act-button{margin-left:8px}.beats-toolbar-spacer{flex:1}.beats-danger-action{margin-left:24px;padding-left:12px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:500}.form-actions{position:sticky;bottom:0;z-index:4;align-items:center;justify-content:flex-end;padding:12px 0;margin-top:16px;background:var(--bg-secondary);border-top:1px solid var(--border-color);box-shadow:0 -10px 24px #00000029}.form-actions .form-save-status{margin-right:auto;min-width:180px}.entity-form>.entity-form-actions{position:sticky;top:0;bottom:auto;z-index:12;margin:0 0 18px;padding:12px 0;background:var(--bg-secondary);border-top:0;border-bottom:1px solid var(--border-color);box-shadow:0 10px 22px #00000024;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.grid-3{grid-template-columns:repeat(3,1fr)}@media(max-width:768px){.grid-3{grid-template-columns:1fr}}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto;cursor:pointer}.checkbox-label span{-webkit-user-select:none;user-select:none}.beats-filter-panel{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr)) minmax(240px,1.3fr);gap:12px;align-items:end;margin:0 0 20px;padding:14px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary)}.beats-filter-panel__field{min-width:0}.beats-filter-panel__field label{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:.82rem;font-weight:700}.beats-filter-panel__field .form-control{width:100%}.beats-page-range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center}.beats-page-range span{color:var(--text-secondary);font-size:.85rem}.beats-filter-panel__summary{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;color:var(--text-secondary);font-size:.9rem}.beats-filter-panel__hint{grid-column:1 / -1;margin:-4px 0 0;color:var(--text-tertiary);font-size:.85rem}.beats-no-results{padding:32px 20px;border:1px dashed var(--border-color);border-radius:8px;background:var(--bg-secondary);text-align:center}.beats-no-results h2{margin-bottom:8px}.beats-no-results p{margin-bottom:16px;color:var(--text-secondary)}@media(max-width:980px){.beats-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.beats-filter-panel__field--page,.beats-filter-panel__summary,.beats-filter-panel__hint{grid-column:1 / -1}}@media(max-width:640px){.beats-filter-panel{grid-template-columns:1fr;padding:12px}.beats-filter-panel__field,.beats-filter-panel__field--page,.beats-filter-panel__summary,.beats-filter-panel__hint{grid-column:1}.beats-filter-panel__summary{align-items:stretch;flex-direction:column}.beats-filter-panel__summary .btn,.beats-no-results .btn{width:100%}}.beat-sheet{display:flex;flex-direction:column;gap:30px}.act-section{background-color:var(--bg-secondary);border-radius:8px;padding:20px;box-shadow:var(--shadow-sm)}.act-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;margin-bottom:20px;border-bottom:2px solid var(--border-color);border-left:4px solid var(--primary-color);padding-left:15px}.act-header h2{margin:0;font-size:24px;color:var(--heading-color)}.beat-count{color:var(--text-secondary);font-size:14px}.beat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.beat-card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:15px;transition:all .2s}.beat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.beat-card-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.beat-sequence{background-color:var(--primary-color);color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.beat-type{flex:1;font-weight:600;font-size:14px;color:var(--text-primary)}.beat-summary{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:10px 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.beat-meta{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.meta-item{background-color:var(--bg-tertiary);padding:4px 8px;border-radius:4px;font-size:12px;color:var(--text-secondary)}.beat-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px;padding-top:15px;border-top:1px solid var(--border-color)}.quick-scene-modal{width:min(92vw,640px)}.quick-scene-form{display:grid;gap:16px}.quick-scene-context{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-tertiary)}.quick-scene-context span{color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.quick-scene-context strong{color:var(--text-primary)}.quick-scene-inline-location{display:grid;gap:10px;padding:12px;border:1px dashed var(--border-color);border-radius:6px;background-color:var(--bg-tertiary)}.quick-scene-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.scene-relationship-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.scene-relationship-section-heading h3{margin:0}.relationship-quick-create{display:grid;gap:12px;margin-bottom:14px;padding:12px;border:1px dashed var(--border-color);border-radius:6px;background-color:var(--bg-tertiary)}.relationship-quick-create__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.view-toggle{display:flex;gap:5px}.view-toggle .btn{padding:8px 16px;font-size:13px}.beats-table{width:100%;background-color:var(--bg-secondary);border-collapse:collapse;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-sm)}.beats-table th,.beats-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border-color)}.beats-table th{background-color:var(--bg-tertiary);font-weight:600;color:var(--text-primary)}.beats-table tr:hover{background-color:var(--bg-tertiary)}.beats-table tr:last-child td{border-bottom:none}.act-badge{display:inline-block;padding:4px 12px;border-radius:12px;color:#fff;font-size:12px;font-weight:600}.summary-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.beats-table .btn{margin-right:5px}.nav-error-text{margin-top:6px;color:#ffb347;font-size:12px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--bg-primary);padding:40px 20px}.login-card{width:100%;max-width:420px;background-color:var(--bg-secondary);border-radius:12px;padding:32px;box-shadow:var(--shadow-md)}.login-logo{text-align:center;margin-bottom:16px}.login-logo-img{width:100%;height:auto}.login-logo-dark{display:none}.login-logo-light{display:inline}:root[data-theme=dark] .login-logo-dark{display:inline}:root[data-theme=dark] .login-logo-light{display:none}.login-card h1{margin-bottom:10px;text-align:center}.login-subtitle{margin-bottom:24px;color:var(--text-secondary)}.google-oauth-btn{display:block;width:100%;text-align:center;text-decoration:none;margin-bottom:0}.google-oauth-btn-img{height:40px;width:auto;max-width:100%;display:inline-block}.google-oauth-btn-img-dark{display:inline-block}.google-oauth-btn-img-light{display:none}:root[data-theme=light] .google-oauth-btn-img-dark{display:none}:root[data-theme=light] .google-oauth-btn-img-light{display:inline-block}.login-divider{display:flex;align-items:center;margin:20px 0;color:var(--text-secondary);font-size:.85rem}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid var(--color-border, #ddd)}.login-divider span{padding:0 12px}.login-form{display:flex;flex-direction:column;gap:16px}.login-form label{display:flex;flex-direction:column;font-weight:600;color:var(--text-secondary);gap:8px}.login-form input{padding:10px 12px;border-radius:6px;border:1px solid var(--border-color);background-color:var(--bg-secondary);color:var(--text-primary)}.login-form input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4a9eff26}.filter-select{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s}.filter-select:hover{border-color:var(--primary-color)}.filter-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4a9eff1a}.beat-modal{width:90%;max-width:900px}@media(max-width:768px){.beat-cards{grid-template-columns:1fr}.view-toggle{width:100%;margin-bottom:10px}.view-toggle .btn{flex:1}.beats-table{font-size:14px}.beats-table th,.beats-table td{padding:8px}.summary-cell{max-width:150px}}.scenes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(600px,1fr));gap:20px;margin-top:20px}.scenes-empty-state{grid-column:1 / -1}.scene-density-toggle{display:inline-flex;gap:6px;align-items:center;flex-wrap:nowrap}.scene-density-toggle .btn{min-width:92px}.scene-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:0;box-shadow:var(--shadow-sm);transition:all .3s ease;display:flex;flex-direction:row;align-items:stretch;overflow:hidden}.scene-card--compact,.scene-card--compact .scene-content-wrapper{min-height:0}.scene-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.scene-card-compact-thumbnail{width:112px;flex:0 0 112px;align-self:stretch;min-height:112px;padding:0;margin:0;border:0;border-right:1px solid var(--border-color);background-color:var(--bg-tertiary);cursor:pointer;overflow:hidden}.scene-card-compact-thumbnail img{width:100%;height:100%;display:block;object-fit:cover}.scene-card-compact-thumbnail:focus-visible{outline:3px solid var(--focus-ring-color, var(--primary-color));outline-offset:-3px}.scene-card .scene-image{width:300px;flex-shrink:0;position:relative;border-right:1px solid var(--border-color);margin:0;border-radius:0;max-width:none;aspect-ratio:auto;background-color:var(--bg-secondary);min-height:160px}.scene-card .scene-image img{width:100%;height:100%;object-fit:contain;display:block}.scene-content-wrapper{display:flex;flex-direction:column;flex:1;min-width:0;min-height:160px;height:auto}.scene-card-header{padding:6px 12px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background-color:var(--bg-tertiary);height:40px}.scene-number-badge{background-color:var(--primary-color);color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.scene-badges{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;flex:1;margin-left:10px}.badge-int{background-color:#3498db;color:#fff}.badge-ext{background-color:#e67e22;color:#fff}.badge-int_ext{background-color:#9b59b6;color:#fff}.badge-time{background-color:#34495e;color:#fff}.badge-type{background-color:#16a085;color:#fff}.badge-success{background-color:#27ae60;color:#fff}.scene-card-body{padding:8px 12px;flex:1;display:flex;flex-direction:column}.scene-card-compact-body{padding:10px 12px;display:grid;gap:8px}.scene-compact-slug{margin:0;color:var(--text-primary);font-family:Courier New,monospace;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.scene-compact-meta{display:flex;flex-wrap:wrap;gap:10px;color:var(--text-secondary);font-size:12px}.scene-compact-meta strong{color:var(--text-primary)}.scene-slug-line{font-size:14px;font-weight:600;color:var(--heading-color);margin:0 0 4px;font-family:Courier New,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-summary{color:var(--text-secondary);font-size:12px;line-height:1.4;margin:0 0 8px;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.scene-metadata{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;font-size:11px}.metadata-item{display:flex;flex-direction:column;gap:2px}.metadata-item strong{color:var(--text-primary);font-weight:600}.metadata-item span:not(.chip):not(.metadata-badge){color:var(--text-secondary)}.character-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;font-size:11px;color:var(--text-primary);line-height:1.2}.chip>span:not(.metadata-badge){color:inherit}.chip-label{font-size:9px;text-transform:uppercase;color:var(--accent);line-height:1.2}.chip-accent{background-color:#567dfa1a;border-color:var(--accent)}.chip-info{background-color:#00b5cc26;border-color:#00b5cc}.chip-warning{background-color:#ffaa0026;border-color:#ffa726}.inline-badge{margin-left:6px;font-size:11px;text-transform:uppercase;color:var(--accent)}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:10px}.checkbox-item{display:flex;gap:8px;font-size:14px;align-items:center}.checkbox-item .metadata-badge{margin-left:6px}.entity-scene-usage{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:12px}.entity-scene-usage__button{border:1px solid var(--border-color);border-radius:6px;background:var(--bg-tertiary);color:var(--accent);cursor:pointer;font-size:12px;font-weight:700;line-height:1.2;padding:5px 8px}.entity-scene-usage__button:disabled{color:var(--text-muted, var(--text-tertiary));cursor:default;opacity:.85}.entity-scene-usage__button:not(:disabled):hover,.entity-scene-usage__button:not(:disabled):focus-visible{border-color:var(--accent);outline:none}.entity-scene-usage__names{color:var(--text-secondary);font-size:12px;line-height:1.35;margin:0}.entity-scene-usage__names--empty{color:var(--text-muted, var(--text-tertiary))}.entity-scene-filter-banner{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin:10px 0 18px;padding:10px 12px}.entity-delete-usage{border:1px solid var(--border-color);border-radius:6px;line-height:1.4;margin:14px 0;padding:10px 12px}.entity-delete-usage--warning{background:#ffaa001f;border-color:#ffa726}.entity-delete-usage--clear{background:var(--bg-tertiary)}.entity-delete-usage p{color:var(--text-secondary);font-size:13px;margin:6px 0 0}.entity-delete-usage ul{margin:8px 0 0 18px}.entity-delete-usage li{color:var(--text-secondary);font-size:13px;margin-bottom:3px}.arc-selection{justify-content:space-between}.arc-selection label{flex:1}.arc-emphasis-control{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.arc-emphasis-control input{width:80px}.modal-subtitle{font-size:13px;color:var(--text-secondary);margin-top:4px}.scene-card-actions{padding:8px 12px;border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:flex-end;gap:8px;background-color:var(--bg-tertiary)}.scene-card-actions-left{margin-right:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.scene-card-actions--compact{justify-content:flex-end}.scene-modal{width:90%;max-width:1000px;max-height:90vh;overflow-y:auto}.scene-form{display:flex;flex-direction:column;gap:0}@media(max-width:768px){.scenes-grid{grid-template-columns:1fr}.scene-card-header{flex-direction:column;align-items:flex-start;gap:10px}.scene-badges{justify-content:flex-start;margin-left:0}.scene-number-badge{width:35px;height:35px;font-size:14px}}.ai-field-controls{margin-top:10px;padding:12px;background-color:var(--bg-tertiary);border-radius:6px;border-left:3px solid var(--primary-color)}.ai-buttons{display:flex;gap:8px;flex-wrap:wrap}.btn-ai{padding:6px 16px;font-size:13px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:20px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:4px;font-weight:600}.btn-ai-cancel{padding:6px 16px;font-size:13px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:20px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:4px;font-weight:600;white-space:nowrap}.btn-ai-cancel:hover{transform:translateY(-1px);box-shadow:0 4px 8px #667eea66}.btn-ai:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #667eea66}.btn-ai:disabled{opacity:.5;cursor:not-allowed;background:var(--secondary-color)}.ai-status{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:14px;font-weight:600;color:#333}:root[data-theme=dark] .ai-status{color:#fff}:root[data-theme=light] .ai-status{color:#000}.ai-loading{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;background-color:var(--bg-secondary);border-radius:4px;font-size:13px;color:var(--text-secondary)}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ai-error{margin-top:10px;padding:10px 12px;background-color:var(--error-bg);color:var(--error-text);border-radius:4px;font-size:13px;display:flex;justify-content:space-between;align-items:center}.error-close{background:none;border:none;color:var(--error-text);font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.error-close:hover{opacity:.7}.review-result{display:flex;flex-direction:column;gap:20px}.review-rating{text-align:center;padding:20px;background-color:var(--bg-tertiary);border-radius:8px}.review-rating h4{margin-bottom:12px;color:var(--text-secondary);font-size:14px;text-transform:uppercase;letter-spacing:1px}.rating-badge{display:inline-block;padding:8px 20px;border-radius:20px;color:#fff;font-weight:600;font-size:14px;letter-spacing:.5px}.review-section{padding:16px;background-color:var(--bg-tertiary);border-radius:6px;border-left:3px solid var(--primary-color)}.review-section.warning{border-left-color:#f39c12;background-color:#f39c121a}.review-section h4{margin-bottom:12px;color:var(--text-primary);font-size:15px;display:flex;align-items:center;gap:8px}.review-section ul{list-style:none;padding:0;margin:0}.review-section li{padding:8px 0 8px 20px;position:relative;color:var(--text-primary);line-height:1.5}.review-section li:before{content:"•";position:absolute;left:0;color:var(--primary-color);font-weight:700;font-size:18px}.review-section.warning li:before{color:#f39c12}.modal-small{max-width:500px}@media(max-width:768px){.ai-buttons{flex-direction:column}.btn-ai{width:100%;justify-content:center}.review-result{gap:15px}}.image-upload-container{width:100%}.image-upload-zone{border:2px dashed var(--border-color);border-radius:8px;padding:30px;text-align:center;cursor:pointer;transition:all .3s ease;background-color:var(--bg-tertiary);min-height:200px;display:flex;align-items:center;justify-content:center}.image-upload-zone:hover{border-color:var(--primary-color);background-color:var(--bg-secondary)}.image-upload-zone.dragging{border-color:var(--primary-color);background-color:var(--primary-color);opacity:.1}.image-upload-zone.has-image{padding:0;border:none;min-height:300px}.image-placeholder{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--text-secondary)}.image-placeholder svg{opacity:.5}.image-placeholder p{margin:5px 0;font-size:16px;font-weight:500}.upload-hint{font-size:12px;color:var(--text-tertiary)}.image-preview{position:relative;width:100%;height:100%;border-radius:8px;overflow:hidden}.image-preview img{width:100%;height:100%;object-fit:cover;display:block}.image-overlay{position:absolute;inset:0;background:#000000b3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;opacity:0;transition:opacity .3s ease}.image-preview:hover .image-overlay{opacity:1}.image-overlay .btn{min-width:140px}.image-touch-actions{display:none}.character-card{display:flex;flex-direction:column;overflow:hidden}.character-card--no-image{flex-direction:row;align-items:flex-start;gap:18px}.character-image{width:100%;max-width:280px;aspect-ratio:9 / 16;overflow:hidden;background-color:var(--bg-tertiary);border-radius:8px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;position:relative}.character-card--no-image .character-image{flex:0 0 88px;width:88px;max-width:88px;aspect-ratio:3 / 4;margin:20px 0 20px 20px;border-radius:6px}.character-image img,.character-card-preview-image{width:100%;height:100%;object-fit:cover;display:block;border-radius:8px;transition:transform .3s ease,opacity .3s ease}.character-image:hover img,.character-image:hover .character-card-preview-image{transform:scale(1.05);opacity:.85}.location-image{width:100%;max-width:400px;aspect-ratio:16 / 9;overflow:hidden;background-color:var(--bg-tertiary);border-radius:8px;display:flex;align-items:center;justify-content:center;margin:0 auto 15px;position:relative}.location-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease,opacity .3s ease}.location-image:hover img{transform:scale(1.05);opacity:.85}.location-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--bg-tertiary);border-radius:8px;color:var(--text-tertiary)}.location-image-placeholder p{font-size:14px;opacity:.5}.prop-image{width:100%;max-width:240px;aspect-ratio:9 / 16;overflow:hidden;background-color:var(--bg-tertiary);border-radius:8px;display:flex;align-items:center;justify-content:center;margin:0 auto 15px;position:relative}.prop-image img,.prop-card-preview-image{width:100%;height:100%;object-fit:contain;display:block;border-radius:8px;background-color:var(--bg-tertiary);transition:transform .3s ease,opacity .3s ease}.prop-image:hover img,.prop-image:hover .prop-card-preview-image{transform:scale(1.03);opacity:.9}.prop-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--bg-tertiary);border-radius:8px;color:var(--text-tertiary)}.prop-image-placeholder p{font-size:14px;opacity:.5}.scene-image{width:100%;max-width:400px;aspect-ratio:16 / 9;overflow:hidden;background-color:var(--bg-tertiary);border-radius:8px;display:flex;align-items:center;justify-content:center;margin:0 auto 15px;position:relative}.scene-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease,opacity .3s ease}.scene-image:hover img{transform:scale(1.05);opacity:.85}.beat-image{width:100%;aspect-ratio:16 / 9;overflow:hidden;background-color:var(--bg-tertiary);border-radius:8px;display:flex;align-items:center;justify-content:center;margin:0 0 10px}.beat-image img,.beat-card-preview-image{width:100%;height:100%;object-fit:cover;display:block;border-radius:8px}.episode-image{width:100%;max-width:400px;aspect-ratio:16 / 9;overflow:hidden;background-color:var(--bg-tertiary);border-radius:8px;display:flex;align-items:center;justify-content:center;margin:0 auto 15px;position:relative}.episode-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease,opacity .3s ease}.episode-image:hover img{transform:scale(1.05);opacity:.85}.character-image-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--bg-tertiary);border-radius:8px;color:var(--text-tertiary);transition:background-color .3s ease}.character-image-placeholder:hover{background-color:var(--bg-secondary)}.character-image-placeholder svg{opacity:.3;margin-bottom:10px}.character-image-placeholder p{font-size:14px;opacity:.5}.character-card-content{padding:20px;flex:1;display:flex;flex-direction:column}.character-card--no-image .character-card-content{min-width:0;padding-left:0}.character-card-content h3{margin-top:0;margin-bottom:10px}.draggable-card{cursor:grab}.draggable-card.dragging{opacity:.9;box-shadow:var(--shadow-lg);border:1px dashed var(--primary-color)}.character-card-content .button-group{margin-top:auto}@media(max-width:768px){.image-upload-zone{min-height:150px;padding:20px}.image-upload-zone.has-image{min-height:250px}.character-image,.character-image-placeholder{height:150px}}.tab-navigation{margin:20px 0;border-bottom:2px solid var(--border-color)}.tab-navigation-desktop{display:flex;gap:0}.tab-navigation-mobile{display:none}.tab{padding:12px 24px;border:none;background:none;color:var(--text-secondary);font-size:15px;font-weight:500;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s;position:relative;top:2px}.tab:hover{color:var(--primary-color);background-color:var(--bg-tertiary)}.tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:600}.tab-select{width:100%;padding:12px;font-size:15px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-secondary);color:var(--text-primary)}.season-navigator{display:flex;align-items:center;gap:12px;padding:16px 20px;background-color:var(--bg-secondary);border-radius:8px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.season-label{font-weight:600;color:var(--text-secondary);font-size:14px;text-transform:uppercase;letter-spacing:.5px}.season-select{padding:8px 16px;font-size:16px;font-weight:600;border:2px solid var(--border-color);border-radius:6px;background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:all .2s}.season-select:hover{border-color:var(--primary-color)}.season-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4a9eff1a}.season-meta{margin-left:auto;font-size:14px;color:var(--text-tertiary)}.season-title{font-size:18px;font-weight:600;color:var(--text-primary)}.episode-grid-container{margin-top:20px}.episode-grid-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.episode-grid-count{font-size:14px;font-weight:600;color:var(--text-secondary)}.episode-grid-toggle{display:flex;gap:4px;border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.view-toggle-btn{padding:8px 16px;border:none;background:var(--bg-secondary);color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.view-toggle-btn:hover{background:var(--bg-tertiary)}.view-toggle-btn.active{background:var(--primary-color);color:#fff}.episode-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.episode-grid-loading{padding:40px;text-align:center;color:var(--text-secondary)}.episode-card{background:var(--bg-secondary);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-sm);cursor:pointer;transition:all .2s}.episode-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.episode-card:focus{outline:2px solid var(--primary-color);outline-offset:2px}.episode-card-thumbnail{height:150px;display:flex;align-items:center;justify-content:center;position:relative}.episode-card-code{font-size:32px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.episode-card-content{padding:16px}.episode-card-title{font-size:16px;font-weight:600;margin-bottom:8px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.episode-card-logline{font-size:14px;color:var(--text-secondary);line-height:1.4;margin-bottom:12px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.episode-card-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px}.episode-card-status{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;color:#fff}.episode-card-runtime{font-size:12px;color:var(--text-tertiary)}.episode-card-characters{display:flex;flex-wrap:wrap;gap:4px}.episode-card-character{padding:2px 8px;background:var(--bg-tertiary);border-radius:12px;font-size:11px;color:var(--text-secondary)}.episode-card-character-more{padding:2px 8px;background:var(--primary-color);color:#fff;border-radius:12px;font-size:11px;font-weight:600}.episode-list{background:var(--bg-secondary);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-sm)}.episode-table{width:100%;border-collapse:collapse}.episode-table thead{background:var(--bg-tertiary)}.episode-table th{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.episode-table td{padding:12px 16px;border-top:1px solid var(--border-color);font-size:14px}.episode-row{cursor:pointer;transition:background .15s}.episode-row:hover{background:var(--bg-tertiary)}.episode-code{font-weight:600;color:var(--primary-color)}.episode-name{font-weight:500}.episode-logline{color:var(--text-secondary)}.panel-overlay{position:fixed;inset:0;background:var(--modal-overlay);z-index:999}.detail-panel{position:fixed;top:0;right:-500px;width:500px;height:100vh;background:var(--bg-secondary);box-shadow:-4px 0 12px #0003;z-index:1000;display:flex;flex-direction:column;transition:right .3s ease}.detail-panel-open{right:0}.detail-panel-header{padding:20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:flex-start}.detail-panel-subtitle{font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.detail-panel-title{font-size:20px;font-weight:700;color:var(--text-primary);margin:0}.detail-panel-close{background:none;border:none;font-size:24px;color:var(--text-tertiary);cursor:pointer;padding:0;width:32px;height:32px;border-radius:4px;transition:all .2s}.detail-panel-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.detail-panel-content{flex:1;overflow-y:auto;padding:20px}.detail-panel-actions{padding:20px;border-top:1px solid var(--border-color);display:flex;gap:12px}.detail-section{margin-bottom:20px}.detail-section-title{font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.detail-section p{color:var(--text-primary);line-height:1.6}.detail-text-preserve{white-space:pre-wrap;word-wrap:break-word}.story-thread{margin-bottom:12px;line-height:1.6}.story-thread strong{color:var(--text-secondary)}.character-chips{display:flex;flex-wrap:wrap;gap:8px}.character-chip{padding:6px 12px;background:var(--bg-tertiary);border-radius:16px;font-size:13px;color:var(--text-primary);font-weight:500}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-item{font-size:14px;line-height:1.6}.detail-item strong{color:var(--text-secondary)}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.tag{padding:4px 10px;background:var(--primary-color);color:#fff;border-radius:12px;font-size:12px;font-weight:500}.arc-list-container{margin-top:20px}.arc-list-header{margin-bottom:16px}.arc-list-count{font-size:14px;font-weight:600;color:var(--text-secondary)}.arc-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.arc-list-loading{padding:40px;text-align:center;color:var(--text-secondary)}.arc-card{border:0;background:var(--bg-secondary);border-radius:8px;box-shadow:var(--shadow-sm);cursor:pointer;transition:all .2s;overflow:hidden;display:flex;flex-direction:column;width:100%;text-align:left;font:inherit;color:inherit}.arc-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.arc-card-header{padding:15px 20px 5px;display:flex;justify-content:space-between;align-items:center}.arc-card-content{padding:5px 20px 20px}.arc-card:focus{outline:2px solid var(--primary-color);outline-offset:2px}.arc-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.arc-card-character{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.arc-card-type{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;color:#fff;text-transform:none;letter-spacing:0}.arc-card-content{margin-bottom:12px}.arc-state,.arc-conflict{font-size:14px;line-height:1.5;margin-bottom:8px;color:var(--text-primary)}.arc-state strong,.arc-conflict strong{color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.arc-card-theme{font-size:13px;color:var(--text-tertiary);font-style:italic;padding-top:12px;border-top:1px solid var(--border-color)}.fab{position:fixed;bottom:30px;right:30px;width:60px;height:60px;border-radius:50%;font-size:24px;box-shadow:0 4px 12px #0003;z-index:100}.fab:hover{transform:scale(1.05)}.intensity-badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;display:inline-block}.breadcrumbs{margin-bottom:16px}.breadcrumbs-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.breadcrumb-item{display:flex;align-items:center;gap:8px}.breadcrumb-link{color:var(--primary-color);text-decoration:none;font-size:14px}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-text{font-size:14px;color:var(--text-secondary)}.breadcrumb-text.current{color:var(--text-primary);font-weight:600}.breadcrumb-separator{color:var(--text-tertiary);font-size:12px}@media(max-width:768px){.tab-navigation-desktop{display:none}.tab-navigation-mobile{display:block}.episode-grid,.arc-list{grid-template-columns:1fr}.detail-panel{width:100%;right:-100%}.fab{bottom:20px;right:20px;width:56px;height:56px;font-size:20px}.season-navigator{flex-direction:column;align-items:flex-start}.season-meta{margin-left:0}.detail-grid{grid-template-columns:1fr}}.image-upload-zone.aspect-portrait{aspect-ratio:9 / 16;max-width:100%;margin:0 auto}.image-upload-zone.aspect-landscape{aspect-ratio:16 / 9;max-width:600px;margin:0 auto}.image-upload-zone.aspect-square{aspect-ratio:1 / 1;max-width:100%;margin:0 auto;padding:10px!important;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden}.image-upload-zone.aspect-square .upload-hint,.image-upload-zone.aspect-square .aspect-hint,.image-upload-zone.aspect-square .upload-divider{margin-top:2px;margin-bottom:2px;line-height:1.1;font-size:.8em}.image-upload-zone.aspect-square .btn-sm{padding:2px 6px;font-size:.8em}.image-upload-zone.aspect-square svg{width:24px;height:24px;margin-bottom:2px}.image-preview .preview-portrait{object-fit:cover;aspect-ratio:9 / 16}.image-preview .preview-landscape{object-fit:cover;aspect-ratio:16 / 9}.image-preview .preview-square{object-fit:cover;aspect-ratio:1 / 1}.aspect-hint{font-size:11px;color:var(--primary-color);font-weight:600;margin-top:5px}.crop-modal{max-width:90vw;max-height:90vh;width:auto;display:flex;flex-direction:column}.crop-modal-body{flex:1;overflow:auto;padding:20px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-tertiary)}.crop-modal .ReactCrop{max-width:100%;max-height:70vh}.crop-modal .ReactCrop__crop-selection{border:2px solid var(--primary-color);box-shadow:0 0 0 9999em #00000080}.crop-modal .ReactCrop__drag-handle{width:12px;height:12px;background-color:var(--primary-color);border:2px solid white}@media(max-width:768px){.image-upload-zone.aspect-portrait{max-width:200px}.image-upload-zone.aspect-landscape{max-width:100%}.crop-modal{max-width:95vw}.crop-modal-body{padding:10px}}:root[data-theme=light] ::-webkit-scrollbar{width:12px;height:12px}:root[data-theme=light] ::-webkit-scrollbar-track{background:#f1f1f1;border-radius:6px}:root[data-theme=light] ::-webkit-scrollbar-thumb{background:#888;border-radius:6px}:root[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#555}:root[data-theme=dark] ::-webkit-scrollbar{width:12px;height:12px}:root[data-theme=dark] ::-webkit-scrollbar-track{background:#2d2d2d;border-radius:6px}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:#6a6a6a;border-radius:6px}:root[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#888}:root[data-theme=light] *{scrollbar-width:thin;scrollbar-color:#888 #f1f1f1}:root[data-theme=dark] *{scrollbar-width:thin;scrollbar-color:#6a6a6a #2d2d2d}.ai-field-wrapper{position:relative;display:block}.ai-field-wrapper--active .ai-control-buttons{opacity:1;pointer-events:auto}.ai-field-input{width:100%}.ai-control-buttons{position:absolute;bottom:.5rem;right:.5rem;display:flex;gap:.35rem;opacity:0;pointer-events:none;transition:opacity .2s ease}.ai-undo-group{display:flex;gap:.25rem;align-items:center}.btn-icon{padding:.2rem .35rem;min-width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;transition:background .2s ease,border-color .2s ease;font-size:.9rem;line-height:1}.btn-icon:hover{background:var(--bg-secondary);border-color:var(--primary-color)}.btn-icon:disabled{opacity:1;cursor:default;color:var(--text-tertiary);border-color:var(--border-color)}.btn-ai{font-size:.78rem;padding:.25rem .5rem;border-radius:999px;background:#1d4ed8;color:#fff;border:none;cursor:pointer}.btn-ai:disabled{opacity:.6;cursor:not-allowed}.ai-status{margin-top:.4rem;font-size:.85rem;color:#1d4ed8}.ai-error{margin-top:.4rem;padding:.5rem .75rem;background:#fee2e2;border:1px solid #f87171;border-radius:4px;font-size:.85rem;position:relative}.ai-error .error-close{background:none;border:none;font-size:1rem;position:absolute;top:.2rem;right:.3rem;cursor:pointer}.ai-hint{margin-top:.25rem;font-size:.8rem;color:#6b7280}.ai-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.ai-option-card{border:1px solid #e5e7eb;border-radius:8px;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.ai-option-header{display:flex;align-items:center;gap:.5rem}.option-rank{font-weight:600;color:#1d4ed8}.ai-option-text{white-space:pre-wrap;font-size:.9rem;color:#111827}.ai-option-note{font-size:.8rem;color:#6b7280}:root[data-theme=dark] .ai-option-card{background-color:#1f2937;border-color:#374151;box-shadow:0 6px 18px #00000059}:root[data-theme=dark] .ai-option-card h4,:root[data-theme=dark] .ai-option-card p,:root[data-theme=dark] .ai-option-text{color:#f3f4f6}:root[data-theme=dark] .ai-option-note{color:#d1d5db}:root[data-theme=dark] .option-rank{color:#93c5fd}.metadata-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.log-block{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;padding:1rem;overflow-x:auto;white-space:pre-wrap;font-family:Roboto Mono,Consolas,monospace;font-size:.9rem}:root[data-theme=dark] .log-block{background-color:#111827;border-color:#1f2937}.ai-status-indicator{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:999px;background-color:#111827d9;color:#f9fafb;box-shadow:0 10px 25px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;transform:translateY(10px);z-index:1000}:root[data-theme=light] .ai-status-indicator{background-color:#fffffff2;color:#111827;box-shadow:0 10px 25px #0f172a33}.editor-close-btn{position:sticky;top:1rem;float:right;margin-top:-3rem;margin-right:-1rem;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;cursor:pointer;z-index:100;box-shadow:0 2px 4px #0000001a;transition:all .2s ease}.editor-close-btn:hover{background:var(--bg-hover);color:var(--text-primary);transform:scale(1.1)}.editor-close-btn{position:sticky;top:0;float:right;margin-top:-20px;margin-right:-20px;background:none;border:none;font-size:28px;line-height:1;color:var(--text-secondary);cursor:pointer;z-index:100;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.editor-close-btn:hover{background-color:var(--bg-tertiary);color:var(--danger-color)}.ai-status-indicator.show{opacity:1;pointer-events:auto;transform:translateY(0)}.ai-status-spinner{width:28px;height:28px;border-radius:50%;border:3px solid rgba(255,255,255,.2);border-top-color:#60a5fa;animation:spin 1s linear infinite}:root[data-theme=light] .ai-status-spinner{border:3px solid rgba(15,23,42,.2);border-top-color:#2563eb}.ai-status-text{display:flex;flex-direction:column;font-size:.9rem}.ai-status-text strong{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;opacity:.7}.ai-status-history{margin-left:1rem;font-size:.75rem;max-width:260px;opacity:.8}.ai-status-history p{margin:0;line-height:1.3}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.review-rating{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.rating-badge{padding:.35rem .8rem;border-radius:999px;background:#10b981;color:#fff;font-weight:600}.creativity-score{font-weight:600;color:#1f2937}.review-section{margin-bottom:1rem}.review-section ul{margin:.5rem 0 0;padding-left:1.2rem}.entity-form{position:relative}@media(max-width:768px){.container{padding:10px;width:100%;max-width:100%}.page-header{flex-direction:column;align-items:flex-start;gap:15px}.header-actions{width:100%}.header-actions .btn{flex:1;justify-content:center}.grid,.grid-2,.grid-3{grid-template-columns:1fr!important}.modal{width:95%!important;max-height:calc(var(--modal-visual-viewport-height, 100dvh) - 20px);padding:20px}}img{max-width:100%;height:auto;object-fit:cover}@media screen and (max-width:768px){input,select,textarea{font-size:16px!important}}.nav{background-color:var(--nav-bg);color:var(--nav-text);padding:10px 0;box-shadow:0 2px 4px #0000001a}.nav-container{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;max-width:1200px;margin:0 auto;padding:10px 20px;gap:4px 16px}.nav-header-mobile{display:flex;align-items:center;flex-shrink:0;grid-row:1;grid-column:1}.hamburger-menu{display:none;width:44px;height:44px;flex:0 0 44px;border:0;border-radius:6px;background:transparent;color:var(--nav-text);cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:0}.hamburger-menu span{display:block;width:24px;height:2px;border-radius:999px;background:currentColor;transition:transform .2s ease,opacity .2s ease}.hamburger-menu.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger-menu.open span:nth-child(2){opacity:0}.hamburger-menu.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-content{display:contents}.nav-mobile-backdrop{display:none}.nav-selectors-section{grid-row:1;grid-column:2}.nav-primary-section{grid-row:2;grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;width:100%}.nav-selectors-section{display:flex;align-items:center;justify-content:flex-start;gap:10px 14px;flex-wrap:nowrap;min-width:0;overflow-x:visible}.selector-group{display:flex;align-items:center;gap:10px;min-width:0}.selector-group label{white-space:nowrap;margin-bottom:0;font-size:14px;color:var(--nav-text)}.project-selector-dropdown{box-sizing:border-box;min-width:0;width:clamp(120px,16vw,220px);max-width:100%;padding:6px 12px;font-size:14px;overflow:hidden;text-overflow:ellipsis}.episodic-selectors{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:nowrap}.project-selector-dropdown--project{width:clamp(190px,24vw,330px)}.project-selector-dropdown--season{width:clamp(92px,8vw,124px)}.project-selector-dropdown--episode{width:clamp(150px,17vw,240px)}.nav-label-short{display:none}@media(min-width:769px)and (max-width:1180px){.nav-container{gap:6px 12px}.nav-selectors-section{gap:8px 12px}.selector-group{gap:6px}.selector-group label{font-size:12px}.project-selector-dropdown{width:clamp(106px,14vw,172px);padding-inline:8px 28px}.project-selector-dropdown--project{width:clamp(168px,23vw,280px)}.project-selector-dropdown--season{width:92px}.project-selector-dropdown--episode{width:clamp(132px,16vw,210px)}}@media(min-width:769px)and (max-width:1040px){.selector-group--season .nav-label-full{display:none}.selector-group--season .nav-label-short{display:inline}}.nav-links{display:flex;align-items:center;gap:20px;list-style:none;margin:0;padding:0}.nav-user-label{display:none}@media(max-width:768px){.nav{padding:0;margin-bottom:20px}.nav-container{display:flex;flex-direction:column;padding:0 15px;max-width:none;gap:0}.nav-header-mobile{position:relative;z-index:1002;width:100%;justify-content:space-between;padding:8px 0}.hamburger-menu{display:inline-flex}.nav-content{position:fixed;top:0;bottom:0;left:0;z-index:1001;display:flex;flex-direction:column;width:min(360px,calc(100vw - 32px));max-width:92vw;margin-left:0;padding:72px 16px 20px;gap:20px;overflow-y:auto;background-color:var(--nav-bg);box-shadow:12px 0 32px #00000059;transform:translate(-105%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .2s ease,opacity .2s ease,visibility .2s ease;-webkit-overflow-scrolling:touch}.nav-content.open{transform:translate(0);opacity:1;visibility:visible;pointer-events:auto;animation:none}.nav-mobile-backdrop{display:block;position:fixed;inset:0;z-index:1000;border:0;padding:0;background:#00000073;cursor:default}.nav-primary-section,.nav-selectors-section{flex-direction:column;width:100%;align-items:stretch}.nav-selectors-section{gap:15px;align-items:flex-start;overflow-x:visible;flex-wrap:wrap}.nav-links{flex-direction:column;align-items:flex-start;width:100%;gap:0}.nav-links li{width:100%;border-bottom:1px solid rgba(255,255,255,.1)}.nav-links a{display:flex;align-items:center;width:100%;min-height:44px;padding:10px 0}.selector-group,.episodic-selectors{width:100%;display:flex;flex-direction:column;gap:5px;align-items:flex-start}.episodic-selectors{align-items:stretch!important}.project-selector-dropdown{width:100%;max-width:100%;min-width:0;padding-right:40px;text-overflow:ellipsis}.character-image{width:225px!important;height:400px!important;margin:0 auto 15px!important;padding-bottom:0!important;position:relative!important;overflow:hidden!important;border-radius:4px}.character-image img{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:top center!important}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){body.nav-menu-open{overflow:hidden;touch-action:none}.nav{position:sticky;top:0;z-index:900;margin-bottom:16px}body.nav-menu-open .nav{z-index:1200}.nav-container{padding:0 16px}.nav-header-mobile{min-height:64px;padding:10px 0}.nav-brand-logo{max-width:min(42vw,150px);height:auto}.nav-content{right:0;width:100vw;max-width:none;padding:calc(74px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom));gap:18px;box-shadow:none}.nav-mobile-backdrop{background:var(--nav-bg)}.nav-selectors-section{gap:12px;padding:0 0 16px;border-bottom:1px solid var(--border-color)}.selector-group label{font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase;color:var(--text-tertiary)}.project-selector-dropdown{min-height:46px;border-radius:8px;font-size:1rem;width:100%;max-width:100%}.nav-primary-section{min-height:0}.nav-links{gap:0}.nav-links li{border-bottom:1px solid var(--border-color)}.nav-links a{min-height:48px;padding:12px 0;font-size:1rem;font-weight:500}.nav-links a.active:after{display:none}.nav-user-section{width:100%;justify-content:space-between;flex-wrap:wrap;padding:12px;margin:8px 0 0;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary)}.nav-user-label{display:block;flex:1 1 100%;min-width:0;color:var(--text-secondary);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-user-section>button{min-height:44px;flex:1 1 auto;justify-content:center}}.btn-sm{padding:5px 10px;font-size:12px}.btn-xs{padding:2px 6px;font-size:11px}.btn-outline-secondary{background-color:transparent;border:1px solid var(--secondary-color);color:var(--secondary-color)}.btn-outline-secondary:hover{background-color:var(--secondary-color);color:#fff}.btn-outline-danger{background-color:transparent;border:1px solid var(--danger-color);color:var(--danger-color)}.btn-outline-danger:hover{background-color:var(--danger-color);color:#fff}:root[data-theme=dark] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not(.form-control),:root[data-theme=dark] textarea:not(.form-control),:root[data-theme=dark] select:not(.form-control){background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;padding:8px 10px;font-family:inherit;font-size:14px}:root[data-theme=dark] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not(.form-control):focus,:root[data-theme=dark] textarea:not(.form-control):focus,:root[data-theme=dark] select:not(.form-control):focus{outline:none;border-color:var(--primary-color)}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not(.form-control),textarea:not(.form-control),select:not(.form-control){font-family:inherit;font-size:14px}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 30px var(--bg-secondary) inset!important;-webkit-text-fill-color:var(--text-primary)!important;caret-color:var(--text-primary);transition:background-color 5000s ease-in-out 0s}.editor-close-btn{position:sticky;top:10px;float:right;z-index:1000;background:transparent;border:1px solid var(--border-color, #cbd5e1);border-radius:50%;font-size:1.5rem;line-height:1;color:var(--text-color, #64748b);cursor:pointer;padding:.25rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;margin-top:-.5rem;margin-right:-.5rem;transition:all .2s ease}.editor-close-btn:hover{color:var(--primary-color, #2563eb);border-color:var(--primary-color, #2563eb);background-color:var(--item-bg-hover, rgba(0, 0, 0, .05));box-shadow:0 0 0 2px #2563eb33}.entity-form{position:relative;display:block}.mention-capsule{background-color:#3b82f626;border:1px solid rgba(59,130,246,.4);border-radius:12px;padding:1px 6px;color:#2563eb;font-weight:500;display:inline-block;line-height:normal;font-size:.95em;margin:0 1px}.admin-summaries{display:flex;flex-direction:column;gap:16px}.admin-summaries-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px}.admin-summaries-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.admin-summaries-controls label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--text-muted, #888)}.admin-summaries-controls select,.admin-summaries-controls input{padding:6px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#0003;color:inherit}.admin-summary-card{border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:14px;background:#0003}.admin-summary-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.admin-summary-section h4{margin:8px 0 4px}.admin-summaries-empty,.admin-summaries-error,.admin-summaries-loading{color:var(--text-muted, #888)}.admin-summaries-footer{font-size:.85rem}.admin-tools-toggle{display:flex;align-items:center}.admin-toggle-label{display:flex;align-items:center;gap:8px;font-size:.85rem;cursor:pointer}.admin-toggle-label input{accent-color:#66d9ff}.form-field-label{font-size:.8rem;font-weight:500;color:var(--text-secondary, #666);margin-bottom:-.25rem}.character-form--tabbed{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:calc(90vh - 60px);max-height:calc(90vh - 60px)}.modal:has(.character-form--tabbed){position:relative;overflow:hidden;display:flex;flex-direction:column}.character-form--tabbed>.editor-close-btn{position:absolute;top:0;right:0;float:none;margin:0;z-index:5;background:var(--bg-secondary);border:1px solid var(--border-color)}.entity-form-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-color);margin:0;padding:0 48px 0 0;flex:0 0 auto;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;background:var(--bg-secondary);z-index:2}.entity-form-tab{padding:.5rem 1rem;border:none;background:none;border-bottom:2px solid transparent;cursor:pointer;font-weight:400;color:inherit;font-size:.95rem;white-space:nowrap;flex:0 0 auto}.entity-form-tab:hover:not(:disabled){background:var(--bg-tertiary, #eee);border-radius:6px 6px 0 0}.entity-form-tab.active{border-bottom-color:var(--accent-color, var(--primary-color, #3b82f6));font-weight:600;color:var(--primary-color, #2563eb)}.entity-form-tab-error{color:var(--danger-color, #c00);font-weight:700}.entity-form-tab-panel{flex:1 1 auto;overflow-y:auto;padding:1.25rem 0 1rem;min-height:0}.character-form--tabbed>.button-group{flex:0 0 auto;margin-top:1rem}.identikit-container{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:12px;align-items:start;margin-bottom:20px}.identikit-main,.identikit-details,.identikit-slot{min-width:0}.identikit-details{display:flex;flex-direction:column;gap:15px;border:1px solid var(--border-color);border-radius:8px;padding:8px;background-color:var(--bg-secondary)}.identikit-title{display:block;margin-bottom:5px;color:var(--text-secondary);font-weight:600;text-align:center}@media(max-width:900px){.identikit-container{display:flex;flex-direction:column;gap:14px}.identikit-main,.identikit-details{width:100%}.identikit-details{padding:10px}.identikit-main .image-upload-zone.aspect-portrait,.identikit-slot .image-upload-zone.aspect-square{width:100%;max-width:100%}.identikit-slot .image-upload-zone.aspect-square .btn-sm,.image-upload-zone.aspect-square .btn-sm{width:min(100%,260px);min-height:44px;padding:10px 14px;font-size:.95rem;display:inline-flex;align-items:center;justify-content:center}.identikit-slot .image-upload-zone.aspect-square .btn-sm+.btn-sm,.image-upload-zone.aspect-square .btn-sm+.btn-sm{margin-left:0!important;margin-top:8px}.identikit-main .image-placeholder,.identikit-slot .image-placeholder{min-width:0;width:100%;padding:0 8px}.identikit-main .image-placeholder p,.identikit-slot .image-placeholder p{max-width:100%;overflow-wrap:anywhere}}@media(max-width:640px){.modal:has(.character-form--tabbed){width:calc(100vw - 16px);max-height:calc(var(--modal-visual-viewport-height, 100dvh) - 24px);padding:18px}.character-form--tabbed{height:calc(var(--modal-visual-viewport-height, 100dvh) - 72px);max-height:calc(var(--modal-visual-viewport-height, 100dvh) - 72px)}.entity-form-tabs{padding-right:44px}.entity-form-tab{min-height:44px;padding:.5rem .75rem}.entity-form-tab-panel{padding-top:1rem}.character-identikit-section{padding:12px}}.character-editor-modal{position:relative}@media(max-width:640px){.modal-overlay:has(.character-editor-modal){align-items:stretch;padding:8px}.character-editor-modal{width:calc(100vw - 16px)!important;max-width:none!important;height:calc(var(--modal-visual-viewport-height, 100dvh) - 16px);max-height:calc(var(--modal-visual-viewport-height, 100dvh) - 16px);display:flex;flex-direction:column;overflow:hidden;border-radius:8px;padding:16px}.character-editor-modal .modal-header{flex:0 0 auto;margin-bottom:12px;padding-right:52px}.character-editor-modal .modal-header h2{margin:0;font-size:clamp(1.35rem,7vw,1.85rem);line-height:1.12}.character-editor-modal .modal-close{top:12px;right:12px}.character-editor-modal .character-form--tabbed{flex:1 1 auto;height:auto;max-height:none;min-height:0}.character-editor-modal .entity-form-tabs{margin-right:-16px;margin-left:-16px;padding:0 16px}.character-editor-modal .entity-form-tab{font-size:.95rem;padding:.5rem .85rem}.character-editor-modal .entity-form-tab-panel{padding-top:.75rem}.character-editor-modal .form-actions{margin-right:-16px;margin-bottom:-16px;margin-left:-16px;padding:12px 16px calc(16px + env(safe-area-inset-bottom))}.character-editor-modal .form-actions .btn{width:100%;min-height:46px}}@media(max-width:900px),(pointer:coarse)and (max-width:1024px){.character-editor-modal .identikit-container{display:flex!important;flex-direction:column!important;gap:16px}.character-editor-modal .identikit-main,.character-editor-modal .identikit-details,.character-editor-modal .identikit-slot{width:100%;max-width:100%}.character-editor-modal .identikit-main .image-upload-zone.aspect-portrait{width:min(72vw,240px);max-width:240px;margin-right:auto;margin-left:auto}.character-editor-modal .identikit-slot .image-upload-zone.aspect-square{width:min(100%,280px);max-width:280px;margin-right:auto;margin-left:auto}.character-editor-modal .identikit-title{font-size:1rem;line-height:1.25}}@media(max-width:768px),(hover:none)and (pointer:coarse){.image-upload-zone:not(.has-image){border:2px dashed var(--border-color);border-radius:8px;min-height:240px;height:auto;overflow:visible}.image-upload-zone.aspect-portrait:not(.has-image),.image-upload-zone.aspect-landscape:not(.has-image),.image-upload-zone.aspect-square:not(.has-image){aspect-ratio:auto;width:100%;max-width:100%;padding:18px!important}.image-upload-zone:not(.has-image) .image-placeholder{width:100%;min-width:0}.image-upload-zone:not(.has-image) .image-placeholder .btn-sm{display:inline-flex;width:min(100%,300px);min-height:44px;align-items:center;justify-content:center;margin-left:0!important;padding:10px 14px;white-space:normal}.image-upload-zone:not(.has-image) .image-placeholder .btn-sm+.btn-sm{margin-top:8px}.image-upload-zone.has-image{flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:0;padding:8px!important;border:1px solid var(--border-color);background:var(--bg-tertiary);cursor:default;overflow:visible}.image-upload-zone.has-image .image-preview{order:2;height:auto;min-height:0;background:var(--bg-tertiary)}.image-upload-zone.aspect-portrait.has-image .image-preview{aspect-ratio:9 / 16}.image-upload-zone.aspect-square.has-image .image-preview{aspect-ratio:1 / 1}.image-upload-zone.aspect-landscape.has-image .image-preview{aspect-ratio:16 / 9}.image-upload-zone.has-image .image-preview img,.image-preview .preview-portrait,.image-preview .preview-landscape,.image-preview .preview-square{object-fit:contain}.image-upload-zone.has-image .image-overlay{display:none}.image-touch-actions{display:grid;order:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;padding-bottom:10px}.image-touch-actions .btn{min-width:0;width:100%;min-height:44px;padding:9px 10px;justify-content:center}.character-editor-modal .identikit-main .image-upload-zone.aspect-portrait.has-image .image-preview,.character-editor-modal .identikit-slot .image-upload-zone.aspect-square.has-image .image-preview{max-height:none}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px;border:1px dashed var(--border-color);border-radius:12px;background:var(--bg-secondary);color:var(--text-secondary)}.empty-state__icon{font-size:2rem;margin-bottom:12px;opacity:.6}.empty-state__title{margin:0 0 8px;font-size:1.15rem;color:var(--text-primary)}.empty-state__body{margin:0;max-width:480px;line-height:1.5}.empty-state__actions{margin-top:20px;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.avatar-menu{position:relative}.avatar-menu-trigger{cursor:pointer;border:none;padding:0}.avatar-menu-panel{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-md);z-index:100;display:flex;flex-direction:column;overflow:hidden}.avatar-menu-header{padding:12px 14px;border-bottom:1px solid var(--border-color)}.avatar-menu-name{font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-menu-balance{margin-top:4px;display:flex;align-items:baseline;gap:6px}.avatar-menu-balance-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.avatar-menu-balance-value{font-weight:600}.avatar-menu-balance-sub{color:var(--text-secondary);font-size:.85em}.avatar-menu-item{display:block;padding:10px 14px;text-align:left;text-decoration:none;color:var(--text-primary);background:transparent;border:none;cursor:pointer;font-size:.95rem;width:100%}.avatar-menu-item:hover{background:var(--bg-tertiary)}.avatar-menu-item--danger{color:var(--danger-color);border-top:1px solid var(--border-color)}.avatar-menu-item--danger:hover{background:var(--bg-tertiary);color:var(--danger-color)}@media(max-width:768px){.nav-user-section .avatar-menu{margin-left:auto}.nav-user-section .avatar-menu .avatar-menu-panel{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));left:16px;top:auto;z-index:1302;min-width:0;max-height:min(70vh,420px);overflow-y:auto}.nav-user-section .avatar-menu .avatar-menu-item{min-height:44px;display:flex;align-items:center}}.field-error{margin:4px 0 0;font-size:.85rem;color:var(--danger-color, #c00)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger-color, #c00)}.cascading-trigger[aria-invalid=true]{border-color:var(--danger-color, #c00)!important}.account-settings-tab-button:not(:disabled):hover{background:var(--bg-tertiary, #eee);border-radius:6px 6px 0 0}.account-settings-tab-button:disabled{cursor:not-allowed;opacity:.4;pointer-events:none}.project-card-delete{background:transparent;border:none;color:var(--text-secondary);font-size:.85rem;padding:4px 8px;cursor:pointer;opacity:0;transition:opacity .15s,color .15s}.card:hover .project-card-delete,.project-card-delete:focus,.project-card-delete:hover{opacity:1;color:var(--danger-color, #c00)}.ai-status-indicator{position:fixed;right:24px;bottom:24px;z-index:1100;display:flex;flex-direction:column;align-items:flex-end;gap:8px;width:min(420px,calc(100vw - 32px));max-width:calc(100vw - 32px);padding:0;background:transparent;color:var(--text-primary);box-shadow:none;opacity:1;pointer-events:auto;transform:none;-webkit-backdrop-filter:none;backdrop-filter:none}.ai-status-trigger{min-height:44px;display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--shadow-md);cursor:pointer}.ai-status-trigger:hover,.ai-status-trigger:focus-visible{border-color:var(--primary-color)}.ai-status-trigger--busy{border-color:var(--primary-color)}.ai-status-trigger__text{display:flex;flex-direction:column;align-items:flex-start;gap:1px;font-size:.85rem;line-height:1.2}.ai-status-trigger__text strong{font-size:.75rem;letter-spacing:0;text-transform:uppercase;color:var(--text-secondary)}.ai-status-trigger__text span{color:var(--text-primary)}.ai-status-spinner{width:18px;height:18px;flex:0 0 18px;border-radius:50%;border:2px solid var(--border-color);border-top-color:var(--primary-color);animation:spin 1s linear infinite}:root[data-theme=light] .ai-status-spinner{border:2px solid var(--border-color);border-top-color:var(--primary-color)}.ai-job-drawer{width:100%;max-height:min(70vh,540px);display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);box-shadow:var(--shadow-md);overflow:hidden}.ai-job-drawer__header{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.ai-job-drawer__header h2{margin:0;font-size:1rem;color:var(--text-primary)}.ai-job-drawer__header p{margin:2px 0 0;font-size:.82rem;color:var(--text-secondary)}.ai-job-drawer__close{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;font-size:1.15rem;line-height:1}.ai-job-drawer__close:hover,.ai-job-drawer__close:focus-visible{color:var(--danger-color);border-color:var(--danger-color)}.ai-job-list{overflow-y:auto;max-height:360px}.ai-job-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-color)}.ai-job-row:last-child{border-bottom:none}.ai-job-row__body{min-width:0}.ai-job-row__title{font-size:.9rem;line-height:1.35;color:var(--text-primary);overflow-wrap:anywhere}.ai-job-row__error{margin-top:4px;font-size:.78rem;line-height:1.3;color:var(--danger-color);overflow-wrap:anywhere}.ai-job-row__meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px;font-size:.75rem;color:var(--text-secondary)}.ai-job-status{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border:1px solid var(--border-color);border-radius:999px;background:var(--bg-primary);color:var(--text-secondary);font-size:.72rem;line-height:1.2;text-transform:lowercase}.ai-job-status--queued,.ai-job-status--running{border-color:var(--primary-color);color:var(--primary-color)}.ai-job-status--completed{border-color:var(--success-text);color:var(--success-text)}.ai-job-status--failed{border-color:var(--danger-color);color:var(--danger-color)}.ai-job-status--cancelled{border-color:var(--text-tertiary);color:var(--text-secondary)}.ai-job-row__actions{display:flex;align-items:flex-start;gap:8px}.ai-job-action{min-height:32px;padding:6px 10px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-size:.8rem;font-weight:600}.ai-job-action:hover:not(:disabled),.ai-job-action:focus-visible:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.ai-job-action:disabled{cursor:not-allowed;opacity:.5}.ai-job-action--cancel:hover,.ai-job-action--cancel:focus-visible{border-color:var(--danger-color);color:var(--danger-color)}.ai-job-drawer__empty{padding:18px 16px;color:var(--text-secondary);font-size:.9rem}.ai-job-drawer__footer{display:flex;justify-content:flex-end;padding:10px 16px;border-top:1px solid var(--border-color);background:var(--bg-primary)}.ai-status-history{margin:0;padding:10px 16px;border-top:1px solid var(--border-color);background:var(--bg-primary);font-size:.75rem;color:var(--text-secondary);opacity:1;max-width:none}.ai-status-history p{margin:0 0 4px;line-height:1.35;overflow-wrap:anywhere}.ai-status-history p:last-child{margin-bottom:0}@media(max-width:640px){.ai-status-indicator{left:12px;right:12px;bottom:12px;width:auto;max-width:none;align-items:stretch}.ai-status-trigger{width:100%;justify-content:flex-start}.ai-job-row{grid-template-columns:1fr}.ai-job-row__actions{justify-content:flex-end}}.page-header--list{align-items:center;margin-bottom:20px}.page-title-filter-row{display:flex;align-items:center;gap:20px;min-width:0;flex-wrap:wrap}.page-title-filter-row h1,.page-header--list h1{margin-bottom:0}.filters--inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap;min-width:0}.filters--inline .form-control{width:auto;min-width:150px}.filters--inline .character-search-input{min-width:240px}.collapsible-section{margin-bottom:20px}.collapsible-section__heading{margin:0}.section-header{width:100%;display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 0;border:0;border-bottom:1px solid var(--border-color);background:transparent;color:var(--text-primary);text-align:left;font:inherit}.section-header--open{margin-bottom:15px}.section-header:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px}.collapsible-section__caret{display:inline-flex;flex:0 0 auto;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid currentColor;transition:transform .2s ease}.section-header--open .collapsible-section__caret{transform:rotate(90deg)}.collapsible-section__title{font-size:1.1rem;font-weight:600}.collapsible-section__count{margin-left:0;font-size:.8rem}.modal,.modal *{box-sizing:border-box}.modal-header h2,.modal-header h3{min-width:0;overflow-wrap:anywhere}@media(max-width:768px){.page-header--list{align-items:stretch}.page-title-filter-row{width:100%;flex-direction:column;align-items:stretch;gap:12px}.filters--inline{width:100%;flex-direction:column;align-items:stretch}.filters--inline .form-control,.filters--inline .character-search-input{width:100%;min-width:0}.page-header--list>.btn,.page-header--list .header-actions,.page-header--list .header-actions .btn{width:100%}.modal-overlay{top:var(--modal-visual-viewport-offset-top, 0);bottom:auto;min-height:0;height:var(--modal-visual-viewport-height, 100dvh);align-items:flex-start;padding:10px 10px calc(10px + env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain}.modal,.modal-content{width:100%!important;max-width:none!important;max-height:calc(var(--modal-visual-viewport-height, 100dvh) - 20px);padding:18px}.modal-header{align-items:flex-start;padding-right:44px;gap:12px}.modal-close,.editor-close-btn{min-width:44px;min-height:44px}.form-section{padding:14px;margin-bottom:18px}.modal .button-group,.entity-form>.button-group,.modal-footer,.modal-actions{display:flex;flex-wrap:wrap;gap:10px}.modal .button-group .btn,.entity-form>.button-group .btn,.modal-footer .btn,.modal-actions .btn{flex:1 1 140px;min-height:44px;justify-content:center}.form-draft-recovery,.form-actions{align-items:stretch;flex-direction:column}.form-draft-actions{width:100%}.form-draft-actions .btn{flex:1 1 120px;min-height:44px;justify-content:center}.form-actions .form-save-status{width:100%;margin-right:0;min-width:0}.modal .button-group.form-actions .btn,.entity-form>.button-group.form-actions .btn,.form-actions .btn{flex:0 0 auto;width:100%;min-height:44px}.entity-form>.button-group.form-actions{margin-right:-18px;margin-bottom:-18px;margin-left:-18px;padding:12px 18px calc(18px + env(safe-area-inset-bottom))}.entity-form>.button-group.form-actions.entity-form-actions{margin:0 -18px 18px;padding:12px 18px}.entity-form>.button-group.form-actions:after{content:"";position:absolute;top:100%;right:0;left:0;height:56px;background:var(--bg-secondary)}.entity-form>.button-group.form-actions.entity-form-actions:after{content:none}.modal .form-row{flex-direction:column!important;align-items:stretch!important}.modal .form-row>.form-group{width:100%}.modal input,.modal textarea,.modal select,.modal [contenteditable=true]{scroll-margin-top:72px;scroll-margin-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.ai-control-buttons{position:static;flex-wrap:wrap;margin-top:8px;opacity:1;pointer-events:auto}.ai-field-wrapper--active .ai-control-buttons{display:flex}.ai-control-buttons .btn-ai{min-height:36px}.ai-undo-group{flex:0 0 auto}.scene-card{flex-direction:column}.scene-card .scene-image{width:100%;max-width:none;min-height:0;aspect-ratio:16 / 9;border-right:0;border-bottom:1px solid var(--border-color)}.scene-card-compact-thumbnail{width:100%;flex:0 0 auto;min-height:0;aspect-ratio:16 / 9;border-right:0;border-bottom:1px solid var(--border-color)}.scene-card--compact{flex-direction:row;align-items:flex-start;gap:10px;padding:10px}.scene-card--compact .scene-card-compact-thumbnail{width:clamp(64px,22vw,84px);height:clamp(64px,22vw,84px);flex-basis:clamp(64px,22vw,84px);aspect-ratio:1;align-self:flex-start;border:1px solid var(--border-color);border-radius:6px}.scene-card--compact .scene-content-wrapper{min-width:0;width:auto}.scene-card--compact .scene-card-header{min-height:0;padding:0 0 8px;border-bottom:1px solid var(--border-color);background:transparent;align-items:center;flex-wrap:nowrap}.scene-card--compact .scene-badges{width:auto;flex:0 0 auto;flex-basis:auto;margin-left:6px}.scene-card--compact .scene-card-compact-body{padding:8px 0}.scene-card--compact .scene-card-actions{flex-direction:row;gap:8px;padding:8px 0 0;border-top:1px solid var(--border-color);background:transparent}.scene-card--compact .scene-card-actions .btn{flex:1 1 0;width:auto}.scene-density-toggle{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.scene-density-toggle .btn{width:100%;min-width:0}.scene-content-wrapper{min-height:0}.scene-card-header{min-height:44px;height:auto;flex-direction:row;align-items:flex-start;gap:10px}.scene-slug-line{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}.scene-badges{width:100%;flex-basis:100%}.scene-metadata{grid-template-columns:1fr;gap:10px}.scene-card-actions{flex-direction:column;align-items:stretch}.scene-card-actions-left{width:100%;margin-right:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.scene-card-actions .btn{width:100%;min-height:40px;white-space:normal}.page-header--beats{align-items:stretch}.beats-header-actions{width:100%;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important;align-items:stretch!important}.beats-view-toggle{grid-column:1 / -1;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.beats-view-toggle .btn,.beats-header-actions>.btn{width:100%;min-height:54px;margin-left:0;white-space:normal}.beats-add-act-button{margin-left:0}.beats-toolbar-spacer{display:none!important}.beats-danger-action{grid-column:1 / -1;margin-left:0;padding:10px 16px;border:1px solid var(--danger-color);justify-content:center}.character-card .character-image{width:min(190px,68vw)!important;height:auto!important;aspect-ratio:9 / 16}.character-card-content{padding:16px}}@media(max-width:480px){.scene-card-actions-left{grid-template-columns:1fr}.character-card-content,.card{min-width:0}.character-card-content .button-group,.prop-card-content .button-group,.location-card .button-group{flex-direction:column}.character-card-content .button-group .btn,.prop-card-content .button-group .btn,.location-card .button-group .btn{width:100%;min-height:44px}}@media(max-width:768px),(hover:none){.project-card-delete{opacity:1;min-height:44px;display:inline-flex;align-items:center;justify-content:center}}@media(max-width:768px){.project-card-actions{flex-wrap:wrap}.project-card-actions .btn{min-height:44px}.episode-list,.mobile-table-scroll,.card:has(>.table){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.episode-table,.mobile-table-scroll table,.card>.table{min-width:680px}.credits-redeem-row{flex-direction:column;align-items:stretch}.credits-redeem-row .btn{width:100%;min-height:44px}.account-coupon-form-grid{grid-template-columns:1fr!important}.account-coupon-form-grid input,.account-coupon-form-grid .btn{grid-column:auto!important;width:100%;min-height:44px}.account-settings-tab-button{min-height:44px;flex:1 1 44%}.season-section-header,.season-section-title-row,.season-section-actions{flex-direction:column!important;align-items:stretch!important}.season-section-image{width:100%!important;height:auto!important;aspect-ratio:16 / 9}.season-section-actions .btn{width:100%;min-height:44px}.map-lab-container{padding:10px!important}.map-lab-controls,.map-lab-results{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:16px!important}.map-lab-controls .btn{width:100%;min-height:44px}.map-lab-grid-frame{width:100%!important;max-width:min(100%,480px)}.debug-panel pre{white-space:pre-wrap;overflow-wrap:anywhere}.video-scene-card{overflow-x:auto;-webkit-overflow-scrolling:touch}.video-scene-card__header,.video-scene-card__actions{flex-direction:column!important;align-items:stretch!important;gap:12px!important}.video-scene-card__actions .btn,.video-tab>.card .btn{width:100%;min-height:44px}.video-shot-table{min-width:680px}}@media(max-width:768px){.character-card,.location-card,.prop-card{padding:12px;margin-bottom:12px}.character-card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;align-items:start}.character-card .character-image{width:100%!important;max-width:96px!important;height:auto!important;aspect-ratio:3 / 4;margin:0!important;border-radius:6px}.character-card .character-image img,.character-card .character-card-preview-image{object-position:top center}.character-image-placeholder svg{width:18px;height:18px;margin-bottom:3px}.character-image-placeholder p,.location-image-placeholder p,.prop-image-placeholder p{margin:0;font-size:11px}.character-card-content{min-width:0;padding:0;gap:4px}.character-card-content h3{margin-bottom:4px;font-size:1rem;line-height:1.15}.character-card-content .entity-scene-usage,.prop-card-content .entity-scene-usage,.location-card .entity-scene-usage{gap:2px;margin-top:4px}.character-card-content .entity-scene-usage__button,.prop-card-content .entity-scene-usage__button,.location-card .entity-scene-usage__button{padding:3px 6px;font-size:11px}.character-card-content .entity-scene-usage__names,.prop-card-content .entity-scene-usage__names,.location-card .entity-scene-usage__names{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:1.2}.character-card-content .button-group,.prop-card-content .button-group,.location-card .button-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.character-card-content .button-group .btn,.prop-card-content .button-group .btn,.location-card .button-group .btn{width:auto;min-height:34px;padding:6px 8px}.location-card .location-image,.prop-card .prop-image{max-width:100%;max-height:150px;margin-bottom:12px}.location-card .location-image-placeholder,.prop-card .prop-image-placeholder{min-height:112px}}@media(max-width:768px){:where(button,.btn:not(.btn-link),[role=button],.modal-close,.editor-close-btn,.hamburger-menu,.nav-avatar,.avatar-menu-trigger,.avatar-menu-item,.tab,.account-settings-tab-button,.entity-form-tab,.entity-scene-usage__button,.project-card-delete,.beats-add-act-button){min-width:44px;min-height:44px}:where(select,.form-control,.project-selector-dropdown,.tab-select){min-height:44px}}
