:root{--bg-body: #0f172a;--bg-card: #1e293b;--bg-header: #172033;--bg-input: #334155;--bg-input-focus: #475569;--text-main: #f1f5f9;--text-muted: #94a3b8;--primary: #3b82f6;--primary-hover: #2563eb;--danger: #ef4444;--success: #10b981;--warning: #f59e0b;--border-radius: 8px;--font-family: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{display:none}*{-ms-overflow-style:none;scrollbar-width:none}body{font-family:var(--font-family);background-color:var(--bg-body);color:var(--text-main);min-height:100vh;overflow-y:auto;font-size:13px}.app-wrapper{display:flex;flex-direction:column;min-height:100vh;max-width:1400px;margin:0 auto}.top-bar{background-color:var(--bg-header);padding:.3rem 1rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.05);min-height:38px;height:auto;flex-shrink:0;gap:12px}.logo-area h1{font-size:1rem;font-weight:600;letter-spacing:-.5px}.logo-area span{color:var(--primary)}.connection-group{display:flex;gap:8px;align-items:center}.connection-group .btn-sm{padding:3px 10px;font-size:.78rem;height:26px}.input-mini{position:relative;width:105px}.input-mini input{width:100%;background:var(--bg-input);border:1px solid transparent;padding:3px 22px 3px 8px;border-radius:4px;color:#fff;font-size:.8rem;font-family:monospace;height:26px}.input-mini input:focus{outline:none;background:var(--bg-input-focus);border-color:var(--primary)}.status-dot{display:inline-block;position:static;width:8px;height:8px;border-radius:50%;flex-shrink:0;vertical-align:middle}.status-dot.disconnected{background:var(--danger, #ef4444)}.status-dot.connected{background:var(--success, #10b981);box-shadow:0 0 6px var(--success, #10b981)}.input-mini{position:relative}.input-mini .status-dot{position:absolute;right:7px;top:50%;transform:translateY(-50%)}.topbar-pill{display:inline-flex;align-items:center;gap:6px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);padding:2px 7px;border-radius:4px;font-size:.78rem;height:24px;transition:all .2s ease;color:#cbd5e1;font-weight:500;-webkit-user-select:none;user-select:none;box-sizing:border-box}.topbar-pill:hover{background:#ffffff12;border-color:#ffffff26;color:#f1f5f9}.topbar-pill-btn{cursor:pointer;font-family:inherit;line-height:1}.topbar-volume-pill{padding:2px 7px;gap:6px}.topbar-volume-pill:hover{border-color:#38bdf859}.topbar-volume-icon{font-size:.85rem;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .15s ease}.topbar-volume-icon:hover{transform:scale(1.2)}.topbar-mini-slider{width:68px;height:4px;margin:0;cursor:pointer;accent-color:var(--accent-cyan, #38bdf8)}.topbar-sync-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#94a3b8;margin-left:3px;transition:background-color .2s ease,box-shadow .2s ease}.topbar-pill .topbar-pill-label,.topbar-pill .masking-label{color:#cbd5e1;font-weight:500;-webkit-user-select:none;user-select:none;font-size:.78rem;cursor:pointer;display:flex;align-items:center;gap:4px;margin:0}.topbar-pill .ios-toggle{width:28px;height:16px;margin:0;flex-shrink:0}.topbar-pill .ios-toggle:after{width:12px;height:12px;top:2px;left:2px}.topbar-pill .ios-toggle:checked:after{transform:translate(12px)}.dashboard-grid{display:grid;grid-template-columns:330px 1fr;gap:8px;padding:8px;flex:0 1 auto;min-height:0;align-items:stretch}.column{display:flex;flex-direction:column;gap:8px;min-width:0;height:100%;align-self:stretch}.card{background:var(--bg-card);border-radius:var(--border-radius);padding:8px;border:1px solid rgba(255,255,255,.04)}.card.compact{padding:5px 6px}.card-header{display:flex;justify-content:space-between;align-items:center;min-height:22px;margin-bottom:5px;padding:0}.card-header.collapsed,.collapsible-header:not(.active),.card:has(>.collapsible-content:not(.show))>.card-header,.card:has(>.hidden)>.card-header,.card:has(>.hamp-emotion-panel.hidden)>.card-header{margin-bottom:0!important}.card-header .btn-icon,.card-header .maximize-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;font-size:1rem;line-height:1;box-sizing:border-box}.card-header .ios-toggle{width:30px;height:16px;margin:0;flex-shrink:0}.card-header .ios-toggle:after{width:12px;height:12px;top:2px;left:2px}.card-header .ios-toggle:checked:after{transform:translate(14px)}.card h2{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:2px;display:inline-flex;align-items:center;gap:6px;line-height:1.2}.card-header h2{margin:0;line-height:1.2}.header-subtitle{font-size:.8rem;color:var(--primary)}.controls-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px}.controls-row.single{grid-template-columns:1fr}.description-box{background:#00000026;padding:6px;margin:4px 0 8px;border-radius:4px;font-size:.8rem;color:var(--text-muted);border:1px solid rgba(255,255,255,.05)}select,input[type=text]{width:100%;padding:6px;background:var(--bg-body);border:1px solid var(--bg-input);border-radius:4px;color:var(--text-main);font-size:.85rem}.slider-row{display:flex;flex-direction:column;margin-bottom:6px}.slider-row label{font-size:.75rem;color:var(--text-muted);display:flex;justify-content:space-between}.highlight-text{color:var(--primary);font-weight:700}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:20px;background:transparent;cursor:pointer;margin:2px 0;display:block}input[type=range]::-webkit-slider-runnable-track{width:100%;height:6px;background:#cbd5e1;border-radius:3px;border:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;height:16px;width:16px;border-radius:50%;background:var(--primary);margin-top:-5px;box-shadow:0 0 0 2px var(--bg-card);transition:transform .1s;cursor:pointer;position:relative;z-index:2}input[type=range]:focus{outline:none}input[type=range]:focus::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--text-main)}input[type=range]::-moz-range-track{width:100%;height:6px;background:#cbd5e1;border-radius:3px;cursor:pointer}input[type=range]::-moz-range-thumb{height:16px;width:16px;border:none;border-radius:50%;background:var(--primary);cursor:pointer;box-shadow:0 0 0 2px var(--bg-card)}.full-height-card{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.playlist-container{flex:1 1 auto;min-height:34px;background:#151e2e;border-radius:6px;margin-bottom:4px;overflow-y:auto;border:1px solid var(--bg-input);padding:5px}.playlist-item{background:#1e293b;padding:5px 8px;margin-bottom:4px;border-radius:4px;display:flex;justify-content:space-between;align-items:center;font-size:.75rem}.playlist-item:hover{background:#263549}.playlist-item.editing{border-left:3px solid var(--primary);background:#1e293b}.item-index{color:var(--text-muted);width:20px;font-size:.75rem;font-family:var(--font-mono)}.playlist-item .btn-group button{padding:2px 6px;font-size:.7rem;margin-left:2px}.btn{border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:.2s;color:#fff;display:flex;align-items:center;justify-content:center}.btn:hover{filter:brightness(1.15)}.btn.active{filter:brightness(1.3);box-shadow:0 0 12px #ffffff4d inset,0 0 8px #fff3;transform:translateY(1px);border:1px solid rgba(255,255,255,.4)}.btn-primary{background:var(--primary)}.btn-danger{background:var(--danger)}.btn-secondary{background:var(--bg-input);color:var(--text-muted)}.btn-secondary:hover{color:#fff}.btn-success{background:var(--success)}.btn-warning{background:var(--warning);color:#000}.btn-sm{padding:4px 12px;font-size:.8rem;height:30px}.btn-lg{padding:8px;font-size:.9rem}.btn-full{width:100%;padding:6px;margin-top:4px;font-size:.85rem}.btn-icon{padding:0 12px;font-size:1.1rem}.hamp-style-btn{padding:3px 12px;font-size:.78rem;font-weight:600;border-radius:4px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:var(--text-muted, #94a3b8);cursor:pointer;transition:all .18s ease}.hamp-style-btn:hover{color:#fff;background:#ffffff1f}.hamp-style-btn.active{background:var(--accent-color, #06b6d4);color:#fff;border-color:#ffffff59;box-shadow:0 0 10px #06b6d466}.pulsate{animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.8}to{opacity:1}}.quick-modes-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:4px 0}.btn-quick-mode{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px;font-size:.85rem;font-weight:600;border-radius:6px;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none;box-shadow:0 2px 4px #0003;min-width:0}.btn-quick-mode .qm-icon{font-size:1.05rem;line-height:1}.btn-quick-mode .qm-label{letter-spacing:.3px;white-space:nowrap}.btn-quick-mode .qm-badge{font-size:.65rem;font-family:var(--font-mono, monospace);padding:1px 5px;background:#0006;border-radius:3px;opacity:.85;border:1px solid rgba(255,255,255,.15);line-height:1.2}#holdBtn{background:linear-gradient(135deg,#1e293b,#0f172a);color:#f1f5f9;border-color:#10b98159}#holdBtn .qm-badge{color:#a7f3d0;border-color:#10b9814d}#holdBtn:hover{border-color:#10b981b3;color:#d1fae5;box-shadow:0 0 10px #10b98140}#holdBtn.active{background:linear-gradient(135deg,#10b981,#059669)!important;border-color:#34d399!important;color:#fff!important;box-shadow:0 0 18px #10b981d9,inset 0 0 8px #ffffff4d!important;animation:pulse-glow-hold 1s infinite alternate!important}#holdBtn.active .qm-badge{background:#0000004d;color:#fff}@keyframes pulse-glow-hold{0%{transform:scale(1);filter:brightness(1);box-shadow:0 0 10px #10b98180}to{transform:scale(1.02);filter:brightness(1.22);box-shadow:0 0 22px #10b981f2,inset 0 0 10px #ffffff73}}.qm-flash-warn{animation:qm-flash .35s ease!important}@keyframes qm-flash{0%,to{transform:scale(1)}50%{transform:scale(.95);border-color:#f59e0be6;box-shadow:0 0 14px #f59e0b99}}#imComingBtn{background:linear-gradient(135deg,#1e293b,#0f172a);color:#f1f5f9;border-color:#f43f5e59}#imComingBtn .qm-badge{color:#fda4af;border-color:#f43f5e4d}#imComingBtn:hover{border-color:#f43f5eb3;color:#ffe4e6;box-shadow:0 0 10px #f43f5e40}#imComingBtn.active{background:linear-gradient(135deg,#ff4d6d,#c9184a)!important;border-color:#ff758f!important;color:#fff!important;box-shadow:0 0 16px #ff4d6dbf,inset 0 0 8px #ffffff4d!important;animation:pulse-glow-cum 1s infinite alternate}#imComingBtn.active .qm-badge{background:#0000004d;color:#fff}#spasmsBtn{background:linear-gradient(135deg,#1e293b,#0f172a);color:#f1f5f9;border-color:#f59e0b59}#spasmsBtn .qm-badge{color:#fde68a;border-color:#f59e0b4d}#spasmsBtn:hover{border-color:#f59e0bb3;color:#fef3c7;box-shadow:0 0 10px #f59e0b40}#spasmsBtn.active{background:linear-gradient(135deg,#f59e0b,#d97706)!important;color:#111!important;border-color:#fbbf24!important;box-shadow:0 0 14px #f59e0ba6!important}#spasmsBtn.active .qm-badge{background:#0000004d;color:#111}#aftercareBtn{background:linear-gradient(135deg,#1e293b,#0f172a);color:#f1f5f9;border-color:#38bdf859}#aftercareBtn .qm-badge{color:#bae6fd;border-color:#38bdf84d}#aftercareBtn:hover{border-color:#38bdf8b3;color:#e0f2fe;box-shadow:0 0 10px #38bdf840}#aftercareBtn.active{background:linear-gradient(135deg,#0ea5e9,#0284c7)!important;color:#fff!important;border-color:#38bdf8!important;box-shadow:0 0 14px #0ea5e9a6!important}#aftercareBtn.active .qm-badge{background:#0000004d;color:#fff}@keyframes pulse-glow-cum{0%{transform:scale(1);filter:brightness(1)}to{transform:scale(1.02);filter:brightness(1.2)}}.playback-controls{display:flex;gap:8px;margin-top:auto}.primary-controls{flex:1.2;display:flex;gap:5px}.primary-controls .btn{flex:1}.secondary-controls{display:flex;gap:5px;flex:1}.secondary-controls .btn{flex:1}.bpm-control-compact{display:flex;align-items:center;gap:10px;font-size:.75rem;color:var(--text-muted);margin-bottom:3px}.bpm-control-compact input{margin:0}#consoleLog{font-family:var(--font-mono);font-size:.65rem;height:100px;overflow-y:auto;color:var(--text-muted);background:#0b1120;padding:6px;border-radius:4px}.log-entry{border-bottom:1px solid rgba(255,255,255,.02);padding:1px 0}.log-time{color:#475569;font-size:.7rem;margin-right:5px}.profile-badge{padding:6px 12px;border-radius:20px;display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:600;transition:all .3s ease;margin-right:15px}.profile-badge.hidden{display:none!important}.profile-legacy{background:#2a3b2a;color:#a3d9a5;border:1px solid #4caf50;box-shadow:0 0 5px #4caf5033}.profile-pro{background:#2a3b45;color:#a3d9ff;border:1px solid #2196f3;box-shadow:0 0 10px #2196f34d}.profile-oc{background:#3b2a2a;color:#ff9e9e;border:1px solid #f44336;box-shadow:0 0 15px #f4433680;animation:pulse-border 2s infinite}.profile-offline{background:#2d2a3b;color:#cba3ff;border:1px solid #7c4dff;box-shadow:0 0 10px #7c4dff4d}@keyframes pulse-border{0%{box-shadow:0 0 10px #f4433666}50%{box-shadow:0 0 20px #f44336b3}to{box-shadow:0 0 10px #f4433666}}.toggle-switch{position:relative;display:inline-block;width:36px;height:20px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:20px}.slider:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#f44336}input:checked+.slider:before{transform:translate(16px)}.hidden{display:none!important}.collapsible-header{cursor:pointer}.collapse-icon{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid currentColor;transition:transform .3s ease;transform-origin:center}.collapsible-header.collapsed .collapse-icon,.collapsible-header:not(.active) .collapse-icon{transform:rotate(-90deg)}.collapsible-header.active .collapse-icon{transform:rotate(0)}.collapsible-content{display:none;padding-top:10px}.collapsible-content:not(.show){display:none!important}.collapsible-content.show{display:block!important}.toggle-switch.hidden{display:none!important}.profile-toggle-group{display:flex;align-items:center;gap:8px}.toggle-label{font-size:.9em;font-weight:500}.autopilot-card{background:linear-gradient(135deg,#1e293bb3,#0f172ad9);border:1px solid rgba(56,189,248,.22);padding:6px;border-radius:var(--border-radius, 8px);box-shadow:0 2px 8px #0000004d}.btn-just-relax{width:100%;min-height:44px;padding:7px 10px;border-radius:6px;border:1px solid rgba(56,189,248,.35);background:linear-gradient(135deg,#1e293bf5,#0f172afa 55%,#0e749052);color:var(--text-main, #f1f5f9);font-family:var(--font-family);display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;text-align:left;box-shadow:0 2px 8px #0f172a66,inset 0 1px #ffffff14;transition:all .2s ease}.btn-just-relax:hover{border-color:#38bdf8cc;background:linear-gradient(135deg,#1e293b,#0f172a 45%,#0e74908c);box-shadow:0 0 14px #38bdf840}.btn-just-relax:active{transform:translateY(1px)}.btn-just-relax .jr-icon{font-size:1.15rem;line-height:1;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;background:#38bdf81f;border:1px solid rgba(56,189,248,.25)}.btn-just-relax .jr-copy{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.btn-just-relax .jr-title{font-size:.84rem;font-weight:600;letter-spacing:-.2px;color:#f8fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-just-relax .jr-subtext{font-size:.68rem;color:#94a3b8;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-just-relax .jr-badge{font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.5px;padding:2px 6px;border-radius:999px;background:#38bdf829;color:#7dd3fc;border:1px solid rgba(56,189,248,.32);flex-shrink:0}.jr-floating-alert{position:fixed;top:40px;left:50%;transform:translate(-50%);z-index:10000;background:#0f172af7;border:1px solid rgba(239,68,68,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 30px #0009;border-radius:8px;padding:6px 14px;max-width:90vw}.generator-tab-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:3px;border-bottom:1px solid rgba(255,255,255,.05);margin-bottom:6px}.generator-tab-group{display:inline-flex;background:#00000059;padding:2px;border-radius:6px;gap:3px;border:1px solid rgba(255,255,255,.06)}.generator-tab-btn{background:transparent;border:none;color:var(--text-muted, #94a3b8);font-size:.76rem;font-weight:600;padding:3px 11px;border-radius:4px;cursor:pointer;transition:all .15s ease}.generator-tab-btn:hover{color:var(--text-main, #f1f5f9)}.generator-tab-btn.active{background:#38bdf829;color:#38bdf8;box-shadow:0 1px 3px #0000004d;border:1px solid rgba(56,189,248,.28)}.generator-tab-content.hidden{display:none!important}.diagnostics-tab-pills{display:inline-flex;background:#0000004d;padding:2px;border-radius:5px;gap:2px;border:1px solid rgba(255,255,255,.06)}.diag-tab-pill{background:transparent;border:none;color:var(--text-muted, #94a3b8);font-size:.7rem;font-weight:500;padding:2px 7px;border-radius:3px;cursor:pointer;transition:all .15s ease}.diag-tab-pill:hover{color:var(--text-main, #f1f5f9)}.diag-tab-pill.active{background:#ffffff1f;color:var(--text-main, #f1f5f9);font-weight:600}.diag-tab-panel.hidden{display:none!important}.bpm-micro-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;background:#00000052;border:1px solid rgba(255,255,255,.08);border-radius:9999px;font-size:.72rem;vertical-align:middle}.bpm-micro-pill .micro-icon{font-size:.74rem;color:#f59e0b}.bpm-micro-pill .micro-label{color:var(--text-muted, #94a3b8);font-weight:500}.bpm-micro-pill .micro-val{font-family:var(--font-mono, monospace);font-weight:700;color:var(--primary, #38bdf8);min-width:26px;text-align:right}.micro-bpm-slider{width:65px;height:4px;accent-color:#38bdf8;margin:0 2px;cursor:pointer}.modifiers-pill-btn{font-size:.76rem!important;padding:3px 9px!important;gap:5px!important;display:inline-flex;align-items:center}.modifiers-pill-btn.active{border-color:#38bdf899;background:#38bdf829;color:#38bdf8}.modifiers-modal{max-width:520px;width:100%}.btn-just-relax.is-starting{border-color:#818cf8bf;background:linear-gradient(135deg,#1e293bfa,#312e8185);box-shadow:0 0 16px #6366f147}.btn-just-relax.is-starting .jr-icon{background:#818cf82e;border-color:#818cf866;animation:jr-breathe 1.4s ease-in-out infinite alternate}.btn-just-relax.is-starting .jr-subtext{color:#c7d2fe}.btn-just-relax.is-starting .jr-badge{background:#818cf838;color:#e0e7ff;border-color:#818cf873}.btn-just-relax.is-active{border-color:#10b981b8;background:linear-gradient(135deg,#064e3b94,#0f172af5 60%,#0e749073);box-shadow:0 0 18px #10b9813d,inset 0 1px #ffffff14}.btn-just-relax.is-active:hover{border-color:#ef4444a6;box-shadow:0 0 16px #ef444438}.btn-just-relax.is-active .jr-icon{background:#10b98133;border-color:#10b98173;animation:jr-breathe 2.6s ease-in-out infinite alternate}.btn-just-relax.is-active .jr-subtext{color:#a7f3d0}.btn-just-relax.is-active .jr-badge{background:#10b98138;color:#6ee7b7;border-color:#10b98180}.btn-take-over{margin-top:6px;border-color:#f43f5e66;background:linear-gradient(135deg,#1e293bf5,#180f17fa 55%,#9f123952);box-shadow:0 2px 8px #0f172a66,inset 0 1px #ffffff14}.btn-take-over:hover{border-color:#fb7185d9;background:linear-gradient(135deg,#1e293b,#24101a 45%,#be123c8c);box-shadow:0 0 14px #f43f5e4d}.btn-take-over .jr-icon{background:#f43f5e24;border-color:#f43f5e59}.btn-take-over .jr-badge{background:#f43f5e2e;color:#fecdd3;border-color:#f43f5e61}.btn-take-over.is-starting{border-color:#fb923ccc;background:linear-gradient(135deg,#1e293bfa,#7c2d128c);box-shadow:0 0 16px #f9731652}.btn-take-over.is-starting .jr-icon{background:#fb923c33;border-color:#fb923c80;animation:jr-breathe 1.1s ease-in-out infinite alternate}.btn-take-over.is-starting .jr-subtext{color:#fed7aa}.btn-take-over.is-starting .jr-badge{background:#fb923c40;color:#ffedd5;border-color:#fb923c8c}.btn-take-over.is-active{border-color:#f43f5ee0;background:linear-gradient(135deg,#881337a6,#0f172af5 55%,#be123c80);box-shadow:0 0 20px #f43f5e61,inset 0 1px #ffffff1a}.btn-take-over.is-active:hover{border-color:#ef4444e6;box-shadow:0 0 18px #ef444459}.btn-take-over.is-active .jr-icon{background:#f43f5e40;border-color:#f43f5e8c;animation:jr-breathe 1.5s ease-in-out infinite alternate}.btn-take-over.is-active .jr-subtext{color:#fecdd3}.btn-take-over.is-active .jr-badge{background:#f43f5e47;color:#ffe4e6;border-color:#f43f5ea6}.jr-alert{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;padding:6px 12px;border-radius:6px;font-size:.78rem;color:#fecaca;background:#7f1d1d73;border:1px solid rgba(239,68,68,.45)}.jr-alert.hidden{display:none!important}.jr-alert-text{flex:1;min-width:180px}.jr-alert-btn{display:inline-flex;align-items:center;gap:5px;min-block-size:28px;padding:4px 10px;border-radius:5px;border:1px solid rgba(56,189,248,.55);background:linear-gradient(135deg,#0e7490a6,#1e3a8abf);color:#e0f2fe;font-family:var(--font-family);font-size:.76rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.jr-alert-btn:hover{border-color:#7dd3fc;background:linear-gradient(135deg,#0284c7d9,#2563ebd9);color:#fff;box-shadow:0 0 10px #38bdf859}.jr-alert-btn:focus-visible{outline:2px solid #38bdf8;outline-offset:2px}.jr-alert-btn.hidden{display:none!important}@keyframes jr-breathe{0%{transform:scale(.96);opacity:.85}to{transform:scale(1.06);opacity:1}}@media (pointer: coarse){.btn-just-relax{min-block-size:48px;padding:10px 14px}.jr-alert-btn{min-block-size:38px;padding:6px 12px}}@media (prefers-reduced-motion: reduce){.btn-just-relax,.btn-just-relax .jr-icon,.jr-alert-btn{transition:none!important;animation:none!important}}.playlist-chart-container{position:relative;-webkit-user-select:none;user-select:none}.playlist-chart-container canvas{display:block;width:100%;height:64px;border-radius:6px;background:radial-gradient(circle at 50% 50%,#0f172abf,#080c16f2);border:1px solid rgba(255,255,255,.08);cursor:crosshair;touch-action:none;box-shadow:inset 0 2px 10px #000000b3,0 2px 8px #0000004d;transition:border-color .2s ease,box-shadow .2s ease}.playlist-chart-container canvas:hover{border-color:#00f5d459;box-shadow:inset 0 2px 10px #000000b3,0 0 14px #00f5d426}.heatmap-tooltip{position:absolute;top:0;left:0;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease-out,visibility .15s ease-out;background:#0a0f1ef0;border:1px solid rgba(0,245,212,.4);border-radius:6px;padding:5px 9px;font-family:var(--font-mono, monospace);font-size:.7rem;color:#f1f5f9;box-shadow:0 8px 24px #000000bf,0 0 12px #00f5d426;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;white-space:nowrap;will-change:transform,opacity}.heatmap-tooltip.show{opacity:1;visibility:visible}.heatmap-playhead-needle{position:absolute;top:0;height:64px;width:2px;background:#10b981;box-shadow:0 0 8px #10b981,0 0 2px #fff;pointer-events:none;display:none;z-index:5;transform:translate(-50%);border-radius:1px;will-change:left}.heatmap-mode-pill{position:absolute;top:6px;right:8px;font-family:var(--font-mono, monospace);font-size:.62rem;font-weight:600;letter-spacing:.05em;padding:2px 7px;border-radius:4px;background:#0a0f1ecc;border:1px solid rgba(0,245,212,.35);color:#00f5d4;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all .15s ease;z-index:10;display:inline-flex;align-items:center;gap:5px;-webkit-user-select:none;user-select:none}.heatmap-mode-pill:hover{background:#00f5d42e;border-color:#00f5d4b3;box-shadow:0 0 8px #00f5d440}.heatmap-mode-pill.overview{color:#94a3b8;border-color:#ffffff26;background:#0a0f1e99}.heatmap-mode-pill.overview:hover{color:#f1f5f9;border-color:#ffffff59}.heatmap-mode-pill.eco{color:#10b981;border-color:#10b98173;background:#061a12d9}.heatmap-mode-pill.eco:hover{color:#34d399;border-color:#10b981d9;box-shadow:0 0 8px #10b98159}.heatmap-mode-dot{width:5px;height:5px;border-radius:50%;background:#00f5d4;box-shadow:0 0 6px #00f5d4;transition:all .15s ease}.heatmap-mode-pill.overview .heatmap-mode-dot{background:#64748b;box-shadow:none}.heatmap-mode-pill.eco .heatmap-mode-dot{background:#10b981;box-shadow:0 0 6px #10b981}.heatmap-tooltip-title{font-weight:700;color:#38bdf8;margin-bottom:2px}.heatmap-tooltip-metrics{display:flex;gap:8px;color:#94a3b8;font-size:.68rem}.heatmap-tooltip-metrics span.highlight{color:#f8fafc;font-weight:600}.playlist-chart-container .preset-navigation{margin-top:5px;margin-bottom:3px!important}.playlist-chart-container .preset-navigation .btn-sm{height:24px;padding:1px 10px}.timeline-wrapper{display:flex;align-items:center;gap:10px;padding:0 5px;margin-top:-5px;margin-bottom:5px}.timeline-wrapper span{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);min-width:40px;text-align:center}#timelineSlider{flex-grow:1;height:4px;margin:0}#timelineSlider::-webkit-slider-thumb{height:12px;width:12px;background:var(--text-main);margin-top:-4px;box-shadow:none}.modifier-group{background:#0000001a;padding:8px;border-radius:4px;margin-bottom:6px;border:1px solid rgba(255,255,255,.02)}.toggle-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.modifier-title{font-size:.8rem;font-weight:500;color:var(--text-main)}.ios-toggle{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:32px;height:18px;background:var(--bg-input);border-radius:20px;position:relative;cursor:pointer;outline:none;transition:background .3s;flex-shrink:0}.ios-toggle:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .3s}.ios-toggle:checked{background:var(--success)}.ios-toggle:checked:after{transform:translate(14px)}.ios-toggle:disabled{opacity:.35;cursor:not-allowed;filter:grayscale(1)}.hamp-controls-group{display:flex;align-items:center;gap:15px;background-color:var(--bg-card);padding:5px 10px;border-radius:var(--border-radius)}.hamp-controls-group.hidden{display:none}.hamp-toggle-group{display:flex;align-items:center;gap:8px}.hamp-sliders{display:flex;gap:15px;align-items:center}.hamp-sliders .slider-row{margin-bottom:0}.hamp-stroke-group{display:flex;flex-direction:column}.hamp-stroke-sliders{position:relative;width:100%;height:20px}.hamp-stroke-sliders input[type=range]{position:absolute;top:0;left:0;width:100%;margin:0;pointer-events:none}.hamp-stroke-sliders input[type=range]::-webkit-slider-thumb{pointer-events:all}.hamp-stroke-sliders input[type=range]:last-child::-webkit-slider-runnable-track{background:transparent}.module-divider-row{margin:0!important;padding-top:8px!important;padding-bottom:2px!important;border-top:1px solid rgba(255,255,255,.08)!important}.hamp-emotion-panel{margin-top:8px;display:flex;flex-direction:column;gap:6px}.hamp-emotion-panel.collapsible-content:not(.show){display:none!important}.hamp-emotion-panel.collapsible-content.show{display:flex!important;flex-direction:column;gap:6px}.hamp-emotion-panel.hidden{display:none!important}.vision-screen-container{width:100%;display:flex;justify-content:center}.vision-viewport{position:relative;width:100%;height:150px;background-color:#0b0e14;border-radius:8px;overflow:hidden;border:1px solid var(--border-color, #2a2d3d);isolation:isolate;contain:paint;transform:translateZ(0)}.vision-viewport video,.vision-viewport canvas{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;transform-origin:50% 50%;transform:scaleX(-1);-webkit-backface-visibility:hidden;backface-visibility:hidden}.vision-viewport canvas{pointer-events:none}.vision-badge{position:absolute;top:6px;left:6px;padding:3px 8px;border-radius:4px;background:#0a0f19cc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#e0e0e0;font-size:.72rem;font-weight:600;border:1px solid rgba(255,255,255,.1);z-index:2;pointer-events:none}.vision-telemetry-bar{display:flex;justify-content:space-between;align-items:center;background:var(--bg-card-secondary, rgba(255, 255, 255, .04));padding:6px 10px;border-radius:6px;font-size:.8rem}.telemetry-item{display:flex;gap:4px;align-items:center}.telemetry-label{color:var(--text-muted, #888);font-size:.75rem}.telemetry-value{font-weight:600;color:var(--text-color, #fff)}.wireframe-toggle-row{padding-top:4px;border-top:1px dashed rgba(255,255,255,.08)}.vision-control-pad{display:flex;flex-direction:column;gap:4px;background:#0003;padding:5px;border-radius:8px;border:1px solid rgba(255,255,255,.07);margin-top:4px;margin-bottom:2px}.vision-btn-grid{display:grid;gap:4px;width:100%}.vision-btn-grid.quad{grid-template-columns:1.15fr 1.15fr .85fr .85fr}.vision-btn-grid.trio{grid-template-columns:1fr 1fr 1fr}.vision-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:27px;padding:2px 4px;font-size:.76rem;font-weight:500;border-radius:5px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:var(--text-color, #e0e0e0);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .18s ease;white-space:nowrap;text-align:center;outline:none}.vision-btn:hover:not(:disabled):not(.disabled){background:#ffffff1f;border-color:#ffffff40;color:#fff}.vision-btn:active:not(:disabled):not(.disabled){transform:translateY(1px)}.vision-btn-climax{background:#ef444433;border-color:#ef444473;color:#fca5a5}.vision-btn-climax:hover:not(:disabled):not(.disabled){background:#ef444459;border-color:#ef4444b3;color:#fff}.vision-btn-toggle{background:#00000059;border-color:#ffffff1a;color:var(--text-muted, #94a3b8)}.vision-btn-toggle.active{background:#00e5ff29;border-color:#00e5ff99;color:#e0f2fe;font-weight:600;box-shadow:0 0 8px #00e5ff1f}.vision-btn-toggle.active:hover:not(:disabled):not(.disabled){background:#00e5ff40;border-color:#00e5ffcc}.vision-btn:disabled,.vision-btn.disabled{opacity:.32;cursor:not-allowed;filter:grayscale(.8);pointer-events:none;border-color:#ffffff0d}.multi-track-hud{background:#121622d9;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:5px 10px;margin:4px 0;display:flex;flex-direction:column;gap:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hud-header{display:flex;justify-content:space-between;align-items:center}.hud-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #94a3b8)}.emotion-live-badge{font-size:.72rem;font-weight:700;color:#10b981;background:#10b98126;padding:2px 8px;border-radius:12px;border:1px solid rgba(16,185,129,.3);animation:live-pulse 2s infinite ease-in-out}.manual-layers-badge,.dj-manual-badge{font-size:.72rem;font-weight:700;color:#c084fc;background:#c084fc26;padding:2px 8px;border-radius:12px;border:1px solid rgba(192,132,252,.35)}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.5}}.track-pills-container{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.track-pill{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px 4px;color:#94a3b8;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:all .25s cubic-bezier(.4,0,.2,1);font-family:inherit}.track-pill .pill-icon{font-size:1.1rem}.track-pill .pill-name{font-size:.72rem;font-weight:600;text-transform:uppercase}.track-pill:hover{background:#ffffff14;border-color:#fff3;color:#f8fafc;transform:translateY(-1px)}.track-pill.active{background:#a855f733;border-color:#a855f7;color:#c084fc;box-shadow:0 0 12px #a855f759}.track-pill.active[data-track="0"]{background:#3b82f633;border-color:#3b82f6;color:#60a5fa;box-shadow:0 0 12px #3b82f659}.track-pill.active[data-track="1"]{background:#10b98133;border-color:#10b981;color:#34d399;box-shadow:0 0 12px #10b98159}.track-pill.active[data-track="2"]{background:#f59e0b33;border-color:#f59e0b;color:#fbbf24;box-shadow:0 0 12px #f59e0b59}.track-pill.active[data-track="3"]{background:#ef444440;border-color:#ef4444;color:#f87171;box-shadow:0 0 16px #ef444480;animation:climax-glow 1.5s infinite alternate ease-in-out}@keyframes climax-glow{0%{box-shadow:0 0 8px #ef444466}to{box-shadow:0 0 20px #ef4444cc}}.track-pill.target-pending{border-style:dashed;animation:target-blink .6s infinite alternate}@keyframes target-blink{0%{opacity:.5;border-color:#ffffff4d}to{opacity:1;border-color:#f59e0b}}.transition-badge{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.75rem;font-weight:600;color:#fbbf24;background:#f59e0b1f;border:1px solid rgba(245,158,11,.25);border-radius:6px;padding:4px 8px}.pulse-dot{width:7px;height:7px;background-color:#f59e0b;border-radius:50%;animation:dot-pulse .8s infinite alternate}@keyframes dot-pulse{0%{transform:scale(.7);opacity:.4}to{transform:scale(1.3);opacity:1}}body.has-maximized-card{overflow:hidden!important;touch-action:none}.card.maximized{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;width:100dvw;height:100vh;height:100dvh;z-index:99999;margin:0;border-radius:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 0 calc(20px + env(safe-area-inset-bottom,0px)) 0;background:var(--bg-body, #0a0f1d);border:none;display:flex;flex-direction:column;box-shadow:none}.card.maximized .card-header{position:sticky;top:0;z-index:100;margin:0 0 14px!important;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px 16px;background:#0f172aeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center}.card.maximized .card-header h2{font-size:1.15rem;font-weight:700;color:var(--text-color, #fff);margin:0;border-bottom:none;padding-bottom:0}.btn-icon{background:transparent;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:0 5px;transition:color .2s,transform .15s ease}.btn-icon:hover{color:var(--text-color)}.card.maximized .maximize-btn{font-size:1.4rem;padding:6px 10px;border-radius:8px;background:#ffffff14;color:var(--text-color, #fff);display:inline-flex;align-items:center;justify-content:center;line-height:1}.card.maximized .maximize-btn:hover{background:#ffffff29;transform:scale(1.05)}.btn-config-gear{background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:5px;color:var(--text-muted, #aaa);font-size:.8rem;padding:0 4px;cursor:pointer;line-height:1;display:inline-flex;align-items:center;justify-content:center;height:20px;min-width:20px;box-sizing:border-box;transition:all .2s ease}.btn-config-gear:hover{background:#ffffff1f;color:var(--accent-color, #00e5ff);border-color:#00e5ff4d}.btn-config-gear.active{background:#00e5ff26;color:var(--accent-color, #00e5ff);border-color:#00e5ff80;transform:rotate(30deg)}.btn-config-gear:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.card.maximized>:not(.card-header){width:100%;max-width:760px;margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;box-sizing:border-box}.card.maximized select,.card.maximized input[type=text]{padding:10px 12px;font-size:.95rem;min-height:44px;border-radius:6px}.card.maximized button.btn{min-height:44px;font-size:.95rem;padding:8px 14px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-weight:500}.card.maximized .controls-row{gap:10px;margin-bottom:10px}.card.maximized .slider-row{margin-bottom:12px}.card.maximized .slider-row label{font-size:.85rem;margin-bottom:4px}.card.maximized input[type=range]{height:32px;touch-action:pan-y;margin:4px 0}.card.maximized input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:4px}.card.maximized input[type=range]::-moz-range-track{height:8px;border-radius:4px}.card.maximized input[type=range]::-webkit-slider-thumb{height:26px;width:26px;margin-top:-9px;box-shadow:0 2px 6px #0006,0 0 0 2px var(--bg-card);transition:transform .15s ease,box-shadow .15s ease}.card.maximized input[type=range]::-moz-range-thumb{height:26px;width:26px;box-shadow:0 2px 6px #0006,0 0 0 2px var(--bg-card);transition:transform .15s ease,box-shadow .15s ease}.card.maximized input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15);box-shadow:0 0 0 4px #3b82f666,0 2px 6px #0006}.card.maximized input[type=range]:active::-moz-range-thumb{transform:scale(1.15);box-shadow:0 0 0 4px #3b82f666,0 2px 6px #0006}.card.maximized .modifier-title,.card.maximized .telemetry-label{font-size:.9rem}.card.maximized .modifier-val,.card.maximized .telemetry-value{font-size:.95rem}.card.maximized #visionMasterSettings{display:flex;flex-direction:column;gap:12px}.card.maximized .vision-viewport{height:280px;max-height:45vh;border-radius:10px}@media (max-width: 480px){.card.maximized .vision-viewport{height:220px}}.card.maximized.full-height-card .playlist-container{max-height:40vh;min-height:180px}.card.maximized #consoleLog{height:calc(100vh - 120px);height:calc(100dvh - 120px);font-size:.8rem;padding:12px;border-radius:8px}.card.maximized#virtualHandyCard .collapsible-content,.card.maximized#systemLogCard .collapsible-content,.card.maximized#audio-card .collapsible-content,.card.maximized#second-handy-panel .collapsible-content,.card.maximized#modifiersCard .collapsible-content,.card.maximized#hamp-controls .collapsible-content{display:block!important}.card.maximized#emotion-card .collapsible-content{display:flex!important;flex-direction:column;gap:6px}.virtual-handy-track-wrapper{display:flex;gap:5px;align-items:center;height:140px}.virtual-handy-scale{display:flex;flex-direction:column;justify-content:space-between;height:100%;font-size:.55rem;font-family:var(--font-mono);color:var(--text-muted);text-align:right;width:26px;-webkit-user-select:none;user-select:none;line-height:1}.virtual-handy-rail-col{display:flex;flex-direction:column;align-items:center;height:100%;gap:2px}.virtual-rail-tag{font-size:.56rem;font-family:var(--font-mono);font-weight:700;line-height:1;letter-spacing:.04em;color:#38bdf8;-webkit-user-select:none;user-select:none}.virtual-rail-tag.tag-h2{color:#10b981}.virtual-handy-rail{position:relative;width:26px;flex:1;min-height:0;background:linear-gradient(180deg,#090d16,#151d2f,#090d16);border:1px solid rgba(255,255,255,.12);border-radius:6px;overflow:hidden;box-shadow:inset 0 2px 6px #000c}.virtual-handy-rail.rail-h2{border-color:#10b98147}.virtual-handy-rail:after{content:"";position:absolute;top:4px;bottom:4px;left:50%;width:4px;transform:translate(-50%);background:linear-gradient(90deg,#475569,#94a3b8,#334155);border-radius:2px;z-index:1}.virtual-handy-range-zone{position:absolute;left:2px;right:2px;bottom:0%;height:100%;background:#38bdf81f;border-top:1px dashed rgba(56,189,248,.5);border-bottom:1px dashed rgba(56,189,248,.5);z-index:2;transition:bottom .15s ease,height .15s ease;pointer-events:none}.virtual-handy-range-zone.range-zone-h2{background:#10b98124;border-top:1px dashed rgba(16,185,129,.65);border-bottom:1px dashed rgba(16,185,129,.65);transition:none}.virtual-handy-peer-marker{position:absolute;left:1px;right:1px;bottom:2px;height:2px;z-index:4;pointer-events:none;will-change:transform}.virtual-handy-peer-marker.marker-on-h1{border-top:2px dotted #f59e0b;filter:drop-shadow(0 0 3px rgba(245,158,11,.8))}.virtual-handy-peer-marker.marker-on-h2{background:#38bdf8;box-shadow:0 0 6px #38bdf8e6;opacity:.9}.virtual-handy-carriage{position:absolute;left:1px;right:1px;height:22px;bottom:2px;background:linear-gradient(180deg,#1e293b,#334155 50%,#0f172a);border:1px solid rgba(56,189,248,.85);border-radius:4px;z-index:3;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 0 10px #38bdf866,inset 0 1px #ffffff4d;will-change:transform}.virtual-handy-carriage.carriage-h2{border-color:#10b981e6;box-shadow:0 0 10px #10b98166,inset 0 1px #ffffff4d}.carriage-indicator{width:14px;height:3px;background:#38bdf8;border-radius:2px;box-shadow:0 0 6px #38bdf8}.carriage-indicator.indicator-h2{background:#10b981;box-shadow:0 0 6px #10b981}.carriage-grip{position:absolute;top:3px;bottom:3px;left:2px;width:2px;border-left:1px dotted rgba(255,255,255,.4)}.virtual-handy-telemetry{flex:1;display:flex;flex-direction:column;justify-content:space-between;height:140px;background:#0f172a8c;padding:6px 9px;border-radius:6px;border:1px solid rgba(255,255,255,.05)}.v-telemetry-row{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.7rem}.v-tel-dual-header{border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:1px;margin-bottom:1px}.v-tel-dual-vals{display:flex;align-items:center;justify-content:flex-end;gap:4px;white-space:nowrap}.v-tel-unit{font-size:.62rem;font-family:var(--font-mono);font-weight:700}.v-tel-unit.unit-h1{color:#38bdf8}.v-tel-unit.unit-h2{color:#10b981}.v-tel-sub-sep{color:#94a3b873;font-size:.65rem}.v-tel-label{color:var(--text-muted);font-weight:500}.v-tel-value{font-family:var(--font-mono);font-weight:600;color:var(--text-main)}.v-tel-value.highlight{color:#38bdf8;font-size:.8rem}.v-tel-value.highlight-h2{color:#10b981;font-size:.8rem}.v-tel-value.value-h2{color:#a7f3d0}.direction-up{color:#10b981}.direction-down{color:#f59e0b}.direction-spasm{color:#fbbf24;animation:virtualPulse .3s infinite alternate}.direction-neutral{color:var(--text-muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#050a14c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:12px;overflow:hidden;overscroll-behavior:contain;transition:opacity .2s ease}.modal-backdrop.hidden{display:none!important}.help-modal{background:#0f172a;border:1px solid rgba(255,255,255,.12);border-radius:12px;width:100%;max-width:860px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);display:flex;flex-direction:column;box-shadow:0 25px 50px #000000b3,0 0 30px #38bdf81f;color:var(--text-main, #f1f5f9);overflow:hidden;animation:modal-pop .2s cubic-bezier(.16,1,.3,1)}.sync-modal,.safety-modal{background:#0f172a;border:1px solid rgba(255,255,255,.12);border-radius:12px;width:100%;max-width:480px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);display:flex;flex-direction:column;box-shadow:0 25px 50px #000000b3,0 0 30px #38bdf826;color:var(--text-main, #f1f5f9);overflow:hidden;animation:modal-pop .2s cubic-bezier(.16,1,.3,1)}.btn-device-safety{padding:3px 8px!important;gap:4px!important;font-size:.78rem!important;cursor:pointer;border:1px solid rgba(255,255,255,.12);background:#0f172ab3;color:var(--text-main, #f1f5f9);border-radius:6px;transition:all .2s ease}.btn-device-safety:hover{border-color:#38bdf880;background:#1e293be6}.safety-badge{font-family:var(--font-mono, monospace);font-size:.7rem;padding:1px 4px;border-radius:3px;background:#00000059;color:var(--text-muted, #94a3b8);border:1px solid rgba(255,255,255,.08)}.safety-badge.custom-active{background:#10b98133;color:#34d399;border-color:#34d39966;font-weight:600}.device-hub-modal{max-width:540px!important}.device-hub-modal .modal-header{padding:10px 18px}.hub-tabs-bar{display:flex;flex-shrink:0;background:#00000059;border-bottom:1px solid rgba(255,255,255,.08);padding:0 16px;gap:8px}.hub-tab-btn{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted, #94a3b8);padding:8px 12px;font-size:.84rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s ease}.hub-tab-btn:hover{color:#f1f5f9}.hub-tab-btn.active{color:#38bdf8;border-bottom-color:#38bdf8}.hub-card{background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:9px 12px}.hub-card-header{display:flex;justify-content:space-between;align-items:center}.device-firmware-badge{font-family:var(--font-mono, monospace);font-size:.72rem;background:#0006;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:2px 7px;color:#94a3b8}.device-hub-pill{display:inline-flex;align-items:center;gap:6px;cursor:pointer;padding:2px 8px}.device-hub-pill .device-pill-title{font-weight:500;font-size:.78rem;color:#cbd5e1}.device-hub-pill:hover .device-pill-title{color:#f1f5f9}.hub-open-btn{font-weight:600;font-size:.78rem;background:#38bdf81a;border-color:#38bdf840;color:#38bdf8}.hub-open-btn:hover{background:#38bdf833;border-color:#38bdf866;color:#7dd3fc}.topbar-icon-pill{padding:2px 7px;gap:5px}.hotkey-badge{font-size:.7em;opacity:.75;background:#00000059;padding:1px 4px;border-radius:3px;font-family:var(--font-mono, monospace)}@keyframes modal-pop{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff05}.modal-title-area{display:flex;align-items:center;gap:10px}.modal-icon{font-size:1.3rem}.modal-header h2{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:-.2px}.modal-header h2 .accent{color:#38bdf8}.version-badge{font-size:.65rem;padding:2px 7px;background:#38bdf826;color:#38bdf8;border:1px solid rgba(56,189,248,.3);border-radius:4px;font-weight:600}.modal-close-btn{background:none;border:none;color:var(--text-muted, #94a3b8);font-size:1.1rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:.15s;line-height:1}.modal-close-btn:hover{color:#fff;background:#ffffff1a}.modal-tabs{display:flex;flex-shrink:0;gap:8px;padding:10px 22px;background:#00000040;border-bottom:1px solid rgba(255,255,255,.06)}.modal-tab{background:none;border:none;padding:7px 15px;border-radius:6px;font-size:.85rem;font-weight:600;color:var(--text-muted, #94a3b8);cursor:pointer;transition:.2s;border:1px solid transparent}.modal-tab:hover{color:#fff;background:#ffffff0d}.modal-tab.active{color:#38bdf8;background:#38bdf81f;border-color:#38bdf840}.modal-content-area{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.35) transparent;padding:22px;font-size:.85rem;line-height:1.5}.modal-content-area::-webkit-scrollbar{display:block;width:6px}.modal-content-area::-webkit-scrollbar-track{background:transparent}.modal-content-area::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:3px}.modal-content-area::-webkit-scrollbar-thumb:hover{background:#94a3b880}.tab-pane{display:none}.tab-pane.active{display:block}.second-handy-modes .track-pill{transition:all .2s cubic-bezier(.4,0,.2,1);background:#ffffff0a;border:1px solid rgba(255,255,255,.08);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;color:var(--text-muted, #94a3b8)}.second-handy-modes .track-pill:hover{background:#ffffff14;border-color:#ffffff29;color:var(--text-color, #f8fafc)}.second-handy-modes .track-pill.active{background:var(--primary, #0ea5e9);border-color:var(--primary, #0ea5e9);color:#fff;box-shadow:0 0 12px #0ea5e959;font-weight:600}.second-handy-modes .track-pill.active .alpha-tag{background:#00000040;color:#fef08a}.mode-settings-pane{animation:fadeInMode .2s ease-in-out}@keyframes fadeInMode{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}#shOralPresetSelect optgroup{background:#0f172a;color:#38bdf8;font-weight:700;font-size:.85em;padding:4px 0}#shOralPresetSelect option{background:#1e293b;color:#f8fafc;font-weight:400;padding:4px 8px}.compilation-progress-toast{position:fixed;bottom:24px;right:24px;background:#0f172af0;border:1px solid rgba(56,189,248,.45);box-shadow:0 8px 32px #0009,0 0 16px #38bdf840;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f8fafc;padding:12px 18px;border-radius:12px;display:flex;align-items:center;gap:14px;z-index:99999;opacity:0;pointer-events:none;transform:translateY(14px);transition:opacity .25s ease,transform .25s ease}.compilation-progress-toast.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.comp-toast-spinner{width:22px;height:22px;border:2px solid rgba(56,189,248,.25);border-top-color:#38bdf8;border-radius:50%;animation:comp-spin .8s linear infinite;flex-shrink:0}@keyframes comp-spin{to{transform:rotate(360deg)}}.tandem-zone-box{background:#00000040;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px 10px;margin-bottom:10px}.tandem-zone-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tandem-zone-title{font-size:.78rem;font-weight:700;color:#e2e8f0;letter-spacing:.02em}.tandem-zone-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:center}.tandem-rail-col{display:flex;flex-direction:column;min-width:0}.tandem-col-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;font-size:.72rem;gap:4px}.tandem-device-tag{font-weight:700;color:#f8fafc;white-space:nowrap}.tandem-readout{font-family:JetBrains Mono,monospace;font-size:.68rem;color:#94a3b8;white-space:nowrap}.tandem-readout .t-val-min{color:#e2e8f0;font-weight:600}.tandem-readout .t-val-free{color:#34d399;font-weight:600}.tandem-readout .t-val-max{color:#38bdf8;font-weight:600}.tandem-rail-wrap{position:relative;width:100%;height:26px;display:flex;align-items:center}.tandem-rail-bg{position:absolute;left:0;right:0;top:8px;height:12px;background:repeating-linear-gradient(-45deg,#1e293bd9,#1e293bd9 4px,#0f172af2 4px,#0f172af2 8px);border:1px solid rgba(255,255,255,.14);border-radius:6px;overflow:hidden;pointer-events:none}.tandem-segment{position:absolute;top:0;height:100%;transition:left .04s linear,width .04s linear}.tandem-segment.seg-free{background:linear-gradient(90deg,#10b981d9,#059669e6);box-shadow:inset 0 0 6px #10b98159}.tandem-segment.seg-grey{background:repeating-linear-gradient(-45deg,#f59e0be6,#f59e0be6 5px,#d97706d9 5px,#d97706d9 10px);box-shadow:inset 0 0 6px #f59e0b66}.tandem-collision-bridge{display:flex;align-items:center;justify-content:center;width:18px;height:22px;margin-top:6px;border-radius:4px;background:#f59e0b24;border:1px dashed rgba(245,158,11,.45);color:#fbbf24;font-size:.72rem;-webkit-user-select:none;user-select:none}.tandem-rail-wrap input[type=range].tandem-thumb{--slider-track-size: 12px;--slider-thumb-size: 14px;-moz-appearance:none;appearance:none;-webkit-appearance:none;position:absolute;top:0;left:0;width:100%;height:26px;margin:0;padding:0;border:0;background:transparent!important;pointer-events:none;z-index:2}.tandem-rail-wrap input[type=range].tandem-thumb:focus-visible{outline:2px solid #38bdf8;outline-offset:2px;border-radius:4px}.tandem-rail-wrap input[type=range].tandem-thumb::-webkit-slider-runnable-track{height:var(--slider-track-size);border:0;background:transparent!important}.tandem-rail-wrap input[type=range].tandem-thumb::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:auto;cursor:ew-resize;width:13px;height:16px;margin-top:-6px;border:0;border-radius:2px;clip-path:polygon(50% 100%,0% 0%,100% 0%);filter:drop-shadow(0 1px 2px rgba(0,0,0,.85));transition:transform .1s ease}.tandem-rail-wrap input[type=range].tandem-thumb::-webkit-slider-thumb:hover{transform:scale(1.18)}.tandem-rail-wrap input[type=range].thumb-min::-webkit-slider-thumb{background:#f8fafc}.tandem-rail-wrap input[type=range].thumb-free::-webkit-slider-thumb{background:#fbbf24}.tandem-rail-wrap input[type=range].thumb-max::-webkit-slider-thumb{background:#38bdf8}.tandem-rail-wrap input[type=range].tandem-thumb::-moz-range-track{height:var(--slider-track-size);border:0;background:transparent!important}.tandem-rail-wrap input[type=range].tandem-thumb::-moz-range-thumb{pointer-events:auto;cursor:ew-resize;width:13px;height:16px;border:0;border-radius:2px;clip-path:polygon(50% 100%,0% 0%,100% 0%);filter:drop-shadow(0 1px 2px rgba(0,0,0,.85));transition:transform .1s ease}.tandem-rail-wrap input[type=range].tandem-thumb::-moz-range-thumb:hover{transform:scale(1.18)}.tandem-rail-wrap input[type=range].thumb-min::-moz-range-thumb{background:#f8fafc}.tandem-rail-wrap input[type=range].thumb-free::-moz-range-thumb{background:#fbbf24}.tandem-rail-wrap input[type=range].thumb-max::-moz-range-thumb{background:#38bdf8}.tandem-scale-labels{display:flex;justify-content:space-between;font-size:.65rem;color:#64748b;margin-top:1px;-webkit-user-select:none;user-select:none}.tandem-zone-legend{display:flex;justify-content:space-around;align-items:center;margin-top:6px;padding-top:5px;border-top:1px dashed rgba(255,255,255,.07);font-size:.68rem;color:#94a3b8}.tandem-zone-legend span{display:inline-flex;align-items:center;gap:4px}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:2px}.legend-dot.dot-free{background:#10b981}.legend-dot.dot-grey{background:#f59e0b}.legend-dot.dot-off{background:#334155;border:1px solid rgba(255,255,255,.2)}#dnaSettingsPanel{position:relative;overflow:hidden;isolation:isolate}.dna-sync-box{border-top:1px dashed rgba(255,255,255,.12);padding-top:10px;margin-top:10px;position:relative;overflow:hidden;isolation:isolate}.dna-sync-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.dna-sync-title{font-size:.82em;font-weight:700;color:var(--primary)}.dna-sync-status{font-size:.72em;color:var(--text-muted);white-space:nowrap}.dna-sync-input-row{display:flex;gap:6px;margin-bottom:6px;width:100%}.dna-sync-input{width:100%;min-width:0;box-sizing:border-box;padding:7px 10px;font-size:.82rem;font-family:var(--font-mono, monospace);letter-spacing:.3px;border-radius:6px;background:#0000004d;border:1px solid rgba(255,255,255,.15);color:#fff;outline:none;transition:border-color .2s ease,background .2s ease}.dna-sync-input:focus{border-color:var(--primary);background:#00000073}.dna-sync-actions-row{display:flex;gap:6px;margin-bottom:6px;width:100%;flex-wrap:wrap}.dna-sync-actions-row .btn-sm{width:auto;margin-top:0}.dna-sync-btn-main{flex:1 1 100%;width:100%;min-width:0;font-weight:600;font-size:.8rem;padding:7px 10px;white-space:nowrap;text-align:center}.dna-sync-btn-icon{flex:1 1 calc(50% - 3px);width:auto;font-size:.8rem;padding:7px 10px;white-space:nowrap;text-align:center}.dna-sync-hint{font-size:.72em;color:var(--text-muted);line-height:1.35;margin-top:4px}@media (min-width: 520px){.dna-sync-actions-row{flex-wrap:nowrap}.dna-sync-btn-main{flex:1 1 auto;width:auto}.dna-sync-btn-icon{flex:0 0 auto;width:auto}}#virtualHandyCard{position:relative;overflow:hidden;content-visibility:auto;contain-intrinsic-size:auto none auto 220px}.virtual-status-badge{font-size:.65rem;font-weight:700;font-family:var(--font-mono);padding:2px 7px;border-radius:9999px;text-transform:uppercase;background:#94a3b826;color:var(--text-muted);border:1px solid rgba(148,163,184,.25)}.virtual-status-badge.status-script{background:#10b98133;color:#10b981;border-color:#10b98166}.virtual-status-badge.status-hamp{background:#3b82f633;color:#38bdf8;border-color:#3b82f666}.virtual-status-badge.status-demo{background:#a855f733;color:#c084fc;border-color:#a855f766}.virtual-status-badge.status-spasm{background:#f59e0b40;color:#fbbf24;border-color:#f59e0b80;animation:virtualPulse .35s infinite alternate}.virtual-status-badge.status-paused{background:#ef444433;color:#f87171;border-color:#ef444466}@keyframes virtualPulse{0%{opacity:.7;transform:scale(.96)}to{opacity:1;transform:scale(1.04)}}.virtual-handy-container{display:flex;gap:10px;align-items:center;padding:2px 4px}.shortcuts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px}.shortcut-card{display:flex;gap:14px;padding:14px;background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:8px;align-items:flex-start}.shortcut-key-badge{font-family:var(--font-mono, monospace);font-weight:700;font-size:.95rem;min-width:44px;height:36px;display:flex;align-items:center;justify-content:center;background:#1e293b;color:#38bdf8;border:1px solid rgba(56,189,248,.35);border-radius:6px;box-shadow:0 3px #00000080;flex-shrink:0;padding:0 6px}.shortcut-info{flex:1}.shortcut-info h3{margin:0 0 4px;font-size:.92rem;font-weight:600;color:#fff}.shortcut-info p{margin:0 0 4px;color:#cbd5e1;font-size:.8rem}.shortcut-info ul{margin:4px 0 0 16px;padding:0;color:#cbd5e1;font-size:.8rem}.shortcut-info li{margin-bottom:3px}.system-section{margin-bottom:16px;padding:14px 18px;background:#ffffff05;border-left:3px solid #38bdf8;border-radius:0 8px 8px 0;border-top:1px solid rgba(255,255,255,.04);border-right:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04)}.system-section h3{margin:0 0 6px;font-size:.98rem;font-weight:700;color:#f8fafc}.system-section p{margin:0 0 8px;color:#94a3b8;font-size:.82rem}.system-section ul{margin:0 0 0 18px;padding:0;color:#cbd5e1;font-size:.82rem}.system-section li{margin-bottom:5px}.textures-intro{margin:0 0 16px;color:#94a3b8;font-size:.85rem}.textures-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px}.texture-card{padding:14px 16px;background:#ffffff05;border:1px solid rgba(255,255,255,.07);border-radius:8px}.texture-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.texture-badge{font-size:.75rem;font-weight:700;padding:3px 8px;border-radius:4px;letter-spacing:.5px}.texture-smooth{background:#38bdf826;color:#38bdf8;border:1px solid rgba(56,189,248,.3)}.texture-drag{background:#a855f726;color:#c084fc;border:1px solid rgba(168,85,247,.3)}.texture-rubble{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.texture-gravel{background:#ea580c26;color:#fb923c;border:1px solid rgba(234,88,12,.3)}.texture-buzz{background:#ec489926;color:#f472b6;border:1px solid rgba(236,72,153,.3)}.texture-tension{background:#e11d4826;color:#fb7185;border:1px solid rgba(225,29,72,.3)}.texture-tag{font-size:.7rem;color:#94a3b8;font-weight:500}.texture-card p{margin:0;color:#cbd5e1;font-size:.82rem;line-height:1.45}@media (max-width: 768px){.dashboard-grid{grid-template-columns:1fr;display:flex;flex-direction:column;padding:5px}.top-bar{height:auto;flex-direction:column;gap:10px;padding:10px}.logo-area{margin-bottom:5px}.connection-group{width:100%;flex-direction:column;gap:8px}.input-mini{width:100%}.btn{min-height:44px;font-size:1rem}.connection-group .btn-sm{width:100%;margin-top:5px}input[type=range]::-webkit-slider-thumb{height:24px;width:24px;margin-top:-9px}input[type=range]::-moz-range-thumb{height:24px;width:24px}.card{padding:15px}.playlist-container{flex:1 1 auto;min-height:70px;max-height:300px}.quick-modes-bar{gap:4px;margin:6px 0}.btn-quick-mode{flex-direction:column;gap:2px;padding:6px 2px;min-height:48px}.btn-quick-mode .qm-icon{font-size:1.15rem;line-height:1.1}.btn-quick-mode .qm-label{font-size:.7rem;letter-spacing:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.btn-quick-mode .qm-badge{display:none!important}.btn-just-relax{min-block-size:52px;padding:10px 12px}.btn-just-relax .jr-copy{flex-direction:column;align-items:flex-start;gap:2px}.btn-just-relax .jr-subtext{font-size:.72rem;max-width:100%}}@media (max-width: 768px){.slider-row{margin-bottom:12px}input[type=range]{height:32px;touch-action:pan-y;margin:4px 0}input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:4px}input[type=range]::-moz-range-track{height:8px;border-radius:4px}input[type=range]::-webkit-slider-thumb{height:26px;width:26px;margin-top:-9px;box-shadow:0 2px 6px #0006,0 0 0 2px var(--bg-card);transition:transform .15s ease,box-shadow .15s ease}input[type=range]::-moz-range-thumb{height:26px;width:26px;box-shadow:0 2px 6px #0006,0 0 0 2px var(--bg-card);transition:transform .15s ease,box-shadow .15s ease}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15);box-shadow:0 0 0 4px #3b82f666,0 2px 6px #0006}input[type=range]:active::-moz-range-thumb{transform:scale(1.15);box-shadow:0 0 0 4px #3b82f666,0 2px 6px #0006}}
