:root{--navy:#1b2a4a;--gold:#f4c542;--orange:#e07b39;--green:#2d6a4f;--bg:#fafaf8;--surface:#fff;--surface-2:#f1f2f5;--ink:#1b2a4a;--muted:#58637c;--line:#e2e5ec;--good:#2d6a4f;--good-bg:#e3f2e9;--good-line:#9acdb2;--bad:#c4473b;--bad-bg:#fbe8e5;--bad-line:#efb0a7;--gold-bg:#fff4d2;--gold-deep:#c99a1c;--orange-deep:#b65e24;--green-deep:#1d4a36;--btn-navy:#1b2a4a;--btn-navy-deep:#0d172c;--locked:#d3d7e0;--locked-ink:#7a8499;--inky-body:#1b2a4a;--inky-body2:#3a5a92;--inky-rim:#1b2a4a00;--blob1:#f4c54261;--blob2:#e07b3938;--blob3:#2d6a4f24;--shadow:0 1px 2px #1b2a4a0f,0 10px 28px #1b2a4a17;--f-head:"Nunito",ui-rounded,"Arial Rounded MT Bold","Trebuchet MS",system-ui,sans-serif;--f-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--r:18px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1526;--surface:#16213a;--surface-2:#1e2b48;--ink:#eef1f7;--muted:#a3aec5;--line:#2b3858;--good:#5fc393;--good-bg:#12302a;--good-line:#2c6b4f;--bad:#f28b7f;--bad-bg:#3a1c24;--bad-line:#7c3a3a;--gold-bg:#3a3117;--btn-navy:#2e4677;--btn-navy-deep:#18264a;--locked:#2a3552;--locked-ink:#7f8aa6;--inky-body:#263f72;--inky-body2:#4a70b8;--inky-rim:#f4c542bf;--blob1:#f4c54229;--blob2:#e07b3924;--blob3:#5fc3931a;--shadow:0 1px 2px #0000004d,0 10px 28px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0e1526;--surface:#16213a;--surface-2:#1e2b48;--ink:#eef1f7;--muted:#a3aec5;--line:#2b3858;--good:#5fc393;--good-bg:#12302a;--good-line:#2c6b4f;--bad:#f28b7f;--bad-bg:#3a1c24;--bad-line:#7c3a3a;--gold-bg:#3a3117;--btn-navy:#2e4677;--btn-navy-deep:#18264a;--locked:#2a3552;--locked-ink:#7f8aa6;--inky-body:#263f72;--inky-body2:#4a70b8;--inky-rim:#f4c542bf;--blob1:#f4c54229;--blob2:#e07b3924;--blob3:#5fc3931a;--shadow:0 1px 2px #0000004d,0 10px 28px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.55;overflow-x:hidden}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg);position:fixed;inset:0 0 auto}h1,h2,h3,h4{font-family:var(--f-head);text-wrap:balance;letter-spacing:-.01em;margin:0;font-weight:900;line-height:1.12}p{margin:0}button{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:10px}.wrap{max-width:1120px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));margin-inline:auto}.eyebrow{font-family:var(--f-head);letter-spacing:.12em;text-transform:uppercase;color:var(--orange);font-size:13px;font-weight:900}.muted{color:var(--muted)}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{font-family:var(--f-head);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:var(--gold);color:#1b2a4a;box-shadow:0 4px 0 var(--gold-deep);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:14px 22px;font-size:16px;font-weight:900;text-decoration:none;transition:transform 80ms,box-shadow 80ms,filter .15s;display:inline-flex}.btn:hover{filter:brightness(1.04)}.btn:active{box-shadow:0 1px 0 var(--gold-deep);transform:translateY(3px)}.btn:disabled{background:var(--surface-2);color:var(--locked-ink);box-shadow:0 4px 0 var(--line);cursor:not-allowed;filter:none;transform:none}.btn-navy{background:var(--btn-navy);color:#fff;box-shadow:0 4px 0 var(--btn-navy-deep)}.btn-navy:active{box-shadow:0 1px 0 var(--btn-navy-deep)}.btn-green{background:var(--green);color:#fff;box-shadow:0 4px 0 var(--green-deep)}.btn-green:active{box-shadow:0 1px 0 var(--green-deep)}.btn-orange{background:var(--orange);color:#fff;box-shadow:0 4px 0 var(--orange-deep)}.btn-orange:active{box-shadow:0 1px 0 var(--orange-deep)}.btn-bad{background:var(--bad);color:#fff;box-shadow:0 4px #8e2e25}.btn-ghost{background:var(--surface);color:var(--ink);box-shadow:0 4px 0 var(--line);border:2px solid var(--line)}.btn-ghost:active{box-shadow:0 1px 0 var(--line)}.btn-sm{border-radius:12px;padding:10px 14px;font-size:13px}.btn-block{width:100%}.linkbtn{cursor:pointer;color:var(--muted);text-underline-offset:3px;background:0 0;border:0;padding:6px 4px;font-weight:600;text-decoration:underline}.badge{font-family:var(--f-head);letter-spacing:.08em;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:900;display:inline-flex}.badge-free{background:var(--surface-2);color:var(--muted);border:1.5px solid var(--line)}.badge-pro{background:var(--gold);color:#1b2a4a;box-shadow:0 2px 0 var(--gold-deep)}.screen{min-height:100dvh}.screen.enter{animation:.38s cubic-bezier(.2,.8,.2,1) screenIn}@keyframes screenIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.inky{width:var(--size,120px);flex:none;position:relative}.inky-svg{transform-origin:50% 92%;width:100%;height:auto;display:block;overflow:visible}.inky-shadow{transform-origin:50%;background:#1b2a4a29;border-radius:50%;width:58%;height:10px;margin:2px auto 0}.inky.sign-variant .inky-shadow{width:40%;margin-left:12%}.inky .m{display:none}.inky .m-happy{display:inline}.inky.mood-sad .m-happy,.inky.mood-wow .m-happy{display:none}.inky.mood-sad .m-sad,.inky.mood-wow .m-open,.inky.mood-sad .brow{display:inline}.inky .brow{display:none}.inky-eyes{transform-box:fill-box;transform-origin:50%;animation:5s infinite blink}.inky.idle .inky-svg{animation:2.6s ease-in-out infinite bob}.inky.idle .inky-shadow{animation:2.6s ease-in-out infinite shadowBob}.inky.happy .inky-svg{animation:.8s cubic-bezier(.3,1.4,.5,1) hop}.inky.sad .inky-svg{animation:.75s ease-in-out wobble}.inky.dance .inky-svg{animation:1s ease-in-out infinite dance}.inky.jump .inky-svg{animation:.9s cubic-bezier(.3,1.5,.5,1) 3 jump}.inky.jump .inky-shadow,.inky.happy .inky-shadow{animation:.9s 3 shadowJump}.inky .pupils{transition:transform .25s}.inky.mood-sad .pupils{transform:translateY(3px)}.inky.mood-wow .pupils{transform:translateY(-2px)}@keyframes blink{0%,93%,to{transform:scaleY(1)}95.5%{transform:scaleY(.08)}}@keyframes bob{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-9px)rotate(1.5deg)}}@keyframes shadowBob{0%,to{opacity:1;transform:scaleX(1)}50%{opacity:.7;transform:scaleX(.82)}}@keyframes shadowJump{0%,to{transform:scaleX(1)}40%{opacity:.5;transform:scaleX(.6)}}@keyframes hop{0%{transform:translateY(0)scale(1)}15%{transform:translateY(0)scale(1.12,.86)}45%{transform:translateY(-30px)scale(.92,1.1)}70%{transform:translateY(0)scale(1.08,.92)}85%{transform:translateY(-8px)scale(1)}to{transform:translateY(0)scale(1)}}@keyframes wobble{0%,to{transform:rotate(0)}20%{transform:rotate(-10deg)translate(-4px)}40%{transform:rotate(9deg)translate(4px)}60%{transform:rotate(-6deg)}80%{transform:rotate(4deg)}}@keyframes dance{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-14px)rotate(-12deg)scale(1.04)}50%{transform:translateY(0)rotate(0)scale(1.06,.94)}75%{transform:translateY(-14px)rotate(12deg)scale(1.04)}}@keyframes jump{0%{transform:translateY(0)scale(1)}20%{transform:translateY(0)scale(1.15,.85)}50%{transform:translateY(-38px)scale(.9,1.12)rotate(-6deg)}80%{transform:translateY(0)scale(1.08,.92)}to{transform:translateY(0)scale(1)}}.coach{align-items:flex-end;gap:12px;display:flex}.bubble{background:var(--surface);border:2px solid var(--line);border-radius:18px;min-width:0;max-width:420px;padding:12px 16px;font-size:15px;font-weight:600;line-height:1.4;position:relative}.bubble:before{content:"";background:var(--surface);border-left:2px solid var(--line);border-bottom:2px solid var(--line);width:16px;height:16px;position:absolute;bottom:16px;left:-10px;transform:rotate(45deg)}.bubble.pop{animation:.3s cubic-bezier(.3,1.6,.5,1) popIn}.bubble.good,.bubble.good:before{border-color:var(--good-line);background:var(--good-bg)}.bubble.bad,.bubble.bad:before{border-color:var(--bad-line);background:var(--bad-bg)}@keyframes popIn{0%{opacity:.2;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.shake{animation:.45s shake}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}.popped{animation:.4s cubic-bezier(.3,1.7,.5,1) pop}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.15)}to{transform:scale(1)}}.lnav{top:env(safe-area-inset-top,0px);z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #0000;transition:border-color .2s;position:sticky}.lnav.scrolled{border-bottom-color:var(--line)}.lnav .wrap{justify-content:space-between;align-items:center;gap:12px;height:64px;display:flex}.logo{font-family:var(--f-head);letter-spacing:-.02em;cursor:pointer;color:var(--ink);background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:24px;font-weight:900;display:inline-flex}.logo .inky{--size:30px}.logo .inky .inky-shadow{display:none}.lnav-links{align-items:center;gap:8px;display:flex}.lnav-links a{color:var(--muted);border-radius:10px;padding:8px 10px;font-size:15px;font-weight:600;text-decoration:none}.lnav-links a:hover{color:var(--ink)}.iconbtn{border:2px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;font-size:18px;display:inline-grid}@media (max-width:760px){.lnav-links a{display:none}}@media (max-width:420px){.lnav .hide-xs{display:none}}.hero{padding-block:40px 64px;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";filter:blur(40px);pointer-events:none;border-radius:50%;position:absolute}.hero:before{background:radial-gradient(circle,var(--blob1),transparent 65%);width:520px;height:520px;top:-120px;right:-140px}.hero:after{background:radial-gradient(circle,var(--blob2),transparent 65%);width:420px;height:420px;bottom:-160px;left:-160px}.hero-grid{grid-template-columns:1.05fr 1fr;align-items:center;gap:48px;display:grid;position:relative}.hero-copy{flex-direction:column;gap:20px;min-width:0;display:flex}.hero h1{letter-spacing:-.03em;font-size:clamp(40px,6.4vw,72px)}.hero h1 .ink{color:var(--orange);white-space:nowrap;position:relative}.hero h1 .ink:after{content:"";background:var(--gold);opacity:.55;z-index:-1;border-radius:6px;height:.18em;position:absolute;bottom:.06em;left:0;right:0}.hero-sub{color:var(--muted);max-width:30em;font-size:18px}.hero-ctas{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hero-proof{color:var(--muted);flex-wrap:wrap;gap:16px;font-size:14px;font-weight:500;display:flex}.hero-proof span{align-items:center;gap:6px;display:inline-flex}.hero-stage{min-width:0;position:relative}.hero-inky{z-index:2;position:absolute;top:-58px;left:-46px}.hero-inky .inky{--size:118px}.demo-card{background:var(--surface);border:2px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:22px;position:relative}.demo-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding-left:64px;display:flex}.demo-tag{font-family:var(--f-head);letter-spacing:.1em;text-transform:uppercase;background:var(--gold-bg);color:var(--ink);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900}.demo-q{font-family:var(--f-head);margin:4px 0 14px;font-size:21px;font-weight:900}.demo-feedback{border-radius:16px;flex-direction:column;gap:10px;margin-top:14px;padding:14px 16px;display:flex}.demo-feedback.good{background:var(--good-bg);border:2px solid var(--good-line)}.demo-feedback.bad{background:var(--bad-bg);border:2px solid var(--bad-line)}.demo-feedback strong{font-family:var(--f-head);font-size:18px;font-weight:900}.demo-feedback .row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@media (max-width:880px){.hero-grid{grid-template-columns:1fr;gap:72px}.hero-inky{top:-70px;left:auto;right:6px}.hero-inky .inky{--size:96px}.demo-top{padding-left:0;padding-right:88px}.demo-count{display:none}}section.band{padding-block:72px}.band-alt{background:var(--surface-2)}.sec-head{flex-direction:column;gap:10px;max-width:640px;margin-bottom:36px;display:flex}.sec-head h2{font-size:clamp(30px,4.2vw,44px)}.sec-head p{color:var(--muted);font-size:17px}.reveal{transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .7s}.js .reveal.pre{opacity:.35;transform:translateY(26px)}.steps{counter-reset:step;grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.step{background:var(--surface);border:2px solid var(--line);border-radius:22px;flex-direction:column;gap:12px;padding:24px;display:flex;position:relative}.step-num{width:44px;height:44px;font-family:var(--f-head);background:var(--navy);color:var(--gold);border-radius:14px;place-items:center;font-size:20px;font-weight:900;display:grid}.step h3{font-size:22px}.step p{color:var(--muted)}.step-art{font-size:34px;line-height:1;position:absolute;top:22px;right:20px}@media (max-width:820px){.steps{grid-template-columns:1fr}}.carousel-wrap{position:relative}.carousel{scroll-snap-type:x mandatory;scrollbar-width:thin;grid-auto-columns:minmax(230px,260px);grid-auto-flow:column;gap:16px;padding:6px 2px 18px;display:grid;overflow-x:auto}.ucard{scroll-snap-align:start;border:2px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:22px;flex-direction:column;gap:10px;min-width:0;padding:20px;transition:transform .2s,box-shadow .2s;display:flex}.ucard:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.ucard .uemoji{background:var(--uc,var(--gold-bg));border-radius:20px;place-items:center;width:72px;height:72px;font-size:44px;line-height:1;display:grid}.ucard h3{font-size:20px}.ucard p{color:var(--muted);flex:1;font-size:14px}.ucard .tagrow{color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex}.car-btns{gap:8px;display:flex}.pricing{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:20px;display:grid}.pcard{background:var(--surface);border:2px solid var(--line);border-radius:24px;flex-direction:column;gap:14px;min-width:0;padding:26px 22px 22px;display:flex;position:relative}.pcard.featured{border-color:var(--orange);box-shadow:var(--shadow)}.pcard.best{border-color:var(--green)}.pcard .ribbon{font-family:var(--f-head);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:900;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.pcard.featured .ribbon{background:var(--orange)}.pcard.best .ribbon{background:var(--green)}.pcard h3{font-size:22px}.price{font-family:var(--f-head);align-items:baseline;gap:6px;display:flex}.price b{letter-spacing:-.02em;font-size:40px;font-weight:900}.price span{color:var(--muted);font-weight:700}.pcard .note{color:var(--muted);min-height:20px;font-size:13px}.pcard ul{flex-direction:column;flex:1;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pcard li{align-items:flex-start;gap:10px;font-size:15px;display:flex}.pcard li:before{content:"✓";background:var(--good-bg);width:22px;height:22px;color:var(--good);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:900;display:grid}@media (max-width:900px){.pricing{grid-template-columns:1fr;row-gap:28px;max-width:460px;margin-inline:auto}}.tgrid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.tcard{background:var(--surface);border:2px solid var(--line);border-radius:22px;flex-direction:column;gap:14px;padding:22px;display:flex}.tcard blockquote{margin:0;font-size:16px;line-height:1.55}.tcard .who{align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.tcard .av{background:var(--gold-bg);border-radius:50%;place-items:center;width:38px;height:38px;font-size:18px;display:grid}.tcard .stars{color:var(--gold);letter-spacing:2px}.sample-note{color:var(--muted);margin-top:14px;font-size:13px}@media (max-width:860px){.tgrid{grid-template-columns:1fr}}.faq{flex-direction:column;gap:12px;max-width:760px;display:flex}.faq details{background:var(--surface);border:2px solid var(--line);border-radius:18px;padding:0 20px}.faq summary{cursor:pointer;font-family:var(--f-head);justify-content:space-between;gap:14px;padding:18px 0;font-size:18px;font-weight:800;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--orange);font-size:24px;font-weight:900;line-height:1;transition:transform .2s}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{color:var(--muted);padding-bottom:18px}.capture{background:var(--navy);color:#fff;border-radius:28px;grid-template-columns:auto 1fr;align-items:center;gap:32px;padding:40px;display:grid;position:relative;overflow:hidden}.capture h2{color:#fff;font-size:clamp(26px,3.6vw,36px)}.capture p{color:#c8d1e3}.capture form{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.capture input{color:#fff;background:#22345a;border:2px solid #34466e;border-radius:14px;flex:220px;min-width:0;padding:14px 16px;font-size:16px}.capture input::placeholder{color:#97a3bd}.capture .ok{color:var(--gold);margin-top:14px;font-weight:600}.capture .inky{--size:110px;--inky-body:#22355e;--inky-body2:#4a70b8;--inky-rim:#f4c542e6}.capture .inky-shadow{background:#0000004d}@media (max-width:640px){.capture{grid-template-columns:1fr;padding:28px 22px}.capture .inky{--size:84px}}footer.site{padding-block:40px calc(40px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line)}footer.site .wrap{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}footer.site nav{flex-wrap:wrap;gap:16px;font-size:14px;display:flex}footer.site nav a{color:var(--muted);text-decoration:none}footer.site small{color:var(--muted)}.spot-grid{gap:12px;display:grid}.opt{text-align:left;background:var(--surface);border:2px solid var(--line);cursor:pointer;border-bottom-width:5px;border-radius:18px;align-items:flex-start;gap:14px;width:100%;padding:16px;font-size:17px;line-height:1.45;transition:border-color .15s,background .15s,transform 80ms;display:flex}.opt:hover:not(:disabled){border-color:var(--gold);background:var(--gold-bg)}.opt:active:not(:disabled){transform:translateY(2px)}.opt:disabled{cursor:default}.opt .key{border:2px solid var(--line);width:32px;height:32px;font-family:var(--f-head);color:var(--muted);border-radius:10px;flex:none;place-items:center;font-size:15px;font-weight:900;display:grid}.opt.is-correct{border-color:var(--good-line);background:var(--good-bg)}.opt.is-correct .key{background:var(--good);border-color:var(--good);color:#fff}.opt.is-wrong{border-color:var(--bad-line);background:var(--bad-bg)}.opt.is-wrong .key{background:var(--bad);border-color:var(--bad);color:#fff}.opt.dim{opacity:.55}.topbar{top:env(safe-area-inset-top,0px);z-index:40;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(10px);border-bottom:2px solid var(--line);position:sticky}.topbar .wrap{justify-content:space-between;align-items:center;gap:10px;height:62px;display:flex}.stats-pills{align-items:center;gap:6px;display:flex}.pill{font-family:var(--f-head);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:12px;align-items:center;gap:5px;padding:6px 10px;font-size:16px;font-weight:900;display:inline-flex}.pill.streak{color:var(--orange)}.pill.xp{color:var(--gold-deep)}:root[data-theme=dark] .pill.xp{color:var(--gold)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pill.xp{color:var(--gold)}}.avatar-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0}.avatar-btn .inky{--size:36px}.avatar-btn .inky-shadow{display:none}@media (max-width:420px){.topbar .logo span.word{display:none}.pill{padding:6px;font-size:15px}}.bottomnav{z-index:45;background:var(--surface);border-top:2px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:max(8px,env(safe-area-inset-left,0px));padding-right:max(8px,env(safe-area-inset-right,0px));position:fixed;bottom:0;left:0;right:0}.bottomnav .inner{grid-template-columns:repeat(3,1fr);max-width:520px;margin:0 auto;display:grid}.bottomnav button{cursor:pointer;font-family:var(--f-head);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:8px 4px 10px;font-size:12px;font-weight:800;display:flex}.bottomnav button .ic{filter:grayscale(.6);opacity:.8;font-size:22px;line-height:1.1}.bottomnav button.on{color:var(--ink)}.bottomnav button.on .ic{filter:none;opacity:1;transform:scale(1.1)}.app-main{padding-block:24px calc(110px + env(safe-area-inset-bottom,0px))}.dash{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:40px;display:grid}.dash-side{top:calc(84px + env(safe-area-inset-top,0px));flex-direction:column;gap:16px;display:flex;position:sticky}@media (max-width:920px){.dash{grid-template-columns:1fr;gap:24px}.dash-side{order:-1;position:static}.dash-side .side-extra{display:none}}.card{background:var(--surface);border:2px solid var(--line);border-radius:22px;padding:20px}.cont-card{background:var(--navy);color:#fff;border:0;flex-direction:column;gap:14px;display:flex;position:relative;overflow:hidden}.cont-card:after{content:"";background:radial-gradient(circle,#f4c54259,#0000 70%);border-radius:50%;width:180px;height:180px;position:absolute;top:-60px;right:-60px}.cont-card .eyebrow{color:var(--gold)}.cont-card h2{color:#fff;align-items:center;gap:10px;font-size:24px;display:flex}.cont-card .meta{color:#c8d1e3;justify-content:space-between;gap:10px;font-size:14px;display:flex}.bar{background:var(--surface-2);border-radius:999px;height:16px;position:relative;overflow:hidden}.bar>i{border-radius:inherit;background:var(--green);width:0;height:100%;transition:width .6s cubic-bezier(.2,.8,.2,1);display:block;position:relative}.bar>i:after{content:"";background:#ffffff59;border-radius:4px;height:4px;position:absolute;top:3px;left:8px;right:8px}.cont-card .bar{background:#ffffff24}.cont-card .bar>i{background:var(--gold)}.mini-stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mini-stat{background:var(--surface-2);border-radius:14px;padding:12px}.mini-stat b{font-family:var(--f-head);font-variant-numeric:tabular-nums;font-size:22px;font-weight:900;display:block}.mini-stat span{color:var(--muted);font-size:13px}.promo{background:var(--gold-bg);border-color:#0000;align-items:center;gap:14px;display:flex}.promo h3{font-size:18px}.promo p{color:var(--muted);font-size:14px}.path-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.path-head h2{font-size:26px}.path{--amp:56px;padding:58px 0 40px;position:relative}@media (min-width:560px){.path{--amp:84px}}.path-line{pointer-events:none;position:absolute;inset:0;overflow:visible}.path-line path{fill:none;stroke:var(--line);stroke-width:9px;stroke-linecap:round;stroke-dasharray:1 20}.node-wrap{width:200px;transform:translateX(calc(var(--k) * var(--amp)));flex-direction:column;align-items:center;gap:8px;margin:0 auto 34px;display:flex;position:relative}.node-btn{cursor:pointer;background:conic-gradient(var(--gold) calc(var(--pct) * 1%),var(--line) 0);-webkit-tap-highlight-color:transparent;border:0;border-radius:50%;place-items:center;width:86px;height:86px;padding:7px;transition:transform .12s;display:grid;position:relative}.node-btn .face{background:var(--btn-navy);border-radius:50%;place-items:center;width:100%;height:100%;font-size:34px;display:grid;box-shadow:inset 0 -6px #00000038}.node-btn:hover{transform:scale(1.05)}.node-btn:active{transform:scale(.96)}.node-wrap.current .face{background:var(--orange)}.node-wrap.done .face{background:var(--green)}.node-wrap.locked .node-btn{background:var(--line)}.node-wrap.locked .face{background:var(--locked)}.node-wrap.locked .face span{filter:grayscale();opacity:.45}.node-lock{background:var(--surface);border:2px solid var(--line);border-radius:50%;place-items:center;width:30px;height:30px;font-size:15px;display:grid;position:absolute;bottom:-2px;right:-2px}.node-name{font-family:var(--f-head);text-align:center;font-size:16px;font-weight:900}.node-sub{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.stars-row{letter-spacing:1px;font-size:14px}.stars-row .on{color:var(--gold)}.stars-row .off{color:var(--line)}.tag{font-family:var(--f-head);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:900}.tag-soon{background:var(--surface-2);color:var(--muted)}.tag-pro{background:var(--gold);color:#1b2a4a}.tag-new{background:var(--green);color:#fff}.start-bubble{font-family:var(--f-head);letter-spacing:.08em;color:var(--orange);background:var(--surface);border:2px solid var(--line);z-index:2;white-space:nowrap;border-radius:12px;padding:6px 12px;font-size:14px;font-weight:900;animation:1.6s ease-in-out infinite float;position:absolute;top:-38px}.start-bubble:after{content:"";background:var(--surface);border-right:2px solid var(--line);border-bottom:2px solid var(--line);width:12px;height:12px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)rotate(45deg)}.node-wrap.current .node-btn:after{content:"";border:3px solid var(--orange);opacity:.5;border-radius:50%;animation:1.8s ease-out infinite ring;position:absolute;inset:-8px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes ring{0%{opacity:.6;transform:scale(.9)}to{opacity:0;transform:scale(1.25)}}.path-end{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:6px;font-size:14px;display:flex}.lesson{flex-direction:column;min-height:100dvh;display:flex}.lhead{top:env(safe-area-inset-top,0px);z-index:30;background:var(--bg);position:sticky}.lhead .wrap{align-items:center;gap:14px;max-width:760px;height:64px;display:flex}.lhead .bar{flex:1;height:18px}.close-x{cursor:pointer;width:40px;height:40px;color:var(--muted);background:0 0;border:0;border-radius:12px;flex:none;place-items:center;font-size:24px;display:grid}.close-x:hover{background:var(--surface-2)}.hearts{flex:none;gap:2px;font-size:20px;display:flex}.hearts .h{transition:transform .2s;display:inline-block}.hearts .h.lost{filter:grayscale();opacity:.35}.hearts .h.breaking{animation:.6s heartBreak}@keyframes heartBreak{0%{transform:scale(1)}30%{transform:scale(1.5)rotate(-12deg)}60%{transform:scale(.8)rotate(10deg)}to{transform:scale(1)}}.lxp{font-family:var(--f-head);color:var(--gold-deep);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:16px;font-weight:900}:root[data-theme=dark] .lxp{color:var(--gold)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .lxp{color:var(--gold)}}.lxp.bump{animation:.45s cubic-bezier(.3,1.7,.5,1) pop}.lbody{padding-block:20px calc(150px + env(safe-area-inset-bottom,0px));flex:1}.lbody .wrap{flex-direction:column;gap:20px;max-width:720px;display:flex}.ex-head{flex-direction:column;gap:6px;display:flex}.ex-head h2{font-size:clamp(23px,3.6vw,30px)}.ex-enter{animation:.35s cubic-bezier(.2,.8,.2,1) exIn}@keyframes exIn{0%{opacity:0;transform:translate(26px)}to{opacity:1;transform:none}}.lesson .coach .inky{--size:78px}.lfoot{z-index:35;background:var(--bg);border-top:2px solid var(--line);padding-block:16px calc(16px + env(safe-area-inset-bottom,0px));transition:background .2s,border-color .2s;position:fixed;bottom:0;left:0;right:0}.lfoot .wrap{justify-content:space-between;align-items:center;gap:16px;max-width:760px;display:flex}.lfoot .fb{align-items:center;gap:14px;min-width:0;display:none}.lfoot .fb-icon{background:var(--surface);border-radius:50%;flex:none;place-items:center;width:54px;height:54px;font-size:28px;display:grid}.lfoot .fb-title{font-family:var(--f-head);font-size:22px;font-weight:900}.lfoot .fb-text{font-size:15px}.lfoot[data-state=good]{background:var(--good-bg);border-color:var(--good-line)}.lfoot[data-state=good] .fb-title{color:var(--good)}.lfoot[data-state=bad]{background:var(--bad-bg);border-color:var(--bad-line)}.lfoot[data-state=bad] .fb-title{color:var(--bad)}.lfoot[data-state=good] .fb,.lfoot[data-state=bad] .fb{animation:.3s slideUp;display:flex}.lfoot .foot-btns{flex:none;gap:10px;margin-left:auto;display:flex}.lfoot[hidden]{display:none!important}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (max-width:620px){.lfoot .wrap{flex-direction:column;align-items:stretch;gap:12px}.lfoot .foot-btns{margin-left:0}.lfoot .foot-btns .btn{flex:1}.lfoot .fb-icon{width:42px;height:42px;font-size:22px}.lfoot .fb-title{font-size:19px}}.sentence{background:var(--surface);border:2px solid var(--line);border-radius:20px;padding:22px;font-size:clamp(20px,3.2vw,26px);font-weight:600;line-height:1.7}.blank{vertical-align:middle;border:3px dashed var(--line);background:var(--surface-2);min-width:130px;min-height:46px;color:var(--muted);border-radius:12px;justify-content:center;align-items:center;margin:0 4px;padding:2px 14px;font-weight:700;transition:border-color .15s,background .15s;display:inline-flex}.blank.over{border-color:var(--gold);background:var(--gold-bg)}.blank.filled{border-style:solid;border-color:var(--good-line);background:var(--good-bg);color:var(--good)}.blank.bad{border-color:var(--bad-line);background:var(--bad-bg)}.chips{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.chip{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:var(--surface);border:2px solid var(--line);color:var(--ink);border-bottom-width:5px;border-radius:14px;padding:12px 20px;font-size:18px;font-weight:700;transition:transform 80ms,opacity .2s,border-color .15s}.chip:hover:not(:disabled){border-color:var(--gold)}.chip:active{cursor:grabbing}.chip.dragging{opacity:.3}.chip:disabled{opacity:.35;cursor:not-allowed}.chip.selected{border-color:var(--orange);background:var(--gold-bg);transform:translateY(-3px)}.chip.ghost{z-index:200;pointer-events:none;opacity:.95;margin:0;position:fixed;box-shadow:0 14px 30px #00000040}.hint-line{color:var(--muted);text-align:center;font-size:14px}.starter{background:var(--surface-2);border-radius:18px;flex-direction:column;gap:6px;padding:16px 18px;display:flex}.starter .lbl{font-family:var(--f-head);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:900}.starter .txt{font-size:20px;font-weight:600}.meter{flex-direction:column;gap:8px;display:flex}.meter .segs{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.meter .seg{background:var(--line);border-radius:6px;height:12px}.meter .seg.on{background:var(--orange)}.meter .seg.target{background:var(--gold);box-shadow:0 0 0 3px var(--gold-bg)}.meter .ml{flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:14px;font-weight:600;display:flex}.bank{flex-wrap:wrap;gap:8px;display:flex}.bank-chip{border:2px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink);border-radius:999px;padding:7px 12px;font-size:15px;font-weight:600}.bank-chip:hover{border-color:var(--gold)}.bank-chip.used{background:var(--good-bg);border-color:var(--good-line);color:var(--good)}.bank-chip.used:before{content:"✓ "}textarea.write{resize:vertical;border:2px solid var(--line);background:var(--surface);width:100%;min-height:140px;color:var(--ink);font:inherit;border-bottom-width:5px;border-radius:18px;padding:16px 18px;font-size:18px;line-height:1.5}textarea.write:focus{border-color:var(--gold);outline:none}.wc{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:14px;font-weight:600;display:flex}.wc .ok{color:var(--good)}.tips{border:2px solid var(--line);background:var(--surface);border-radius:14px;gap:8px;padding:10px 12px;display:grid}.tips-h{font-size:14px;font-weight:800}.tip{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-top:8px;font-size:15px;display:flex}.tip-old{text-decoration:line-through;-webkit-text-decoration-color:var(--orange);text-decoration-color:var(--orange);color:var(--muted)}.tip-new{color:var(--green);font-weight:700}:root[data-theme=dark] .tip-new{color:#7ed3a6}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tip-new{color:#7ed3a6}}.tip-why{color:var(--muted);margin-top:2px;font-size:13px}.tip-fix{border:2px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer;border-radius:10px;flex:none;padding:6px 10px;font-weight:700}.example{background:var(--gold-bg);border-radius:14px;padding:12px 14px;font-size:15px}.match{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px;display:grid}.match .col{flex-direction:column;gap:10px;min-width:0;display:flex}.mbtn{text-align:left;background:var(--surface);border:2px solid var(--line);cursor:pointer;min-height:58px;color:var(--ink);border-bottom-width:5px;border-radius:16px;padding:12px 14px;font-size:16px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .2s}.mbtn.word{font-family:var(--f-head);font-size:18px;font-weight:900}.mbtn:hover:not(:disabled){border-color:var(--gold)}.mbtn.sel{border-color:var(--orange);background:var(--gold-bg)}.mbtn.matched{border-color:var(--good-line);background:var(--good-bg);color:var(--good);box-shadow:0 0 0 4px color-mix(in srgb,var(--good) 18%,transparent);cursor:default}.mbtn.bad{border-color:var(--bad-line);background:var(--bad-bg)}.tray{border:2px dashed var(--line);border-radius:20px;flex-wrap:wrap;justify-content:center;gap:10px;min-height:56px;padding:14px;display:flex}.tray .chip{padding:10px 16px;font-size:16px}.tray-empty{color:var(--muted);align-self:center;font-size:15px;font-weight:600}.buckets{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}@media (max-width:640px){.buckets{grid-template-columns:repeat(2,minmax(0,1fr))}.buckets .bucket:last-child{grid-column:span 2}}.bucket{border:2px solid var(--line);background:var(--surface);cursor:pointer;text-align:center;border-radius:18px;flex-direction:column;gap:8px;min-width:0;min-height:130px;padding:10px;transition:border-color .15s,background .15s,transform .15s;display:flex}.bucket .bh{font-family:var(--f-head);flex-direction:column;align-items:center;font-size:14px;font-weight:900;display:flex}.bucket .bh .be{font-size:28px;line-height:1.1}.bucket .bwords{flex-direction:column;gap:6px;display:flex}.bucket .bword{background:var(--good-bg);color:var(--good);border-radius:10px;padding:6px 8px;font-size:13px;font-weight:700;animation:.4s cubic-bezier(.3,1.7,.5,1) pop}.bucket.over,.sorting .bucket:hover{border-color:var(--gold);background:var(--gold-bg)}.bucket.bad{border-color:var(--bad-line);background:var(--bad-bg)}.sorting .bucket{border-style:dashed}.center-card{text-align:center;flex-direction:column;align-items:center;gap:16px;padding-block:24px;display:flex}.center-card h2{font-size:clamp(30px,5vw,42px)}.center-card p{color:var(--muted);max-width:28em;font-size:18px}.big-stars{gap:10px;font-size:58px;line-height:1;display:flex}.big-stars span{filter:grayscale();opacity:.25;transition:all .45s cubic-bezier(.3,1.7,.5,1);display:inline-block;transform:scale(.6)}.big-stars span.lit{filter:none;opacity:1;transform:scale(1)}.big-stars span:nth-child(2){transform:translateY(-12px)scale(.6)}.big-stars span.lit:nth-child(2){transform:translateY(-12px)scale(1.1)}.summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;max-width:520px;display:grid}.sum{border:2px solid var(--line);background:var(--surface);border-radius:18px;overflow:hidden}.sum .st{font-family:var(--f-head);letter-spacing:.08em;text-transform:uppercase;color:#fff;padding:6px;font-size:12px;font-weight:900}.sum b{font-family:var(--f-head);font-variant-numeric:tabular-nums;padding:10px 6px 12px;font-size:26px;font-weight:900;display:block}.sum.s-xp{border-color:var(--gold)}.sum.s-xp .st{background:var(--gold);color:#1b2a4a}.sum.s-st{border-color:var(--orange)}.sum.s-st .st{background:var(--orange)}.sum.s-hr{border-color:var(--green)}.sum.s-hr .st{background:var(--green)}.breakdown{flex-direction:column;gap:6px;width:100%;max-width:520px;font-size:15px;display:flex}.breakdown div{background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:12px;justify-content:space-between;padding:8px 14px;display:flex}.breakdown div b{font-family:var(--f-head);font-weight:900}.new-ach{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.new-ach span{background:var(--gold-bg);border:2px solid var(--gold);border-radius:999px;padding:6px 12px;font-size:14px;font-weight:700;animation:.5s cubic-bezier(.3,1.7,.5,1) pop}.profile{flex-direction:column;gap:24px;max-width:820px;margin:0 auto;display:flex}.phead{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.phead .inky{--size:120px}.phead h1{font-size:clamp(30px,5vw,40px)}.phead .since{color:var(--muted);font-size:14px}.sgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (max-width:640px){.sgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.sbox{background:var(--surface);border:2px solid var(--line);border-radius:18px;align-items:center;gap:12px;min-width:0;padding:16px;display:flex}.sbox .si{font-size:28px}.sbox b{font-family:var(--f-head);font-variant-numeric:tabular-nums;font-size:24px;font-weight:900;line-height:1.1;display:block}.sbox span{color:var(--muted);font-size:13px}.lvl{flex-direction:column;gap:12px;display:flex}.lvl-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.lvl-top h3{font-size:22px}.lvl .bar>i{background:var(--orange)}.lvl-ladder{color:var(--muted);text-align:center;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;font-size:12px;font-weight:700;display:grid}.lvl-ladder span{background:var(--surface-2);text-overflow:ellipsis;border-radius:10px;padding:6px 2px;overflow:hidden}.lvl-ladder span.on{background:var(--orange);color:#fff}.agrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.ach{text-align:center;border:2px solid var(--gold);background:var(--gold-bg);border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;display:flex}.ach .ai{font-size:38px;line-height:1.1}.ach b{font-family:var(--f-head);font-size:15px;font-weight:900;line-height:1.2}.ach small{color:var(--muted);font-size:12px}.ach.locked{border-color:var(--line);background:var(--surface)}.ach.locked .ai{filter:grayscale();opacity:.35}.ach.locked b{color:var(--muted)}.cert{border:3px double var(--gold-deep);text-align:center;background:var(--surface);border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:22px;display:flex}.cert h4{font-size:22px}.cert .seal{font-size:34px}.cert.locked{border-color:var(--line);opacity:.75}.demo-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.paywall{flex-direction:column;gap:30px;max-width:1040px;margin:0 auto;display:flex}.pw-hero{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.pw-hero .inky{--size:190px}.pw-hero h1{font-size:clamp(30px,5vw,46px)}.pw-hero p{color:var(--muted);max-width:32em;font-size:18px}.pw-back{align-self:flex-start}.modal{z-index:100;padding:20px max(16px,env(safe-area-inset-right,0px)) 20px max(16px,env(safe-area-inset-left,0px));-webkit-backdrop-filter:blur(4px);background:#0a101e8c;place-items:center;display:grid;position:fixed;inset:0}.modal[hidden]{display:none!important}.modal.open .sheet{animation:.32s cubic-bezier(.2,1.2,.4,1) modalIn}@keyframes modalIn{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:none}}.sheet{background:var(--surface);border-radius:26px;flex-direction:column;gap:16px;width:100%;max-width:440px;max-height:calc(100dvh - 40px);padding:28px 24px 24px;display:flex;position:relative;overflow:auto;box-shadow:0 30px 60px #0000004d}.sheet .x{position:absolute;top:12px;right:12px}.sheet h2{font-size:26px}.sheet .center{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.tabs{background:var(--surface-2);border-radius:14px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.tabs button{font-family:var(--f-head);cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:10px;padding:10px;font-weight:800}.tabs button.on{background:var(--surface);color:var(--ink);box-shadow:0 2px 6px #00000014}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:14px;font-weight:600}.field input{border:2px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:14px;padding:13px 14px;font-size:16px}.field input:focus{border-color:var(--gold);background:var(--surface);outline:none}.consent{color:var(--ink);align-items:flex-start;gap:10px;font-size:14px;line-height:1.45;display:flex}.consent[hidden]{display:none}.consent input{width:20px;height:20px;accent-color:var(--gold);flex:none;margin-top:1px}.form-err{color:var(--bad);min-height:0;font-size:14px;font-weight:600}.fine{color:var(--muted);text-align:center;font-size:13px}.stripe-box{border:2px dashed var(--line);border-radius:16px;justify-content:space-between;align-items:center;gap:10px;padding:14px;font-weight:600;display:flex}.stripe-box .p{font-family:var(--f-head);font-size:20px;font-weight:900}.sheet .row{flex-wrap:wrap;gap:10px;display:flex}.sheet .row .btn{flex:140px}#toasts{z-index:150;left:50%;top:calc(12px + env(safe-area-inset-top,0px));pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:min(92vw,420px);display:flex;position:fixed;transform:translate(-50%)}.toast{background:var(--navy);color:#fff;border-radius:16px;align-items:center;gap:10px;padding:12px 16px;font-size:15px;font-weight:600;animation:.35s cubic-bezier(.2,1.3,.4,1) toastIn;display:flex;box-shadow:0 12px 30px #00000040}.toast.out{animation:.3s forwards toastOut}@keyframes toastIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;transform:translateY(-14px)}}canvas.confetti{pointer-events:none;z-index:180;width:100vw;height:100vh;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}.js .reveal.pre{opacity:1;transform:none}}
