:root{--font-sans:"Inter Variable", "Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", "SF Mono", Consolas, "Liberation Mono", monospace;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-lg:16px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--weight-regular:450;--weight-medium:550;--weight-bold:650;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:48px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-full:999px;--dur-fast:.12s;--dur:.2s;--ease:cubic-bezier(.2, 0, 0, 1);--teal-50:#f0fdfa;--teal-100:#ccfbf1;--teal-200:#99f6e4;--teal-300:#5eead4;--teal-400:#2dd4bf;--teal-500:#14b8a6;--teal-600:#0d9488;--teal-700:#0f766e;--teal-800:#115e59;--teal-900:#134e4a;--teal-950:#042f2e;--danger-solid:#dc2626;--danger-solid-hover:#b91c1c;--on-solid:#fff;--media-bg:#0c1313;--scrim:#050c0c99;--scrim-strong:#050c0cc7;--on-media:#fff;--bg:#f5f7f7;--surface:#fff;--surface-2:#f1f4f4;--surface-3:#e7ecec;--border:#e1e7e6;--border-strong:#cbd4d3;--ink:#0e1716;--ink-2:#374544;--muted:#64716f;--accent:#0f766e;--accent-hover:#115e59;--accent-ink:#fff;--accent-text:#0f766e;--accent-soft:#e2f5f1;--accent-soft-border:#a5ddd3;--focus-ring:#0d948866;--ok:#15803d;--ok-dot:#22c55e;--ok-soft:#dcfce7;--warn:#b45309;--warn-dot:#f59e0b;--warn-soft:#fef3c7;--danger:#dc2626;--danger-dot:#ef4444;--danger-soft:#fee2e2;--info:#0369a1;--info-dot:#0ea5e9;--info-soft:#e0f2fe;--shadow-xs:0 1px 2px #0e17160d;--shadow-sm:0 1px 2px #0e17160f, 0 1px 3px #0e17160a;--shadow-md:0 2px 4px #0e17160a, 0 6px 16px #0e171614;--shadow-lg:0 8px 16px #0e17160f, 0 24px 48px #0e171629;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#090e0e;--surface:#101717;--surface-2:#162020;--surface-3:#1e2a2a;--border:#212d2c;--border-strong:#2f3e3d;--ink:#e6eeed;--ink-2:#b6c4c2;--muted:#84928f;--accent:#2dd4bf;--accent-hover:#5eead4;--accent-ink:#042f2e;--accent-text:#5eead4;--accent-soft:#0d302d;--accent-soft-border:#155e57;--focus-ring:#2dd4bf73;--ok:#4ade80;--ok-dot:#22c55e;--ok-soft:#0e2b1a;--warn:#fbbf24;--warn-dot:#f59e0b;--warn-soft:#30240a;--danger:#f87171;--danger-dot:#ef4444;--danger-soft:#361414;--info:#38bdf8;--info-dot:#0ea5e9;--info-soft:#0a2738;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 2px #0006, 0 1px 3px #0000004d;--shadow-md:0 2px 4px #0000004d, 0 8px 20px #00000059;--shadow-lg:0 8px 16px #00000059, 0 24px 56px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#090e0e;--surface:#101717;--surface-2:#162020;--surface-3:#1e2a2a;--border:#212d2c;--border-strong:#2f3e3d;--ink:#e6eeed;--ink-2:#b6c4c2;--muted:#84928f;--accent:#2dd4bf;--accent-hover:#5eead4;--accent-ink:#042f2e;--accent-text:#5eead4;--accent-soft:#0d302d;--accent-soft-border:#155e57;--focus-ring:#2dd4bf73;--ok:#4ade80;--ok-dot:#22c55e;--ok-soft:#0e2b1a;--warn:#fbbf24;--warn-dot:#f59e0b;--warn-soft:#30240a;--danger:#f87171;--danger-dot:#ef4444;--danger-soft:#361414;--info:#38bdf8;--info-dot:#0ea5e9;--info-soft:#0a2738;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 2px #0006, 0 1px 3px #0000004d;--shadow-md:0 2px 4px #0000004d, 0 8px 20px #00000059;--shadow-lg:0 8px 16px #00000059, 0 24px 56px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}.stage{position:absolute;top:0;bottom:0;left:0;right:0}.layer{opacity:0;pointer-events:none;will-change:opacity;z-index:1;position:absolute;top:0;bottom:0;left:0;right:0}.layer.is-front{opacity:1;z-index:2}.layer.transition-fade{transition:opacity .6s ease-in-out}.layer .media{object-fit:contain;background:#000;border:0;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.overlay{z-index:10;color:#eef5f4;text-align:center;background:#050b0bd1;flex-direction:column;justify-content:center;align-items:center;padding:4vw;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.overlay:before{content:"";pointer-events:none;border:.6vw solid #2dd4bf;position:absolute;top:0;bottom:0;left:0;right:0}.overlay-title{letter-spacing:-.02em;color:#fff;font-size:9vw;font-weight:700;line-height:1.05}.overlay-detail{color:#5eead4;text-transform:uppercase;letter-spacing:.3em;margin-top:2vh;font-size:2.2vw;font-weight:600}.layer .notice{box-sizing:border-box;color:#eef5f4;text-align:center;background:#0e1918 radial-gradient(70% 70% at 50% 40%,#14b8a614 0%,#14b8a600 70%);flex-direction:column;justify-content:center;align-items:center;padding:5vw}.layer .notice:before{content:"";background:#2dd4bf;border-radius:999px;width:4vw;height:.4vw;margin-bottom:3vh;display:block}.notice-title{letter-spacing:-.01em;color:#eef5f4;font-size:3.6vw;font-weight:600}.notice-detail{color:#8fa3a0;margin-top:1.5vh;font-size:1.8vw;line-height:1.5}:root{--pl-bg:#050b0b;--pl-surface:#0e1918;--pl-surface-2:#13211f;--pl-border:#5eead424;--pl-border-strong:#5eead447;--pl-ink:#eef5f4;--pl-muted:#8fa3a0;--pl-accent:#2dd4bf;--pl-accent-2:#5eead4;--pl-font:"Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--pl-bg);height:100%;margin:0;padding:0;overflow:hidden}body{font-family:var(--pl-font);color:var(--pl-ink);cursor:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}.player{background:#000;width:100vw;height:100vh;position:relative;overflow:hidden}.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}.pairing,.splash{background-color:var(--pl-bg);background-image:radial-gradient(70% 80% at 0 0,#14b8a62e 0%,#14b8a600 70%),radial-gradient(60% 60% at 100% 100%,#14b8a60f 0%,#14b8a600 70%),repeating-linear-gradient(0deg,#ffffff06 0 1px,#fff0 1px 64px),repeating-linear-gradient(90deg,#ffffff06 0 1px,#fff0 1px 64px)}.icon{flex:none;width:1em;height:1em;line-height:0;display:inline-block}.icon svg{width:100%;height:100%;display:block}.brand{letter-spacing:-.01em;color:var(--pl-ink);align-items:center;font-size:clamp(1rem,1.5vw,1.8rem);font-weight:650;display:flex}.brand-mark{width:1.5em;height:1.5em;margin-right:.55em;line-height:0;display:block}.brand-mark svg{width:100%;height:100%;display:block}.status-pill{border:1px solid var(--pl-border);color:var(--pl-muted);letter-spacing:.02em;white-space:nowrap;background:#0e1918b8;border-radius:999px;align-items:center;padding:.5em 1.05em;font-size:clamp(.8rem,1.05vw,1.25rem);font-weight:550;display:inline-flex}.status-pill>*+*{margin-left:.6em}.status-dot{background:var(--pl-accent);border-radius:50%;flex:none;width:.55em;height:.55em;display:inline-block;box-shadow:0 0 0 .25em #2dd4bf29}.pairing-code{white-space:nowrap;align-items:center;margin-bottom:4.5vh;font-size:clamp(2rem,5.2vw,12rem);display:flex}.code-tile{border:1px solid var(--pl-border-strong);background:linear-gradient(180deg, var(--pl-surface-2) 0%, var(--pl-surface) 100%);color:#fff;font-variant-numeric:tabular-nums;border-radius:.18em;flex:none;justify-content:center;align-items:center;width:1.12em;height:1.4em;margin-right:.12em;font-weight:700;line-height:1;display:flex;box-shadow:0 .08em .24em #0006,0 0 0 1px #0003}.code-tile:last-child{margin-right:0}.code-sep{background:var(--pl-accent);border-radius:.05em;flex:none;width:.4em;height:.09em;margin:0 .24em 0 .12em;display:block}.pairing-code-sm{vertical-align:middle;margin:0 .15em;font-size:.95em;display:inline-flex}.pairing-code-sm .code-tile{width:1.2em;height:1.5em;box-shadow:none;color:var(--pl-accent-2);border-radius:.25em;margin-right:.1em}.pairing-code-sm .code-tile:last-child{margin-right:0}.pairing-code-sm .code-sep{margin:0 .2em 0 .1em}.pairing{z-index:20;flex-direction:column;padding:clamp(18px,3vw,64px) clamp(24px,5vw,110px);display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.pairing-topbar{flex:none;justify-content:space-between;align-items:center;display:flex}.pairing-body{flex:auto;justify-content:space-between;align-items:center;gap:5vw;min-height:0;display:flex}.pairing-left{flex:1.35 1 0;min-width:0}.pairing-right{flex-direction:column;flex:1 1 0;align-items:center;min-width:0;display:flex}.pairing-eyebrow{text-transform:uppercase;letter-spacing:.28em;color:var(--pl-accent);margin-bottom:2.6vh;font-size:clamp(.85rem,1.25vw,1.5rem);font-weight:650}.pairing-notice{color:#fde68a;background:#f59e0b1f;border:1px solid #f59e0b59;border-radius:12px;align-items:flex-start;max-width:36em;margin-bottom:3.5vh;padding:.8em 1.1em;font-size:clamp(.85rem,1.2vw,1.35rem);line-height:1.4;display:flex}.pairing-notice .icon{color:#fbbf24;margin:.15em .7em 0 0}.pairing-steps{counter-reset:step;color:var(--pl-ink);margin:0 0 4vh;padding:0;font-size:clamp(1rem,1.6vw,1.9rem);line-height:1.35;list-style:none}.pairing-steps li{counter-increment:step;align-items:center;margin-bottom:1.8vh;display:flex}.pairing-steps li:last-child{margin-bottom:0}.pairing-steps li:before{content:counter(step);width:1.9em;height:1.9em;color:var(--pl-accent-2);background:#2dd4bf1f;border:1px solid #2dd4bf73;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-right:.85em;font-size:.78em;font-weight:700;display:flex}.pairing-steps strong{color:var(--pl-accent-2);font-weight:650}.pairing-expiry{max-width:30em;color:var(--pl-muted);margin-bottom:3.5vh;font-size:clamp(.85rem,1.2vw,1.4rem)}.expiry-track{background:#5eead41f;border-radius:999px;height:.3em;margin-bottom:1em;overflow:hidden}.expiry-bar{background:linear-gradient(90deg, #14b8a6 0%, var(--pl-accent-2) 100%);border-radius:999px;height:100%;transition:width 1s linear}.expiry-text{align-items:center;display:flex}.expiry-text .icon{color:var(--pl-accent);margin-right:.55em}.pairing button,.pairing input{cursor:auto;font:inherit}.pairing-link{color:var(--pl-accent-2);background:0 0;border:0;align-items:center;padding:.3em 0;display:inline-flex}.pairing .pairing-link{font-size:clamp(.85rem,1.2vw,1.4rem)}.pairing-link .icon{margin-right:.55em}.pairing-link span:last-child{text-underline-offset:.22em;-webkit-text-decoration:underline #5eead473;text-decoration:underline #5eead473}.pairing-link:focus-visible{outline:3px solid var(--pl-accent);outline-offset:4px;border-radius:6px}.pairing-key-form{align-items:stretch;display:flex}.pairing .pairing-key-input,.pairing .pairing-key-button{font-size:clamp(1rem,1.35vw,1.6rem)}.pairing .pairing-key-button{font-weight:650}.pairing-key-input{border:1px solid var(--pl-border-strong);background:var(--pl-surface);width:14em;min-width:0;color:var(--pl-ink);letter-spacing:.12em;text-transform:uppercase;border-radius:12px;margin-right:.6em;padding:.65em .95em}.pairing-key-input::placeholder{color:#8fa3a099}.pairing-key-input:focus{border-color:var(--pl-accent);outline:none;box-shadow:0 0 0 3px #2dd4bf4d}.pairing-key-button{background:var(--pl-accent);color:#042f2e;border:0;border-radius:12px;padding:.65em 1.4em}.pairing-key-button:hover{background:var(--pl-accent-2)}.pairing-key-button:focus-visible{outline:3px solid var(--pl-accent-2);outline-offset:3px}.pairing-qr-card{background:#fff;border-radius:20px;margin-bottom:2.8vh;padding:clamp(12px,1.3vw,28px);box-shadow:0 0 0 1px #5eead440,0 24px 60px #00000080,0 0 90px #14b8a624}.pairing-qr{width:clamp(160px,24vw,480px);height:auto;display:block}.pairing-qr-caption{color:var(--pl-muted);letter-spacing:.12em;text-transform:uppercase;align-items:center;font-size:clamp(.8rem,1.1vw,1.3rem);font-weight:550;display:flex}.pairing-qr-caption .icon{color:var(--pl-accent);margin-right:.6em}.pairing-waiting{letter-spacing:-.015em;max-width:22em;margin-bottom:4.5vh;font-size:clamp(1.4rem,3vw,3.6rem);font-weight:650;line-height:1.2}.pairing-approval .pairing-steps{margin-bottom:4.5vh}.pairing-pulse{width:clamp(140px,17vw,340px);height:clamp(140px,17vw,340px);color:var(--pl-accent-2);background:radial-gradient(circle,#2dd4bf33 0%,#2dd4bf0f 70%);border:1px solid #2dd4bf73;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative;box-shadow:0 0 90px #14b8a62e}.pairing-pulse .icon{width:38%;height:38%}.pairing-pulse:before,.pairing-pulse:after{content:"";opacity:0;border:2px solid #2dd4bf8c;border-radius:50%;animation:2.8s ease-out infinite pl-pulse;position:absolute;top:-1px;bottom:-1px;left:-1px;right:-1px}.pairing-pulse:after{animation-delay:1.4s}@keyframes pl-pulse{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}.splash{z-index:15;justify-content:center;align-items:center;padding:5vw;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.splash-main{text-align:center;flex-direction:column;align-items:center;max-width:min(80vw,60em);display:flex}.splash-icon{width:clamp(84px,8.5vw,180px);height:clamp(84px,8.5vw,180px);color:var(--pl-accent-2);background:radial-gradient(circle,#2dd4bf33 0%,#2dd4bf0f 70%);border:1px solid #2dd4bf61;border-radius:50%;justify-content:center;align-items:center;margin-bottom:4.5vh;display:flex;box-shadow:0 0 0 clamp(8px,1vw,20px) #2dd4bf0d,0 0 90px #14b8a633}.splash-icon .icon{width:44%;height:44%}.splash-warn .splash-icon{color:#fbbf24;background:radial-gradient(circle,#f59e0b33 0%,#f59e0b0f 70%);border-color:#f59e0b6b;box-shadow:0 0 0 clamp(8px,1vw,20px) #f59e0b0d,0 0 90px #f59e0b24}.splash-danger .splash-icon{color:#f87171;background:radial-gradient(circle,#ef444433 0%,#ef44440f 70%);border-color:#ef44446b;box-shadow:0 0 0 clamp(8px,1vw,20px) #ef44440d,0 0 90px #ef444424}.splash-spin .icon svg{animation:1.1s linear infinite pl-spin}@keyframes pl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.splash-title{letter-spacing:-.015em;margin-bottom:1.6vh;font-size:clamp(1.8rem,4vw,5rem);font-weight:650;line-height:1.1}.splash-detail{max-width:40em;color:var(--pl-muted);font-size:clamp(1rem,1.6vw,1.9rem);line-height:1.5}.splash-pill{color:var(--pl-ink);margin-top:4.5vh}.splash-pill .icon{color:var(--pl-accent)}.pill-ok .status-dot{background:#22c55e;box-shadow:0 0 0 .25em #22c55e2e}.pill-warn{border-color:#f59e0b59}.pill-warn .status-dot{background:#f59e0b;box-shadow:0 0 0 .25em #f59e0b2e}.splash-brand{opacity:.7;justify-content:center;display:flex;position:absolute;bottom:4.5vh;left:0;right:0}.splash-brand .brand{color:var(--pl-muted);font-size:clamp(.85rem,1.1vw,1.3rem)}@media (max-aspect-ratio:1){.pairing-body{text-align:center;flex-direction:column;justify-content:center;gap:5vh}.pairing-left,.pairing-right{flex:none}.pairing-left{flex-direction:column;align-items:center;max-width:100%;display:flex}.pairing-code{font-size:10vw}.pairing-code-sm{font-size:.95em}.pairing-eyebrow{font-size:clamp(.85rem,2.4vw,1.6rem)}.pairing-steps{text-align:left;font-size:clamp(1rem,3vw,2rem)}.pairing-expiry{width:70vw;font-size:clamp(.85rem,2.2vw,1.5rem)}.expiry-text{justify-content:center}.pairing-notice{text-align:left;font-size:clamp(.85rem,2.2vw,1.5rem)}.pairing .pairing-link{font-size:clamp(.85rem,2.2vw,1.5rem)}.pairing .pairing-key-input,.pairing .pairing-key-button{font-size:clamp(1rem,2.4vw,1.7rem)}.pairing-qr{width:clamp(160px,44vw,520px)}.pairing-qr-caption{font-size:clamp(.8rem,2vw,1.4rem)}.pairing-waiting{font-size:clamp(1.4rem,5vw,3.6rem)}.pairing-approval .pairing-right{order:-1}.pairing-pulse{width:clamp(120px,26vw,320px);height:clamp(120px,26vw,320px)}.brand{font-size:clamp(1rem,2.6vw,1.8rem)}.status-pill{font-size:clamp(.8rem,2vw,1.3rem)}.splash-title{font-size:clamp(1.8rem,7vw,5rem)}.splash-detail{font-size:clamp(1rem,3vw,1.9rem)}.splash-icon{width:clamp(84px,18vw,200px);height:clamp(84px,18vw,200px)}.splash-brand .brand{font-size:clamp(.85rem,2.2vw,1.4rem)}}@media (prefers-reduced-motion:reduce){.splash-spin .icon svg,.pairing-pulse:before,.pairing-pulse:after{animation:none}.pairing-pulse:before{opacity:.35;transform:scale(1.25)}.expiry-bar{transition:none}}
