/* Pickup v1 — liquid glass, light blue + dark blue. Blur only on top bar, bottom bar and sheets (smooth on low-end phones). */
:root{
  --bg1:#eaf4ff;--bg2:#d4e8ff;--ink:#0b2552;--ink2:#3a5683;--mut:#6b82a8;--acc:#1667f0;--acc2:#0a3fa8;--acc-rgb:22,103,240;
  --glass:rgba(255,255,255,.34);--glass2:rgba(220,238,255,.55);--edge:rgba(255,255,255,.85);--line:rgba(11,37,82,.09);
  --bub:rgba(190,224,255,.42);--soul:#ff7a3d;--r:16px;--nav-h:62px;--top-h:56px;
  --sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",sans-serif;color:var(--ink);font-size:15px;line-height:1.35;
  background:radial-gradient(120% 60% at 100% 0%,#c8e2ff 0%,rgba(200,226,255,0) 60%),radial-gradient(90% 50% at 0% 100%,#cfe3ff 0%,rgba(207,227,255,0) 60%),linear-gradient(180deg,var(--bg1),var(--bg2));
  background-attachment:fixed;overscroll-behavior-y:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,textarea,select{font:inherit;color:var(--ink)}
img,video{display:block;max-width:100%}
.hide{display:none!important}
.muted{color:var(--mut)}.small{font-size:13px}.tiny{font-size:12px}
.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.clamp1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

#splash{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:linear-gradient(180deg,#2f8cff,#0a4fd6);color:#fff;z-index:999;transition:opacity .3s}
#splash img{width:84px;height:84px;border-radius:22px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
#splash b{font-size:24px;letter-spacing:.02em}
#splash.out{opacity:0;pointer-events:none}

/* ---------- glass primitives ---------- */
.glass{background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.22));border:1px solid var(--edge);
  box-shadow:inset 0 1px 1px #fff,inset 0 -6px 14px rgba(120,180,255,.14),0 6px 18px rgba(20,70,150,.10)}
.blur{-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%)}
html.lite .blur{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html.lite .topbar,html.lite .bnav,html.lite .sheet{background:rgba(236,246,255,.96)!important}
.card{background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,.34));border:1px solid rgba(255,255,255,.9);border-radius:var(--r);
  box-shadow:inset 0 1px 0 #fff,0 4px 14px rgba(20,70,150,.07);padding:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:999px;font-weight:700;font-size:15px;
  color:#fff;background:linear-gradient(180deg,#3d8bff,#0f56da);border:1px solid rgba(255,255,255,.55);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.7),inset 0 -4px 10px rgba(0,30,120,.25),0 6px 16px rgba(22,103,240,.28);white-space:nowrap}
.btn.block{display:flex;width:100%}
.btn.ghost{color:var(--ink);background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(214,234,255,.5));border:1px solid #fff;box-shadow:inset 0 1px 1px #fff,0 3px 10px rgba(20,70,150,.10)}
.btn.sm{height:34px;padding:0 14px;font-size:14px}
.btn.danger{background:linear-gradient(180deg,#ff6b6b,#d93636)}
.btn:disabled{opacity:.55}
.btn:active,.chip:active,.ibtn:active,.act:active{transform:scale(.96)}
.ibtn{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none;position:relative}
.ibtn svg{width:22px;height:22px}
.ibtn .dot{position:absolute;top:6px;right:6px;min-width:16px;height:16px;border-radius:9px;background:#ff3b5c;color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid #eaf4ff}
.chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:999px;font-weight:600;font-size:14px;white-space:nowrap;
  background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,255,255,.28));border:1px solid rgba(255,255,255,.95);box-shadow:inset 0 1px 0 #fff,0 2px 8px rgba(20,70,150,.07)}
.chip.on{color:#fff;background:linear-gradient(180deg,#2d6fe0,#0b2f7a);border-color:rgba(255,255,255,.5)}
.input{width:100%;height:46px;border-radius:14px;padding:0 14px;border:1px solid rgba(255,255,255,.95);background:rgba(255,255,255,.62);outline:none;
  box-shadow:inset 0 1px 3px rgba(20,70,150,.10)}
textarea.input{height:auto;min-height:90px;padding:12px 14px;resize:vertical}
.input:focus{border-color:rgba(var(--acc-rgb),.6);box-shadow:0 0 0 3px rgba(var(--acc-rgb),.15)}
label.field{display:block;margin:0 0 12px}label.field>span{display:block;font-size:13px;font-weight:700;color:var(--ink2);margin:0 0 6px 4px}
.err{color:#c62828;font-size:14px;min-height:18px;margin:4px 2px 8px}
.av{border-radius:50%;object-fit:cover;flex:none;background:linear-gradient(135deg,#7fb6ff,#1667f0);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;overflow:hidden}
.av img{width:100%;height:100%;object-fit:cover}
.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.grow{flex:1;min-width:0}
.spin{width:30px;height:30px;border:3px solid rgba(var(--acc-rgb),.2);border-top-color:var(--acc);border-radius:50%;animation:sp 0.8s linear infinite;margin:40px auto}
@keyframes sp{to{transform:rotate(360deg)}}
.empty{text-align:center;color:var(--mut);padding:40px 20px}
.empty svg{width:54px;height:54px;color:#8fb3e8;margin:0 auto 10px}
.empty b{display:block;color:var(--ink);font-size:17px;margin-bottom:4px}

/* ---------- layout ---------- */
#app{min-height:100%}
.view{padding:calc(var(--top-h) + var(--sat) + 4px) 0 calc(var(--nav-h) + var(--sab) + 28px);max-width:860px;margin:0 auto}
.view.notop{padding-top:calc(var(--sat) + 10px)}
.pad{padding:0 14px}
h1{font-size:22px;margin:6px 0 12px}h2{font-size:18px;margin:18px 0 10px}h3{font-size:16px;margin:0 0 8px}

/* top bar */
.topbar{position:fixed;top:0;left:0;right:0;z-index:50;height:calc(var(--top-h) + var(--sat));padding:var(--sat) 10px 0 14px;display:flex;align-items:center;gap:6px;
  background:linear-gradient(180deg,rgba(234,244,255,.72),rgba(234,244,255,.38));border-bottom:1px solid rgba(255,255,255,.7)}
.brand{display:flex;align-items:center;gap:8px;font-weight:900;font-size:20px;letter-spacing:-.01em;color:var(--acc2);flex:none}
.brand img{width:28px;height:28px;border-radius:8px}
.topbar .sp{flex:1}
.topbar .back{margin-left:-6px}
.ttl{font-weight:800;font-size:18px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* dynamic-island search pill */
.island{height:36px;width:104px;border-radius:999px;display:flex;align-items:center;gap:6px;padding:0 12px;flex:none;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(205,229,255,.32));border:1px solid rgba(255,255,255,.95);
  box-shadow:inset 0 1px 1px #fff,inset 0 -3px 8px rgba(120,180,255,.18),0 3px 10px rgba(20,70,150,.10);transition:width .35s cubic-bezier(.3,1.4,.5,1),height .3s}
.island svg{width:17px;height:17px;flex:none;color:var(--ink2)}
.island span{font-size:14px;color:var(--mut);font-weight:600}
.island input{border:0;background:none;outline:none;flex:1;min-width:0;font-size:15px;height:100%}
.topbar.searching .brand,.topbar.searching .tbx{display:none}
.topbar.searching .island{width:calc(100% - 50px);height:40px}
.plusb{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;color:#fff;
  background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.75),rgba(255,255,255,0) 42%),linear-gradient(180deg,#3d8bff,#0b3fae);
  border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 -3px 8px rgba(0,20,90,.3),0 4px 12px rgba(22,103,240,.35)}
.plusb svg{width:22px;height:22px}

/* bottom floating glass pill + sliding glossy bubble */
.bnav{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(10px + var(--sab));z-index:60;width:min(94vw,440px);height:var(--nav-h);border-radius:999px;
  display:flex;align-items:stretch;padding:5px;touch-action:pan-y;user-select:none;-webkit-user-select:none;
  background:linear-gradient(180deg,rgba(244,250,255,.55),rgba(210,232,255,.40));border:1px solid rgba(255,255,255,.9);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.95),inset 0 -8px 18px rgba(120,180,255,.16),0 10px 30px rgba(10,50,130,.18)}
.bnav a{flex:1;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:999px;color:#173a70;-webkit-user-drag:none;font-size:10.5px;font-weight:700;letter-spacing:.02em;transition:color .2s,transform .2s}
.bnav a svg{width:23px;height:23px}
.bnav a.on,.bnav a.hover{color:var(--acc2)}
.bnav a.on svg{filter:drop-shadow(0 2px 4px rgba(22,103,240,.3))}
.lgpill{position:absolute;left:0;top:5px;height:calc(100% - 10px);width:0;border-radius:999px;z-index:0;pointer-events:none;
  background:radial-gradient(120% 90% at 30% 10%,rgba(255,255,255,.85),rgba(255,255,255,0) 55%),linear-gradient(180deg,rgba(214,236,255,.62),rgba(150,205,255,.34));
  border:1.5px solid rgba(255,255,255,.98);
  box-shadow:inset 0 1px 2px #fff,inset 0 -4px 10px rgba(80,150,240,.28),0 6px 16px rgba(20,90,200,.22);
  transition:transform .45s cubic-bezier(.3,1.35,.45,1),width .3s;will-change:transform}
.bnav.moving .lgpill{animation:lgstretch .5s ease}
.bnav.dragging .lgpill{transition:width .2s;box-shadow:inset 0 1px 2px #fff,inset 0 -6px 14px rgba(80,150,240,.32),0 12px 26px rgba(20,90,200,.3)}
@keyframes lgstretch{0%{scale:1 1}40%{scale:1.14 .9}70%{scale:.96 1.05}100%{scale:1 1}}
html.dark-nav .bnav{background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.06));border-color:rgba(255,255,255,.4)}
html.dark-nav .bnav a{color:rgba(255,255,255,.85)}html.dark-nav .bnav a.on{color:#fff}

/* ---------- home ---------- */
.chips{display:flex;gap:8px;overflow-x:auto;padding:8px 14px 12px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.vcard{display:block;margin:0 0 20px}
.thumb{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#bcd9ff,#8ab8f7);overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover}
.dur{position:absolute;right:8px;bottom:8px;background:rgba(5,20,50,.78);color:#fff;font-size:12px;font-weight:700;padding:2px 6px;border-radius:6px}
@media(min-width:600px){.thumb{border-radius:14px}.vlist{padding:0 14px}}
.vmeta{display:flex;gap:12px;padding:10px 14px 0}
.vmeta .t{font-weight:700;font-size:15.5px;line-height:1.3}
.vmeta .m{color:var(--mut);font-size:13px;margin-top:3px}
.vmore{margin:-4px -10px 0 0;width:32px;height:32px;color:var(--ink2)}
.shelf{margin:4px 0 22px}
.shelf-h{display:flex;align-items:center;gap:8px;padding:0 14px 10px;font-weight:800;font-size:17px}
.shelf-h svg{width:22px;height:22px;color:var(--acc)}
.prow{display:flex;gap:10px;overflow-x:auto;padding:0 14px 4px;scrollbar-width:none;scroll-snap-type:x mandatory}
.prow::-webkit-scrollbar{display:none}
.pcard{flex:none;width:42vw;max-width:180px;aspect-ratio:9/16;border-radius:14px;overflow:hidden;position:relative;scroll-snap-align:start;background:#9cc4f5;box-shadow:0 4px 14px rgba(20,70,150,.15)}
.pcard img{width:100%;height:100%;object-fit:cover}
.pcard .po{position:absolute;left:0;right:0;bottom:0;padding:30px 9px 9px;color:#fff;background:linear-gradient(180deg,transparent,rgba(0,15,45,.78));font-size:13.5px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.pcard .po small{display:block;font-weight:600;opacity:.9;font-size:12px;margin-top:2px}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.pgrid .pcard{width:auto;max-width:none;border-radius:6px}

/* ---------- watch ---------- */
.wplayer{position:sticky;top:calc(var(--top-h) + var(--sat));z-index:20;background:#000;aspect-ratio:16/9;width:100%}
.wplayer video{width:100%;height:100%;object-fit:contain;background:#000}
.wbody{padding:12px 14px}
.wtitle{font-size:18px;font-weight:800;line-height:1.3;margin:0;overflow-wrap:anywhere}
.wsub{color:var(--mut);font-size:13px;margin-top:4px}
.desc{margin-top:10px;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.desc.short{max-height:3.9em;overflow:hidden;position:relative}
.chrow{display:flex;align-items:center;gap:10px;margin:14px 0}
.chrow .nm{font-weight:800}
.acts{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none}
.acts::-webkit-scrollbar{display:none}
.act{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;border-radius:999px;font-weight:700;font-size:14px;white-space:nowrap;flex:none;
  background:linear-gradient(180deg,rgba(255,255,255,.66),rgba(214,234,255,.4));border:1px solid #fff;box-shadow:inset 0 1px 0 #fff,0 2px 8px rgba(20,70,150,.08)}
.act svg{width:21px;height:21px}
.seg{display:inline-flex;flex:none;border-radius:999px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.66),rgba(214,234,255,.4));border:1px solid #fff;box-shadow:inset 0 1px 0 #fff,0 2px 8px rgba(20,70,150,.08)}
.seg .act{background:none;border:0;box-shadow:none;border-radius:0}
.seg .act+.act{border-left:1px solid rgba(11,37,82,.12)}
.act.souled{color:var(--soul)}.act.souled svg{filter:drop-shadow(0 0 5px rgba(255,122,61,.75))}
.act.unsouled{color:#5b4bd6}
.vote{background:linear-gradient(180deg,#14336e,#06183f);color:#fff;border:1px solid rgba(255,255,255,.4)}
.vote.on{background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(214,234,255,.5));color:var(--ink);border:1px solid #fff}
.cbox{margin:6px 0 16px;padding:12px 14px}
.cbox .h{font-weight:800;margin-bottom:8px}
.upnext h3{padding:0 14px}
.urow{display:flex;gap:10px;padding:0 14px 12px}
.urow .thumb{width:44%;flex:none;border-radius:10px}
.urow .t{font-weight:700;font-size:14px}
.urow .m{color:var(--mut);font-size:12.5px;margin-top:3px}

/* comments */
.cmt{display:flex;gap:10px;padding:10px 0}
.cmt .b{flex:1;min-width:0}
.cmt .n{font-size:12.5px;color:var(--mut);font-weight:600}
.cmt .x{font-size:14.5px;margin-top:2px;white-space:pre-wrap;overflow-wrap:anywhere}
.cmt .ca{display:flex;gap:14px;align-items:center;margin-top:6px;font-size:13px;color:var(--ink2);font-weight:700}
.cmt .ca button{display:inline-flex;align-items:center;gap:4px}
.cmt .ca svg{width:17px;height:17px}
.cmt .ca .souled{color:var(--soul)}
.replies{margin-left:46px;border-left:2px solid rgba(var(--acc-rgb),.15);padding-left:10px}
.cinput{display:flex;gap:8px;align-items:center;padding:10px 0 4px}
.cinput .input{height:42px}

/* ---------- sheets ---------- */
.scrim{position:fixed;inset:0;background:rgba(5,25,60,.3);z-index:80;animation:fi .2s}
@keyframes fi{from{opacity:0}}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:81;max-height:86vh;overflow:auto;border-radius:24px 24px 0 0;padding:8px 16px calc(18px + var(--sab));
  background:linear-gradient(180deg,rgba(240,248,255,.86),rgba(222,238,255,.80));border-top:1px solid #fff;box-shadow:0 -10px 30px rgba(10,50,130,.18);
  animation:su .28s cubic-bezier(.2,.9,.3,1);max-width:640px;margin:0 auto}
@keyframes su{from{transform:translateY(100%)}}
.sheet .grab{width:42px;height:5px;border-radius:3px;background:rgba(11,37,82,.2);margin:4px auto 12px}
.sheet h3{font-size:17px;margin:0 0 12px}
.mitem{display:flex;align-items:center;gap:14px;width:100%;padding:13px 6px;border-radius:14px;font-weight:600;font-size:15.5px;text-align:left}
.mitem svg{width:24px;height:24px;color:var(--acc)}
.mitem:active{background:var(--bub)}
.mitem .sub{display:block;font-size:12.5px;color:var(--mut);font-weight:500}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--nav-h) + 24px + var(--sab));z-index:200;background:rgba(8,30,75,.92);color:#fff;padding:10px 16px;border-radius:999px;font-size:14px;font-weight:600;max-width:90vw;text-align:center;animation:fi .2s;box-shadow:0 6px 20px rgba(0,0,0,.2)}

/* ---------- auth + PIN keypad ---------- */
.auth{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:calc(30px + var(--sat)) 20px 30px}
.auth .logo{width:76px;height:76px;border-radius:22px;box-shadow:0 10px 28px rgba(22,103,240,.35)}
.auth h1{font-size:28px;margin:12px 0 2px;color:var(--acc2)}
.auth .tag{color:var(--mut);margin:0 0 22px;text-align:center}
.auth .card{width:100%;max-width:380px;padding:18px}
.auth .sw{margin-top:16px;color:var(--ink2);font-size:14px;text-align:center}
.auth .sw a{color:var(--acc);font-weight:800}
.phonein{display:flex;align-items:center;gap:0;padding:0 0 0 12px}
.phonein .cc{font-weight:800;color:var(--ink2);margin-right:8px}
.phonein input{border:0;background:none;outline:none;flex:1;height:100%;font-size:17px;letter-spacing:.04em;min-width:0}
.pinwrap{text-align:center}
.pinwrap .q{font-weight:800;font-size:18px;margin:4px 0 4px}
.pinwrap .s{color:var(--mut);font-size:14px;margin-bottom:16px}
.dots{display:flex;justify-content:center;gap:18px;margin:6px 0 10px}
.dots i{width:16px;height:16px;border-radius:50%;border:2px solid rgba(var(--acc-rgb),.6);transition:background .15s,transform .15s}
.dots i.f{background:var(--acc);transform:scale(1.1)}
.dots.shake{animation:shake .4s}
@keyframes shake{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
.keys{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:290px;margin:8px auto 0}
.keys button{height:62px;border-radius:999px;font-size:25px;font-weight:700;
  background:radial-gradient(100% 80% at 35% 15%,rgba(255,255,255,.9),rgba(255,255,255,0) 60%),linear-gradient(180deg,rgba(224,240,255,.7),rgba(180,214,255,.4));
  border:1px solid #fff;box-shadow:inset 0 -3px 8px rgba(80,150,240,.18),0 3px 10px rgba(20,70,150,.1)}
.keys button:active{transform:scale(.93);background:rgba(var(--acc-rgb),.25)}
.keys button.fn{background:none;border:0;box-shadow:none;font-size:15px;color:var(--ink2)}
.keys button svg{width:26px;height:26px;margin:auto}
.acct{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border-radius:16px;margin-bottom:10px;text-align:left}

/* ---------- pills (shorts) ---------- */
.pills{position:fixed;inset:0;background:#000;overflow-y:auto;scroll-snap-type:y mandatory;z-index:10;scrollbar-width:none;overscroll-behavior:contain}
.pills::-webkit-scrollbar{display:none}
.pill{position:relative;height:100vh;height:100dvh;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pill video{width:100%;height:100%;object-fit:cover}
.pill .pov{position:absolute;left:0;right:70px;bottom:calc(var(--nav-h) + 26px + var(--sab));padding:0 14px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.pill .pov .ttl2{font-weight:700;font-size:15px;margin-top:8px;overflow-wrap:anywhere}
.pill .pside{position:absolute;right:8px;bottom:calc(var(--nav-h) + 26px + var(--sab));display:flex;flex-direction:column;gap:14px;align-items:center;color:#fff}
.pill .pside button{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.pill .pside .pb{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(100% 80% at 35% 15%,rgba(255,255,255,.45),rgba(255,255,255,0) 60%),rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.55)}
.pill .pside .pb svg{width:26px;height:26px}
.pill .pside .souled .pb{color:var(--soul);border-color:rgba(255,160,110,.9)}
.pill .pside .souled svg{filter:drop-shadow(0 0 6px rgba(255,122,61,.9))}
.pill .pside .unsouled .pb{color:#b9b0ff}
.pill .vbtn{height:30px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:800;background:rgba(255,255,255,.92);color:#0b2552;margin-left:6px}
.pill .vbtn.on{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.6)}
.pill .paused{position:absolute;inset:0;margin:auto;width:74px;height:74px;border-radius:50%;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;color:#fff;pointer-events:none}
.pill .paused svg{width:36px;height:36px}
.pill .pbar{position:absolute;left:0;right:0;bottom:calc(var(--nav-h) + 16px + var(--sab));height:3px;background:rgba(255,255,255,.25)}
.pill .pbar i{display:block;height:100%;width:0;background:#fff}
.pilltop{position:fixed;top:calc(var(--sat) + 8px);left:12px;right:12px;z-index:12;display:flex;align-items:center;gap:8px;color:#fff;font-weight:900;font-size:19px;text-shadow:0 1px 4px rgba(0,0,0,.5);pointer-events:none}
.pilltop>*{pointer-events:auto}
.pilltop .sp{flex:1}
.pilltop .ibtn{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.45)}

/* ---------- channel (Instagram style header) ---------- */
.chhead{padding:6px 16px 0}
.chtop{display:flex;align-items:center;gap:18px}
.chtop .av{border:3px solid #fff;box-shadow:0 6px 18px rgba(22,103,240,.25)}
.counts{flex:1;display:flex;justify-content:space-around;text-align:center}
.counts b{display:block;font-size:19px}
.counts span{font-size:13px;color:var(--ink2)}
.chname{font-weight:800;font-size:17px;margin-top:12px;overflow-wrap:anywhere}
.chhandle{color:var(--mut);font-size:13.5px}
.chbio{font-size:14px;margin-top:6px;white-space:pre-wrap;overflow-wrap:anywhere}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 6px}
.duo .btn{height:38px;font-size:14.5px;width:100%}
.tabs{position:relative;display:flex;margin:12px 14px 12px;padding:4px;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(214,234,255,.3));border:1px solid #fff}
.tabs button{flex:1;height:36px;border-radius:999px;font-weight:800;position:relative;z-index:1;color:var(--ink2)}
.tabs button.on{color:var(--acc2)}
.tabpill{position:absolute;top:4px;bottom:4px;left:0;border-radius:999px;background:radial-gradient(120% 90% at 30% 10%,rgba(255,255,255,.9),rgba(255,255,255,0) 55%),linear-gradient(180deg,rgba(214,236,255,.7),rgba(160,210,255,.38));border:1.5px solid #fff;box-shadow:0 4px 12px rgba(20,90,200,.18);transition:transform .4s cubic-bezier(.3,1.35,.45,1),width .3s;pointer-events:none}
.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;padding:2px 7px;border-radius:999px;background:rgba(var(--acc-rgb),.12);color:var(--acc2);vertical-align:middle}

/* ---------- lists ---------- */
.list{padding:0 14px}
.li{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;margin-bottom:8px;width:100%;text-align:left}
.li svg.ic{width:24px;height:24px;color:var(--acc);flex:none}
.li .grow b{display:block;font-weight:700}
.li .grow span{display:block;color:var(--mut);font-size:13px}
.li.unread{border-color:rgba(var(--acc-rgb),.5)}
.chev{width:18px;height:18px;color:var(--mut);flex:none}
.switch{position:relative;width:48px;height:28px;flex:none}
.switch input{opacity:0;width:0;height:0}
.switch i{position:absolute;inset:0;border-radius:999px;background:rgba(11,37,82,.18);transition:.2s}
.switch i:after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.2);transition:.2s}
.switch input:checked+i{background:var(--acc)}
.switch input:checked+i:after{transform:translateX(20px)}

/* bank */
.balance{text-align:center;padding:22px 14px;background:radial-gradient(120% 100% at 20% 0%,rgba(255,255,255,.5),rgba(255,255,255,0) 50%),linear-gradient(160deg,#2f7bff,#0a2f86);color:#fff;border:1px solid rgba(255,255,255,.6)}
.balance .l{font-size:14px;opacity:.9;font-weight:700}
.balance .amt{font-size:40px;font-weight:900;margin:6px 0 2px;letter-spacing:-.01em}
.balance .n{font-size:13px;opacity:.85}
.st{font-size:12px;font-weight:800;padding:3px 9px;border-radius:999px;text-transform:capitalize}
.st.pending{background:#fff3cd;color:#8a6100}.st.paid{background:#d7f5e1;color:#13703a}.st.rejected{background:#ffe0e0;color:#a32020}
.wreq{margin-bottom:10px}
.wreq .upi{font-family:ui-monospace,Menlo,monospace;font-size:14px;word-break:break-all;background:rgba(255,255,255,.6);padding:6px 10px;border-radius:10px;margin:8px 0}
.wreq .bts{display:flex;flex-wrap:wrap;gap:8px}

/* dm */
.thread{padding:0 12px;display:flex;flex-direction:column;gap:6px}
.bub{max-width:78%;padding:9px 13px;border-radius:18px;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere;align-self:flex-start;background:rgba(255,255,255,.75);border:1px solid #fff}
.bub.me{align-self:flex-end;background:linear-gradient(180deg,#3d8bff,#1259d8);color:#fff;border-color:rgba(255,255,255,.4)}
.bub small{display:block;font-size:11px;opacity:.7;margin-top:3px;text-align:right}
.dmbar{position:fixed;left:0;right:0;bottom:0;z-index:55;display:flex;gap:8px;padding:10px 12px calc(10px + var(--sab));background:linear-gradient(180deg,rgba(234,244,255,.8),rgba(220,236,255,.9));border-top:1px solid #fff}

/* upload */
.upv{width:100%;border-radius:14px;background:#000;max-height:46vh}
.upv.vert{max-height:52vh;width:auto;margin:0 auto}
.thumbpick{display:flex;gap:10px;align-items:center}
.thumbpick img{width:128px;aspect-ratio:16/9;object-fit:cover;border-radius:10px;background:#bcd9ff}
.thumbpick img.vert{width:72px;aspect-ratio:9/16}
.prog{height:8px;border-radius:9px;background:rgba(var(--acc-rgb),.15);overflow:hidden;margin:10px 0 4px}
.prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,#3d8bff,#0b3fae);transition:width .2s}
select.input{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink2) 50%),linear-gradient(135deg,var(--ink2) 50%,transparent 50%);background-position:calc(100% - 20px) 20px,calc(100% - 14px) 20px;background-size:6px 6px;background-repeat:no-repeat}
.searchres .sec{font-weight:800;padding:4px 14px 10px}
.chres{display:flex;align-items:center;gap:12px;padding:10px 14px}
.chres .grow b{display:block}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.pill::after{content:"";position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(180deg,rgba(0,10,30,0),rgba(0,10,30,.55));pointer-events:none}
.pill::before{content:"";position:absolute;left:0;right:0;top:0;height:120px;background:linear-gradient(180deg,rgba(0,10,30,.4),rgba(0,10,30,0));pointer-events:none;z-index:1}
.pill .pov,.pill .pside,.pill .pbar{z-index:2}
.pill .vbtn.on{background:rgba(0,10,30,.35)}
.pill .pside .pb{background:radial-gradient(100% 80% at 35% 15%,rgba(255,255,255,.4),rgba(255,255,255,0) 60%),rgba(0,10,30,.22)}
.acct svg{width:20px;height:20px;flex:none;color:var(--mut)}
.acct .grow b{display:block;overflow-wrap:anywhere}
input[type=search]::-webkit-search-cancel-button{display:none}
.chev{width:18px!important;height:18px!important}

/* ================= v2 ================= */
.brand img,.auth .logo,#splash img{box-shadow:0 1px 2px rgba(10,60,160,.18),0 4px 12px rgba(20,90,200,.18);border:1px solid rgba(22,103,240,.12)}
/* channel buttons: Vote · Push · Message (others) / Edit · Push · Share (own) */
.duo.trio{grid-template-columns:1fr 1fr 1fr}
.duo.own{grid-template-columns:1fr 1fr 40px}
.duo .btn{padding:0 8px;min-width:0;overflow:hidden;text-overflow:ellipsis}
.duo .btn svg{width:17px;height:17px;flex:none}
.duo .btn.sq{padding:0;width:40px}
.btn.push{color:#0a3fa8;background:radial-gradient(120% 90% at 30% 10%,rgba(255,255,255,.95),rgba(255,255,255,0) 55%),linear-gradient(180deg,rgba(196,226,255,.9),rgba(140,196,255,.6));border:1px solid #fff;box-shadow:inset 0 -3px 8px rgba(40,120,240,.22),0 4px 12px rgba(22,103,240,.2);gap:5px}
/* Pushed labels */
.ptag{position:absolute;left:8px;top:8px;z-index:2;display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:800;padding:3px 8px 3px 6px;border-radius:999px;color:#0a3fa8;background:rgba(255,255,255,.92);box-shadow:0 2px 6px rgba(0,20,70,.25);letter-spacing:.01em;white-space:nowrap;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis}
.ptag svg{width:12px;height:12px;flex:none}
.ptag.pend{color:#8a6100;background:#fff3cd}
.ptag.on{color:#13703a;background:#e3f8ea}
.ptag.in,.ptag.in2{position:static;box-shadow:none;padding:1px 7px;font-size:11px;vertical-align:1px}
.ptag.in{background:rgba(255,255,255,.22);color:#fff;border:1px solid rgba(255,255,255,.5)}
.ptag.in2{background:rgba(var(--acc-rgb),.12)}
.pstat{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;font-weight:700;padding:5px 11px;border-radius:999px}
.pstat svg{width:15px;height:15px}.pstat.on{background:#e3f8ea;color:#13703a}.pstat.pend{background:#fff3cd;color:#8a6100}
/* push sheet */
.sheet .lab{font-size:13px;font-weight:800;color:var(--ink2);margin:4px 2px 8px}
.pvids{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none}.pvids::-webkit-scrollbar{display:none}
.pv{flex:none;width:124px;text-align:left;font-size:12.5px;font-weight:700;line-height:1.25;border-radius:14px;padding:5px;border:2px solid transparent}
.pv.on{border-color:var(--acc);background:rgba(var(--acc-rgb),.08)}
.pth{display:block;position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#bcd9ff;margin-bottom:5px}
.pv.pl .pth{aspect-ratio:16/9}
.pth img{width:100%;height:100%;object-fit:cover}
.pth i{position:absolute;right:5px;bottom:5px;font-style:normal;font-size:10px;font-weight:800;color:#fff;background:rgba(5,20,50,.75);padding:1px 6px;border-radius:6px}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.plan{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 4px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(214,234,255,.45));border:2px solid #fff;box-shadow:0 2px 8px rgba(20,70,150,.08)}
.plan b{font-size:19px}.plan span{font-size:12.5px;color:var(--ink2);font-weight:700}
.plan.on{border-color:var(--acc);background:radial-gradient(120% 90% at 30% 10%,rgba(255,255,255,.95),rgba(255,255,255,0) 55%),linear-gradient(180deg,rgba(204,230,255,.9),rgba(150,205,255,.5))}
.okc{width:54px;height:54px;border-radius:50%;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(180deg,#3d8bff,#0f56da);box-shadow:0 6px 16px rgba(22,103,240,.3)}
.okc svg{width:28px;height:28px}
.upibox{font-family:ui-monospace,Menlo,monospace;font-size:14px;background:rgba(255,255,255,.65);padding:9px 12px;border-radius:12px;border:1px solid #fff}
.pxth{width:84px;aspect-ratio:16/9;object-fit:cover;border-radius:8px;flex:none}
.pxth.pl{width:44px;aspect-ratio:9/16}
.planrow{display:grid;grid-template-columns:1fr 1fr auto auto;gap:8px;align-items:end;margin-bottom:8px;padding:10px 12px}
.planrow label{display:block;min-width:0}.planrow label>span{display:block;font-size:12px;font-weight:700;color:var(--ink2);margin:0 0 4px 2px}
.planrow .input{height:38px;padding:0 10px}.planrow label.on{text-align:center}
.admtabs{margin:16px 0 8px}.admtabs button{font-size:14px}
.cnt{font-style:normal;display:inline-flex;min-width:18px;height:18px;border-radius:9px;align-items:center;justify-content:center;font-size:11px;background:#ff3b5c;color:#fff;padding:0 5px;margin-left:2px}
/* recent searches dropdown */
.recent{position:fixed;top:calc(var(--top-h) + var(--sat) + 4px);left:10px;right:10px;z-index:55;border-radius:18px;padding:6px;background:linear-gradient(180deg,rgba(244,250,255,.92),rgba(222,238,255,.88));border:1px solid #fff;box-shadow:0 10px 30px rgba(10,50,130,.18);max-width:640px;margin:0 auto}
.recent a{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;font-weight:600}
.recent a svg{width:18px;height:18px;color:var(--mut);flex:none}
.recent a:active{background:var(--bub)}
/* settings rows */
.srow{min-height:56px}
.srow .grow span+span{margin-top:2px}
.mitem.radio input{width:20px;height:20px;accent-color:var(--acc);flex:none}
.doc p{margin:0 0 10px;font-size:14.5px;line-height:1.5}
.ccprev{margin:12px 0 4px;height:110px;border-radius:14px;background:linear-gradient(135deg,#355e9a,#0b1f45);display:flex;align-items:flex-end;justify-content:center;padding:12px}
.ccprev span{background:rgba(0,0,0,.75);color:#fff;padding:2px 8px;border-radius:4px;font-size:15px}
html[data-cc=small] .ccprev span{font-size:12px}html[data-cc=large] .ccprev span{font-size:19px}html[data-cc=xl] .ccprev span{font-size:23px}
video::cue{background:rgba(0,0,0,.75);color:#fff;font-size:100%}
html[data-cc=small] video::cue{font-size:80%}html[data-cc=large] video::cue{font-size:130%}html[data-cc=xl] video::cue{font-size:160%}
/* player extras */
.wplayer{overflow:hidden}
.seekfx{position:absolute;top:0;bottom:0;width:34%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:18px;pointer-events:none;opacity:0;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.seekfx.l{left:0;border-radius:0 50% 50% 0;background:rgba(255,255,255,.14)}.seekfx.r{right:0;border-radius:50% 0 0 50%;background:rgba(255,255,255,.14)}
.seekfx.go{animation:sfx .6s ease}
@keyframes sfx{0%{opacity:0}20%{opacity:1}100%{opacity:0}}
.nextfx{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background:rgba(3,15,40,.72);padding:16px}
.nextfx b{display:block;margin-top:4px;font-size:15px}
.thumb video.prev{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.thumb .dur{z-index:2}
.pnav{position:absolute;right:12px;top:calc(var(--sat) + 70px);z-index:3;display:flex;flex-direction:column;gap:10px}
.pnav button{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(0,10,30,.35);border:1px solid rgba(255,255,255,.6)}
.pnav button svg{width:24px;height:24px;transform:rotate(90deg)}.pnav [data-dn] svg{transform:rotate(-90deg)}
html:not(.zoomfill) .pill video{object-fit:contain}
html.zoomfill video:fullscreen{object-fit:cover}
/* monetize */
.mbar{margin:4px 0 14px}.mbar:last-child{margin-bottom:4px}
.mbar .prog{height:10px;margin-top:8px}
/* accessibility */
html.big body{zoom:1.12}
html.rm *,html.rm *::before,html.rm *::after{animation:none!important;transition:none!important}

/* ---------- dark blue theme ---------- */
html.dark{--bg1:#06142e;--bg2:#0a2149;--ink:#e7f0ff;--ink2:#a8c2ee;--mut:#86a2cf;--line:rgba(255,255,255,.1);--bub:rgba(90,150,255,.18);--edge:rgba(255,255,255,.18);color-scheme:dark}
html.dark body{background:radial-gradient(120% 60% at 100% 0%,#123a7a 0%,rgba(18,58,122,0) 60%),radial-gradient(90% 50% at 0% 100%,#0e2d63 0%,rgba(14,45,99,0) 60%),linear-gradient(180deg,var(--bg1),var(--bg2));background-attachment:fixed}
html.dark .card,html.dark .chip,html.dark .act,html.dark .seg,html.dark .btn.ghost,html.dark .plan,html.dark .tabs,html.dark .island,html.dark .upibox,html.dark .bub,html.dark .vote.on{background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.04));border-color:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 4px 14px rgba(0,0,0,.25);color:var(--ink)}
html.dark .chip.on{background:linear-gradient(180deg,#3d8bff,#1250c8);color:#fff}
html.dark .input{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:var(--ink)}
html.dark input,html.dark textarea,html.dark select{color:var(--ink)}
html.dark .topbar{background:linear-gradient(180deg,rgba(6,20,46,.82),rgba(6,20,46,.5));border-bottom-color:rgba(255,255,255,.08)}
html.dark .bnav{background:linear-gradient(180deg,rgba(20,45,95,.6),rgba(10,30,70,.5));border-color:rgba(255,255,255,.2)}
html.dark .bnav a{color:#c9dbff}html.dark .bnav a.on,html.dark .bnav a.hover{color:#fff}
html.dark .lgpill,html.dark .tabpill{background:radial-gradient(120% 90% at 30% 10%,rgba(255,255,255,.35),rgba(255,255,255,0) 55%),linear-gradient(180deg,rgba(80,150,255,.45),rgba(40,100,220,.3));border-color:rgba(255,255,255,.45)}
html.dark .sheet,html.dark .recent{background:linear-gradient(180deg,rgba(14,34,72,.95),rgba(8,24,54,.95));border-color:rgba(255,255,255,.12)}
html.dark .brand{color:#9cc8ff}html.dark .tabs button.on{color:#fff}
html.dark .vote{background:linear-gradient(180deg,#3d8bff,#1250c8)}
html.dark .wreq .upi{background:rgba(255,255,255,.07)}
html.dark .dmbar{background:linear-gradient(180deg,rgba(8,24,54,.85),rgba(8,24,54,.95));border-top-color:rgba(255,255,255,.1)}
html.dark .keys button{background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.05));border-color:rgba(255,255,255,.2)}
html.dark .ptag{background:rgba(10,30,70,.9);color:#cfe3ff}
html.dark .ptag.in2{background:rgba(120,170,255,.18)}
html.dark .btn.push{color:#fff;background:radial-gradient(120% 90% at 30% 10%,rgba(255,255,255,.35),rgba(255,255,255,0) 55%),linear-gradient(180deg,rgba(80,150,255,.55),rgba(30,90,210,.45));border-color:rgba(255,255,255,.35)}
html.dark .comments-in,html.dark .cinput{background:none!important}
html.dark .ibtn .dot{border-color:var(--bg1)}
html.dark .st.pending{background:#4a3a08;color:#ffe08a}html.dark .st.paid{background:#0f3d24;color:#9ff0bd}html.dark .st.rejected{background:#4a1515;color:#ffb3b3}
html.dark .empty svg{color:#5d88cc}
.btn svg{width:18px;height:18px;flex:none}.btn.sm svg{width:16px;height:16px}
.st{white-space:nowrap}.st.nc{text-transform:none}
html.dark .switch i{background:rgba(255,255,255,.22)}html.dark .switch input:checked+i{background:var(--acc)}
