:root{color:#111827;background:#f4efe4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{color:#111827;background:#f4efe4;min-height:100vh;margin:0}button,input{font:inherit}button{color:#fff;cursor:pointer;background:#1f4366;border:0;border-radius:22px;padding:.9rem 1.1rem;font-weight:800;box-shadow:0 2px #0a1726}button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #facc15}input{color:#111827;background:#fff;border:2px solid #cbd9e8;border-radius:18px;width:100%;margin-top:.45rem;padding:1rem;box-shadow:0 5px 16px #0f172a14}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.login-page{background:radial-gradient(circle at 85% 12%,#fff7db,#0000 28%),#f4efe4;place-items:center;min-height:100vh;padding:26px;display:grid}.login-card{text-align:center;width:min(100%,760px);padding:32px 16px}.music-icon,.logo-mark{color:#fff;background:#1f4366;place-items:center;font-weight:900;display:grid}.music-icon{border-radius:26px;width:96px;height:96px;margin:0 auto 24px;font-size:3.2rem}.logo-mark{border-radius:22px;flex:none;width:64px;height:64px;font-size:2.1rem}.login-card h1{margin:0 0 16px;font-size:clamp(3rem,10vw,5.5rem);line-height:.95}.login-card p{color:#536171;font-size:clamp(1.15rem,4vw,1.55rem)}.pin-input{text-align:center;letter-spacing:.45em;border-color:#1f4366;border-radius:30px;margin:36px 0 20px;padding:1.1rem .8rem;font-size:clamp(1.75rem,7vw,3.4rem)}.primary{color:#07120a;background:#57c766}.primary.huge{width:100%;padding:1.25rem;font-size:clamp(1.7rem,5vw,2.6rem)}.link-button{box-shadow:none;color:#4b5563;background:0 0;margin-top:24px;text-decoration:underline}.center{text-align:center}.hint{color:#667085;font-size:.95rem}.error{color:#dc2626;font-weight:800}.message{color:#31516c;font-weight:700}.page{min-height:100vh;padding:24px}.light-page{background:#f4efe4}.topbar{align-items:center;gap:18px;max-width:980px;margin:0 auto 26px;display:flex}.topbar h1{margin:0;font-size:clamp(2rem,7vw,3.2rem);line-height:1}.topbar p{color:#536171;margin:.2rem 0;font-size:1.1rem}.topbar .icon-btn{margin-left:auto}.topbar .icon-btn+.icon-btn{margin-left:0}.icon-btn{color:#102033;width:64px;height:64px;box-shadow:none;background:#f8fafc;border:1px solid #d7e1eb;border-radius:22px;font-size:1.8rem}.gear{color:#1f4366;background:#eaf2f9}.panel,.player-card,.settings-card{background:#fff;border:1px solid #cbd9e8;border-radius:28px;box-shadow:0 18px 50px #1f293714}.panel{max-width:980px;margin:0 auto 22px;padding:24px}.light-panel h2,.settings-card h2{margin:.2rem 0 14px;font-size:clamp(1.7rem,5vw,2.35rem)}.admin-create .primary{width:100%;margin-top:18px;font-size:1.35rem}.brand-row,.section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-head{margin-bottom:14px}.section-head small,.section-head span{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-weight:900}.status-pill{border-radius:999px;align-items:center;padding:.55rem .9rem;font-size:.92rem;font-weight:900;display:inline-flex}.good{color:#047857;background:#dcfce7}.warn{color:#7c2d12;background:#fed7aa}.muted{color:#475569;background:#e5e7eb}.party-list{gap:12px;display:grid}.party-row{text-align:left;color:#111827;width:100%;box-shadow:none;background:#f8fafc;border:1px solid #d7e1eb;border-radius:22px;justify-content:space-between;align-items:center;padding:16px;display:flex}.party-row strong{font-size:1.25rem;display:block}.party-row span{color:#64748b;margin-top:3px;display:block}.party-row em{color:#075985;background:#e0f2fe;border-radius:999px;padding:.35rem .7rem;font-style:normal;font-weight:900}.join-code{grid-template-columns:1fr auto;align-items:end;gap:14px;margin-top:24px;display:grid}.button-link{color:#fff;background:#1f4366;border:0;border-radius:999px;justify-content:center;align-items:center;margin:.35rem .35rem .35rem 0;padding:.8rem 1rem;font-weight:900;text-decoration:none;display:inline-flex}.button-link.muted{color:#102033;background:#e2e8f0}.button-link.small{padding:.55rem .8rem;font-size:.9rem}.modal-backdrop{z-index:20;background:#0f172a80;place-items:start center;padding:22px;display:grid;position:fixed;inset:0;overflow:auto}.settings-card{width:min(100%,940px);padding:26px;position:relative}.close{color:#111827;box-shadow:none;background:0 0;padding:.2rem .7rem;font-size:2rem;position:absolute;top:18px;right:18px}.settings-card label{margin:18px 0;font-size:1.15rem;font-weight:800;display:block}.settings-actions{grid-template-columns:1fr 1fr;gap:14px;margin:22px 0;display:grid}.settings-actions button:not(.primary){color:#111827;background:#fff;border:1px solid #d7e1eb;box-shadow:0 6px 14px #0f172a12}.settings-card hr{border:0;border-top:1px solid #d7e1eb;margin:28px -26px}.app-grid,.host-shell{color:#f8fafc;background:radial-gradient(circle at 0 0,#1db95433,#0000 35%),linear-gradient(135deg,#04060b,#111827 55%,#03130a);gap:24px;min-height:100vh;padding:24px;display:grid}.guest-grid{grid-template-columns:minmax(0,1fr)}.host-shell{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start}.player-card,.app-grid .panel,.host-shell .panel{color:#f8fafc;background:linear-gradient(#182235cc,#0b1020ee);border-color:#263244}.player-card{border-radius:34px;padding:28px;position:sticky;top:16px}.player-card .button-link{border:0}.cover,.art-disc{color:#fff;background:radial-gradient(circle,#22c55e,#1f2937);border-radius:50%;place-items:center;margin:22px auto;font-weight:900;display:grid}.cover{width:180px;height:180px;font-size:4rem}.art-disc{width:160px;height:160px;font-size:4rem}.player-card h1,.now-panel h1{margin:10px 0;font-size:clamp(2rem,6vw,4.4rem);line-height:1}.player-card p,.now-panel p{color:#cbd5e1}.progress{color:#94a3b8;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.progress div{background:#334155;border-radius:999px;height:8px;overflow:hidden}.progress i{background:#22c55e;height:100%;display:block}.controls{justify-content:center;gap:16px;margin:22px 0;display:flex}.controls button{color:#fff;background:#111827;border:1px solid #334155;border-radius:50%;width:70px;height:70px;font-size:1.8rem}.controls .play{color:#04120a;background:#22c55e;width:88px;height:88px}.side-stack{gap:20px;display:grid}.action-panel label,.panel label{color:inherit;margin:14px 0;display:block}.search-row{grid-template-columns:1fr auto;gap:12px;display:grid}.track-list{gap:10px;margin-top:16px;display:grid}.track{text-align:left;color:#f8fafc;width:100%;box-shadow:none;background:#0f172a;border:1px solid #334155;border-radius:18px;justify-content:space-between;gap:16px;display:flex}.track span,.queue-item span{color:#94a3b8;display:block}.track em,.queue-item em{color:#86efac;font-style:normal;font-weight:900}.queue-item{border-bottom:1px solid #334155;grid-template-columns:1fr auto;gap:10px;padding:14px 0;display:grid}.mini-actions{grid-column:1/-1;gap:10px;display:flex}.mini-actions .danger{color:#fff;background:#ef4444}.qr-fake{text-align:center;letter-spacing:.03em;overflow-wrap:anywhere;background:#0f172a;border:1px dashed #64748b;border-radius:18px;padding:20px;font-size:clamp(1.5rem,5vw,2.4rem);font-weight:900}.url{overflow-wrap:anywhere}.setting-row{justify-content:space-between;align-items:center;gap:16px;margin:12px 0;display:flex}.delay-box{background:#0f172a;border:1px solid #334155;border-radius:22px;margin-top:20px;padding:16px}.delay-box div{justify-content:center;align-items:center;gap:14px;margin-top:12px;display:flex}.display{text-align:center;color:#fff;background:#020617;place-items:center;min-height:100vh;padding:32px;display:grid}.giant{width:260px;height:260px;font-size:8rem}@media (width<=760px){.page{padding:18px}.topbar{align-items:flex-start}.topbar .icon-btn{width:54px;height:54px;font-size:1.45rem}.panel{padding:20px}.join-code,.settings-actions,.search-row{grid-template-columns:1fr}.host-shell{grid-template-columns:1fr;padding:14px}.player-card{position:static}.cover{width:140px;height:140px}.login-card{padding-top:18vh}.pin-input{letter-spacing:.35em}.party-row{align-items:flex-start}.party-row em{margin-left:8px}.modal-backdrop{padding:10px}.settings-card{padding:20px}.settings-card hr{margin:24px -20px}}
