:root{color:#f8fafc;background:#06121f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{user-select:none;-webkit-user-select:none;touch-action:none}.player-screen,.standby-screen,.setup-screen{position:relative;width:100%;height:100%;overflow:hidden;background:#06121f}.player-media{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;background:#06121f;pointer-events:none;transition:opacity 80ms linear}.player-media-visible{z-index:2;opacity:1}.player-media-pending{z-index:1;opacity:0}.fallback-indicator{position:absolute;right:1.25rem;bottom:1.25rem;padding:.45rem .75rem;border:1px solid rgb(255 255 255 / 15%);border-radius:999px;color:#ffffff8a;background:#030c167a;font-size:clamp(.7rem,1.3vw,1rem);letter-spacing:.04em;text-transform:uppercase}.setup-screen{display:grid;grid-template-rows:auto 1fr auto;gap:4rem;padding:clamp(2rem,6vw,6rem);background:radial-gradient(circle at 15% 15%,rgb(37 99 235 / 28%),transparent 35%),radial-gradient(circle at 85% 80%,rgb(14 165 233 / 16%),transparent 38%),#06121f}.brand{display:flex;align-items:center;gap:.85rem;color:#f8fafc;font-size:clamp(1.2rem,2.2vw,2rem);font-weight:700;letter-spacing:-.025em}.brand-mark{display:grid;width:2.35em;aspect-ratio:1;place-items:center;border-radius:.75em;background:#2563eb;box-shadow:0 1rem 3rem #2563eb59}.setup-card{align-self:center;width:min(100%,46rem);margin-inline:auto;padding:clamp(2rem,6vw,5rem);border:1px solid rgb(255 255 255 / 12%);border-radius:clamp(1.5rem,4vw,3rem);background:#09192ad1;box-shadow:0 2.5rem 8rem #0000005c;text-align:center}.eyebrow{margin:0 0 1rem;color:#60a5fa;font-size:clamp(.8rem,1.8vw,1.15rem);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.setup-card h1{max-width:15ch;margin:0 auto;font-size:clamp(2rem,6vw,4.75rem);line-height:1.02;letter-spacing:-.055em}.setup-copy{max-width:37rem;margin:1.75rem auto 0;color:#b9c7d8;font-size:clamp(1rem,2.25vw,1.55rem);line-height:1.55}.pairing-code{display:flex;align-items:center;justify-content:center;gap:clamp(.5rem,2vw,1.5rem);margin:clamp(2.5rem,7vw,5.5rem) 0 2.5rem;color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(2.1rem,8.5vw,6rem);font-weight:750;letter-spacing:.04em;text-shadow:0 0 2rem rgb(96 165 250 / 20%)}.pairing-code b{color:#41627f;font-weight:400}.pairing-code-loading{color:#54718c}.setup-status{display:flex;min-height:2rem;align-items:center;justify-content:center;gap:.75rem;color:#9eb1c5;font-size:clamp(.85rem,1.75vw,1.2rem)}.status-dot{width:.7rem;height:.7rem;flex:0 0 auto;border-radius:50%;background:#22c55e;box-shadow:0 0 0 .45rem #22c55e1f;animation:status-pulse 2s ease-in-out infinite}.status-dot-offline{background:#f59e0b;box-shadow:0 0 0 .45rem #f59e0b1f}.setup-hint{margin:0;color:#6f859c;font-size:clamp(.75rem,1.4vw,1rem);text-align:center}.standby-screen{display:grid;align-content:center;justify-items:center;gap:1.5rem;padding:3rem;color:#a9bbcd;text-align:center}.standby-screen p{margin:0;font-size:clamp(1.1rem,3vw,2.25rem)}.standby-screen small{max-width:42rem;color:#6f859c;font-size:clamp(.75rem,1.4vw,1rem)}.standby-pulse{width:4rem;height:4rem;border:.35rem solid rgb(96 165 250 / 18%);border-top-color:#60a5fa;border-radius:50%;animation:rotate 1s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes status-pulse{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.standby-pulse,.status-dot{animation:none}}
