@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-vietnamese-500-normal-DjeaNLFD.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-500-normal-CsrJDWc5.woff) format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-ext-500-normal-yA5ONLQ9.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-500-normal-B1RE8WP7.woff) format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2) format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff) format("woff");unicode-range:U+0000-00FF,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff) format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff) format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff");unicode-range:U+0000-00FF,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff) format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff) format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2) format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff) format("woff");unicode-range:U+0000-00FF,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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}:root{--bg: #0a0a0a;--panel: #141414;--panel-2: #1b1b1b;--line: #262626;--line-soft: #1c1c1c;--accent: #ef5524;--accent-soft: #f16d53;--accent-wash: rgba(239, 85, 36, .14);--text: #ffffff;--muted: #9a9aa3;--faint: #6b6b73;--ok: #3dd68c;--warn: #f5b02e;--danger: #f4523f;--ok-wash: rgba(61, 214, 140, .13);--warn-wash: rgba(245, 176, 46, .1);--font-display: "Barlow Condensed", "Arial Narrow", Arial, sans-serif;--font-body: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--r-sm: 7px;--r-md: 10px;--r-lg: 14px;--shadow: 0 24px 80px rgba(0, 0, 0, .55);--rail-w: 232px}*{box-sizing:border-box}html{color-scheme:dark}html,body,#root{height:100%}body{margin:0;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background:radial-gradient(120vmax 70vmax at 82% 118%,rgba(239,85,36,.16),transparent 55%),radial-gradient(80vmax 55vmax at -12% -18%,rgba(239,85,36,.06),transparent 60%),radial-gradient(100vmax 80vmax at 50% 50%,#121212,var(--bg) 80%);background-attachment:fixed}.screen{min-height:100%;display:flex;flex-direction:column}.center{align-items:center;justify-content:center;padding:24px}.eq{display:inline-flex;align-items:flex-end;gap:3px;height:16px;flex:none}.eq i{width:3px;height:100%;border-radius:2px;background:var(--accent);transform:scaleY(.3);transform-origin:50% 100%;animation:eq-bar 1.1s ease-in-out infinite}.eq i:nth-child(1){animation-delay:-1s;animation-duration:1.25s}.eq i:nth-child(2){animation-delay:-.7s;animation-duration:.95s}.eq i:nth-child(3){animation-delay:-.35s;animation-duration:1.15s}.eq i:nth-child(4){animation-delay:-.85s;animation-duration:1s}.eq i:nth-child(5){animation-delay:-.5s;animation-duration:1.3s}@keyframes eq-bar{0%,to{transform:scaleY(.25)}50%{transform:scaleY(1)}}.eq-still i{animation:none;transform:scaleY(.25);background:var(--faint)}.gate{max-width:520px;text-align:center;display:flex;flex-direction:column;gap:16px;align-items:center;animation:rise-in .6s cubic-bezier(.2,.7,.2,1) both}.gate h1{font-family:var(--font-display);font-weight:700;font-size:clamp(2.4rem,6vmin,3.6rem);line-height:1;text-transform:uppercase;letter-spacing:.02em;margin:0;text-wrap:balance}.gate .logo{width:84px;height:84px;border-radius:18px;object-fit:cover;border:1px solid var(--line);box-shadow:var(--shadow)}.brand-mark{width:64px;height:64px;filter:drop-shadow(0 0 24px rgba(239,85,36,.45))}.gate-kicker{margin:-6px 0 0;color:var(--accent);font-family:var(--font-display);font-weight:600;font-size:1rem;text-transform:uppercase;letter-spacing:.34em}.gate-lead{margin:0;color:var(--muted);font-size:1.02rem;line-height:1.55}.gate-lead strong,.gate .meta strong{color:var(--text);font-weight:600}.gate-icon{width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent);background:var(--accent-wash);border:1px solid rgba(239,85,36,.35)}.meta{color:var(--muted);font-size:.9rem;margin:0;line-height:1.5}.meta.error{color:var(--danger)}.meta.version{position:fixed;left:16px;bottom:12px;z-index:5;font-size:.7rem;color:var(--faint)}.loading-line{display:inline-flex;align-items:center;gap:10px;font-size:1rem}.input{width:100%;background:#ffffff0a;border:1px solid var(--line);border-radius:var(--r-md);color:var(--text);padding:13px 15px;font-size:1rem;font-family:inherit}.input::placeholder{color:var(--faint)}.input.code{font-family:var(--font-display);font-weight:600;font-size:clamp(2.4rem,7vmin,3.4rem);line-height:1.1;padding:10px 0 10px .45em;text-align:center;letter-spacing:.45em;text-transform:uppercase;border-radius:var(--r-lg)}.input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.btn{background:linear-gradient(180deg,#ff6a35,var(--accent));color:#fff;border:none;border-radius:var(--r-md);padding:12px 24px;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .15s ease,opacity .15s ease;box-shadow:0 10px 30px #ef552447}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0) scale(.99)}.btn:disabled{opacity:.45;cursor:default;box-shadow:none}.btn.big{width:100%;padding:15px;font-family:var(--font-display);font-weight:600;font-size:1.4rem;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--r-lg)}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--muted);box-shadow:none}.btn.ghost:hover:not(:disabled){background:var(--panel);color:var(--text)}.start-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:clamp(200px,32vmin,260px);height:clamp(200px,32vmin,260px);border-radius:50%;font-family:var(--font-display);font-weight:700;font-size:1.9rem;letter-spacing:.1em;box-shadow:0 0 0 10px var(--accent-wash),0 20px 70px #ef552459}.start-btn:after{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border-radius:50%;border:2px solid var(--accent);opacity:0;animation:pulse-ring 2.6s ease-out infinite;pointer-events:none}@keyframes pulse-ring{0%{transform:scale(.94);opacity:.7}70%,to{transform:scale(1.22);opacity:0}}.player{padding:0;position:relative}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;opacity:0;animation:backdrop-in 1.4s ease .05s forwards}@keyframes backdrop-in{to{opacity:1}}.backdrop img{position:absolute;left:50%;top:50%;width:100vmax;height:100vmax;object-fit:cover;transform:translate(-50%,-50%) scale(1.28);filter:blur(72px) saturate(1.45) brightness(.9)}.backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 42% 40%,#0a0a0a2e,#0a0a0adb 82%),linear-gradient(180deg,#0a0a0ab8,#0a0a0a47 32%,#0a0a0ad6 90%)}.player-top,.player-body{position:relative;z-index:1}.offline-banner{position:sticky;top:0;z-index:10;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:#f5b02e1a;border-bottom:1px solid rgba(245,176,46,.4);color:var(--warn);padding:10px 18px;font-size:.88rem;text-align:center}.player-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.player-top{width:100%;display:flex;align-items:center;gap:14px;padding:clamp(14px,2.5vmin,26px) clamp(18px,3.5vw,48px) 0}.place-logo{width:42px;height:42px;border-radius:10px;object-fit:cover;border:1px solid var(--line)}.place-name{margin:0;color:var(--muted);font-family:var(--font-display);font-weight:600;font-size:clamp(1rem,2vmin,1.25rem);text-transform:uppercase;letter-spacing:.18em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.onair{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:#ffffff08;color:var(--faint);font-family:var(--font-display);font-weight:600;font-size:1rem;text-transform:uppercase;letter-spacing:.14em}.onair.live{color:var(--accent);border-color:#ef552473;background:var(--accent-wash)}.player-body.now{display:grid;grid-template-columns:1fr;gap:clamp(24px,4vmin,40px);align-content:center;justify-items:center;width:min(1680px,100%);margin:0 auto;padding:clamp(16px,3vmin,32px) clamp(18px,4vw,64px) clamp(96px,13vmin,132px)}.stage{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(16px,3vmin,28px);min-width:0;max-width:100%}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes cover-in{0%{opacity:0;transform:translateY(28px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.stage-info{display:flex;flex-direction:column;align-items:center;gap:clamp(10px,2vmin,18px);min-width:0}.stage-info>*{animation:rise-in .65s cubic-bezier(.2,.7,.2,1) both}.stage-info>*:nth-child(1){animation-delay:.16s}.stage-info>*:nth-child(2){animation-delay:.28s}.stage-info>*:nth-child(3){animation-delay:.4s}.stage-info>*:nth-child(4){animation-delay:.5s}.track-kicker{margin:0;display:inline-flex;align-items:center;gap:12px;color:var(--accent);font-family:var(--font-display);font-weight:600;font-size:clamp(.9rem,1.8vmin,1.15rem);text-transform:uppercase;letter-spacing:.34em}.cover-wrap{position:relative;flex:none;animation:cover-in .85s cubic-bezier(.16,.8,.24,1) both}.cover-halo{position:absolute;top:-11%;right:-11%;bottom:-11%;left:-11%;border-radius:50%;background:conic-gradient(from 20deg,transparent 0% 34%,rgba(239,85,36,.3) 50%,transparent 66% 100%);opacity:.55;animation:halo-spin 36s linear infinite;pointer-events:none}@keyframes halo-spin{to{transform:rotate(360deg)}}.kind-vote .cover-halo{background:conic-gradient(from 20deg,transparent 0% 34%,rgba(61,214,140,.26) 50%,transparent 66% 100%)}.kind-spot .cover-halo{background:conic-gradient(from 20deg,transparent 0% 34%,rgba(245,176,46,.26) 50%,transparent 66% 100%)}.cover{position:relative;width:clamp(220px,48vmin,560px);aspect-ratio:1;flex:none;border-radius:clamp(14px,2vmin,22px);background:radial-gradient(120% 120% at 20% 10%,#232325,#121214 70%);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:var(--faint);overflow:hidden;box-shadow:0 34px 110px #000000ad,0 0 140px #ef55242e}.cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(200deg,rgba(255,255,255,.09),transparent 38%);pointer-events:none}.cover-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transform:scale(1.3);filter:blur(26px) saturate(1.3) brightness(.62);opacity:0;transition:opacity .5s ease}.cover-art{position:relative;z-index:2;width:78%;height:78%;object-fit:contain;border-radius:clamp(8px,1.4vmin,14px);box-shadow:0 16px 44px #0000008c;outline:1px solid rgba(255,255,255,.08);opacity:0;transition:opacity .45s ease}.cover.is-loaded .cover-bg,.cover.is-loaded .cover-art{opacity:1}.cover .cover-fallback{width:26%;height:26%;opacity:.75}.kind-spot .cover{border-color:#f5b02e66;box-shadow:0 30px 90px #0009,0 0 110px #f5b02e2e;color:var(--warn)}.kind-vote .cover{border-color:#3dd68c59;box-shadow:0 30px 90px #0009,0 0 110px #3dd68c29}.track-title{font-family:var(--font-display);font-weight:700;font-size:clamp(2.9rem,10.5vmin,8rem);line-height:.92;text-transform:uppercase;letter-spacing:.005em;margin:0;max-width:20ch;text-wrap:balance;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 4px 44px rgba(0,0,0,.6)}.track-artist{margin:0;color:#ffffffd1;font-family:var(--font-display);font-weight:500;font-size:clamp(1.3rem,3.6vmin,2.5rem);line-height:1.1;text-transform:uppercase;letter-spacing:.08em;text-shadow:0 2px 24px rgba(0,0,0,.55)}.kind-spot .track-title{font-size:clamp(2.4rem,7vmin,5.2rem);max-width:24ch}.off-note{font-size:1rem}.is-off .stage{opacity:.5}.is-paused .cover.is-loaded .cover-art{opacity:.55}.badge{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:6px 15px;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em}.badge.spot{background:var(--warn-wash);color:var(--warn);border:1px solid rgba(245,176,46,.4)}.badge.vote{background:var(--ok-wash);color:var(--ok);border:1px solid rgba(61,214,140,.35)}.badge.sm{padding:2px 9px;font-size:.64rem;letter-spacing:.07em;flex:none}.avatar{width:26px;height:26px;border-radius:50%;overflow:hidden;flex:none;display:flex;align-items:center;justify-content:center;border:2px solid #101012;background:linear-gradient(160deg,#2e2e33,#1a1a1d)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-initial{font-family:var(--font-display);font-weight:700;font-size:.78rem;line-height:1;color:#fff;opacity:.9}.voter-stack{display:inline-flex;flex:none}.voter-stack .avatar+.avatar{margin-left:-9px}.voters-banner{display:inline-flex;align-items:center;gap:14px;padding:9px 22px 9px 11px;border-radius:999px;background:var(--ok-wash);border:1px solid rgba(61,214,140,.35)}.voters-banner .avatar{width:clamp(38px,4.6vmin,50px);height:clamp(38px,4.6vmin,50px);border-width:3px;border-color:#0e120f}.voters-banner .avatar-initial{font-size:clamp(1rem,2vmin,1.3rem)}.voters-banner .voter-stack .avatar+.avatar{margin-left:-13px}.voters-banner-text{display:flex;flex-direction:column;gap:2px;text-align:left;min-width:0}.voters-banner-kicker{display:inline-flex;align-items:center;gap:6px;color:var(--ok);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em}.voters-banner-names{color:var(--text);font-weight:600;font-size:clamp(.95rem,2.1vmin,1.25rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(46vw,560px)}.queue{width:min(100%,560px);text-align:left;background:#0e0e108c;border:1px solid rgba(255,255,255,.07);border-radius:var(--r-lg);padding:clamp(16px,2.4vmin,24px) clamp(18px,2.6vmin,28px)}.queue-title{margin:0 0 10px;color:var(--accent);font-family:var(--font-display);font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.28em}.queue ol{list-style:none;margin:0;padding:0;counter-reset:q}.queue li{counter-increment:q;display:flex;align-items:center;gap:14px;height:clamp(52px,7vmin,64px);border-bottom:1px solid rgba(255,255,255,.06);min-width:0}.queue li:last-child{border-bottom:none}.queue li:before{content:counter(q,decimal-leading-zero);color:var(--faint);font-family:var(--font-display);font-weight:600;font-size:.95rem;min-width:24px;flex:none}.queue-item{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.queue-item-title{color:var(--text);font-size:clamp(.98rem,1.6vmin,1.15rem);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-item-artist{color:var(--muted);font-size:clamp(.8rem,1.3vmin,.92rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-voters{display:inline-flex;align-items:center;gap:8px;flex:none;min-width:0;max-width:46%}.queue-voters .avatar{width:24px;height:24px}.queue-voters .avatar-initial{font-size:.7rem}.queue-voters-label{color:var(--ok);font-size:.78rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 999px){.cover{width:clamp(170px,34vmin,330px)}.track-title{font-size:clamp(2.1rem,7.4vmin,4.4rem)}.kind-spot .track-title{font-size:clamp(1.8rem,5.6vmin,3.6rem)}.track-artist{font-size:clamp(1.05rem,2.6vmin,1.7rem)}.stage{gap:clamp(12px,2vmin,20px)}.player-body.now{gap:clamp(16px,2.4vmin,26px);padding-bottom:118px}.queue li{height:clamp(46px,5.8vmin,56px)}}@media (min-width: 1000px){.player-body.now{grid-template-columns:minmax(0,1fr) clamp(300px,26vw,420px);align-items:center;gap:clamp(32px,4vw,72px)}.stage{flex-direction:row;align-items:center;text-align:left;gap:clamp(28px,4vw,64px);justify-self:start;width:100%}.stage-info{align-items:flex-start}.queue{justify-self:end;width:100%}}.control-bar{position:fixed;left:0;right:0;margin-inline:auto;width:fit-content;bottom:20px;z-index:25;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:999px;background:#0f0f11e0;border:1px solid var(--line);box-shadow:var(--shadow);opacity:.78;transition:opacity .2s ease}.control-bar:hover,.control-bar:focus-within{opacity:1}.ctl{display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid var(--line);color:var(--text);cursor:pointer;font-family:inherit;transition:transform .15s ease,background .15s ease}.ctl:hover:not(:disabled){transform:translateY(-1px);background:#ffffff1a}.ctl:active:not(:disabled){transform:translateY(0) scale(.97)}.ctl:disabled{opacity:.4;cursor:default}.ctl.round{width:46px;height:46px;border-radius:50%}.ctl.primary{width:56px;height:56px;background:linear-gradient(180deg,#ff6a35,var(--accent));border-color:transparent;box-shadow:0 8px 26px #ef552459}.ctl.primary:hover:not(:disabled){background:linear-gradient(180deg,#ff7a49,var(--accent))}.ctl-sep{width:1px;height:26px;background:var(--line);flex:none}.playlist-picker{position:relative;display:flex}.playlist-btn{height:46px;gap:9px;padding:0 16px;border-radius:999px;max-width:min(320px,38vw);font-size:.92rem;font-weight:600}.playlist-btn-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.playlist-btn .chevron{flex:none;transition:transform .15s ease}.playlist-btn .chevron.flip{transform:rotate(180deg)}.picker-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;border:none;cursor:default;padding:0}.playlist-menu{position:absolute;bottom:calc(100% + 14px);left:0;min-width:300px;max-width:min(78vw,420px);max-height:54vh;overflow-y:auto;background:#121214f7;border:1px solid var(--line);border-radius:var(--r-lg);padding:8px;display:flex;flex-direction:column;gap:2px;box-shadow:var(--shadow);animation:rise-in .22s cubic-bezier(.2,.7,.2,1) both}.playlist-menu-title{margin:4px 12px 6px;color:var(--faint);font-family:var(--font-display);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.24em}.playlist-option{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--r-md);background:none;border:none;color:var(--text);cursor:pointer;text-align:left;font-family:inherit;font-size:.95rem}.playlist-option:hover{background:#ffffff0f}.playlist-option.active{background:var(--accent-wash);color:var(--accent)}.playlist-option-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:600}.playlist-option-count{color:var(--faint);font-size:.76rem;flex:none}.playlist-option.active .playlist-option-count{color:#ef5524bf}.locutor-fab{position:fixed;right:22px;bottom:22px;z-index:20;width:58px;height:58px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow);transition:transform .15s ease,color .15s ease,border-color .15s ease}.locutor-fab:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#000000b8;display:flex;align-items:center;justify-content:center;padding:20px}.modal{width:min(94vw,430px);background:linear-gradient(180deg,#19191b,var(--panel));border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;display:flex;flex-direction:column;gap:14px;text-align:left;box-shadow:var(--shadow);animation:rise-in .3s cubic-bezier(.2,.7,.2,1) both}.modal .input{background:#ffffff0b}.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-header h2{margin:0;display:flex;align-items:center;gap:10px;color:var(--accent);font-family:var(--font-display);font-weight:700;font-size:1.6rem;text-transform:uppercase;letter-spacing:.04em}.modal-close{background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;display:flex}.modal-close:hover{color:var(--text)}.field{display:flex;flex-direction:column;gap:6px}.field>span{color:var(--muted);font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em}.field textarea.input{resize:none;font-family:inherit}.plate-inputs{display:flex;gap:6px}.plate-inputs .input{width:46px;padding:10px 0;text-align:center;text-transform:uppercase;font-family:var(--font-display);font-weight:600;font-size:1.4rem}.plate-inputs .plate-gap{margin-left:10px}.meta.warn{color:var(--warn);display:flex;align-items:center;gap:6px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}.eq i{transform:scaleY(.4)}.cover-bg,.cover-art,.backdrop{opacity:1}.cover-halo{opacity:.35}}
