:root{color-scheme:dark;--fg: #fff;--muted: #9aa6b2;--accent: #5b8cff;--ok: #35c46a}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:#000;color:var(--fg);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}.stage{position:fixed;top:0;right:0;bottom:0;left:0;background:#000}.player{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.video{width:100%;height:100%;object-fit:cover;background:#000;display:block}.playpause{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:64px;color:#ffffffe6;text-shadow:0 2px 16px rgba(0,0,0,.6);pointer-events:none}.player .top-overlay,.player .overlay,.player .controls,.player .unmute{transition:opacity .3s ease}.player.ui-hidden .top-overlay,.player.ui-hidden .overlay,.player.ui-hidden .controls,.player.ui-hidden .unmute{opacity:0;pointer-events:none}.player.ui-hidden{cursor:none}.top-overlay{position:absolute;top:0;left:0;right:0;padding:16px 18px;display:flex;align-items:center;gap:10px;z-index:3;background:linear-gradient(#0000008c,#0000);pointer-events:none}.ov-brand{font-weight:700;letter-spacing:.2px}.ov-tag{font-size:12.5px;color:#fff;background:#00000073;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:3px 11px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.overlay{position:absolute;top:14px;right:14px;display:flex;align-items:center;gap:8px;z-index:4}.ov-latency{display:inline-flex;align-items:center;gap:6px;background:#0000008c;color:#fff;border-radius:7px;padding:4px 9px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer}.live-dot{width:8px;height:8px;border-radius:50%;background:#ff4d4d;box-shadow:0 0 0 3px #ff4d4d40}.ov-drop{background:#0000008c;color:#7de3a0;border-radius:7px;padding:4px 9px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ov-drop.bad{color:#ff7a7a}.ov-res{background:#0000008c;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:7px;padding:4px 8px;font-size:12px;font-weight:600;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.donate-btn{position:absolute;bottom:22px;left:50%;transform:translate(-50%);z-index:6;color:#fff;text-decoration:none;border-radius:999px;padding:9px 18px;font-size:13.5px;font-weight:700;box-shadow:0 4px 16px #0006;transition:transform .12s ease,filter .12s ease,opacity .25s ease}.donate-btn:hover{transform:translate(-50%) scale(1.04);filter:brightness(1.1)}.player.ui-hidden .donate-btn{opacity:0;pointer-events:none}.ppw{position:absolute;z-index:20}.ppw.small{right:14px;bottom:76px;width:min(300px,80vw)}.ppw.medium{top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.ppw.medium .pp-card{width:min(440px,88vw);pointer-events:auto}.ppw.full{top:0;right:0;bottom:0;left:0}.ppw.full .pp-card{position:absolute;top:0;right:0;bottom:0;left:0;z-index:21;width:auto;max-height:none;border-radius:0}.ppw.full .pp-media{flex:1 1 auto;min-height:0;height:100%;max-height:none;object-fit:contain}.ppw.full .pp-body{text-align:center}.ppw.full .pp-cta{margin:12px auto 18px;min-width:min(320px,70vw)}.pp-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pp-card{position:relative;overflow:hidden;background:#0e1218f5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:14px;box-shadow:0 16px 48px #0009;display:flex;flex-direction:column;animation:pp-in .22s cubic-bezier(.2,.9,.3,1.2)}@keyframes pp-in{0%{opacity:0;transform:translateY(10px) scale(.97)}}.pp-x{position:absolute;top:8px;right:8px;z-index:2;width:26px;height:26px;border:none;border-radius:50%;background:#0000008c;color:#fff;font-size:12px;cursor:pointer}.pp-x:hover{background:#000c}.pp-lock{position:absolute;top:8px;right:8px;z-index:2;background:#000000a6;color:#ffffffd9;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.03em}.pp-media{width:100%;max-height:46vh;object-fit:cover;display:block;background:#000}.pp-body{padding:12px 14px 4px}.pp-head{color:#fff;font-size:15.5px;font-weight:700;margin-bottom:3px}.pp-text{color:#b9c2cd;font-size:13px;line-height:1.5}.pp-cta{display:block;text-align:center;margin:12px 14px 14px;color:#fff;text-decoration:none;font-weight:700;font-size:13.5px;border-radius:9px;padding:10px 14px;transition:filter .12s ease}.pp-cta:hover{filter:brightness(1.12)}.ppw.small .pp-media{max-height:150px}.ppw.small .pp-head{font-size:13.5px}.ppw.small .pp-text{font-size:12px}.ov-mode{display:inline-flex;align-items:center;gap:5px;background:#0000008c;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:4px 10px 4px 8px;font:inherit;font-size:11.5px;font-weight:700;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);line-height:1.4;transition:background .15s ease,border-color .15s ease,color .15s ease}.ov-mode:hover{background:#000000b8;border-color:#fff6}.ov-mode-ic{font-size:11px;line-height:1}.ov-mode.latest{border-color:#ffc43d99;color:#ffd479;background:#7850006b}.ov-mode.latest:hover{border-color:#ffc43dd9}.ov-mode.smooth{border-color:#5b8cff80;color:#b9cdff;background:#1c2c5c73}.ov-mode.smooth:hover{border-color:#5b8cffcc}@media (max-width: 480px){.ov-mode-tx{display:none}.ov-mode{padding:5px 8px}}.ov-q{position:relative}.ov-q-btn{display:inline-flex;align-items:center;gap:6px;background:#0000008c;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:7px;padding:4px 8px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);line-height:1.4;transition:background .15s ease,border-color .15s ease}.ov-q-btn:hover{background:#000000b8;border-color:#ffffff61}.ov-q.open .ov-q-btn{background:#000c;border-color:#5b8cffbf}.ov-q-cur{font-variant-numeric:tabular-nums}.ov-q-auto{font-size:8.5px;font-weight:800;letter-spacing:.08em;padding:1px 4px;border-radius:4px;background:#5b8cff38;color:#9dbaff;border:1px solid rgba(91,140,255,.4)}.ov-q-caret{width:0;height:0;margin-left:1px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4.5px solid rgba(255,255,255,.75);transition:transform .18s ease}.ov-q.open .ov-q-caret{transform:rotate(180deg)}.ov-q-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:30;min-width:132px;padding:4px;background:#10141af0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.14);border-radius:10px;box-shadow:0 10px 30px #0000008c;animation:qmenu-in .13s ease-out}@keyframes qmenu-in{0%{opacity:0;transform:translateY(-4px)}}.ov-q-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:7px 9px;border:none;border-radius:7px;background:none;color:#e7ecf2;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;text-align:left}.ov-q-item:hover{background:#ffffff17}.ov-q-item.on{background:#5b8cff33;color:#b9cdff}.ov-q-item.on:after{content:"✓";font-size:11px}.ov-q-sub{color:#ffffff73;font-size:11px;font-weight:500}.ov-q-item.on .ov-q-sub{display:none}@media (max-width: 520px){.ov-q-item{padding:9px 10px;font-size:13.5px}.ov-q-menu{min-width:144px}}.unmute{position:absolute;bottom:22px;left:16px;z-index:5;background:#0009;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.unmute.small{bottom:22px;left:16px;right:auto;transform:none;padding:8px 12px}.controls{position:absolute;bottom:20px;right:14px;z-index:5;display:flex;align-items:center;gap:8px}.ctrl-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;color:#fff;background:#0000008c;border:1px solid rgba(255,255,255,.18);border-radius:9px;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);-webkit-tap-highlight-color:transparent}.ctrl-btn:hover{background:#000000b8}.ctrl-btn:active{transform:scale(.96)}.ctrl-btn svg{display:block}.ctrl-label{font-size:12.5px;font-weight:600}.center-msg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;color:#fff;font-size:15px;background:#00000080}.center-msg.error{color:#ff8080}.center-msg.nostream{flex-direction:column;gap:6px;background:#0b0d10}.nostream-icon{font-size:46px;margin-bottom:6px}.nostream-title{font-size:20px;font-weight:700}.nostream-sub{color:#8a97a6;font-size:13.5px;max-width:340px;line-height:1.5}.offline-msg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;gap:10px;background:#000000d1;color:#fff}.offline-icon{font-size:46px;opacity:.9}.offline-title{font-size:18px;font-weight:700}.offline-sub{font-size:14px;color:var(--muted);max-width:320px}.offline-wait{margin-top:8px;display:inline-flex;align-items:center;gap:9px;font-size:12.5px;color:var(--muted)}.spin{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spin.big{width:34px;height:34px;border-width:3px}.buffering-msg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#00000059;color:#fff;pointer-events:none}.buffering-title{font-size:14px;font-weight:600;color:#ffffffe6}.srcbar{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:5;display:flex;gap:8px;width:min(560px,90vw)}.srcbar input{flex:1;padding:9px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#0009;color:#fff;font-size:13px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.srcbar button{padding:9px 16px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}
