/* PuPue · Nova web · v20261015 */
@font-face{font-family:"Instrument Sans";src:url("/assets/fonts/instrument-sans.woff2?v=20261015") format("woff2");font-weight:400 700;font-stretch:75% 100%;font-style:normal;font-display:swap}
@font-face{font-family:"Geist Mono";src:url("/assets/fonts/geist-mono.woff2?v=20261015") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --bg:#07080A;--s1:#111317;--s2:#181B21;--s3:#20242B;
  --glass:rgba(24,27,33,.78);--line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.14);
  --tx:#F2F4F7;--tx2:#9AA1AD;--tx3:#7C8492;
  --pri:#2A62F5;--pri-h:#3B70FF;--acc:#6EA8FF;--on:#34E0A1;--live:#FF4D5E;
  --amber:#FF8A4C;--violet:#B9A6FF;--cyan:#5EE7FF;
  --mag:#FF3CF0;--vio:#9A5CFA;--cy:#08F4F8;
  --r8:8px;--r12:12px;--r14:14px;--r18:18px;--r22:22px;--r26:26px;--pill:999px;
  --sans:"Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --gut:16px;--max:1200px;
  color-scheme:dark;
}
@media (min-width:600px){:root{--gut:24px}}
@media (min-width:1024px){:root{--gut:32px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px;background:var(--bg)}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--tx);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul[role=list],ol[role=list]{list-style:none;padding:0}
::selection{background:rgba(42,98,245,.5);color:#fff}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:8px}
[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:-80px;z-index:100;background:var(--tx);color:var(--bg);padding:10px 16px;border-radius:12px;font-weight:600;transition:top .2s}
.skip:focus{top:16px}
.i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.mono{font-family:var(--mono)}
.wrap{width:100%;max-width:calc(var(--max) + var(--gut) * 2);margin-inline:auto;padding-inline:var(--gut)}
.lnk{color:var(--acc);text-decoration:underline;text-decoration-color:rgba(110,168,255,.4);text-underline-offset:3px}
.lnk:hover{text-decoration-color:var(--acc)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 22px;border-radius:var(--pill);font-weight:600;font-size:15.5px;letter-spacing:-.005em;white-space:nowrap;transition:background-color .2s,box-shadow .2s,color .2s}
.btn .i{width:18px;height:18px}
.btn-pri{background:var(--pri);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 28px -10px rgba(42,98,245,.75)}
.btn-pri:hover{background:var(--pri-h)}
.btn-glass{background:rgba(255,255,255,.06);color:var(--tx);box-shadow:inset 0 0 0 1px var(--line2)}
.btn-glass:hover{background:rgba(255,255,255,.1)}
.btn-light{background:var(--tx);color:var(--bg)}
.btn-light:hover{background:#fff}
.btn-sm{height:40px;padding:0 16px;font-size:14.5px;gap:8px}
.btn-sm .i{width:17px;height:17px}
.btn-lg{height:54px;padding:0 24px;font-size:16px}
.btn-play .i{width:17px;height:17px}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:50;padding-top:10px}
.hdr .bar{display:flex;align-items:center;gap:8px;height:60px;padding:0 8px 0 16px;border-radius:var(--pill);background:var(--glass);-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%);box-shadow:inset 0 0 0 1px var(--line),0 16px 40px -16px rgba(0,0,0,.7)}
.brand{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:19px;letter-spacing:-.025em;line-height:1}
.brand img{width:21px;height:auto}
.nav{display:none;align-items:center;gap:2px;margin-left:auto}
.nav a{padding:8px 13px;border-radius:var(--pill);color:var(--tx2);font-size:14.5px;font-weight:500;transition:color .2s,background-color .2s}
.nav a:hover{color:var(--tx);background:rgba(255,255,255,.06)}
.hdr .cta{margin-left:auto}
.cta-l{display:none}
.menu-btn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--line)}
.menu-btn .i-close,.hdr.open .menu-btn .i-open{display:none}
.hdr.open .menu-btn .i-close{display:block}
.mnav{margin-top:8px;border-radius:var(--r26);background:rgba(17,19,23,.96);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:inset 0 0 0 1px var(--line),0 24px 60px -20px rgba(0,0,0,.8);padding:8px}
.mnav a{display:flex;align-items:center;height:48px;padding:0 16px;border-radius:var(--r18);font-size:17px;font-weight:600}
.mnav a:hover{background:rgba(255,255,255,.06)}
@media (min-width:420px){.cta-l{display:inline}.cta-s{display:none}}
@media (min-width:1080px){.nav{display:flex}.hdr .cta{margin-left:10px}.menu-btn,.mnav{display:none!important}}

/* ---------- type ---------- */
.h-display{font-size:clamp(48px,8.4vw,100px);line-height:.94;letter-spacing:-.038em;font-weight:700;font-stretch:88%;text-wrap:balance}
.h2{font-size:clamp(34px,5.4vw,66px);line-height:1;letter-spacing:-.034em;font-weight:700;font-stretch:90%;text-wrap:balance}
.lead{margin-top:18px;font-size:clamp(17px,1.5vw,19px);line-height:1.55;color:var(--tx2);max-width:36em;text-wrap:pretty}
.sec{padding:88px 0}
.sec-head{max-width:780px}
@media (min-width:1024px){.sec{padding:120px 0}}

/* ---------- hero ---------- */
.hero{position:relative;padding:44px 0 0;overflow:clip}
.hero-grid{display:grid;gap:28px;align-items:center}
.status{display:inline-flex;align-items:center;gap:10px;height:32px;padding:0 14px 0 12px;border-radius:var(--pill);background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--line);font:500 12.5px/1 var(--mono);color:var(--tx2)}
.status .sep{width:1px;height:12px;background:var(--line2)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--on);box-shadow:0 0 0 3px rgba(52,224,161,.15),0 0 12px rgba(52,224,161,.7)}
.hero .h-display{margin-top:22px}
.hero-sub{margin-top:22px;font-size:clamp(17px,1.6vw,20px);line-height:1.55;color:var(--tx2);max-width:30em}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-note{margin-top:16px;font-size:14px;color:var(--tx3)}
@media (max-width:479px){.hero-cta .btn{flex:1 1 100%}}
@media (min-width:1024px){
  .hero{padding:64px 0 24px}
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);gap:16px}
  .hero .h-display{font-size:clamp(60px,6.5vw,100px)}
}

/* stage: one composition, scaled per breakpoint */
.stage{position:relative;height:calc(700px * var(--k));--k:.8;margin-inline:calc(var(--gut) * -1)}
.stage-in{position:absolute;left:50%;top:0;width:640px;height:720px;transform:translateX(-50%) scale(var(--k));transform-origin:50% 0}
@media (min-width:480px){.stage{--k:.86}}
@media (min-width:768px){.stage{--k:.98}}
@media (min-width:1024px){.stage{--k:.9;margin:0}}
@media (min-width:1280px){.stage{--k:1}}
.glow{position:absolute;left:50%;top:46%;width:560px;height:560px;transform:translate(-50%,-50%);border-radius:50%;background:conic-gradient(from 210deg,var(--mag),var(--vio),var(--cy),var(--vio),var(--mag));filter:blur(100px);opacity:.26}
.orbit{position:absolute;left:50%;top:47%;width:620px;height:620px;transform:translate(-50%,-50%)}
.ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,255,255,.07)}
.ring.r2{inset:70px;border:1px dashed rgba(110,168,255,.22);animation:spin 140s linear infinite}
.ring.r3{inset:-110px;border-color:rgba(255,255,255,.045);animation:spin 220s linear infinite reverse}
.ring i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 14px rgba(110,168,255,.9)}
.ring.r2 i:nth-child(1){top:-4px;left:50%;margin-left:-4px}
.ring.r2 i:nth-child(2){bottom:16%;left:4%;background:var(--on);box-shadow:0 0 14px rgba(52,224,161,.9)}
.ring.r2 i:nth-child(3){top:30%;right:-2px;width:6px;height:6px;background:var(--violet);box-shadow:0 0 12px rgba(185,166,255,.9)}
.ring.r3 i:nth-child(1){top:12%;left:14%;width:5px;height:5px;background:var(--cyan)}
.ring.r3 i:nth-child(2){bottom:8%;right:22%;width:6px;height:6px;background:var(--amber);box-shadow:0 0 12px rgba(255,138,76,.8)}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- phone shell (native 390x844, scaled) ---------- */
.ph{position:absolute;left:0;top:0;width:390px;height:844px;padding:11px;border-radius:58px;background:linear-gradient(155deg,#2B2F37 0%,#15171C 38%,#0C0D10 100%);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.16),inset 0 0 0 4px rgba(0,0,0,.5),0 60px 100px -40px rgba(0,0,0,.95),0 0 0 1px rgba(0,0,0,.7);transform-origin:50% 50%;transform:translate(calc(var(--cx) - 195px),calc(var(--cy) - 422px)) rotate(var(--r,0deg)) scale(var(--s,1))}
.ph .scr{position:relative;width:100%;height:100%;overflow:hidden;border-radius:47px;background:var(--bg);isolation:isolate;font-family:var(--sans);color:var(--tx);line-height:1.3}
.ph .scr::before{content:"";position:absolute;z-index:30;top:11px;left:50%;width:112px;height:33px;margin-left:-56px;border-radius:20px;background:#000}
.ph-feed{--cx:322px;--cy:368px;--s:.75;z-index:3}
.ph-pues{--cx:150px;--cy:404px;--s:.6;--r:-8deg;z-index:1}
.ph-chat{--cx:496px;--cy:388px;--s:.6;--r:7deg;z-index:2}
.ph-pues,.ph-chat{filter:brightness(.82)}

.sb{position:relative;z-index:20;display:flex;justify-content:space-between;align-items:center;height:54px;padding:6px 30px 0 36px;font-weight:600;font-size:16px;letter-spacing:-.01em}
.sb-r{display:flex;align-items:center;gap:7px}
.sig{display:flex;align-items:flex-end;gap:2px;height:12px}
.sig b{width:3.5px;border-radius:1px;background:currentColor}
.sig b:nth-child(1){height:4px}.sig b:nth-child(2){height:6.5px}.sig b:nth-child(3){height:9px}.sig b:nth-child(4){height:12px}
.bat{position:relative;width:25px;height:12px;border-radius:4px;box-shadow:inset 0 0 0 1.2px rgba(255,255,255,.5);padding:2px}
.bat b{display:block;width:70%;height:100%;border-radius:2px;background:currentColor}

.ib{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:20px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--line)}
.ib .i{width:19px;height:19px}
.glass{background:rgba(17,19,23,.55)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)!important}
.badge{position:absolute;top:-4px;right:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--pri);font:500 10.5px/15px var(--mono);text-align:center;border:2px solid var(--bg)}
.ap-head{display:flex;justify-content:space-between;align-items:center;padding:6px 16px 0}
.ap-logo{display:flex;align-items:center;gap:7px;font-weight:700;font-size:22px;letter-spacing:-.5px}
.ap-logo img{width:17px}
.ap-btns{display:flex;gap:8px}
.ap-title{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 0}
.ap-title .t{font-size:30px;font-weight:700;letter-spacing:-.8px}
.seg{display:flex;padding:3px;border-radius:19px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.seg>span{display:flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:16px;font-weight:600;font-size:13px;color:var(--tx2)}
.seg>.on{background:var(--tx);color:var(--bg)}
.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--live)}
.live-dot.on{background:var(--on)}

.stories{display:flex;gap:13px;padding:14px 16px 0}
.st{display:flex;flex-direction:column;align-items:center;gap:6px;width:62px;flex:none}
.st-n{font-size:12px;color:var(--tx2)}
.st-n.on{color:var(--tx);font-weight:600}
.st-av{position:relative;display:block;width:62px;height:62px;border-radius:50%}
.st-av>img,.st-av>svg{position:absolute;inset:5px;width:52px;height:52px;border-radius:50%;object-fit:cover}
.st-av.me>svg{inset:4px;width:54px;height:54px;border-radius:19px}
.ring-live{box-shadow:inset 0 0 0 2.5px var(--live)}
.ring-full{box-shadow:inset 0 0 0 2.5px var(--acc)}
.ring-seen{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.2)}
.st-av.ring-seg::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(var(--acc) 0 30%,transparent 30% 33.3%,var(--acc) 33.3% 63.3%,transparent 63.3% 66.6%,rgba(255,255,255,.25) 66.6% 96.6%,transparent 96.6%);-webkit-mask:radial-gradient(circle,transparent 28.6px,#000 29.2px);mask:radial-gradient(circle,transparent 28.6px,#000 29.2px)}
.st-add{position:absolute;right:-2px;bottom:-2px;display:grid;place-items:center;width:22px;height:22px;border-radius:11px;background:var(--pri);border:2px solid var(--bg)}
.st-add .i{width:12px;height:12px;stroke-width:3}
.lv{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);height:17px;padding:0 6px;border-radius:6px;background:var(--live);color:var(--bg);font-size:10px;font-weight:700;letter-spacing:.4px;line-height:13px;border:2px solid var(--bg)}

.post{margin:18px 12px 0;padding:12px;border-radius:24px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line)}
.post-h{display:flex;align-items:center;gap:10px}
.post-h .idn{width:38px;height:38px;border-radius:12px}
.pn b{display:flex;align-items:center;gap:4px;font-size:15px;font-weight:600}
.vf{width:15px;height:15px;color:var(--acc)}
.pn small{display:block;margin-top:2px;font:400 11px/1.2 var(--mono);color:var(--tx3);letter-spacing:.04em}
.pill-sm{display:flex;align-items:center;margin-left:auto;height:30px;padding:0 13px;border-radius:15px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px var(--line);font-size:13px;font-weight:600}
.pill-sm.light{background:var(--tx);color:var(--bg);margin-left:4px}
.post-m{position:relative;margin-top:12px;border-radius:17px;overflow:hidden;aspect-ratio:1/1;background:#0E1016}
.post-m>img{width:100%;height:100%;object-fit:cover}
.pg{position:absolute;top:10px;right:10px;padding:4px 8px;border-radius:9px;background:rgba(7,8,10,.6);font:500 11px/1 var(--mono)}
.tray{position:absolute;left:10px;right:10px;bottom:10px;display:flex;justify-content:space-around;align-items:flex-end;padding:9px 6px 7px;border-radius:24px;background:rgba(17,19,23,.72);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 10px 30px rgba(0,0,0,.4)}
.rx{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10.5px;font-weight:500;color:var(--tx2)}
.rx-f{width:38px;height:38px}
.rx.on .rx-f{width:52px;height:52px;margin-top:-16px;filter:drop-shadow(0 6px 12px rgba(240,78,137,.45))}
.rx.on span{color:var(--tx);font-weight:700}
.post-f{display:flex;align-items:center;gap:14px;padding:12px 4px 2px;font:500 13px/1 var(--mono);color:var(--tx2)}
.rstack{display:flex;margin-right:-6px}
.rstack img{width:22px;height:22px;margin-right:-7px;border-radius:50%;box-shadow:0 0 0 2px var(--s1);background:var(--s1)}
.pf-i{display:flex;align-items:center;gap:6px}
.pf-i .i,.pf-r .i{width:19px;height:19px}
.pf-r{display:flex;gap:14px;margin-left:auto;color:var(--tx)}

.dock{position:absolute;z-index:10;left:12px;right:12px;bottom:22px;display:flex;align-items:center;gap:8px}
.dock .tabs{flex:1;display:flex;height:66px;padding:6px;border-radius:33px;background:var(--glass);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:inset 0 0 0 1px var(--line)}
.dock .tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:27px;font-size:11px;font-weight:600;color:var(--tx2)}
.dock .tab .i{width:21px;height:21px}
.dock .tab.on{background:rgba(42,98,245,.2);color:var(--acc)}
.fab{display:grid;place-items:center;width:62px;height:62px;border-radius:31px;background:var(--pri);box-shadow:0 12px 26px -8px rgba(42,98,245,.8)}
.fab .i{width:24px;height:24px;stroke-width:2.2}

/* pues */
.ph-pues .scr{background:#05070A}
.pues-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph-pues .scr::after,.ph-random .scr::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(7,8,10,.92) 0,rgba(7,8,10,.35) 34%,transparent 52%),linear-gradient(to bottom,rgba(7,8,10,.55),transparent 18%)}
.pues-top{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:4px 14px 0}
.rail{position:absolute;z-index:5;right:12px;bottom:214px;display:flex;flex-direction:column;gap:14px;align-items:center}
.rail>span{display:flex;flex-direction:column;align-items:center;gap:5px}
.rb{display:grid;place-items:center;width:48px;height:48px;border-radius:24px;background:rgba(17,19,23,.5);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.rb img{width:32px;height:32px}
.rail small{font:500 11px/1 var(--mono)}
.pues-cap{position:absolute;z-index:5;left:16px;right:78px;bottom:140px}
.pues-who{display:flex;align-items:center;gap:10px;font-size:16px}
.pues-who .idn{width:34px;height:34px;border-radius:11px}
.pues-txt{margin-top:10px;font-size:14.5px;line-height:1.45}
.pues-txt em{font-style:normal;color:var(--acc)}
.audio-chip{display:inline-flex;align-items:center;gap:7px;margin-top:10px;height:28px;padding:0 11px;border-radius:14px;background:rgba(17,19,23,.55);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);font-size:12px}
.audio-chip .i{width:14px;height:14px}
.prog{position:absolute;z-index:5;left:16px;right:16px;bottom:104px;display:flex;align-items:center;gap:10px;font:500 11px/1 var(--mono);color:var(--tx2)}
.prog i,.mini-prog i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.2);position:relative}
.prog b,.mini-prog b{position:absolute;left:0;top:0;bottom:0;width:36%;border-radius:2px;background:var(--tx)}
.prog b::after,.mini-prog b::after{content:"";position:absolute;right:-6px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:var(--tx)}

/* chat */
.th-head{display:flex;align-items:center;gap:10px;padding:4px 14px 12px;border-bottom:1px solid var(--line)}
.th-head>.i{width:22px;height:22px}
.av-on{position:relative;flex:none}
.av-on .idn{width:40px;height:40px;border-radius:13px}
.av-on i{position:absolute;right:-2px;bottom:-2px;width:12px;height:12px;border-radius:50%;background:var(--on);border:2.5px solid var(--bg)}
.th-n{display:flex;flex-direction:column;margin-right:auto}
.th-n b{font-size:16px}
.th-n small{font-size:12px;color:var(--on)}
.th-head .ib{width:38px;height:38px}
.msgs{display:flex;flex-direction:column;gap:8px;padding:14px 12px}
.day{align-self:center;padding:4px 10px;border-radius:9px;background:rgba(255,255,255,.05);font:500 10.5px/1.2 var(--mono);color:var(--tx3);letter-spacing:.08em}
.b{max-width:80%;padding:9px 13px;border-radius:20px;font-size:15px;line-height:1.38}
.b time{display:block;margin-top:3px;font:400 10.5px/1 var(--mono);text-align:right;opacity:.62}
.b.in{align-self:flex-start;background:var(--s2);border-bottom-left-radius:6px}
.b.out{align-self:flex-end;background:var(--pri);color:#fff;border-bottom-right-radius:6px}
.voice{display:flex;align-items:center;gap:10px;padding:7px 14px 7px 7px}
.vplay{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--tx);color:var(--bg);flex:none}
.vplay .i{width:15px;height:15px}
.vt{font:500 12px/1 var(--mono);color:var(--tx2)}
.wave{display:flex;align-items:center;gap:2.5px;height:26px}
.wave i{width:3px;height:30%;border-radius:2px;background:rgba(242,244,247,.55)}
.wave i:nth-child(-n+9){background:var(--acc)}
.wave i:nth-child(3n){height:65%}.wave i:nth-child(4n){height:90%}.wave i:nth-child(5n){height:45%}.wave i:nth-child(7n){height:100%}.wave i:nth-child(11n){height:20%}
.gif{position:relative;align-self:flex-end;width:178px;height:124px;border-radius:18px;overflow:hidden;border-bottom-right-radius:6px}
.gif img{width:100%;height:100%;object-fit:cover}
.gif b{position:absolute;left:8px;top:8px;padding:3px 7px;border-radius:7px;background:rgba(7,8,10,.65);font:600 11px/1 var(--mono);letter-spacing:.06em}
.typing{align-self:flex-start;display:flex;gap:4px;padding:12px 14px;border-radius:18px;background:var(--s2)}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--tx2);animation:blink 1.4s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.3}40%{opacity:1}}
.composer{position:absolute;left:12px;right:12px;bottom:30px;display:flex;align-items:center;gap:8px}
.cin{flex:1;display:flex;align-items:center;gap:10px;height:50px;padding:0 8px 0 14px;border-radius:25px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line);color:var(--tx3);font-size:15px}
.cin span{flex:1}
.cin b{padding:4px 7px;border-radius:7px;background:rgba(255,255,255,.08);color:var(--tx2);font:600 11px/1 var(--mono)}
.cmic{display:grid;place-items:center;width:50px;height:50px;border-radius:25px;background:var(--pri)}

/* call card */
@media (max-width:479px){.callcard{display:none}}
.callcard{position:absolute;z-index:4;left:14px;top:448px;width:178px;height:244px;border-radius:26px;overflow:hidden;background:#0A0C10;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 30px 60px -18px rgba(0,0,0,.9);transform:rotate(-4deg)}
.cc-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cc-top{position:absolute;left:10px;top:10px;display:flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:13px;background:rgba(17,19,23,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:12px;font-weight:600}
.cc-top .mono{font-weight:500;color:var(--tx2)}
.cc-self{position:absolute;right:10px;top:44px;width:52px;height:70px;border-radius:12px;object-fit:cover;box-shadow:0 0 0 1.5px rgba(255,255,255,.3)}
.cc-ctl{position:absolute;left:10px;right:10px;bottom:10px;display:flex;justify-content:space-between;padding:6px;border-radius:24px;background:rgba(17,19,23,.6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.cc-ctl span{display:grid;place-items:center;width:38px;height:38px;border-radius:19px;background:rgba(255,255,255,.1)}
.cc-ctl .i{width:17px;height:17px}
.cc-ctl .end,.rd-ctl .end{background:var(--live);color:#fff}

/* ---------- bento ---------- */
.bento{display:grid;gap:12px;margin-top:44px;grid-template-columns:minmax(0,1fr)}
.cell{position:relative;display:flex;flex-direction:column;min-height:220px;padding:22px;border-radius:var(--r26);background:var(--s1);overflow:hidden;isolation:isolate}
.cell::before{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--line);pointer-events:none;transition:box-shadow .25s}
.cell-t{display:flex;align-items:center;gap:10px}
.cell-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(110,168,255,.12);color:var(--acc);flex:none}
.cell-ic .i{width:18px;height:18px}
.cell h3{font-size:21px;line-height:1.15;letter-spacing:-.02em;font-weight:700}
.cell p{margin-top:10px;font-size:15.5px;line-height:1.55;color:var(--tx2);max-width:34em}
.cell-bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.cell-over{margin-top:auto;position:relative}
.cell:has(.cell-bg)::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(7,8,10,.94) 0,rgba(7,8,10,.62) 40%,rgba(7,8,10,.05) 75%)}
.cell:has(.cell-bg) p{color:#C3C8D1}
.cell:has(.cell-bg) .cell-ic{background:rgba(17,19,23,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.scale{display:flex;justify-content:space-between;gap:6px;margin-top:auto;padding-top:28px}
.scale li{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13.5px;font-weight:600}
.scale img{width:52px;height:52px;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.scale li:hover img{transform:translateY(-4px) scale(1.08)}
.scale-bar{display:flex;align-items:center;gap:12px;margin-top:16px;font:500 11.5px/1 var(--mono);color:var(--tx3)}
.scale-bar i{flex:1;height:2px;border-radius:2px;background:linear-gradient(90deg,#3F8F62,#5583B7,#98A1B2,#E9A23C,#F04E89)}
.c-pues{min-height:420px}
.mini-prog{display:flex;align-items:center;gap:10px;margin-top:18px;font:500 11.5px/1 var(--mono);color:var(--tx2)}
.mini-chat{display:flex;flex-direction:column;gap:6px;margin-top:20px}
.mini-chat .b{font-size:14px;padding:8px 12px}
.mini-chat .voice{padding:6px 12px 6px 6px}
.mini-chat .vplay{width:28px;height:28px}
.mini-chat .wave{height:20px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.chips li{height:28px;padding:0 11px;border-radius:14px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--line);font-size:12.5px;line-height:28px;color:var(--tx2)}
.c-call{min-height:300px}
.pip{position:absolute;top:18px;right:18px;z-index:0;width:72px;height:96px;border-radius:16px;object-fit:cover;box-shadow:0 0 0 1.5px rgba(255,255,255,.35),0 10px 24px rgba(0,0,0,.5)}
.rings{display:flex;gap:12px;margin-top:auto;padding-top:24px}
.rings>span{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:12.5px;color:var(--tx2)}
.sr{position:relative;display:block;width:60px;height:60px;border-radius:50%;flex:none}
.sr>img,.sr>svg{position:absolute;inset:5px;width:50px;height:50px;border-radius:50%;object-fit:cover}
.sr.live{box-shadow:inset 0 0 0 2.5px var(--live)}
.sr.full{box-shadow:inset 0 0 0 2.5px var(--acc)}
.sr.seen{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.22)}
.sr.seg::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(var(--acc) 0 22%,transparent 22% 25%,var(--acc) 25% 47%,transparent 47% 50%,var(--acc) 50% 72%,transparent 72% 75%,rgba(255,255,255,.25) 75% 97%,transparent 97%);-webkit-mask:radial-gradient(circle,transparent 27.6px,#000 28.2px);mask:radial-gradient(circle,transparent 27.6px,#000 28.2px)}
.badge-live{display:inline-block;margin-bottom:14px;height:22px;padding:0 8px;border-radius:7px;background:var(--live);color:var(--bg);font-size:11.5px;font-weight:700;letter-spacing:.06em;line-height:22px}
.mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:auto;padding-top:22px}
.mosaic img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}
.shelf{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:auto;padding-top:22px}
.shelf li{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/3}
.shelf img{width:100%;height:100%;object-fit:cover}
.shelf span{position:absolute;left:8px;bottom:8px;display:flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:14px;background:rgba(17,19,23,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:12.5px;font-weight:600}
.shelf .i{width:14px;height:14px}
.c-games{min-height:280px}
.c-games:hover::before{box-shadow:inset 0 0 0 1px rgba(110,168,255,.55)}
.cell-more{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-weight:600;color:var(--acc)}
.cell-more .i{width:17px;height:17px;transition:transform .2s}
.c-games:hover .cell-more .i{transform:translateX(3px)}
@media (min-width:640px){
  .bento{grid-template-columns:repeat(6,minmax(0,1fr))}
  .c-feed,.c-library{grid-column:span 6}
  .c-pues,.c-chat,.c-call,.c-stories,.c-live,.c-discover,.c-games{grid-column:span 3}
  .shelf{grid-template-columns:repeat(4,1fr)}
  .shelf li{aspect-ratio:3/4}
}
@media (min-width:1024px){
  .bento{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
  .cell{padding:28px}
  .c-feed{grid-column:span 7;min-height:340px}
  .c-pues{grid-column:span 5;grid-row:span 2}
  .c-chat{grid-column:span 4}
  .c-call{grid-column:span 3}
  .c-stories,.c-live,.c-discover{grid-column:span 4}
  .c-library{grid-column:span 8}
  .c-games{grid-column:span 4}
  .scale img{width:64px;height:64px}
}

/* ---------- random ---------- */
.sec-random{position:relative;background:radial-gradient(60% 50% at 75% 40%,rgba(42,98,245,.12),transparent 70%)}
.rnd-grid{display:grid;gap:40px}
.steps{display:grid;gap:4px;margin-top:36px;counter-reset:s}
.steps li{display:flex;gap:16px;padding:18px 0;border-top:1px solid var(--line)}
.steps .n{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:rgba(110,168,255,.12);color:var(--acc);font-size:13px;font-weight:500;flex:none}
.steps h3{font-size:18px;letter-spacing:-.015em}
.steps p{margin-top:4px;color:var(--tx2);font-size:15.5px}
.rnd-stage{position:relative;height:calc(844px * var(--k));--k:.7}
.rnd-in{position:absolute;left:50%;top:0;width:390px;height:844px;transform:translateX(-50%) scale(var(--k));transform-origin:50% 0}
.rnd-in::before{content:"";position:absolute;left:50%;top:50%;width:520px;height:520px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(42,98,245,.3),transparent 65%);filter:blur(30px)}
.ph-random{--cx:195px;--cy:422px;--s:1}
.rd-top{position:relative;z-index:5;display:flex;justify-content:space-between;padding:4px 14px 0}
.chip{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;border-radius:17px;font-size:13.5px;font-weight:600}
.chip .mono{font-weight:500;color:var(--tx2)}
.chip .i{width:15px;height:15px}
.chip.report{background:rgba(255,77,94,.16);color:#FF8C97;box-shadow:inset 0 0 0 1px rgba(255,77,94,.35)}
.rd-self{position:absolute;z-index:5;right:14px;top:106px;width:96px;height:128px;border-radius:18px;overflow:hidden;box-shadow:0 0 0 1.5px rgba(255,255,255,.3),0 12px 30px rgba(0,0,0,.5)}
.rd-self img{width:100%;height:100%;object-fit:cover}
.rd-self b{position:absolute;left:6px;bottom:6px;padding:2px 7px;border-radius:7px;background:rgba(7,8,10,.6);font-size:11px}
.reveal{position:absolute;z-index:5;left:40px;right:40px;top:300px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 18px;border-radius:26px;background:rgba(17,19,23,.6);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);text-align:center}
.cd{width:60px;height:60px}
.cd-arc{animation:cd 6s linear infinite}
@keyframes cd{to{stroke-dashoffset:100}}
.cd-n{position:absolute;top:38px;font:500 22px/1 var(--mono)}
.reveal b{margin-top:6px;font-size:17px}
.reveal>span:not(.cd-n){font-size:13.5px;color:#C3C8D1;line-height:1.4}
.btn-mini{margin-top:8px;height:38px;padding:0 18px;border-radius:19px;background:var(--tx);color:var(--bg)!important;font-weight:700;font-size:14px;line-height:38px}
.rd-who{position:absolute;z-index:5;left:14px;right:14px;bottom:108px;display:flex;align-items:center;gap:12px;padding:12px;border-radius:22px;background:rgba(17,19,23,.65);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.rd-who .idn{width:42px;height:42px;border-radius:13px}
.rd-who span:nth-child(2){flex:1;display:flex;flex-direction:column}
.rd-who b{font-size:15px}
.rd-who small{font-size:12.5px;color:var(--tx2)}
.rd-ctl{position:absolute;z-index:5;left:14px;right:14px;bottom:30px;display:flex;align-items:center;gap:8px}
.rd-ctl .ib{width:48px;height:48px;border-radius:24px;background:rgba(17,19,23,.65)}
.rd-ctl .next{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;height:50px;border-radius:25px;background:var(--pri);font-weight:700;font-size:15px}
.rd-ctl .next .i{width:16px;height:16px}
.rd-ctl .end{display:grid;place-items:center;width:50px;height:50px;border-radius:25px}
.safety{display:grid;gap:12px}
.safety li{display:flex;gap:14px;padding:20px;border-radius:var(--r22);background:var(--s1);box-shadow:inset 0 0 0 1px var(--line)}
.safety>li>.i{width:22px;height:22px;color:var(--acc);margin-top:2px}
.safety h3{font-size:16.5px;letter-spacing:-.01em}
.safety p{margin-top:4px;font-size:15px;color:var(--tx2)}
@media (min-width:640px){.safety{grid-template-columns:repeat(2,minmax(0,1fr))}.rnd-stage{--k:.78}}
@media (min-width:1024px){
  .rnd-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);column-gap:64px;row-gap:56px;align-items:center}
  .rnd-visual{grid-column:2;grid-row:1}
  .safety{grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr))}
  .safety li{flex-direction:column}
  .rnd-stage{--k:.8}
}

/* ---------- safety & docs ---------- */
.safe-grid{display:grid;gap:40px}
.facts{display:grid;gap:0;margin-top:32px}
.facts li{padding:16px 0;border-top:1px solid var(--line)}
.facts h3{font-size:17px;letter-spacing:-.01em}
.facts p{margin-top:2px;color:var(--tx2);font-size:15px}
.docs{display:grid;gap:10px;align-content:start}
.docs a{display:flex;align-items:center;gap:16px;padding:22px;border-radius:var(--r22);background:var(--s1);box-shadow:inset 0 0 0 1px var(--line);transition:background-color .2s,box-shadow .2s}
.docs a:hover{background:var(--s2);box-shadow:inset 0 0 0 1px rgba(110,168,255,.4)}
.docs a>span{flex:1;display:flex;flex-direction:column;gap:4px}
.docs b{font-size:17.5px;letter-spacing:-.01em}
.docs small{font-size:14.5px;line-height:1.5;color:var(--tx2)}
.docs .i{color:var(--acc);transition:transform .2s}
.docs a:hover .i{transform:translateX(3px)}
@media (min-width:1024px){.safe-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:start}}

/* ---------- web apps ---------- */
.webapps{display:grid;margin-top:40px;border-top:1px solid var(--line)}
.webapps a{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 18px;padding:22px 4px;border-bottom:1px solid var(--line);transition:background-color .2s}
.webapps a:hover{background:linear-gradient(90deg,rgba(42,98,245,.08),transparent 70%)}
.w-ic{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--s2);box-shadow:inset 0 0 0 1px var(--line);color:var(--acc);grid-row:span 2}
.w-t{display:flex;flex-direction:column}
.w-t b{font-size:clamp(20px,2.4vw,28px);letter-spacing:-.03em;line-height:1.15}
.w-t span{font-size:15px;color:var(--tx2);margin-top:2px}
.w-d{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--tx3)}
.w-d .i{width:15px;height:15px}
.webapps a:hover .w-d{color:var(--acc)}
@media (min-width:768px){
  .webapps a{grid-template-columns:auto minmax(0,1fr) auto;padding:26px 8px}
  .w-ic{grid-row:auto}
  .w-d{font-size:14px}
}

/* ---------- games ---------- */
.games-card{position:relative;display:block;min-height:540px;border-radius:32px;overflow:hidden;isolation:isolate;background:var(--s1)}
.games-card::before{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--line);pointer-events:none}
.gc-bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.games-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(7,8,10,.96) 8%,rgba(7,8,10,.55) 50%,rgba(7,8,10,.1) 85%)}
.games-card:hover .gc-bg{transform:scale(1.03)}
.gc-in{position:absolute;left:0;right:0;bottom:0;padding:28px 22px}
.gc-in .lead{color:#C9CED6}
.gc-in .btn{margin-top:26px}
.gc-note{margin-top:18px;font-size:14px;color:var(--tx2)}
@media (min-width:1024px){.games-card{min-height:600px}.gc-in{padding:56px;max-width:720px}.games-card::after{background:linear-gradient(to right,rgba(7,8,10,.94) 10%,rgba(7,8,10,.5) 50%,transparent 80%),linear-gradient(to top,rgba(7,8,10,.7),transparent 40%)}}

/* ---------- faq ---------- */
.faq-grid{display:grid;gap:36px}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 2px;cursor:pointer;list-style:none;font-size:clamp(17px,1.6vw,19px);font-weight:600;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--acc)}
.fq-i{width:22px;height:22px;color:var(--tx2);transition:transform .25s}
.faq details[open] .fq-i{transform:rotate(45deg);color:var(--acc)}
.fq-a{padding:0 2px 22px;max-width:44em}
.fq-a p{color:var(--tx2);font-size:16px;line-height:1.6}
.fq-a a{color:var(--acc);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(110,168,255,.4)}
@media (min-width:1024px){.faq-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:72px}}

/* ---------- final cta ---------- */
.final{padding:40px 0 112px}
.final-in{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:72px 20px;border-radius:36px;background:radial-gradient(70% 90% at 50% 0%,rgba(42,98,245,.18),transparent 70%),var(--s1);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.final-in .lead{margin-inline:auto}
.final-in .hero-cta{justify-content:center}
.final-mark{position:relative;width:88px;height:100px;margin-bottom:28px}
.final-mark::before{content:"";position:absolute;inset:-30px;border-radius:50%;background:conic-gradient(from 200deg,var(--mag),var(--vio),var(--cy),var(--mag));filter:blur(40px);opacity:.45}
.final-mark img{position:relative;width:88px}

/* ---------- footer ---------- */
.ftr{border-top:1px solid var(--line);padding:56px 0 36px;background:linear-gradient(to bottom,var(--bg),#050608)}
.ftr-top{display:grid;gap:40px}
.ftr-brand p{margin:14px 0 18px;color:var(--tx2);font-size:15px;max-width:22em}
.ftr-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.ftr-cols h2{font:500 12.5px/1 var(--mono);color:var(--tx3);margin-bottom:14px;letter-spacing:.02em}
.ftr-cols li+li{margin-top:9px}
.ftr-cols a{font-size:15px;color:var(--tx2);transition:color .2s}
.ftr-cols a:hover{color:var(--tx)}
.ftr-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line);font:400 12.5px/1.4 var(--mono);color:var(--tx3)}
@media (min-width:768px){.ftr-cols{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1024px){.ftr-top{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}}

/* ---------- documents (legal) ---------- */
.doc-hero{padding:56px 0 8px}
.doc-hero .h2{font-size:clamp(38px,6vw,72px)}
.doc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:22px}
.eff{font:500 13px/1 var(--mono);color:var(--tx2)}
.langs{display:inline-flex;padding:3px;border-radius:19px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--line)}
.langs a{display:flex;align-items:center;height:34px;padding:0 14px;border-radius:16px;font-weight:600;font-size:14px;color:var(--tx2)}
.langs a[aria-current=true]{background:var(--tx);color:var(--bg)}
.langs a:hover:not([aria-current=true]){color:var(--tx)}
.tldr{margin-top:36px;padding:24px;border-radius:var(--r26);background:linear-gradient(160deg,rgba(42,98,245,.14),rgba(42,98,245,.03) 60%),var(--s1);box-shadow:inset 0 0 0 1px rgba(110,168,255,.22)}
.tldr h2{display:flex;align-items:center;gap:10px;font-size:18px;letter-spacing:-.01em}
.tldr h2 .i{color:var(--acc)}
.tldr ul{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:16px}
.tldr li{position:relative;padding-left:22px;color:#C9CED6;font-size:15.5px;line-height:1.55}
.tldr li::before{content:"";position:absolute;left:4px;top:.62em;width:7px;height:7px;border-radius:2px;background:var(--acc)}
@media (min-width:768px){.tldr{padding:28px 32px}.tldr ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 32px}}
.lang-sec{padding:40px 0 24px}
.lang-sec+.lang-sec{border-top:1px solid var(--line);margin-top:48px;padding-top:72px}
.lang-tag{display:inline-flex;align-items:center;gap:8px;font:500 13px/1 var(--mono);color:var(--acc);margin-bottom:12px}
.doc-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.toc{border-radius:var(--r22);background:var(--s1);box-shadow:inset 0 0 0 1px var(--line);align-self:start}
.toc summary{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;list-style:none;font-weight:600}
.toc summary::-webkit-details-marker{display:none}
.toc summary .i{transition:transform .2s;color:var(--tx2)}
.toc[open] summary .i{transform:rotate(180deg)}
.toc ol{padding:0 12px 14px;margin:0;list-style:none;counter-reset:t}
.toc li{counter-increment:t}
.toc a{display:flex;gap:10px;padding:7px 8px;border-radius:10px;font-size:14.5px;line-height:1.35;color:var(--tx2)}
.toc a::before{content:counter(t,decimal-leading-zero);font:500 11.5px/1.6 var(--mono);color:var(--tx3);flex:none}
.toc a:hover,.toc a.on{color:var(--tx);background:rgba(255,255,255,.05)}
.toc a.on::before{color:var(--acc)}
@media (min-width:1024px){
  .doc-grid{grid-template-columns:260px minmax(0,1fr);gap:64px}
  .toc{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;background:none;box-shadow:none}
  .toc summary{padding:4px 8px 12px;cursor:default;pointer-events:none;font:500 12.5px/1 var(--mono);color:var(--tx3)}
  .toc summary .i{display:none}
  .toc ol{padding:0}
}
.prose{max-width:720px;font-size:16.5px;line-height:1.7;color:#C9CED6}
.prose>section{padding-top:8px}
.prose>section+section{margin-top:48px}
.prose h2{scroll-margin-top:100px;display:flex;align-items:baseline;gap:12px;font-size:clamp(22px,2.4vw,28px);line-height:1.2;letter-spacing:-.025em;color:var(--tx);margin-bottom:16px}
.prose h2 .no{font:500 13px/1 var(--mono);color:var(--acc);flex:none;transform:translateY(-3px)}
.prose h3{font-size:18px;letter-spacing:-.01em;color:var(--tx);margin:28px 0 8px}
.prose p+p,.prose p+ul,.prose ul+p,.prose p+ol,.prose ol+p,.prose ul+ul,.prose .tbl+p,.prose p+.tbl,.prose p+.note,.prose .note+p{margin-top:14px}
.prose ul,.prose ol{padding-left:0;list-style:none;display:grid;gap:8px}
.prose ul>li{position:relative;padding-left:22px}
.prose ul>li::before{content:"";position:absolute;left:5px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--tx3)}
.prose ol{counter-reset:o}
.prose ol>li{position:relative;padding-left:40px;counter-increment:o;min-height:28px}
.prose ol>li::before{content:counter(o);position:absolute;left:0;top:1px;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(110,168,255,.12);color:var(--acc);font:500 13px/1 var(--mono)}
.prose strong,.prose b{color:var(--tx);font-weight:600}
.prose a{color:var(--acc);text-decoration:underline;text-decoration-color:rgba(110,168,255,.4);text-underline-offset:3px}
.prose a:hover{text-decoration-color:var(--acc)}
.prose code,.path{font:500 .9em/1.5 var(--mono);color:var(--tx);background:rgba(255,255,255,.06);padding:2px 7px;border-radius:7px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.note{padding:16px 18px;border-radius:var(--r18);background:var(--s1);box-shadow:inset 0 0 0 1px var(--line);font-size:15.5px}
.note.warn{background:rgba(255,77,94,.07);box-shadow:inset 0 0 0 1px rgba(255,77,94,.3)}
.note.warn strong{color:#FF8C97}
.tbl{border-radius:var(--r18);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.tbl table{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.5}
.tbl th,.tbl td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.tbl th{font:500 12px/1.3 var(--mono);color:var(--tx3);background:rgba(255,255,255,.02)}
.tbl tr:last-child td{border-bottom:0}
.tbl td:first-child{color:var(--tx);font-weight:500}
@media (max-width:639px){
  .tbl thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tbl table,.tbl tbody,.tbl tr,.tbl td{display:block}
  .tbl tr{padding:14px 16px;border-bottom:1px solid var(--line)}
  .tbl tr:last-child{border-bottom:0}
  .tbl td{padding:0;border:0}
  .tbl td+td{margin-top:8px}
  .tbl td+td::before{content:attr(data-label);display:block;font:500 11.5px/1.4 var(--mono);color:var(--tx3);margin-bottom:2px}
  .tbl td:first-child{font-size:15px}
}
.contact-card{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:20px;padding:22px 24px;border-radius:var(--r22);background:var(--s1);box-shadow:inset 0 0 0 1px var(--line)}
.contact-card div{flex:1;min-width:220px}
.contact-card div>b{display:block;color:var(--tx);font-size:17px}
.contact-card div>span{font-size:14.5px;color:var(--tx2)}
.prose .contact-card a.btn{text-decoration:none;color:#fff}
.backtop{display:inline-flex;align-items:center;gap:8px;margin-top:40px;font:500 13px/1 var(--mono);color:var(--tx3)}
.backtop:hover{color:var(--tx)}
.steps-big{display:grid;gap:12px;margin-top:20px}
.path-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}
.path-row .chev{color:var(--tx3);font-family:var(--mono)}
.path-row .path{white-space:nowrap}

/* ---------- smart link / 404 ---------- */
.solo{min-height:calc(100vh - 340px);display:grid;place-items:center;padding:48px 0 96px}
.open-card{position:relative;width:100%;max-width:520px;margin-inline:auto;padding:32px 24px;border-radius:32px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line),0 40px 80px -40px rgba(0,0,0,.9);text-align:center;overflow:hidden;isolation:isolate}
.open-card::before{content:"";position:absolute;left:50%;top:-140px;z-index:-1;width:380px;height:280px;margin-left:-190px;border-radius:50%;background:conic-gradient(from 200deg,var(--mag),var(--vio),var(--cy),var(--mag));filter:blur(80px);opacity:.28}
.oc-mark{display:grid;place-items:center;width:84px;height:84px;margin:0 auto;border-radius:27px;background:var(--s2);box-shadow:inset 0 0 0 1px var(--line2)}
.oc-mark img{width:40px}
.oc-mark .idn{width:84px;height:84px;border-radius:27px}
.oc-kind{display:inline-flex;align-items:center;gap:8px;margin-top:22px;height:30px;padding:0 12px;border-radius:15px;background:rgba(110,168,255,.12);color:var(--acc);font:500 12.5px/1 var(--mono)}
.oc-kind .i{width:15px;height:15px}
.open-card h1{margin-top:14px;font-size:clamp(28px,6vw,36px);line-height:1.08;letter-spacing:-.035em;text-wrap:balance}
.open-card .oc-sub{margin-top:10px;color:var(--tx2);font-size:16px;text-wrap:pretty}
.oc-code{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:6px 6px 6px 14px;border-radius:14px;background:var(--s2);box-shadow:inset 0 0 0 1px var(--line2);font-size:13.5px;color:var(--tx2)}
.oc-code b{padding:5px 10px;border-radius:9px;background:rgba(110,168,255,.12);color:var(--tx);font:500 15px/1 var(--mono);letter-spacing:.04em}
.oc-actions{display:grid;gap:10px;margin-top:28px}
.oc-actions .btn{width:100%}
.oc-foot{margin-top:20px;font-size:13.5px;color:var(--tx3)}
.oc-foot a{color:var(--tx2);text-decoration:underline;text-underline-offset:3px}
.nf-code{font:500 clamp(84px,18vw,160px)/1 var(--mono);letter-spacing:-.06em;background:linear-gradient(180deg,var(--tx),rgba(242,244,247,.15));-webkit-background-clip:text;background-clip:text;color:transparent}
.nf h1{margin-top:12px}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media print{
  .hdr,.ftr,.toc,.langs,.backtop{display:none!important}
  body{background:#fff;color:#000}
  .prose,.prose h2,.prose h3,.prose strong{color:#000}
  .tldr,.note,.tbl{box-shadow:none;border:1px solid #ccc;background:none}
}
