/* AMP PRO Web - TV-mode look. Tokens mirror the Android TV app (amp.css / v2.css previews). 1rem ~ 14px on a 1080p screen. */
:root{
  --bg:#0b0b14; --bg2:#12121f; --panel:rgba(255,255,255,.05); --panel2:rgba(255,255,255,.09);
  --line:rgba(255,255,255,.10); --text:#f2f3fa; --muted:#9a9db5;
  --accent:#7c5cff; --accent2:#00e0ff; --ok:#2ee59d; --warn:#ffb020; --bad:#ff4d6a;
  --grad:linear-gradient(135deg,var(--accent),var(--accent2));
  --rh:4.6rem; --chw:17rem;
}
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:clamp(10px,min(.72vw,1.3vh),22px);background:#000}
html,body{height:100%;overflow:hidden}
body{color:var(--text);font-family:Inter,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;
  background:radial-gradient(1200px 700px at 85% -10%,rgba(124,92,255,.26),transparent 60%),radial-gradient(900px 600px at -5% 110%,rgba(0,224,255,.14),transparent 60%),var(--bg);user-select:none;-webkit-user-select:none}
button,input{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer;text-align:left}
input{background:rgba(0,0,0,.35);border:1px solid var(--line);border-radius:.8rem;padding:.9rem 1.1rem;outline:0;user-select:text;-webkit-user-select:text}
::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:1rem}::-webkit-scrollbar-track{background:transparent}
.hide{display:none!important}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- focus ring: white fill + purple glow (same as TV) ---------- */
[data-f]{outline:0;transition:background .12s,box-shadow .12s,transform .12s}
[data-f]:focus{background:#fff!important;color:#0b0b14!important;box-shadow:0 0 0 .22rem rgba(124,92,255,.75),0 .6rem 2.2rem rgba(124,92,255,.4)}
[data-f]:focus *{color:#0b0b14}
[data-f]:focus .keep{color:inherit}
[data-f].poster:focus,[data-f].tile:focus{background:transparent!important;transform:scale(1.06);box-shadow:0 0 0 .22rem #fff,0 0 0 .5rem rgba(124,92,255,.7),0 1rem 2.4rem rgba(0,0,0,.6);z-index:3}
[data-f].poster:focus *,[data-f].tile:focus *{color:#fff}
.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .65rem;border-radius:.4rem;font-size:.9rem;font-weight:700;letter-spacing:.04em;background:var(--panel2);border:1px solid var(--line);color:#dfe2ff}
.badge.live{background:var(--bad);border-color:transparent;color:#fff}
.badge.hv{background:linear-gradient(135deg,rgba(124,92,255,.35),rgba(0,224,255,.25));border-color:rgba(0,224,255,.5);color:#fff}
.badge.ok{background:rgba(46,229,157,.14);border-color:rgba(46,229,157,.5);color:var(--ok)}
.badge.warn{background:rgba(255,176,32,.14);border-color:rgba(255,176,32,.5);color:var(--warn)}
.muted{color:var(--muted)}
.spin{width:2.6rem;height:2.6rem;border-radius:50%;border:.28rem solid rgba(255,255,255,.18);border-top-color:var(--accent2);animation:sp .8s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}

/* ---------- shell ---------- */
#app{display:grid;grid-template-columns:6.5rem 1fr;height:100%}
.rail{background:rgba(8,8,16,.85);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:1.6rem 0;gap:.6rem;z-index:5}
.rail .logo{width:3.6rem;height:3.6rem;border-radius:1rem;margin-bottom:1.6rem;object-fit:cover}
.ri{width:4.5rem;height:4.5rem;border-radius:1.1rem;display:grid;place-items:center;color:var(--muted);position:relative}
.ri svg{width:2rem;height:2rem;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ri.on{background:var(--grad);color:#fff;box-shadow:0 .5rem 1.7rem rgba(124,92,255,.5)}
.ri.sp{margin-top:auto}
.ri .tip{position:absolute;left:105%;top:50%;transform:translateY(-50%);background:#000c;padding:.3rem .7rem;border-radius:.5rem;font-size:.9rem;white-space:nowrap;display:none;color:#fff;z-index:9}
.ri:focus .tip,.ri:hover .tip{display:block}
.clock{font-size:.95rem;color:var(--muted);margin-top:.5rem}
#view{position:relative;overflow:hidden;min-width:0}
.screen{position:absolute;inset:0}
.center{display:grid;place-items:center;height:100%;text-align:center;padding:2rem}
.empty{color:var(--muted);padding:2rem;font-size:1.15rem;line-height:1.5}

/* ---------- login / setup ---------- */
.auth{position:fixed;inset:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:0 7vw;gap:5vw;z-index:30;background:inherit}
.auth .brand{display:flex;align-items:center;gap:1.1rem;margin-bottom:5rem}
.auth .brand img{width:4rem;height:4rem;border-radius:1rem;object-fit:cover}
.auth .brand b{font-size:1.9rem;letter-spacing:.03em;display:block}
.auth .brand small{display:block;font-size:.85rem;color:var(--muted);letter-spacing:.22em;text-transform:uppercase}
.auth h1{font-size:3.6rem;line-height:1.1;font-weight:800}
.auth .lead{font-size:1.25rem;color:var(--muted);margin:1.4rem 0 1.8rem;max-width:30rem;line-height:1.5}
.card{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:1.6rem;padding:2rem;box-shadow:0 2rem 5rem rgba(0,0,0,.45);backdrop-filter:blur(14px)}
.tabs{display:flex;background:rgba(0,0,0,.35);border:1px solid var(--line);border-radius:1.1rem;padding:.35rem;gap:.35rem;margin-bottom:1.6rem}
.tabs button{flex:1;text-align:center;padding:.9rem;border-radius:.8rem;color:var(--muted);font-weight:600;font-size:1.05rem}
.tabs button.on{background:rgba(255,255,255,.1);color:#fff}
.fld{display:block;margin-bottom:1.1rem}
.fld span{display:block;font-size:.9rem;color:var(--muted);margin-bottom:.4rem;letter-spacing:.04em}
.fld input{width:100%;font-size:1.25rem}
.fld input:focus{border-color:var(--accent2);box-shadow:0 0 0 .2rem rgba(0,224,255,.2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.95rem 1.8rem;border-radius:.95rem;background:rgba(255,255,255,.09);border:1px solid var(--line);font-weight:700;font-size:1.1rem;white-space:nowrap}
.btn.pri{background:var(--grad);border-color:transparent;color:#fff}
.btn.big{width:100%;padding:1.1rem;font-size:1.2rem}
.btn svg{width:1.3rem;height:1.3rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.err{color:var(--bad);font-size:1rem;min-height:1.3rem;margin:.2rem 0 .8rem;line-height:1.4}
.qrrow{display:flex;gap:2rem;align-items:center}
.qr{background:#fff;border-radius:1.1rem;padding:.9rem;width:13rem;height:13rem;flex:none;box-shadow:0 0 3rem rgba(124,92,255,.35)}
.qr svg{width:100%;height:100%;display:block}
.steps{font-size:1.15rem;line-height:1.9}.steps h3{font-size:1.45rem;margin-bottom:.5rem}
.paircode{margin-top:1.4rem;background:rgba(0,0,0,.35);border:1px solid var(--line);border-radius:1.1rem;padding:1.1rem;text-align:center}
.paircode small{display:block;color:var(--muted);letter-spacing:.14em;font-size:.85rem;text-transform:uppercase}
.paircode b{display:block;font-size:2.6rem;letter-spacing:.22em;margin-top:.3rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.status{margin-top:1rem;font-size:1rem;color:var(--muted);display:flex;align-items:center;gap:.6rem}
.dot{width:.7rem;height:.7rem;border-radius:50%;background:var(--ok);box-shadow:0 0 .8rem var(--ok)}
.picklist{display:flex;flex-direction:column;gap:.6rem;max-height:22rem;overflow:auto;padding:.3rem}
.picklist .btn{justify-content:flex-start}
.foot{margin-top:1.4rem;font-size:.85rem;color:var(--muted);text-align:center}

/* ---------- two-pane layouts (live / movies / shows) ---------- */
.two{display:grid;grid-template-columns:23rem minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:100%;min-height:0}
.side{background:rgba(10,10,20,.55);border-right:1px solid var(--line);overflow-y:auto;padding:1.3rem .9rem 2rem}
.sysbtn{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.1rem;border-radius:.9rem;background:rgba(255,255,255,.06);border:1px solid var(--line);font-weight:700;font-size:1.1rem;margin-bottom:.9rem}
.sysbtn svg{width:1.1rem;height:1.1rem;stroke:currentColor;fill:none;stroke-width:2}
.sec{font-size:.8rem;letter-spacing:.16em;color:var(--muted);padding:1rem 1rem .4rem;text-transform:uppercase}
.si{display:flex;justify-content:space-between;align-items:center;gap:.8rem;width:100%;padding:.8rem 1.1rem;border-radius:.8rem;color:#d6d8ee;font-size:1.08rem;position:relative}
.si span.n{font-size:.85rem;color:var(--muted)}
.si.on{background:rgba(124,92,255,.22);color:#fff;font-weight:700}
.si.on::before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:.25rem;border-radius:.2rem;background:var(--accent2)}
.si svg{width:1.15rem;height:1.15rem;stroke:currentColor;fill:none;stroke-width:1.8;margin-right:.2rem}
.si .t{display:flex;align-items:center;gap:.6rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- live guide ---------- */
.lmain{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;height:100%;overflow:hidden}
.gtop{display:flex;gap:2rem;padding:1.4rem 2rem 1rem}
.pvslot{width:32rem;aspect-ratio:16/9;border-radius:1.1rem;background:#05050a;border:1px solid var(--line);flex:none;position:relative}
.pvslot .hint{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:1.05rem;text-align:center;padding:1rem}
.ginfo{min-width:0;flex:1;position:relative}
.ginfo h2{font-size:2.3rem;font-weight:800;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ginfo .tm{display:flex;align-items:center;gap:1rem;margin:.55rem 0;color:#c9cbe0;font-size:1.1rem}
.bar{height:.4rem;width:10rem;border-radius:1rem;background:rgba(255,255,255,.15);overflow:hidden}.bar i{display:block;height:100%;background:var(--grad)}
.ginfo p{color:#c9cbe0;font-size:1.15rem;line-height:1.5;max-height:4.6rem;overflow:hidden}
.ginfo .nx{margin-top:.7rem;color:var(--muted);font-size:1.05rem}.ginfo .nx b{color:#fff}
.ginfo .clk{position:absolute;right:0;top:0;font-size:1.2rem;color:#cfd1e6}
.gd{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;position:relative}
.gh{display:flex;height:2.6rem;align-items:flex-end;padding-bottom:.4rem;color:var(--muted);font-size:1rem;border-bottom:1px solid var(--line)}
.gh .l{width:var(--chw);padding-left:2rem;flex:none;font-weight:600;color:#cfd1e6}
.gh .r{position:relative;flex:1;overflow:hidden;height:100%}
.gh .r i{position:absolute;bottom:.4rem;font-style:normal;white-space:nowrap}
.gbody{position:relative;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}.gbody::-webkit-scrollbar,.side::-webkit-scrollbar{width:10px}.gbody::-webkit-scrollbar-thumb,.side::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:6px}
.gsp{position:relative;width:100%}
.gr{position:absolute;left:0;right:0;height:var(--rh);display:flex;border-bottom:1px solid rgba(255,255,255,.05)}
.gc{width:var(--chw);flex:none;display:flex;align-items:center;gap:.9rem;padding:0 1rem 0 1rem;cursor:pointer;min-width:0}
.gc .no{width:1.9rem;text-align:right;color:var(--muted);font-size:.95rem;flex:none}
.gc .nm{font-size:1.08rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:0 1 auto}
.gc .nm i{font-style:normal;display:inline}
.gc .nm.mq{text-overflow:clip;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 .6rem,#000 calc(100% - .9rem),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 .6rem,#000 calc(100% - .9rem),transparent)}
.gc .nm.mq i{display:inline-block;padding-left:.3rem;animation:nmq var(--mqd,6s) linear 1s infinite}
@keyframes nmq{0%,12%{transform:translateX(0)}82%,100%{transform:translateX(var(--mq,0))}}
@media (prefers-reduced-motion:reduce){.gc .nm.mq i{animation:none}.gc .nm.mq{text-overflow:ellipsis}}
.pg.ev.evpre,.pg.ev.evpost{color:#c9cbe0}.pg.ev.evpost{opacity:.7}
.pg.ev.evon{background:rgba(46,229,157,.13);border-color:rgba(46,229,157,.28)}.pg.ev.evon.now{background:rgba(46,229,157,.2)}
.onnow{color:var(--ok);font-weight:800;margin-right:.55rem;letter-spacing:.02em}
.gr:focus .pg.ev{color:#3a3d55;opacity:1}.gr:focus .pg.ev.evon{color:#0b0b14;background:rgba(46,229,157,.22)}.gr:focus .onnow{color:#0a9a5c}
.gc .fv{color:var(--bad);font-size:.9rem}
.chip{width:2.9rem;height:2.9rem;border-radius:.75rem;display:grid;place-items:center;font-weight:800;font-size:.95rem;color:#fff;flex:none;overflow:hidden;background-size:cover}
.chip img{width:100%;height:100%;object-fit:contain;background:#12121f}
.trk{position:relative;flex:1;overflow:hidden}
.inn{position:absolute;left:0;top:0;bottom:0;transform:translateX(var(--tx,0px));will-change:transform}
.pg{position:absolute;top:.35rem;bottom:.35rem;border-radius:.65rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.05);padding:0 .9rem;display:flex;align-items:center;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.pg.now{background:rgba(255,255,255,.13)}
.pg.none{color:var(--muted);font-style:italic}
.pg.playing{box-shadow:inset 0 0 0 .15rem rgba(0,224,255,.55)}
.nowl{position:absolute;top:2.6rem;bottom:0;width:.16rem;background:var(--accent2);box-shadow:0 0 .8rem var(--accent2);z-index:2;pointer-events:none}
.ghint{padding:.5rem 2rem;font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);display:flex;gap:1.6rem;flex-wrap:wrap}
.ghint b{color:#dfe2ff}

/* ---------- movies & shows ---------- */
.vmain{position:relative;overflow-y:auto;overflow-x:hidden;height:100%}
.hero{position:relative;padding:2.6rem 3rem 1.6rem;min-height:26rem;display:flex;flex-direction:column;justify-content:flex-end}
.hero .bd{position:absolute;inset:0;background-size:cover;background-position:center 20%;opacity:.55;mask-image:linear-gradient(90deg,transparent 0,#000 55%),linear-gradient(0deg,transparent 0,#000 40%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 55%);transition:opacity .4s}
.hero .bd::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--bg) 0,transparent 55%)}
.hero>*{position:relative}
.hero .tags{display:flex;gap:.6rem;margin-bottom:.8rem}
.hero h1{font-size:3.4rem;font-weight:800;line-height:1.1;max-width:46rem}
.hero .meta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin:.8rem 0;font-size:1.15rem;color:#dcdff3}
.hero .meta .star{color:var(--warn);font-weight:800}
.hero .cr{font-size:1rem;color:var(--muted);margin-bottom:.5rem}.hero .cr b{color:#e9ebff;margin-right:.3rem}.hero .cr span{margin-right:1.2rem}
.hero .pl{font-size:1.15rem;color:#d3d5ea;line-height:1.5;max-width:50rem;max-height:3.6rem;overflow:hidden;margin-bottom:1.1rem}
.hero .acts{display:flex;gap:.9rem}
.vrows{padding:.4rem 3rem 4rem}
.rowh{display:flex;align-items:baseline;gap:.9rem;margin:1.4rem 0 .8rem}.rowh h2{font-size:1.5rem}.rowh small{color:var(--muted);font-size:.95rem}
.row{display:flex;gap:1.2rem;overflow-x:auto;overflow-y:visible;padding:.8rem .6rem 1.5rem;margin:0 -.6rem;scrollbar-width:none}.row::-webkit-scrollbar{display:none}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:1.4rem 1.2rem;padding:.8rem .6rem 2rem}
.poster,.tile{display:block;width:11.2rem;flex:none;border-radius:.9rem;position:relative;cursor:pointer}
.grid .poster{width:auto}
.poster .im{aspect-ratio:2/3;border-radius:.9rem;background:#1a1a2c center/cover no-repeat;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.poster .im img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;display:block}
.poster .im .ph{position:absolute;inset:0;display:grid;place-items:center;padding:.8rem;text-align:center;font-weight:700;font-size:1rem;line-height:1.25;color:#fff;background:linear-gradient(160deg,#3a2f7a,#10101c)}
.poster .rt{position:absolute;z-index:2;left:.5rem;bottom:.5rem;background:rgba(0,0,0,.7);border-radius:.4rem;padding:.12rem .45rem;font-size:.85rem;font-weight:700}
.poster .rt::before{content:"\2605 ";color:var(--warn)}
.poster .nm{margin-top:.55rem;font-size:1rem;color:#dfe2f4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.poster .rank{position:absolute;left:.4rem;top:-.2rem;font-size:3.6rem;font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:.1rem rgba(255,255,255,.85);z-index:2;text-shadow:0 .2rem 1rem rgba(0,0,0,.5)}
.poster .lib{position:absolute;right:.45rem;top:.45rem;width:1.5rem;height:1.5rem;border-radius:50%;display:grid;place-items:center;font-size:.85rem;font-weight:900;background:var(--ok);color:#06281a;z-index:2}
.poster .lib.no{background:rgba(0,0,0,.7);color:#fff}
.poster.dim .im{opacity:.45}
.poster .prog{position:absolute;z-index:2;left:0;right:0;bottom:0;height:.3rem;background:rgba(255,255,255,.2)}.poster .prog i{display:block;height:100%;background:var(--accent2)}
.credit{padding:1rem 3rem 2rem;font-size:.8rem;color:var(--muted)}

/* ---------- detail overlay ---------- */
.ovl{position:fixed;inset:0;z-index:20;background:#07070f;overflow:auto}
.det{display:grid;grid-template-columns:20rem 1fr;gap:3rem;padding:4rem 6rem;max-width:110rem;margin:0 auto}
.det .pimg{aspect-ratio:2/3;border-radius:1.2rem;background:#1a1a2c center/cover;box-shadow:0 1.5rem 4rem rgba(0,0,0,.6);border:1px solid var(--line)}
.det h1{font-size:2.9rem;line-height:1.15;margin:.3rem 0 .8rem}
.det .acts{display:flex;gap:.9rem;flex-wrap:wrap;margin:1.3rem 0}
.det .pl{font-size:1.2rem;line-height:1.6;color:#d3d5ea;max-width:60rem}
.det .bdrop{position:fixed;inset:0;background-size:cover;background-position:center;opacity:.18;z-index:-1}
.seas{display:flex;gap:.7rem;margin:1.2rem 0 .8rem;flex-wrap:wrap}
.seas .btn{padding:.6rem 1.2rem;font-size:1rem}.seas .btn.on{background:rgba(124,92,255,.35);border-color:var(--accent)}
.eps{display:flex;flex-direction:column;gap:.5rem;max-width:62rem}
.ep{display:flex;gap:1.1rem;align-items:center;padding:.65rem .9rem;border-radius:.9rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden}
.ep .st{width:9rem;aspect-ratio:16/9;border-radius:.55rem;background:#1a1a2c center/cover;flex:none}
.ep b{display:block;font-size:1.1rem}.ep small{color:var(--muted);font-size:.9rem;display:block;margin-top:.15rem;max-height:2.6rem;overflow:hidden}
.ep .w{position:absolute;left:0;bottom:0;height:.25rem;background:var(--accent2)}
.ep .ck{margin-left:auto;color:var(--ok);font-weight:800}

/* ---------- search / settings / sports ---------- */
.page{padding:2.4rem 3.2rem;height:100%;overflow-y:auto}
.page h1{font-size:2.2rem;margin-bottom:1.4rem}
.sbar{display:flex;gap:1rem;margin-bottom:1rem}.sbar input{flex:1;font-size:1.5rem;padding:1.1rem 1.4rem}
.setgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(22rem,1fr));gap:1.4rem;max-width:90rem}
.set{background:var(--panel);border:1px solid var(--line);border-radius:1.2rem;padding:1.5rem}
.set h3{font-size:1.2rem;margin-bottom:.9rem}
.kv{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:1.05rem}.kv span:first-child{color:var(--muted)}
.set .btn{margin:.8rem .6rem 0 0}
.list{display:flex;flex-direction:column;gap:.55rem;max-width:70rem}
.li{display:flex;gap:1rem;align-items:center;padding:.9rem 1.2rem;border-radius:.9rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);font-size:1.1rem}
.li .sm{color:var(--muted);font-size:.95rem}

/* ---------- global player ---------- */
#player{position:fixed;z-index:15;background:#000;overflow:hidden;border-radius:1.1rem;display:none}
#player.on{display:block}
#player.full{inset:0!important;width:100%!important;height:100%!important;border-radius:0;z-index:40}
#player video{width:100%;height:100%;display:block;background:#000;object-fit:contain}
#player.fill video{object-fit:cover}#player.stretch video{object-fit:fill}
#player .spn{position:absolute;inset:0;display:none;place-items:center;pointer-events:none}
#player.busy .spn{display:grid}
#player .perr{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:rgba(0,0,0,.78);text-align:center;padding:2rem;font-size:1.15rem}
#player.bad .perr{display:flex;z-index:5}#player.bad .pov{display:none!important}
#player .pov{position:absolute;inset:0;display:none;flex-direction:column;justify-content:space-between;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent 45%,transparent 70%,rgba(0,0,0,.6))}
#player.full.ui .pov{display:flex}
#player .ptop{display:flex;justify-content:space-between;align-items:flex-start;padding:2rem 3rem}
#player .ptop .br{display:flex;align-items:center;gap:1rem;font-weight:800;font-size:1.4rem}.ptop .br img{width:3rem;height:3rem;border-radius:.8rem}
#player .ptop .br small{display:block;font-size:.8rem;color:var(--muted);letter-spacing:.2em;font-weight:500}
#player .stats{background:rgba(10,12,22,.9);border:1px solid var(--line);border-radius:.9rem;padding:1rem 1.3rem;font-size:.95rem;line-height:1.7;min-width:20rem;display:none}
#player .stats.on{display:block}.stats b{display:inline-block;width:5rem;color:var(--muted);font-weight:500}
#player .pbot{padding:0 3rem 2.4rem}
#player .pt{display:flex;align-items:center;gap:1.4rem}
#player .pt .chip{width:5rem;height:5rem;border-radius:1.2rem;font-size:1.4rem}
#player .pt h2{font-size:2.6rem;font-weight:800;line-height:1.1}
#player .pt .sub{font-size:1.15rem;color:#d0d2e8;margin-top:.3rem}
#player .tags{display:flex;gap:.5rem;margin-bottom:.4rem}
#player .seek{display:flex;align-items:center;gap:1rem;margin:1.3rem 0 1.2rem;font-size:1rem;color:#d0d2e8}
#player .seek .tr{flex:1;height:.55rem;background:rgba(255,255,255,.22);border-radius:1rem;position:relative;cursor:pointer}
#player .seek .tr i{position:absolute;left:0;top:0;bottom:0;border-radius:1rem;background:var(--grad)}
#player .seek .tr u{position:absolute;top:50%;width:1.2rem;height:1.2rem;margin:-.6rem 0 0 -.6rem;border-radius:50%;background:#fff;box-shadow:0 0 1rem var(--accent2)}
#player .seek .nxt{flex:1;text-align:center}
#player .btns{display:flex;gap:.9rem;flex-wrap:wrap}
/* 0.7.3: the app's transport row (Player.kt TBtn / TPill) */
#player .ptx{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;margin:0 0 1.4rem}
#player .ptl b{display:block;font-size:1.1rem;font-weight:800;letter-spacing:.06em}#player .ptl b.lv{color:#ff4d5e}#player .ptl b.bh{color:#ffb547}
#player .ptl small{display:block;font-size:.95rem;color:#d0d2e8;margin-top:.15rem}
#player .ptc{display:flex;align-items:flex-start;justify-content:center;gap:1.3rem}
#player .tb{display:flex;flex-direction:column;align-items:center;gap:.35rem;background:none;border:0;padding:0;color:#fff;cursor:pointer}
#player .tb i{width:3.4rem;height:3.4rem;border-radius:50%;background:rgba(27,27,46,.55);border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;transition:transform .12s}
#player .tb.big i{width:4.9rem;height:4.9rem;background:#2b2760;border-color:rgba(255,255,255,.22)}
#player .tb svg{width:1.5rem;height:1.5rem;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}#player .tb.big svg{width:2.1rem;height:2.1rem}
#player .tb span{font-size:.78rem;color:#d0d2e8;white-space:nowrap}
#player .tb:focus{outline:none;background:none!important;box-shadow:none!important;color:#fff!important}#player .tb:focus i{box-shadow:0 0 0 .22rem rgba(124,92,255,.75),0 .4rem 1.6rem rgba(124,92,255,.5)}#player .tb:focus svg{color:#14142a!important}#player .tb:focus i,#player .tb:hover i{background:#fff;color:#14142a;transform:scale(1.08)}#player .tb:focus span{color:#fff!important;font-weight:700}
#player .tb.dis{opacity:.35}
#player .ptp{display:flex;justify-content:flex-end;gap:.7rem;flex-wrap:wrap}
#player .tpill{display:flex;align-items:center;gap:.5rem;padding:.55rem 1.1rem;border-radius:2rem;background:rgba(27,27,46,.7);border:1px solid rgba(255,255,255,.16);color:#fff;font-weight:700;font-size:.92rem;cursor:pointer}
#player .tpill:focus,#player .tpill:hover{outline:none;background:#fff;color:#14142a}
#player .tpill .dot{width:.6rem;height:.6rem;border-radius:50%}#player .tpill .dot.g{background:#2ecc71}#player .tpill .dot.r{background:#ff4d5e}
#player .btns .pb{min-width:0;padding:.65rem 1rem;display:flex;align-items:center;gap:.6rem;text-align:left}
#player .btns .pb svg{margin:0;width:1.25rem;height:1.25rem;flex:none}#player .btns .pb b{font-size:.92rem}#player .btns .pb small{font-size:.75rem}
@media (max-width:760px){#player .pbot{padding:0 1rem 1rem}#player .pt .chip{width:3rem;height:3rem;font-size:1rem}#player .pt h2{font-size:1.35rem}#player .pt .sub{font-size:.9rem}#player .seek{margin:.6rem 0}#player .ptl{display:none}#player .btns{flex-wrap:nowrap;overflow-x:auto;gap:.5rem;padding-bottom:.3rem}#player .btns .pb{flex:none}#player .btns .pb small{display:none}#player .ptx{grid-template-columns:1fr;gap:.8rem}#player .ptp{justify-content:center}#player .ptc{gap:.7rem}#player .tb i{width:2.7rem;height:2.7rem}#player .tb.big i{width:3.7rem;height:3.7rem}}
.pb{min-width:10rem;padding:1rem 1.2rem;border-radius:1rem;background:rgba(24,24,40,.85);border:1px solid var(--line);display:block}
.pb svg{width:1.5rem;height:1.5rem;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block;margin-bottom:.5rem}
.pb b{display:block;font-size:1.05rem}.pb small{display:block;font-size:.85rem;color:var(--muted);margin-top:.1rem}
.pb small.g{color:var(--ok)}
#player .zap{position:absolute;right:3rem;top:3rem;font-size:3rem;font-weight:800;text-shadow:0 .2rem 1rem #000;display:none}
#player .menu{position:absolute;right:3rem;bottom:13rem;background:rgba(14,14,26,.96);border:1px solid var(--line);border-radius:1.1rem;padding:.7rem;min-width:18rem;display:none;max-height:60vh;overflow:auto}
#player .menu.on{display:block}.menu .si{font-size:1.05rem}
#player .menu h4{padding:.6rem 1rem;color:var(--muted);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}

/* ---------- toast / dialog ---------- */
#toast{position:fixed;left:50%;bottom:3rem;transform:translateX(-50%);z-index:90;background:rgba(20,20,36,.96);border:1px solid rgba(255,176,32,.55);border-radius:1rem;padding:.9rem 1.6rem;font-size:1.1rem;display:none;box-shadow:0 1rem 3rem rgba(0,0,0,.6)}
#toast.on{display:block}
.dlg{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.7);display:grid;place-items:center}
.dlg .card{min-width:28rem;max-width:42rem}
.dlg h3{font-size:1.5rem;margin-bottom:.8rem}.dlg p{color:#cfd1e6;font-size:1.1rem;line-height:1.5;margin-bottom:1rem}

/* ---------- narrow screens (phones / small windows) ---------- */
@media (max-width:900px){
  html{font-size:14px}
  #app{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 4.2rem}
  .rail{order:2;flex-direction:row;justify-content:space-around;padding:.3rem;border-right:0;border-top:1px solid var(--line)}
  .rail .logo,.clock,.ri .tip,.ri.sp{display:none}.ri{width:3.6rem;height:3.6rem;flex:none}.rail{min-width:0;overflow-x:auto;justify-content:flex-start;gap:.2rem}
  .auth{grid-template-columns:1fr;padding:2rem;gap:1.5rem;overflow:auto;align-content:start}.auth h1{font-size:2.3rem}.auth .brand{margin-bottom:1.5rem}
  .qrrow{flex-direction:column}
  .two{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
  .side{display:flex;overflow-x:auto;overflow-y:hidden;padding:.6rem;gap:.4rem;border-right:0;border-bottom:1px solid var(--line)}
  .side .sec,.side .sysbtn{display:none}.si{white-space:nowrap;width:auto;flex:none}
  .gtop{flex-direction:row;gap:.8rem;padding:.6rem .8rem .4rem;align-items:flex-start}.pvslot{width:44%;max-width:15rem}.pvslot .hint{font-size:.8rem}.ginfo{min-width:0;flex:1}.ginfo h2{font-size:1.15rem}.ginfo p,.ginfo .nx,.ginfo .clk,.ghint{display:none}.ginfo .tm{flex-wrap:wrap;gap:.2rem .6rem;font-size:.85rem}.ginfo .bar{width:5rem}
  :root{--chw:9rem}.gc .no,.gc .chip{display:none}
  .hero{padding:1.5rem 1rem;min-height:18rem}.hero h1{font-size:2rem}.vrows{padding:.4rem 1rem 3rem}
  .det{grid-template-columns:1fr;padding:2rem 1.2rem}.det .pimg{width:10rem}
  .page{padding:1.2rem}
}

#player .noaud{position:absolute;left:50%;top:5.5rem;transform:translateX(-50%);max-width:70%;background:rgba(40,10,10,.92);border:1px solid #ff6b6b;color:#ffd9d9;padding:.8rem 1.3rem;border-radius:.8rem;font-size:1.05rem;display:none;z-index:5;text-align:center}
#player .noaud.on{display:block}
.ovl .dback{position:fixed;top:1rem;left:1rem;z-index:30;background:rgba(7,7,15,.75)}
.ovtag{position:fixed;top:.6rem;right:.8rem;z-index:50;background:#ffb020;color:#1a1200;font-weight:700;font-size:1.1rem;padding:.3rem .9rem;border-radius:99rem;letter-spacing:.04em;pointer-events:auto;box-shadow:0 2px 10px rgba(0,0,0,.4)}
.gd{position:relative}.gload{position:absolute;left:50%;top:3.2rem;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:.7rem;max-width:80%;background:rgba(10,10,22,.94);border:1px solid var(--line);border-radius:99rem;padding:.5rem 1.2rem;font-size:1.05rem;box-shadow:0 4px 18px rgba(0,0,0,.5)}.gload.hide{display:none}.spin.sm{width:1.3rem;height:1.3rem;border-width:.18rem;margin:0;flex:none}
/* 0.3.0: number entry, trailer */
.numin{position:fixed;top:2.2rem;right:2.6rem;z-index:99;background:rgba(10,10,22,.86);border:1px solid rgba(255,255,255,.14);border-radius:1rem;padding:.8rem 1.4rem;display:none;align-items:baseline;gap:.6rem;backdrop-filter:blur(8px)}
.numin.on{display:flex}.numin b{font-size:3rem;font-weight:800;letter-spacing:.12em;color:#fff}.numin small{color:#b9bcd9;font-size:1rem}
.trov{position:fixed;inset:0;z-index:95;background:rgba(0,0,0,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}
.trbox{width:min(100%,calc((100vh - 9rem)*16/9));aspect-ratio:16/9;background:#000;border-radius:.8rem;overflow:hidden}.trbox iframe{width:100%;height:100%;border:0}
.trbar{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:center}.trbar b{font-size:1.2rem;margin-right:1rem}
/* 0.3.0: number entry, trailer */
.numin{position:fixed;top:2.2rem;right:2.6rem;z-index:99;background:rgba(10,10,22,.86);border:1px solid rgba(255,255,255,.14);border-radius:1rem;padding:.8rem 1.4rem;display:none;align-items:baseline;gap:.6rem;backdrop-filter:blur(8px)}
.numin.on{display:flex}.numin b{font-size:3rem;font-weight:800;letter-spacing:.12em;color:#fff}.numin small{color:#b9bcd9;font-size:1rem}
.trov{position:fixed;inset:0;z-index:95;background:rgba(0,0,0,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}
.trbox{width:min(100%,calc((100vh - 9rem)*16/9));aspect-ratio:16/9;background:#000;border-radius:.8rem;overflow:hidden}.trbox iframe{width:100%;height:100%;border:0}
.trbar{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:center}.trbar b{font-size:1.2rem;margin-right:1rem}
.trbar a.btn{color:inherit;text-decoration:none}
/* 0.4.0 smart guide tags (LIVE / NEW / REPEAT, as the app) */
.sts{display:inline-flex;flex-direction:column;gap:1px;margin-right:.45rem;vertical-align:middle;flex:none}
.st{font-style:normal;font-weight:800;font-size:.68em;line-height:1.1;padding:0 .3rem;border-radius:.25rem;text-align:center;letter-spacing:.02em}
.st.lv{background:var(--bad);color:#fff}.st.nw{background:var(--ok);color:#06140e}.st.rp{background:rgba(255,255,255,.2);color:var(--muted)}.st.rp.lt{background:rgba(0,0,0,.2);color:#222233}
.ginfo h2 .sts{font-size:1.1rem;margin-right:.7rem}
.ginfo .sg{font-size:1rem;font-weight:700;letter-spacing:.03em;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ptags .sts{font-size:1.2rem}
/* 0.4.0 messages (panel notices) */
.ri .dot{position:absolute;top:.35rem;right:.35rem;min-width:1.3rem;height:1.3rem;padding:0 .3rem;border-radius:.7rem;background:var(--bad);color:#fff;font-size:.75rem;font-weight:800;font-style:normal;display:grid;place-items:center;line-height:1}
.nban{position:fixed;top:1.6rem;right:1.6rem;z-index:70;width:34rem;max-width:calc(100vw - 3rem);background:rgba(18,18,31,.96);border:1px solid var(--sc);border-radius:1.4rem;padding:1.3rem 1.4rem;box-shadow:0 0 2.2rem color-mix(in srgb,var(--sc) 35%,transparent),0 1.5rem 4rem rgba(0,0,0,.6);transform:translateY(-140%);transition:transform .3s ease;cursor:pointer}
.nban.on{transform:none}
.nhd{display:flex;gap:1rem;align-items:flex-start}
.nic{flex:none;width:3.2rem;height:3.2rem;border-radius:1rem;border:1px solid;display:grid;place-items:center;background:rgba(255,255,255,.05)}
.nic svg{width:1.6rem;height:1.6rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nt{flex:1;min-width:0}.nt b{display:block;font-size:1.2rem;line-height:1.3}.nt small{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.9rem;margin-top:.3rem}
.sev{border:1px solid;border-radius:.4rem;padding:.05rem .45rem;font-weight:800;font-size:.75rem}
.nbody{color:#dcdff3;font-size:1.05rem;line-height:1.5;margin-top:.8rem;max-height:14rem;overflow:auto;white-space:normal}
.nban .nx{flex:none;width:2.2rem;height:2.2rem;border-radius:.7rem;display:grid;place-items:center;color:var(--muted)}.nban .nx:hover{background:rgba(255,255,255,.1)}
.nban .nx svg{width:1.2rem;height:1.2rem;stroke:currentColor;fill:none;stroke-width:2}
.nlink{margin-top:.9rem;text-decoration:none;color:inherit}
.dlg.ntc .card>h3{display:none}.ncard .nbody{max-height:22rem}
.ncue{position:fixed;right:1.6rem;bottom:1.6rem;z-index:70;display:flex;gap:.9rem;align-items:center;background:rgba(18,18,31,.96);border:1px solid var(--accent);border-radius:1.2rem;padding:.9rem 1.2rem;color:#fff;text-align:left;transform:translateY(160%);transition:transform .3s;max-width:30rem}
.ncue.on{transform:none}.ncue svg{width:1.8rem;height:1.8rem;stroke:var(--accent);fill:none;stroke-width:2;flex:none}.ncue small{display:block;color:var(--accent);font-weight:800;font-size:.8rem}.ncue b{display:block;font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.li.msg{width:100%}.li.msg.unr b::before{content:"";display:inline-block;width:.6rem;height:.6rem;border-radius:50%;background:var(--accent2);margin-right:.5rem;vertical-align:middle}
/* reports + forms */
.dlg textarea{width:100%;background:rgba(0,0,0,.35);border:1px solid var(--line);border-radius:.8rem;padding:.8rem 1rem;color:var(--text);font:inherit;font-size:1.05rem;resize:vertical;outline:0;user-select:text;-webkit-user-select:text}
.dlg textarea:focus{background:rgba(0,0,0,.45)!important;color:var(--text)!important;border-color:var(--accent2);box-shadow:0 0 0 .2rem rgba(0,224,255,.2)}
.rpl{color:var(--accent2)!important;font-weight:700;margin-bottom:.2rem!important}.rpm{color:var(--muted)!important;font-size:.95rem!important}
.rph{font-weight:700;font-size:1.05rem;margin:.9rem 0 .6rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chipb{padding:.55rem 1rem;border-radius:2rem;background:rgba(255,255,255,.07);border:1px solid var(--line);font-size:1rem;font-weight:600}
.chipb.on{background:rgba(124,92,255,.35);border-color:var(--accent)}.chipb.on::before{content:"\2713  "}
.rpst{color:var(--warn);font-size:1rem;min-height:1.3rem;margin-top:.5rem}
.rpf{color:var(--muted)!important;font-size:.9rem!important;margin:.4rem 0 0!important}
/* favourites + groups managers */
.card.fm{width:44rem;max-width:calc(100vw - 3rem)}
.fml{max-height:52vh;overflow:auto;display:flex;flex-direction:column;gap:.4rem;padding:.3rem}
.fmr{display:flex;align-items:center;gap:.6rem;padding:.4rem .6rem;border-radius:.8rem;background:rgba(255,255,255,.04)}
.fmr b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem}
.fmr.hid b{color:var(--muted);text-decoration:line-through}.fmr .sm{color:var(--muted);font-size:.85rem}
.fmr .chip{width:2.6rem;height:2.6rem;flex:none}
.btn.sm{padding:.45rem .6rem;border-radius:.6rem}.btn:disabled{opacity:.3}
/* NEW / Added badge on posters */
.poster .add{position:absolute;z-index:2;right:.4rem;top:.4rem;display:flex;flex-direction:column;align-items:flex-end;gap:.2rem}
.poster .add b{background:var(--ok);color:#06140e;font-size:.75rem;font-weight:800;padding:.05rem .4rem;border-radius:.3rem}
.poster .add em{font-style:normal;background:rgba(0,0,0,.7);color:#fff;font-size:.72rem;font-weight:600;padding:.08rem .4rem;border-radius:.4rem;display:none}
.poster:focus .add em,.poster:hover .add em{display:block}
/* 0.5.0: profiles, parental, Premium, tutorials, support chats */
.av{display:inline-grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;color:#fff;font-weight:800;font-size:1.1rem;flex:none;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.av.big{width:6.5rem;height:6.5rem;font-size:2.8rem;border-radius:1.4rem}
.ri.pfb{margin-bottom:.4rem}.ri.pfb .av{width:2.3rem;height:2.3rem;font-size:1.05rem}
.pinin{display:block;width:12rem;margin:1rem auto .4rem;text-align:center;font-size:2.4rem;letter-spacing:1rem;padding:.6rem 0 .6rem 1rem;background:rgba(0,0,0,.35);border:1px solid var(--line);border-radius:.9rem;color:var(--text);outline:0}
.pinin:focus{border-color:var(--accent2);box-shadow:0 0 0 .2rem rgba(0,224,255,.2);background:rgba(0,0,0,.45)!important;color:var(--text)!important}
.poster.agx{display:none!important}.poster.agq .im{filter:blur(14px) brightness(.5)}.poster.agq .nm{opacity:.3}
.dlg.pfpick .card{max-width:60rem;text-align:center}.dlg.pfpick h3{font-size:2rem;margin-bottom:1.2rem}.dlg.pfpick .dbtn{justify-content:center}
.pfgrid{display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:center;margin-bottom:1rem}
.pft{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border-radius:1.2rem;width:9.5rem;background:transparent;border:2px solid transparent}
.pft b{font-size:1.1rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pft small{color:var(--muted);font-size:.85rem;min-height:1rem}
.pft.cur{border-color:rgba(255,255,255,.25)}.pft.rest .av{filter:grayscale(1) brightness(.6)}.pft.add .av{background:rgba(255,255,255,.08);border:2px dashed var(--line)}
.pflist{display:flex;flex-direction:column;gap:.6rem;max-width:56rem}
.pfrow{display:flex;align-items:center;gap:1rem;padding:.8rem 1rem;border-radius:1rem;background:var(--panel);border:1px solid var(--line)}
.pfi{flex:1;min-width:0}.pfi b{display:block;font-size:1.15rem}.pfi small{color:var(--muted)}.pfi .badge{font-size:.7rem;margin-left:.5rem;vertical-align:middle}
.btnrow{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center;margin-top:1.2rem}
.ovl.acc{overflow-y:auto}.accp{max-width:64rem;margin:0 auto;height:auto}.accp .set{margin-bottom:1.2rem}
.opt{display:flex;justify-content:space-between;align-items:center;gap:1.2rem;padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.06)}
.opt b{display:block;font-size:1.05rem}.opt small{display:block;color:var(--muted);font-size:.9rem;line-height:1.4;margin-top:.2rem}.opt .ctl{flex:none;max-width:60%}
.opt .chips{justify-content:flex-end}
.set .opt .btn{margin:0}
.tgl{display:inline-flex;align-items:center;gap:.6rem;padding:.35rem .8rem .35rem .35rem;border-radius:2rem;background:rgba(255,255,255,.07);border:1px solid var(--line);font-weight:700}
.tgl i{width:2.6rem;height:1.5rem;border-radius:1rem;background:rgba(255,255,255,.18);position:relative;transition:background .15s}
.tgl i::after{content:"";position:absolute;left:.15rem;top:.15rem;width:1.2rem;height:1.2rem;border-radius:50%;background:#fff;transition:left .15s}
.tgl.on i{background:var(--ok)}.tgl.on i::after{left:1.25rem}
.sw{width:2.6rem;height:2.6rem;border-radius:50%;border:3px solid transparent}.sw.on{border-color:#fff}
.fmr.alr{width:100%;text-align:left}.fmr.alr .ck{width:1.6rem;height:1.6rem;border-radius:.4rem;border:2px solid var(--line);display:grid;place-items:center;font-weight:800;flex:none}.fmr.alr.on .ck{background:var(--ok);border-color:var(--ok);color:#06140e}
.btn.lkon{background:rgba(255,176,32,.25);border-color:var(--warn)}
.okc{color:var(--ok)}
.tugrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.9rem;margin-bottom:1.6rem;max-width:90rem}
.tut{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;text-align:left;padding:1rem 1.2rem;border-radius:1rem;background:var(--panel);border:1px solid var(--line)}
.tut b{font-size:1.1rem}.tut small{color:var(--muted);line-height:1.35}.tut em{font-style:normal;color:var(--accent2);font-size:.85rem;font-weight:700}
.tusteps{padding-left:1.4rem;line-height:1.5;max-height:55vh;overflow:auto;text-align:left}.tusteps li{margin-bottom:.7rem}
.chwrap{height:100%;overflow-y:auto}.chwrap .page{height:auto;overflow:visible}.chpage{padding-bottom:0!important}
.chat{max-width:56rem;background:var(--panel);border:1px solid var(--line);border-radius:1.1rem;padding:1rem 1.2rem;margin-bottom:1rem}
.chh{display:flex;gap:.8rem;align-items:center;margin-bottom:.8rem}.chh b{flex:1;font-size:1.1rem}.chh small{color:var(--muted)}
.chposts{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.8rem;max-height:22rem;overflow:auto}
.bub{max-width:80%;align-self:flex-start;background:rgba(255,255,255,.08);border-radius:1rem 1rem 1rem .3rem;padding:.6rem .9rem;line-height:1.45}
.bub.me{align-self:flex-end;background:rgba(124,92,255,.3);border-radius:1rem 1rem .3rem 1rem}.bub small{display:block;color:var(--muted);font-size:.78rem;margin-bottom:.15rem}
/* 0.6.0: catch-up */
.culist{max-height:52vh;overflow:auto;margin:.2rem 0 .6rem;min-width:30rem}
.culist h4{padding:.7rem 1rem .3rem;color:var(--muted);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;position:sticky;top:0;background:var(--panel,#14141f)}
.cui{justify-content:flex-start}.cui .tm{flex:0 0 4.6rem;color:var(--accent2);font-variant-numeric:tabular-nums;font-size:1rem}
.cui .onnow{margin-left:auto}
.pg.cu{background:rgba(0,224,255,.06);border-color:rgba(0,224,255,.18)}
.pg.cu::after{content:"\21ba";margin-left:.5rem;opacity:.55;font-size:.9rem}
.gr:focus .pg.cu{color:#3a3d55}
.cuB{display:inline-grid;place-items:center;margin-left:.35rem;width:1.35rem;height:1.35rem;border-radius:.35rem;font-size:.85rem;background:rgba(0,224,255,.16);color:var(--accent2);flex:0 0 auto}
.badge.cu{background:rgba(0,224,255,.18);border-color:rgba(0,224,255,.55);color:#bff6ff}
/* 0.6.1: multiview */
#mv{position:fixed;inset:0;z-index:45;background:#000;display:none;outline:0}
#mv.on{display:block}
.mvtiles{position:absolute;inset:0}
.mvs{position:absolute;box-sizing:border-box;border:.18rem solid #000;background:#05050a;overflow:hidden;cursor:pointer}
.mvs video{width:100%;height:100%;object-fit:contain;display:block;background:#000}
.mvs.sel{border-color:var(--accent2);box-shadow:inset 0 0 0 .1rem var(--accent2)}
.mvlab{position:absolute;left:.7rem;top:.6rem;display:flex;align-items:center;gap:.4rem;background:rgba(0,0,0,.62);border-radius:.5rem;padding:.25rem .65rem;font-size:1rem;font-weight:700;max-width:80%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.mvlab:empty{display:none}
.mvs.small .mvlab{font-size:.85rem}
.mvlab .snd svg{width:1rem;height:1rem;stroke:var(--accent2);fill:none;stroke-width:2;display:block}
.mvst{position:absolute;inset:auto 0 45% 0;text-align:center;color:#cfd1e6;font-size:1.05rem;padding:0 1rem;pointer-events:none}
.mvadd{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;color:var(--muted);font-size:1.1rem;background:transparent;border:0}
.mvadd svg{width:2.6rem;height:2.6rem;stroke:currentColor;fill:none;stroke-width:1.6}
.mvs.empty .mvadd{display:flex}.mvs.empty video{visibility:hidden}
.mvs.empty.sel .mvadd{color:#fff}
.mvbar{position:absolute;left:0;right:0;bottom:0;display:none;gap:.7rem;align-items:center;flex-wrap:wrap;padding:1.2rem 2rem 1.6rem;background:linear-gradient(transparent,rgba(0,0,0,.85) 40%);z-index:5}
#mv.ui .mvbar{display:flex}
.mvbar .mvh{flex:1 0 100%;color:#dfe2ff;font-weight:700;font-size:1.05rem;margin-bottom:.2rem}
.mvbar .pb{min-width:8.5rem}
.mvpick .card{min-width:34rem}
.mvq{width:100%;font-size:1.15rem;margin-bottom:.6rem}
.mvlist{max-height:46vh;overflow:auto;margin-bottom:.4rem}
.mvc{justify-content:flex-start}.mvc .chip{width:2.3rem;height:2.3rem;font-size:.8rem}.mvc small{margin-left:auto;color:var(--muted)}
.mvlays{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-bottom:.6rem}
.mvlay{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;padding:1rem;border-radius:1rem;background:rgba(255,255,255,.05);border:1px solid var(--line);text-align:left}
.mvlay.on{border-color:var(--accent2)}.mvlay.off{opacity:.45}
.mvlay small{color:var(--muted);font-size:.85rem}
.mvmini{position:relative;display:block;width:7rem;height:3.94rem;background:#000;border-radius:.4rem;margin-bottom:.3rem}
.mvmini u{position:absolute;box-sizing:border-box;border:.12rem solid #000;background:rgba(0,224,255,.35);border-radius:.2rem}
/* ---------- 0.7.0 sports guide ---------- */
.sp .sphd{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;margin-bottom:1rem}.sp .sphd h1{margin:0}
.spdays,.spsports{display:flex;gap:.6rem;flex-wrap:wrap}.spsports{margin:-.2rem 0 1.2rem}
.spdays .chipb.on::before,.spsports .chipb.on::before{content:""}
.sp .sbar .btn svg{width:1.2rem;height:1.2rem}
.spstrip{display:flex;gap:.7rem;overflow-x:auto;padding:.3rem .2rem 1rem;margin-bottom:.4rem}
.sps{flex:none;display:flex;flex-direction:column;gap:.25rem;min-width:12rem;padding:.7rem 1rem;border-radius:.8rem;background:linear-gradient(135deg,rgba(255,77,106,.18),rgba(255,255,255,.04));border:1px solid rgba(255,77,106,.35)}
.sps .lg{font-size:.8rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:16rem}.sps .sc{font-weight:800;font-size:1.1rem;white-space:nowrap}.sps .ck{font-size:.85rem;color:var(--bad);font-weight:700}
.spsec{margin-bottom:1.6rem}.spsec h2{font-size:1.4rem;margin:0 0 .8rem}.spsec h2 small{color:var(--muted);font-weight:600;font-size:1rem;margin-left:.4rem}
.spgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(22rem,100%),1fr));gap:.8rem;margin-bottom:.8rem}
.spc{display:flex;flex-direction:column;gap:.45rem;padding:.9rem 1.1rem;border-radius:1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);min-width:0}
.spc.live{border-color:rgba(255,77,106,.45);background:linear-gradient(160deg,rgba(255,77,106,.12),rgba(255,255,255,.04) 60%)}
.spc.done{opacity:.78}.spc.mine{box-shadow:inset .25rem 0 0 var(--accent2)}.spc.pk{border-color:var(--accent2);box-shadow:0 0 0 .15rem rgba(0,224,255,.35)}
.spl{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--muted);min-width:0}.spl>span:first-of-type{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spst{font-weight:800;font-size:.85rem;white-space:nowrap;color:#dfe2ff}.spst.live{color:var(--bad)}.spst.done{color:var(--muted)}
.spt{display:flex;align-items:center;gap:.6rem;font-size:1.12rem;min-width:0}.spt .n{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spt .s{font-weight:800;font-size:1.25rem;min-width:2ch;text-align:right}
.spt.win .n,.spt.win .s{color:#fff;font-weight:800}.spc.done .spt:not(.win) .s{color:var(--muted)}
.spb{width:1.7rem;height:1.7rem;object-fit:contain;flex:none}.spbl{width:1.2rem;height:1.2rem;object-fit:contain;flex:none}
.heart{color:#ff4d9a}
.spf{display:flex;align-items:center;gap:.6rem;font-size:.9rem;min-height:1.3rem}.spf .ok{display:inline-flex;align-items:center;gap:.35rem;color:var(--ok);font-weight:700}.spf .ok svg{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:2}
.spf .no{color:var(--muted)}.spf .wait{color:var(--muted)}.pkb{margin-left:auto;font-size:.75rem;font-weight:800;letter-spacing:.06em;color:var(--accent2)}
.spmvbar{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:1rem;padding:.7rem 1rem;margin-bottom:1rem;border-radius:.9rem;background:rgba(14,14,30,.96);border:1px solid rgba(0,224,255,.45)}
.spmvbar>span{flex:1;display:flex;align-items:center;gap:.5rem}.spmvbar svg{width:1.3rem;height:1.3rem;stroke:currentColor;fill:none;stroke-width:2}
.dlg.spdlg .card{max-width:58rem;width:min(58rem,92vw);max-height:90vh;overflow-y:auto}
.spdh{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin:.4rem 0 .6rem}
.spdt{display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center;font-size:1.15rem}.spdt .spb{width:3.6rem;height:3.6rem}
.spds{display:flex;flex-direction:column;align-items:center;gap:.3rem}.spds .big{font-size:2.4rem;font-weight:800}
.spdm{text-align:center;margin-bottom:.8rem}.spd h4{font-size:1.1rem;margin:1rem 0 .5rem}
.spfeeds{display:flex;flex-direction:column;gap:.45rem}
.spfeed{display:flex;align-items:center;gap:.8rem;padding:.55rem .8rem;border-radius:.8rem;background:rgba(255,255,255,.05);border:1px solid var(--line)}
.spfeed .chip{width:3rem;height:3rem;flex:none}.spfeed .n{flex:1;min-width:0;font-size:1.02rem}.spfeed .n small{display:block;color:var(--muted);font-size:.85rem;margin-top:.15rem}
.spfeed svg{width:1.3rem;height:1.3rem;stroke:currentColor;fill:none;stroke-width:2;flex:none}
.spacts{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.spacts .btn svg{width:1.2rem;height:1.2rem}
.sptv{line-height:1.5;font-size:.95rem}.sptab{max-height:20rem;overflow-y:auto}.sptab table{width:100%;border-collapse:collapse;font-size:.95rem}
.sptab th,.sptab td{padding:.3rem .5rem;text-align:right}.sptab th:nth-child(2),.sptab td:nth-child(2){text-align:left}.sptab th{color:var(--muted);font-weight:600}.sptab tr.me td{background:rgba(124,92,255,.22);font-weight:700}
.sptm{display:flex;flex-direction:column;gap:.5rem;max-height:26rem;overflow-y:auto}.sptm .sm{line-height:1.45}
@media (max-width:700px){.spgrid{grid-template-columns:minmax(0,1fr)}.sp .sbar input{min-width:0;flex:1 1 100%}.sp .sbar{flex-wrap:wrap}}
.spsports .chipb svg{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:2;vertical-align:-.15rem;margin-right:.3rem}.spsep{width:1px;background:var(--line);margin:0 .3rem}
/* 0.7.1: sports guide laid out like the app (sports list | picture + game | day tabs | guide of feeds | LIVE NOW) */
.spx{display:grid;grid-template-columns:17rem minmax(0,1fr);height:100%;min-height:0;--spcw:15rem}
.spside{padding:1rem .7rem}.spsi{padding:.65rem .9rem;font-size:1.02rem}.spic{font-style:normal;width:1.5rem;text-align:center;flex:none}
.spcnt{display:flex;align-items:center;gap:.45rem}.spcnt .n{font-size:.85rem;color:var(--muted)}.spcl{background:var(--bad);color:#fff;font-size:.78rem;padding:.05rem .45rem;border-radius:99rem}
.spmvi{border:1px dashed rgba(0,224,255,.45);margin-bottom:.4rem}.spnote{color:var(--muted);font-size:.8rem;line-height:1.45;padding:1rem .9rem}
.spmain{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;overflow:hidden}
.sptop{padding:1rem 1.4rem .6rem;gap:1.2rem}.sptop .pvslot{width:26rem}
.spinfo{background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:1.1rem;padding:.9rem 1.2rem;overflow:hidden}
.sppan0{color:var(--muted);display:grid;place-items:center;height:100%}
.splg{display:flex;align-items:center;gap:.6rem;color:#cfd1e6;font-size:.98rem}.splive{background:var(--bad);color:#fff;font-weight:800;font-size:.8rem;padding:.1rem .55rem;border-radius:.4rem}.spfin{color:var(--muted);font-weight:700;font-size:.85rem}
.spvs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin:.5rem 0 .3rem}
.spteam{display:flex;flex-direction:column;align-items:center;gap:.35rem;text-align:center;min-width:0}.spteam img{width:3.6rem;height:3.6rem;object-fit:contain}.spteam b{font-size:1.08rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spini{width:3.6rem;height:3.6rem;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);font-weight:800}
.spbig{font-size:2.8rem;font-weight:800;display:flex;flex-direction:column;align-items:center;line-height:1}.spbig i{font-style:normal;color:var(--muted);margin:0 .4rem}.spbig{flex-direction:row}.spbig.sm{font-size:1.9rem;flex-direction:column;gap:.3rem}.spbig small{font-size:.8rem;color:var(--accent2);letter-spacing:.08em}
.spone{grid-column:1/-1;text-align:center;font-size:1.4rem}
.spfc{color:var(--accent2);font-weight:800;font-size:.8rem;letter-spacing:.1em;margin-top:.2rem}.spfc.dim{color:var(--muted)}
.spchips{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.35rem}.spchip{background:rgba(255,255,255,.08);border-radius:.45rem;padding:.2rem .6rem;font-size:.85rem;font-weight:600;white-space:nowrap;max-width:16rem;overflow:hidden;text-overflow:ellipsis;color:#e6e8ff}.spchip.on{background:var(--accent2);color:#04121a}
.spnt{color:var(--muted);font-size:.88rem;margin-top:.45rem}
.spdaybar{display:flex;align-items:center;gap:.5rem;padding:0 1.4rem .5rem;min-width:0}.spdaybar .spdays{display:flex;gap:.4rem;flex:none}.spdaybar .chipb{padding:.35rem .8rem;font-size:.92rem}.spdaybar .chipb.on::before{content:""}
.spdh2{flex:1;color:var(--muted);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:.5rem}.spdh2 .cy,.cy{color:var(--accent2)}.red{color:var(--bad)}
.spbody{flex:1;min-height:0;overflow-y:auto;position:relative;padding:0 1.4rem}
.spbody.guide{overflow:hidden;display:flex;flex-direction:column;padding:0 0 0 1.4rem}
.spgh{display:flex;height:2rem;align-items:flex-end;color:var(--muted);font-size:.9rem;border-bottom:1px solid var(--line);flex:none}.spgh .l{width:var(--spcw);flex:none;color:#cfd1e6;font-weight:600;padding-bottom:.3rem}.spgh .r{position:relative;flex:1;height:100%;overflow:hidden}.spgh .r i{position:absolute;bottom:.3rem;font-style:normal;white-space:nowrap}
.spgb{position:relative;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
.spr{height:2.9rem;outline:0}.spr .gc{width:var(--spcw);gap:.55rem;padding:0 .6rem;border-radius:.5rem;position:relative}.spr .gc .chip{width:2rem;height:2rem;font-size:.7rem;border-radius:.4rem}
.spr .nm{display:flex;flex-direction:column;font-size:.95rem!important;line-height:1.15}.spr .nm small{font-size:.66rem;color:var(--muted);font-weight:500}
.spr.same .gc{box-shadow:inset .22rem 0 0 var(--accent2)}.spr:focus .gc{background:#fff;color:#0b0b14}.spr:focus .gc small{color:#555}
.spw{position:absolute;right:.4rem;top:.1rem;font-size:.6rem;font-weight:800;color:var(--accent2)}.spr:focus .spw{color:#0077aa}
.spr .pg{top:.2rem;bottom:.2rem;font-size:.9rem;padding:0 .6rem;border-radius:.45rem;gap:.35rem}
.spfill{color:#aeb1c8;background:rgba(255,255,255,.05)}.spfill.none{background:rgba(255,255,255,.03);font-style:normal}
.spg{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1)}.spg b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:700}.spg .spb{width:1.25rem;height:1.25rem}
.spg.live{background:linear-gradient(90deg,rgba(255,77,106,.28),rgba(255,77,106,.1));border-color:rgba(255,77,106,.45)}
.spg.same{box-shadow:inset 0 0 0 .1rem rgba(0,224,255,.35)}.spg.sel{box-shadow:0 0 0 .16rem #fff;border-color:#fff}
.spgs{flex:none;font-weight:800;font-size:.85rem}.spgs i{font-style:normal;color:var(--bad)}.spgs i.cy{color:var(--accent2)}
.spnow{top:2rem!important;margin-left:1.4rem;background:var(--bad)!important;box-shadow:0 0 .6rem var(--bad)!important;width:.12rem!important}
.spmsg{color:var(--muted);padding:.7rem 0;display:flex;align-items:center;gap:.6rem}
.splgs{display:flex;flex-direction:column;gap:.45rem;padding-bottom:1rem}
.splr{display:flex;gap:.6rem;align-items:stretch;min-width:0}.splh{width:13rem;flex:none;display:flex;align-items:center;gap:.6rem;background:rgba(255,255,255,.04);border-radius:.6rem;padding:.4rem .7rem;min-width:0}.splh div{display:flex;flex-direction:column;min-width:0}.splh b{font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.splh small{color:var(--muted);font-size:.75rem}.splh .spbl{width:1.6rem;height:1.6rem}
.splp{display:flex;gap:.45rem;overflow-x:auto;flex:1;min-width:0;scrollbar-width:thin;padding:.1rem}
.spp{flex:none;width:12.5rem;text-align:left;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:.6rem;padding:.4rem .6rem;display:flex;flex-direction:column;gap:.15rem}
.spp:focus{outline:0;box-shadow:0 0 0 .16rem #fff}.spp.live{border-color:rgba(255,77,106,.5)}.spp.notv{opacity:.5}.spp.mine{box-shadow:inset .2rem 0 0 var(--accent2)}.spp.pk{border-color:var(--accent2)}
.sppt{display:flex;align-items:center;gap:.4rem;font-size:.88rem;min-width:0}.sppt span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#cfd1e6}.sppt b{font-weight:800}.sppt.win span,.sppt.win b{color:#fff;font-weight:800}.sppt .spb{width:1.1rem;height:1.1rem}
.sppf{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}.sppf i{font-style:normal;font-weight:700}
.spbot{flex:none;padding:.3rem 1.4rem 0}.spbot:empty{display:none}.spbh{font-size:.8rem;color:var(--muted);padding:.2rem 0 .35rem}
.spstrip2{display:flex;gap:.45rem;overflow-x:auto;padding:.1rem .1rem .5rem;scrollbar-width:thin}
.spsc{flex:none;width:11.5rem;text-align:left;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:.6rem;padding:.35rem .55rem;display:flex;flex-direction:column;gap:.1rem}.spsc small{font-size:.7rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spsc:focus{outline:0;box-shadow:0 0 0 .16rem #fff}.spsc.on{border-color:var(--accent2)}
.spsl{display:flex;align-items:center;gap:.35rem;font-size:.82rem;min-width:0}.spsl span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spsl .spb{width:1rem;height:1rem}
.spsf{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted)}.spsf i{font-style:normal;color:var(--bad);font-weight:700}
.sptray{display:flex;gap:.5rem;padding-bottom:.5rem;align-items:stretch}.spts{flex:1;min-width:0;text-align:left;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:.6rem;padding:.45rem .7rem;display:flex;flex-direction:column;position:relative}.spts .no{position:absolute;right:.4rem;top:.3rem;background:var(--accent2);color:#04121a;border-radius:.3rem;font-size:.7rem;font-weight:800;padding:0 .35rem}.spts b{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spts small{color:var(--muted);font-size:.75rem}.spts.empty{border-style:dashed;color:var(--muted);align-items:center;justify-content:center;font-size:.8rem}
.spgo{flex:none;width:11rem;border-radius:.6rem;background:var(--grad);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.spgo[disabled]{opacity:.45}.spgo small{font-size:.75rem}
#sphint{padding:.35rem 1.4rem;font-size:.8rem;gap:1.2rem}
.spov{position:fixed;z-index:16;pointer-events:none;border-radius:1.1rem;overflow:hidden}
.spovt{position:absolute;left:.6rem;top:.6rem;background:rgba(0,0,0,.65);border-radius:.4rem;padding:.15rem .5rem;font-size:.8rem;font-weight:700;max-width:85%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spovt b{background:var(--bad);border-radius:.25rem;padding:0 .3rem;margin-right:.35rem}
.spovm{position:absolute;left:.6rem;right:.6rem;top:2.3rem;background:var(--accent2);color:#04121a;border-radius:.5rem;padding:.5rem .7rem;font-size:.88rem;font-weight:700}
.spovs{position:absolute;left:.6rem;bottom:.6rem;display:flex;align-items:center;gap:.4rem;background:rgba(0,0,0,.72);border-radius:.45rem;padding:.25rem .55rem;font-weight:800;font-size:.95rem}.spovs .spb{width:1.2rem;height:1.2rem}.spovs i{font-style:normal;color:var(--bad)}
.mvlab .mvno{background:var(--accent2);color:#04121a;border-radius:.3rem;padding:0 .4rem;font-weight:800}
@media (max-width:900px){
  .spx{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);--spcw:8.5rem}
  .spside{display:flex;overflow-x:auto;padding:.4rem;gap:.3rem;border-right:0;border-bottom:1px solid var(--line)}.spside .sec,.spnote{display:none}.spsi{width:auto;flex:none;white-space:nowrap;padding:.45rem .7rem}
  .sptop{padding:.5rem .7rem .3rem;gap:.6rem}.sptop .pvslot{width:42%;max-width:14rem}.spinfo{padding:.5rem .6rem}.spteam img,.spini{width:2.2rem;height:2.2rem}.spteam b{font-size:.8rem}.spbig{font-size:1.6rem}.spbig.sm{font-size:1.1rem}.spnt,.spchips{display:none}.spvs{gap:.4rem;margin:.3rem 0}
  .spdaybar{padding:0 .7rem .4rem;overflow-x:auto}.spdh2,#sphint{display:none}.spbody{padding:0 .7rem}.spbody.guide{padding-left:.7rem}.spnow{margin-left:.7rem}
  .spr .gc .chip{display:none}.splr{flex-direction:column;gap:.3rem}.splh{width:auto}.spp{width:10.5rem}.spsc{width:9.5rem}
}
.spdaybar .chipb svg{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:2;vertical-align:-.15rem;margin-right:.3rem}.spdaybar #spfind svg{margin:0}
.spdaybar .chipb{white-space:nowrap;flex:none}
@media (max-width:900px){.sptray .spts.empty{display:none}.sptray{flex-wrap:wrap}.spts{flex:1 1 40%}.spgo{width:auto;flex:1 1 40%;padding:.4rem}.sptray .chipb{flex:none}#sphide{font-size:0}#sphide svg{margin:0;width:1.1rem;height:1.1rem}.spbh{font-size:.72rem}}
.mvpick .mvc{flex-direction:column;align-items:flex-start;gap:.1rem}.mvpick .mvc .t{white-space:normal}.mvpick .mvc small{color:var(--muted)}
/* 0.7.2: full-screen score panel + Versions */
#player .spfs{position:absolute;left:3rem;top:6.2rem;z-index:6;display:none;align-items:stretch;gap:.6rem;pointer-events:auto}
#player.full .spfs.game.peek,#player.full.ui .spfs.game{display:flex}
.spfsc{display:flex;align-items:center;gap:.55rem;background:rgba(8,8,16,.82);border:1px solid var(--line);border-radius:.8rem;padding:.55rem .9rem;font-size:1.25rem}.spfsc b{font-weight:800}.spfsc i{font-style:normal;color:var(--bad);font-weight:800}.spfsc .spb{width:1.6rem;height:1.6rem}
.spfsf{font-size:.85rem;color:var(--muted);border-left:1px solid var(--line);padding-left:.6rem;max-width:22rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spver{display:flex;align-items:center;gap:.5rem;background:rgba(8,8,16,.82);border:1px solid var(--line);border-radius:.8rem;padding:.4rem .9rem;color:#fff;text-align:left}.spver svg{width:1.5rem;height:1.5rem;stroke:currentColor;fill:none;stroke-width:1.8;flex:none}.spver b{font-size:1rem}.spver small{font-size:.75rem;color:var(--muted);display:block}
.spver{flex-wrap:wrap;max-width:12rem}.spver b{flex:1}.spver small{flex-basis:100%;margin-left:2rem;margin-top:-.2rem}
.spver:focus,.spver:hover{background:#fff;color:#0b0b14;outline:0}.spver:focus small,.spver:hover small{color:#555}
@media (max-width:900px){#player .spfs{left:.8rem;top:4.5rem}.spfsc{font-size:.95rem}.spfsf{display:none}}

/* 0.8.0: update ready */
.updbar{position:fixed;left:50%;bottom:1.4rem;transform:translateX(-50%);z-index:90;display:flex;align-items:center;gap:.8rem;background:rgba(14,14,26,.97);border:1px solid var(--line);border-radius:1rem;padding:.7rem 1rem .7rem 1.3rem;font-size:1rem;box-shadow:0 .8rem 2.5rem rgba(0,0,0,.6)}
#player.full ~ .updbar{bottom:auto;top:1.2rem}

/* 0.8.1 colour themes + screensaver (Settings) */
.seg{display:flex;flex-wrap:wrap;gap:.45rem;margin:.6rem 0}
.segb{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .8rem;border-radius:.6rem;background:var(--panel2);border:1px solid var(--line);font-size:1rem;font-weight:600}
.segb.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.segb .sw{width:1rem;height:1rem;border-radius:50%;display:inline-block;border:1px solid rgba(255,255,255,.35)}
.saver{position:fixed;inset:0;z-index:9999;background:#000;cursor:none}
.saver .svc{position:absolute;display:flex;flex-direction:column;align-items:center;gap:.3rem;transition:left 1.6s ease,top 1.6s ease}
.saver .svc b{font-size:6.5rem;font-weight:800;color:rgba(242,243,250,.82);letter-spacing:-.02em;line-height:1}
.saver .svc span{font-size:1.3rem;color:var(--muted)}
.saver .svc i{font-style:normal;font-size:1rem;font-weight:700;color:var(--accent);opacity:.7;margin-top:.4rem}
#clcst{margin-top:.5rem}
/* 0.8.3 menu manager + tour */
.mml{display:flex;flex-direction:column;gap:.35rem}
.mmr{display:flex;align-items:center;gap:.45rem;padding:.25rem .4rem;border-radius:.6rem;background:rgba(255,255,255,.03)}
.mmr.off .mmn,.mmr.off .mmi{opacity:.4}
.mmi{display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;flex:none}.mmi svg{width:1.5rem;height:1.5rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.mmn{flex:1;font-size:.95rem}
.mmr .btn.sm{padding:.3rem .6rem;min-width:2.2rem}.mmr .btn[disabled]{opacity:.25;pointer-events:none}
.mmfx{font-size:.8rem;color:#8e90a8;padding:0 .5rem}
.tourhi{outline:3px solid var(--accent,#7c5cff)!important;outline-offset:4px;border-radius:.8rem;position:relative;z-index:61}
/* 0.8.4 combined playlists */
.epfrom{display:inline-block;margin-left:.5rem;padding:.05rem .45rem;border-radius:.4rem;font-size:.72rem;font-weight:700;background:rgba(255,255,255,.1);color:var(--muted);vertical-align:middle}
/* 0.8.6 desktop app */
.deskplay .card{max-width:34rem}.deskplay h3{margin-bottom:.2rem}
/* 0.8.9 Premium extras: mini guide over the picture, programme search */
.dlg.mgdlg{z-index:70;place-items:center end;background:rgba(0,0,0,.35)}
.dlg.mgdlg .card{width:min(34rem,94vw);max-width:none;min-width:0;height:min(88vh,52rem);display:flex;flex-direction:column;margin-right:2rem}
.minig{flex:1;overflow:auto;margin:0 -.4rem .6rem;padding:0 .4rem}
.mgr{display:flex;align-items:center;gap:.8rem;width:100%;padding:.55rem .7rem;border-radius:.8rem;background:none;border:2px solid transparent;color:var(--text);text-align:left;position:relative;cursor:pointer}
.mgr .no{flex:0 0 2.6rem;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:.95rem}
.mgr .mgt{min-width:0;flex:1;display:flex;flex-direction:column}
.mgr .mgt b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1.02rem}
.mgr .mgt small{color:#cfd1e6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem;display:flex;flex-direction:column}
.mgr .mgt em{font-style:normal;color:var(--muted);font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mgr .mgp{position:absolute;left:4.1rem;right:.7rem;bottom:.25rem;height:2px;background:rgba(255,255,255,.08)}
.mgr .mgp::after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--f);background:var(--accent2)}
.mgr.on{background:rgba(0,224,255,.08)}.mgr:focus,.mgr:hover{border-color:#fff;outline:0;background:rgba(255,255,255,.06)}
.cuit{display:flex;flex-wrap:wrap;gap:.2rem .8rem;align-items:center}.cuit .t{flex:1 1 60%}.cuit small{color:var(--muted);flex:1 1 100%;order:3}.cuit b{font-size:.75rem;letter-spacing:.1em}.cuit b.mut{color:var(--muted)}
.mgr:focus .mgt small,.mgr:focus .no{color:#2a2c40}.mgr:focus .mgt em{color:#555870}
/* 0.8.10 guide day buttons (Premium bigger guide) */
.gh .l{display:flex;align-items:center;gap:.4rem;white-space:nowrap;overflow:hidden}
.gdnav{display:flex;gap:.25rem;margin-left:auto;padding-right:.5rem}
.gdb{width:1.9rem;height:1.9rem;border-radius:.5rem;border:1px solid var(--line);background:rgba(255,255,255,.06);color:#fff;font-size:1.15rem;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}
.gdb:hover{background:rgba(255,255,255,.16)}
