:root{--bg:#211c1a;--bg-void:#1a1614;--bg-fog:#3c281c66;--bg-fog-soft:#281c1440;--glass-base:#fffaf50b;--glass-edge-top:#fff5eb1f;--glass-edge-bottom:#0000003d;--glass-inner-glow:#f26f3b0d;--glass-highlight:#fff8f012;--surface:#fffaf50a;--surface-elevated:#fffaf50f;--surface-hover:#fffaf51a;--border:#fff5eb12;--border-strong:#fff5eb24;--text:#f8f6f4f0;--text-secondary:#f8f6f48f;--text-muted:#f8f6f452;--accent:#f26f3b;--accent-hover:#ff8b59;--accent-glow:#f26f3b47;--accent-soft:#f26f3b24;--danger:#ff453a;--danger-soft:#ff453a26;--success:#30d158;--blur-glass:blur(60px) saturate(180%);--blur-glass-mobile:blur(30px) saturate(160%);--blur-panel:blur(50px) saturate(180%);--blur-header:blur(40px) saturate(160%);--blur-modal:blur(80px) saturate(200%);--font:-apple-system, "SF Pro Display", "SF Pro Text", system-ui, sans-serif;--font-mono:"SF Mono", "Menlo", "Monaco", monospace;--text-xs:10px;--text-sm:12px;--text-base:13px;--text-md:15px;--text-lg:18px;--text-xl:22px;--tracking-tight:-.28px;--tracking-normal:-.12px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--radius-sm:6px;--radius:12px;--radius-lg:20px;--radius-xl:24px;--radius-pill:9999px;--shadow-glass:inset 0 1px 1px #fff8f014, 0 0 60px #f26f3b0d, 0 16px 48px #00000073;--shadow-glass-sm:inset 0 1px 0 #fff8f014, 0 0 40px #f26f3b0a, 0 8px 32px #0006;--shadow-modal:inset 0 1px 0 #fff8f01a, 0 0 80px #f26f3b12, 0 24px 64px #0000009e;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--transition-glass:.35s cubic-bezier(.32, .72, 0, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100vw;height:100dvh;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);overflow:hidden}.app-backdrop{z-index:-1;background:radial-gradient(ellipse at 50% 40%, #3a2c23 0%, #2a201b 50%, var(--bg-void) 100%);pointer-events:none;position:fixed;inset:0;overflow:hidden}.app-backdrop-leopard{opacity:.34;mix-blend-mode:overlay;filter:blur(1px)saturate(1.2)contrast(1.05);background:url(/leopard-texture.jpg) 50%/cover no-repeat;transition:opacity 1.2s;animation:72s ease-in-out infinite alternate leopardDrift;position:absolute;inset:-6%}body.pre-start .app-backdrop-leopard{opacity:.62}.app-backdrop-vignette{background:radial-gradient(at 50% 42%,#0000 34%,#0000006b 100%);position:absolute;inset:0}.app-backdrop-grain{opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}@keyframes leopardDrift{0%{transform:scale(1.04)translate(0)}to{transform:scale(1.12)translate(-2%,-1.5%)}}@media (prefers-reduced-motion:reduce){.app-backdrop-leopard{animation:none}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #ff8b5999}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.btn{cursor:pointer;font-family:var(--font);font-size:var(--text-sm);letter-spacing:var(--tracking-normal);border-radius:var(--radius-pill);transition:var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:8px 18px;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(135deg,#ffffff14 0%,#0000 40% 60%,#ffffff08 100%);position:absolute;inset:0}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.4;pointer-events:none}.btn-primary{color:#fff;background:#f26f3bd9;box-shadow:0 0 20px #f26f3b33}.btn-primary:hover{background:#f26f3bf2;box-shadow:0 0 30px #f26f3b4d}.btn-primary.muted{color:var(--text-secondary);border:1px solid var(--border);box-shadow:none;background:#ffffff0d}.btn-primary.muted:hover{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 20px #f26f3b33}.btn-primary.paused{background:var(--success);color:#000}.btn-primary.paused:hover{background:#34d759}.btn-secondary{color:var(--text);box-shadow:none;background:#ffffff0d;border:1px solid #ffffff1a}.btn-secondary:hover{background:#ffffff1a;border-color:#ffffff2e}.btn-secondary.active{background:var(--accent-soft);color:#ff8b59e6;border-color:#f26f3b66;box-shadow:0 0 12px #f26f3b26}.btn-danger{background:var(--danger-soft);color:var(--danger);border:1px solid #ff453a40}.btn-danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-sm{font-size:var(--text-xs);min-height:28px;padding:5px 12px}.btn-lg{font-size:var(--text-md);min-height:44px;padding:12px 24px}.btn-icon{border-radius:var(--radius);width:34px;height:34px;padding:0}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{color:var(--text);background:#ffffff0f}.btn-pulse{color:#fff;font-size:var(--text-md);background:#f26f3bd9;padding:12px 32px;font-weight:500;animation:3s ease-in-out infinite glassPulse;box-shadow:0 0 30px #f26f3b4d}@keyframes glassPulse{0%,to{box-shadow:0 0 20px #f26f3b33}50%{box-shadow:0 0 40px #f26f3b59}}.card{border-radius:var(--radius-lg);padding:var(--space-md);transition:var(--transition-fast);background:#ffffff0a;border:1px solid #ffffff0f;position:relative;overflow:hidden}.card:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff0a 0%,#0000 50%);position:absolute;inset:0}.card:hover{background:#ffffff12;border-color:#ffffff1a}.card-draggable{cursor:grab;-webkit-user-select:none;user-select:none}.card-draggable:active{cursor:grabbing;transform:scale(.97)}.card-dragging{opacity:.5;border-style:dashed}.input,.select-input{color:var(--text);font-family:var(--font);font-size:var(--text-sm);border-radius:var(--radius-sm);transition:var(--transition-fast);background:#ffffff0a;border:1px solid #ffffff14;outline:none;width:100%;padding:7px 12px}.input{letter-spacing:var(--tracking-normal)}.input:focus,.select-input:focus{border-color:#f26f3b80;box-shadow:0 0 8px #f26f3b26}.input::placeholder{color:var(--text-muted)}.select-input{cursor:pointer}.select-input option{color:var(--text);background:#1c1c1e}.preset-search{width:100%}input[type=range]{appearance:none;cursor:pointer;background:linear-gradient(to right, #f26f3bcc 0%, #f26f3bcc var(--fill), #ffffff14 var(--fill), #ffffff14 100%);border-radius:3px;outline:none;flex:1;height:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--accent);cursor:pointer;background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s,box-shadow .15s;box-shadow:0 0 8px #f26f3b66}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 12px #f26f3b80}input[type=range]::-webkit-slider-thumb:active{transform:scale(1.35)}input[type=range]::-moz-range-track{background:#ffffff14;border:none;border-radius:3px;height:6px}input[type=range]::-moz-range-progress{background:#f26f3bcc;border-radius:3px;height:6px}input[type=range]::-moz-range-thumb{border:2px solid var(--accent);cursor:pointer;background:#fff;border-radius:50%;width:18px;height:18px;box-shadow:0 0 8px #f26f3b66}input[type=range]::-moz-range-thumb:hover{box-shadow:0 0 12px #f26f3b80}.control-group{flex-direction:column;gap:7px;display:flex}.control-group label{font-size:var(--text-sm);color:var(--text-secondary);letter-spacing:var(--tracking-normal)}.slider-wrapper{align-items:center;gap:10px;display:flex}.slider-value{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);text-align:right;min-width:36px}.floating-panel{z-index:50;background:var(--glass-base);border:1px solid;border-color:var(--glass-edge-top) var(--glass-edge-bottom) var(--glass-edge-bottom) var(--glass-edge-top);border-radius:var(--radius-xl);-webkit-backdrop-filter:var(--blur-panel);box-shadow:var(--shadow-glass);transition:transform var(--transition-glass), opacity var(--transition);position:fixed;overflow-y:auto}.floating-panel:before{content:"";border-radius:inherit;pointer-events:none;z-index:1;background:linear-gradient(135deg,#ffffff0d 0%,#0000 40% 60%,#ffffff05 100%);position:absolute;inset:0}.floating-panel::-webkit-scrollbar{width:3px}.floating-panel::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:4px}.panel-right{border-radius:var(--radius-xl);width:260px;max-height:none;padding:var(--space-2xl);gap:var(--space-lg);flex-direction:column;display:flex;top:56px;bottom:46px;right:68px;transform:translate(120%)}.panel-right:not(.panel-hidden){transform:translate(0)}.panel-right.panel-hidden{opacity:0;pointer-events:none;transform:translate(120%)}@media (width>=835px){body.timeline-open .panel-right{bottom:212px}}.panel-handle{cursor:grab;background:#ffffff26;border-radius:2px;width:32px;height:4px;margin:0 auto 8px;display:none}.panel-close-btn{width:26px;height:26px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), box-shadow var(--transition-fast);z-index:2;background:#ffffff0f;border:1px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex;position:absolute;top:10px;right:10px}.panel-close-btn:hover{color:var(--text);background:#ffffff1f;box-shadow:0 0 10px #ffffff1a}.timeline-footer{z-index:46;background:var(--glass-base);border:1px solid;border-color:var(--glass-edge-top) var(--glass-edge-bottom) transparent var(--glass-edge-top);border-radius:var(--radius-lg) var(--radius-lg) 0 0;-webkit-backdrop-filter:var(--blur-panel);box-shadow:var(--shadow-glass-sm);align-items:center;gap:6px;padding:4px 10px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.timeline-toggle-btn{color:var(--text-secondary);border-radius:var(--radius);cursor:pointer;font-size:11px;font-family:var(--font);letter-spacing:var(--tracking-normal);transition:var(--transition-fast);background:#ffffff0d;border:1px solid #ffffff14;align-items:center;gap:4px;padding:4px 12px;display:flex}.timeline-toggle-btn:hover{color:var(--text);background:#ffffff1a}.timeline-toggle-btn.active{background:var(--accent-soft);color:#ff8b59e6;border-color:#f26f3b66;box-shadow:0 0 10px #f26f3b26}.timeline-panel canvas{width:100%;height:100%}.tl-ruler{background:#ffffff05;border-bottom:1px solid #ffffff0a;min-width:100%;height:22px;position:absolute;top:0;left:0;overflow:hidden}.tl-tick{color:#ffffff40;font-size:9px;font-family:var(--font-mono);line-height:22px;position:absolute;top:0;transform:translate(-50%)}.tl-tracks{min-width:100%;position:absolute;inset:22px 0 28px;overflow:hidden}.tl-track{border-bottom:1px solid #ffffff05;align-items:center;height:38px;padding-left:4px;display:flex;position:relative}.tl-label{color:#fff6;font-size:10px;font-family:var(--font);z-index:2;pointer-events:none;align-items:center;gap:4px;display:flex;position:absolute;left:4px}.tl-emoji{font-size:12px;line-height:1}.tl-actions{z-index:3;gap:4px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.tl-btn-duplicate{color:#ffffff80;cursor:pointer;width:22px;height:22px;font-size:14px;font-family:var(--font);transition:var(--transition-fast);background:#ffffff0f;border:1px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;line-height:1;display:flex}.tl-btn-duplicate:hover{background:var(--accent-soft);color:var(--accent);border-color:#f26f3b66}.tl-block{cursor:grab;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;min-width:20px;transition:opacity .15s;position:absolute;top:4px;bottom:4px;overflow:hidden}.tl-block:hover{box-shadow:0 0 12px #f26f3b26;opacity:.55!important}.tl-block:active{cursor:grabbing}.tl-muted{opacity:.15!important}.tl-block-volume{background:#fff3;border-radius:0 0 4px 4px;transition:height .2s;position:absolute;bottom:0;left:0;right:0}.tl-volgraph{opacity:.3;pointer-events:none;align-items:flex-end;gap:1px;padding:2px 3px;display:flex;position:absolute;inset:0}.tl-volbar{border-radius:1px 1px 0 0;flex:1;min-width:1px}.tl-block-time{color:#ffffff73;font-size:7px;font-family:var(--font-mono);pointer-events:none;white-space:nowrap;opacity:0;transition:opacity .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tl-block:hover .tl-block-time{opacity:1}.tl-playhead{z-index:5;pointer-events:none;background:#ff8b59;width:2px;position:absolute;top:0;bottom:28px;box-shadow:0 0 8px #ff8b5966}.tl-playhead:before{content:attr(data-time);color:#ff8b59;font-size:9px;font-family:var(--font-mono);white-space:nowrap;position:absolute;bottom:-14px;left:4px}.tl-empty{color:#ffffff26;font-size:12px;font-family:var(--font);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:0}.tl-zoom{background:#ffffff05;border-top:1px solid #ffffff0a;align-items:center;height:28px;padding:0 8px;display:flex;position:absolute;bottom:0;left:0;right:0}.tl-zoom-label{color:#ffffff40;font-size:9px;font-family:var(--font)}.tl-drag-label{z-index:300;pointer-events:none;background:var(--accent);color:#fff;border-radius:var(--radius-pill);font-size:10px;font-family:var(--font-mono);letter-spacing:var(--tracking-normal);white-space:nowrap;padding:3px 10px;position:fixed;box-shadow:0 2px 8px #0006}@media (width<=834px){.timeline-panel{width:96vw;height:140px;bottom:60px}.timeline-footer{bottom:0}}.sidebar-section{padding:var(--space-md) 0;border-bottom:1px solid var(--border);flex-direction:column;gap:10px;display:flex}.sidebar-section:last-child{border-bottom:none}.sidebar-section.fill-remaining{flex:1;min-height:0;overflow:hidden}.sidebar-section.collapsed>:not(.section-title){display:none}.section-title{font-size:var(--text-xs);text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-weight:600;display:flex}.section-title:after{content:"▾";transition:transform var(--transition-fast);font-size:10px}.section-title.collapsed:after{transform:rotate(-90deg)}.section-help,.field-help{font-size:var(--text-xs);letter-spacing:var(--tracking-normal);line-height:1.4}.section-help{color:var(--text-secondary)}.field-help{color:var(--text-muted);margin-top:2px}#soundscape-canvas{z-index:0;touch-action:none;width:100vw;height:100dvh;position:fixed;inset:0}.canvas-instructions{z-index:10;font-size:var(--text-xs);color:var(--text-muted);letter-spacing:var(--tracking-normal);opacity:.5;pointer-events:none;transition:opacity .8s;position:fixed;bottom:36px;left:50%;transform:translate(-50%)}.canvas-instructions.faded{opacity:.15}.header-bar{z-index:100;height:44px;padding:0 16px;padding-top:env(safe-area-inset-top,0);-webkit-backdrop-filter:var(--blur-header);background:#06060866;border-bottom:none;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.logo-area{align-items:center;gap:8px;display:flex}.logo-icon{font-size:18px;line-height:1}.logo-text h1{font-size:var(--text-base);letter-spacing:var(--tracking-tight);color:var(--text);font-weight:600;line-height:1.2}.logo-text p{color:var(--text-muted);letter-spacing:var(--tracking-normal);font-size:10px}.header-status{font-size:var(--text-xs);border-radius:var(--radius-pill);background:#ffffff0d;border:1px solid #ffffff0f;align-items:center;gap:6px;padding:4px 12px;display:flex}.header-master{border-radius:var(--radius-pill);background:#ffffff0a;border:1px solid #ffffff0f;align-items:center;gap:6px;padding:3px 10px;display:flex}.header-master input[type=range]{-webkit-appearance:none;background:0 0;width:70px;height:18px}.header-master input[type=range]::-webkit-slider-runnable-track{background:#ffffff1f;border-radius:3px;height:3px}.header-master input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#ff8b59e6;border:2px solid #f26f3b66;border-radius:50%;width:14px;height:14px;margin-top:-5.5px}.master-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:8px}.master-percent{color:var(--text-secondary);font-variant-numeric:tabular-nums;min-width:28px;font-size:10px}.status-dot{border-radius:50%;width:6px;height:6px}.status-dot.offline{background:var(--danger)}.status-dot.online{background:var(--success);box-shadow:0 0 6px #30d15866}.status-text{color:var(--text-secondary);letter-spacing:var(--tracking-normal)}.top-controls{z-index:56;background:var(--glass-base);border:1px solid;border-color:var(--glass-edge-top) var(--glass-edge-bottom) var(--glass-edge-bottom) var(--glass-edge-top);border-radius:var(--radius-lg);-webkit-backdrop-filter:var(--blur-panel);box-shadow:var(--shadow-glass-sm);flex-direction:column;gap:4px;padding:4px;display:flex;position:fixed;top:50px;right:8px}.top-controls .toolbar-btn{border-radius:var(--radius);width:34px;height:34px}.settings-dropdown{z-index:250;background:var(--glass-base);border:1px solid;border-color:var(--glass-edge-top) var(--glass-edge-bottom) var(--glass-edge-bottom) var(--glass-edge-top);border-radius:var(--radius-xl);width:260px;max-height:60vh;padding:var(--space-md);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:var(--blur-panel);display:none;position:fixed;top:134px;right:12px;overflow-y:auto}.settings-dropdown.open{display:block}.settings-dropdown::-webkit-scrollbar{width:3px}.settings-dropdown::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:4px}.z-height-indicator{z-index:70;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text);background:var(--glass-base);border-radius:var(--radius-pill);-webkit-backdrop-filter:var(--blur-panel);box-shadow:var(--shadow-glass-sm);border:1px solid #ffffff0f;padding:4px 10px;position:fixed;bottom:60px;left:50%;transform:translate(-50%)}.category-tabs{gap:var(--space-xs);flex-wrap:wrap;display:flex}.cat-tab{color:var(--text-secondary);border-radius:var(--radius-pill);font-size:var(--text-xs);cursor:pointer;font-family:var(--font);transition:var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;background:#ffffff0a;border:1px solid #ffffff0f;padding:4px 10px}.cat-tab:hover{color:var(--text);background:#ffffff14;border-color:#ffffff1f}.cat-tab.active{background:var(--accent-soft);color:#ff8b59e6;border-color:#f26f3b66;box-shadow:0 0 10px #f26f3b26}.preset-list{flex-direction:column;flex:1;gap:7px;padding-right:4px;display:flex;overflow-y:auto}.preset-list::-webkit-scrollbar{width:3px}.preset-list::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:4px}.preset-card{background:var(--surface-elevated);border-radius:var(--radius-lg);cursor:grab;transition:var(--transition);-webkit-user-select:none;user-select:none;border:1px solid #ffffff0f;align-items:center;gap:10px;padding:10px 12px;display:flex;position:relative;overflow:hidden}.preset-card:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff08 0%,#0000 50%);position:absolute;inset:0}.preset-card:hover{background:var(--surface-hover);border-color:#ffffff1a}.preset-card.dragging{opacity:.5;cursor:grabbing;border:1px dashed #ff8b5980}.preset-card:active{cursor:grabbing}@keyframes nodeSelectedPulse{0%,to{box-shadow:0 0 #f26f3b4d}50%{box-shadow:0 0 0 8px #f26f3b1f}}.node-selected{animation:2s ease-in-out infinite nodeSelectedPulse}.preset-icon{border-radius:var(--radius-sm);background:#ffffff0d;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;display:flex}.preset-info{flex:1;min-width:0}.preset-name{font-size:var(--text-sm);color:var(--text);letter-spacing:var(--tracking-normal);font-weight:500}.preset-desc{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:var(--tracking-normal);margin-top:2px}.add-preset-btn{background:var(--accent-soft);color:#ff8b59e6;cursor:pointer;width:24px;height:24px;transition:var(--transition);-webkit-user-select:none;user-select:none;border:1px solid #f26f3b40;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.add-preset-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 10px #f26f3b4d}.preview-preset-btn{border:1px solid var(--border-strong);color:var(--text-secondary);cursor:pointer;width:24px;height:24px;transition:var(--transition);-webkit-user-select:none;user-select:none;background:#fff8f00d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-right:6px;font-size:10px;display:flex}.preview-preset-btn:hover{color:var(--text);background:#fff8f01f}.preview-preset-btn.previewing{background:var(--accent-soft);color:#ff8b59f2;border-color:#f26f3b66}.custom-upload-area{margin-top:6px}.file-input{display:none}.file-upload-label{text-align:center;background:var(--accent-soft);color:#ff8b59e6;font-size:var(--text-xs);border-radius:var(--radius-lg);cursor:pointer;letter-spacing:var(--tracking-normal);transition:var(--transition);border:1px dashed #f26f3b40;padding:10px;display:block}.file-upload-label:hover{border-color:var(--accent);background:#f26f3b2e}.activity-presets,.instrument-presets{flex-direction:column;gap:6px;display:flex}.activity-btn,.instrument-btn{color:var(--text);border-radius:var(--radius-pill);font-size:var(--text-sm);cursor:pointer;font-family:var(--font);text-align:left;letter-spacing:var(--tracking-normal);transition:var(--transition-fast);-webkit-user-select:none;user-select:none;background:#ffffff0a;border:1px solid #ffffff0f;padding:8px 16px}.activity-btn:hover,.instrument-btn:hover{background:#ffffff14;border-color:#ffffff1f}.activity-btn:active,.instrument-btn:active{transform:scale(.97)}.scene-actions{gap:var(--space-sm);margin-bottom:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.scene-templates{margin-bottom:var(--space-sm);gap:6px;display:flex}.scene-template-btn{color:var(--text);border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;font-family:var(--font);letter-spacing:var(--tracking-normal);transition:var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;background:#ffffff0a;border:1px solid #ffffff0f;flex:1;padding:6px 8px}.scene-template-btn:hover{background:#ffffff14;border-color:#ffffff1f}.scene-template-btn:active{transform:scale(.95)}.scene-list{flex-direction:column;gap:5px;max-height:140px;display:flex;overflow-y:auto}.scene-item{background:var(--surface-elevated);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);border:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:7px 10px;display:flex;position:relative;overflow:hidden}.scene-item:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff05 0%,#0000 50%);position:absolute;inset:0}.scene-item:hover{border-color:#ffffff1a}.scene-name{font-size:var(--text-xs);color:var(--text);letter-spacing:var(--tracking-normal);font-weight:500}.scene-delete{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:14px}.scene-delete:hover{color:var(--danger)}.details-empty-state{text-align:center;color:var(--text-muted);border-radius:var(--radius-lg);background:#ffffff05;border:1px solid #ffffff0f;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:28px 20px;display:flex}.empty-icon{opacity:.25;font-size:42px}.details-empty-state p{font-size:var(--text-sm);letter-spacing:var(--tracking-normal);max-width:200px;line-height:1.6}.selected-details-panel{gap:var(--space-lg);animation:fadeIn var(--transition) ease both;flex-direction:column;display:flex}.selected-node-header{padding-bottom:var(--space-md);border-bottom:1px solid #ffffff0f}.node-meta{flex-direction:column;gap:4px;display:flex}.node-tag{background:var(--accent);color:#fff;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-normal);border-radius:5px;align-self:flex-start;padding:2px 8px;font-weight:600}#node-name{font-size:var(--space-lg);color:var(--text);letter-spacing:var(--tracking-tight);font-weight:600}.coords-display-section h4,.automation-section h4,.timer-section h4{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-normal);margin-bottom:var(--space-sm);font-weight:600}.coords-grid{gap:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-xs);border-radius:var(--radius-sm);background:#ffffff08;border:1px solid #ffffff0a;grid-template-columns:1fr 1fr;padding:10px;display:grid}.coords-grid div{color:var(--text-secondary);flex-direction:column;gap:2px;display:flex}.coords-grid div strong{color:var(--text)}.automation-buttons{grid-template-columns:1fr 1fr;gap:7px;display:grid}.timer-preset-buttons{margin-bottom:var(--space-sm);grid-template-columns:1fr 1fr;gap:6px;display:grid}.timer-preset-btn{color:var(--text);border-radius:var(--radius-pill);font-size:var(--text-xs);cursor:pointer;font-family:var(--font);letter-spacing:var(--tracking-normal);transition:var(--transition-fast);-webkit-user-select:none;user-select:none;background:#ffffff0f;border:1px solid #ffffff14;padding:5px 12px}.timer-preset-btn:hover{background:#ffffff1f}.timer-preset-btn:active{transform:scale(.95)}.timer-preset-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 10px #f26f3b33}.timer-display{font-family:var(--font-mono);text-align:center;color:var(--text);letter-spacing:var(--tracking-tight);padding:6px 0;font-size:26px;font-weight:500}#head-tracker-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 15px #f26f3b4d}.head-tracker-indicator{background:var(--accent);color:#fff;font-size:var(--text-xs);border-radius:var(--radius-pill);letter-spacing:var(--tracking-normal);z-index:70;padding:3px 8px;display:none;position:fixed;bottom:12px;right:12px;box-shadow:0 0 12px #f26f3b66}.head-tracker-indicator.visible{display:block}.custom-speaker-item{background:var(--surface-elevated);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text);letter-spacing:var(--tracking-normal);border:1px solid #ffffff0f;justify-content:space-between;align-items:center;margin-top:4px;padding:5px 8px;display:flex}.speaker-remove-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;padding:0 4px;font-size:14px}.speaker-remove-btn:hover{color:var(--danger)}.welcome-overlay{z-index:300;-webkit-backdrop-filter:blur(20px);transition:opacity var(--transition-slow) ease;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.welcome-overlay.hidden{opacity:0;pointer-events:none}.modal-content{border-radius:var(--radius-xl);text-align:center;align-items:center;gap:var(--space-lg);width:90%;max-width:440px;-webkit-backdrop-filter:var(--blur-modal);box-shadow:var(--shadow-modal);animation:scaleIn var(--transition) ease both;background:#1c1c20bf;border:1px solid #ffffff14;flex-direction:column;padding:40px 36px;display:flex;position:relative;overflow:hidden}.modal-content:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff0d 0%,#0000 40% 60%,#ffffff05 100%);position:absolute;inset:0}.modal-icon{filter:drop-shadow(0 0 10px #fff3);font-size:48px;line-height:1}.modal-content h2{font-size:var(--text-xl);letter-spacing:var(--tracking-normal);text-shadow:0 0 20px #ffffff1a;font-weight:600}.modal-content p{color:var(--text-secondary);letter-spacing:var(--tracking-tight);font-size:14px;line-height:1.5}.highlight-text{color:#ff8b59e6;border-radius:var(--radius-sm);font-size:var(--text-base);background:#f26f3b1f;border:1px solid #f26f3b26;padding:10px 16px;box-shadow:0 0 15px #f26f3b1a}.modal-signature{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.5px;opacity:.5;margin-top:4px}.custom-upload-form{background:var(--surface-elevated);border-radius:var(--radius-lg);padding:var(--space-md);gap:var(--space-sm);margin-top:var(--space-sm);border:1px solid #ffffff0f;flex-direction:column;display:flex}.emoji-picker{flex-wrap:wrap;gap:4px;display:flex}.emoji-option{border-radius:var(--radius-sm);cursor:pointer;width:36px;height:36px;transition:var(--transition-fast);background:#ffffff0a;border:1px solid #ffffff0f;justify-content:center;align-items:center;font-size:18px;display:flex}.emoji-option:hover,.emoji-option.selected{background:var(--accent-soft);border-color:#f26f3b66;box-shadow:0 0 8px #f26f3b26}.upload-form-actions{gap:var(--space-sm);display:flex}.signature{z-index:4;color:var(--text-muted);letter-spacing:.5px;font-size:9px;font-family:var(--font);opacity:.4;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-pill);padding:2px 12px;position:fixed;bottom:8px;left:50%;transform:translate(-50%)}.master-actions{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.action-buttons{gap:var(--space-sm);margin-top:var(--space-sm);flex-direction:column;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes glassIn{0%{opacity:0;transform:translate(-12px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}.animate-in{animation:slideUp var(--transition) ease both}.modal-enter{animation:scaleIn var(--transition) ease both}.preset-card:first-child{animation-delay:20ms}.preset-card:nth-child(2){animation-delay:40ms}.preset-card:nth-child(3){animation-delay:60ms}.preset-card:nth-child(4){animation-delay:80ms}.preset-card:nth-child(5){animation-delay:.1s}.preset-card:nth-child(6){animation-delay:.12s}.preset-card:nth-child(7){animation-delay:.14s}.preset-card:nth-child(8){animation-delay:.16s}.preset-card:nth-child(9){animation-delay:.18s}.preset-card:nth-child(10){animation-delay:.2s}.toolbar{z-index:55;background:var(--glass-base);border:1px solid;border-color:var(--glass-edge-top) var(--glass-edge-bottom) var(--glass-edge-bottom) var(--glass-edge-top);border-radius:var(--radius-lg);-webkit-backdrop-filter:var(--blur-panel);box-shadow:var(--shadow-glass-sm);flex-direction:column;gap:4px;padding:6px;display:flex;position:fixed;top:50%;left:8px;transform:translateY(-50%)}.toolbar-btn{border-radius:var(--radius);cursor:pointer;width:38px;height:38px;transition:var(--transition-fast);color:var(--text-secondary);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.toolbar-btn:hover{color:var(--text);background:#ffffff14}.toolbar-btn.active{color:#ff8b59e6;box-shadow:0 0 0 2px #f26f3b66}.toolbar-icon{font-size:18px;line-height:1}.toolbar-primary{top:50%;transform:translateY(calc(-50% - 140px))}.toolbar-secondary{top:50%;transform:translateY(calc(140px - 50%))}.toolbar-secondary .toolbar-btn{width:34px;height:34px}.toolbar-divider{background:#ffffff14;border-radius:1px;width:20px;height:1px;margin:4px auto}.flyout{z-index:54;background:var(--glass-base);border:1px solid;border-color:var(--glass-edge-top) var(--glass-edge-bottom) var(--glass-edge-bottom) var(--glass-edge-top);border-radius:var(--radius-xl);width:280px;max-height:72vh;-webkit-backdrop-filter:var(--blur-panel);box-shadow:var(--shadow-glass);padding:var(--space-2xl);animation:.3s cubic-bezier(.32,.72,0,1) flyoutIn;display:none;position:fixed;top:50%;left:56px;overflow-y:auto;transform:translateY(-50%)}.flyout:before{content:"";border-radius:inherit;pointer-events:none;z-index:1;background:linear-gradient(135deg,#ffffff0a 0%,#0000 40% 60%,#ffffff05 100%);position:absolute;inset:0}.flyout.open{gap:var(--space-lg);flex-direction:column;display:flex}.flyout::-webkit-scrollbar{width:3px}.flyout::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.flyout-header{z-index:2;justify-content:space-between;align-items:center;margin-bottom:4px;display:flex;position:relative}.flyout-title{font-size:var(--text-sm);color:var(--text);letter-spacing:var(--tracking-normal);font-weight:600}.flyout-close{width:26px;height:26px;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:#ffffff0f;border:1px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex}.flyout-close:hover{color:var(--text);background:#ffffff1f}@keyframes flyoutIn{0%{opacity:0;transform:translateY(-50%)translate(-12px)scale(.98)}to{opacity:1;transform:translateY(-50%)translate(0)scale(1)}}.mobile-tabs{display:none}@media (width<=834px){.mobile-tabs{z-index:150;height:60px;-webkit-backdrop-filter:var(--blur-glass-mobile);padding:0 8px env(safe-area-inset-bottom,8px);background:#060608b3;border-top:1px solid #ffffff0f;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #00000080}.mobile-tab{color:var(--text-muted);font-family:var(--font);letter-spacing:var(--tracking-normal);cursor:pointer;height:100%;min-height:44px;transition:color var(--transition-fast);-webkit-tap-highlight-color:transparent;border-radius:var(--radius);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:0 4px;font-size:10px;font-weight:500;display:flex}.mobile-tab:active{background:#ffffff0a}.mobile-tab .tab-icon{font-size:20px;line-height:1}.mobile-tab.active{color:#ff8b59e6;text-shadow:0 0 10px #f26f3b4d}.header-bar{height:40px;padding:0 12px;padding-top:env(safe-area-inset-top,0)}.logo-text p{display:none}.logo-text h1{font-size:var(--text-sm)}.logo-icon{font-size:16px}.top-controls{top:46px;right:4px}.top-controls .toolbar-btn{width:30px;height:30px}.settings-dropdown{width:calc(100vw - 8px);max-height:50vh;top:122px;right:4px}.toolbar{flex-direction:row;gap:3px;padding:5px;top:auto;bottom:70px;left:4px}.toolbar-btn{border-radius:var(--radius);width:40px;height:40px}.toolbar-icon{font-size:20px}.toolbar-primary{bottom:115px;transform:none}.toolbar-secondary{bottom:70px;transform:none}.toolbar-secondary .toolbar-btn{width:32px;height:32px}.flyout{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:auto;max-height:45vh;inset:auto 4px 120px;transform:none}.flyout.open{animation:.3s cubic-bezier(.32,.72,0,1) slideUpMobile}.panel-right{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:55vh;padding:var(--space-2xl);border-bottom:none;gap:14px;display:none;inset:auto 0 70px;transform:none;box-shadow:0 -8px 40px #0009,inset 0 .5px #ffffff14}.panel-right.panel-hidden{opacity:1;pointer-events:auto;display:none;transform:none}.panel-right.panel-open{max-height:60vh;animation:.35s cubic-bezier(.32,.72,0,1) slideUpMobile;display:flex}.panel-handle{display:block}.timeline-panel{height:140px;bottom:60px}.canvas-instructions{font-size:var(--text-xs);padding:6px 14px;bottom:80px}.btn{min-height:44px;padding:10px 24px}.add-preset-btn{width:32px;min-width:44px;height:32px;min-height:44px;font-size:16px}.slider-wrapper input[type=range]::-webkit-slider-thumb{width:20px;height:20px}.master-actions,.automation-buttons,.coords-grid{grid-template-columns:1fr}.preset-list{-webkit-overflow-scrolling:touch;flex-flow:row;flex:none;gap:8px;padding-bottom:8px;overflow:auto hidden}.preset-card{flex-shrink:0;width:170px;min-height:60px}.preset-list::-webkit-scrollbar{height:3px}}@keyframes slideUpMobile{0%{opacity:0;transform:translateY(30%)}to{opacity:1;transform:translateY(0)}}.receiver-actions{align-items:center;gap:8px;display:flex}@media (width<=480px){.flyout,.panel-right{border-radius:var(--radius) var(--radius) 0 0;max-height:65vh;padding:14px}.header-bar{height:36px;padding:0 10px;padding-top:env(safe-area-inset-top,0)}.preset-card{width:150px}.modal-content{gap:var(--space-md);border-radius:14px;padding:28px 20px}.modal-content h2{font-size:20px}.modal-content p{font-size:var(--text-base)}}.timeline-panel{z-index:44;background:var(--glass-base);border:1px solid;border-color:var(--glass-edge-top) var(--glass-edge-bottom) var(--glass-edge-bottom) var(--glass-edge-top);border-radius:var(--radius-xl);width:90vw;max-width:1200px;height:220px;-webkit-backdrop-filter:var(--blur-panel);box-shadow:var(--shadow-glass);display:none;position:fixed;bottom:16px;left:50%;overflow:hidden;transform:translate(-50%)}.tl-pro-header{background:#ffffff05;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;height:44px;padding:8px 16px;display:flex}.tl-pro-controls{align-items:center;gap:8px;display:flex}.tl-pro-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:#ffffff0d;border:1px solid #ffffff14;justify-content:center;align-items:center;font-size:13px;display:flex}.tl-pro-btn:hover{color:var(--text);background:#ffffff1a}.tl-pro-btn.active{background:var(--accent-soft);color:#ff8b59e6;border-color:#f26f3b66}.tl-pro-play{font-size:11px}.tl-pro-time{font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:var(--tracking-normal);margin-left:8px;font-size:12px}.tl-pro-current{color:var(--text);font-weight:500}.tl-pro-duration{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;outline:none;margin-left:8px;padding:2px 6px;font-size:11px}.tl-pro-duration:hover{color:var(--text);background:#ffffff1a}.tl-pro-zoom{align-items:center;gap:6px;display:flex}.tl-pro-zoom-bar{background:#ffffff14;border-radius:2px;width:80px;height:4px;overflow:hidden}.tl-pro-zoom-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .1s}.tl-pro-viewport{cursor:crosshair;height:calc(100% - 44px);position:relative;overflow:hidden}.tl-pro-ruler{background:#ffffff05;border-bottom:1px solid #ffffff0d;height:28px;position:absolute;top:0;left:0;overflow:hidden}.tl-pro-tick{background:#ffffff0f;width:1px;position:absolute;top:0;bottom:0}.tl-pro-tick-major{background:#ffffff1f;width:1px}.tl-pro-tick-label{color:#ffffff59;font-size:9px;font-family:var(--font-mono);white-space:nowrap;position:absolute;top:4px;left:4px}.tl-pro-tracks{position:absolute;inset:28px 0 0;overflow:hidden}.tl-pro-track{border-bottom:1px solid #ffffff08;height:42px;display:flex}.tl-pro-track:nth-child(2n){background:#ffffff03}.tl-pro-track-header{background:#ffffff05;border-right:1px solid #ffffff0d;flex-shrink:0;align-items:center;gap:6px;width:140px;padding:0 10px;display:flex}.tl-pro-track-emoji{font-size:14px}.tl-pro-track-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.tl-pro-track-lane{flex:1;position:relative}.tl-pro-block{border-radius:var(--radius-sm);cursor:grab;border:1px solid;min-width:30px;transition:box-shadow .15s;position:absolute;top:6px;bottom:6px;overflow:hidden}.tl-pro-block:hover{box-shadow:0 0 12px #f26f3b33}.tl-pro-block:active{cursor:grabbing}.tl-pro-block-active{box-shadow:0 0 8px #f26f3b4d}.tl-pro-block-inner{align-items:center;height:100%;padding:0 8px;display:flex}.tl-pro-block-label{color:#fff9;font-size:9px;font-family:var(--font-mono);white-space:nowrap}.tl-pro-block-keyframes{pointer-events:none;position:absolute;inset:0}.tl-pro-kf{pointer-events:auto;cursor:pointer;background:#fff;border:1.5px solid #f26f3bcc;border-radius:50%;width:6px;height:6px;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 0 4px #f26f3b80}.tl-pro-kf:hover{transform:translateY(-50%)scale(1.5);box-shadow:0 0 8px #f26f3be6}.tl-pro-block-edge{cursor:col-resize;width:6px;position:absolute;top:0;bottom:0}.tl-pro-block-left{left:0}.tl-pro-block-right{right:0}.tl-pro-playhead{z-index:10;pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.tl-pro-playhead-line{background:#ff8b59;width:2px;position:absolute;top:0;bottom:0;left:0;box-shadow:0 0 8px #ff8b5980}.tl-pro-playhead-handle{color:#ff8b59;font-size:8px;position:absolute;top:-2px;left:50%;transform:translate(-50%)}.tl-pro-empty{color:#ffffff40;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex;position:absolute;inset:28px 0 0}@media (width<=834px){.timeline-panel{width:96vw;height:180px;bottom:60px}.tl-pro-track-header{width:100px}}.toolbar{left:12px}.flyout{left:68px}.top-controls,.settings-dropdown{top:56px;right:16px}.posture-buttons{gap:8px;display:flex}.posture-btn{border-radius:var(--radius);height:40px;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:#ffffff0a;border:1px solid #ffffff0f;flex:1;justify-content:center;align-items:center;font-size:18px;display:flex}.posture-btn:hover{background:#ffffff14;border-color:#ffffff1f}.posture-btn.active{border-color:var(--accent);color:var(--accent);background:#ffffff1a;box-shadow:0 0 12px #00d2ff26}.panel-posture .control-group{margin-bottom:4px}.kb-toast{z-index:200;-webkit-backdrop-filter:blur(20px);color:#ffffffe6;font-size:12px;font-family:var(--font);pointer-events:none;opacity:0;background:#ffffff1a;border:1px solid #ffffff26;border-radius:12px;padding:8px 16px;transition:opacity .3s;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}.kb-toast.visible{opacity:1}
