.player{width:100vw;height:100vh;background:#000;overflow:hidden;cursor:none;display:flex;align-items:center;justify-content:center;position:relative}.player-banner-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(30px) brightness(.5);transform:scale(1.1);z-index:1;transition:opacity .8s ease-in-out}.player-banner-bg.visible{opacity:1}.player-banner-bg.hidden{opacity:0}.player-banner{position:relative;width:100%;height:100%;object-fit:contain;z-index:2;transition:opacity .8s ease-in-out}.player-banner.visible{opacity:1}.player-banner.hidden{opacity:0}.player-empty{color:#555;font-size:1.5rem;font-family:sans-serif}.player-segments{position:absolute;top:0;left:0;right:0;display:flex;gap:6px;padding:10px 12px;z-index:10;background:linear-gradient(to bottom,rgba(0,0,0,.45) 0%,transparent 100%)}.player-segment{flex:1;height:3px;background:#ffffff40;border-radius:2px;overflow:hidden}.player-segment-fill{height:100%;border-radius:2px}.player-segment-fill.done{width:100%;background:#ffffffe6}.player-segment-fill.active{width:0%;background:#ffffffe6;animation:segment-fill var(--duration, 15s) linear forwards}.player-segment-fill.pending{width:0%}@keyframes segment-fill{0%{width:0%}to{width:100%}}.player-off{background:radial-gradient(ellipse at center,#111827,#000 70%);cursor:default}.player-off-content{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;padding:2rem;animation:fade-in 1s ease}.player-off-icon{font-size:4rem;opacity:.4;filter:grayscale(1)}.player-off-title{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700;color:#334155;letter-spacing:.05em;margin:0}.player-off-subtitle{font-size:clamp(.85rem,2vw,1.1rem);color:#1e293b;margin:0}.player-off-pulse{width:10px;height:10px;border-radius:50%;background:#334155;margin-top:1rem;animation:pulse 2.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.player-qr{position:absolute;bottom:3%;right:3%;width:clamp(140px,16vw,260px);height:clamp(140px,16vw,260px);border-radius:12px;padding:10px;background:#fff;z-index:5;transition:opacity .8s ease-in-out;box-shadow:0 4px 24px #0009;object-fit:contain}.player-qr.visible{opacity:1}.player-qr.hidden{opacity:0}.pair-page{width:100vw;height:100vh;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;color:#fff;font-family:sans-serif;overflow:hidden;cursor:none}.pair-instruction{font-size:1.2rem;color:#94a3b8}.pair-code{font-size:8rem;font-weight:900;letter-spacing:.3em;color:#fff;line-height:1;text-shadow:0 0 60px #3b82f660}.pair-timer{font-size:1rem;color:#475569}.pair-waiting{font-size:.9rem;color:#334155;animation:blink 2s ease-in-out infinite}.pair-loading{font-size:1.5rem;color:#475569}.pair-error{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#94a3b8}.pair-error button{padding:.6rem 1.5rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer}@keyframes blink{0%,to{opacity:.3}50%{opacity:1}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0f172a;color:#f1f5f9;min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer}
