@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_next/static/media/figtree-latin-ext-wght-normal.76b41198.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_next/static/media/figtree-latin-wght-normal.93af595f.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/bricolage-grotesque-vietnamese-wght-normal.96a5d80f.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/bricolage-grotesque-latin-ext-wght-normal.232ded7b.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/bricolage-grotesque-latin-wght-normal.3e340e57.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--ground:#eaf0ee;--mist:#f1f4f3;--paper:#fff;--ink:#16292e;--muted:#4e6468;--soft:#3c5054;--line:#d3dedc;--teal:#16777a;--teal-t:#e4f1ef;--teal-ink:#0f4a4c;--water:#58b7c9;--water-t:#d6eff3;--gold:#e9a83b;--gold-t:#fbebc8;--gold-ink:#5c3c06;--cream:#fff7e6;--sand:#dcd0b6;--sky:#7cc4d1;--info-t:#e3ecf3;--info-ink:#264a66;--dusk:#0e1f2a;--dusk2:#16303e;--dusk3:#1b3a4a;--dusk-line:#24414f;--dusk-fg:#eaf1f2;--dusk-muted:#a7bcc2;--moon:#f2d48a;--dteal:#3fa7b3;--backdrop:#d9e3e1;--display:"Bricolage Grotesque Variable","Bricolage Grotesque",Figtree,system-ui,sans-serif;--body:"Figtree Variable",Figtree,system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:light}body,html{height:100%}#app{height:100dvh}body{margin:0;background:var(--backdrop);color:var(--ink);font-family:var(--body);font-size:16px;-webkit-tap-highlight-color:transparent}#app{height:100%;max-width:440px;margin:0 auto;display:flex;flex-direction:column;background:var(--ground);position:relative;overflow:hidden}@media (min-width:520px){#app{box-shadow:0 0 0 1px #c3d0ce,0 30px 60px rgba(22,41,46,.18)}}.view{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch}.pad{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:16px 28px;display:flex;flex-direction:column;gap:14px}.calm{background:var(--dusk);color:var(--dusk-fg)}.parent{background:var(--mist)}h1,h2,h3{margin:0;font-family:var(--display);font-weight:700;text-wrap:balance;letter-spacing:-.3px}h1{font-size:30px;line-height:1.08}h2{font-size:22px;line-height:1.15}h3{font-size:18px}p{margin:0;line-height:1.45}button,input,select,textarea{font-family:inherit;font-size:16px}[data-a],a,body,button,html{touch-action:manipulation}button:active{transform:scale(.97)}button{cursor:pointer;color:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.muted{color:var(--muted)}.calm .muted{color:var(--dusk-muted)}.small{font-size:14px}.tiny{font-size:12.5px}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:10px}.grow{flex:1 1;min-width:0}.card{background:var(--paper);border-radius:22px;padding:16px;display:flex;flex-direction:column;gap:12px}.calm .card{background:#132836;border:1px solid #1f3a48}.card.dusk{background:var(--dusk2);color:var(--dusk-fg)}.card.dusk .seg{background:var(--dusk3);box-shadow:none}.card.dusk .seg button{color:#c9d6da}.card.dusk .seg button[aria-pressed=true]{background:var(--dusk-fg);color:var(--dusk)}.card.dusk .muted{color:var(--dusk-muted)}.card.gold{background:var(--gold-t);color:var(--gold-ink)}.card.tint{background:var(--teal-t);color:var(--teal-ink)}.btn{border:0;border-radius:999px;min-height:48px;padding:0 20px;font-weight:700;background:var(--teal);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.btn.big{min-height:64px;font-size:20px}.btn.gold{background:var(--gold);color:var(--ink)}.btn.ghost{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line);font-weight:600}.calm .btn{background:var(--dteal);color:var(--dusk)}.calm .btn.ghost{background:transparent;color:var(--dusk-fg);box-shadow:inset 0 0 0 1px #4a6a78}.btn.link{background:transparent;color:var(--teal);text-decoration:underline;text-underline-offset:4px;font-weight:600;min-height:44px}.btn[disabled]{opacity:.45;cursor:default}.btn.full{width:100%}.iconbtn{width:46px;height:46px;border-radius:999px;border:0;background:hsla(0,0%,100%,.85);display:inline-flex;align-items:center;justify-content:center;color:var(--ink)}.calm .iconbtn{background:hsla(0,0%,100%,.08);color:var(--dusk-fg)}.pill{display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 16px 0 12px;border-radius:999px;background:hsla(0,0%,100%,.88);font-weight:700}.calm .pill{background:hsla(0,0%,100%,.08)}.pill b{font-family:var(--display);font-size:19px}.pill span{font-size:13px;font-weight:500;color:var(--muted)}.calm .pill span{color:var(--dusk-muted)}.tag{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.tag.ai{background:var(--info-t);color:var(--info-ink)}.tag.school{background:#e5efe6;color:#2c5134}.tag.sample{background:var(--gold-t);color:#6b4508}.tag.ok{background:var(--teal-t);color:var(--teal-ink)}.tag.parent{background:#f3e8d6;color:#6b4508}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:4px;gap:4px;padding:4px;border-radius:999px;background:var(--paper);box-shadow:inset 0 0 0 1px #dde5e4}.seg button{border:0;border-radius:999px;min-height:42px;background:transparent;font-weight:700;font-size:15px}.seg button[aria-pressed=true]{background:var(--ink);color:#fff}.seg.soft{background:#e4eae9;box-shadow:none}.seg.soft button[aria-pressed=true]{background:var(--paper);color:var(--ink)}.calm .seg{background:var(--dusk2);box-shadow:none}.calm .seg button[aria-pressed=true]{background:var(--dusk-fg);color:var(--dusk)}.opt{border:1.5px solid var(--line);background:var(--paper);border-radius:16px;min-height:52px;padding:10px 14px;text-align:left;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.opt[aria-pressed=true]{border:2px solid var(--teal);background:var(--teal-t)}.chip{border:1.5px solid var(--line);background:var(--paper);border-radius:999px;min-height:40px;padding:0 14px;font-weight:600;font-size:14px}.chip[aria-pressed=true]{border:2px solid var(--teal);background:var(--teal-t)}.listrow{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #e4eae9}.card.dusk .listrow{border-color:var(--dusk-line)}.bar{height:10px;background:#dde5e4;overflow:hidden}.bar,.bar i{border-radius:999px}.bar i{display:block;height:100%;background:var(--teal);transition:width .4s ease}.calm .bar{background:var(--dusk-line)}.calm .bar i{background:#6cc3d3}.field{height:50px;box-sizing:border-box;padding:0 16px;border-radius:14px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);width:100%}label.lbl{font-size:14px;font-weight:700}.stepper{display:flex;align-items:center;gap:6px}.stepper button{width:44px;height:44px;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);font-size:20px;font-weight:700}.stepper b{min-width:34px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.toggle{width:52px;height:32px;border-radius:999px;background:#c7d3d2;position:relative;flex-shrink:0;border:0;padding:0}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:999px;background:#fff;transition:left .2s}.toggle[aria-pressed=true]{background:var(--teal)}.toggle[aria-pressed=true]:after{left:23px}.top{display:flex;align-items:center;justify-content:space-between;gap:10px}.tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--paper);border-top:1px solid #dde5e4;padding:6px max(8px,env(safe-area-inset-left,0px)) 8px max(8px,env(safe-area-inset-right,0px))}.tabbar button{border:0;background:transparent;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12.5px;font-weight:600;color:var(--muted)}.tabbar button[aria-current=page]{color:var(--teal);font-weight:700}.tabbar .dot{position:relative}.tabbar .dot:after{content:attr(data-n);position:absolute;top:-6px;right:-12px;min-width:18px;height:18px;border-radius:9px;background:var(--gold);color:var(--ink);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;box-sizing:border-box}.kidbar{margin:0 max(16px,env(safe-area-inset-left,0px)) 14px max(16px,env(safe-area-inset-right,0px));display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:5px;gap:5px;padding:5px;border-radius:999px;background:hsla(0,0%,100%,.92);box-shadow:0 10px 28px rgba(30,90,95,.12)}.kidbar button{border:0;border-radius:999px;min-height:50px;background:transparent;font-weight:700;font-size:15px}.kidbar button[aria-current=page]{background:var(--ink);color:#fff}.calm .kidbar{background:var(--dusk2);box-shadow:none}.calm .kidbar button{color:#c9d6da}.calm .kidbar button[aria-current=page]{background:var(--dusk-fg);color:var(--dusk)}.hills{display:block;width:100%;height:auto;margin-bottom:-6px}.tokens{display:flex;justify-content:space-between;gap:6px}.tok{width:56px;height:56px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.75);color:#6e8487;box-sizing:border-box;flex-shrink:0}.tok.done{background:var(--teal);color:#fff}.tok.next{background:#fff;border:4px solid var(--gold);color:var(--ink)}.tok.passed{border:2px dashed #8fa6a8;background:hsla(0,0%,100%,.5);color:var(--muted)}.nextcard{background:#fff;border-radius:32px;padding:24px 20px 20px;box-shadow:0 18px 40px rgba(30,90,95,.14);flex-direction:column;gap:12px;text-align:center}.bigicon,.nextcard{display:flex;align-items:center}.bigicon{width:104px;height:104px;border-radius:999px;background:var(--gold-t);justify-content:center;color:var(--ink)}.krow{border-radius:20px;background:#132836;border:1px solid #1f3a48;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.krow.cur{background:var(--dusk3);border:1.5px solid var(--dteal)}.num{width:34px;height:34px;flex-shrink:0;border-radius:999px;border:1.5px solid #4a6a78;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:var(--dusk-muted);box-sizing:border-box}.num.ok{background:var(--dteal);border:0;color:var(--dusk)}.jars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;align-items:start}.jar{position:relative;width:100%;max-width:100px;height:160px;justify-self:center;border-radius:48px;background:hsla(0,0%,100%,.9);border:4px solid #fff;box-shadow:0 14px 30px rgba(30,90,95,.16);overflow:hidden;padding:0}.jar .fill{position:absolute;left:0;right:0;bottom:0;background:var(--water);box-shadow:inset 0 6px 0 hsla(0,0%,100%,.35);transition:height .45s ease}.jar .lbl{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink)}.jar .lbl b{font-family:var(--display);font-size:26px}.jarcol{gap:8px;text-align:center}.jarcol,.newjar{display:flex;flex-direction:column;align-items:center}.newjar{width:100%;max-width:100px;height:160px;justify-self:center;border:3px dashed #a8bdbb;border-radius:48px;background:transparent;font-weight:700;color:var(--teal);justify-content:center;gap:4px}.wall{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.note{padding:12px;border-radius:16px;color:var(--ink);flex-direction:column;gap:3px}.note,.word{display:flex}.word{height:220px;border-radius:32px;background:#fff;box-shadow:0 16px 36px rgba(30,90,95,.12);align-items:center;justify-content:center;font-family:var(--display);font-size:76px;font-weight:700}.scrim{position:absolute;inset:0;background:rgba(22,41,46,.42);z-index:20}.sheet{left:0;right:0;bottom:0;z-index:21;background:#fff;color:var(--ink);border-radius:30px 30px 0 0;padding:24px max(18px,env(safe-area-inset-left,0px)) calc(22px + env(safe-area-inset-bottom, 0px)) max(18px,env(safe-area-inset-right,0px));gap:12px;max-height:88%;animation:rise .25s ease-out both}.over,.sheet{position:absolute;display:flex;flex-direction:column;overflow-y:auto}.over{inset:0;z-index:22}.celebrate{background:var(--cream);align-items:center;justify-content:center;text-align:center;gap:16px;padding:24px max(24px,env(safe-area-inset-left,0px))}.toast{position:absolute;left:16px;right:16px;top:calc(12px + env(safe-area-inset-top, 0px));pointer-events:none;z-index:30;padding:14px 18px;border-radius:16px;background:var(--ink);color:#fff;font-size:15px;line-height:1.4;animation:rise .25s ease-out both}@keyframes shake{0%,to{transform:none}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}.shake{animation:shake .3s ease}@keyframes rise{0%{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}@keyframes pop{0%{transform:scale(.55);opacity:0}65%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}.pop{animation:pop .5s cubic-bezier(.2,.8,.3,1.2) both}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.chart{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:10px;gap:10px;align-items:end;height:160px}.chart .c{display:flex;flex-direction:column;align-items:center;gap:6px}.chart .stack{width:100%;height:140px;display:flex;flex-direction:column-reverse;border-radius:10px;overflow:hidden;background:#eef1f0}.ladder{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px;align-items:end;height:56px}.ladder div{border-radius:6px}.thumbs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.thumb{aspect-ratio:.707;max-width:100%;border-radius:10px;border:1px solid var(--line);background:#fff;overflow:hidden;display:flex;flex-direction:column}.thumb .band{height:16px}.thumb .in{padding:8px;display:flex;flex-direction:column;gap:5px}.thumb .ln{height:3px;background:var(--line)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.banner{border-radius:18px;padding:12px 14px;font-size:14px;line-height:1.4}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.err{color:#8a3b12}.pinkeys{display:grid;grid-template-columns:repeat(3,72px);grid-gap:14px;gap:14px}.pinkeys button{width:72px;height:72px;border-radius:999px;border:0;background:#fff;font-family:var(--display);font-size:28px;font-weight:700;color:var(--ink)}.pinkeys button.del{font-size:15px}textarea.field{height:auto;min-height:96px;padding:12px 16px;line-height:1.45;resize:vertical}select.field{-webkit-appearance:none;-moz-appearance:none;appearance:none}.msg{border-radius:20px;padding:14px 16px;line-height:1.45}.msg.me{align-self:flex-end;max-width:86%;background:var(--teal);color:#fff;border-radius:22px 22px 6px 22px}.msg.ai{background:#fff}.msg.ai h3{font-size:16px;margin:10px 0 4px}.msg.ai h3:first-child{margin-top:0}.msg.ai p,.msg.ai ul{margin:0 0 6px}.msg.ai ul{padding-left:20px}.spin{width:22px;height:22px;border-radius:999px;border:3px solid var(--line);border-top-color:var(--teal);animation:sp .8s linear infinite}@keyframes sp{to{transform:rotate(1turn)}}.busy{opacity:.6;pointer-events:none}.offline{position:absolute;left:16px;right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:30;padding:10px 14px;border-radius:14px;background:var(--gold-t);color:var(--gold-ink);font-size:14px;text-align:center}