*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--panel-bg: rgba(8, 6, 18, .85);--panel-border: rgba(120, 80, 255, .15);--accent: #8b5cf6;--accent-glow: rgba(139, 92, 246, .4);--text: #e2e0f0;--text-dim: #8a86a0;--danger: #ef4444;--radius: 10px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}.scene-blurred{filter:blur(16px) brightness(.25) saturate(.5);will-change:filter,opacity;pointer-events:none;opacity:0;animation:scene-pulse 12s ease-in-out 1s infinite}@keyframes scene-pulse{0%{opacity:0}50%{opacity:.5}to{opacity:0}}.scene-unblurred{filter:none;opacity:1;pointer-events:auto;transition:filter 1.2s ease,opacity .5s ease}.scene-loading-overlay{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0a0a0feb;animation:gateFadeIn .3s ease}.scene-loading-overlay.fade-out{opacity:0;transition:opacity .8s ease;pointer-events:none}.scene-spinner-wrap{position:relative;display:flex;align-items:center;justify-content:center;transform:translate(var(--spin-offset-x, 0),var(--spin-offset-y, 0))}.scene-spinner-wrap--compact{transform:none}.scene-spinner{width:48px;height:48px;border-radius:50%;border:3px solid hsl(var(--spin-hue, 260) 70% 55% / .15);border-top-color:hsl(var(--spin-hue, 260) 75% 62%);animation:spinnerRotate var(--spin-inner-speed, .8s) linear infinite;animation-direction:var(--spin-direction-inner, normal)}.scene-spinner-ring{position:absolute;width:64px;height:64px;border-radius:50%;border:1px solid hsl(var(--spin-hue, 260) 70% 55% / .08);border-top-color:hsl(var(--spin-hue, 260) 70% 55% / .3);animation:spinnerRotate var(--spin-outer-speed, 1.8s) linear infinite;animation-direction:var(--spin-direction-outer, reverse)}.scene-spinner--dashed,.scene-spinner-ring--dashed{border-style:dashed}.scene-spinner--squircle{border-radius:22%}.scene-spinner-ring--squircle{border-radius:18%}.gate-skel{display:inline-block;vertical-align:baseline;background:linear-gradient(90deg,#8b5cf614,#8b5cf638,#8b5cf614);background-size:200% 100%;border-radius:3px;color:transparent;animation:gateSkelSweep 1.3s ease-in-out infinite;pointer-events:none;-webkit-user-select:none;user-select:none}@keyframes gateSkelSweep{0%{background-position:100% 0}to{background-position:-100% 0}}.gate-intro-counter__bar--loading{position:relative;overflow:hidden}.gate-intro-counter__bar--loading:after{content:"";position:absolute;top:0;left:-30%;width:30%;height:100%;background:linear-gradient(90deg,transparent,rgba(139,92,246,.55),transparent);animation:gateBarSweep 1.4s ease-in-out infinite}@keyframes gateBarSweep{0%{left:-30%}to{left:100%}}.scene-loading-text{margin-top:20px;font-size:13px;font-weight:500;color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;animation:loadingPulse 2s ease-in-out infinite}@keyframes spinnerRotate{to{transform:rotate(360deg)}}@keyframes loadingPulse{0%,to{opacity:.5}50%{opacity:1}}.auth-loading-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;pointer-events:none}.auth-loading-content{display:flex;flex-direction:column;align-items:center;gap:16px;animation:authFadeIn .4s ease}.auth-loading-text{font-size:13px;font-weight:500;color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;animation:loadingPulse 2s ease-in-out infinite}@keyframes authFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.scene-fade-in{animation:sceneFadeReveal 1.2s ease forwards}@keyframes sceneFadeReveal{0%{opacity:0;filter:blur(8px) brightness(.5)}to{opacity:1;filter:none}}.gate-overlay--over-scene{background:#0a0a0f4d;backdrop-filter:blur(8px) brightness(.6) saturate(.8);-webkit-backdrop-filter:blur(8px) brightness(.6) saturate(.8)}@keyframes orbDrift{0%{transform:translate(0) scale(1)}25%{transform:translate(30%,20%) scale(1.1)}50%{transform:translate(10%,40%) scale(.9)}75%{transform:translate(40%,10%) scale(1.05)}to{transform:translate(20%,30%) scale(1)}}@keyframes colorCycle1{0%{filter:blur(80px) hue-rotate(0deg)}to{filter:blur(80px) hue-rotate(360deg)}}@keyframes colorCycle2{0%{filter:blur(80px) hue-rotate(180deg)}to{filter:blur(80px) hue-rotate(540deg)}}html,body,#root{width:100%;height:100%;overflow:hidden;background:#000;font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased}.app{position:relative;width:100vw;height:100dvh;height:100vh}@supports (height: 100dvh){.app{height:100dvh}}.toggle-ui-btn{position:relative;width:40px;height:40px;background:var(--panel-bg);border:1px solid var(--panel-border);color:var(--text);border-radius:10px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.toggle-ui-btn:hover{border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}@media(max-width:768px){.toggle-ui-btn{width:44px;height:44px;font-size:18px}}.control-panel{position:fixed;top:0;left:0;width:300px;height:100dvh;height:100vh;padding:calc(56px + env(safe-area-inset-top,0px)) 20px calc(20px + env(safe-area-inset-bottom,0px));background:var(--panel-bg);border-right:1px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10000;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;transform:translate(0);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:16px}@supports (height: 100dvh){.control-panel{height:100dvh}}.control-panel--hidden{transform:translate(-100%)}.control-panel::-webkit-scrollbar{width:4px}.control-panel::-webkit-scrollbar-thumb{background:var(--panel-border);border-radius:4px}@media(max-width:768px){.control-panel{width:100%;border-right:none;border-bottom:1px solid var(--panel-border)}}.toggle-ui-wrap{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:20px;z-index:100;transition:opacity .4s ease,visibility .4s ease}.toggle-ui-wrap--hidden{opacity:0;visibility:hidden;pointer-events:none}.autohide-tooltip{position:absolute;bottom:100%;left:0;margin-bottom:8px;padding:10px 14px;background:#141028f2;border:1px solid var(--accent);border-radius:10px;color:var(--text);font-size:12px;line-height:1.4;width:220px;box-shadow:0 0 20px var(--accent-glow);animation:tooltipFadeIn .3s ease-out;pointer-events:none;z-index:101}.autohide-tooltip:after{content:"";position:absolute;bottom:-6px;left:14px;width:10px;height:10px;background:#141028f2;border-right:1px solid var(--accent);border-bottom:1px solid var(--accent);transform:rotate(45deg)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.control-panel__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.control-panel__header-btns{display:flex;gap:6px;align-items:center}.control-panel__autohide-btn{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid var(--panel-border);border-radius:8px;color:var(--text-dim);font-size:14px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.control-panel__autohide-btn:hover{color:var(--accent);border-color:#8b5cf666;background:#8b5cf614}.control-panel__autohide-btn--active{color:var(--accent);border-color:#8b5cf64d;background:#8b5cf61f}.control-panel__autohide-text{background:none;border:none;padding:0;font-size:10px;font-family:var(--font);color:var(--text-dim);cursor:pointer;transition:color .15s;white-space:nowrap}.control-panel__autohide-text:hover,.control-panel__autohide-text--active{color:var(--accent)}.control-panel__faq-toggle{width:100%;background:none;border:none;color:var(--text-dim);font-size:12px;font-family:var(--font);cursor:pointer;text-align:left;padding:4px 0;transition:color .15s}.control-panel__faq-toggle:hover{color:var(--text)}.faq-section{display:flex;flex-direction:column;gap:2px;margin-top:8px}.faq-item__q{width:100%;background:none;border:none;color:var(--text);font-size:11px;font-family:var(--font);cursor:pointer;text-align:left;padding:6px 4px;border-radius:6px;transition:background .15s;display:flex;gap:6px;align-items:flex-start;line-height:1.4}.faq-item__q:hover{background:#ffffff0a}.faq-item__arrow{font-size:8px;flex-shrink:0;margin-top:2px;color:var(--text-dim)}.faq-item__a{padding:4px 4px 8px 18px;font-size:11px;color:var(--text-dim);line-height:1.5;animation:tooltipFadeIn .2s ease-out}.control-panel__title{font-size:17px;font-weight:700;letter-spacing:.2em;background:linear-gradient(90deg,#a855f7,#ec4899,#f97316,#eab308,#22c55e,#06b6d4,#6366f1,#a855f7);background-size:300% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:titleColorShift 6s linear infinite;margin:0 0 4px;text-align:center}.control-panel__settings-btn{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid var(--panel-border);border-radius:8px;color:var(--text-dim);font-size:16px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.control-panel__settings-btn:hover{color:var(--accent);border-color:#8b5cf666;background:#8b5cf614}.control-panel__audio-row{display:flex;gap:6px;align-items:stretch}.control-panel__demo-btn{flex-shrink:0;white-space:nowrap;font-size:11px}.control-panel__audio-summary{width:100%;padding:8px 10px;background:#ffffff08;border:1px solid var(--panel-border);border-radius:var(--radius);color:var(--text-dim);font-size:12px;font-family:var(--font);text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.control-panel__audio-summary:hover{border-color:#8b5cf64d;background:#8b5cf60d}.control-panel__audio-label{color:var(--text)}.control-panel__audio-placeholder{color:var(--text-dim)}.control-panel__section{display:flex;flex-direction:column;gap:10px}.control-panel__footer{margin-top:auto;font-size:11px;color:var(--text-dim);text-align:center;padding-top:12px;padding-bottom:38px;display:flex;flex-direction:column;gap:6px;align-items:center}.control-panel__footer-group{display:flex;flex-direction:column;align-items:center;gap:2px;margin-bottom:8px}.control-panel__divider{border:none;border-top:1px solid rgba(255,255,255,.08);margin:4px 0;width:100%}.control-panel__legal a{color:var(--text-dim);text-decoration:none;font-size:10px;transition:color .15s}.control-panel__legal a:hover{color:var(--accent)}.control-panel__bottom-row{position:sticky;bottom:0;width:100%;margin-top:auto;padding-bottom:env(safe-area-inset-bottom,0px);display:flex;align-items:center;justify-content:space-between;z-index:51}.control-panel__company{font-size:10px;color:#fff3;white-space:nowrap}.control-panel__version{font-size:10px;color:#ffffff26;font-variant-numeric:tabular-nums;transition:color .15s ease;white-space:nowrap}.control-panel__version:hover{color:#fffffff2}.toggle-ui-btn--inline{flex-shrink:0;width:40px;height:40px;font-size:16px}@media(max-width:768px){.toggle-ui-btn--inline{width:44px;height:44px;font-size:18px}}.control-panel__user{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:4px}.control-panel__email{font-size:10px;color:var(--text-dim);max-width:200px;overflow:hidden;text-overflow:ellipsis}.control-panel__badge{font-size:9px;font-weight:700;letter-spacing:.1em;padding:2px 6px;background:#8b5cf633;border:1px solid var(--accent);border-radius:4px;color:var(--accent)}.beta-badge{font-size:9px;font-weight:600;letter-spacing:.15em;margin-left:6px;padding:0;background:none;border:none;color:#ef4444;-webkit-text-fill-color:#ef4444;background-clip:unset;-webkit-background-clip:unset;text-transform:uppercase;vertical-align:super;position:relative;top:-2px;opacity:.8}.gate-card{position:relative}.gate-card>.beta-badge{position:absolute;top:14px;right:16px}.control-panel__auth-link{background:none;border:none;color:var(--text);font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer;padding:0;transition:color .15s}.control-panel__auth-link:hover{color:var(--accent)}.control-panel__verify-link{background:none;border:none;color:#f59e0b;font-size:10px;font-family:var(--font);cursor:pointer;padding:0;transition:opacity .15s}.control-panel__verify-link:hover{opacity:.8}.btn{padding:8px 14px;border:1px solid var(--panel-border);background:#8b5cf614;color:var(--text);border-radius:var(--radius);cursor:pointer;font-size:13px;font-family:var(--font);transition:all .15s;display:inline-flex;align-items:center;gap:6px}.btn:hover{border-color:var(--accent);background:#8b5cf626;box-shadow:0 0 12px var(--accent-glow)}.btn--active{background:#8b5cf640;border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.btn--sm{padding:4px 8px;font-size:12px}.btn--danger:hover{border-color:var(--danger);background:#ef444426;box-shadow:0 0 12px #ef44444d}.btn--file{cursor:pointer}.audio-input{display:flex;flex-direction:column;gap:10px}.audio-input__row{display:flex;gap:8px}.audio-input__row .btn{flex:1;justify-content:center}.audio-input__file-info{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#ffffff08;border-radius:var(--radius);font-size:12px}.audio-input__filename{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim)}.audio-input__loading{font-size:12px;color:var(--accent);animation:pulse 1s ease-in-out infinite}.audio-input__ios-hint{font-size:11px;color:#f59e0b;padding:6px 8px;background:#f59e0b1a;border-radius:4px;line-height:1.4}.device-picker{display:flex;flex-direction:column;gap:6px;padding:8px;background:#ffffff05;border:1px solid var(--panel-border);border-radius:var(--radius)}.device-picker__header{display:flex;align-items:center;justify-content:space-between}.device-picker__list{display:flex;flex-direction:column;gap:2px}.device-picker__item{padding:6px 10px;border:1px solid transparent;background:#ffffff08;color:var(--text);border-radius:6px;cursor:pointer;font-size:12px;font-family:var(--font);text-align:left;transition:all .12s}.device-picker__item:hover{border-color:var(--accent);background:#8b5cf61a;box-shadow:0 0 8px var(--accent-glow)}.device-picker__empty{font-size:11px;color:var(--text-dim);padding:4px 0}.device-picker__guide-toggle{background:none;border:none;color:var(--text-dim);font-size:11px;font-family:var(--font);cursor:pointer;text-align:left;padding:4px 0 0;transition:color .12s}.device-picker__guide-toggle:hover{color:var(--accent)}.setup-guide{padding:8px;background:#8b5cf60a;border:1px solid rgba(139,92,246,.1);border-radius:6px}.setup-guide__steps{margin:0;padding-left:18px;font-size:11px;color:var(--text-dim);display:flex;flex-direction:column;gap:6px;line-height:1.5}.setup-guide__steps strong{color:var(--text)}.setup-guide__steps a{color:var(--accent);text-decoration:none}.setup-guide__steps a:hover{text-decoration:underline}.audio-monitor{background:#ffffff08;border:1px solid var(--panel-border);border-radius:var(--radius);padding:12px}.audio-monitor__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.audio-monitor__note{font-size:28px;font-weight:800;transition:color .15s}.audio-monitor__beat{font-size:18px;color:var(--text-dim);transition:all .05s}.audio-monitor__beat--active{color:var(--accent);text-shadow:0 0 15px var(--accent);transform:scale(1.4)}.audio-monitor__bands{display:flex;gap:3px;height:40px;align-items:flex-end}.audio-monitor__band{flex:1;background:linear-gradient(to top,var(--accent),rgba(139,92,246,.3));border-radius:2px 2px 0 0;min-height:2px;transition:height .05s}.audio-monitor__stats{display:flex;justify-content:space-between;font-size:10px;color:var(--text-dim);margin-top:6px}.frequency-display{width:100%;height:60px;border-radius:var(--radius);background:#0000004d;border:1px solid var(--panel-border)}.preset-switcher{display:flex;flex-direction:column;gap:8px}.preset-switcher__grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.preset-btn{padding:8px 10px;border:1px solid var(--panel-border);background:#ffffff05;color:var(--text-dim);border-radius:var(--radius);cursor:pointer;font-size:12px;font-family:var(--font);font-weight:500;transition:all .15s}.preset-btn:hover{color:var(--text);border-color:var(--accent)}.preset-btn--active{color:var(--accent);border-color:var(--accent);background:#8b5cf61f;box-shadow:0 0 10px var(--accent-glow)}.slider{display:flex;flex-direction:column;gap:4px}.slider__label{display:flex;justify-content:space-between;font-size:12px;color:var(--text-dim)}.slider__value{color:var(--accent);font-variant-numeric:tabular-nums}.slider__input{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:#ffffff14;outline:none}.slider__input::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow);cursor:pointer;transition:transform .1s}.slider__input::-webkit-slider-thumb:hover{transform:scale(1.2)}.slider--disabled{opacity:.35;pointer-events:none}.scene-switcher__scene-controls{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06)}.panel-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.checkbox{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-dim);cursor:pointer}.checkbox input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px}.overlay-toggles{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:4px}.beatfx-effects{display:grid;grid-template-columns:repeat(3,1fr);gap:2px 8px;margin-top:6px}.control-panel__overlays .panel-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);opacity:.7}.checkbox--overlay{font-size:11px}.scene-switcher{display:flex;flex-direction:column;gap:8px}.scene-switcher__header{display:flex;flex-direction:column;gap:6px}.scene-switcher__nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.scene-switcher__current{font-size:14px;font-weight:600;color:var(--accent);text-align:center;flex:1;text-shadow:0 0 12px var(--accent-glow);background:none;border:none;cursor:pointer;font-family:var(--font);transition:opacity .15s}.scene-switcher__current:hover{opacity:.8}.scene-switcher__browse{background:#8b5cf614;border:1px solid var(--panel-border);color:var(--text-dim);font-size:11px;font-family:var(--font);padding:6px 12px;border-radius:6px;cursor:pointer;transition:all .15s;width:100%;text-align:center}.scene-switcher__browse:hover{border-color:var(--accent);color:var(--text);background:#8b5cf626}.scene-switcher__beat-sync{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-dim);cursor:pointer;margin-top:4px}.scene-switcher__beat-sync input[type=checkbox]{accent-color:var(--accent)}.settings-modal-overlay{position:fixed;inset:0;z-index:10100;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:flex-start;justify-content:flex-start;padding:60px 20px 20px;animation:gateFadeIn .2s ease}.settings-modal{width:100%;max-width:420px;max-height:85vh;background:#0c0a18f7;border:1px solid rgba(139,92,246,.2);border-radius:16px;display:flex;flex-direction:column;box-shadow:0 20px 80px #0009,0 0 40px #8b5cf614;overflow:hidden}.settings-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--panel-border)}.settings-modal__title{font-size:16px;font-weight:700;color:var(--text);margin:0}.settings-modal__close{background:none;border:none;color:var(--text-dim);font-size:24px;line-height:1;cursor:pointer;padding:4px 8px;transition:color .15s}.settings-modal__close:hover{color:var(--text)}.settings-modal__body{padding:16px 20px;overflow-y:auto}.settings-modal__section{margin-bottom:0}.settings-modal__section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin:0 0 12px}body:has(.scene-overlay) .control-panel,body:has(.scene-overlay) .toggle-ui-wrap{opacity:0!important;pointer-events:none!important;transition:opacity .2s ease}.scene-overlay{position:fixed;inset:0;z-index:10100;display:flex;align-items:center;justify-content:center;background:#00000073;backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2);animation:sceneOverlayIn .25s ease;overflow:hidden}@keyframes sceneOverlayIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}.scene-overlay__content{display:flex;flex-direction:column;width:90vw;max-width:1100px;max-height:85vh;background:#08061299;border:1px solid rgba(255,255,255,.08);border-radius:20px;overflow:hidden;box-shadow:0 30px 100px #00000080}.scene-overlay__top{display:flex;align-items:center;gap:12px;padding:20px 28px 16px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.scene-overlay__title{font-size:20px;font-weight:700;color:#fff;margin:0;letter-spacing:-.01em}.scene-overlay__count{font-size:12px;color:var(--text-dim);margin-right:auto}.scene-overlay__search-wrap{flex:0 1 260px}.scene-overlay__search{width:100%;padding:8px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--text);font-size:13px;font-family:var(--font);outline:none;transition:border-color .15s,background .15s}.scene-overlay__search:focus{border-color:var(--accent);background:#ffffff14}.scene-overlay__search::placeholder{color:#ffffff4d}.scene-overlay__reload{background:none;border:1px solid rgba(255,255,255,.1);color:var(--text-dim);font-size:16px;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.scene-overlay__reload:hover{color:var(--text);border-color:#fff3;background:#ffffff0d}.scene-overlay__reload:disabled{opacity:.4;cursor:default}.scene-overlay__close{background:none;border:1px solid rgba(255,255,255,.1);color:var(--text-dim);width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.scene-overlay__close:hover{color:#fff;border-color:#ffffff40;background:#ffffff14}.scene-overlay__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;padding:20px 28px 28px;overflow-y:auto;flex:1}.scene-overlay__grid::-webkit-scrollbar{width:5px}.scene-overlay__grid::-webkit-scrollbar-track{background:transparent}.scene-overlay__grid::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.scene-overlay__grid::-webkit-scrollbar-thumb:hover{background:#fff3}.scene-overlay__section{grid-column:1 / -1;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);padding:12px 0 4px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:4px}.scene-overlay__section--premium{margin-top:8px;padding-top:16px;border-top:1px solid rgba(139,92,246,.2);color:var(--accent)}.scene-overlay__category-group{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.scene-overlay__category{grid-column:1 / -1;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:#8b5cf699;padding:6px 0 2px 2px}.scene-overlay__empty{grid-column:1 / -1;text-align:center;padding:60px 20px;color:var(--text-dim);font-size:14px}.scene-card{position:relative;padding:14px 16px;border:1px solid rgba(255,255,255,.06);background:#ffffff08;color:var(--text-dim);border-radius:12px;cursor:pointer;font-family:var(--font);transition:all .2s;text-align:left;display:flex;flex-direction:column;gap:8px;overflow:hidden;min-height:90px;justify-content:flex-end}.scene-card__glow{position:absolute;inset:0;border-radius:12px;opacity:0;transition:opacity .3s;background:radial-gradient(ellipse at 50% 0%,rgba(139,92,246,.15),transparent 70%);pointer-events:none;z-index:3}.scene-card:hover{color:var(--text);border-color:#8b5cf659;background:#ffffff0d;transform:translateY(-1px)}.scene-card:hover .scene-card__glow{opacity:1}.scene-card--active{color:#fff;border-color:var(--accent);background:#8b5cf61f;box-shadow:0 0 20px #8b5cf626,inset 0 0 20px #8b5cf60d}.scene-card--active .scene-card__glow{opacity:1;background:radial-gradient(ellipse at 50% 0%,rgba(139,92,246,.25),transparent 70%)}.scene-card--locked{opacity:.35;cursor:not-allowed}.scene-card--locked:hover{transform:none;border-color:#ffffff0f;background:#ffffff08}.scene-card__thumb{position:absolute;inset:0;background-size:cover;background-position:center;border-radius:12px;opacity:0;transition:opacity .5s ease;z-index:0}.scene-card__thumb--loaded{opacity:1}.scene-card__overlay{position:absolute;inset:0;border-radius:12px;background:linear-gradient(to top,#000000d9,#0006,#00000026);z-index:1;pointer-events:none}.scene-card__name{font-size:13px;font-weight:500;line-height:1.3;position:relative;z-index:2}.scene-card__score{position:relative;z-index:2;width:100%;height:2px;background:#ffffff0f;border-radius:1px;overflow:hidden}.scene-card__score-fill{height:100%;background:linear-gradient(90deg,var(--accent),rgba(139,92,246,.5));border-radius:1px;transition:width .3s ease}.scene-card__badge{position:relative;z-index:2;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);opacity:.7}.scene-card__badge--locked{color:var(--text-dim)}.scene-card__complexity{position:relative;z-index:2;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;opacity:.8}.scene-card__perf-warn{position:absolute;top:4px;right:4px;z-index:3;font-size:14px;filter:drop-shadow(0 0 2px rgba(0,0,0,.8))}.scene-card--heavy{opacity:.7}.scene-card__playing{position:relative;z-index:2;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#34d399;display:flex;align-items:center;gap:4px}.scene-card__playing:before{content:"";width:6px;height:6px;border-radius:50%;background:#34d399;box-shadow:0 0 6px #34d39980;animation:scenePulse 1.5s ease infinite}@keyframes scenePulse{0%,to{opacity:1}50%{opacity:.4}}.scene-switcher__controls{display:flex;flex-direction:column;gap:6px;padding-top:4px}.mood-panel{display:flex;flex-direction:column;gap:4px;padding:10px;background:#ffffff05;border:1px solid var(--panel-border);border-radius:var(--radius)}.mood-panel__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.mood-panel__bpm{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent);letter-spacing:.03em;min-width:60px;text-align:right}.mood-meter{display:flex;align-items:center;gap:6px}.mood-meter__label{font-size:10px;color:var(--text-dim);width:64px;flex-shrink:0}.mood-meter__bar{flex:1;height:3px;background:#ffffff0f;border-radius:2px;overflow:hidden}.mood-meter__fill{height:100%;background:linear-gradient(90deg,var(--accent),#06b6d4);border-radius:2px;transition:width .5s ease}.mood-panel__tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px;min-height:20px}.mood-tag{font-size:10px;padding:2px 6px;border-radius:4px;background:#8b5cf626;color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums}.mood-tag--build{background:#fbbf2426;color:#fbbf24}.mood-tag--drop{background:#ef444433;color:#ef4444;animation:pulse .3s ease}.mood-tag--calm{background:#06b6d426;color:#06b6d4}.mood-tag--phrase{background:#a855f726;color:#a855f7;font-variant-numeric:tabular-nums}.tip-section{border-top:1px solid var(--panel-border);padding-top:12px}.tip-toggle{background:none;border:none;color:var(--text-dim);font-size:12px;font-family:var(--font);cursor:pointer;display:flex;align-items:center;gap:6px;transition:color .15s;padding:0}.tip-toggle:hover{color:var(--accent)}.tip-heart{color:#ef4444;font-size:14px}.tip-expanded{margin-top:8px;display:flex;flex-direction:column;gap:8px}.tip-amount-row{display:flex;align-items:center;gap:4px}.tip-currency{font-size:14px;color:var(--text-dim);font-weight:600}.tip-amount-input{flex:1;padding:6px 10px;background:#ffffff0d;border:1px solid var(--panel-border);border-radius:6px;color:var(--text);font-size:14px;font-family:var(--font);outline:none;width:60px}.tip-amount-input:focus{border-color:var(--accent)}.tip-send{padding:6px 12px;background:#8b5cf626;border:1px solid var(--accent);border-radius:6px;color:var(--accent);font-size:12px;font-family:var(--font);font-weight:600;cursor:pointer;transition:all .15s}.tip-send:hover{background:#8b5cf640;box-shadow:0 0 12px var(--accent-glow)}.tip-send:disabled{opacity:.5;cursor:not-allowed}.tip-modal-overlay{position:fixed;inset:0;z-index:99998;background:#000000b3;display:flex;align-items:center;justify-content:center;padding:20px;animation:gateFadeIn .2s ease}.tip-modal-card{position:relative;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;padding:24px 28px;min-width:260px;max-width:100%;box-shadow:0 20px 40px #0006}.tip-modal-close{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--text-dim);font-size:22px;line-height:1;cursor:pointer;padding:4px;border-radius:4px;transition:color .15s,background .15s}.tip-modal-close:hover{color:var(--text);background:#ffffff14}.tip-modal-title{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px}.tip-modal-card .tip-amount-row{margin-bottom:12px}.tip-modal-error{font-size:12px;color:#ef4444;margin:0 0 12px}.tip-modal-actions{display:flex;gap:10px;align-items:center}.tip-modal-actions .tip-send{flex:1}.tip-modal-cancel{padding:6px 12px;background:#ffffff0f;border:1px solid var(--panel-border);border-radius:6px;color:var(--text-dim);font-size:12px;font-family:var(--font);cursor:pointer;transition:background .15s,color .15s}.tip-modal-cancel:hover{background:#ffffff1a;color:var(--text)}.photo-warn-overlay{position:fixed;inset:0;z-index:99999;background:#000000d9;display:flex;align-items:center;justify-content:center;animation:gateFadeIn .3s ease}.photo-warn-card{max-width:440px;width:90%;padding:40px 36px;background:#0c0a18f2;border:1px solid rgba(239,68,68,.4);border-radius:16px;text-align:center}.photo-warn-title{font-size:18px;font-weight:700;color:#ef4444;margin-bottom:16px;letter-spacing:.05em}.photo-warn-text{font-size:14px;color:var(--text-dim);line-height:1.6;margin-bottom:12px}.photo-warn-text strong{color:var(--text)}.photo-warn-btn{margin-top:20px;padding:12px 32px;background:#ef444426;border:1px solid #ef4444;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.photo-warn-btn:hover{background:#ef44444d}.gate-overlay{position:fixed;inset:0;z-index:2000;background:transparent;display:flex;align-items:center;justify-content:center;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);overflow-y:auto;-webkit-overflow-scrolling:touch;animation:gateFadeIn .4s ease}.gate-card{max-width:360px;width:90%;max-height:calc(100dvh - 40px);overflow-y:auto;padding:28px 24px;background:#0c0a18e6;border:1px solid rgba(139,92,246,.2);border-radius:14px;text-align:center;box-shadow:0 0 60px #8b5cf61a,0 20px 60px #00000080;animation:gateCardIn .6s ease both}@supports not (height: 100dvh){.gate-card{max-height:calc(100vh - 40px)}}@keyframes gateCardIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.gate-title{font-size:24px;font-weight:800;letter-spacing:.15em;background:linear-gradient(90deg,#a855f7,#ec4899,#f97316,#eab308,#22c55e,#06b6d4,#6366f1,#a855f7);background-size:300% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:titleColorShift 6s linear infinite;margin-bottom:8px}.gate-tagline{font-size:14px;color:var(--text-dim);margin-bottom:8px;line-height:1.5}.gate-learn-more{display:inline-block;font-size:15px;font-weight:500;color:var(--accent);text-decoration:none;margin-bottom:28px;letter-spacing:.02em;transition:opacity .15s,color .15s}.gate-learn-more:hover{text-decoration:underline;color:#a78bfa}.gate-cta{display:block;width:100%;padding:14px 24px;background:linear-gradient(135deg,var(--accent),#7c3aed);border:none;border-radius:10px;color:#fff;font-size:16px;font-weight:700;font-family:var(--font);cursor:pointer;transition:all .2s;box-shadow:0 4px 20px #8b5cf64d}.gate-cta:hover{transform:translateY(-1px);box-shadow:0 6px 28px #8b5cf673}.gate-cta:disabled{opacity:.6;cursor:not-allowed;transform:none}.gate-cta-sub{font-size:12px;color:var(--text-dim);margin-top:8px;margin-bottom:20px}.gate-cta-methods{font-size:11px;opacity:.7}.gate-free-form{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:8px;margin-bottom:8px}.gate-mode-toggle{display:flex;gap:0;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.15);width:100%;max-width:280px}.gate-mode-btn{flex:1;padding:8px 0;font-size:13px;font-weight:600;background:transparent;color:#ffffff80;border:none;cursor:pointer;transition:all .2s}.gate-mode-btn--active{background:var(--accent);color:#fff}.gate-mode-btn:hover:not(.gate-mode-btn--active){color:#fffc;background:#ffffff0d}.gate-free-label{font-size:14px;color:var(--text);margin:0}.gate-free-input{width:100%;max-width:280px;padding:10px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:var(--text);font-size:14px;text-align:center;outline:none;transition:border-color .15s}.gate-free-input:focus{border-color:var(--accent)}.gate-error{color:#ef4444;font-size:13px;margin-bottom:12px}.gate-success{color:#22c55e;font-size:13px;margin-bottom:12px}.gate-resend{margin-top:4px;margin-bottom:12px;padding:6px 0;background:none;border:none;color:var(--accent);font-size:12px;cursor:pointer;text-decoration:underline}.gate-resend:hover{color:var(--text)}.gate-recover{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:12px;background:#ffffff0d;border-radius:8px}.gate-recover__input{padding:8px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:#0000004d;color:#fff;font-size:14px;outline:none}.gate-recover__input:focus{border-color:var(--accent)}.gate-recover__btn{padding:8px 16px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-size:14px;cursor:pointer}.gate-recover__btn:disabled{opacity:.6}.gate-recover__msg{font-size:12px;margin:0}.gate-recover__msg--ok{color:#22c55e}.gate-recover__msg--err{color:#ef4444}.gate-forgot{background:none;border:none;color:var(--accent);font-size:12px;font-family:var(--font);cursor:pointer;padding:4px 0;opacity:.8;transition:opacity .15s}.gate-forgot:hover{opacity:1}.gate-mode-slot{height:56px;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden}.gate-back-btn{background:none;border:none;color:var(--text-dim);font-size:12px;font-family:var(--font);cursor:pointer;padding:4px 0;margin-bottom:8px;text-align:left;transition:color .15s}.gate-back-btn:hover{color:var(--accent)}.gate-try{background:none;border:1px solid var(--accent);border-radius:8px;color:var(--accent);font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer;padding:8px 18px;margin-top:4px;letter-spacing:.02em;transition:background .15s,color .15s}.gate-try:hover{background:#8b5cf61f;color:#a78bfa}.gate-signin{background:none;border:1px solid var(--panel-border);color:var(--text-dim);font-size:12px;font-family:var(--font);cursor:pointer;padding:8px 16px;border-radius:8px;margin-top:8px;transition:all .15s}.gate-signin:hover{border-color:var(--accent);color:var(--text)}.gate-footer{margin-top:24px;font-size:11px;color:var(--text-dim);display:flex;align-items:center;justify-content:center;gap:8px}.gate-footer a{color:var(--text-dim);text-decoration:none;transition:color .15s}.gate-footer a:hover{color:var(--accent)}.gate-company{margin-top:32px;font-size:10px;color:#fff3}.gate-version{margin-top:4px;font-size:9px;color:#ffffff26;transition:color .15s ease}.gate-version:hover{color:#fffffff2}.trial-badge{position:fixed;top:16px;right:16px;z-index:200;display:flex;align-items:center;gap:10px;padding:8px 14px;background:#080612d9;border:1px solid var(--panel-border);border-radius:20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:gateFadeIn .3s ease}.trial-badge__time{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.trial-badge__uses{font-size:11px;color:#c8c8e680}.trial-badge__unlock{background:#8b5cf633;border:1px solid var(--accent);color:var(--accent);font-size:11px;font-weight:600;font-family:var(--font);padding:4px 10px;border-radius:12px;cursor:pointer;transition:all .15s}.trial-badge__unlock:hover{background:#8b5cf659;box-shadow:0 0 10px var(--accent-glow)}.auth-overlay{position:fixed;inset:0;z-index:3000;background:#000000b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;animation:gateFadeIn .3s ease}.auth-card{position:relative;max-width:380px;width:90%;padding:32px 28px;background:#0c0a18f2;border:1px solid rgba(139,92,246,.2);border-radius:14px;box-shadow:0 20px 60px #00000080}.auth-close{position:absolute;top:12px;right:14px;background:none;border:none;color:var(--text-dim);font-size:22px;cursor:pointer;line-height:1;transition:color .15s}.auth-close:hover{color:var(--text)}.auth-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--panel-border)}.auth-tab{flex:1;padding:10px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-size:14px;font-weight:600;font-family:var(--font);cursor:pointer;transition:all .15s}.auth-tab:hover{color:var(--text)}.auth-tab--active{color:var(--accent);border-bottom-color:var(--accent)}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-input{padding:10px 14px;background:#ffffff0d;border:1px solid var(--panel-border);border-radius:8px;color:var(--text);font-size:14px;font-family:var(--font);outline:none;transition:border-color .15s}.auth-input:focus{border-color:var(--accent)}.auth-input::placeholder{color:var(--text-dim)}.auth-error{font-size:12px;color:var(--danger);padding:6px 10px;background:#ef444414;border-radius:6px}.auth-success{font-size:12px;color:var(--success, #22c55e);padding:6px 10px;background:#22c55e1a;border-radius:6px}.auth-resend{margin-top:8px;padding:6px 0;background:none;border:none;color:var(--accent);font-size:12px;cursor:pointer;text-decoration:underline}.auth-resend:hover{color:var(--text)}.auth-submit{padding:12px;background:linear-gradient(135deg,var(--accent),#7c3aed);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:700;font-family:var(--font);cursor:pointer;transition:all .15s}.auth-submit:hover{box-shadow:0 4px 16px #8b5cf659}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--text-dim);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--panel-border)}.auth-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px;background:#ffffff0d;border:1px solid var(--panel-border);border-radius:8px;color:var(--text);font-size:13px;font-weight:600;font-family:var(--font);cursor:pointer;transition:all .15s}.auth-google:hover{border-color:var(--accent);background:#ffffff14}.auth-legal{margin-top:16px;font-size:11px;color:var(--text-dim);text-align:center;line-height:1.5}.auth-legal a{color:var(--accent);text-decoration:none}.auth-legal a:hover{text-decoration:underline}.auth-footer{margin-top:20px;padding-top:14px;border-top:1px solid var(--panel-border);text-align:center}.auth-company{font-size:10px;color:#ffffff59;margin-bottom:4px}.auth-version{font-size:10px;color:#fff3;font-variant-numeric:tabular-nums;transition:color .15s ease}.auth-version:hover{color:#fffffff2}.legal-backdrop{position:fixed;inset:0;z-index:10150;background:#0009;cursor:pointer;animation:gateFadeIn .3s ease}.legal-page{position:fixed;inset:0;z-index:10151;background:#080612fa;color:var(--text);overflow-y:auto;padding:60px 40px 40px;max-width:720px;margin:0 auto;font-size:14px;line-height:1.7;animation:gateFadeIn .3s ease;pointer-events:auto}.legal-page h1{font-size:24px;font-weight:800;letter-spacing:.05em;color:var(--accent);margin-bottom:4px}.legal-page h2{font-size:16px;font-weight:700;color:var(--text);margin-top:28px;margin-bottom:8px}.legal-page p{margin-bottom:12px;color:var(--text-dim)}.legal-page ul{margin-bottom:12px;padding-left:20px;color:var(--text-dim)}.legal-page li{margin-bottom:4px}.legal-page a{color:var(--accent);text-decoration:none}.legal-page a:hover{text-decoration:underline}.legal-page strong{color:var(--text)}.legal-updated{font-size:12px;color:var(--text-dim);margin-bottom:24px}.legal-back{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:720px;z-index:10152;display:flex;align-items:center;gap:6px;padding:12px 40px;font-size:14px;font-weight:600;color:var(--text);background:#080612f2;border-bottom:1px solid var(--panel-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);text-decoration:none;transition:background .15s}.legal-back:hover{background:#8b5cf626;color:var(--accent)}.legal-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:13px}.legal-table th,.legal-table td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--panel-border)}.legal-table th{color:var(--text);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.legal-table td{color:var(--text-dim)}.gate-intro-counter{margin:14px 0 6px;text-align:center}.gate-intro-counter__bar{width:100%;height:6px;border-radius:3px;background:#ffffff1a;overflow:hidden;margin-bottom:8px}.gate-intro-counter__fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent),#a855f7);transition:width .6s ease}.gate-intro-counter__text{font-size:12px;color:var(--text-dim);margin:0}.gate-intro-counter__text strong{color:var(--accent);font-weight:700}.gate-intro-ended{font-size:12px;color:var(--text-dim);margin:10px 0 4px;text-align:center}.presence-indicator{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:8px;padding:4px 0}.presence-indicator__dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 6px #22c55e99;animation:presencePulse 2s ease-in-out infinite}.presence-indicator__text{font-size:11px;color:var(--text-dim);letter-spacing:.02em}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes presencePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes gateFadeIn{0%{opacity:0}to{opacity:1}}@keyframes gateShimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes titleColorShift{0%{background-position:0% 50%}to{background-position:300% 50%}}.landing-page{max-width:780px}.landing-subtitle{font-size:18px;color:var(--text);margin-bottom:32px;line-height:1.5}.landing-page section{margin-top:40px}.landing-steps{padding-left:20px;color:var(--text-dim)}.landing-steps li{margin-bottom:12px;line-height:1.6}.landing-features{display:grid;grid-template-columns:1fr 1fr;gap:20px}.landing-feature,.landing-usecase{background:#7c3aed0f;border:1px solid rgba(124,58,237,.15);border-radius:10px;padding:18px}.landing-feature h3,.landing-usecase h3{font-size:14px;font-weight:700;color:var(--accent);margin-bottom:6px}.landing-feature p,.landing-usecase p{font-size:13px;line-height:1.6;color:var(--text-dim);margin-bottom:0}.landing-usecases{display:grid;grid-template-columns:1fr 1fr;gap:20px}.landing-scene-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.landing-scene-list h3{font-size:13px;font-weight:700;color:var(--accent);margin-bottom:4px}.landing-scene-list p{font-size:12px;line-height:1.6;color:var(--text-dim);margin-bottom:0}.landing-table-wrap{overflow-x:auto;margin:16px 0}.landing-table{width:100%;border-collapse:collapse;font-size:13px}.landing-table th,.landing-table td{padding:10px 14px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08)}.landing-table th{font-weight:700;color:var(--text);background:#7c3aed1a;white-space:nowrap}.landing-table td{color:var(--text-dim)}.landing-table tbody tr:hover{background:#7c3aed0d}.landing-faq{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.06)}.landing-faq:last-child{border-bottom:none}.landing-faq h3{font-size:15px;font-weight:700;color:var(--text);margin-bottom:6px}.landing-faq p{font-size:14px;line-height:1.7}.landing-cta-section{text-align:center;padding:40px 20px;margin-top:48px;background:linear-gradient(135deg,#7c3aed1f,#a855f714);border-radius:16px;border:1px solid rgba(124,58,237,.2)}.landing-cta-section h2{color:var(--text);margin-top:0}.landing-cta-btn{display:inline-block;padding:16px 44px;background:transparent;border:2px solid rgba(168,85,247,.5);border-radius:12px;font-size:18px;font-weight:700;letter-spacing:.05em;text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s,filter .15s,border-color .15s;margin:12px 0;background-image:linear-gradient(90deg,#a855f7,#ec4899,#f97316,#eab308,#22c55e,#06b6d4,#6366f1,#a855f7);background-size:300% 100%;animation:titleColorShift 6s linear infinite;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.landing-cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px #a855f766,0 4px 15px #ec48994d;filter:brightness(1.15);text-decoration:none;border-color:#a855f7cc}.landing-cta-sub{font-size:12px;color:var(--text-dim);margin-top:8px}.landing-footer{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);text-align:center}.landing-footer p{font-size:12px;color:var(--text-dim)}@media(max-width:600px){.landing-features,.landing-usecases,.landing-scene-list{grid-template-columns:1fr}.landing-page{padding:20px}}.reset-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a0a1a,#1a1a3a,#0a0a2a)}.reset-card{background:#141428f2;border:1px solid rgba(100,120,255,.3);border-radius:16px;padding:40px 36px;max-width:380px;width:90vw;text-align:center;box-shadow:0 0 60px #5064ff26}.reset-icon{font-size:48px;margin-bottom:12px}.reset-title{font-size:22px;font-weight:600;color:#e8e8ff;margin:0 0 8px}.reset-subtitle{font-size:13px;color:#c8c8e699;margin:0 0 28px}.reset-form{display:flex;flex-direction:column;gap:6px}.reset-label{font-size:12px;color:#c8c8e6b3;text-align:left;margin-top:8px}.reset-input{width:100%;padding:12px 14px;background:#ffffff0f;border:1px solid rgba(100,120,255,.25);border-radius:8px;color:#e8e8ff;font-size:14px;outline:none;transition:border-color .2s;box-sizing:border-box}.reset-input:focus{border-color:#6478ff99}.reset-input::placeholder{color:#c8c8e659}.reset-btn{margin-top:16px;padding:12px 24px;background:linear-gradient(135deg,#5a6aff,#7b4fff);color:#fff;font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:opacity .2s}.reset-btn:hover:not(:disabled){opacity:.9}.reset-btn:disabled{opacity:.4;cursor:not-allowed}.reset-error{color:#ff6b6b;font-size:13px;margin-top:12px}.reset-success{display:flex;flex-direction:column;align-items:center;gap:12px}.reset-check{width:56px;height:56px;border-radius:50%;background:#50c87826;border:2px solid rgba(80,200,120,.5);display:flex;align-items:center;justify-content:center;font-size:28px;color:#50c878}.reset-success-text{font-size:15px;color:#e8e8ff}.pro-gate-overlay{position:fixed;inset:0;z-index:10200;display:flex;align-items:center;justify-content:center;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pro-gate-card{position:relative;background:linear-gradient(135deg,#141432f7,#1e193cf7);border:1px solid rgba(139,92,246,.3);border-radius:16px;padding:36px 32px 28px;max-width:420px;width:92vw;max-height:90vh;overflow-y:auto;box-shadow:0 0 60px #8b5cf626}.pro-gate-close{position:absolute;top:12px;right:14px;background:none;border:none;color:#c8c8e680;font-size:22px;cursor:pointer;padding:4px 8px}.pro-gate-title{margin:0 0 6px;font-size:22px;font-weight:700;background:linear-gradient(135deg,#b482ff,#5a6aff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-align:center}.pro-gate-subtitle{margin:0 0 24px;font-size:13px;color:#c8c8e699;text-align:center;line-height:1.5}.pro-gate-features{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}.pro-gate-feature{display:flex;gap:12px;align-items:flex-start}.pro-gate-feature-icon{font-size:18px;flex-shrink:0;width:28px;text-align:center;margin-top:2px}.pro-gate-feature strong{font-size:13px;color:#e8e8ff;display:block;margin-bottom:2px}.pro-gate-feature p{margin:0;font-size:12px;color:#c8c8e680;line-height:1.4}.pro-gate-plans{display:flex;gap:10px;margin-bottom:16px}.pro-gate-plan{flex:1;padding:14px 8px;background:#ffffff0a;border:1px solid rgba(100,120,255,.15);border-radius:10px;cursor:pointer;text-align:center;transition:all .2s;position:relative}.pro-gate-plan--active{border-color:#8b5cf699;background:#8b5cf61a;box-shadow:0 0 20px #8b5cf61a}.pro-gate-plan-price{display:block;font-size:20px;font-weight:700;color:#e8e8ff}.pro-gate-plan-period{display:block;font-size:12px;color:#c8c8e680}.pro-gate-plan-save{display:inline-block;margin-top:6px;font-size:10px;padding:2px 8px;background:#50c87826;color:#50c878;border-radius:10px;font-weight:600}.pro-gate-cta{width:100%;padding:14px;background:linear-gradient(135deg,#7b4fff,#5a6aff);color:#fff;font-size:15px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:opacity .2s}.pro-gate-cta:hover:not(:disabled){opacity:.9}.pro-gate-cta:disabled{opacity:.4;cursor:not-allowed}.pro-gate-error{margin:12px 0 0;color:#ff6b6b;font-size:12px;text-align:center}.pro-gate-note{margin:14px 0 0;font-size:11px;color:#c8c8e666;text-align:center}.control-panel__badge--pro{background:linear-gradient(135deg,#7b4fff,#5a6aff);color:#fff;font-size:10px;padding:2px 6px;border-radius:4px;font-weight:700;letter-spacing:.5px}.control-panel__manage-link{background:none;border:none;color:#c8c8e680;font-size:11px;cursor:pointer;padding:0;text-decoration:underline}.control-panel__manage-link:hover{color:var(--accent)}.control-panel__tabs{display:flex;gap:0;margin:8px 0;border-radius:6px;overflow:hidden;border:1px solid rgba(100,120,255,.15)}.control-panel__tab{flex:1;padding:8px 0;background:#ffffff08;color:#c8c8e680;border:none;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s}.control-panel__tab--active{background:#8b5cf626;color:#e8e8ff;box-shadow:inset 0 -2px #8b5cf680}.control-panel__tab:hover:not(.control-panel__tab--active){background:#ffffff0f}.pl-panel{display:flex;flex-direction:column;gap:10px}.pl-locked{padding:16px 0;text-align:center}.pl-locked-text{font-size:12px;color:#c8c8e680;margin:0 0 12px;line-height:1.5}.pl-unlock-btn{padding:10px 24px;background:linear-gradient(135deg,#7b4fff,#5a6aff);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600}.pl-unlock-btn:hover{opacity:.9}.pl-list{display:flex;flex-direction:column;gap:6px}.pl-loading{font-size:11px;color:#c8c8e666;text-align:center;margin:0}.pl-now-playing{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);border-radius:6px;font-size:12px;color:#e8e8ff}.pl-stop-btn{padding:4px 10px;background:#ff646426;color:#ff6b6b;border:1px solid rgba(255,100,100,.2);border-radius:4px;cursor:pointer;font-size:11px}.pl-list-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#ffffff08;border:1px solid rgba(100,120,255,.08);border-radius:6px;cursor:pointer;transition:background .15s}.pl-list-item:hover{background:#ffffff0f}.pl-list-item-info{display:flex;flex-direction:column;gap:2px;flex:1}.pl-list-item-name{font-size:13px;color:#e8e8ff}.pl-list-item-count{font-size:11px;color:#c8c8e666}.pl-list-item-actions{display:flex;gap:4px}.pl-mini-play,.pl-mini-delete{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(100,120,255,.1);border-radius:4px;color:#c8c8e680;cursor:pointer;font-size:12px}.pl-mini-play:hover{color:#50c878;border-color:#50c87833}.pl-mini-delete:hover{color:#ff6b6b;border-color:#ff646433}.pl-create-btn{padding:10px;background:#8b5cf614;border:1px dashed rgba(139,92,246,.25);border-radius:6px;color:#c8c8e699;cursor:pointer;font-size:12px;transition:all .2s}.pl-create-btn:hover{background:#8b5cf626;color:#e8e8ff}.pl-community-btn{padding:8px;background:none;border:1px solid rgba(100,120,255,.15);border-radius:6px;color:#c8c8e680;cursor:pointer;font-size:12px;transition:all .2s}.pl-community-btn:hover{border-color:#8b5cf64d;color:#e8e8ff}.pl-editor{display:flex;flex-direction:column;gap:8px}.pl-editor-header{display:flex;align-items:center;gap:8px}.pl-back-btn{background:none;border:none;color:#c8c8e680;font-size:18px;cursor:pointer;padding:0 4px}.pl-editor-title{margin:0;font-size:15px;color:#e8e8ff;cursor:pointer;flex:1}.pl-editor-title:hover{text-decoration:underline;text-decoration-style:dotted}.pl-name-input{flex:1;background:#ffffff0d;border:1px solid rgba(139,92,246,.3);border-radius:4px;color:#e8e8ff;padding:4px 8px;font-size:14px}.pl-editor-actions{display:flex;gap:8px;align-items:center}.pl-play-btn{padding:6px 16px;background:#50c8781f;border:1px solid rgba(80,200,120,.25);border-radius:4px;color:#50c878;cursor:pointer;font-size:12px;font-weight:600}.pl-play-btn:hover{background:#50c87833}.pl-public-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:#c8c8e680;cursor:pointer}.pl-public-toggle input{cursor:pointer}.pl-items-list{display:flex;flex-direction:column;gap:4px}.pl-item{background:#ffffff08;border:1px solid rgba(100,120,255,.08);border-radius:6px;overflow:hidden}.pl-item-row{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;transition:background .15s}.pl-item-row:hover{background:#ffffff0a}.pl-item-pos{font-size:11px;color:#c8c8e64d;width:18px;text-align:center}.pl-item-scene{flex:1;font-size:12px;color:#e8e8ff}.pl-item-dur{font-size:11px;color:#c8c8e666}.pl-item-arrows{display:flex;gap:2px}.pl-item-arrows button{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:none;border-radius:3px;color:#c8c8e666;cursor:pointer;font-size:11px}.pl-item-arrows button:hover:not(:disabled){color:#e8e8ff}.pl-item-arrows button:disabled{opacity:.2;cursor:default}.pl-item-config{padding:10px 12px;border-top:1px solid rgba(100,120,255,.08);display:flex;flex-direction:column;gap:8px}.pl-item-header{display:flex;justify-content:space-between;align-items:center}.pl-item-name{font-size:12px;color:#c8c8e699}.pl-item-remove{background:none;border:none;color:#ff6b6b;font-size:16px;cursor:pointer;padding:0 4px}.pl-item-field{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#c8c8e680}.pl-item-field select,.pl-item-field input[type=range]{width:100%}.pl-item-field select{background:#ffffff0d;border:1px solid rgba(100,120,255,.1);border-radius:4px;color:#e8e8ff;padding:4px 6px;font-size:11px}.pl-scene-picker{border:1px solid rgba(100,120,255,.12);border-radius:6px;overflow:hidden}.pl-scene-picker-header{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#ffffff08;font-size:12px;color:#e8e8ff}.pl-scene-picker-header button{background:none;border:none;color:#c8c8e680;font-size:16px;cursor:pointer}.pl-scene-picker-list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column}.pl-scene-pick-btn{padding:6px 10px;background:none;border:none;border-top:1px solid rgba(100,120,255,.05);color:#c8c8e699;cursor:pointer;font-size:12px;text-align:left;transition:background .15s}.pl-scene-pick-btn:hover{background:#8b5cf61a;color:#e8e8ff}.pl-add-scene-btn{padding:8px;background:#8b5cf60f;border:1px dashed rgba(139,92,246,.2);border-radius:6px;color:#c8c8e680;cursor:pointer;font-size:12px;transition:all .2s}.pl-add-scene-btn:hover{background:#8b5cf61f;color:#e8e8ff}.cg-panel{display:flex;flex-direction:column;gap:10px}.cg-header{display:flex;align-items:center;gap:8px}.cg-back-btn{background:none;border:none;color:#c8c8e680;font-size:18px;cursor:pointer;padding:0 4px}.cg-title{margin:0;font-size:15px;color:#e8e8ff}.cg-sort{display:flex;gap:6px}.cg-sort-btn{padding:5px 10px;background:#ffffff08;border:1px solid rgba(100,120,255,.1);border-radius:4px;color:#c8c8e680;cursor:pointer;font-size:11px}.cg-sort-btn--active{border-color:#8b5cf64d;color:#e8e8ff;background:#8b5cf61a}.cg-list{display:flex;flex-direction:column;gap:6px}.cg-item{padding:10px;background:#ffffff08;border:1px solid rgba(100,120,255,.08);border-radius:6px}.cg-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.cg-item-name{font-size:13px;color:#e8e8ff;font-weight:600}.cg-item-meta{display:flex;gap:10px;font-size:11px;color:#c8c8e666}.cg-item-actions{display:flex;gap:6px;margin-top:6px}.cg-action-btn{padding:5px 12px;background:#ffffff0d;border:1px solid rgba(100,120,255,.1);border-radius:4px;color:#c8c8e680;cursor:pointer;font-size:11px;transition:all .15s}.cg-action-btn:hover{background:#8b5cf61a;border-color:#8b5cf633;color:#e8e8ff}.cg-action-btn--liked{color:#ff6b8a;border-color:#ff6b8a33}.cg-empty{text-align:center;font-size:12px;color:#c8c8e666;padding:20px 0}.pl-progress{position:fixed;bottom:0;left:0;right:0;z-index:200;background:#0c0c1ed9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid rgba(139,92,246,.15)}.pl-progress-bar{position:absolute;top:0;left:0;height:2px;background:linear-gradient(90deg,#7b4fff,#5a6aff);transition:width .3s ease}.pl-progress-content{display:flex;align-items:center;gap:8px;padding:8px 16px}.pl-progress-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(100,120,255,.1);border-radius:50%;color:#c8c8e699;cursor:pointer;font-size:16px;flex-shrink:0}.pl-progress-btn:hover{background:#8b5cf626;color:#e8e8ff}.pl-progress-info{flex:1;text-align:center;min-width:0}.pl-progress-name{display:block;font-size:12px;color:#e8e8ff;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-progress-scene{font-size:11px;color:#c8c8e666}.pl-progress-stop{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ff64641a;border:1px solid rgba(255,100,100,.15);border-radius:50%;color:#ff6b6b;cursor:pointer;font-size:14px;flex-shrink:0}.pl-progress-stop:hover{background:#ff646433}.pl-share-btn{padding:6px 12px;background:#6478ff14;border:1px solid rgba(100,120,255,.15);border-radius:4px;color:#c8c8e680;cursor:pointer;font-size:11px}.pl-share-btn:hover{background:#6478ff26;color:#e8e8ff}.pl-share-copied{color:#50c878!important}.studio-overlay{position:fixed;inset:0;z-index:10000;background:#0a0a0f;display:flex;flex-direction:column}.studio-layout{display:flex;flex-direction:column;height:100%}.studio-topbar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#14141ef2;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.studio-back{background:none;border:none;color:#aab;font-size:14px;cursor:pointer;padding:6px 10px;border-radius:6px}.studio-back:hover{background:#ffffff0f;color:#fff}.studio-name-input{flex:1;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#fff;font-size:15px;padding:7px 12px;border-radius:6px;outline:none;font-weight:500}.studio-name-input:focus{border-color:#6478ff66}.studio-topbar-actions{display:flex;align-items:center;gap:10px}.studio-publish-toggle{display:flex;align-items:center;gap:6px;color:#aab;font-size:12px;cursor:pointer}.studio-publish-toggle input{cursor:pointer}.studio-save-btn{background:linear-gradient(135deg,#7b4fff,#5a6aff);color:#fff;border:none;padding:7px 18px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .2s}.studio-save-btn:disabled{opacity:.4;cursor:default}.studio-save-btn--saved{background:#2d8a4e}.studio-main{flex:1;display:flex;min-height:0}.studio-chat{width:400px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.08);background:#0f0f16f2;flex-shrink:0}.studio-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.studio-welcome{color:#888;font-size:13px;line-height:1.6;padding:20px 0}.studio-welcome h3{color:#ccd;font-size:18px;margin:0 0 12px}.studio-welcome ul{margin:8px 0;padding-left:18px}.studio-welcome li{margin:4px 0;color:#99a;font-style:italic}.studio-msg{border-radius:10px;padding:10px 14px;max-width:100%;font-size:13px;line-height:1.5}.studio-msg--user{background:#6478ff1f;border:1px solid rgba(100,120,255,.2);align-self:flex-end}.studio-msg--ai{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);align-self:flex-start}.studio-msg__role{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#778;margin-bottom:4px}.studio-msg__text{color:#dde;white-space:pre-wrap;word-break:break-word}.studio-msg__code{margin-top:8px}.studio-msg__code summary{color:#7b8aff;cursor:pointer;font-size:12px;font-weight:500}.studio-msg__code pre{background:#0000004d;color:#9ab;padding:10px;border-radius:6px;font-size:11px;line-height:1.4;overflow-x:auto;margin-top:6px;max-height:200px;overflow-y:auto}.studio-generating{color:#7b8aff}.studio-dots:after{content:"";animation:studio-dots 1.5s steps(3,end) infinite}@keyframes studio-dots{0%{content:""}33%{content:"."}66%{content:".."}to{content:"..."}}.studio-input-area{padding:12px;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0}.studio-compile-error{background:#ff3c3c1a;border:1px solid rgba(255,60,60,.25);color:#ff8080;padding:8px 12px;border-radius:6px;font-size:11px;margin-bottom:8px;display:flex;gap:6px;align-items:flex-start}.studio-compile-error__icon{flex-shrink:0}.studio-input-row{display:flex;gap:8px}.studio-input{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;font-size:13px;padding:10px 12px;border-radius:8px;resize:none;outline:none;font-family:inherit}.studio-input:focus{border-color:#6478ff66}.studio-send-btn{background:linear-gradient(135deg,#7b4fff,#5a6aff);color:#fff;border:none;width:40px;border-radius:8px;font-size:16px;cursor:pointer;flex-shrink:0}.studio-send-btn:disabled{opacity:.3;cursor:default}.studio-preview{flex:1;position:relative;display:flex;align-items:center;justify-content:center;background:#000;min-width:0}.studio-preview-canvas{width:100%;height:100%;display:block}.studio-preview-placeholder{color:#556;font-size:14px;text-align:center}.studio-compile-ok{position:absolute;top:12px;right:12px;background:#288c46cc;color:#fff;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600}.studio-play-live{position:fixed;bottom:20px;right:20px;z-index:10001;background:linear-gradient(135deg,#7b4fff,#5a6aff);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 20px #6478ff4d}.studio-play-live:hover{transform:translateY(-1px);box-shadow:0 6px 24px #6478ff66}.studio-list{display:flex;flex-direction:column;gap:6px;padding:8px 0}.studio-list-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:6px;cursor:pointer;transition:background .15s}.studio-list-item:hover{background:#ffffff0f}.studio-list-item__name{flex:1;color:#dde;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-list-item__actions{display:flex;gap:4px}.studio-list-item__btn{background:none;border:none;color:#778;font-size:13px;cursor:pointer;padding:2px 6px;border-radius:4px}.studio-list-item__btn:hover{color:#bbc;background:#ffffff0f}.studio-list-item__btn--delete:hover{color:#ff6b6b}.studio-create-btn{background:linear-gradient(135deg,#7b4fff26,#5a6aff26);border:1px dashed rgba(123,79,255,.3);color:#9ba8ff;padding:10px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;text-align:center;margin-top:4px}.studio-create-btn:hover{background:linear-gradient(135deg,#7b4fff40,#5a6aff40);color:#bbc8ff}.studio-pro-label{font-size:9px;background:linear-gradient(135deg,#7b4fff,#5a6aff);color:#fff;padding:1px 5px;border-radius:3px;font-weight:700;letter-spacing:.3px;margin-left:4px}.sg-panel{padding:8px 0}.sg-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sg-header h4{color:#ccd;font-size:13px;margin:0}.sg-sort{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#aab;font-size:11px;padding:4px 8px;border-radius:4px;cursor:pointer}.sg-list{display:flex;flex-direction:column;gap:6px}.sg-item{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:10px}.sg-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.sg-item-name{color:#dde;font-size:12px;font-weight:600}.sg-item-meta{color:#667;font-size:10px;display:flex;gap:8px;margin-bottom:6px}.sg-item-desc{color:#889;font-size:11px;margin-bottom:8px}.sg-item-actions{display:flex;gap:6px}.sg-action-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#aab;font-size:11px;padding:4px 10px;border-radius:4px;cursor:pointer}.sg-action-btn:hover{background:#6478ff1a;color:#bbc}.sg-action-btn--liked{color:#ff6b8a;border-color:#ff6b8a4d}@media(max-width:768px){.studio-main{flex-direction:column-reverse}.studio-chat{width:100%;height:50%;border-right:none;border-top:1px solid rgba(255,255,255,.08)}.studio-preview{height:50%}}.admin-page{width:100vw;min-height:100vh;background:#0a0a0f;color:#fff;display:flex;flex-direction:column}.admin-header{display:flex;align-items:center;gap:20px;padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.08);background:#0a0a0ff2;position:sticky;top:0;z-index:10}.admin-header h1{margin:0;font-size:1.2rem;font-weight:600}.admin-back{color:#fff9;text-decoration:none;font-size:.85rem;white-space:nowrap}.admin-back:hover{color:#fff}.admin-body{flex:1;display:flex;flex-direction:column;padding:0 24px 24px;max-width:1600px;width:100%;margin:0 auto}.admin-content{flex:1;overflow-y:auto}.admin-denied{color:#ff6b6b;text-align:center;padding:40px 0}.admin-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:0}.admin-tab{background:none;border:none;color:#ffffff80;padding:8px 16px;cursor:pointer;font-size:.9rem;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.admin-tab:hover{color:#fffc}.admin-tab--active{color:#fff;border-bottom-color:#646cff}.admin-section{margin-top:8px}.admin-toolbar{display:flex;gap:8px;margin-bottom:12px}.admin-search{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#fff;padding:6px 12px;font-size:.85rem;width:100%;max-width:300px}.admin-search::placeholder{color:#ffffff59}.admin-table{width:100%;border-collapse:collapse;font-size:.82rem}.admin-table th{text-align:left;padding:6px 8px;color:#ffffff80;font-weight:500;border-bottom:1px solid rgba(255,255,255,.1);white-space:nowrap}.admin-table td{padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.05);color:#ffffffd9}.admin-table--nested{margin:4px 0;font-size:.8rem}.admin-table--nested th{font-size:.75rem}.admin-cell--id{font-family:monospace;font-size:.78rem;color:#fff9;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-row--expanded td{border-bottom-color:transparent}.admin-versions-cell{padding:0 8px 12px 24px!important;background:#ffffff05}.admin-toggle{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#fff9;padding:2px 10px;font-size:.78rem;cursor:pointer;transition:all .15s}.admin-toggle--on{background:#646cff40;border-color:#646cff;color:#a5a9ff}.admin-toggle:disabled{opacity:.5;cursor:default}.admin-actions{display:flex;gap:4px;flex-wrap:wrap}.admin-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#ffffffbf;padding:3px 10px;font-size:.78rem;cursor:pointer;transition:all .15s;white-space:nowrap}.admin-btn:hover{background:#ffffff24}.admin-btn--primary{border-color:#646cff;color:#a5a9ff}.admin-btn--primary:hover{background:#646cff33}.admin-btn--danger{border-color:#f44;color:#ff6b6b}.admin-btn--danger:hover{background:#ff444426}.admin-btn--restore{border-color:#4c8;color:#6da}.admin-btn--restore:hover{background:#44cc8826}.admin-pagination{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:12px;font-size:.82rem;color:#ffffff80}.admin-pagination button{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#ffffffb3;padding:4px 12px;cursor:pointer;font-size:.8rem}.admin-pagination button:disabled{opacity:.3;cursor:default}.admin-error{background:#ff44441f;border:1px solid rgba(255,68,68,.3);border-radius:6px;color:#ff6b6b;padding:8px 12px;margin-bottom:12px;font-size:.82rem}.admin-success{background:#44cc881f;border:1px solid rgba(68,204,136,.3);border-radius:6px;color:#6da;padding:8px 12px;margin-bottom:12px;font-size:.82rem}.admin-info{background:#646cff1a;border:1px solid rgba(100,108,255,.25);border-radius:6px;color:#a5a9ff;padding:8px 12px;margin-bottom:12px;font-size:.82rem}.admin-source-switcher{display:flex;align-items:center;gap:8px;padding:8px 0;margin-bottom:12px;font-size:.82rem;color:#ffffff80;border-bottom:1px solid rgba(255,255,255,.06)}.admin-source-hint{font-size:.75rem;color:#ffffff4d}.admin-env-badge{font-size:.6rem;padding:2px 8px;border-radius:4px;vertical-align:middle;margin-left:8px;font-weight:600;letter-spacing:.05em;background:#646cff33;color:#a5a9ff}.admin-loading,.admin-empty{color:#fff6;text-align:center;padding:24px 0;font-size:.85rem}.admin-badge--warn{color:#fa4;font-size:.75rem;margin-left:4px}.admin-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.admin-editor-header h3{margin:0;font-size:1rem;color:#ffffffe6}.admin-editor-actions{display:flex;gap:8px}.admin-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.admin-editor-grid label{display:flex;flex-direction:column;gap:4px;color:#fff9;font-size:.8rem}.admin-editor-grid input[type=text],.admin-editor-grid input:not([type]){background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:#fff;padding:5px 8px;font-size:.85rem}.admin-editor-grid input[type=range]{width:100%}.admin-val{float:right;color:#fff6;font-family:monospace;font-size:.78rem}.admin-editor-glsl{display:flex;flex-direction:column;gap:4px;color:#fff9;font-size:.8rem}.admin-glsl{background:#0006;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#c8ffc8;font-family:JetBrains Mono,Fira Code,monospace;font-size:.78rem;padding:12px;min-height:400px;resize:vertical;line-height:1.5;tab-size:2}.admin-row--active{background:#646cff14}.admin-glsl-viewer{margin-top:12px;border:1px solid rgba(255,255,255,.12);border-radius:8px;overflow:hidden}.admin-glsl-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.08);font-size:.82rem;color:#fff9}.admin-glsl-code{margin:0;padding:12px;background:#00000080;color:#c8ffc8;font-family:JetBrains Mono,Fira Code,monospace;font-size:.75rem;line-height:1.5;tab-size:2;overflow-x:auto;max-height:500px;overflow-y:auto}
