@font-face{font-family:Orbitron;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/9a4ee768fed045da-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Orbitron;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9a4ee768fed045da-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Orbitron;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/9a4ee768fed045da-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Orbitron Fallback;src:local("Arial");ascent-override:81.50%;descent-override:19.59%;line-gap-override:0.00%;size-adjust:124.05%}.__className_1dcf4e{font-family:Orbitron,Orbitron Fallback;font-style:normal}.__variable_1dcf4e{--font-orbitron:"Orbitron","Orbitron Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_595324{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_595324{--font-plex-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--bg:#0b0c0e;--bg-2:#0e0f12;--metal:#1a1b20;--metal-2:#212329;--metal-3:#2a2d35;--screen:#07090c;--line:#34373f;--bevel-hi:rgba(255,255,255,0.08);--bevel-lo:rgba(0,0,0,0.55);--text:#e9e3d4;--cream:#efe6d2;--muted:#8b8c93;--muted-2:#62646c;--amber:#ffb347;--amber-deep:#ff8c1a;--amber-glow:rgba(255,158,44,0.55);--cyan:#46d6e0;--vu-green:#5ad17a;--vu-amber:#f2c14e;--vu-red:#e05656;--danger:#e0563f;--r-sm:6px;--r-md:10px;--r-lg:16px;--r-pill:999px;--shadow-panel:0 18px 40px -18px rgba(0,0,0,0.8);--glow-amber:0 0 12px var(--amber-glow);--font-display:var(--font-orbitron),ui-sans-serif,system-ui,sans-serif;--font-mono:var(--font-plex-mono),ui-monospace,"SFMono-Regular",monospace;--hud-h:64px;--dock-h:96px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:radial-gradient(1200px 600px at 50% -10%,rgba(255,158,44,.06),transparent 60%),var(--bg);color:var(--text);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#__next,body,body>div:first-child,html{height:100%}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:.02em;margin:0}button{font-family:var(--font-mono)}::selection{background:var(--amber);color:#1a1206}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.panel{position:relative;background:linear-gradient(180deg,var(--metal-2),var(--metal));border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:inset 0 1px 0 var(--bevel-hi),inset 0 -2px 6px var(--bevel-lo),var(--shadow-panel)}.panel:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.04;background:repeating-linear-gradient(90deg,#fff 0 1px,transparent 1px 3px)}.screen{position:relative;background:radial-gradient(120% 140% at 50% 0,#0c1014,var(--screen));border:1px solid #000;border-radius:var(--r-md);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),inset 0 0 40px rgba(0,0,0,.7);overflow:hidden}.screen:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px);opacity:.5}.led{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.12em;color:var(--amber);text-shadow:var(--glow-amber)}.led-dim{color:var(--muted);text-shadow:none}.hw-btn{--btn-bg1:var(--metal-3);--btn-bg2:var(--metal);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--cream);background:linear-gradient(180deg,var(--btn-bg1),var(--btn-bg2));border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:inset 0 1px 0 var(--bevel-hi),0 3px 0 var(--bevel-lo),0 6px 14px -6px rgba(0,0,0,.7);transition:transform .06s ease,box-shadow .06s ease,filter .12s ease}.hw-btn:hover:not(:disabled){filter:brightness(1.12)}.hw-btn:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px 0 var(--bevel-hi),0 1px 0 var(--bevel-lo)}.hw-btn:disabled{opacity:.4;cursor:not-allowed}.hw-btn--primary{color:#1a1206;--btn-bg1:var(--amber);--btn-bg2:var(--amber-deep);border-color:#a8651a;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 3px 0 #7a4a12,0 0 18px var(--amber-glow)}.hw-btn--danger{--btn-bg1:#6a2b22;--btn-bg2:#4a1d17;border-color:#7a3127;color:#ffd9cf}.hw-btn--ghost{background:transparent;box-shadow:inset 0 0 0 1px var(--line);color:var(--muted)}.hw-icon{width:46px;height:46px;padding:0;font-size:16px;border-radius:var(--r-md)}.led-dot{width:10px;height:10px;border-radius:50%;background:#3a3d45;box-shadow:inset 0 0 0 1px rgba(0,0,0,.6)}.led-dot[data-on=true]{background:var(--vu-green);box-shadow:0 0 8px rgba(90,209,122,.8),inset 0 0 0 1px rgba(0,0,0,.3)}.led-dot[data-color]{background:var(--c,var(--vu-green));box-shadow:0 0 8px var(--c,var(--vu-green))}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--metal);border:1px solid var(--line);border-radius:var(--r-pill)}.knob{--angle:0deg;position:relative;width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 50% 35%,var(--metal-3),#0d0e11 80%);border:1px solid #000;box-shadow:inset 0 2px 3px var(--bevel-hi),inset 0 -3px 6px var(--bevel-lo),0 4px 10px -4px rgba(0,0,0,.8);cursor:ns-resize}.knob:after{content:"";position:absolute;top:6px;left:50%;width:3px;height:18px;border-radius:2px;background:var(--amber);box-shadow:var(--glow-amber);transform:translateX(-50%) rotate(var(--angle));transform-origin:50% 21px}.vu{display:flex;gap:3px;align-items:flex-end;height:26px}.vu-bar{width:4px;border-radius:1px;background:var(--metal-3)}.vu-bar[data-lit=g]{background:var(--vu-green);box-shadow:0 0 6px rgba(90,209,122,.7)}.vu-bar[data-lit=a]{background:var(--vu-amber);box-shadow:0 0 6px rgba(242,193,78,.7)}.vu-bar[data-lit=r]{background:var(--vu-red);box-shadow:0 0 6px rgba(224,86,86,.7)}.field{display:flex;flex-direction:column;gap:6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.input,input.input,select.input{background:var(--screen);color:var(--cream);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;font-family:var(--font-mono);font-size:14px;width:100%;box-shadow:inset 0 2px 6px rgba(0,0,0,.6)}.input:focus{outline:none;border-color:var(--amber);box-shadow:inset 0 2px 6px rgba(0,0,0,.6),0 0 0 1px var(--amber-glow)}.fill{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.center{min-height:100dvh;display:grid;place-items:center;padding:24px}.row{align-items:center}.col,.row{display:flex;gap:12px}.col{flex-direction:column}.spread{display:flex;align-items:center;justify-content:space-between;gap:12px}.muted{color:var(--muted)}.error{color:var(--danger);font-size:13px}.pr,.pr-scroll{flex:1 1 auto;display:flex;min-height:0}.pr-scroll{overflow-y:auto;overflow-x:hidden}.pr-keys{flex:0 0 auto;position:relative;background:linear-gradient(90deg,#141519,#0d0e11);border-right:1px solid #000;touch-action:pan-y}.pr-key{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;font-family:var(--font-mono);font-size:9px;color:var(--muted-2);border-bottom:1px solid rgba(0,0,0,.6)}.pr-key.white{background:linear-gradient(90deg,#d9d4c6,#efe9da);color:#2a2620}.pr-key.black{background:linear-gradient(90deg,#0a0b0d,#1a1b1f);color:#6a6c74}.pr-key.lit{background:linear-gradient(90deg,var(--amber-deep),var(--amber));color:#1a1206;box-shadow:0 0 14px var(--amber-glow)}.pr-key.locked{background:repeating-linear-gradient(-45deg,#050506,#050506 5px,#0c0c0e 0,#0c0c0e 10px);color:transparent}.pr-grid{position:relative;flex:1 1 auto;cursor:crosshair;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.pr-row{position:absolute;left:0}.pr-row.locked{background:repeating-linear-gradient(-45deg,rgba(0,0,0,.92),rgba(0,0,0,.92) 6px,rgba(12,12,14,.92) 0,rgba(12,12,14,.92) 12px);cursor:not-allowed}.pr-row.in-scale.alt{background:rgba(255,255,255,.022)}.pr-row.in-scale.offscale{background:rgba(255,90,90,.05)}.pr-row.root{background:rgba(255,158,44,.06)}.pr-col{position:absolute;top:0;width:1px;background:rgba(255,255,255,.035);pointer-events:none}.pr-col.beat{background:rgba(255,255,255,.07)}.pr-col.measure{background:rgba(255,255,255,.16)}.pr-rowline{position:absolute;left:0;height:1px;background:rgba(0,0,0,.4);pointer-events:none}.pr-note{position:absolute;border-radius:3px;background:var(--nc,var(--amber));box-shadow:inset 0 0 0 1px rgba(0,0,0,.35),0 0 8px -1px var(--nc,var(--amber));transition:box-shadow .08s ease,filter .08s ease}.pr-note.flash{filter:brightness(1.5);box-shadow:0 0 16px 2px var(--nc,var(--amber))}.pr-note.ro{background:#6f7682;opacity:.85}.pr-note.pr-ctx,.pr-note.ro{box-shadow:inset 0 0 0 1px rgba(0,0,0,.4)}.pr-note.pr-ctx{background:var(--nc,#6f7682);opacity:.3}.dg-hit{position:absolute;border-radius:2px;background:var(--nc,var(--amber));box-shadow:inset 0 0 0 1px rgba(0,0,0,.35),0 0 8px -1px var(--nc,var(--amber));transition:filter .08s ease,box-shadow .08s ease}.dg-hit.flash{filter:brightness(1.6);box-shadow:0 0 14px 2px var(--nc,var(--amber))}.dg-hit.dg-ctx{opacity:.3;box-shadow:inset 0 0 0 1px rgba(0,0,0,.4)}.dg{flex:0 0 auto;display:flex;min-height:0}.dg-gutter{flex:0 0 auto;position:relative;background:linear-gradient(90deg,#141519,#0d0e11);border-right:1px solid #000}.dg-lane-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 6px;border-bottom:1px solid rgba(0,0,0,.6)}.dg-lane-name{font-family:var(--font-mono);font-size:10px;color:var(--cream);width:30px}.dg-fills{display:flex;gap:3px}.dg-fill{font-family:var(--font-mono);font-size:8px;line-height:1;padding:3px 4px;border-radius:3px;background:linear-gradient(180deg,var(--metal-3),var(--metal));border:1px solid var(--line);color:var(--muted);cursor:pointer}.dg-fill:hover{filter:brightness(1.2);color:var(--cream)}.dg-fill.dg-clear{color:var(--danger)}.dg-grid{position:relative;flex:1 1 auto;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.pr-playhead{position:absolute;top:0;left:0;width:2px;background:var(--amber);box-shadow:0 0 12px 2px var(--amber-glow);pointer-events:none;z-index:3;will-change:transform}.pr-playhead.off{display:none}.title-bg{position:fixed;inset:0;overflow:hidden;background:radial-gradient(900px 500px at 50% 120%,rgba(255,158,44,.1),transparent 60%)}.title-grid{position:absolute;left:-20%;right:-20%;bottom:-10%;height:60%;background-image:linear-gradient(rgba(255,158,44,.18) 1px,transparent 0),linear-gradient(90deg,rgba(255,158,44,.12) 1px,transparent 0);background-size:48px 48px;transform:perspective(420px) rotateX(62deg);transform-origin:bottom;-webkit-mask-image:linear-gradient(0deg,#000 10%,transparent 85%);mask-image:linear-gradient(0deg,#000 10%,transparent 85%)}.title-card{position:relative;z-index:1;width:min(440px,92vw);padding:30px}.logo{font-family:var(--font-display);font-size:clamp(30px,6vw,46px);font-weight:800;letter-spacing:.06em;text-align:center;color:var(--cream);text-shadow:0 0 18px var(--amber-glow)}.logo .accent{color:var(--amber)}.tagline{text-align:center;color:var(--muted);font-size:13px;margin-top:4px}.hud{flex:0 0 auto;height:var(--hud-h);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--metal-2),var(--metal))}.hud-title{font-family:var(--font-display);font-size:18px;letter-spacing:.08em;color:var(--cream)}.hud-title .accent{color:var(--amber)}.stage{flex:1 1 auto;flex-direction:column;min-height:0;padding:14px}.stage,.stage-head{display:flex;gap:12px}.stage-head{flex:0 0 auto;align-items:baseline;justify-content:space-between}.stage-head h2{font-size:16px;letter-spacing:.04em}.stage-screen{padding:8px}.stage-panes,.stage-screen{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.stage-panes{gap:10px}.stage-panes.solo{justify-content:center}.pane-piano{flex:1 1 auto;min-height:0;flex-direction:column}.pane-drums,.pane-piano{padding:8px;display:flex}.pane-drums{flex:0 0 auto;flex-direction:column}.dock{flex:0 0 auto;min-height:var(--dock-h);gap:18px;padding:14px 18px;border-top:1px solid var(--line);background:linear-gradient(180deg,var(--metal),var(--metal-2));box-shadow:inset 0 1px 0 var(--bevel-hi)}.dock,.dock-group{display:flex;align-items:center}.dock-group{gap:10px}.dock-spacer{flex:1 1 auto}.dock-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin-bottom:6px}.sound-keys{display:flex;gap:6px;flex-wrap:wrap;max-width:360px}.sound-key{padding:7px 10px;border-radius:var(--r-md);background:linear-gradient(180deg,var(--metal-3),var(--metal));border:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);font-size:11px;cursor:pointer;box-shadow:inset 0 1px 0 var(--bevel-hi),0 3px 0 var(--bevel-lo);transition:transform .06s ease,filter .12s ease}.sound-key:hover{filter:brightness(1.12)}.sound-key.selected{border-color:var(--tc);color:var(--cream);box-shadow:inset 0 1px 0 var(--bevel-hi),0 0 16px -2px var(--tc)}.console{width:min(960px,94vw);padding:26px}.console-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.code-led{font-family:var(--font-mono);font-size:30px;font-weight:700;letter-spacing:.34em;padding:10px 18px 10px 24px;color:var(--amber);text-shadow:var(--glow-amber);background:var(--screen);border:1px solid #000;border-radius:var(--r-md);box-shadow:inset 0 2px 10px rgba(0,0,0,.7)}.strips{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:12px;gap:12px;margin-bottom:22px}.strip-ch{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 10px;border-radius:var(--r-md);background:linear-gradient(180deg,var(--metal-2),var(--metal));border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--bevel-hi)}.strip-ch.empty{opacity:.4;border-style:dashed}.strip-name{font-size:12px;color:var(--cream);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:18px;gap:18px;align-items:end}.config-stack{gap:18px}.config-stack,.roles-pick{display:flex;flex-direction:column}.roles-pick{gap:8px}.role-chips{display:flex;flex-wrap:wrap;gap:8px}.role-chip{padding:7px 12px;border-radius:var(--r-md);background:linear-gradient(180deg,var(--metal-3),var(--metal));border:1px solid var(--line);color:var(--muted-2);font-family:var(--font-mono);font-size:12px;cursor:pointer;box-shadow:inset 0 1px 0 var(--bevel-hi),0 3px 0 var(--bevel-lo);transition:transform .06s ease,filter .12s ease}.role-chip:hover{filter:brightness(1.12)}.role-chip:disabled{cursor:default;opacity:.7}.role-chip.on{border-color:var(--tc);color:var(--cream);box-shadow:inset 0 0 0 1px var(--tc),0 0 14px -3px var(--tc)}.avatar{display:grid;place-items:center;border-radius:50%;color:#11100c;font-weight:800;font-family:var(--font-display);box-shadow:0 0 14px -2px var(--av,var(--amber)),inset 0 0 0 2px rgba(0,0,0,.25);background:var(--av,var(--amber))}.results{width:min(900px,94vw);padding:26px;max-height:90dvh;overflow:auto}.results-head{justify-content:space-between;margin-bottom:16px}.result-row,.results-head{display:flex;align-items:center}.result-row{gap:14px;padding:12px 0;border-top:1px solid var(--line)}.result-title{width:96px;font-size:13px;color:var(--cream)}.strip{gap:3px;height:34px}.strip,.strip-seg{display:flex;flex:1 1}.strip-seg{align-items:center;justify-content:center;gap:6px;font-size:11px;color:#11100c;border:none;border-radius:5px;overflow:hidden;white-space:nowrap;box-shadow:0 0 12px -3px var(--sc);background:var(--sc)}.reveal-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.reveal-pill{font-family:var(--font-mono);font-size:11px;padding:4px 8px;border-radius:var(--r-sm,6px);border:1px solid var(--line);color:var(--muted-2)}.reveal-pill.current{border-color:var(--amber);color:var(--cream);box-shadow:0 0 12px -3px var(--amber-glow)}.reveal-pill.done{color:var(--vu-green,#4ee6a0)}.reveal-done{display:flex;flex-direction:column}.result-row.song-reveal{flex-direction:column;align-items:stretch;gap:8px}button.strip-seg{cursor:pointer;font-family:inherit}button.strip-seg:disabled{cursor:default}.strip-seg.hidden{color:var(--muted-2);box-shadow:none}.strip-seg.muted{opacity:.4;text-decoration:line-through}.overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,rgba(0,0,0,.7),rgba(0,0,0,.92));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.overlay-round{font-family:var(--font-display);font-size:clamp(26px,5vw,40px);letter-spacing:.1em;color:var(--cream);text-shadow:0 0 20px var(--amber-glow);text-align:center}.overlay-sub{text-align:center;color:var(--amber);letter-spacing:.14em;text-transform:uppercase;font-size:13px;margin-top:8px}.overlay-count{font-family:var(--font-display);font-size:clamp(70px,16vw,150px);font-weight:800;color:var(--amber);text-shadow:0 0 40px var(--amber-glow);line-height:1}.slot-wrap,.wheel-wrap{display:flex;flex-direction:column;align-items:center;gap:18px}.wheel-title{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--cream);text-shadow:0 0 18px var(--amber-glow);font-size:18px}.wheel-stage{position:relative;filter:drop-shadow(0 10px 30px rgba(0,0,0,.6))}.wheel-seg-text{font-family:var(--font-mono);font-size:12px;fill:#0c0d10;font-weight:700;paint-order:stroke;stroke:rgba(255,255,255,.25);stroke-width:.4px;letter-spacing:.02em;pointer-events:none}.wheel-hub-text{font-family:var(--font-display);font-size:20px;fill:var(--amber)}.wheel-avatar{position:absolute;display:flex;flex-direction:column;align-items:center;gap:4px;z-index:2}.wheel-role{font-size:10px;padding:2px 6px;border-radius:5px;border:1px solid;background:rgba(0,0,0,.7);white-space:nowrap}.wheel-role,.wheel-self{font-family:var(--font-mono)}.wheel-self{font-size:14px;color:var(--cream)}.slot-machine{display:flex;gap:14px;padding:22px 26px}.slot-reel{display:flex;flex-direction:column;align-items:center;gap:8px}.slot-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--muted-2)}.slot-window{width:100px;overflow:hidden;border-radius:var(--r-md);background:radial-gradient(circle at 50% 30%,#15171c,#0a0b0e);border:1px solid #000;box-shadow:inset 0 0 18px rgba(0,0,0,.8),inset 0 0 0 1px rgba(255,158,44,.12)}.slot-item{display:grid;place-items:center;font-family:var(--font-display);font-size:24px;color:var(--amber);text-shadow:0 0 14px var(--amber-glow)}.notice{position:fixed;inset:0;z-index:60;display:none;place-items:center;padding:28px;text-align:center;background:var(--bg)}@media (max-height:480px),(max-width:720px){.notice{display:grid}}.divider{height:1px;background:var(--line);margin:6px 0}.stack{display:flex;flex-direction:column;gap:14px}.conn{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:200;display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--metal-2);box-shadow:0 6px 20px rgba(0,0,0,.45);font-size:13px;color:var(--text)}.conn--warn{border-color:var(--vu-amber)}.conn--ended{border-color:var(--danger)}.conn .hw-btn{padding:4px 10px;font-size:12px}.conn-dot{width:8px;height:8px;border-radius:50%;background:var(--vu-amber);animation:conn-pulse 1.1s ease-in-out infinite}@keyframes conn-pulse{0%,to{opacity:.35}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.conn-dot{animation:none;opacity:1}}