:root{--bg:#090b0a;--surface:#111412;--surface-raised:#181c19;--surface-soft:#20251f;--border:#292f2a;--border-strong:#3a423a;--text:#f4f5ed;--text-dim:#92998f;--accent:#d7ff4f;--accent-ink:#121607;--accent-soft:#d7ff4f1a;--danger:#ff6b5f;--danger-soft:#ff6b5f1f;--font-display:"Space Grotesk", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at 10% -10%, #d7ff4f17, transparent 32rem), radial-gradient(circle at 100% 35%, #48745a1a, transparent 38rem), var(--bg);font:15px/1.55 var(--font-body);-webkit-font-smoothing:antialiased;margin:0}body:before{z-index:-1;pointer-events:none;content:"";opacity:.14;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");position:fixed;inset:0}button,input,select{font:inherit}button,a{color:inherit}p,h1,h2,h3{margin-top:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.035em}h1{font-size:clamp(2.1rem,5vw,4rem);line-height:1.02}h2{margin-bottom:0;font-size:1.2rem}h3{color:#cbd0c7;margin:26px 0 10px;font-size:.9rem}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh}.topbar{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#090b0ad6;border-bottom:1px solid #ffffff12;grid-template-columns:1fr auto 1fr;align-items:center;min-height:76px;padding:12px max(24px,50vw - 600px);display:grid;position:sticky;top:0}.brand{width:fit-content;color:var(--text);justify-self:start;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand>span:last-child{line-height:1;display:grid}.brand strong{font:700 .78rem/1 var(--font-display);letter-spacing:.08em}.brand small{color:var(--accent);font:500 .62rem/1 var(--font-mono);letter-spacing:.23em;margin-top:4px}.brand__mark{background:var(--accent);border-radius:50%;justify-content:center;align-items:flex-end;gap:3px;width:34px;height:34px;padding:8px;display:flex}.brand__mark i{background:var(--accent-ink);border-radius:3px;width:3px}.brand__mark i:first-child{height:8px}.brand__mark i:nth-child(2){height:16px}.brand__mark i:nth-child(3){height:11px}.brand--large strong{font-size:1rem}.brand--large small{font-size:.74rem}.brand--large .brand__mark{width:44px;height:44px}.nav{border:1px solid var(--border);background:var(--surface);border-radius:999px;gap:4px;padding:4px;display:flex}.nav a{color:var(--text-dim);border-radius:999px;padding:8px 17px;font-size:.82rem;font-weight:600;text-decoration:none}.nav a:hover{color:var(--text)}.nav a.active{color:var(--accent-ink);background:var(--accent)}.account-chip{justify-self:end;align-items:center;gap:9px;display:flex}.account-chip__avatar{border:1px solid var(--border-strong);width:34px;height:34px;color:var(--accent);background:var(--surface-soft);font:700 .78rem var(--font-display);border-radius:50%;place-items:center;display:grid}.account-chip__copy{line-height:1.25;display:grid}.account-chip__copy strong{font-size:.8rem}.account-chip__copy small{color:var(--text-dim);font:.62rem var(--font-mono);text-transform:uppercase}.icon-button{border:1px solid var(--border);width:38px;height:38px;color:var(--text-dim);background:var(--surface-raised);cursor:pointer;border-radius:50%;place-items:center;transition:color .15s,border-color .15s,background .15s,transform .15s;display:grid}.icon-button:hover{color:var(--accent);background:var(--accent-soft);border-color:#d7ff4f59;transform:translateY(-1px)}.icon-button:active{transform:translateY(0)}.page{width:min(1200px,100% - 40px);margin:0 auto;padding:62px 0 80px}.page-intro{max-width:760px;margin-bottom:46px}.page-intro h1{margin:8px 0 14px}.page-intro>p:last-child{max-width:630px;color:var(--text-dim);margin-bottom:0;font-size:1rem}.eyebrow{color:var(--accent);font:500 .66rem/1.3 var(--font-mono);letter-spacing:.17em;text-transform:uppercase;margin-bottom:6px}.layout{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:24px;display:grid}.stack{flex-direction:column;gap:36px;min-width:0;display:flex}.card,.request-card,.chat,.now-playing,.empty-state{border:1px solid var(--border);background:linear-gradient(145deg, #ffffff06, transparent 52%), var(--surface);box-shadow:0 20px 50px #00000029}.card{border-radius:18px;padding:22px}.section{margin-top:28px}.section-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;display:flex}.section-heading>div>span{color:var(--text-dim);font:.62rem var(--font-mono);letter-spacing:.16em}.section-heading h2{margin-top:3px}.section-heading--compact{margin-bottom:20px}.count-pill,.live-status,.connection{border:1px solid var(--border);min-height:25px;color:var(--text-dim);font:.62rem var(--font-mono);border-radius:999px;align-items:center;gap:6px;padding:4px 9px;display:inline-flex}.live-status i,.connection i{background:currentColor;border-radius:50%;width:6px;height:6px}.live-status--on,.connection--online{color:var(--accent);background:var(--accent-soft);border-color:#d7ff4f40}.live-status--on i,.connection--online i{box-shadow:0 0 0 4px #d7ff4f14}.request-card{border-radius:20px;padding:24px}.request-card__header{align-items:center;gap:13px;margin-bottom:20px;display:flex}.request-card__header h2{margin:0}.request-card__icon{width:42px;height:42px;color:var(--accent-ink);background:var(--accent);font:600 1.4rem var(--font-display);border-radius:12px;place-items:center;display:grid}.form{gap:9px;display:flex}.form-stack,.auth-card{flex-direction:column;display:flex}.field{border:1px solid var(--border);min-width:0;height:45px;color:var(--text);background:#0e110f;border-radius:10px;outline:none;flex:1;padding:0 14px}.field::placeholder{color:#666d65}.field:hover{border-color:var(--border-strong)}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}select.field{flex:none}.btn{border:1px solid var(--border-strong);min-height:42px;color:var(--text);background:var(--surface-soft);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:.84rem;font-weight:700;transition:border-color .15s,background .15s;display:inline-flex}.btn:hover:not(:disabled){background:#292f29;border-color:#606a5e}.btn:active:not(:disabled){background:#1c211d}.btn:disabled{cursor:not-allowed;opacity:.45}.btn--primary{color:var(--accent-ink);border-color:var(--accent);background:var(--accent)}.btn--primary:hover:not(:disabled){color:var(--accent-ink);background:#e2ff77;border-color:#e2ff77}.btn--ghost{color:var(--text-dim);box-shadow:none;background:0 0}.btn--danger{color:var(--danger);background:var(--danger-soft);border-color:#ff6b5f3d}.btn--sm{border-radius:9px;min-height:34px;padding:0 12px;font-size:.72rem}.btn__icon{font-size:.95em;line-height:1}.btn--pause{color:#f3f6ee;background:var(--surface-soft);border-color:#485047}.search-panel{border-top:1px solid var(--border);margin-top:14px}.search-panel summary{color:var(--text-dim);cursor:pointer;padding-top:14px;font-size:.78rem}.search-panel__form,.search-results{margin-top:12px}.notice{border-radius:10px;margin-bottom:18px;padding:11px 14px;font-size:.82rem}.notice--error,.error{color:#ffaaa3;background:var(--danger-soft);border:1px solid #ff6b5f38}.hint,.field-help{color:var(--text-dim);font-size:.78rem}.field-help{margin:-4px 0 8px}.now-playing{border-radius:18px;align-items:center;gap:18px;padding:20px;display:flex;overflow:hidden}.now-playing__art{object-fit:cover;background:var(--surface-soft);border-radius:12px;flex:none;width:112px;height:112px}.now-playing__body{flex:1;min-width:0}.now-playing__title{font:700 1.1rem/1.3 var(--font-display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.now-playing__meta{color:var(--text-dim);font:.7rem var(--font-mono);margin-top:7px}.now-playing__status{color:var(--accent);font:.62rem var(--font-mono);align-items:center;gap:7px;margin-top:12px;display:flex}.now-playing__status i{width:5px;height:5px;box-shadow:0 0 0 4px var(--accent-soft);background:currentColor;border-radius:50%}.now-playing__label{color:var(--accent);font:.66rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;display:flex}.now-playing--player{flex-direction:column;align-items:stretch;padding:16px}.now-playing__player{aspect-ratio:16/9;background:#000;border-radius:12px;width:100%;overflow:hidden}.now-playing__player iframe{width:100%;height:100%}.now-playing__title--player{white-space:normal;margin-top:4px}.now-playing__controls{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.now-playing__controls .btn{min-width:110px}.now-playing__empty{width:100%;color:var(--text-dim);text-align:center;margin:0;padding:50px 12px}.link-external{min-height:220px;color:var(--accent);background:#0b0d0c;border-radius:12px;place-items:center;display:grid}.empty-state{text-align:center;border-radius:18px;place-items:center;min-height:190px;padding:26px;display:grid}.empty-state>span{color:var(--accent);font-size:2rem}.empty-state strong{font-family:var(--font-display);margin-top:9px}.empty-state p{color:var(--text-dim);margin:4px 0 0;font-size:.8rem}.eq{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.eq span{background:currentColor;border-radius:2px;width:3px;height:30%}.eq--live span{animation:.9s ease-in-out infinite eq-bounce}.eq--live span:nth-child(2){animation-delay:.15s}.eq--live span:nth-child(3){animation-delay:.3s}.queue{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.queue__row{border:1px solid var(--border);background:var(--surface);border-radius:12px;align-items:center;gap:11px;min-height:62px;padding:8px 10px;display:flex}.queue__row:hover{border-color:var(--border-strong);background:var(--surface-raised)}.queue__row--playing{background:var(--accent-soft);border-color:#d7ff4f47}.queue__number{color:#676e66;width:24px;font:.66rem var(--font-mono);text-align:center}.queue__handle{width:30px;height:34px;color:var(--text-dim);cursor:grab;touch-action:none;background:0 0;border:1px solid #0000;border-radius:8px;padding:5px}.queue__handle:hover{color:var(--text);border-color:var(--border);background:var(--surface-soft)}.queue__handle:active{cursor:grabbing}.queue__thumb{object-fit:cover;background:var(--surface-soft);border-radius:8px;flex:none;width:46px;height:46px}.queue__body{flex:1;min-width:0}.queue__title{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;overflow:hidden}.queue__by{color:var(--text-dim);font:.65rem var(--font-mono);margin-top:3px}.queue__actions{flex:none;gap:6px;display:flex}.queue__empty{border:1px dashed var(--border-strong);color:var(--text-dim);text-align:center;border-radius:12px;padding:30px 14px;list-style:none}.badge{color:var(--accent);background:var(--accent-soft);font:.56rem var(--font-mono);text-transform:uppercase;border-radius:5px;margin-right:7px;padding:2px 6px;display:inline-flex}.chat{border-radius:18px;grid-template-rows:auto minmax(290px,1fr) auto;height:clamp(500px,100vh - 124px,720px);display:grid;position:sticky;top:100px;overflow:hidden}.chat__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:18px;display:flex}.chat__header h2{margin:0;font-size:1rem}.chat__body{min-height:0;position:relative}.chat__messages{overscroll-behavior:contain;flex-direction:column;gap:10px;height:100%;min-height:290px;padding:16px;display:flex;overflow-y:auto}.chat__msg{color:#d8dcd4;background:var(--surface-soft);word-break:break-word;border-radius:4px 13px 13px;align-self:flex-start;max-width:88%;padding:10px 12px;font-size:.78rem}.chat__msg--highlight{background:var(--accent-soft);border:1px solid #d7ff4f2e}.chat__msg p{margin:3px 0 0}.chat__meta{align-items:center;gap:5px;display:flex}.chat__nickname{color:var(--text-dim);font:.59rem var(--font-mono)}.chat__delete{width:22px;height:22px;color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;margin-left:auto;padding:0;display:grid}.chat__delete:hover{color:var(--danger);background:var(--danger-soft)}.chat__new-message{z-index:1;color:var(--accent-ink);background:var(--accent);cursor:pointer;border:1px solid #d7ff4f59;border-radius:999px;padding:8px 13px;font-size:.72rem;font-weight:700;position:absolute;bottom:12px;right:50%;transform:translate(50%);box-shadow:0 8px 24px #00000059}.chat__new-message:hover{background:#e2ff77}.chat__empty{color:var(--text-dim);text-align:center;margin:auto;font-size:.78rem}.chat__form{border-top:1px solid var(--border);background:#0d100e;gap:8px;padding:12px;display:flex}.chat__form .field{height:42px}.auth-shell{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);min-height:100vh;display:grid}.auth-promo{color:#14170e;background:#cde955;flex-direction:column;justify-content:center;min-height:100vh;padding:clamp(40px,8vw,110px);display:flex;position:relative;overflow:hidden}.auth-promo:after{content:"";opacity:.16;background:repeating-linear-gradient(115deg,#0000 0 18px,#111 19px 20px);position:absolute;inset:0}.auth-promo>*{z-index:1;position:relative}.auth-promo .brand{color:#111;position:absolute;top:44px;left:clamp(40px,8vw,110px)}.auth-promo .brand small,.auth-promo .eyebrow{color:#333b17}.auth-promo h1{max-width:650px;margin:20px 0;font-size:clamp(3rem,6vw,6.3rem)}.auth-promo>p:not(.eyebrow){max-width:420px;font-weight:600}.auth-promo__record{z-index:0;aspect-ratio:1;background:repeating-radial-gradient(circle,#131611 0 3px,#292d23 4px 7px);border:2px solid #00000047;border-radius:50%;place-items:center;width:min(48vw,620px);display:grid;position:absolute;bottom:-16vw;right:-9vw;box-shadow:0 35px 80px #00000057}.auth-promo__record:before{aspect-ratio:1;background:var(--accent);content:"";border-radius:50%;width:29%;position:absolute}.auth-promo__record span{z-index:1;color:#15180e;font:700 .8rem var(--font-display)}.auth-card{justify-content:center;width:min(420px,100% - 48px);margin:auto}.auth-card h1,.auth-card h2{margin:8px 0 9px;font-size:clamp(1.7rem,3vw,2.5rem)}.auth-card>.hint{margin-bottom:27px}.auth-card label{color:#c8cdc5;margin:0 0 7px;font-size:.75rem;font-weight:600}.auth-card .field{flex:none;margin-bottom:17px}.auth-card .btn{margin-top:5px}.auth-card .notice{margin:15px 0 0}.auth-card--standalone{border:1px solid var(--border);background:var(--surface);border-radius:20px;padding:32px}.auth-card--standalone .request-card__icon{margin-bottom:20px}.auth-shell:has(.auth-card--standalone){grid-template-columns:1fr;place-items:center;padding:24px;display:grid}.account-manager{margin-top:28px}.account-manager .form{max-width:700px}@keyframes eq-bounce{0%,to{height:30%}50%{height:100%}}@media (prefers-reduced-motion:reduce){.btn,.icon-button{transition:none}.eq--live span{animation:none}}@media (width<=900px){.topbar{grid-template-columns:1fr auto}.nav{z-index:30;justify-content:center;position:fixed;bottom:14px;left:16px;right:16px;box-shadow:0 15px 45px #00000073}.nav a{text-align:center;flex:1}.account-chip__copy{display:none}.layout{grid-template-columns:1fr}.chat{height:580px;position:static}.page{padding-bottom:110px}.auth-shell{grid-template-columns:1fr}.auth-promo{display:none}}@media (width<=580px){.topbar{min-height:66px;padding:10px 16px}.page{width:min(100% - 28px,1200px);padding-top:38px}.page-intro{margin-bottom:32px}.page-intro h1{font-size:2.35rem}.form{flex-direction:column}.form .btn{width:100%}.request-card,.card{padding:17px}.now-playing{align-items:flex-start}.now-playing__art{width:82px;height:82px}.now-playing__controls{width:100%}.now-playing__controls .btn{flex:100%}.queue__number{display:none}.queue__actions{flex-direction:column}.queue__row{align-items:center}select.field{width:100%}.auth-card{width:min(100% - 32px,420px)}.auth-card--standalone{padding:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}
