:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0b0f14;color:#eef4f8}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(120deg,rgba(31,123,93,.18),transparent 34%),linear-gradient(180deg,#101820,#0b0f14)}button,input{font:inherit}button{cursor:pointer}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.auth-panel,.panel{background:#121a22eb;border:1px solid rgba(255,255,255,.08);border-radius:8px;box-shadow:0 24px 80px #00000059}.auth-panel{width:min(440px,100%);padding:28px}.brand-row{display:flex;align-items:center;gap:14px;margin-bottom:24px}.brand-row.compact{margin-bottom:0}.brand-mark{width:48px;height:48px;border-radius:8px;display:grid;place-items:center;background:#35c48f;color:#06110d}h1,h2,h3,p{margin:0}h1{font-size:24px}h2{font-size:18px}h3{font-size:16px}p{color:#99a8b5}.mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;margin-bottom:18px;background:#ffffff0d;border-radius:8px}.mode-tabs button,.icon-button{border:0;color:#dce7ee;background:transparent;border-radius:6px}.mode-tabs button{padding:10px}.mode-tabs button.active{background:#35c48f2e;color:#7ff0bf}label{display:grid;gap:8px;margin-bottom:14px;color:#bac7d0;font-size:13px}input{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#ffffff0d;color:#f5fbff;padding:12px;outline:none}input:focus{border-color:#35c48f;box-shadow:0 0 0 3px #35c48f1f}.primary-button{width:100%;border:0;border-radius:6px;background:#35c48f;color:#06110d;font-weight:700;padding:12px 14px}.primary-button:disabled{opacity:.55;cursor:wait}a.primary-button{display:block;box-sizing:border-box;text-align:center;text-decoration:none}.ghost-button{width:100%;margin-top:10px;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:transparent;color:#cfe9df;font-weight:600;padding:11px 14px}.ghost-button:disabled{opacity:.55;cursor:wait}.link-success{color:#35c48f;margin-bottom:16px;line-height:1.5}.link-target{border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:14px 16px;margin-bottom:16px}.link-target h3{margin:0 0 4px}.link-target p{margin:0 0 6px;opacity:.7}.link-target span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1px;opacity:.85}.device-name-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.preset-chip{border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#ffffff0a;color:#dce7ee;padding:8px 12px;font-size:13px}.preset-chip:hover{background:#ffffff14}.preset-chip.active{border-color:#35c48f8c;background:#35c48f2e;color:#7ff0bf}.checkbox-row{flex-direction:row;align-items:center;gap:10px}.checkbox-row input{width:auto;margin:0}.playlist-tags{display:flex;gap:6px;margin-top:8px}.tag{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.5px}.tag.on{background:#35c48f2e;color:#35c48f}.tag.off{background:#ffffff14;color:#fff6;text-decoration:line-through}.error{color:#ff8b8b;margin-bottom:14px}.dashboard{min-height:100vh}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid rgba(255,255,255,.08);background:#0b0f14d1}.topbar-actions{display:flex;gap:8px}.icon-button{width:38px;height:38px;display:grid;place-items:center;background:#ffffff0f}.icon-button:hover{background:#ffffff1c}.icon-button.danger:hover{color:#ff8b8b}.dashboard-grid{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:18px;padding:24px}.panel{padding:20px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.playlists-panel{min-height:520px}.playlist-list,.device-list{display:grid;gap:10px}.playlist-card,.device-card{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff0a}.playlist-card p,.playlist-card span,.device-card p,.device-card span{display:block;margin-top:4px;color:#99a8b5;font-size:13px;overflow-wrap:anywhere}.devices-panel{min-height:280px}.device-main{min-width:0;flex:1}.device-main input{margin:0}.device-actions{display:flex;flex:0 0 auto;gap:8px}.empty-state{display:grid;place-items:center;min-height:260px;color:#99a8b5;border:1px dashed rgba(255,255,255,.12);border-radius:8px}.compact-empty{min-height:148px}@media(max-width:820px){.dashboard-grid{grid-template-columns:1fr}.topbar{padding:0 18px}}.waitlist-shell{min-height:100vh;display:grid;place-items:center;padding:32px}.waitlist-hero{width:min(600px,100%);background:#121a22eb;border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:0 24px 80px #00000059;padding:40px}.waitlist-headline{font-size:30px;line-height:1.2;margin-top:8px}.waitlist-sub{margin-top:14px;color:#99a8b5;line-height:1.6;font-size:15px}.waitlist-perk{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px;padding:14px 16px;border:1px solid rgba(53,196,143,.4);border-radius:8px;background:#35c48f1a;color:#cdeede;font-size:14px}.waitlist-perk strong{color:#7ff0bf}.waitlist-perk-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 9px;border-radius:999px;background:#35c48f;color:#06110d;white-space:nowrap}.waitlist-form{display:flex;gap:10px;margin-top:26px}.waitlist-turnstile{margin-top:14px}.waitlist-form input{margin:0;flex:1}.waitlist-form .primary-button{width:auto;white-space:nowrap;padding:12px 22px}.waitlist-success{display:flex;align-items:center;gap:14px;margin-top:26px;padding:18px;border:1px solid rgba(53,196,143,.4);border-radius:8px;background:#35c48f1a;color:#7ff0bf}.waitlist-success h3{color:#eef4f8}.waitlist-success p{margin-top:4px;color:#99a8b5}.waitlist-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:22px}.waitlist-count{font-size:13px;color:#7ff0bf}.waitlist-signin{font-size:13px;color:#99a8b5;text-decoration:none}.waitlist-signin:hover{color:#dce7ee}@media(max-width:560px){.waitlist-hero{padding:28px}.waitlist-form{flex-direction:column}.waitlist-form .primary-button{width:100%}}
