/* AllRead 3.0 design system: tokens, premium chrome, cards, buttons, dark mode. Loaded last (overrides style/kidslib/paths). */
:root{
 --b9:#06323A;--b8:#0A4A52;--b7:#0B6664;--b6:#0D7F7A;--b5:#12A096;--b3:#7FD3C9;--b1:#D5F1EC;--b0:#ECF8F6;
 --ink:#0F1C24;--ink2:#3F4F5A;--muted:#5E6E79;--line:#E3E9EC;--line2:#EEF2F4;--app:#F5F7F8;--card:#FFFFFF;--card2:#F9FBFB;
 --teal:#2DB5A6;--teal-l:#7FD3C9;--teal-d:#0B6664;--teal-bg:#E6F5F3;
 --coral:#F2765B;--gold:#F4B740;--violet:#7C6CF2;--sky:#3D9BE9;
 --ui:"Atkinson Hyperlegible",-apple-system,system-ui,"Segoe UI",Roboto,sans-serif;--r:20px;
 --sh1:0 1px 2px rgba(15,28,36,.06),0 1px 1px rgba(15,28,36,.04);--sh2:0 8px 24px -10px rgba(15,28,36,.16),0 2px 6px rgba(15,28,36,.05);--sh3:0 24px 48px -18px rgba(6,50,58,.45);
 --ease:cubic-bezier(.2,.8,.2,1);--grad:linear-gradient(150deg,#109A90 0%,#0A5862 55%,#0A3446 100%);
}
body[data-bg=white]{--bg:#FFFFFF}
html.dark,html.dark body,body[data-bg=dark]{--ink:#EAF1F3;--ink2:#C2CFD5;--muted:#93A3AC;--line:#24343C;--line2:#1C2B32;--app:#0B161B;--card:#111F26;--card2:#15252D;--bg:#0E1A20;
 --teal-bg:#103033;--teal-d:#6FDCCB;--b0:#0F2A2D;--b1:#134045;--hl:#F5C542;--hl-ink:#111;--sh1:none;--sh2:0 10px 30px -14px rgba(0,0,0,.7);--mask:rgba(0,0,0,.72)}
html.dark{color-scheme:dark}
html,body{background:var(--app)}
body{font-family:var(--ui);color:var(--ink);-webkit-font-smoothing:antialiased;letter-spacing:.005em}
body.reading{background:var(--bg)}
::selection{background:var(--b1)}
/* ---------- top bar ---------- */
.top{background:var(--app);border-bottom:1px solid transparent;min-height:60px;padding:calc(8px + var(--safe-t)) 16px 8px;gap:10px;transition:border-color .2s}
body.reading .top{background:var(--card);border-bottom-color:var(--line2)}
.brand{gap:10px;font:700 20px/1 var(--ui);letter-spacing:-.2px}
.brand .lmark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;color:#fff;background:linear-gradient(140deg,var(--b5),var(--b8));box-shadow:0 6px 14px -6px rgba(13,127,122,.7)}
.brand .lmark svg{stroke-width:2.2}
.toptitle{font:700 17px/1.2 var(--ui);letter-spacing:-.1px}
.iconbtn{min-width:44px;width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink2);box-shadow:var(--sh1);font-size:22px}
.iconbtn.aa{font:700 16px var(--ui);color:var(--ink)}
.profbtn{min-height:44px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:0 14px 0 11px;gap:7px;font:700 14px var(--ui);box-shadow:var(--sh1)}
.langpill{border:1px solid var(--line);background:var(--card2);border-radius:999px;padding:3px;gap:2px;box-shadow:none}
.langpill button{min-width:40px;height:36px;border-radius:999px;font:700 13px var(--ui);color:var(--muted);letter-spacing:.3px}
.langpill button[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(15,28,36,.18)}
html.dark .langpill button[aria-pressed=true]{background:var(--b6);color:#fff}
/* ---------- tab bar ---------- */
.tabs{background:var(--card);border-top:1px solid var(--line2);box-shadow:0 -10px 30px -18px rgba(15,28,36,.25);padding:6px 6px calc(6px + var(--safe-b))}
.tab{font:700 11px var(--ui);color:var(--muted);gap:4px;min-height:56px;transition:color .2s}
.tab svg{transition:transform .25s var(--ease)}
.tab[aria-current=true]{color:var(--b6)}
html.dark .tab[aria-current=true]{color:var(--b3)}
.tab[aria-current=true] svg{background:none;padding:0;stroke-width:2.2;transform:translateY(-1px)}
.tab[aria-current=true]::after{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;margin-top:1px}
.tab:not([aria-current=true])::after{content:"";width:5px;height:5px;margin-top:1px}
/* ---------- type ---------- */
main{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.hl,.ahl,.ptitle{font:700 28px/1.15 var(--ui);letter-spacing:-.5px;color:var(--ink)}
.hl.sm{font-size:24px}
.hsub{color:var(--muted);font-size:15px;line-height:1.5}
.grp,.ash{font:700 12px var(--ui);letter-spacing:.9px;text-transform:uppercase;color:var(--muted);margin:28px 2px 10px}
.ash a,.grp a{color:var(--b6);letter-spacing:0;text-transform:none;font-size:13px}
.eyebrow{display:block;font:700 12px var(--ui);letter-spacing:.9px;text-transform:uppercase;color:var(--b6);margin:4px 0 6px}
html.dark .eyebrow{color:var(--b3)}
a{color:var(--teal-d)}
/* ---------- buttons ---------- */
.btn{min-height:52px;border-radius:16px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:700 16px var(--ui);box-shadow:var(--sh1);gap:8px;transition:transform .15s var(--ease),box-shadow .2s,background .2s}
.btn:active{transform:scale(.98)}
.btn.main{background:linear-gradient(180deg,#10948B,#0B7570);border-color:transparent;color:#fff;box-shadow:0 10px 22px -12px rgba(13,127,122,.9),inset 0 1px 0 rgba(255,255,255,.18)}
html.dark .btn.main{background:linear-gradient(180deg,#14A69B,#0D847E)}
.btn.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--teal-d)}
.btn.sm{min-height:44px;font-size:14px;border-radius:13px}
.i3{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:0;margin-right:2px}
.i3.ch{margin:0 0 0 4px;opacity:.8}
.i3 svg{width:1.1em;height:1.1em;min-width:16px;min-height:16px}
.btn .i3 svg{width:18px;height:18px}
/* ---------- cards & lists ---------- */
.pcard,.qk,.adoc,.acont,.curp,.acatrow,.pact,.ppath li a,.feat,.card,.fcard,.lentry,.wrow,.vrow,.set{border-radius:18px}
.pcard,.qk,.adoc,.acatrow,.pact,.ppath li a{background:var(--card);border:1px solid var(--line2);box-shadow:var(--sh2);transition:transform .15s var(--ease)}
.pcard:active,.qk:active,.adoc:active,.pact:active,.ppath li a:active,.acatrow:active{transform:scale(.985)}
.pcard{padding:14px 14px;min-height:72px}
.pcard .pi,.qk .qi,.adoc .qi,.curp .pi{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex:none}
.pcard .pt b,.qk .pt b,.adoc .pt b{font:700 16px/1.25 var(--ui)}
.pcard .pt small,.qk .pt small,.adoc .pt small{color:var(--muted);font-size:14px}
.pcard .pgo,.qk .pgo,.adoc .pgo{color:var(--muted);opacity:.7}
.pcard.on{border-color:var(--b5);box-shadow:0 0 0 1px var(--b5),var(--sh2)}
.pon{background:var(--b0);color:var(--b7);border-radius:999px;font:700 12px var(--ui);padding:3px 9px}
html.dark .pon{color:var(--b3)}
.qk .qi,.adoc .qi{background:var(--b0);color:var(--b6)}
html.dark .qk .qi,html.dark .adoc .qi{color:var(--b3)}
.psearch{border-radius:16px;border:1px solid var(--line);background:var(--card);min-height:50px;box-shadow:var(--sh1)}
.curp{background:var(--card);border:1px solid var(--line2);box-shadow:var(--sh2);padding:12px 14px}
.curp .lnk{color:var(--b6)}
input,textarea,select{font-family:var(--ui)}
textarea,input[type=text],input[type=search],input[type=email],input[type=number]{border-radius:16px;border-color:var(--line);background:var(--card);color:var(--ink)}
.foot{color:var(--muted);font-size:13px;margin-top:32px}
.foot a{color:var(--b6);text-decoration:none}
.chip{border-radius:999px;border:1px solid var(--line);font:700 13px var(--ui);min-height:40px}
.chip[aria-pressed=true]{box-shadow:0 0 0 2px var(--b5)}
/* continue hero (all homes) */
.contcard,.acont{background:var(--grad);border-radius:26px;box-shadow:var(--sh3);overflow:hidden;position:relative;isolation:isolate}
.contcard::before,.acont::before{content:"";position:absolute;right:-70px;top:-80px;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(127,211,201,.45),transparent 65%);z-index:-1;pointer-events:none}
.contcard::after,.acont::after{content:"";position:absolute;left:-50px;bottom:-100px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(124,108,242,.32),transparent 65%);z-index:-1;pointer-events:none}
.contcard .ck,.acont small{color:var(--b3);opacity:1;letter-spacing:.9px;font:700 12px var(--ui);text-transform:uppercase}
.contcard .cbtn,.acont .cbtn{background:#fff;color:var(--b8);border-radius:14px;padding:11px 18px;font:700 15px var(--ui);gap:6px;align-items:center;box-shadow:0 8px 18px -10px rgba(0,0,0,.5)}
.acont{color:#fff;border:0}.acont b{color:#fff}
/* sheet + toast */
.sheet{background:var(--card);border-radius:28px 28px 0 0;box-shadow:0 -20px 60px -20px rgba(0,0,0,.35)}
.sheet-bg{background:rgba(6,20,26,.42);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.sheet h2{font:700 22px var(--ui);letter-spacing:-.3px}
.sheet .set{background:var(--card2);border:1px solid var(--line2);padding:12px 14px;margin:10px 0}
.seg3{display:flex;gap:4px;background:var(--app);border:1px solid var(--line);border-radius:14px;padding:3px;margin-top:8px}
.seg3 button{flex:1;min-height:40px;border:0;border-radius:11px;background:transparent;color:var(--muted);font:700 14px var(--ui)}
.seg3 button[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(15,28,36,.18)}
html.dark .seg3 button[aria-pressed=true]{background:var(--b6);color:#fff}
.toast{background:#0F1C24;border-radius:16px;font:700 15px var(--ui);box-shadow:var(--sh3)}
html.dark .toast{background:#EAF1F3;color:#0F1C24}
/* ---------- v3 home ---------- */
.home3{padding:4px 0 24px}
.v3greet p{color:var(--muted);font-size:14px;margin:6px 0 0}
.v3greet h1{font:700 30px/1.15 var(--ui);letter-spacing:-.6px;margin:2px 0 16px}
.v3hero{display:block;padding:20px;color:#fff;text-decoration:none;min-height:0}
.v3hero .hrow{display:flex;gap:14px;align-items:center;margin:12px 0 16px}
.v3hero .hcov{width:62px;height:80px;border-radius:12px;flex:none;display:grid;place-items:center;color:#5A2B12;background:linear-gradient(160deg,#F7D9A8,#E59B6B);box-shadow:0 12px 22px -10px rgba(0,0,0,.5)}
.v3hero b{display:block;font:700 21px/1.2 var(--ui);margin:0;color:#fff}
.v3hero small{display:block;color:rgba(255,255,255,.75);font-size:14px;margin-top:4px}
.v3hero .cbtn{display:flex;justify-content:center;margin:0}
.v3stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.v3stat{background:var(--card);border:1px solid var(--line2);border-radius:18px;padding:12px 12px 12px;box-shadow:var(--sh2);color:var(--b6);min-width:0}
.v3stat.f{color:var(--coral)}
.v3stat b{display:block;font:700 22px/1.1 var(--ui);color:var(--ink);margin-top:8px}
.v3stat small{display:block;font-size:12px;color:var(--muted);line-height:1.3;margin-top:2px;overflow-wrap:anywhere}
.v3stat.dim b{color:var(--muted)}
.v3empty{display:flex;gap:12px;align-items:center;margin-top:14px;padding:14px 16px;border-radius:18px;border:1px dashed var(--line);background:var(--card);color:var(--b6)}
.v3empty b{display:block;color:var(--ink);font-size:15px}.v3empty small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.v3h{font:700 20px var(--ui);letter-spacing:-.2px;margin:28px 2px 12px}
.v3path{display:flex;align-items:center;gap:14px;text-decoration:none;margin:0}
.v3path .pt{flex:1;min-width:0;display:flex;flex-direction:column}.v3path .pt b{font-size:16px;color:var(--ink)}.v3path .pt small{color:var(--muted);font-size:14px}
.v3path.none .pi{background:var(--b0);color:var(--b6)}
.v3chg{display:inline-block;margin:10px 4px 0;font:700 14px var(--ui);text-decoration:none;color:var(--b6)}
.v3quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.v3quick .qk{flex-direction:column;align-items:flex-start;gap:12px;margin:0;padding:14px;min-height:0}
.v3quick .qk .pt{display:flex;flex-direction:column}
@media (max-width:340px){.v3stats{gap:6px}.v3stat{padding:10px 8px}.v3stat b{font-size:19px}.v3greet h1{font-size:26px}}
/* ---------- welcome ---------- */
body.welcome .top,body.welcome .tabs{display:none!important}
body.welcome{background:#06252C}
body.welcome main{padding:0}
.v3wel{min-height:100vh;min-height:100dvh;color:#fff;padding:calc(18px + var(--safe-t)) 22px calc(20px + var(--safe-b));display:flex;flex-direction:column;position:relative;overflow:hidden;background:#06252C;isolation:isolate}
.v3wel::before{content:"";position:absolute;inset:-20% -30% auto -30%;height:75%;z-index:-1;background:radial-gradient(50% 50% at 30% 40%,rgba(18,160,150,.75),transparent 70%),radial-gradient(40% 45% at 85% 30%,rgba(124,108,242,.45),transparent 70%),radial-gradient(40% 40% at 60% 80%,rgba(61,155,233,.35),transparent 70%);filter:blur(10px);animation:v3float 14s ease-in-out infinite alternate}
@keyframes v3float{to{transform:translate3d(4%,3%,0) scale(1.06)}}
.wtop{display:flex;align-items:center}
.wlogo{display:flex;align-items:center;gap:10px;font:700 20px var(--ui)}
.wlogo i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25)}
.wlang{margin-left:auto;display:flex;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:3px}
.wlang button{border:0;background:none;color:rgba(255,255,255,.75);font:700 13px var(--ui);min-width:44px;min-height:36px;border-radius:999px}
.wlang button[aria-pressed=true]{background:#fff;color:var(--b8)}
.wglass{margin-top:22px;border-radius:24px;padding:16px 18px;display:grid;grid-template-columns:auto 1fr;gap:12px 14px;align-items:center;background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
.wgh{grid-column:1/-1;display:flex;align-items:center;gap:10px;font:700 13px var(--ui);color:rgba(255,255,255,.82)}
.wav{width:34px;height:34px;border-radius:50%;background:linear-gradient(140deg,#FFD9C7,#F2A68D);display:grid;place-items:center;color:#7A3524;font:700 12px var(--ui)}
.wread{grid-column:1/-1;margin:0;font:400 19px/1.5 var(--ui);color:#fff}
.wread span{transition:color .2s,background .2s;border-radius:6px;padding:0 1px}
.wread span.done{color:#fff}.wread span.now{color:#06323A;background:var(--b3)}
.wread:has(span.now) span:not(.done):not(.now){color:rgba(255,255,255,.5)}
.wplay{width:48px;height:48px;border-radius:50%;border:0;background:#fff;color:var(--b8);display:grid;place-items:center;padding-left:3px}
.wpl b{display:block;font:700 15px var(--ui)}.wpl small{display:block;font-size:12px;color:rgba(255,255,255,.7)}
.wh{font:700 31px/1.1 var(--ui);letter-spacing:-.8px;margin:24px 0 0}
.wh em{font-style:normal;background:linear-gradient(90deg,#9BE7DD,#B9AEFF);-webkit-background-clip:text;background-clip:text;color:transparent}
.wlead{margin:10px 0 0;font-size:15.5px;line-height:1.5;color:rgba(255,255,255,.78)}
.wpts{display:flex;gap:6px;margin-top:16px;flex-wrap:wrap}
.wpts span{display:flex;align-items:center;gap:6px;font:700 12.5px var(--ui);padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff}
.wpts svg{color:var(--b3)}
.wcta{margin-top:auto;padding-top:22px}
.v3wel .btn.main{background:#fff;color:var(--b9);height:56px;font-size:17px;box-shadow:0 14px 30px -12px rgba(0,0,0,.6)}
.v3wel .btn.ghost{color:rgba(255,255,255,.88);min-height:46px;margin-top:4px}
/* ---------- profile path home (paths.js) ---------- */
.home2.pth .phead,.home2.prof .phead{padding:20px;border-radius:26px;background:var(--grad);color:#fff;box-shadow:var(--sh3);position:relative;overflow:hidden;isolation:isolate;align-items:center}
.home2.pth .phead::after,.home2.prof .phead::after{content:"";position:absolute;right:-60px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(127,211,201,.45),transparent 65%);z-index:-1}
.home2 .phead .hl{color:#fff}.home2 .phead .hsub{color:rgba(255,255,255,.78)}
.home2 .phead .pi.big{background:rgba(255,255,255,.14)!important;color:#fff!important;border:1px solid rgba(255,255,255,.22);border-radius:18px}
.ppath{gap:10px}
.ppath li a{padding:14px}
.pstep{background:var(--b0);color:var(--b7);font:700 15px var(--ui);border:0}
.pstep.done{background:var(--b5);color:#fff}
.pbar{background:var(--line2);border-radius:9px}.pbar i{background:linear-gradient(90deg,var(--b5),var(--b6));border-radius:9px}
.startchip{background:#FFF4DC;color:#8A5A00;border-radius:999px;font:700 12px var(--ui)}
html.dark .startchip{background:#3A2E12;color:#F4D58A}
.pact{padding:14px}
.pact .pe{width:44px;height:44px;border-radius:14px;background:var(--b0);display:grid;place-items:center;font-size:0!important;color:var(--b6)}
.pact .pe svg{width:22px;height:22px}
.feat{background:var(--card);border:1px solid var(--line2);box-shadow:var(--sh2);padding:6px 14px}
.feat li{border-color:var(--line2)!important}
.feat li svg{color:var(--b5)}
.lsteps li,.flsteps li{border-radius:999px}
.tnote{border-radius:16px;border-color:var(--line)!important;background:var(--card2)}
.dstip{border-radius:16px}
/* adult home */
.adult .v3greet h1{margin-bottom:12px}
.adult .ahl{font-size:20px;margin-top:26px}
.acatrow{padding:14px}
/* reading surfaces */
.rtext,.ltext{color:var(--ink)}
.toolbar{background:var(--card);border-top:1px solid var(--line2);box-shadow:0 -10px 30px -18px rgba(15,28,36,.25)}
.tb{font-family:var(--ui);border-radius:14px}
.tb[aria-pressed=true]{background:var(--b0);color:var(--b7)}
/* motion */
@media (prefers-reduced-motion:no-preference){main>section,main>div{animation:v3up .45s var(--ease) both}}
body.calm main>section,body.calm main>div{animation:none}
@keyframes v3up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* ---------- kids: playful but polished ---------- */
body.kids{--app:#FFF8F1}
html.dark body.kids{--app:#14110E}
body.kids .pcard,body.kids .qk,body.kids .kstep,body.kids .kplv{border-radius:24px}
body.kids .btn.main{background:linear-gradient(180deg,#F58A6F,#E9674B);box-shadow:0 10px 22px -12px rgba(233,103,75,.9)}
body.kids .tab[aria-current=true]{color:#E9674B}
body.kids .grp{color:#B0623F}
.vcard{background:var(--card);border-radius:24px;box-shadow:0 10px 24px -14px rgba(120,60,20,.35),0 1px 2px rgba(120,60,20,.06);border:0}
.vplay{border-radius:24px}
.vplay .e3d,.vplay img.vart{width:96px!important;height:96px!important;border-radius:20px}
/* dark tweaks */
html.dark .pcard .pi{filter:saturate(.85) brightness(.9)}
html.dark .v3hero .hcov{filter:brightness(.92)}
html.dark img.e3d{filter:brightness(.95)}
.home2 .phead .phx{flex:1;min-width:0}
.home2 .phead .eyebrow{color:var(--b3);margin:0 0 4px}
.pprog{margin-top:12px}.pprog .pbar{display:block;height:6px;background:rgba(255,255,255,.18)}.pprog .pbar i{display:block;height:100%;background:linear-gradient(90deg,var(--b3),#fff)}
.pprog small{display:block;color:rgba(255,255,255,.75);font-size:12.5px;margin-top:6px}
.home2.pth>.btn.main{margin-top:14px}
main h1,main h2,main h3,main h4,.sheet h2{font-family:var(--ui)}
.picker{padding-top:8px}.picker .hl{font-size:30px;margin-top:2px}
.pstartc{background:var(--card);border:1px solid var(--line2);border-radius:18px;box-shadow:var(--sh2)}
.pstartc .pe,.pact .pe{width:44px;height:44px;border-radius:14px;background:var(--b0);display:grid;place-items:center;color:var(--b6);flex:none}
.pstartc .pe svg{width:22px;height:22px}
.prog h3,.tnote summary{display:flex;align-items:center;gap:8px}
.cards .card{background:var(--card);border:1px solid var(--line2);box-shadow:var(--sh2);border-radius:20px}
.cards .card .em{width:52px;height:52px;border-radius:16px;background:var(--b0);color:var(--b6);display:grid;place-items:center;font-size:30px}
.cards .card .em img.e3d{width:44px;height:44px}
.lvlnum{color:var(--b6);font:700 11px var(--ui);letter-spacing:.8px}
.dsnote{background:var(--card2);border:1px solid var(--line2);display:flex;gap:10px;align-items:flex-start}
html.dark .dsnote{background:var(--card2)}
.v3wel .btn.main,html.dark .v3wel .btn.main{background:#fff;color:var(--b9)}
.adult .ahl,.adult .ash,.ahl{font-family:var(--ui)!important;letter-spacing:-.3px}
.say{border:0;background:var(--b0);color:var(--b6);box-shadow:inset 0 0 0 1px var(--b1);display:inline-grid;place-items:center}
.say .i3 svg{width:22px;height:22px}.say.big .i3 svg{width:28px;height:28px}.lit .say .i3 svg{width:16px;height:16px;min-width:16px}
html.dark .say{color:var(--b3)}
.goal b{display:inline-flex;align-items:center;gap:6px}
.v3blank{text-align:center;padding:48px 18px}
.v3blank .bi{width:72px;height:72px;border-radius:24px;margin:0 auto 16px;display:grid;place-items:center;background:var(--b0);color:var(--b6);box-shadow:var(--sh2)}
.v3blank h2{font:700 22px var(--ui);margin:0 0 6px}.v3blank .hint{color:var(--muted);max-width:300px;margin:0 auto 20px}
.v3blank .btn{display:inline-flex;padding:0 22px}
@media (max-width:360px){.top:not(.home) .profbtn{display:none}.top{gap:6px;padding-left:10px;padding-right:10px}.langpill button{min-width:36px}}
.vcard{display:flex}.vcard .vplay{flex:1;border:0!important;background:transparent!important;box-shadow:none!important;height:auto}
.vplay .pe{width:96px!important;height:96px!important;border-radius:20px;background:#F4EEE8;font-size:54px!important;margin:0 auto}
html.dark .vplay .pe{background:#1E2B31}
/* her logo: white A on the teal gradient square (same in light and dark) */
.armark{flex:none;display:block;border-radius:24%;box-shadow:0 6px 14px -6px rgba(34,188,166,.75)}
.brand .armark{width:36px;height:36px}
.wlogo .armark{width:38px;height:38px;box-shadow:0 8px 20px -8px rgba(0,0,0,.5)}
html.dark .armark{box-shadow:0 0 0 1px rgba(255,255,255,.08),0 6px 14px -6px rgba(0,0,0,.6)}
/* v3.1: all paths on the home */
.v3chg{margin-top:10px;color:var(--b7);border-color:var(--b1);background:var(--b0);box-shadow:none}
html.dark .v3chg{color:var(--b3)}
.v3ah{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.v3ah a{font:700 14px var(--ui);color:var(--b6);text-decoration:none;white-space:nowrap}
.v3sub{color:var(--muted);font-size:14px;margin:-6px 2px 0}
.v3paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.v3pt{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:104px;padding:12px;border-radius:18px;border:1px solid var(--line2);background:var(--card);box-shadow:var(--sh2);text-align:left;font:inherit;color:var(--ink);transition:transform .15s var(--ease)}
.v3pt:active{transform:scale(.97)}
.v3pt .pi{width:42px;height:42px;border-radius:13px;display:grid;place-items:center}
.v3pt b{font:700 14px/1.25 var(--ui);overflow-wrap:anywhere;hyphens:auto}
.v3pt small{display:inline-flex;align-items:center;gap:3px;font:700 11px var(--ui);color:var(--b7);background:var(--b0);border-radius:999px;padding:2px 7px;margin-top:-4px}
html.dark .v3pt small{color:var(--b3)}
.v3pt.on{border-color:var(--b5);box-shadow:0 0 0 1px var(--b5),var(--sh2)}
html.dark .v3pt .pi{filter:saturate(.85) brightness(.9)}
@media (max-width:340px){.v3paths{gap:8px}.v3pt{padding:10px;min-height:96px}.v3pt b{font-size:13px}}
.adult .v3h{margin-top:30px}
.v3chg{display:flex;justify-content:center;align-items:center;gap:8px;min-height:50px}
/* ---- v3.1 unified path home ---- */
.v3p{display:flex;flex-direction:column;gap:14px}
.v3p .phead.v3ph{display:flex;gap:14px;padding:20px;border-radius:26px;background:var(--grad);color:#fff;box-shadow:var(--sh3);position:relative;overflow:hidden;isolation:isolate;align-items:center;margin:0}
.v3p .phead .hl{color:#fff;margin:2px 0 4px;font-family:var(--ui)}.v3p .phead .hsub{color:rgba(255,255,255,.8);margin:0;font-size:14px;line-height:1.35}
.v3p .phead .eyebrow{color:var(--b3);font:700 12px var(--ui);letter-spacing:.08em;text-transform:uppercase}
.v3p .phead .phx{flex:1;min-width:0}
.v3pline{margin:8px 0 0;font:700 13px var(--ui);color:#fff;opacity:.92}
.v3ring{position:relative;width:84px;height:84px;flex:none;display:grid;place-items:center;text-align:center;z-index:1}
.v3ring svg{position:absolute;inset:0;transform:rotate(-90deg)}
.v3ring circle{fill:none;stroke-width:7}.v3ring .rt{stroke:rgba(255,255,255,.18)}.v3ring .rf{stroke:#fff;stroke-linecap:round;transition:stroke-dashoffset .6s var(--ease)}
.v3ring b{font:800 19px var(--ui);line-height:1;margin-top:-6px}.v3ring small{position:absolute;bottom:20px;left:0;right:0;font:700 10px var(--ui);opacity:.8}
.v3h{font:800 18px var(--ui)!important;margin:10px 2px 0;color:var(--ink)}
.v3sub{margin:-6px 2px 0;color:var(--muted);font-size:14px}
ol.ppath.v3stages{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin:0 -16px;padding:2px 16px 8px;list-style:none;scrollbar-width:none}
ol.ppath.v3stages::-webkit-scrollbar{display:none}
ol.ppath.v3stages li{flex:0 0 72%;max-width:250px;scroll-snap-align:start;margin:0}
ol.ppath.v3stages li a{display:flex;flex-direction:column;align-items:flex-start;gap:8px;height:100%;box-sizing:border-box;padding:14px;text-decoration:none;color:var(--ink)}
ol.ppath.v3stages li a>span:nth-of-type(2){display:flex;flex-direction:column;gap:5px;width:100%;min-width:0}
ol.ppath.v3stages li a b{font:700 15px/1.25 var(--ui)}
ol.ppath.v3stages .pbar{display:block;height:6px;width:100%}.v3stages .pbar i{display:block;height:100%}
ol.ppath.v3stages small{color:var(--muted);font-size:12.5px}
ol.ppath.v3stages .pstep{width:32px;height:32px;border-radius:11px;display:grid;place-items:center}
ol.ppath.v3stages li.ad .pstep{background:#FFF1E6;color:#B4501F}
ol.ppath.v3stages .startchip{align-self:flex-start;padding:3px 8px;display:inline-flex;gap:4px;align-items:center}
.v3stg{display:flex;list-style:none;margin:0;padding:0;gap:4px}
.v3stg li{flex:1;display:flex;flex-direction:column;gap:6px;font:700 11px/1.2 var(--ui);color:var(--muted);min-width:0}
.v3stg li i{height:6px;border-radius:6px;background:var(--line)}.v3stg li.d i{background:var(--b5)}.v3stg li.c i{background:linear-gradient(90deg,var(--b5),var(--b3))}.v3stg li.c{color:var(--b7)}
.v3next{background:var(--card);border:1px solid var(--line2);border-radius:22px;box-shadow:var(--sh2);padding:18px}
.v3next .eyebrow{color:var(--b6);font:700 12px var(--ui);letter-spacing:.06em;text-transform:uppercase}
.v3next h2{font:800 20px/1.25 var(--ui)!important;margin:4px 0 6px;color:var(--ink)}.v3next p{margin:0 0 6px;color:var(--muted);font-size:14px}
.v3tl{list-style:none;margin:10px 0 14px;padding:0;display:flex;flex-direction:column;gap:0}
.v3tl li{display:flex;gap:12px;align-items:center;position:relative;padding:6px 0}
.v3tl li:not(:last-child)::after{content:"";position:absolute;left:17px;top:40px;bottom:-6px;width:2px;background:var(--line)}
.v3tl .n{width:36px;height:36px;border-radius:12px;background:var(--card2,#F9FBFB);border:1px solid var(--line);display:grid;place-items:center;color:var(--muted);flex:none}
.v3tl li.c .n{background:var(--b5);border-color:var(--b5);color:#fff}
.v3tl b{font:700 15px var(--ui);color:var(--ink)}.v3tl li:not(.c) b{color:var(--ink2);font-weight:600}
.v3tl small{display:block;color:var(--muted);font-size:12.5px}
.v3next .btn.main{display:flex;gap:8px;justify-content:center;align-items:center;min-height:50px}
.v3next.done{text-align:center}
.v3tools{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.v3tool{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;background:var(--card);border:1px solid var(--line2);border-radius:18px;box-shadow:var(--sh2);color:var(--b6);text-align:left;font:inherit;cursor:pointer;min-height:118px;box-sizing:border-box}
.v3tool>svg{width:22px;height:22px;margin-bottom:6px}
.v3tool b{font:700 14.5px/1.25 var(--ui);color:var(--ink);padding-right:2px}.v3tool small{font-size:12.5px;color:var(--muted);line-height:1.3}
.v3tool .v3go{position:absolute;right:12px;top:14px;color:var(--muted)}
.v3sw{-webkit-appearance:none;appearance:none;position:absolute;right:12px;top:12px;width:42px;height:26px;border-radius:26px;background:var(--line);margin:0;cursor:pointer;transition:background .2s}
.v3sw::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s var(--ease)}
.v3sw:checked{background:var(--b5)}.v3sw:checked::after{transform:translateX(16px)}
.v3sw:focus-visible{outline:3px solid var(--b3);outline-offset:2px}
.v3tool.wide{flex-direction:row;flex-wrap:wrap;align-items:center;min-height:0;column-gap:10px}
.v3tool.wide>svg{margin:0}.v3tool.wide b{flex:1}.v3tool.wide small{flex-basis:100%;padding-right:50px}
.v3tool.wide input{-webkit-appearance:none;appearance:none;position:absolute;right:12px;top:50%;margin-top:-13px;width:42px;height:26px;border-radius:26px;background:var(--line)}
.v3tool.wide input::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s}
.v3tool.wide input:checked{background:var(--b5)}.v3tool.wide input:checked::after{transform:translateX(16px)}
.v3note{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:18px;background:var(--teal-bg);color:var(--teal-d);font-size:14.5px;line-height:1.4}
.v3note svg{flex:none;width:20px;height:20px;margin-top:1px}.v3note span{color:var(--ink2)}
.v3foot{gap:10px}.v3foot .btn{display:flex;gap:8px;align-items:center;justify-content:center}
.v3acts{display:flex;flex-direction:column;gap:10px}
.v3p .feat,.v3p .prog{border-radius:18px}
.khead.v3kh{display:flex;align-items:center;gap:12px}.khead.v3kh>div:first-child{flex:1;min-width:0}
.khead.v3kh .v3ring .rt{stroke:rgba(0,0,0,.08)}.khead.v3kh .v3ring .rf{stroke:var(--coral)}.khead.v3kh .v3ring{color:var(--ink)}
.khead.v3kh .v3pline{color:var(--ink2)}
.kids .v3next.kn3{border-radius:26px;border:2px solid #FFE1D6}.kids .v3next.kn3 .v3tl li.c .n{background:var(--coral);border-color:var(--coral)}
.kids .v3next.kn3 .btn.main{background:var(--coral);border-color:var(--coral)}
.kids .v3sw:checked{background:var(--coral)}.kids .v3h{margin-top:16px}.kids .v3tools{margin-top:8px}.kids .v3note{margin-top:12px}.kids .v3next{margin-top:14px}.kids .v3chg{margin-top:12px}
html.dark .v3tl .n{background:var(--card2)}html.dark .v3sw::after{background:#E8EEF0}
html.dark ol.ppath.v3stages li.ad .pstep{background:#3A2416;color:#F5B48D}
@media (max-width:360px){.v3ring{width:72px;height:72px}.v3ring b{font-size:16px}.v3ring small{bottom:16px;font-size:9px}.v3p .phead.v3ph{padding:16px;gap:10px}.v3tool{min-height:112px;padding:12px}.v3tool b{font-size:13.5px}ol.ppath.v3stages li{flex-basis:80%}}
.khero .khead.v3kh{margin-bottom:6px}.khero .khead.v3kh .eyebrow{display:block;font:700 12px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:#C2553A;margin-bottom:2px}
.khero .v3kh .v3pline{display:block;margin:-4px 0 6px;color:#5A5470}
.kstore>.v3next{margin:0 0 14px}.kstore>.v3tools{margin-bottom:12px}
