*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:root{--bg:#0b0a10;--s1:#15131c;--s2:#1e1b27;--tx:#f5f3fa;--mu:#9a96a8;--ln:#2a2733;--r:14px}
html,body{margin:0;height:100%;background:#050409;color:var(--tx);font:15px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;overscroll-behavior:none}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;padding:0}
img{display:block}
#app{position:relative;max-width:480px;height:100%;height:100dvh;margin:0 auto;background:var(--bg);overflow:hidden}
@media(min-width:520px){#app{box-shadow:0 0 0 1px var(--ln),0 20px 80px #000a}}
#view{position:absolute;inset:0 0 calc(62px + env(safe-area-inset-bottom)) 0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}
#view::-webkit-scrollbar{display:none}
body.noTabs #view{bottom:0}body.noTabs #tabs{display:none}
/* splash */
#splash{position:absolute;inset:0;z-index:99;background:var(--sbg);display:flex;align-items:center;justify-content:center;transition:opacity .45s}
#splash.hide{opacity:0;pointer-events:none}
.sp-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sp-in{position:relative;text-align:center;padding:24px}
.sp-logo{width:96px;height:96px;object-fit:contain;margin:0;border-radius:22px;position:relative;z-index:1;
  animation:sp-pop .7s cubic-bezier(.34,1.56,.64,1) both, sp-glow 2.4s ease-in-out .7s infinite alternate;}
.sp-mark{width:88px;height:88px;border-radius:24px;margin:0;display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:800;
  background:linear-gradient(135deg,var(--c1),var(--c2));position:relative;z-index:1;
  animation:sp-pop .7s cubic-bezier(.34,1.56,.64,1) both, sp-glow 2.4s ease-in-out .7s infinite alternate;}
.sp-logo-wrap{position:relative;width:116px;height:116px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center}
.sp-ring{position:absolute;inset:0;border-radius:30px;padding:2px;
  background:conic-gradient(from 0deg,var(--c1),var(--c2),var(--c1));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  animation:sp-spin 2.6s linear infinite, sp-fade .7s ease both;opacity:0}
.sp-ring2{inset:-10px;border-radius:36px;opacity:.5;animation:sp-spin 3.6s linear infinite reverse, sp-fade .7s ease .1s both}
@keyframes sp-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08);opacity:1}100%{transform:scale(1)}}
@keyframes sp-glow{from{filter:drop-shadow(0 0 0 rgba(124,77,255,0))}to{filter:drop-shadow(0 0 20px rgba(124,77,255,.6))}}
@keyframes sp-spin{to{transform:rotate(360deg)}}
@keyframes sp-fade{from{opacity:0}to{opacity:1}}
.sp-name{font-size:26px;font-weight:800;letter-spacing:-.5px;text-shadow:0 2px 12px #000a}.sp-tag{color:var(--mu);margin-top:4px;text-shadow:0 2px 12px #000a}
/* tabs */
#tabs{position:absolute;left:0;right:0;bottom:0;height:calc(62px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;background:rgba(14,12,20,.96);backdrop-filter:blur(14px);border-top:1px solid var(--ln);z-index:20}
#tabs a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;color:var(--mu)}
#tabs a.on{color:var(--tx)}#tabs a.on svg{stroke:var(--c1)}
svg.i{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
svg.i.f{fill:currentColor;stroke:none}
/* top bar */
.bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(var(--bg) 60%,transparent)}
.bar .lg{display:flex;align-items:center;gap:9px;flex:1;min-width:0}
.bar .lg img{width:32px;height:32px;border-radius:9px;object-fit:contain}
.bar .lg .mk{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--c1),var(--c2));display:flex;align-items:center;justify-content:center;font-weight:800}
.bar b{font-size:18px;letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ib{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--s1)}
.hb-pts{width:auto;border-radius:999px;padding:0 10px;gap:4px;font-size:12.5px;font-weight:800;color:#ffc857}
.hb-pts svg{width:17px;height:17px;stroke:#ffc857}
.hb-vip{width:auto;border-radius:999px;padding:0 11px;gap:3px;font-size:12px;font-weight:800;background:linear-gradient(135deg,var(--c1),var(--c2));color:#fff}
.hb-vip svg{width:15px;height:15px;fill:#fff;stroke:none}
.hb-vip.on{background:linear-gradient(135deg,#ffd76a,#ff9f43);color:#3a2400}
.hb-vip.on svg{fill:#3a2400}
/* hero */
.hero{position:relative}
.hero-t{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.hero-t::-webkit-scrollbar{display:none}
.hs{flex:0 0 100%;scroll-snap-align:start;position:relative;height:min(64vh,470px);min-height:340px}
.hs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hs:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0b0a1000 30%,#0b0a10cc 72%,var(--bg))}
.hs .in{position:absolute;left:16px;right:16px;bottom:34px;z-index:2}
.hs h2{margin:0 0 6px;font-size:26px;line-height:1.12;letter-spacing:-.6px;text-shadow:0 2px 14px #000c}
.hs .meta{color:#d8d4e4;font-size:13px;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:6px;z-index:3}
.dots i{width:6px;height:6px;border-radius:9px;background:#fff5;transition:.25s}.dots i.on{width:18px;background:var(--c1)}
.btns{display:flex;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 20px;border-radius:999px;font-weight:700;background:linear-gradient(135deg,var(--c1),var(--c2));color:#fff}
.btn.g{background:#ffffff1f;backdrop-filter:blur(8px)}.btn.sm{padding:8px 14px;font-size:13px}.btn.w{width:100%}
/* chips */
.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 16px 10px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}
.chip{flex:none;padding:8px 15px;border-radius:999px;background:var(--s1);border:1px solid var(--ln);font-size:13px;color:#d7d3e3}
.chip.on{background:var(--c1);border-color:var(--c1);color:#fff}
/* rows & cards */
.sec{margin:18px 0 6px}.sec h3{margin:0 16px 10px;font-size:18px;letter-spacing:-.3px}
.row{display:flex;gap:11px;overflow-x:auto;padding:0 16px 4px;scrollbar-width:none;scroll-snap-type:x proximity}.row::-webkit-scrollbar{display:none}
.card{display:block;flex:none;width:118px;scroll-snap-align:start}.card b{display:block;margin-top:7px;font-size:13px;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.poster{position:relative;aspect-ratio:3/4;border-radius:12px;overflow:hidden;background:var(--s2)}
.poster img{width:100%;height:100%;object-fit:cover}
.eps{position:absolute;left:6px;bottom:6px;background:#000a;backdrop-filter:blur(4px);padding:2px 7px;border-radius:7px;font-size:11px;font-weight:600}
.row.ranked .card{width:132px;padding-left:22px;position:relative}
.rank{position:absolute;left:-22px;bottom:-6px;font-size:64px;font-weight:900;line-height:1;color:var(--bg);-webkit-text-stroke:2px #ffffff88;text-shadow:none;z-index:2;font-style:italic}
.row.ranked .poster{border-radius:10px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 10px;padding:0 16px}.grid .card{width:auto}
.empty{padding:60px 30px;text-align:center;color:var(--mu)}.empty p{margin:6px 0 0}
.ann{margin:4px 16px 8px;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,#ff2d7222,#7c4dff22);border:1px solid #ff2d7255;display:flex;gap:10px;align-items:flex-start}
.ann b{display:block}.ann span{color:#d3cfe0;font-size:13px}.ann button{margin-left:auto;color:var(--mu);font-size:18px;line-height:1}
.bn{margin:16px;border-radius:12px;overflow:hidden;background:var(--s1);min-height:60px;position:relative}.bn img{width:100%}.bn iframe{width:100%;height:100px;border:0;background:#fff}.bn small{position:absolute;right:6px;top:4px;background:#000a;padding:1px 6px;border-radius:5px;font-size:10px}
/* search */
.sbox{display:flex;align-items:center;gap:8px;margin:0 16px 10px;padding:0 14px;background:var(--s1);border:1px solid var(--ln);border-radius:999px}
.sbox input{flex:1;background:none;border:0;outline:0;color:var(--tx);padding:13px 0;font-size:15px}
.seg{display:flex;margin:0 16px 14px;background:var(--s1);border-radius:999px;padding:4px}.seg button{flex:1;padding:9px;border-radius:999px;color:var(--mu);font-weight:600}.seg button.on{background:var(--s2);color:var(--tx)}
/* detail */
.dh{position:relative;padding:14px 16px 6px;overflow:hidden}
.dh .bg{position:absolute;inset:-30px;background-size:cover;background-position:center;filter:blur(38px) brightness(.5);z-index:0}
.dh>*:not(.bg){position:relative;z-index:1}
.dtop{display:flex;justify-content:space-between;margin-bottom:12px}
.dm{display:flex;gap:14px}.dm .poster{width:120px;flex:none}.dm h1{margin:0 0 6px;font-size:21px;line-height:1.15;letter-spacing:-.4px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.tags span{font-size:11px;background:#ffffff1c;padding:3px 9px;border-radius:999px}
.syn{margin:14px 16px 4px;color:#cfcbdb;font-size:14px}.syn.c{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.more{margin:0 16px;color:var(--c1);font-size:13px;font-weight:600}
.eg{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;padding:0 16px 30px}
.en{position:relative;aspect-ratio:1.15;border-radius:11px;background:var(--s1);border:1px solid var(--ln);display:flex;align-items:center;justify-content:center;font-weight:700}
.en.cur{border-color:var(--c1);color:var(--c1)}.en svg{position:absolute;right:4px;top:4px;width:12px;height:12px;stroke:#ffc857}
/* profile */
.pc{margin:6px 16px 14px;background:var(--s1);border:1px solid var(--ln);border-radius:16px;padding:16px}
.av{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--c1),var(--c2));display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;flex:none}
.av.lg{width:64px;height:64px;font-size:26px}
.av.gray{background:var(--s1)}.av.gray svg{width:28px;height:28px;stroke:var(--mu)}
.pf-row{display:flex;align-items:center;gap:14px;padding:6px 16px 18px}
.pf-mid{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.pf-mid b{font-size:17px}.pf-mid small{color:var(--mu)}
.signin-btn{flex:none;border:1px solid var(--c1);color:var(--c1);background:none;padding:7px 14px;border-radius:999px;font-weight:700;font-size:12.5px}
.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;background:#ffc85722;color:#ffc857}
.vip-banner{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#ffd76a2e,#ff9f432e);border-color:#ffc85755;flex-wrap:wrap}
.vip-banner svg{width:26px;height:26px;fill:#ffc857;stroke:none;flex:none}
.vip-banner-mid{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}
.vip-banner-mid small{color:var(--mu)}
.vip-act{flex:none;background:#ffc857;color:#3a2400;font-weight:800;font-size:12px;padding:7px 14px;border-radius:999px}
.vip-banner.active .vip-act{background:none;border:1px solid #ffc857;color:#ffc857}
.vb-mini{flex:0 0 100%;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:4px;padding-top:12px;border-top:1px solid #ffc85733}
.vb-i{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10.5px;color:var(--mu);text-align:center}
.vb-i svg{width:18px;height:18px;stroke:#ffc857}
.lk-v{color:#ffc857;font-weight:700;font-size:12.5px}
.pf-row .badge{display:flex;align-items:center;gap:4px;flex:none}
.pf-row .badge svg{width:13px;height:13px;fill:#ffc857;stroke:none}
.prem-banner{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#ffd76a22,#ff9f4322);border-color:#ffc85755}
.prem-banner svg{width:26px;height:26px;fill:#ffc857;stroke:none;flex:none}
.prem-banner div{flex:1;display:flex;flex-direction:column;gap:1px}
.prem-banner small{color:var(--mu)}
.prem-banner .go{font-weight:800;color:#ffc857}
.acct-card{padding-bottom:10px}
.acct-stats{display:flex;margin-top:10px}
.acct-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0}
.acct-stat b{font-size:18px}.acct-stat small{color:var(--mu);font-size:11.5px}
.acct-stat:first-child{border-right:1px solid var(--ln)}
.row-list{padding:4px 16px}
.ver{text-align:center;color:var(--mu);font-size:11.5px;padding:6px 0 30px}
.pb{position:fixed;left:12px;right:12px;bottom:calc(70px + env(safe-area-inset-bottom));z-index:60;background:var(--s1);border:1px solid var(--ln);border-radius:16px;padding:12px;display:flex;align-items:center;gap:10px;box-shadow:0 8px 24px #0007;animation:pp-in .3s ease both}
.pb-ic{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--c1),var(--c2));display:flex;align-items:center;justify-content:center;flex:none}
.pb-ic svg{width:19px;height:19px;stroke:#fff}
.pb-mid{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}
.pb-mid small{color:var(--mu);font-size:11px}
.pb-x{background:none;border:none;color:var(--mu);font-size:20px;padding:0 2px}
.fl{display:block;font-size:12.5px;color:var(--mu);font-weight:600}
.inp{width:100%;padding:13px 14px;margin-bottom:10px;background:var(--bg);border:1px solid var(--ln);border-radius:12px;color:var(--tx);font-size:15px;outline:0}.inp:focus{border-color:var(--c1)}
.pl{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid var(--ln)}.pl:first-child{border:0}
.prem-hero{background:linear-gradient(135deg,var(--c1)22,var(--c2)22);border-color:var(--c1)44}
.prem-badge{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--c1),var(--c2));display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.prem-badge svg{width:24px;height:24px;fill:#fff;stroke:none}
.prem-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}
.prem-list li{display:flex;align-items:center;gap:8px;font-size:13.5px}
.prem-list svg{width:16px;height:16px;flex:none;stroke:var(--c1);stroke-width:3}
.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.plan-card{position:relative;background:var(--bg);border:1px solid var(--ln);border-radius:14px;padding:14px 12px;display:flex;flex-direction:column;gap:8px}
.plan-card.best{border-color:var(--c1)}
.plan-tag{position:absolute;top:-10px;left:10px;background:var(--c1);color:#fff;font-size:10px;font-weight:800;padding:2px 8px;border-radius:999px}
.plan-name{font-weight:700;font-size:13.5px}
.plan-price{font-size:20px;font-weight:800}.plan-price small{font-size:11px;font-weight:600;color:var(--mu)}
.plan-desc{font-size:12px;color:var(--mu);margin:0;flex:1}
.plan-feat{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}
.plan-feat li{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--mu)}
.plan-feat svg{width:13px;height:13px;flex:none;stroke:var(--c1);stroke-width:3}
.rw-tabs{display:flex;gap:6px;margin:2px 16px 12px;background:var(--s1);border-radius:12px;padding:4px}
.rw-tabs a{flex:1;text-align:center;padding:9px 0;border-radius:9px;font-size:13.5px;font-weight:700;color:var(--mu)}
.rw-tabs a.on{background:linear-gradient(135deg,var(--c1),var(--c2));color:#fff}
.ci-row{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:12px}
.ci-d{background:var(--bg);border:1px solid var(--ln);border-radius:12px;padding:8px 4px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px;opacity:.55}
.ci-d svg{width:16px;height:16px;stroke:#ffc857}
.ci-d b{font-size:11px}.ci-d small{font-size:9.5px;color:var(--mu)}
.ci-d.done{opacity:1;border-color:transparent;background:linear-gradient(160deg,var(--c1),var(--c2));position:relative}
.ci-d.done svg{stroke:#fff}
.ci-d.done b,.ci-d.done small{color:#fff}
.ci-d.done::after{content:'✓';position:absolute;top:3px;right:5px;font-size:9px;color:#fff;opacity:.85}
.ci-d.next{opacity:1;border-color:var(--c1);box-shadow:0 0 0 1px var(--c1),0 0 14px var(--c1)55}
.tk-list{display:flex;flex-direction:column;margin-top:10px}
.tk-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--ln)}.tk-row:first-child{border:0}
.tk-ic{font-size:22px;width:36px;text-align:center;flex:none}
.tk-mid{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.tk-mid small{color:var(--mu);font-size:11.5px}
.rd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.rd-card{background:var(--bg);border:1px solid var(--ln);border-radius:14px;padding:14px 6px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.rd-card b{font-size:12px}
.rd-card span{display:flex;align-items:center;gap:3px;font-size:11px;color:#ffc857;font-weight:700}
.rd-card span svg{width:13px;height:13px;stroke:#ffc857}
.vip-top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(var(--bg) 70%,transparent)}
.vip-top b{font-size:16px}
.vip-top span{width:38px}
.vip-scroll{display:flex;gap:12px;overflow-x:auto;padding:4px 16px 16px;scroll-snap-type:x mandatory}
.vip-scroll::-webkit-scrollbar{display:none}
.vip-card{position:relative;flex:0 0 82%;scroll-snap-align:start;background:linear-gradient(135deg,var(--c1)26,var(--c2)26);border:1px solid var(--c1)44;border-radius:18px;padding:18px 16px;display:flex;flex-direction:column;gap:6px}
.vip-card.best{border-color:var(--c1)}
.vip-card-name{font-size:15px}
.vip-card-price{font-size:26px;font-weight:800}
.vip-card-price small{font-size:12px;font-weight:600;color:var(--mu);margin-left:4px}
.vip-card-desc{font-size:12.5px;color:var(--mu);margin:0;flex:1}
.vip-card .btn{margin-top:8px}
.vip-bgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
.vip-b{display:flex;align-items:center;gap:10px;font-size:13px}
.vip-bi{width:38px;height:38px;border-radius:50%;background:var(--bg);display:flex;align-items:center;justify-content:center;flex:none}
.vip-bi svg{width:19px;height:19px;stroke:var(--c1)}
.lk{display:flex;justify-content:space-between;padding:14px 4px;border-top:1px solid var(--ln)}
.err{color:#ff6b7f;font-size:13px;margin:0 0 10px}
/* player */
.player{position:absolute;inset:0;z-index:40;background:#000}
.pl-feed{position:absolute;inset:0;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior:contain}.pl-feed::-webkit-scrollbar{display:none}
.pl-slide{position:relative;height:100%;scroll-snap-align:start;scroll-snap-stop:always;background:#000;overflow:hidden}
.pl-slide video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.pl-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#000a,#0000 22%,#0000 62%,#000c);transition:opacity .4s}
.pl-wm{position:absolute;top:calc(14px + env(safe-area-inset-top));left:12px;z-index:4;display:flex;align-items:center;gap:6px;pointer-events:none;opacity:.82;filter:drop-shadow(0 1px 4px #000c);transition:opacity .4s}
.pl-wm img{width:22px;height:22px;border-radius:6px;object-fit:cover}
.pl-wm span{font-size:12px;font-weight:800;letter-spacing:.2px;color:#fff}
.pl-wm-text{background:#00000055;padding:4px 9px;border-radius:20px}
.pl-top{position:absolute;left:0;right:0;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 12px 10px;transition:opacity .4s}
.pl-top .ib{background:#0008}.pl-title{font-weight:700;text-shadow:0 1px 8px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-side{position:absolute;right:10px;bottom:150px;z-index:5;display:flex;flex-direction:column;gap:18px;align-items:center;transition:opacity .4s}
.pl-slide.clean .pl-top,.pl-slide.clean .pl-side,.pl-slide.clean .pl-wm,.pl-slide.clean .pl-shade,.pl-slide.clean .pl-bot{opacity:0;pointer-events:none}
.pl-side button{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:600;text-shadow:0 1px 6px #000}
.pl-side .ci{width:46px;height:46px;border-radius:50%;background:#0007;display:flex;align-items:center;justify-content:center}.pl-side svg{width:25px;height:25px}
.pl-side .fav.on svg{fill:var(--c1);stroke:var(--c1)}
.pl-bot{position:absolute;left:0;right:64px;bottom:0;z-index:5;padding:0 16px calc(18px + env(safe-area-inset-bottom));transition:opacity .4s}
.pl-ep{font-size:13px;font-weight:700;color:#fff;background:var(--c1);display:inline-block;padding:2px 9px;border-radius:7px;margin-bottom:6px}
.pl-name{font-weight:700;font-size:16px;text-shadow:0 1px 8px #000}
.pl-bar{position:absolute;left:0;right:0;bottom:calc(0px + env(safe-area-inset-bottom));height:22px;z-index:6;display:flex;align-items:flex-end}
.pl-bar i{display:block;height:3px;width:100%;background:#fff3;position:relative}.pl-bar b{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--c1)}
.pl-flash{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px;border-radius:50%;background:#0009;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.7);transition:.25s;pointer-events:none;z-index:4}.pl-flash svg{width:34px;height:34px}
.pl-flash.show{opacity:1;transform:scale(1)}
.pl-msg{position:absolute;inset:0;z-index:7;display:flex;align-items:center;justify-content:center;pointer-events:none;text-align:center;padding:30px}.pl-msg>*{pointer-events:auto}
.pl-msg p{margin:0 0 14px;text-shadow:0 1px 8px #000}
.spin{width:38px;height:38px;border-radius:50%;border:3px solid #fff3;border-top-color:var(--c1);animation:sp .8s linear infinite;position:absolute;left:50%;top:50%;margin:-19px;z-index:4;display:none}.loading .spin{display:block}
@keyframes sp{to{transform:rotate(360deg)}}
/* sheets, toast, ads */
.sheet-b{position:absolute;inset:0;z-index:60;background:#000a;display:flex;align-items:flex-end}
.sheet{width:100%;max-height:70%;overflow:auto;background:var(--s1);border-radius:20px 20px 0 0;padding:18px 16px calc(20px + env(safe-area-inset-bottom))}
.sheet h4{margin:0 0 12px;font-size:17px}.sheet .eg{padding:0}
#toast{position:absolute;left:50%;bottom:90px;transform:translateX(-50%);z-index:120;background:#fff;color:#111;padding:10px 16px;border-radius:999px;font-weight:600;font-size:13px;max-width:86%;text-align:center}
.ad{position:absolute;inset:0;z-index:80;background:#000;display:flex;align-items:center;justify-content:center}
.pp{background:rgba(0,0,0,.78);backdrop-filter:blur(3px)}
.pp-card{background:var(--s1);border:1px solid var(--ln);border-radius:22px;overflow:hidden;text-align:center;max-width:310px;margin:0 16px;padding-bottom:22px;animation:pp-in .35s cubic-bezier(.34,1.56,.64,1) both}
@keyframes pp-in{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}
.pp-art{position:relative;height:118px;overflow:hidden;background:linear-gradient(135deg,var(--c1),var(--c2));margin-bottom:16px}
.pp-blob{position:absolute;border-radius:50%;background:#fff2;filter:blur(2px)}
.pp-blob1{width:90px;height:90px;left:-20px;top:-30px}
.pp-blob2{width:70px;height:70px;right:-15px;bottom:-25px}
.pp-spark{position:absolute;color:#fff}
.pp-spark svg{width:14px;height:14px;fill:#fff;stroke:none;opacity:.85}
.pp-spark.s1{left:22px;top:20px}.pp-spark.s2{right:34px;top:38px}.pp-spark.s3{left:44px;bottom:14px}
.pp-crown{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:#ffffff2a;display:flex;align-items:center;justify-content:center;animation:pp-glow 1.8s ease-in-out infinite alternate}
.pp-crown svg{width:32px;height:32px;fill:#fff;stroke:none}
@keyframes pp-glow{from{box-shadow:0 0 0 0 #fff3}to{box-shadow:0 0 0 10px #fff0}}
.pp-tag{display:inline-block;background:#ffc85722;color:#ffc857;font-weight:800;font-size:10.5px;padding:3px 10px;border-radius:999px;margin-bottom:8px}
.pp-h{display:block;font-size:18px;padding:0 20px;margin-bottom:12px}
.pp-list{list-style:none;padding:0 20px;margin:0 0 18px;display:flex;flex-direction:column;gap:8px;text-align:left}
.pp-list li{display:flex;align-items:center;gap:8px;font-size:13px}
.pp-list svg{width:16px;height:16px;flex:none;stroke:var(--c1);stroke-width:3}
.pp-cta{margin:0 20px;width:auto}
.pp-later{display:block;margin:12px auto 0;color:var(--mu);font-size:12.5px;background:none;border:none}
.pp-x{position:absolute;top:calc(14px + env(safe-area-inset-top));right:14px;width:36px;height:36px;border-radius:50%;background:#0007;color:#fff;font-size:22px;line-height:1;border:none;z-index:2}
.ad-tag{position:absolute;left:12px;top:calc(12px + env(safe-area-inset-top));background:#ffc857;color:#111;font-weight:800;font-size:11px;padding:3px 8px;border-radius:6px;z-index:3}
.ad-skip{position:absolute;right:12px;top:calc(12px + env(safe-area-inset-top));z-index:3;background:#000a;border:1px solid #fff5;padding:7px 14px;border-radius:999px;font-weight:600;font-size:13px}
.ad-skip[disabled]{opacity:.7}
.ad img,.ad video{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.ad iframe{width:100%;height:100%;border:0;background:#fff}
.center{min-height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;flex-direction:column}
.center h2{margin:12px 0 6px}.center p{color:var(--mu);margin:0 0 16px}
.sk{margin:16px}.sk i{display:block;height:170px;border-radius:14px;background:linear-gradient(90deg,var(--s1),var(--s2),var(--s1));background-size:200% 100%;animation:sh 1.2s infinite;margin-bottom:12px}@keyframes sh{to{background-position:-200% 0}}
