:root{--bg-base:#0a0c10;--bg-deep:#06080c;--bg-elevated:#14161b;--bg-panel:#0a0c10e0;--bg-input:#0006;--bg-hover:#ffffff0a;--bg-selected:#7ac4e61f;--border-subtle:#ffffff0f;--border-normal:#ffffff1a;--border-strong:#ffffff2e;--border-focus:#7ac4e680;--text-primary:#e8eaed;--text-secondary:#9ba1ac;--text-dim:#5c6370;--text-faint:#363a42;--accent:#7ac4e6;--accent-dim:#4e8ba6;--accent-glow:#7ac4e659;--accent-soft:#7ac4e614;--axis-x:#e66b6b;--axis-y:#6be686;--axis-z:#6b9fe6;--success:#52c78e;--warning:#e8b974;--danger:#ef4444;--danger-bg:#ef44441a;--danger-border:#ef44444d;--font-mono:"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--font-sans:"Inter", -apple-system, system-ui, sans-serif;--fs-xxs:8px;--fs-xs:9px;--fs-sm:10px;--fs-body:12px;--fs-md:13px;--fs-lg:15px;--fs-xl:18px;--fs-2xl:24px;--fs-3xl:32px;--fs-display:48px;--ls-tight:-.01em;--ls-normal:0;--ls-wide:.1em;--ls-wider:.15em;--ls-widest:.25em;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--blur-panel:blur(22px) saturate(120%);--shadow-panel:inset 0 1px 0 #ffffff14, 0 4px 20px #0009;--shadow-soft:0 2px 8px #00000080;--shadow-lift:0 8px 32px #000000b3;--radius-sm:2px;--radius-md:3px;--radius-lg:4px;--transition-fast:.12s;--transition-med:.18s;--transition-slow:.28s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-base);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-body);font-feature-settings:"cv02","cv03","cv04","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;overflow:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 30% 20%,#7ac4e608 0%,#0000 50%),radial-gradient(at 70% 80%,#7ac4e605 0%,#0000 50%);position:fixed;inset:0}#app{z-index:1;width:100vw;height:100vh;position:relative}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none;outline:none}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath fill='%239BA1AC' d='M1.5 3L4 5.5 6.5 3z'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding-right:24px}a{color:var(--accent);text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff29}.panel{background:var(--bg-panel);-webkit-backdrop-filter:var(--blur-panel);border:1px solid var(--border-normal);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);padding:var(--sp-4)}.label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--text-dim);font-weight:500}.label-accent{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--accent);font-weight:600}.btn{justify-content:center;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);font-family:var(--font-sans);font-size:var(--fs-body);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);font-weight:500;display:inline-flex}.btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-normal)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.35;cursor:not-allowed}.btn-primary{background:var(--accent-soft);border-color:var(--accent-dim);color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-glow);border-color:var(--accent)}.btn-danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.btn-danger:hover:not(:disabled){background:#ef444433;border-color:#ef444480}.btn-sm{font-size:var(--fs-sm);letter-spacing:var(--ls-wide);padding:5px 10px}.btn-tiny{font-size:var(--fs-xs);letter-spacing:var(--ls-wide);text-transform:uppercase;padding:4px 8px;font-weight:600}.input,.select,.textarea{width:100%;padding:var(--sp-2) var(--sp-3);font-family:var(--font-sans);font-size:var(--fs-md);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color var(--transition-fast), background var(--transition-fast)}.input:hover,.select:hover,.textarea:hover{border-color:var(--border-normal)}.input:focus,.select:focus,.textarea:focus{border-color:var(--border-focus);background:var(--accent-soft)}.input-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.textarea{resize:vertical;min-height:80px;line-height:1.6}.divider{background:var(--border-subtle);height:1px;margin:var(--sp-4) 0}.auth-gate{background:var(--bg-base);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-cover{width:100%;max-width:440px;padding:var(--sp-12) var(--sp-8);background:var(--bg-panel);-webkit-backdrop-filter:var(--blur-panel);border:1px solid var(--border-normal);border-radius:var(--radius-lg);box-shadow:var(--shadow-lift)}.auth-masthead{text-align:center;margin-bottom:var(--sp-10)}.masthead-issue{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-widest);color:var(--text-dim);margin-bottom:var(--sp-4)}.masthead-title{font-family:var(--font-sans);font-weight:300;font-size:var(--fs-3xl);letter-spacing:var(--ls-tight);color:var(--text-primary);margin-bottom:var(--sp-3)}.masthead-byline{font-size:var(--fs-body);color:var(--text-secondary);line-height:1.4}.auth-form{gap:var(--sp-3);flex-direction:column;display:flex}.form-label-sm{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--accent);font-weight:600}#auth-input{padding:var(--sp-3) var(--sp-4);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-md);color:var(--text-primary);transition:border-color var(--transition-fast);outline:none}#auth-input:focus{border-color:var(--border-focus);background:var(--accent-soft)}#auth-submit{padding:var(--sp-3) var(--sp-4);background:var(--accent-soft);border:1px solid var(--accent-dim);border-radius:var(--radius-sm);color:var(--accent);transition:all var(--transition-fast);justify-content:space-between;align-items:center;font-weight:500;display:flex}#auth-submit:hover{background:var(--accent-glow);border-color:var(--accent)}.submit-label{letter-spacing:var(--ls-wide);text-transform:uppercase;font-size:var(--fs-sm)}.submit-arrow{font-size:var(--fs-lg)}.auth-error{font-size:var(--fs-sm);color:var(--danger);text-align:center;min-height:18px}.auth-footnote{text-align:center;margin-top:var(--sp-6);font-size:var(--fs-xs);color:var(--text-dim);letter-spacing:var(--ls-wide)}.kbd{font-family:var(--font-mono);font-size:var(--fs-xs);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);margin:0 2px;padding:1px 5px;display:inline-block}.admin-shell{background:var(--bg-base);position:fixed;inset:0}#route-view{width:100%;height:100%;position:absolute;inset:0}#route-view>*{width:100%;height:100%}.landing{width:100%;height:100%;padding:var(--sp-12) var(--sp-8);flex-direction:column;align-items:center;display:flex;overflow-y:auto}.landing-header{width:100%;max-width:960px;margin-bottom:var(--sp-12);text-align:center}.landing-kicker{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-widest);color:var(--accent);margin-bottom:var(--sp-4);text-transform:uppercase;font-weight:600}.landing-title{font-size:var(--fs-display);letter-spacing:var(--ls-tight);color:var(--text-primary);margin-bottom:var(--sp-4);font-weight:200}.landing-subtitle{font-size:var(--fs-lg);color:var(--text-secondary);max-width:540px;margin:0 auto;font-weight:300;line-height:1.5}.landing-demos-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));width:100%;max-width:1200px;display:grid}.demo-card{padding:var(--sp-6);background:var(--bg-panel);-webkit-backdrop-filter:var(--blur-panel);border:1px solid var(--border-normal);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-med);text-align:left;flex-direction:column;justify-content:space-between;min-height:200px;display:flex;position:relative;overflow:hidden}.demo-card:hover{border-color:var(--accent-dim);box-shadow:var(--shadow-lift);transform:translateY(-2px)}.demo-card-mark{font-family:var(--font-sans);color:var(--accent);letter-spacing:var(--ls-tight);margin-bottom:var(--sp-4);font-size:56px;font-weight:300;line-height:1}.demo-card-kicker{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-widest);color:var(--text-dim);text-transform:uppercase;margin-bottom:var(--sp-2)}.demo-card-name{font-size:var(--fs-xl);color:var(--text-primary);margin-bottom:var(--sp-3);font-weight:500}.demo-card-lede{font-size:var(--fs-body);color:var(--text-secondary);line-height:1.5}.demo-card-footer{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--border-subtle);font-size:var(--fs-xs);color:var(--text-dim);font-family:var(--font-mono);letter-spacing:var(--ls-wide);justify-content:space-between;align-items:center;display:flex}.demo-card-arrow{color:var(--accent);font-size:var(--fs-lg)}.demo-card.new-demo{min-height:200px;color:var(--text-dim);text-align:center;border-style:dashed;flex-direction:column;justify-content:center;align-items:center;display:flex}.demo-card.new-demo:hover{color:var(--accent)}.new-demo-icon{margin-bottom:var(--sp-3);font-size:40px;font-weight:200}.new-demo-label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-widest);text-transform:uppercase}.workspace-shell{grid-template-columns:240px 1fr;width:100%;min-width:0;height:100%;min-height:0;display:grid}.masthead-bar{background:var(--bg-deep);border-right:1px solid var(--border-subtle);padding:var(--sp-4);flex-direction:column;display:flex;overflow-y:auto}.masthead-back{align-items:center;gap:var(--sp-2);padding:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--text-dim);cursor:pointer;transition:color var(--transition-fast);margin-bottom:var(--sp-6);display:flex}.masthead-back:hover{color:var(--accent)}.masthead-demo-kicker{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-widest);color:var(--accent);text-transform:uppercase;margin-bottom:var(--sp-2);padding:0 var(--sp-2)}.masthead-demo-title{font-size:var(--fs-xl);color:var(--text-primary);margin-bottom:var(--sp-8);padding:0 var(--sp-2);font-weight:400;line-height:1.2}.masthead-sections{flex-direction:column;flex:1;gap:2px;display:flex}.section-nav-label{font-family:var(--font-mono);font-size:var(--fs-xxs);letter-spacing:var(--ls-widest);color:var(--text-faint);text-transform:uppercase;padding:var(--sp-2)}.section-nav-item{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);text-align:left;font-size:var(--fs-body);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;display:flex}.section-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.section-nav-item.active{background:var(--bg-selected);color:var(--accent);border-color:var(--accent-dim)}.section-nav-num{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-wide);color:var(--text-faint);min-width:20px}.section-nav-item.active .section-nav-num{color:var(--accent)}.masthead-footer{padding-top:var(--sp-4);border-top:1px solid var(--border-subtle)}.connection-status{align-items:center;gap:var(--sp-2);padding:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-wider);color:var(--text-dim);display:flex}.connection-dot{background:var(--text-faint);width:6px;height:6px;transition:background var(--transition-med);border-radius:50%}.connection-status.connected .connection-dot{background:var(--success);box-shadow:0 0 8px #52c78e80}.workspace-canvas{background:var(--bg-base);min-width:0;min-height:0;position:relative;overflow:hidden}.canvas-inner{width:100%;height:100%;position:relative;overflow:auto}.canvas-inner .scene-builder{width:100%;height:100%;position:absolute;inset:0}.section-view{padding:var(--sp-8);max-width:1200px;margin:0 auto}.section-view-header{margin-bottom:var(--sp-8);padding-bottom:var(--sp-4);border-bottom:1px solid var(--border-subtle)}.section-view-kicker{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-widest);color:var(--accent);text-transform:uppercase;margin-bottom:var(--sp-2)}.section-view-title{font-size:var(--fs-2xl);color:var(--text-primary);margin-bottom:var(--sp-2);letter-spacing:var(--ls-tight);font-weight:400}.section-view-subtitle{font-size:var(--fs-body);color:var(--text-secondary)}.card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--sp-4);margin-bottom:var(--sp-3)}.card-title{font-size:var(--fs-md);color:var(--text-primary);margin-bottom:var(--sp-2);font-weight:500}.card-meta{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-wide);color:var(--text-dim);text-transform:uppercase}.form-row{gap:var(--sp-3);margin-bottom:var(--sp-3);align-items:center;display:flex}.form-field{gap:var(--sp-2);flex-direction:column;flex:1;display:flex}.form-label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--text-secondary);font-weight:500}.form-hint{font-size:var(--fs-xs);color:var(--text-dim);margin-top:2px}.empty-state{text-align:center;padding:var(--sp-10);color:var(--text-dim);font-size:var(--fs-body)}.beat-card{margin-bottom:var(--sp-4);padding:var(--sp-4);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.beat-card-header{margin-bottom:var(--sp-3);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;display:flex}.beat-card-num{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-widest);color:var(--accent);margin-bottom:var(--sp-1);text-transform:uppercase;font-weight:600}.beat-card-role{font-size:var(--fs-md);color:var(--text-primary);margin-bottom:var(--sp-1);font-weight:500}.beat-card-facts{font-size:var(--fs-xs);color:var(--text-dim);font-family:var(--font-mono);letter-spacing:var(--ls-wide)}.variant-list{gap:var(--sp-2);flex-direction:column;display:flex}.variant-item{padding:var(--sp-3);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:var(--fs-body);color:var(--text-secondary);line-height:1.6}.variant-item-header{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.variant-item-num{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-wider);color:var(--text-dim);text-transform:uppercase}.variant-item-actions{gap:var(--sp-2);display:flex}.toast-stack{top:var(--sp-4);right:var(--sp-4);gap:var(--sp-2);z-index:200;flex-direction:column;display:flex;position:fixed}.toast{padding:var(--sp-3) var(--sp-4);background:var(--bg-panel);-webkit-backdrop-filter:var(--blur-panel);border:1px solid var(--border-normal);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);font-size:var(--fs-body);color:var(--text-primary);min-width:220px;max-width:360px;animation:.2s ease-out toast-in}.toast-success{border-left:3px solid var(--success)}.toast-error{border-left:3px solid var(--danger)}.toast-info{border-left:3px solid var(--accent)}.toast-warning{border-left:3px solid var(--warning)}@keyframes toast-in{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.modal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:150;background:#000000b3;justify-content:center;align-items:center;animation:.18s fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:480px;padding:var(--sp-6);background:var(--bg-elevated);border:1px solid var(--border-normal);border-radius:var(--radius-lg);box-shadow:var(--shadow-lift)}.modal-title{font-size:var(--fs-xl);color:var(--text-primary);margin-bottom:var(--sp-2);font-weight:500}.modal-subtitle{font-size:var(--fs-body);color:var(--text-secondary);margin-bottom:var(--sp-6)}.modal-body{gap:var(--sp-3);margin-bottom:var(--sp-6);flex-direction:column;display:flex}.modal-footer{justify-content:flex-end;gap:var(--sp-2);display:flex}.scene-builder{width:100%;height:100%;position:relative;overflow:hidden}.viewport-canvas{width:100%;height:100%;position:absolute;inset:0}.viewport-canvas canvas{display:block}.sb-hud{z-index:10;pointer-events:none;position:absolute}.sb-hud>*{pointer-events:auto}.sb-beat-selector{top:var(--sp-4);left:calc(var(--sidebar-width,280px) + var(--sp-4));z-index:10;width:240px;transition:left .22s cubic-bezier(.4,0,.2,1);position:absolute}.sb-beat-selector-label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-widest);color:var(--accent);text-transform:uppercase;margin-bottom:var(--sp-2);font-weight:600}.sb-beat-selector select{width:100%;padding:var(--sp-2) var(--sp-3);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--fs-body);color:var(--text-primary)}.sb-beat-selector select:hover{border-color:var(--border-normal)}.sb-stats{top:var(--sp-4);right:var(--sp-4);padding:var(--sp-2) var(--sp-3);z-index:10;position:absolute}.sb-stats-row{gap:var(--sp-4);display:flex}.sb-stat{flex-direction:column;gap:2px;min-width:52px;display:flex}.sb-stat-label{font-family:var(--font-mono);font-size:var(--fs-xxs);letter-spacing:var(--ls-widest);color:var(--text-dim);text-transform:uppercase}.sb-stat-value{font-family:var(--font-mono);font-size:var(--fs-md);color:var(--accent);font-variant-numeric:tabular-nums;font-weight:500}.sb-lighting-panel{top:120px;left:var(--sp-4);z-index:10;width:320px;max-height:400px;position:absolute;overflow-y:auto}.sb-lighting-title{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:var(--ls-widest);color:var(--accent);text-transform:uppercase;margin-bottom:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--border-subtle);font-weight:600}.sb-lighting-row{align-items:center;gap:var(--sp-2);padding:var(--sp-1) 0;display:flex}.sb-lighting-label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--text-secondary);min-width:56px;font-weight:500}.sb-lighting-slider{appearance:none;cursor:pointer;background:#ffffff1a;border-radius:1px;outline:none;flex:1;height:2px;padding:0}.sb-lighting-slider::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;width:12px;height:12px;box-shadow:0 0 8px var(--accent-glow);transition:transform var(--transition-fast);border-radius:50%}.sb-lighting-slider::-webkit-slider-thumb:hover{transform:scale(1.25)}.sb-lighting-slider::-moz-range-thumb{background:var(--accent);cursor:pointer;width:12px;height:12px;box-shadow:0 0 8px var(--accent-glow);border:none;border-radius:50%}.sb-lighting-value{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-primary);text-align:right;font-variant-numeric:tabular-nums;text-overflow:clip;min-width:36px;max-width:44px;overflow:hidden}.sb-lighting-section-title{font-family:var(--font-mono);font-size:var(--fs-xxs);letter-spacing:var(--ls-widest);color:var(--text-dim);text-transform:uppercase;margin:var(--sp-3) 0 var(--sp-1);font-weight:600}.sb-lighting-presets{gap:var(--sp-1);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#0000004d;padding:2px;display:flex}.sb-preset-btn{font-family:var(--font-mono);font-size:var(--fs-xxs);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text-dim);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:1px;flex:1;padding:5px 6px;font-weight:600}.sb-preset-btn:hover{color:var(--text-secondary)}.sb-preset-btn.active{background:var(--accent-soft);color:var(--accent)}.sb-panel-collapse{color:var(--text-dim);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:2px 6px;font-size:11px;position:absolute;top:10px;right:10px}.sb-panel-collapse:hover{color:var(--accent)}.sb-lighting-panel.collapsed .sb-lighting-content{display:none}.sb-lighting-panel.collapsed{width:auto}.sb-lib-trigger{bottom:var(--sp-4);z-index:11;background:var(--bg-panel);-webkit-backdrop-filter:var(--blur-panel);border:1px solid var(--accent-dim);border-radius:var(--radius-md);color:var(--accent);font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:var(--ls-widest);text-transform:uppercase;cursor:pointer;box-shadow:var(--shadow-panel);transition:all var(--transition-fast);padding:12px 22px;font-weight:600;position:absolute;left:50%;transform:translate(-50%)}.sb-lib-trigger:hover,.sb-lib-trigger.open{background:var(--accent-soft);border-color:var(--accent);color:var(--text-primary)}.sb-lib-popover{z-index:12;background:var(--bg-panel);width:520px;max-width:calc(100vw - 32px);max-height:420px;-webkit-backdrop-filter:var(--blur-panel);border:1px solid var(--border-normal);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);animation:.14s ease-out sb-lib-fade-in;position:absolute;bottom:64px;left:50%;overflow-y:auto;transform:translate(-50%)}.sb-lib-popover[hidden]{display:none!important}@keyframes sb-lib-fade-in{0%{opacity:0;transform:translate(-50%)translateY(6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.sb-lib-popover-inner{padding:var(--sp-3)}.sb-lib-category-head{font-family:var(--font-mono);font-size:var(--fs-xxs);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--text-dim);margin:var(--sp-2) 0 var(--sp-2);border-bottom:1px solid var(--border-subtle);padding-bottom:4px;font-weight:600}.sb-lib-category-head:first-child{margin-top:0}.sb-lib-grid{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(72px,1fr));display:grid}.sb-lib-item{aspect-ratio:1;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 4px;display:flex}.sb-lib-item:hover{background:var(--accent-soft);border-color:var(--accent-dim);color:var(--text-primary);transform:translateY(-1px)}.sb-lib-item:active{transform:translateY(0)}.sb-lib-item-icon{color:var(--text-primary);font-size:20px;line-height:1}.sb-lib-item-label{font-family:var(--font-mono);letter-spacing:var(--ls-wide);text-transform:uppercase;font-size:9px;font-weight:500}.sb-inspector-section-title{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.sb-inspector-section-title:after{content:"▾";color:var(--text-dim);transition:transform var(--transition-fast);font-size:9px}.sb-inspector-section.collapsed .sb-inspector-section-title:after{transform:rotate(-90deg)}.sb-inspector-section.collapsed>:not(.sb-inspector-section-title){display:none}.sb-transform-toolbar{z-index:60;background:var(--bg-panel);-webkit-backdrop-filter:var(--blur-panel);border:1px solid var(--border-normal);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);gap:2px;padding:3px;transition:bottom .35s cubic-bezier(.32,.72,.24,1.04);display:none;position:fixed;bottom:50px;left:50%;transform:translate(-50%)}body:has(.sb-deck:not(.collapsed)) .sb-transform-toolbar{bottom:296px}.sb-transform-toolbar.visible{display:flex}.sb-tf-btn{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;width:42px;height:34px;color:var(--text-secondary);transition:all var(--transition-fast);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.sb-tf-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sb-tf-btn.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-dim)}.sb-tf-btn-icon{font-size:12px;line-height:1}.sb-tf-btn-label{font-family:var(--font-mono);letter-spacing:var(--ls-wide);text-transform:uppercase;font-size:7px;font-weight:600}.sb-tf-divider{background:var(--border-subtle);width:1px;margin:3px 2px}.sb-inspector,.sb-inspector.visible{display:none!important}.sb-inspector-inner{padding:var(--sp-4);background:var(--bg-panel);-webkit-backdrop-filter:var(--blur-panel);border:1px solid var(--border-normal);border-radius:var(--radius-md);box-shadow:var(--shadow-panel)}.sb-inspector-header{padding-bottom:var(--sp-2);margin-bottom:var(--sp-3);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.sb-inspector-title{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:var(--ls-widest);color:var(--accent);text-transform:uppercase;font-weight:600}.sb-inspector-close{color:var(--text-dim);cursor:pointer;font-size:var(--fs-body);background:0 0;border:none;padding:2px 6px}.sb-inspector-close:hover{color:var(--text-primary)}.sb-inspector-section{margin-bottom:var(--sp-3)}.sb-inspector-section:last-child{margin-bottom:0}.sb-inspector-section-title{font-family:var(--font-mono);font-size:var(--fs-xxs);letter-spacing:var(--ls-widest);color:var(--text-dim);text-transform:uppercase;margin-bottom:var(--sp-2);font-weight:600}.sb-inspector-name{font-size:var(--fs-md);color:var(--text-primary);margin-bottom:2px;font-weight:500}.sb-inspector-type{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-dim);letter-spacing:var(--ls-wide);text-transform:uppercase}.sb-vec3-row{gap:var(--sp-1);margin-bottom:var(--sp-1);display:flex}.sb-vec3-input{flex:1;position:relative}.sb-vec3-label{font-family:var(--font-mono);font-size:var(--fs-xxs);letter-spacing:var(--ls-wider);text-transform:uppercase;pointer-events:none;font-weight:700;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.sb-vec3-input.axis-x .sb-vec3-label{color:var(--axis-x)}.sb-vec3-input.axis-y .sb-vec3-label{color:var(--axis-y)}.sb-vec3-input.axis-z .sb-vec3-label{color:var(--axis-z)}.sb-vec3-field{width:100%;font-family:var(--font-mono);font-size:var(--fs-sm);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-variant-numeric:tabular-nums;outline:none;padding:5px 4px 5px 18px}.sb-vec3-field:hover{border-color:var(--border-normal)}.sb-vec3-field:focus{border-color:var(--border-focus);background:var(--accent-soft)}.sb-color-row{gap:var(--sp-2);align-items:center;display:flex}.sb-color-picker{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;background:0 0;width:36px;height:26px;padding:2px}.sb-material-select{font-family:var(--font-sans);font-size:var(--fs-sm);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;flex:1;padding:5px 8px}.sb-object-list{z-index:10;width:240px;max-height:220px;display:none;position:absolute;bottom:104px;right:56px;overflow-y:auto}.sb-object-list.visible{display:block}.sb-object-list.collapsed{max-height:44px;overflow:hidden}.sb-object-list-header{cursor:pointer;-webkit-user-select:none;user-select:none}.sb-object-list-header:after{content:"▾";float:right;color:var(--text-dim);transition:transform var(--transition-fast);font-size:10px}.sb-object-list.collapsed .sb-object-list-header:after{transform:rotate(-90deg)}.sb-object-list-inner{padding:var(--sp-3);background:var(--bg-panel);-webkit-backdrop-filter:var(--blur-panel);border:1px solid var(--border-normal);border-radius:var(--radius-md);box-shadow:var(--shadow-panel)}.sb-object-list-header{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:var(--ls-widest);color:var(--accent);text-transform:uppercase;margin-bottom:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--border-subtle);font-weight:600}.sb-object-list-count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-dim);margin-left:var(--sp-2);letter-spacing:var(--ls-wide)}.sb-obj-list-item{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);font-size:var(--fs-sm);color:var(--text-secondary);display:flex}.sb-obj-list-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sb-obj-list-item.selected{background:var(--bg-selected);color:var(--accent)}.sb-obj-list-icon{font-size:var(--fs-md);text-align:center;width:18px}.sb-obj-list-name{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.05em;flex:1}.sb-undo-redo{right:var(--sp-4);z-index:60;background:var(--bg-panel);-webkit-backdrop-filter:var(--blur-panel);border:1px solid var(--border-normal);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);gap:2px;padding:3px;transition:bottom .35s cubic-bezier(.32,.72,.24,1.04);display:flex;position:fixed;bottom:50px}body:has(.sb-deck:not(.collapsed)) .sb-undo-redo{bottom:296px}.sb-ur-btn{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;width:32px;height:26px;color:var(--text-secondary);font-size:var(--fs-md);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.sb-ur-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.sb-ur-btn:disabled{opacity:.3;cursor:not-allowed}.sb-save-status{z-index:60;padding:var(--sp-2) var(--sp-3);background:var(--bg-panel);-webkit-backdrop-filter:var(--blur-panel);border:1px solid var(--border-normal);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-wider);color:var(--text-dim);text-transform:uppercase;align-items:center;gap:var(--sp-2);transition:bottom .35s cubic-bezier(.32,.72,.24,1.04);display:flex;position:fixed;bottom:50px;right:142px}body:has(.sb-deck:not(.collapsed)) .sb-save-status{bottom:296px}.sb-save-dot{background:var(--text-faint);width:6px;height:6px;transition:all var(--transition-med);border-radius:50%}.sb-save-status.saved .sb-save-dot{background:var(--success)}.sb-save-status.saving .sb-save-dot{background:var(--warning);animation:.8s infinite pulse}.sb-save-status.unsaved .sb-save-dot{background:var(--accent)}.sb-save-status.error .sb-save-dot{background:var(--danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.sb-controls-hint{bottom:50px;left:calc(var(--sidebar-width,280px) + var(--sp-4));z-index:9;font-family:var(--font-mono);font-size:var(--fs-xxs);color:var(--text-faint);letter-spacing:var(--ls-wider);text-transform:uppercase;pointer-events:none;opacity:.8;line-height:1.8;transition:left .22s cubic-bezier(.4,0,.2,1);position:absolute}.sb-controls-hint span{color:var(--accent-dim)}.sb-loading{background:var(--bg-base);z-index:100;justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:absolute;inset:0}.sb-loading.hidden{opacity:0;pointer-events:none}.sb-loading-content{text-align:center}.sb-loading-title{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:var(--ls-widest);color:var(--accent);text-transform:uppercase;margin-bottom:var(--sp-3);font-weight:600}.sb-loading-sub{font-size:var(--fs-body);color:var(--text-secondary);margin-bottom:var(--sp-4)}.sb-loading-spinner{border:2px solid #7ac4e626;border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;margin:0 auto;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-head{padding:var(--sp-8) var(--sp-8) var(--sp-4);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--sp-6)}.page-kicker{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-widest);color:var(--accent);text-transform:uppercase;margin-bottom:var(--sp-2);font-weight:600}.page-title{font-size:var(--fs-2xl);color:var(--text-primary);margin-bottom:var(--sp-2);letter-spacing:var(--ls-tight);font-weight:400}.page-lede{font-size:var(--fs-body);color:var(--text-secondary);max-width:680px;margin-bottom:var(--sp-4);line-height:1.6}.page-actions{gap:var(--sp-2);margin-top:var(--sp-4);display:flex}#beats,#voices,#pacing-body,#stats-body,#settings-body{padding:0 var(--sp-8) var(--sp-8)}.beat-spread,.beat-row,.variant-row{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--sp-4);margin-bottom:var(--sp-3)}.beat-spread-head,.beat-row-head{margin-bottom:var(--sp-3);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;display:flex}.beat-num,.beat-kicker{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-widest);color:var(--accent);text-transform:uppercase;margin-bottom:var(--sp-1);font-weight:600}.beat-role,.beat-title{font-size:var(--fs-md);color:var(--text-primary);margin-bottom:var(--sp-1);font-weight:500}.beat-meta,.beat-sub{font-size:var(--fs-xs);color:var(--text-dim);font-family:var(--font-mono);letter-spacing:var(--ls-wide)}.beat-actions,.row-actions{gap:var(--sp-2);display:flex}.variant,.variant-card{padding:var(--sp-3);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:var(--sp-2);position:relative}.variant-head,.variant-row{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.variant-label,.variant-num{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-wider);color:var(--text-dim);text-transform:uppercase}.variant-text,.variant-body{font-size:var(--fs-body);color:var(--text-secondary);white-space:pre-wrap;line-height:1.6}.variant-actions,.variant-btns{gap:var(--sp-1);display:flex}.variant-actions button,.variant-btns button{font-size:var(--fs-xs);font-family:var(--font-mono);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--text-dim);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:3px 8px}.variant-actions button:hover,.variant-btns button:hover{color:var(--accent);border-color:var(--accent-dim)}.variant.pinned{border-color:var(--accent-dim);background:var(--accent-soft)}.progress-log{margin:0 var(--sp-8) var(--sp-4);padding:var(--sp-4);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-secondary);max-height:160px;line-height:1.6;overflow-y:auto}.cfg-row,.settings-row,.form-row-legacy{gap:var(--sp-4);padding:var(--sp-3) 0;border-bottom:1px solid var(--border-subtle);grid-template-columns:200px 1fr;align-items:center;display:grid}.cfg-label,.settings-label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--text-secondary);font-weight:500}.cfg-value,.settings-value{color:var(--text-primary)}.cfg-hint,.settings-hint{font-size:var(--fs-xs);color:var(--text-dim);margin-top:2px}input[type=text],input[type=password],input[type=number],input[type=email],textarea,select{padding:var(--sp-2) var(--sp-3);font-family:var(--font-sans);font-size:var(--fs-md);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color var(--transition-fast), background var(--transition-fast)}input[type=text]:hover,input[type=password]:hover,input[type=number]:hover,textarea:hover,select:hover{border-color:var(--border-normal)}input[type=text]:focus,input[type=password]:focus,input[type=number]:focus,textarea:focus,select:focus{border-color:var(--border-focus);background:var(--accent-soft)}textarea{resize:vertical;width:100%;min-height:100px;line-height:1.6}input[type=number]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;width:100px}button.btn-sm,button.small-btn{font-size:var(--fs-sm);letter-spacing:var(--ls-wide);text-transform:uppercase;padding:5px 10px;font-weight:600}.empty{text-align:center;padding:var(--sp-10);color:var(--text-dim)}.empty-title{font-size:var(--fs-md);color:var(--text-secondary);margin-bottom:var(--sp-2)}.empty-hint{font-size:var(--fs-sm)}.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:150;background:#000000b3;justify-content:center;align-items:center;animation:.18s fade-in;display:flex;position:fixed;inset:0}.modal-container{width:100%;max-width:520px;padding:var(--sp-6);background:var(--bg-elevated);border:1px solid var(--border-normal);border-radius:var(--radius-lg);box-shadow:var(--shadow-lift)}.modal-header{margin-bottom:var(--sp-4);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--fs-xl);color:var(--text-primary);font-weight:500}.modal-close{color:var(--text-dim);cursor:pointer;font-size:var(--fs-xl);transition:color var(--transition-fast);background:0 0;border:none;padding:4px 10px}.modal-close:hover{color:var(--text-primary)}.modal-body{padding-top:var(--sp-2)}.wizard-step{gap:var(--sp-3);flex-direction:column;display:flex}.wizard-step-label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-widest);color:var(--accent);text-transform:uppercase;margin-bottom:var(--sp-3);font-weight:600}.form-group{gap:var(--sp-2);margin-bottom:var(--sp-3);flex-direction:column;display:flex}.form-group label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--text-secondary);font-weight:500}.form-group input,.form-group textarea,.form-group select{padding:var(--sp-2) var(--sp-3);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-md)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--border-focus);background:var(--accent-soft);outline:none}.wizard-actions{justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--border-subtle);display:flex}:root{--ink:var(--bg-base);--ink-card:var(--bg-elevated);--ink-line:var(--border-subtle);--paper:var(--text-primary);--paper-mute:var(--text-faint);--paper-faded:var(--text-dim);--paper-dim:var(--text-secondary);--gold:var(--accent);--mono:var(--font-mono);--serif:var(--font-sans)}#beats{padding:0 var(--sp-8) var(--sp-8)}.beat-feature{gap:var(--sp-6);padding:var(--sp-5);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:var(--sp-3);cursor:pointer;transition:all var(--transition-fast);grid-template-columns:100px 1fr;display:grid}.beat-feature:hover{border-color:var(--border-normal)}.beat-feature.open{border-color:var(--accent-dim)}.beat-figure{padding-top:var(--sp-1);flex-direction:column;justify-content:flex-start;align-items:flex-start;display:flex}.beat-number{font-family:var(--font-sans);color:var(--accent);letter-spacing:var(--ls-tight);font-size:42px;font-weight:200;line-height:1}.beat-number-small{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-widest);color:var(--text-dim);text-transform:uppercase;margin-top:var(--sp-2);font-weight:600}.beat-body{min-width:0}.beat-role{font-size:var(--fs-lg);color:var(--text-primary);margin-bottom:var(--sp-2);letter-spacing:var(--ls-tight);font-weight:500}.beat-kicker{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--text-dim);gap:var(--sp-3);margin-bottom:var(--sp-3);align-items:center;display:flex}.beat-kicker-sep{color:var(--text-faint)}.beat-actions-bar{margin-bottom:var(--sp-4)}.beat-variants{gap:var(--sp-2);padding-top:var(--sp-4);border-top:1px solid var(--border-subtle);flex-direction:column;display:none}.beat-feature.open .beat-variants{display:flex}.variant-article{padding:var(--sp-4);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:border-color var(--transition-fast)}.variant-article:hover{border-color:var(--border-normal)}.variant-article.pinned{border-color:var(--accent-dim);background:var(--accent-soft)}.variant-head{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.variant-label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-widest);color:var(--accent);text-transform:uppercase;font-weight:600}.variant-actions{gap:var(--sp-1);display:flex}.variant-text{font-size:var(--fs-md);color:var(--text-secondary);white-space:pre-wrap;line-height:1.7}.variant-text[contenteditable=true]{outline:1px solid var(--accent-dim);outline-offset:3px;background:var(--accent-soft);color:var(--text-primary);border-radius:2px}.btn-icon{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:30px;height:26px;color:var(--text-dim);cursor:pointer;font-size:var(--fs-md);transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon:hover:not(:disabled){background:var(--bg-hover);color:var(--accent);border-color:var(--accent-dim)}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.btn-icon.btn-danger{color:var(--danger);border-color:var(--danger-border)}.btn-icon.btn-danger:hover{background:var(--danger-bg);border-color:var(--danger)}.log-line{gap:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-wide);padding:2px 0;line-height:1.7;display:flex}.log-status{width:14px;font-weight:700;display:inline-block}.log-ok{color:var(--success)}.log-err{color:var(--danger)}.log-pending{color:var(--accent)}.log-text{color:var(--text-secondary)}.preview-player{margin-top:var(--sp-3);padding:var(--sp-3);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-dim);letter-spacing:var(--ls-wide)}.preview-player.hidden{display:none}.voices-grid{gap:var(--sp-3);padding:0 var(--sp-8) var(--sp-6);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.voice-portrait{padding:var(--sp-5);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-align:center}.voice-portrait-avatar{width:54px;height:54px;margin:0 auto var(--sp-3);background:var(--accent-soft);border:1px solid var(--accent-dim);font-family:var(--font-sans);color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:20px;font-weight:400;display:flex}.voice-portrait-name{font-size:var(--fs-md);color:var(--text-primary);margin-bottom:var(--sp-2);font-weight:500}.voice-portrait-desc{font-size:var(--fs-xs);color:var(--text-secondary);margin-bottom:var(--sp-3);line-height:1.6}.voice-portrait-count{font-family:var(--font-mono);font-size:var(--fs-xxs);letter-spacing:var(--ls-wider);color:var(--accent);text-transform:uppercase;font-weight:600}.section-head{padding:0 var(--sp-8);margin-top:var(--sp-6);margin-bottom:var(--sp-3)}.section-head .section-title{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-widest);color:var(--text-dim);text-transform:uppercase;font-weight:600}.assignments{padding:0 var(--sp-8) var(--sp-8);gap:var(--sp-1);flex-direction:column;display:flex}.assignment-row{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);grid-template-columns:40px 1fr auto auto;align-items:center;display:grid}.assignment-beat{font-family:var(--font-mono);font-size:var(--fs-md);color:var(--accent);font-weight:500}.assignment-role{font-size:var(--fs-body);color:var(--text-secondary)}.assignment-chips{gap:var(--sp-1);display:flex}.assignment-chip{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-wider);text-transform:uppercase;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:5px 10px;font-weight:500}.assignment-chip:hover{color:var(--text-primary);border-color:var(--border-normal)}.assignment-chip.selected{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-dim);font-weight:600}#pacing-list{padding:0 var(--sp-8) var(--sp-8);gap:var(--sp-3);flex-direction:column;display:flex}#pacing-list .form-row{gap:var(--sp-4);padding:var(--sp-4);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);grid-template-columns:260px 1fr;align-items:start;margin-bottom:0;display:grid}#pacing-list .form-label{font-family:var(--font-sans);font-size:var(--fs-md);letter-spacing:var(--ls-tight);text-transform:none;color:var(--text-primary);margin-bottom:var(--sp-1);font-weight:500;line-height:1.3}#pacing-list .form-hint{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-dim);letter-spacing:var(--ls-wide);margin-top:var(--sp-1)}.slider-wrap{align-items:center;gap:var(--sp-3);display:flex}.slider-wrap input[type=range]{appearance:none;cursor:pointer;background:#ffffff1a;border-radius:1px;outline:none;flex:1;height:2px;padding:0}.slider-wrap input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;width:12px;height:12px;box-shadow:0 0 8px var(--accent-glow);transition:transform var(--transition-fast);border-radius:50%}.slider-wrap input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.25)}.slider-wrap input[type=range]::-moz-range-thumb{background:var(--accent);cursor:pointer;width:12px;height:12px;box-shadow:0 0 8px var(--accent-glow);border:none;border-radius:50%}.slider-value{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-primary);text-align:right;font-variant-numeric:tabular-nums;min-width:54px;letter-spacing:var(--ls-wide)}.stats-columns{gap:var(--sp-4);padding:0 var(--sp-8) var(--sp-8);grid-template-columns:1fr 1fr;display:grid}.stats-column-head{margin-bottom:var(--sp-3);padding-bottom:var(--sp-2);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.stats-column-head>span{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-widest);color:var(--accent);text-transform:uppercase;font-weight:600}.stats-column-head .btn-icon{width:24px;height:22px}.single-card{gap:var(--sp-3);padding:var(--sp-3);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:var(--sp-2);grid-template-columns:120px 1fr 28px;align-items:center;display:grid}.single-value{font-family:var(--font-mono);font-size:var(--fs-xl);color:var(--accent);text-align:center;font-variant-numeric:tabular-nums;letter-spacing:var(--ls-tight);font-weight:500}.single-inputs{gap:var(--sp-1);flex-direction:column;display:flex}.single-inputs input{font-family:var(--font-sans);font-size:var(--fs-sm);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);padding:5px 8px}.single-inputs input:first-child{font-family:var(--font-mono);color:var(--accent);font-weight:500}.single-inputs input:last-child{color:var(--text-dim);font-size:var(--fs-xs)}.chart-card{padding:var(--sp-3);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:var(--sp-2)}.chart-title{width:100%;padding:var(--sp-2);font-family:var(--font-sans);font-size:var(--fs-md);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:var(--sp-2);font-weight:500}.chart-meta{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-dim);letter-spacing:var(--ls-wide);margin-bottom:var(--sp-2)}.chart-preview{gap:var(--sp-3);padding:var(--sp-2);background:var(--bg-input);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-xs);flex-wrap:wrap;display:flex}.chart-preview>span{flex-direction:column;gap:2px;display:flex}.chart-dp-label{color:var(--text-dim);letter-spacing:var(--ls-wide);text-transform:uppercase}.chart-dp-val{color:var(--accent);font-weight:500}.status-list{padding:0 var(--sp-8);margin-bottom:var(--sp-3);flex-direction:column;gap:2px;display:flex}.status-row{padding:var(--sp-2) var(--sp-4);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;display:flex}.status-label{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:var(--ls-wider);color:var(--text-secondary);text-transform:uppercase}.status-mark{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-wider);font-weight:600}.status-mark.ok{color:var(--success)}.status-mark.err{color:var(--danger)}.danger-zone{margin:var(--sp-8) var(--sp-8) 0;padding:var(--sp-4);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-md)}.danger-zone-title{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:var(--ls-widest);color:var(--danger);text-transform:uppercase;margin-bottom:var(--sp-2);font-weight:600}.danger-zone-hint{font-size:var(--fs-body);color:var(--text-secondary);margin-bottom:var(--sp-3)}.form-control{width:100%;padding:var(--sp-2) var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-md);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary)}#settings-body,.settings-body{padding:0 var(--sp-8) var(--sp-8)}.section-view-header+.form-row,.page-head+div>.form-row{padding:var(--sp-4) var(--sp-8);border-bottom:1px solid var(--border-subtle);margin:0}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}#canvas-inner iframe{background:var(--bg-base)!important}.canvas-inner>div[style*=grid]{padding:0 var(--sp-8) var(--sp-8)}.modal-overlay .btn-primary{background:var(--accent-soft);border-color:var(--accent-dim);color:var(--accent)}.page-head{padding-bottom:var(--sp-4)}iframe#demo-frame{border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.canvas-inner div[style*=font-family] br+kbd,.canvas-inner div[style*=font-family] kbd:first-child{margin-right:var(--sp-2)}.mini-player{z-index:8000;width:280px;max-height:340px;font-family:var(--font-sans);color:var(--text-primary);pointer-events:auto;transition:all var(--transition-fast);position:fixed;bottom:16px;left:16px}.mini-player[data-expanded=false] .mp-bar{-webkit-backdrop-filter:blur(14px)saturate(140%);cursor:pointer;background:#0a0e14b8;border:1px solid #7ac4e638;border-radius:30px;align-items:center;gap:10px;padding:8px 10px 8px 8px;display:flex;box-shadow:0 8px 24px #00000061}.mini-player[data-expanded=false] .mp-bar:hover{border-color:#7ac4e66b}.mp-play{color:#e8f4fa;cursor:pointer;width:34px;height:34px;transition:all var(--transition-fast);background:#7ac4e62e;border:1px solid #7ac4e680;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;display:flex}.mp-play:hover{background:#7ac4e652}.mp-play-icon{line-height:1}.mp-meta{flex:auto;min-width:0}.mp-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.mp-sub{font:400 10px/1.2 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#c4e4f28c;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.mp-expand{color:#c4e4f28c;cursor:pointer;background:0 0;border:none;flex:none;padding:4px 6px;font-size:11px}.mp-expand:hover{color:var(--text-primary)}.mini-player.loading .mp-play,.mini-player.loading .mp-play-big{animation:1.2s ease-out infinite mp-loading-pulse;box-shadow:0 0 #7ac4e699}@keyframes mp-loading-pulse{to{box-shadow:0 0 0 10px #7ac4e600}}.mini-player[data-expanded=true] .mp-panel{-webkit-backdrop-filter:blur(16px)saturate(140%);background:#0a0e14eb;border:1px solid #7ac4e64d;border-radius:10px;flex-direction:column;max-height:70vh;padding:14px;animation:.18s ease-out mp-expand-in;display:flex;overflow-y:auto;box-shadow:0 20px 60px #0009}@keyframes mp-expand-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.mp-panel-head{border-bottom:1px solid #7ac4e626;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;display:flex}.mp-panel-title{font:600 10px/1 var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:#7ac4e6d9}.mp-close{color:#c4e4f299;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:14px}.mp-close:hover{color:var(--text-primary)}.mp-nowplaying{background:#7ac4e60d;border:1px solid #7ac4e629;border-radius:7px;margin-bottom:12px;padding:10px 12px}.mp-np-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.mp-np-sub{font:400 9px/1.2 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#c4e4f280;margin-top:3px}.mp-controls{align-items:center;gap:12px;margin-top:10px;display:flex}.mp-play-big{color:#e8f4fa;cursor:pointer;background:#7ac4e638;border:1px solid #7ac4e68c;border-radius:50%;width:40px;height:40px;font-size:14px}.mp-play-big:hover{background:#7ac4e65c}.mp-vol{flex:1;align-items:center;gap:6px;display:flex}.mp-vol-ico{opacity:.55;font-size:12px}.mp-vol-slider{accent-color:#7ac4e6;flex:1}.mp-error{color:#f4b4a6;background:#f078641f;border:1px solid #f078644d;border-radius:5px;margin-top:8px;padding:6px 10px;font-size:11px}.mp-section-title{font:600 9px/1 var(--font-mono);letter-spacing:.26em;text-transform:uppercase;color:#c4e4f27a;margin:10px 0 6px}.mp-track-list{flex-direction:column;gap:3px;display:flex}.mp-track{cursor:pointer;transition:all var(--transition-fast);background:#ffffff06;border:1px solid #0000;border-radius:5px;align-items:center;gap:10px;padding:7px 9px;display:flex}.mp-track:hover{background:#7ac4e614;border-color:#7ac4e638}.mp-track.active{background:#7ac4e624;border-color:#7ac4e680}.mp-track-icon{text-align:center;color:#7ac4e6bf;flex:none;width:18px}.mp-track-meta{flex:auto;min-width:0}.mp-track-name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.mp-track-source{font:400 9px/1.2 var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:#c4e4f273;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.mp-track-del{color:#c4e4f24d;cursor:pointer;background:0 0;border:none;flex:none;padding:2px 6px;font-size:11px}.mp-track-del:hover{color:#f4b4a6}.mp-empty{text-align:center;color:#c4e4f266;padding:10px;font-size:11px}.mp-add-row{border-top:1px solid #7ac4e61f;gap:6px;margin-top:10px;padding-top:10px;display:flex}.mp-add-btn{color:#c4e4f2d9;font:600 10px/1 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:all var(--transition-fast);background:#7ac4e614;border:1px solid #7ac4e647;border-radius:5px;flex:1;padding:7px}.mp-add-btn:hover{color:var(--text-primary);background:#7ac4e62e;border-color:#7ac4e680}.sb-stage-panel{top:540px;left:var(--sp-4);z-index:10;width:320px;max-height:calc(100vh - 920px);padding:var(--sp-3) var(--sp-4);background:var(--bg-panel);-webkit-backdrop-filter:var(--blur-panel);border:1px solid var(--border-normal);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);position:absolute;overflow-y:auto}.sb-stage-panel.collapsed .sb-stage-content{display:none}.sb-stage-panel.collapsed{width:auto}.sb-stage-title{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:var(--ls-widest);color:var(--accent);text-transform:uppercase;margin-bottom:var(--sp-3);padding-bottom:var(--sp-2);border-bottom:1px solid var(--border-subtle);font-weight:600}.sb-stage-row{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);display:flex}.sb-stage-row:last-child{margin-bottom:0}.sb-stage-label{font-family:var(--font-mono);font-size:var(--fs-xxs);letter-spacing:var(--ls-wider);color:var(--text-dim);text-transform:uppercase;flex:0 0 78px;font-weight:500}.sb-stage-select{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font:400 var(--fs-sm)/1.2 var(--font-sans);cursor:pointer;flex:1;padding:5px 6px}.sb-stage-select:hover{border-color:var(--border-normal)}.sb-stage-select:focus{border-color:var(--border-focus);outline:none}.sb-stage-slider{accent-color:#7ac4e6;flex:1}.sb-stage-value{text-align:right;font:400 var(--fs-xs)/1 var(--font-mono);color:var(--text-dim);font-variant-numeric:tabular-nums;flex:0 0 38px}.sb-stage-react-row{margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px dashed #e8a87826}.sb-stage-react-row:not(:first-of-type){border-top:none;padding-top:0}.sb-stage-react-label{cursor:pointer;font:500 10px/1.3 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#e8a878c7;align-items:center;gap:8px;display:flex}.sb-stage-react-label:hover{color:#e8a878}.sb-stage-react-label input{accent-color:#e8a878}.capture-mode-root{z-index:8500;pointer-events:none;font-family:var(--font-sans);color:var(--text-primary);position:fixed;inset:0}.capture-overlay{pointer-events:none;position:absolute;inset:0}.capture-matte{-webkit-backdrop-filter:blur(4px);background:#000000c7;position:absolute}.capture-matte-top{top:0;left:0;right:0}.capture-matte-bottom{bottom:0;left:0;right:0}.capture-matte-left{left:0}.capture-matte-right{right:0}.capture-frame{pointer-events:none;border:1px solid #e8a8788c;position:absolute;box-shadow:0 0 0 1px #e8a87826,0 0 40px #e8a8781f}.capture-rule-v1,.capture-rule-v2,.capture-rule-h1,.capture-rule-h2{pointer-events:none;background:#e8a87829;position:absolute}.capture-rule-v1,.capture-rule-v2{width:1px;top:0;bottom:0}.capture-rule-v1{left:33.33%}.capture-rule-v2{left:66.67%}.capture-rule-h1,.capture-rule-h2{height:1px;left:0;right:0}.capture-rule-h1{top:33.33%}.capture-rule-h2{top:66.67%}.capture-panel{-webkit-backdrop-filter:blur(18px)saturate(140%);pointer-events:auto;background:#0a0e14f0;border:1px solid #e8a87840;border-radius:10px;width:320px;max-height:calc(100vh - 48px);padding:18px;animation:.2s ease-out cap-panel-in;position:absolute;top:24px;right:24px;overflow-y:auto;box-shadow:0 24px 80px #000000b3,0 0 40px #e8a87814}@keyframes cap-panel-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.cap-header{border-bottom:1px solid #e8a8782e;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;display:flex}.cap-title{font:600 10px/1 var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:#e8a878d9}.cap-close{color:#c4e4f299;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:14px}.cap-close:hover{color:var(--text-primary)}.cap-section{border-bottom:1px solid #7ac4e614;margin-bottom:14px;padding-bottom:12px}.cap-section:last-of-type{border-bottom:none;margin-bottom:0}.cap-label{font:600 9px/1 var(--font-mono);letter-spacing:.26em;text-transform:uppercase;color:#c4e4f28c;margin-bottom:8px}.cap-label-inline{color:#c4e4f2b8;flex:0 0 60px;font:400 10px/1.2 Inter,system-ui}.cap-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.cap-row:last-child{margin-bottom:0}.cap-sub-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.cap-val{text-align:right;font:400 10px/1 var(--font-mono);color:#c4e4f294;font-variant-numeric:tabular-nums;flex:0 0 50px}.cap-slider{accent-color:#e8a878;flex:1}.cap-select{width:100%;color:var(--text-primary);cursor:pointer;background:#060e1699;border:1px solid #e8a87838;border-radius:4px;outline:none;padding:7px 8px;font:400 12px/1.3 Inter}.cap-select:focus{border-color:#e8a8788c}.cap-segmented{background:#060e1680;border:1px solid #7ac4e61f;border-radius:4px;gap:3px;padding:2px;display:flex}.cap-segmented button{color:#c4e4f28c;font:500 10px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:3px;flex:1;padding:6px 4px}.cap-segmented button:hover{color:var(--text-primary)}.cap-segmented button.active{color:#fcdcb8;background:#e8a87838}.cap-aspect-grid{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.cap-aspect-btn{color:#c4e4f299;font:500 10px/1 var(--font-mono);letter-spacing:.05em;cursor:pointer;transition:all var(--transition-fast);background:#060e1680;border:1px solid #7ac4e624;border-radius:3px;padding:7px 4px}.cap-aspect-btn:hover{color:var(--text-primary);border-color:#7ac4e659}.cap-aspect-btn.active{color:#fcdcb8;background:#e8a87833;border-color:#e8a8788c}.cap-check{cursor:pointer;font:500 10px/1.3 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#c4e4f2b8;align-items:center;gap:8px;margin-top:6px;display:flex}.cap-check input{accent-color:#e8a878;margin:0}.cap-check:hover{color:var(--text-primary)}.cap-color-full{cursor:pointer;background:0 0;border:1px solid #7ac4e633;border-radius:3px;width:100%;height:32px;margin-top:6px}.cap-mini-btn{color:#fcdcb8;font:500 10px/1 var(--font-mono);letter-spacing:.1em;cursor:pointer;transition:all var(--transition-fast);background:#e8a8781a;border:1px solid #e8a8784d;border-radius:3px;flex:1;padding:6px 10px}.cap-mini-btn:hover{background:#e8a87838;border-color:#e8a87899}.cap-actions{border-top:1px solid #e8a87833;gap:8px;margin-top:14px;padding-top:14px;display:flex}.cap-btn{font:600 11px/1 var(--font-mono);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:all var(--transition-fast);border:1px solid;border-radius:5px;flex:1;padding:10px 12px}.cap-btn-primary{color:#fcdcb8;background:#e8a87838;border-color:#e8a87899}.cap-btn-primary:hover{color:#fff;background:#e8a87861}.cap-btn-secondary{color:#c4e4f2e6;background:#7ac4e61a;border-color:#7ac4e64d}.cap-btn-secondary:hover{color:#fff;background:#7ac4e638}.cap-btn-small{width:100%;margin-top:6px;padding:6px 10px;font-size:9px}.cap-btn-warn{color:#f4b4a6;background:#f0786414;border-color:#f078644d}.cap-hint{color:#c4e4f266;text-align:center;margin-top:10px;font:400 10px/1.5 Inter}.cap-hint kbd{font:500 9px/1 var(--font-mono);color:#c4e4f2;background:#7ac4e626;border:1px solid #7ac4e64d;border-radius:3px;margin:0 2px;padding:2px 5px;display:inline-block}.cap-keyframes{background:#060e1680;border:1px solid #7ac4e61a;border-radius:4px;padding:10px}.cap-kf-row{font:400 10px/1.3 var(--font-mono);color:#c4e4f2b8;background:#7ac4e60d;border-radius:3px;justify-content:space-between;align-items:center;margin-bottom:3px;padding:4px 6px;display:flex}.cap-kf-del{color:#f078648c;cursor:pointer;background:0 0;border:none;padding:0 6px;font-size:11px}.cap-kf-del:hover{color:#f4b4a6}.capture-click-hint{z-index:8700;color:#fcdcb8;font:500 11px/1 var(--font-mono);letter-spacing:.2em;text-transform:uppercase;pointer-events:none;background:#e8a87838;border:1px solid #e8a87880;border-radius:20px;padding:10px 22px;animation:1.4s ease-in-out infinite cap-hint-pulse;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000080}@keyframes cap-hint-pulse{0%,to{opacity:1}50%{opacity:.7}}.capture-rec-indicator{z-index:8800;color:#f4b4a6;font:600 11px/1 var(--font-mono);letter-spacing:.3em;text-transform:uppercase;pointer-events:none;background:#0a0e14eb;border:1px solid #f0645099;border-radius:8px;align-items:center;gap:10px;padding:10px 18px;display:flex;position:fixed;top:20px;left:20px;box-shadow:0 10px 30px #f0645040}.cap-rec-dot{background:#f05050;border-radius:50%;width:10px;height:10px;animation:.8s ease-in-out infinite cap-rec-blink}.cap-rec-countdown{color:#f4b4a6d9}@keyframes cap-rec-blink{0%,to{opacity:1}50%{opacity:.3}}.capture-preview-modal{z-index:9500;pointer-events:auto;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cap-pm-backdrop{-webkit-backdrop-filter:blur(8px);background:#000000d1;position:absolute;inset:0}.cap-pm-panel{background:#0a0e14f7;border:1px solid #e8a87859;border-radius:10px;flex-direction:column;width:720px;max-width:92vw;max-height:92vh;padding:20px;animation:.24s ease-out cap-pm-in;display:flex;position:relative;box-shadow:0 30px 90px #000c,0 0 60px #e8a8781f}@keyframes cap-pm-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.cap-pm-head{border-bottom:1px solid #e8a87833;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;display:flex}.cap-pm-title{font:600 10px/1 var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:#e8a878d9}.cap-pm-close{color:#c4e4f28c;cursor:pointer;background:0 0;border:none;font-size:14px}.cap-pm-close:hover{color:var(--text-primary)}.cap-pm-media{background:#000;border-radius:6px;justify-content:center;align-items:center;min-height:240px;display:flex;overflow:hidden}.cap-pm-media img,.cap-pm-media video{max-width:100%;max-height:60vh;display:block}.cap-pm-meta{font:400 11px/1 var(--font-mono);color:#c4e4f280;letter-spacing:.1em;margin-top:10px}.cap-pm-actions{gap:8px;margin-top:14px;display:flex}.sb-lighting-panel .sb-lighting-title,.sb-stage-panel .sb-stage-title,.sb-inspector-header,.sb-object-list-header{cursor:pointer;-webkit-user-select:none;user-select:none;padding-right:24px;position:relative}.sb-lighting-panel .sb-lighting-title:after,.sb-stage-panel .sb-stage-title:after,.sb-inspector-header:after,.sb-object-list-header:after{content:"";border-bottom:1.5px solid #7ac4e68c;border-right:1.5px solid #7ac4e68c;width:8px;height:8px;transition:transform .18s,border-color .18s;position:absolute;top:50%;right:2px;transform:translateY(-65%)rotate(45deg)}.sb-lighting-panel.collapsed .sb-lighting-title:after,.sb-stage-panel.collapsed .sb-stage-title:after,.sb-inspector.collapsed .sb-inspector-header:after,.sb-object-list.collapsed .sb-object-list-header:after{transform:translateY(-35%)rotate(-45deg)}.sb-lighting-panel .sb-lighting-title:hover:after,.sb-stage-panel .sb-stage-title:hover:after,.sb-inspector-header:hover:after,.sb-object-list-header:hover:after{border-color:#e8f4fae6}.sb-lighting-panel.collapsed>:not(.sb-lighting-title):not(.sb-panel-collapse),.sb-stage-panel.collapsed>:not(.sb-stage-title):not(.sb-panel-collapse),.sb-inspector.collapsed .sb-inspector-inner>:not(.sb-inspector-header),.sb-object-list.collapsed .sb-object-list-inner>:not(.sb-object-list-header){display:none}.sb-lighting-panel.collapsed,.sb-stage-panel.collapsed{max-height:none!important}.sb-panel-collapse{display:none!important}.sb-panel-status{letter-spacing:.14em;color:#c4e4f285;text-transform:uppercase;margin-left:10px;font:400 9px/1 JetBrains Mono,monospace;display:none}.sb-lighting-panel.collapsed .sb-panel-status,.sb-stage-panel.collapsed .sb-panel-status{display:inline}.sb-playback-hud{z-index:15;-webkit-backdrop-filter:blur(16px)saturate(140%);pointer-events:auto;background:#0a0e14d1;border:1px solid #7ac4e638;border-radius:8px;align-items:center;gap:10px;padding:5px 6px 5px 8px;display:flex;position:absolute;top:78px;right:16px;box-shadow:0 8px 24px #0006}.sb-pb-btn{color:#e8f4fa;letter-spacing:.08em;cursor:pointer;background:#7ac4e624;border:1px solid #7ac4e659;border-radius:5px;justify-content:center;align-items:center;gap:6px;min-width:94px;padding:7px 14px;font:500 11px/1 Inter,system-ui;transition:all .14s;display:flex}.sb-pb-btn:hover{background:#7ac4e642;border-color:#7ac4e699}.sb-pb-btn.paused{color:#fcdcb8;background:#e8a87838;border-color:#e8a8788c}.sb-pb-btn.paused:hover{background:#e8a87852}.sb-pb-icon{font-size:11px}.sb-pb-label{font-weight:500}.sb-pb-speed{border-left:1px solid #7ac4e62e;align-items:center;gap:8px;padding-left:8px;display:flex}.sb-pb-speed-label{letter-spacing:.22em;text-transform:uppercase;color:#c4e4f28c;font:500 9px/1 JetBrains Mono,ui-monospace,monospace}.sb-pb-speed-btns{gap:2px;display:flex}.sb-pb-speed-btn{color:#c4e4f28c;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;width:30px;height:26px;padding:0;font:500 10px/1 JetBrains Mono,monospace;transition:all .14s}.sb-pb-speed-btn:hover{color:#e8f4fae6;background:#7ac4e614}.sb-pb-speed-btn.active{color:#e8f4fa;background:#7ac4e633;border-color:#7ac4e680}.sb-tf-btn.sb-tf-btn-show{display:flex}.sb-selection-outline.motion-active{outline-color:#ffe8a8f2!important;box-shadow:0 0 18px #ffe8a866!important}.sb-pb-bpm{border-left:1px solid #7ac4e62e;align-items:baseline;gap:4px;margin-left:2px;padding:0 6px 0 10px;font-family:JetBrains Mono,ui-monospace,monospace;display:flex}.sb-pb-bpm-val{color:#e8f4fa;font-variant-numeric:tabular-nums;text-align:right;min-width:26px;font:600 13px/1 JetBrains Mono,monospace}.sb-pb-bpm-unit{color:#c4e4f26b;letter-spacing:.22em;text-transform:uppercase;font:500 8px/1 JetBrains Mono,monospace}.sb-preset-trigger{color:#fcdcb8!important;background:#e8a8781a!important;border-color:#e8a87852!important;left:auto!important;right:auto!important;transform:translate(calc(130px - 50%))!important}.sb-preset-trigger:hover{background:#e8a87838!important;border-color:#e8a8788c!important}.sb-preset-trigger.open{color:#ffebce!important;background:#e8a87852!important;border-color:#e8a878b3!important}.sb-preset-popover.sb-lib-popover{left:auto!important;right:auto!important}.sb-preset-grid{grid-template-columns:1fr;gap:6px;padding:4px 0 0;display:grid}.sb-preset-item{cursor:pointer;text-align:left;background:#e8a8780d;border:1px solid #e8a87838;border-radius:4px;flex-direction:column;align-items:flex-start;gap:4px;min-width:280px;padding:10px 12px;transition:all .15s;display:flex}.sb-preset-item:hover{background:#e8a87824;border-color:#e8a87880;transform:translateY(-1px)}.sb-preset-label{color:#fcdcb8;letter-spacing:.04em;font:500 11px/1.1 Inter,system-ui}.sb-preset-desc{color:#fcdcb88c;letter-spacing:.02em;font:400 9px/1.4 JetBrains Mono,ui-monospace,monospace}:root{--deck-h:280px;--deck-gap:12px}.sb-lib-trigger,.sb-undo-redo,.sb-save-status{bottom:calc(var(--deck-h) + var(--deck-gap))!important}.sb-controls-hint{bottom:calc(var(--deck-h) + var(--deck-gap) + 50px)!important}.sb-object-list{bottom:calc(var(--deck-h) + 64px)!important}.sb-lib-popover,.sb-preset-popover{bottom:calc(var(--deck-h) + var(--deck-gap) + 56px)!important}.sb-array-popover.sb-lib-popover{transform:translate(calc(-50% - 240px))!important}.sb-preset-popover{transform:translate(calc(130px - 50%))!important}.sb-lighting-panel,.sb-stage-panel,body.in-workshop #app-sidebar{display:none!important}body.in-workshop .admin-content,body.in-workshop .admin-main,body.in-workshop [class*=admin-]>.content,body.in-workshop main{margin-left:0!important;padding-left:0!important}.sb-mixer-content{align-items:stretch;gap:8px;width:100%;height:100%;padding:8px 10px;overflow:auto hidden;flex-direction:row!important;display:flex!important}.sb-mix-strip{background:#7ac4e60a;border:1px solid #7ac4e626;border-radius:8px;flex-direction:column;flex:145px;min-width:145px;max-width:200px;padding:8px 8px 6px;display:flex;overflow:hidden}.sb-mix-strip-wide{flex:1.4 200px;max-width:280px}.sb-mix-strip-title{letter-spacing:.18em;color:#7ac4e6;text-transform:uppercase;border-bottom:1px solid #7ac4e626;flex-shrink:0;margin-bottom:6px;padding-bottom:4px;font-size:9px;font-weight:700}.sb-mix-name-display{color:#e0e5ec;white-space:nowrap;text-overflow:ellipsis;margin-bottom:6px;font-size:11px;font-weight:600;overflow:hidden}.sb-mix-empty-hint{color:#6b7480;text-align:center;background:#7ac4e60a;border:1px dashed #7ac4e62e;border-radius:5px;padding:14px 8px;font-size:10px}.sb-mix-controls-block{flex-direction:column;flex:1;display:flex;overflow:hidden auto}#sb-obj-controls.sb-mix-controls-block,#sb-obj-color-controls.sb-mix-controls-block,#sb-obj-transform-controls.sb-mix-controls-block{opacity:.4;pointer-events:none}#sb-obj-controls.sb-mix-controls-block.active,#sb-obj-color-controls.sb-mix-controls-block.active,#sb-obj-transform-controls.sb-mix-controls-block.active{opacity:1;pointer-events:auto}.sb-mix-label-tiny{letter-spacing:.08em;color:#b0b8c4;text-transform:uppercase;margin-bottom:4px;font-size:9px;font-weight:600}.sb-mix-label-row{color:#b0b8c4;justify-content:space-between;align-items:center;margin-bottom:3px;font-size:10px;display:flex}.sb-mix-label-row span:first-child{font-weight:500}.sb-mix-value{color:#7ac4e6;font-family:ui-monospace,monospace;font-size:10px}.sb-mix-vsliders{justify-content:space-around;align-items:stretch;gap:6px;height:110px;margin-bottom:4px;display:flex}.sb-mix-vslider-col{flex-direction:column;flex:1;align-items:center;min-width:0;display:flex}.sb-mix-vlabel{color:#b0b8c4;letter-spacing:.05em;margin-bottom:4px;font-size:9px;font-weight:600}.sb-mix-vvalue{color:#7ac4e6;margin-top:4px;font-family:ui-monospace,monospace;font-size:9px}.sb-mix-vslider{appearance:slider-vertical;writing-mode:bt-lr;cursor:pointer;background:0 0;flex:1;width:18px;height:78px;min-height:0}.sb-mix-vslider::-webkit-slider-runnable-track{background:linear-gradient(#7ac4e61a,#7ac4e666);border-radius:2px;width:4px}.sb-mix-vslider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#7ac4e6;border:2px solid #0a0e14;border-radius:50%;width:14px;height:14px;margin-left:-5px;box-shadow:0 0 6px #7ac4e666}.sb-mix-hslider{appearance:none;cursor:pointer;background:0 0;width:100%;height:18px;margin-bottom:4px}.sb-mix-hslider::-webkit-slider-runnable-track{background:linear-gradient(90deg,#7ac4e61a,#7ac4e666);border-radius:2px;height:4px}.sb-mix-hslider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#7ac4e6;border:2px solid #0a0e14;border-radius:50%;width:14px;height:14px;margin-top:-5px;box-shadow:0 0 6px #7ac4e666}.sb-obj-hue-slider::-webkit-slider-runnable-track{background:linear-gradient(90deg,red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);border-radius:2px;height:4px}.sb-mix-toggle-row{flex-wrap:wrap;gap:4px;margin-bottom:4px;display:flex}.sb-mix-toggle{color:#b0b8c4;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#7ac4e60a;border:1px solid #7ac4e626;border-radius:4px;flex:auto;align-items:center;gap:4px;padding:3px 6px;font-size:9px;display:flex}.sb-mix-toggle input[type=checkbox]{accent-color:#7ac4e6;cursor:pointer;width:11px;height:11px;margin:0}.sb-mix-toggle:has(input:checked){color:#7ac4e6;background:#7ac4e62e;border-color:#7ac4e680}.sb-mix-mini-btn{color:#b0b8c4;cursor:pointer;white-space:nowrap;background:#7ac4e60f;border:1px solid #7ac4e633;border-radius:4px;flex:1;padding:4px 6px;font-size:9px;font-weight:600;transition:all .12s}.sb-mix-mini-btn:hover{color:#7ac4e6;background:#7ac4e62e;border-color:#7ac4e680}.sb-mix-mini-btn.active{color:#0a0e14;background:#7ac4e6;border-color:#7ac4e6}.sb-mix-btn-row{gap:4px;margin-bottom:4px;display:flex}.sb-mix-preset-grid{grid-template-columns:1fr 1fr;gap:3px;margin-bottom:6px;display:grid}.sb-mix-tab-row{background:#0000004d;border-radius:4px;gap:2px;margin-bottom:6px;padding:2px;display:flex}.sb-mix-tab{color:#b0b8c4;cursor:pointer;background:0 0;border:none;border-radius:3px;flex:1;padding:4px 6px;font-size:9px;font-weight:600}.sb-mix-tab.active{color:#e0e5ec;background:#7ac4e640}.sb-mix-color-section{margin-bottom:4px}.sb-mix-color-picker{cursor:pointer;background:0 0;border:1px solid #7ac4e64d;border-radius:4px;width:100%;height:32px}.sb-mix-color-picker-small{cursor:pointer;background:0 0;border:1px solid #7ac4e64d;border-radius:4px;width:100%;height:22px}.sb-mix-num-row{gap:3px;margin-bottom:2px;display:flex}.sb-mix-num{color:#e0e5ec;text-align:center;background:#0000004d;border:1px solid #7ac4e633;border-radius:3px;flex:1;min-width:0;padding:4px 5px;font-family:ui-monospace,monospace;font-size:10px}.sb-mix-num:focus{background:#00000080;border-color:#7ac4e699;outline:none}.sb-mix-num.axis-x{border-left:2px solid #ff6b6b}.sb-mix-num.axis-y{border-left:2px solid #6ee07f}.sb-mix-num.axis-z{border-left:2px solid #7ac4e6}.sb-mix-select{color:#e0e5ec;cursor:pointer;background:#0000004d;border:1px solid #7ac4e633;border-radius:3px;width:100%;padding:4px 5px;font-size:10px}.sb-mix-attr-row{align-items:stretch;gap:3px;margin-bottom:4px;display:flex}.sb-mix-attr-list{color:#b0b8c4;max-height:60px;font-family:ui-monospace,monospace;font-size:9px;line-height:1.5;overflow-y:auto}.sb-mix-attr-list .attr-item{border-bottom:1px dotted #7ac4e61a;justify-content:space-between;padding:1px 4px;display:flex}.sb-mix-attr-list .attr-item:hover{background:#ff60601a}.sb-mod-recipe-grid{grid-template-columns:1fr 1fr 1fr;gap:4px;margin-top:6px;display:grid}.sb-mod-recipe-card{color:#b0b8c4;cursor:pointer;background:#7ac4e60d;border:1px solid #7ac4e62e;border-radius:6px;flex-direction:column;align-items:center;gap:3px;min-height:56px;padding:8px 4px;font-size:9px;transition:all .12s;display:flex}.sb-mod-recipe-card:hover{color:#e0e5ec;background:#7ac4e626;border-color:#7ac4e680;transform:translateY(-1px)}.sb-mod-recipe-card.active{color:#7ac4e6;background:#7ac4e640;border-color:#7ac4e6}.sb-mod-recipe-icon{font-size:18px;line-height:1}.sb-mod-recipe-label{text-align:center;letter-spacing:.02em;font-size:9px;font-weight:600;line-height:1.1}.sb-mod-active-row{background:#7ac4e60f;border:1px solid #7ac4e633;border-radius:5px;align-items:center;gap:6px;margin-bottom:4px;padding:6px 8px;display:flex}.sb-mod-active-row.muted{opacity:.4}.sb-mod-active-icon{font-size:14px}.sb-mod-active-name{color:#e0e5ec;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:10px;font-weight:600;overflow:hidden}.sb-mod-active-actions{gap:3px;display:flex}.sb-mod-active-btn{color:#b0b8c4;cursor:pointer;background:#7ac4e614;border:1px solid #7ac4e633;border-radius:3px;padding:2px 6px;font-size:9px}.sb-mod-active-btn:hover{color:#7ac4e6;background:#7ac4e633}.sb-mod-active-btn.danger:hover{color:#ff8080;background:#ff606033;border-color:#ff606080}.sb-mod-adjust-slider{margin-bottom:8px}.sb-mod-adjust-slider-label{color:#b0b8c4;justify-content:space-between;margin-bottom:3px;font-size:10px;display:flex}.sb-mod-adjust-slider-label strong{color:#e0e5ec;font-weight:600}.sb-mod-stack-row{color:#b0b8c4;background:#0000004d;border:1px solid #7ac4e626;border-radius:3px;align-items:center;gap:4px;margin-bottom:2px;padding:4px 6px;font-family:ui-monospace,monospace;font-size:9px;display:flex}.sb-mod-stack-row .stack-toggle{cursor:pointer;accent-color:#7ac4e6;width:10px;height:10px}.sb-mod-stack-row .stack-type{color:#7ac4e6;min-width:50px;font-weight:700}.sb-mod-stack-row .stack-channel{white-space:nowrap;text-overflow:ellipsis;opacity:.7;flex:1;overflow:hidden}.sb-mod-stack-row .stack-x{cursor:pointer;opacity:.5;padding:0 4px}.sb-mod-stack-row .stack-x:hover{opacity:1;color:#ff6060}body.sb-presenting #sidebar-root,body.sb-presenting .sb-deck-panel-container,body.sb-presenting .sb-deck-tabs,body.sb-presenting .sb-lib-trigger,body.sb-presenting .sb-undo-redo,body.sb-presenting .sb-save-status,body.sb-presenting .sb-multi-status,body.sb-presenting #sb-multi-status,body.sb-presenting #sb-text-editor,body.sb-presenting #sb-scene-panel,body.sb-presenting #sb-diag-panel,body.sb-presenting #sb-object-list,body.sb-presenting #cloe-root,body.sb-presenting .mini-player{display:none!important}body.sb-presenting #route-view{height:100vh}.sb-toolbar{z-index:60;background:var(--bg-panel);-webkit-backdrop-filter:var(--blur-panel);border:1px solid var(--accent-dim);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);align-items:center;gap:12px;padding:6px 10px;transition:bottom .35s cubic-bezier(.32,.72,.24,1.04);display:flex;position:fixed;bottom:96px;left:50%;transform:translate(-50%)}body:has(.sb-deck:not(.collapsed)) .sb-toolbar{bottom:342px}.sb-toolbar-group{gap:4px;display:flex}.sb-toolbar-sep{background:#7ac4e62e;width:1px;height:22px;margin:0 2px}.sb-tool-btn{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;padding:8px 14px;font-size:11px;font-weight:600;transition:background .12s,border-color .12s,color .12s}.sb-tool-btn:hover{background:var(--accent-soft);border-color:var(--accent-dim);color:var(--text-primary)}.sb-tool-btn.open{background:var(--accent-soft);border-color:var(--accent);color:var(--text-primary)}.sb-tool-btn-accent{color:#e8a060;background:#e8a06014;border-color:#e8a0604d}.sb-tool-btn-accent:hover{color:#ffc589;background:#e8a0602e;border-color:#e8a0608c}.sb-array-popover.sb-lib-popover{left:50%;transform:translate(-50%)!important}body.sb-presenting .sb-toolbar{display:none!important}
