@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque-latin.woff2)format("woff2");font-weight:200 800;font-stretch:75% 100%;font-display:swap}@font-face{font-family:Atkinson Hyperlegible Next;src:url(/fonts/atkinson-hyperlegible-next-latin.woff2)format("woff2");font-weight:200 800;font-display:swap}:root{--ink:#14261f;--ink-2:#44574e;--ink-3:#56685f;--paper:#fff;--map:#f2f6ee;--map-2:#e6efe0;--line:#d3dfd0;--line-strong:#7f9188;--forest:#173f31;--forest-2:#24614a;--on-forest:#eef4ec;--on-forest-2:#cfe0d4;--trail:#ff6b2c;--trail-hover:#ff8148;--trail-deep:#c2410c;--trail-soft:#ffe3d3;--sun:#ffc73a;--link:#0b5a87;--water:#d6ecf6;--water-ink:#0b5a87;--wood:#ddefd7;--wood-ink:#1d5a3c;--sand:#fbe5d1;--sand-ink:#8a3d10;--heather:#ece2f5;--heather-ink:#5a2f86;--good:#e2f3dc;--good-ink:#1f6b3f;--good-line:#4f9a68;--learn:#fff0d4;--learn-ink:#7e4a06;--learn-line:#d39a3a;--error:#a3302b;--contour:#96765042;--contour-light:#ffffff1a;--shadow-1:0 1px 2px #14261f0f, 0 2px 8px #14261f0d;--shadow-2:0 2px 4px #14261f0d, 0 14px 32px -10px #14261f38;--shadow-3:0 30px 70px -18px #14261f61;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--display:"Bricolage Grotesque", "Atkinson Hyperlegible Next", system-ui, sans-serif;--body:"Atkinson Hyperlegible Next", system-ui, -apple-system, "Segoe UI", sans-serif;--check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 12.5 4.8 4.8L19.5 7'/%3E%3C/svg%3E")}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-color:#9fb3a6 var(--map);scroll-padding-top:84px}body{background:var(--map);color:var(--ink);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:720;line-height:1.08}h1{font-size:40px}h2{font-size:30px}h3{font-size:21px}p{text-wrap:pretty;margin:0}p+p{margin-top:.7em}a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:1.5px}img,svg{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button,a,summary,label{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--link);outline-offset:3px;border-radius:8px}.rail :focus-visible,.forest-ground :focus-visible,.pricing :focus-visible,.plan-hero :focus-visible,.practice-quick :focus-visible,.taster-outro :focus-visible,.site-footer :focus-visible{outline-color:#ffd28a}::selection{color:var(--ink);background:#ffd3bd}input,textarea{caret-color:var(--trail-deep)}::placeholder{color:#5d6f66;opacity:1}.wrap{width:100%;max-width:1240px;margin-inline:auto;padding-inline:18px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.micro,.muted{color:var(--ink-3)}.micro{font-size:14px;line-height:1.55}.center{text-align:center}.full{width:100%}.icon{flex:none;width:22px;height:22px}.skip{z-index:200;background:var(--paper);color:var(--ink);box-shadow:var(--shadow-2);border-radius:12px;padding:12px 16px;position:fixed;top:-80px;left:12px}.skip:focus{top:12px}@media (width<=480px){.hide-narrow{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.button{max-width:100%;min-height:48px;font:700 16px/1.25 var(--body);text-align:center;transition:background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .14s var(--ease-out);border:1.5px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:11px 20px;text-decoration:none;display:inline-flex}.button:active:not(:disabled){transform:scale(.97)}.button .icon{width:20px;height:20px}.primary{background:var(--trail);color:var(--ink);box-shadow:inset 0 -2px #14261f29,0 1px 2px #14261f24}.primary:disabled{background:var(--map-2);color:var(--ink-2);box-shadow:none;opacity:1}.outline{background:var(--paper);color:var(--ink);border-color:var(--line-strong)}.secondary{background:var(--map-2);color:var(--ink);border-color:#c3d3bf}.danger{background:var(--paper);color:var(--error);border-color:#d29b97}@media (hover:hover) and (pointer:fine){.primary:hover:not(:disabled){background:var(--trail-hover)}.outline:hover:not(:disabled){border-color:var(--forest-2);background:#f6faf3}.secondary:hover:not(:disabled){background:#dbe8d4}.danger:hover:not(:disabled){background:#fdf0ef}}.small{border-radius:11px;min-height:44px;padding:8px 14px;font-size:15px}.large{border-radius:14px;min-height:56px;padding:14px 24px;font-size:17px}.price-chip{white-space:nowrap;background:#14261f1f;border-radius:999px;padding:2px 9px;font-size:.88em}.text-link{color:var(--link);font:700 15px/1.4 var(--body);text-underline-offset:4px;background:0 0;border:0;padding:6px 0;text-decoration:underline;text-decoration-thickness:1.5px}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.chip{border:1.5px solid var(--line-strong);background:var(--paper);min-height:44px;color:var(--ink);font:700 15px/1.3 var(--body);border-radius:999px;padding:8px 16px}.chip.active{background:var(--forest);border-color:var(--forest);color:#fff}.tag{background:var(--map-2);color:var(--ink-2);font:700 13.5px/1.35 var(--body);border-radius:999px;align-items:center;gap:6px;padding:3px 11px;display:inline-flex}.tag.maths{background:var(--wood);color:var(--wood-ink)}.tag.english{background:var(--sand);color:var(--sand-ink)}.tag.verbal{background:var(--heather);color:var(--heather-ink)}.swatch{background:var(--wood);border:3.5px solid var(--wood-ink);border-radius:50%;flex:none;width:16px;height:16px;display:inline-block}.swatch.english{background:var(--sand);border-color:var(--sand-ink)}.swatch.verbal{background:var(--heather);border-color:var(--heather-ink)}input,select,textarea{border:1.5px solid var(--line-strong);background-color:var(--paper);max-width:100%;min-height:48px;color:var(--ink);border-radius:11px;padding:10px 12px;font-size:16px}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314261f' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:18px;padding-right:40px}input[type=checkbox],input[type=radio]{width:22px;height:22px;min-height:0;accent-color:var(--forest-2);flex:none;padding:0}label{font-size:15px;font-weight:700}label input:not([type=checkbox]):not([type=radio]),label textarea,.form-stack label>select{width:100%;margin-top:6px;font-weight:400;display:block}.check-label{align-items:flex-start;gap:12px;font-weight:500;line-height:1.5;display:flex}.check-label input{margin-top:1px}.form-stack{gap:16px;display:grid}.form-stack .button{justify-self:start}.ticks{gap:10px;margin:0;padding:0;list-style:none;display:grid}.ticks li{padding-left:32px;position:relative}.ticks li:before{content:"";background:var(--good);border-radius:50%;width:22px;height:22px;position:absolute;top:2px;left:0}.ticks li:after{content:"";background:var(--good-ink);width:12px;height:12px;-webkit-mask:var(--check) center / contain no-repeat;-webkit-mask:var(--check) center / contain no-repeat;mask:var(--check) center / contain no-repeat;position:absolute;top:7px;left:5px}.lead-list{gap:12px;margin:22px 0 0;padding:0;list-style:none;display:grid}.lead-list li{color:var(--ink-2);padding-left:30px;position:relative}.lead-list li:before{content:"";border:3.5px solid var(--trail);background:var(--paper);border-radius:50%;width:14px;height:14px;position:absolute;top:6px;left:2px}.lead-list b{color:var(--ink)}.notice{background:var(--water);color:var(--ink);border-radius:14px;padding:14px 16px;font-size:15.5px;line-height:1.55}.notice p{margin-top:6px}.notice--trail{background:var(--trail-soft)}.error-banner{color:#8e2a25;background:#fdebea;border-radius:12px;margin-bottom:14px;padding:12px 14px;font-size:15px}.brand{color:var(--ink);font:800 25px/1 var(--display);letter-spacing:-.035em;white-space:nowrap;align-items:center;gap:8px;font-stretch:92%;text-decoration:none;display:inline-flex}.brand-mark{flex:none;width:30px;height:30px}.brand-word>span{color:var(--trail-deep)}.map,.pricing,.plan-hero,.plan-sample,.practice-quick,.adventure-hero,.taster-outro{isolation:isolate;position:relative}.map:before,.pricing:before,.plan-hero:before,.plan-sample:before,.practice-quick:before,.adventure-hero:before{content:"";z-index:-1;background:var(--contour);pointer-events:none;position:absolute;inset:0;-webkit-mask:url(/textures/contours.svg) 50%/cover no-repeat;mask:url(/textures/contours.svg) 50%/cover no-repeat}.pricing:before,.plan-hero:before,.plan-sample:before,.practice-quick:before{background:var(--contour-light)}.map:before{-webkit-mask-composite:source-in;-webkit-mask:url(/textures/contours.svg) 50%/cover no-repeat,linear-gradient(#0000,#000 14% 86%,#0000);-webkit-mask-composite:source-in,source-over;mask:url(/textures/contours.svg) 50%/cover no-repeat intersect,linear-gradient(#0000,#000 14% 86%,#0000)}.adventure-hero:before{background:#96765029}.site-header{z-index:50;background:#f2f6eef7;border-bottom:1px solid #0000;transition:border-color .2s,box-shadow .2s;position:sticky;top:0}.site-header.is-stuck{border-color:var(--line);box-shadow:0 10px 24px -18px #14261f80}.site-header-inner{justify-content:space-between;align-items:center;gap:12px;height:64px;display:flex}.site-nav{display:none}.site-actions{align-items:center;gap:14px;display:flex}.site-actions .text-link{color:var(--ink)}@media (width<=374px){.site-actions .text-link{display:none}.brand{font-size:23px}}.site-footer{background:var(--forest);color:var(--on-forest-2);padding:30px 0 calc(30px + env(safe-area-inset-bottom))}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 28px;display:flex}.site-footer .brand{color:#fff}.site-footer .brand-word>span{color:#ff8a52}.site-footer nav{flex-wrap:wrap;gap:6px 20px;display:flex}.site-footer a:not(.brand){color:#fff;padding-block:6px;font-size:15px}.site-footer small{color:#fffc;flex-basis:100%;font-size:13.5px}.hero{padding:22px 0 44px}.hero-grid{gap:30px;display:grid}.hero h1{letter-spacing:-.035em;font-size:clamp(46px,12.6vw,104px);font-weight:780;font-stretch:90%;line-height:.95}.hero-lede{max-width:34rem;color:var(--ink-2);margin-top:18px;font-size:18px}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.hero-status{max-width:33rem;color:var(--ink-2);align-items:flex-start;gap:10px;margin-top:14px;font-size:15px;display:flex}.status-dot{background:var(--sun);border-radius:50%;flex:none;width:10px;height:10px;margin-top:7px;box-shadow:0 0 0 4px #ffc73a4d}.map-key{border:1px solid var(--line);background:#ffffffc7;border-radius:16px;gap:8px;max-width:31rem;margin:24px 0 0;padding:14px 16px;display:grid}.map-key>div{flex-wrap:wrap;justify-content:space-between;gap:2px 14px;display:flex}.map-key dt{align-items:center;gap:10px;font-weight:700;display:flex}.map-key dd{color:var(--ink-2);margin:0;font-size:15px}.try-head{margin-bottom:12px}.try-head h2{font-size:24px}.try-head p{color:var(--ink-2);margin-top:2px;font-size:15px}.section{padding:56px 0}.section-head{max-width:46rem;margin-bottom:28px}.section-head h2,.faq-grid h2,.child-copy h2,.parents-copy h2{letter-spacing:-.04em;font-size:clamp(34px,7.4vw,62px);font-weight:760;font-stretch:90%;line-height:.98}.section-head p,.child-copy>p,.parents-copy>p{max-width:62ch;color:var(--ink-2);margin-top:14px;font-size:18px}.section-head--center{text-align:center;margin-inline:auto}.inside,.parents{background-color:var(--map);border-top:1px solid var(--line)}.gazetteer{gap:12px;display:grid}.gaz{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow-1);border-radius:18px}.gaz summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:16px 48px 16px 18px;list-style:none;display:flex;position:relative}.gaz summary::-webkit-details-marker{display:none}.gaz summary:after{content:"";border:solid var(--ink-2);width:10px;height:10px;transition:transform .2s var(--ease-out);border-width:0 2.5px 2.5px 0;margin-top:-7px;position:absolute;top:50%;right:18px;transform:rotate(45deg)}.gaz[open] summary:after{margin-top:-2px;transform:rotate(-135deg)}.gaz-name{font:750 22px/1.1 var(--display);letter-spacing:-.02em}.gaz-count{width:100%;color:var(--ink-2);font-size:14.5px;font-weight:700}.gaz ol{margin:0;padding:0 18px 14px;list-style:none}.gaz li{break-inside:avoid;border-top:1px dashed #c4d2c0;align-items:baseline;gap:8px;padding:7px 0;font-size:15.5px;line-height:1.4;display:flex}.gaz li span{flex:1}.gaz li b{color:var(--ink-2);font-variant-numeric:tabular-nums}.gaz li em{background:var(--trail-soft);color:var(--sand-ink);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:12.5px;font-style:normal;font-weight:700}.fine-print{color:var(--ink-3);margin-top:18px;font-size:14.5px}.child-grid,.parents-grid{gap:30px;display:grid}.companion-stage{justify-items:center;gap:16px;display:grid}.stage-buddies{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;display:grid}.stage-buddy{background:var(--sand);color:var(--ink);font:700 15px var(--body);transition:border-color .16s ease, transform .14s var(--ease-out);border:2px solid #0000;border-radius:22px;justify-items:center;gap:4px;padding:12px 4px 10px;display:grid}.stage-buddy:active{transform:scale(.97)}.stage-buddy[aria-pressed=true]{border-color:var(--forest-2);box-shadow:inset 0 0 0 1px var(--forest-2)}.stage-buddy>span{width:100%;max-width:128px;display:block}.stage-buddy .companion{aspect-ratio:1;width:100%;height:auto}.buddy--sand,.companion-option.buddy--sand{background:var(--sand)}.buddy--water,.companion-option.buddy--water,.stage-buddy.buddy--water{background:var(--water)}.buddy--wood,.companion-option.buddy--wood,.stage-buddy.buddy--wood{background:var(--wood)}.buddy--heather,.companion-option.buddy--heather,.stage-buddy.buddy--heather{background:var(--heather)}.speech{border:1.5px solid var(--line-strong);background:var(--paper);max-width:100%;color:var(--ink);font:700 16px/1.35 var(--body);box-shadow:var(--shadow-1);border-radius:16px;padding:9px 15px;display:inline-block;position:relative}.stage-speech:before{content:"";background:inherit;border:inherit;border-width:1.5px 0 0 1.5px;width:14px;height:14px;margin-left:-7px;position:absolute;top:-8px;left:50%;transform:rotate(45deg)}.sample-trail{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow-1);border-radius:24px;margin:36px 0 0;padding:20px}.sample-trail figcaption{margin-bottom:6px;font-weight:700}.plan-sample{background:var(--forest);color:var(--on-forest);box-shadow:var(--shadow-2);border-radius:24px;margin:0;padding:20px;overflow:hidden}.plan-sample figcaption{color:var(--on-forest-2);margin-bottom:12px;font-size:14px;font-weight:700}.plan-sample-top p{color:var(--on-forest-2)}.plan-sample-top strong{color:#fff}p.plan-sample-weeks{color:#fff;font:720 24px/1.1 var(--display)}.plan-sample-weeks b{letter-spacing:-.04em;margin-right:4px;font-size:56px}.plan-sample-weeks-list{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.plan-sample-weeks-list li{background:#ffffff14;border-radius:14px;padding:12px 14px}.plan-sample-weeks-list span{color:#ffd28a;font-size:14px;font-weight:800}.plan-sample-weeks-list p{align-items:baseline;gap:8px;margin:4px 0 0;font-size:15px;display:flex}.plan-sample-weeks-list .swatch{border-width:2.5px;width:11px;height:11px;transform:translateY(1px)}.route{margin-top:16px}.route-bar{gap:4px;display:flex}.route-leg{flex:var(--w) 1 0;border-radius:999px;min-width:8px;height:10px}.route-leg.learn{background:var(--trail)}.route-leg.papers{background:var(--sun)}.route-pins{color:var(--on-forest);justify-content:space-between;gap:8px;margin-top:8px;font-size:13.5px;font-weight:700;display:flex}.pricing{background:var(--forest);color:var(--on-forest);overflow:hidden}.pricing .section-head h2{color:#fff}.pricing .section-head p{color:var(--on-forest-2)}.plans{gap:16px;max-width:1000px;margin:0 auto;display:grid}.plan{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-3);border-radius:24px;flex-direction:column;gap:14px;padding:24px 22px;display:flex}.plan>p:not(.plan-price):not(.plan-status){color:var(--ink-2)}.plan h3{font-size:24px}.plan-price b{font:780 56px/1 var(--display);letter-spacing:-.04em}.plan-price span{color:var(--ink-2);margin-left:4px;font-weight:700}.plan .ticks{flex:1;margin:4px 0 6px}.plan--full{border:3px solid var(--trail)}.plan-status{color:var(--ink-2);font-size:14.5px}.plan-status .text-link{margin-left:4px;font-size:14.5px}.faq-grid{gap:18px;display:grid}.faqs details{border-bottom:1px solid var(--line);padding:16px 0}.faqs summary{cursor:pointer;justify-content:space-between;gap:16px;font-size:18px;font-weight:700;list-style:none;display:flex}.faqs summary::-webkit-details-marker{display:none}.faqs summary:after{content:"+";color:var(--trail-deep);font:400 28px/.9 var(--body);transition:transform .2s var(--ease-out)}.faqs details[open] summary:after{transform:rotate(45deg)}.faqs p{color:var(--ink-2);margin-top:10px}.last-cta{text-align:center;padding:56px 0 64px}.last-inner{justify-items:center;gap:16px;display:grid}.last-buddies{justify-content:center;display:flex}.last-buddies>span{width:84px;margin:0 -5px;display:block}.last-buddies .companion{aspect-ratio:1;width:100%;height:auto}.last-cta h2{letter-spacing:-.04em;font-size:clamp(40px,9vw,84px);font-weight:780;font-stretch:86%}.last-cta .hero-actions{justify-content:center;margin-top:0}.companion{display:block;overflow:visible}.companion .c-figure,.companion .c-head,.companion .c-body,.companion .c-eyes,.companion .c-tail{transform-box:fill-box}.companion .c-eyes{transform-origin:50%;animation:5.4s infinite blink}.companion--owl .c-eyes{animation-duration:6.2s;animation-delay:-1.7s}.companion--panda .c-eyes{animation-duration:5.8s;animation-delay:-3.2s}.companion--otter .c-eyes{animation-duration:6.6s;animation-delay:-4.4s}.companion .c-eyes-happy{opacity:0}.companion.is-happy .c-eyes{opacity:0;animation:none}.companion.is-happy .c-eyes-happy{opacity:1}.companion.is-happy .c-figure{transform-origin:50% 100%;animation:hop .56s var(--ease-out) 2}.companion.is-thinking .c-head{transform-origin:50% 90%;animation:tilt .7s var(--ease-in-out) both}.companion.is-idle .c-body{transform-origin:50% 100%;animation:3.8s ease-in-out infinite breathe}.companion.is-idle .c-tail{transform-origin:0 100%;animation:3.8s ease-in-out infinite wag}@keyframes blink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.12)}}@keyframes hop{0%,to{transform:translateY(0)scale(1)}35%{transform:translateY(-12%)scale(.97,1.04)}68%{transform:translateY(0)scale(1.04,.96)}}@keyframes tilt{40%{transform:rotate(-10deg)}to{transform:rotate(-6deg)}}@keyframes breathe{50%{transform:scaleY(1.025)}}@keyframes wag{50%{transform:rotate(-7deg)}}.buddy{background:var(--sand);border-radius:50%;flex:none;place-items:end center;width:112px;height:112px;display:grid}.buddy .companion{width:112%;height:112%;margin-top:-16%}.buddy--xl{width:168px;height:168px}.level-trail{margin:8px 0 4px;padding-top:46px;position:relative;container-type:inline-size}.level-stops{grid-template-columns:repeat(6,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid;position:relative}.level-stops:before,.level-stops:after{content:"";position:absolute;top:8px;left:8.33333%}.level-stops:before{border-top:3px dashed #a9bcae;right:8.33333%}.level-stops:after{width:calc(var(--x) * 100% - 100% / 12);background:var(--trail);border-radius:3px;height:5px;top:7.5px}.level-trail.is-walking .level-stops:after{transition:width .9s var(--ease-in-out)}.stop{z-index:1;text-align:center;justify-items:center;gap:4px;display:grid;position:relative}.stop-dot{background:var(--paper);border:3px solid #a9bcae;border-radius:50%;width:20px;height:20px}.stop.is-done .stop-dot,.stop.is-here .stop-dot{border-color:var(--forest-2);background:var(--forest-2)}.stop-name{font:700 13.5px/1.2 var(--body)}.stop-at{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12.5px}.stop-name,.stop-at{display:none}.trail-walker{width:0;transform:translateX(calc(var(--x) * 100cqw));pointer-events:none;position:absolute;top:0;left:0}.level-trail.is-walking .trail-walker{transition:transform .9s var(--ease-in-out)}.walker{border:2.5px solid var(--trail);width:40px;height:40px;box-shadow:var(--shadow-1);background:#fff8f0;border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:-20px;overflow:hidden}.walker .companion{width:36px;height:36px;margin-top:4px}.quiz-trail{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.trail-track{flex:1;height:40px;position:relative;container-type:inline-size}.trail-dots{justify-content:space-between;margin:0;padding:0;list-style:none;display:flex;position:absolute;inset:50% 0 auto;transform:translateY(-50%)}.trail-dots:before{content:"";border-top:2.5px dashed #a9bcae;position:absolute;top:50%;left:5px;right:5px;transform:translateY(-50%)}.trail-dots li{background:var(--paper);border:2px solid #a9bcae;border-radius:50%;width:10px;height:10px;transition:background-color .2s,border-color .2s;position:relative}.trail-dots li.is-done{border-color:var(--forest-2);background:var(--forest-2)}.trail-track--line:before{content:"";background:var(--map-2);border-radius:99px;height:6px;margin-top:-3px;position:absolute;top:50%;left:5px;right:5px}.trail-fill{background:var(--forest-2);transform-origin:0;height:6px;transform:scaleX(var(--v));border-radius:99px;margin-top:-3px;position:absolute;top:50%;left:5px;right:5px}.trail-track .trail-walker{transform:translateX(calc(var(--x) * (100cqw - 10px)));top:50%;left:5px}.trail-track .trail-walker.is-walking{transition:transform .46s var(--ease-in-out)}.trail-track .walker{border-width:2px;width:34px;height:34px;top:-17px;left:-17px}.trail-track .walker .companion{width:31px;height:31px;margin-top:3px}.trail-flag{color:var(--trail-deep);display:grid}.trail-flag .icon{width:20px;height:20px}.disc{background:var(--map-2);color:#61736a;--tone:var(--map-2);--tone-ink:var(--ink);border-radius:50%;flex:none;place-items:center;width:60px;height:60px;display:grid;position:relative}.disc-face{background:var(--paper);border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.disc .icon{width:24px;height:24px}.disc-ring{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.disc-ring circle{fill:none;stroke:var(--trail);stroke-width:3.5px;stroke-linecap:round}.disc--trail{--tone:#ffbe9d;--tone-ink:#7a2e08}.disc--wood{--tone:#bfe1b3;--tone-ink:var(--wood-ink)}.disc--sand{--tone:#f7cfac;--tone-ink:var(--sand-ink)}.disc--heather{--tone:#d9c6ee;--tone-ink:var(--heather-ink)}.disc--sun{--tone:#ffd769;--tone-ink:#5e4100}.disc--water{--tone:#b7dcef;--tone-ink:var(--water-ink)}.disc--forest{--tone:#2f6b52;--tone-ink:#fff}.disc.is-earned{background:var(--tone);color:var(--tone-ink);box-shadow:0 8px 16px -8px #14261f80,inset 0 -3px #14261f1f}.disc.is-earned .disc-face{background:#ffffff80}.disc--forest.is-earned .disc-face{background:#ffffff24}.badge-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.badge-mini{grid-template-columns:auto 1fr;align-items:center;gap:0 12px;min-width:0;display:grid}.badge-mini .disc{grid-row:span 2}.badge-mini strong{align-self:end;font-size:15px;line-height:1.25}.badge-mini small{color:var(--ink-3);align-self:start;font-size:13.5px}.badge-row+.micro{margin-top:14px}.badge-grid{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.badge-card{border:1px solid var(--line);background:var(--paper);border-radius:18px;align-items:center;gap:14px;padding:14px;display:flex}.badge-card.is-earned{background:#f9fcf7;border-color:#c5dcbd}.badge-card h3{margin-bottom:2px;font-size:18px}.badge-card p{font-size:15px}.badge-card small{color:var(--ink-3);margin-top:4px;font-size:13.5px;font-weight:700;display:block}.badge-card.is-earned small{color:var(--good-ink)}.quiz-card{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow-2);border-radius:22px}.taster{min-height:420px}.quiz-card>noscript p{padding:24px}.quiz{flex-direction:column;display:flex}.quiz-bar{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 14px;display:flex}.quiz-exit{background:var(--map-2);width:44px;height:44px;color:var(--ink);border:0;border-radius:12px;flex:none;place-items:center;display:grid}.quiz-count{color:var(--ink-2);white-space:nowrap;font-size:14px;font-weight:700}.session-timer{background:var(--map-2);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:14px;font-weight:700}.session-timer.is-low{color:var(--error);background:#fdebea}.quiz-finish{font-size:14px}.quiz-body{flex:1;align-content:start;gap:14px;padding:16px 16px 10px;display:grid}.quiz-main{min-width:0}.quiz-main h3{font:700 20px/1.42 var(--body);letter-spacing:0;margin:10px 0 6px}.question-instruction{color:var(--ink-2);margin-bottom:12px;font-size:15px}.key-hint{display:none}@media (hover:hover) and (pointer:fine) and (width>=601px){.key-hint{display:inline}}.choices{gap:8px;display:grid}.choices--grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice{border:1.5px solid var(--line-strong);background:var(--paper);width:100%;min-height:52px;color:var(--ink);font:600 17px/1.35 var(--body);text-align:left;transition:background-color .14s ease, border-color .14s ease, box-shadow .14s ease, transform .12s var(--ease-out);border-radius:14px;align-items:center;gap:12px;padding:9px 14px;display:flex}.choice:active:not(:disabled){transform:scale(.985)}.choice:disabled{opacity:1;cursor:default}.choice-letter{background:var(--map-2);width:30px;height:30px;color:var(--ink-2);font:800 14px var(--body);border-radius:9px;flex:none;place-items:center;transition:background-color .14s,color .14s;display:grid}@media (hover:hover) and (pointer:fine){.choice:hover:not(:disabled):not(.selected){border-color:var(--forest-2);background:#f7fbf5}}.choice.selected{border-color:var(--forest-2);box-shadow:inset 0 0 0 1.5px var(--forest-2);background:#eef6ea}.choice.selected .choice-letter{background:var(--forest-2);color:#fff}.choice.good{border-color:var(--good-line);background:var(--good);box-shadow:inset 0 0 0 1.5px var(--good-line)}.choice.good .choice-letter{background:var(--good-line);color:#fff}.choice.good:after{content:"";background:var(--good-ink);width:18px;height:18px;-webkit-mask:var(--check) center / contain no-repeat;-webkit-mask:var(--check) center / contain no-repeat;mask:var(--check) center / contain no-repeat;flex:none;margin-left:auto}.choice.bad{border-color:var(--learn-line);background:var(--learn)}.choice.bad .choice-letter{background:var(--learn-line);color:var(--ink)}.quiz-stimulus{min-width:0}.passage{background:var(--map);border-radius:14px;padding:12px 14px;font-size:16px}.passage summary{cursor:pointer;font-weight:700}.passage p{white-space:pre-line;max-height:min(21vh,200px);margin-top:8px;line-height:1.7;overflow:auto}.question-figure{border:1px solid var(--line);background:var(--paper);border-radius:14px;margin:0;padding:12px}.figure-art{--fig-h:min(25vh, 260px);width:min(100%, calc(var(--fig-h) * var(--ratio,2)));aspect-ratio:var(--ratio,2);margin:0 auto}.figure-art>svg,.figure-art>img{width:100%;height:100%;display:block}.figure-art>img{object-fit:contain}.figure-art:not(.is-inline)>img{opacity:0;animation:0s .7s forwards figure-fallback}@keyframes figure-fallback{to{opacity:1}}.figure-art.is-inline+figcaption{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.figure-art svg text,.figure-art svg [font-family]{font-family:var(--body)}.figure-art svg [fill=\#152b40]{fill:var(--ink)}.figure-art svg [stroke=\#152b40]{stroke:var(--ink)}.figure-art svg [fill=\#176a65]{fill:var(--forest-2)}.figure-art svg [stroke=\#176a65]{stroke:var(--forest-2)}.figure-art svg [stroke=\#d9e2df]{stroke:var(--line)}.figure-art svg [stroke=\#b8c8c2]{stroke:#b4c7b0}.figure-art svg [fill=\#e5efeb]{fill:var(--map-2)}.figure-art svg [fill=\#4e77a6]{fill:var(--water-ink)}.figure-art svg [fill=\#846395]{fill:var(--heather-ink)}.figure-art svg [fill=\#d69a43]{fill:var(--trail-deep)}.question-figure figcaption,.question-figure caption{text-align:center;padding:8px 0 2px;font-size:14px;font-weight:700}.question-figure details{margin-top:6px;font-size:14px}.question-figure th,.question-figure td{border:1px solid var(--line);padding:8px 10px}.question-figure.table-wrap{max-width:100%}.question-nav{margin-top:14px}.question-nav summary{cursor:pointer;font-weight:700}.question-list{flex-wrap:wrap;gap:8px;max-height:260px;margin:12px 0;padding:4px;display:flex;overflow:auto}.question-list .chip{min-width:44px}.question-list [aria-current=step]{outline:2.5px solid var(--forest-2);outline-offset:2px}.quiz-dock{z-index:5;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffffff7;border-radius:0 0 21px 21px;position:sticky;bottom:0}.quiz-actions{gap:8px;display:flex}.quiz-actions .button{flex:auto}.quiz-actions #previous-question,.quiz-actions #flag-question{flex:0 auto}.quiz-note{padding:10px 16px 16px}.feedback{background:var(--good);animation:dock-in .26s var(--ease-out);border-radius:16px;align-items:flex-start;gap:12px;margin-bottom:10px;padding:12px 14px;display:flex}.feedback.retry{background:var(--learn)}.feedback-buddy{flex:none;width:54px;height:54px}.feedback-buddy .companion{width:100%;height:100%}.feedback-text{min-width:0;max-height:min(30vh,240px);font-size:16px;line-height:1.5;overflow:auto}.feedback-text strong{color:var(--good-ink);font:760 19px/1.25 var(--display);display:block}.retry .feedback-text strong{color:var(--learn-ink)}.feedback-text p{margin-top:4px}.feedback .micro{color:var(--ink-2)}.points-pop{background:var(--sun);color:var(--ink);animation:pop .36s var(--ease-out) .14s both;border-radius:999px;padding:0 8px;font-weight:800;display:inline-block}@keyframes dock-in{0%{opacity:0;transform:translateY(10px)}}@keyframes pop{0%{opacity:0;transform:scale(.9)}}.quiz-review,.quiz-error{gap:12px;padding:22px 18px;display:grid}.quiz-review h3,.quiz-error h3{font-size:26px}.quiz-review p{color:var(--ink-2)}.results{padding:22px 16px 6px}.results-hero{text-align:center;justify-items:center;gap:14px;display:grid}.results-buddy{width:124px;height:124px;position:relative}.results-copy h2{font-size:30px}.result-score{font:800 60px/1 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:8px 0}.result-score .muted{font-size:.55em}.result-line{font-weight:700}.results-copy p{max-width:34rem;margin-inline:auto}.confetti{pointer-events:none;position:absolute;inset:0}.confetti i{background:var(--c,var(--trail));opacity:0;width:8px;height:12px;animation:confetti 1.15s var(--ease-out) var(--d,0s) forwards;border-radius:2px;position:absolute;top:45%;left:50%}.confetti i:first-child{--dx:-86px;--dy:-70px;--r:-220deg;--c:var(--trail)}.confetti i:nth-child(2){--dx:92px;--dy:-64px;--r:260deg;--c:var(--sun);--d:40ms}.confetti i:nth-child(3){--dx:-60px;--dy:-104px;--r:180deg;--c:#4f9a68;--d:80ms}.confetti i:nth-child(4){--dx:64px;--dy:-110px;--r:-160deg;--c:#7a5cc4;--d:20ms}.confetti i:nth-child(5){--dx:-112px;--dy:-24px;--r:300deg;--c:var(--sun);--d:60ms}.confetti i:nth-child(6){--dx:116px;--dy:-20px;--r:-280deg;--c:var(--trail);--d:.1s}.confetti i:nth-child(7){--dx:-24px;--dy:-122px;--r:140deg;--c:#0b5a87;--d:30ms}.confetti i:nth-child(8){--dx:28px;--dy:-126px;--r:-120deg;--c:var(--trail);--d:70ms}.confetti i:nth-child(9){--dx:-96px;--dy:30px;--r:200deg;--c:#4f9a68;--d:.11s}.confetti i:nth-child(10){--dx:100px;--dy:34px;--r:-200deg;--c:#7a5cc4;--d:50ms}.confetti i:nth-child(11){--dx:-40px;--dy:58px;--r:90deg;--c:var(--sun);--d:90ms}.confetti i:nth-child(12){--dx:44px;--dy:62px;--r:-90deg;--c:#0b5a87;--d:.13s}.confetti i:nth-child(13){--dx:-130px;--dy:-80px;--r:160deg;--c:#4f9a68;--d:.15s}.confetti i:nth-child(14){--dx:134px;--dy:-84px;--r:-160deg;--c:var(--sun);--d:.12s}@keyframes confetti{0%{opacity:1;transform:translate(-50%,-50%)rotate(0)scale(.6)}70%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) rotate(var(--r)) scale(1)}}.celebration{border:1px solid var(--line);background:var(--map);text-align:center;border-radius:18px;gap:12px;margin:16px 0 4px;padding:16px;display:grid}.celebration-points{font-weight:700}.celebration-points strong{color:var(--trail-deep);font:800 36px/1 var(--display);font-variant-numeric:tabular-nums}.level-up{color:var(--good-ink);justify-content:center;align-items:center;gap:8px;font-weight:800;display:inline-flex}.celebration-level{gap:6px;font-weight:700;display:grid}.celebration-level>span:last-child{color:var(--ink-2);font-size:15px;font-weight:400}.meter{background:var(--map-2);border-radius:999px;height:12px;overflow:hidden}.meter>span{border-radius:inherit;background:var(--forest-2);transform-origin:0;height:100%;transform:scaleX(var(--v));transition:transform .6s var(--ease-out);display:block}.meter--celebrate>span{background:var(--trail);animation:meter-fill 1s var(--ease-out) .25s both}@keyframes meter-fill{0%{transform:scaleX(var(--from,0))}}.new-badges h3{font-size:20px}.new-badges ul{flex-wrap:wrap;justify-content:center;gap:16px;margin:10px 0 0;padding:0;list-style:none;display:flex}.new-badges li{max-width:120px;animation:badge-in .52s var(--ease-out) .6s both;justify-items:center;gap:6px;display:grid}@keyframes badge-in{0%{opacity:0;transform:translateY(8px)scale(.92)}}.results-list{border-top:1px solid var(--line);margin-top:14px}.review-item{border-bottom:1px solid var(--line);padding:12px 0;font-size:16px}.review-item summary{cursor:pointer;align-items:flex-start;gap:10px;font-weight:600;display:flex}.review-item p{color:var(--ink-2);margin:8px 0 0 36px}.review-mark{border-radius:50%;flex:none;place-items:center;width:26px;height:26px;display:grid}.review-mark .icon{width:16px;height:16px}.is-right .review-mark{background:var(--good);color:var(--good-ink)}.is-learn .review-mark{background:var(--learn);color:var(--learn-ink)}.results-actions{justify-content:center;padding:16px}.taster-outro{background:var(--forest);color:var(--on-forest);border-radius:18px;margin:8px 14px 16px;padding:18px;overflow:hidden}.taster-outro b{color:#fff}.taster-outro .actions{margin-top:14px}.taster-outro .micro{color:var(--on-forest-2);margin-top:10px}.taster-outro a:not(.button){color:#ffd28a}.app-body{font-size:16px}.app-layout{min-height:100dvh}.rail{z-index:40;background:var(--forest);color:var(--on-forest);position:sticky;top:0}.rail-head{min-height:60px;padding:calc(8px + env(safe-area-inset-top)) 14px 8px;justify-content:space-between;align-items:center;gap:12px;display:flex}.rail .brand{color:#fff}.rail .brand-word>span{color:#ff8a52}.learner-switch{align-items:center;gap:8px;min-width:0;display:flex}.learner-switch label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.learner-avatar{background:#fff4e6;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid;overflow:hidden}.learner-avatar:empty{display:none}.learner-avatar .companion{width:34px;height:34px;margin-top:4px}.learner-switch select{color:#fff;background-color:#ffffff1a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");border-color:#fff6;max-width:44vw;min-height:42px;font-weight:700}.learner-switch select option{color:var(--ink)}.app-nav{z-index:45;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:var(--forest);grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 26px -14px #0000008c}.nav-button{min-width:44px;min-height:56px;color:var(--on-forest-2);font:700 12.5px/1.15 var(--body);text-align:center;background:0 0;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 2px;transition:background-color .16s,color .16s;display:flex}.nav-button>span:first-child{border-radius:999px;place-items:center;padding:3px 14px;transition:background-color .16s;display:grid}.nav-button.active{color:#fff}.nav-button.active>span:first-child{background:var(--trail);color:var(--ink)}.nav-more-toggle[aria-expanded=true]{color:#fff}.rail-foot{gap:8px;display:grid}.rail-foot .tag{justify-self:start}.app-content{min-width:0;padding:20px 16px calc(100px + env(safe-area-inset-bottom))}.app-content>section{max-width:1100px;margin:0 auto}@media (width<=760px){.nav-more{left:10px;right:10px;bottom:calc(80px + env(safe-area-inset-bottom));z-index:46;background:var(--paper);color:var(--ink);box-shadow:var(--shadow-3);transform-origin:90% 100%;border-radius:22px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px;display:none;position:fixed}.app-nav.more-open .nav-more{animation:sheet-in .22s var(--ease-out);display:grid}.app-nav.more-open:before{content:"";z-index:-1;background:#14261f61;animation:.2s fade-in;position:fixed;inset:0}.nav-more .nav-button{background:var(--map);min-height:52px;color:var(--ink);flex-direction:row;justify-content:flex-start;gap:10px;padding:8px 12px;font-size:15.5px}.nav-more .nav-button>span:first-child{padding:0}.nav-more .nav-button.active{background:var(--trail)}.nav-more .nav-button.active>span:first-child{background:0 0}.nav-more .rail-foot{border-top:1px solid var(--line);grid-column:1/-1;margin-top:4px;padding-top:10px}.in-session .rail{display:none}.in-session .app-content{padding:0}.in-session .app-footer{display:none}.in-session .practice-shell .quiz-card{min-height:100dvh;box-shadow:none;border:0;border-radius:0}.in-session .practice-shell .quiz-body{min-height:calc(100dvh - 140px)}.in-session .quiz-dock{border-radius:0}.app-body .toast{bottom:calc(86px + env(safe-area-inset-bottom))}}@keyframes sheet-in{0%{opacity:0;transform:translateY(10px)scale(.97)}}@keyframes fade-in{0%{opacity:0}}.question-figure summary,.passage summary,.question-nav summary,.lesson-detail summary,.plan-settings summary,.full-timetable summary,.coverage-subject summary{cursor:pointer;align-items:center;gap:10px;font-weight:700;list-style:none;display:flex}.question-figure summary::-webkit-details-marker{display:none}.passage summary::-webkit-details-marker{display:none}.question-nav summary::-webkit-details-marker{display:none}.lesson-detail summary::-webkit-details-marker{display:none}.plan-settings summary::-webkit-details-marker{display:none}.full-timetable summary::-webkit-details-marker{display:none}.coverage-subject summary::-webkit-details-marker{display:none}.review-item summary::-webkit-details-marker{display:none}.review-item summary{list-style:none}.question-figure summary:before,.passage summary:before,.question-nav summary:before,.lesson-detail summary:before,.plan-settings summary:before,.full-timetable summary:before,.coverage-subject summary:before{content:"";border:solid var(--trail-deep);width:8px;height:8px;transition:transform .16s var(--ease-out);border-width:0 2.5px 2.5px 0;flex:none;margin:0 2px 2px;transform:rotate(-45deg)}details[open]>summary:before{transform:rotate(45deg)}.app-title{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.app-title h1{letter-spacing:-.035em;font-size:clamp(32px,7vw,48px);font-weight:760;font-stretch:92%;line-height:1.02}.app-title p{color:var(--ink-2);margin-top:6px}.app-title>.tag{display:none}.panel{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow-1);border-radius:22px;margin:16px 0;padding:20px}.panel h2{margin-bottom:10px;font-size:25px}.panel h3{margin-bottom:8px;font-size:19px}.panel p{color:var(--ink-2)}.panel .panel{box-shadow:none;border:0;border-radius:0;margin:0;padding:0}.section-bar{justify-content:space-between;align-items:baseline;gap:12px;margin:28px 0 12px;display:flex}.section-bar h2{font-size:24px}.section-bar a{flex:none;font-size:15px;font-weight:700}.app-footer{color:var(--ink-3);flex-wrap:wrap;justify-content:center;gap:4px 20px;margin-top:40px;font-size:14px;display:flex}.app-footer a{color:inherit;padding-block:8px}.loading-state{color:var(--ink-2);text-align:center;padding:60px 20px}.loading-state:before{content:"";border:3px solid var(--map-2);border-top-color:var(--trail);border-radius:50%;width:28px;height:28px;margin:0 auto 16px;animation:.75s linear infinite spin;display:block}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{border:1.5px dashed var(--line-strong);background:var(--paper);text-align:center;border-radius:22px;padding:40px 20px}.empty-state h2{margin-bottom:10px}.empty-state p{color:var(--ink-2);margin:0 auto 18px}.adventure{gap:12px;display:grid}.adventure-hero{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow-1);border-radius:24px;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:12px 14px;padding:18px;display:grid;overflow:hidden}.adventure-hero>.buddy{grid-row:span 2;width:86px;height:86px}.adventure-copy{display:contents}.adventure-copy .speech{justify-self:start;font-size:15px}.adventure-copy h2{grid-column:2;font-size:23px}.adventure-copy>p:not(.speech){color:var(--ink-2);grid-column:1/-1}.adventure-actions{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.adventure-actions .button{flex:auto}.adventure-trail,.week-goal{border:1px solid var(--line);background:var(--paper);border-radius:22px;padding:16px 18px}.trail-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 16px;display:flex}.trail-head h3{font-size:20px}.trail-head p{color:var(--ink-2);font-size:15.5px}.week-goal-head{flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-bottom:10px;display:flex}.week-goal .micro{margin-top:8px}.panel .week-goal{border:0;margin:16px 0;padding:0}.adventure-hidden{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px 18px}.subject-grid{gap:10px;display:grid}.subject-tile{background:var(--wood);width:100%;color:var(--wood-ink);text-align:left;transition:transform .14s var(--ease-out), box-shadow .16s ease;border:0;border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.subject-tile.english{background:var(--sand);color:var(--sand-ink)}.subject-tile.verbal{background:var(--heather);color:var(--heather-ink)}.subject-tile:active{transform:scale(.98)}@media (hover:hover) and (pointer:fine){.subject-tile:hover{box-shadow:var(--shadow-2)}}.subject-tile strong{color:var(--ink);font:740 20px/1.15 var(--display);display:block}.subject-tile-text>span{font-size:15px;line-height:1.4;display:block}.subject-icon,.subject-go{background:#ffffffb8;border-radius:14px;flex:none;place-items:center;display:grid}.subject-icon{width:48px;height:48px}.subject-go{width:38px;height:38px;color:var(--ink);border-radius:50%}.subject-go .icon{width:20px;height:20px}.home-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;margin-top:24px;padding-top:14px;display:flex}.camp{gap:16px;display:grid;overflow:hidden}.camp-stage{justify-items:center;gap:14px;padding:8px 0;display:grid}.camp-stage .buddy--xl{width:150px;height:150px}.camp-controls h2{font-size:28px}.companion-fieldset{border:0;min-width:0;margin:16px 0;padding:0}.companion-fieldset legend{margin-bottom:10px;padding:0;font-weight:700}.companion-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.companion-option{cursor:pointer;transition:border-color .16s ease, transform .14s var(--ease-out);border:2px solid #0000;border-radius:18px;justify-items:center;gap:2px;padding:8px 4px;display:grid;position:relative}.companion-option:active{transform:scale(.97)}.companion-option:has(input:checked){border-color:var(--forest-2);box-shadow:inset 0 0 0 1px var(--forest-2)}.companion-option:has(input:checked):before{content:"";border-radius:50%;width:22px;height:22px;position:absolute;top:6px;right:6px}.companion-option:has(input:checked):after{content:"";border-radius:50%;width:22px;height:22px;position:absolute;top:6px;right:6px}.companion-option:has(input:checked):before{background:var(--forest-2)}.companion-option:has(input:checked):after{-webkit-mask:var(--check) center / 13px no-repeat;-webkit-mask:var(--check) center / 13px no-repeat;mask:var(--check) center / 13px no-repeat;background:#fff}.companion-option:focus-within{outline:3px solid var(--link);outline-offset:2px}.companion-option input{opacity:0;width:1px;height:1px;position:absolute;top:8px;left:8px}.option-art{width:100%;max-width:72px;display:block}.option-art .companion{aspect-ratio:1;width:100%;height:auto}.companion-option b{font-size:14.5px}.camp-settings{gap:14px;margin:4px 0 16px;display:grid}.game-goal-label{gap:6px;max-width:320px;display:grid}.game-toggle{align-items:center;gap:10px;display:flex}.rewards-page .panel>.button{margin-top:4px}.practice-quick{background:var(--forest);color:var(--on-forest);border-radius:24px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 22px;margin:8px 0 16px;padding:20px;display:flex;overflow:hidden}.practice-quick h2{color:#fff;margin-bottom:4px;font-size:26px}.practice-quick p{max-width:40ch;color:var(--on-forest-2)}.practice-group{border:0;min-width:0;margin:0 0 22px;padding:0}.practice-group legend{font:740 21px var(--display);letter-spacing:-.015em;margin-bottom:12px;padding:0}.practice-fields,.plan-fields{gap:14px;display:grid}.practice-fields label,.plan-fields label{gap:6px;min-width:0;display:grid}.practice-fields select,.plan-fields select{width:100%;font-weight:400}.practice-matches{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.practice-panel .actions{margin:16px 0 10px}.practice-panel>.micro{margin-top:10px}.practice-shell{max-width:820px!important}.practice-shell:has(.has-stimulus){max-width:1180px!important}.plan-hero{background:var(--forest);color:var(--on-forest);border-radius:24px;gap:18px;margin-bottom:16px;padding:22px;display:grid;overflow:hidden}.plan-hero h2{color:#fff;letter-spacing:-.04em;font-size:clamp(36px,8vw,58px);font-weight:760;font-stretch:90%}.plan-hero p{color:var(--on-forest-2);margin-top:6px}.plan-hero strong{color:#fff}.plan-hero .route{margin-top:0}.plan-settings summary,.full-timetable summary,.coverage-subject summary{cursor:pointer;font-weight:700}.plan-settings .form-stack{margin-top:20px}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0;display:grid}.stat-card{border:1px solid var(--line);background:var(--paper);border-radius:18px;padding:14px}.stat-card b{font:780 28px/1.1 var(--display);font-variant-numeric:tabular-nums;display:block}.stat-card span{color:var(--ink-2);margin-top:4px;font-size:14px;line-height:1.35;display:block}.plan-phases{gap:18px;margin:18px 0;display:grid}.plan-phases h3{margin:0 0 6px}.plan-timetable{border:1px solid var(--line);background:var(--paper);border-radius:22px;margin-top:16px;padding:20px}.plan-timetable>.section-bar{margin-top:0}.plan-timetable>p{color:var(--ink-2);margin-bottom:8px}.plan-week{border-bottom:1px solid var(--line);gap:10px;margin:0;padding:18px 0;display:grid}.plan-week h3{margin:4px 0 8px;font-size:18px}.plan-week p{color:var(--ink-2);margin:6px 0;font-size:15px}.week-number{color:var(--trail-deep);font-size:14px;font-weight:800}.weekly-topics{margin:0 0 10px;padding-left:18px}.weekly-topics li{margin-bottom:10px}.weekly-topics .text-link{margin-left:4px;font-size:14px}.full-timetable{box-shadow:none;border:0;margin-bottom:0;padding:18px 0 0}.coverage-subject{border-top:1px solid var(--line);padding:18px 0}.topic-coverage>p{margin-bottom:18px}.coverage-row{border-bottom:1px solid var(--line);gap:12px;padding:18px 0;display:grid}.coverage-row:last-child{border:0}.coverage-row h3{margin:0 0 6px;font-size:18px}.coverage-row p{margin:6px 0}.coverage-row button{justify-self:start}.coverage-row progress{background:var(--map-2);width:100%;max-width:420px;height:10px;color:var(--forest-2);border:0;border-radius:99px;display:block}.coverage-row progress::-webkit-progress-bar{background:var(--map-2);border-radius:99px}.coverage-row progress::-webkit-progress-value{background:var(--forest-2);border-radius:99px}.coverage-row progress::-moz-progress-bar{background:var(--forest-2);border-radius:99px}.filters{flex-wrap:wrap;gap:8px;margin:8px 0 18px;display:flex}.lesson-grid{gap:12px;display:grid}.lesson-card{border:1px solid var(--line);background:var(--paper);border-radius:20px;flex-direction:column;align-items:flex-start;gap:4px;padding:18px;display:flex;position:relative}.lesson-card h3{margin:8px 0 4px;font-size:21px}.lesson-card p{color:var(--ink-2);font-size:15.5px}.lesson-card .micro{font-size:14px}.lesson-card .button{margin-top:auto}.lesson-card>p:last-of-type{margin-bottom:12px}.lock-label{color:var(--ink-3);font-size:13.5px;font-weight:700;position:absolute;top:20px;right:18px}.lesson-detail{max-width:760px!important}.lesson-detail h1{letter-spacing:-.035em;margin:16px 0;font-size:clamp(32px,6vw,46px);font-weight:760}.lesson-detail .idea{color:var(--ink-2);font-size:19px;line-height:1.7}.lesson-detail li{margin:10px 0;font-size:17px;line-height:1.7}.lesson-detail details{border-top:1px solid var(--line);padding:14px 0}.lesson-detail summary{cursor:pointer;font-weight:700}.lesson-detail details p{margin-top:8px}.vocab-card{max-width:640px;box-shadow:var(--shadow-2);text-align:center;background:#fcfaff;border:1.5px solid #d8c8ea;border-radius:26px;flex-direction:column;align-items:center;gap:6px;margin:16px auto;padding:26px 20px 22px;display:flex;position:relative;overflow:hidden}.vocab-card .word-count{color:var(--heather-ink);margin-top:4px;font-size:14px;font-weight:700}.vocab-card h2{letter-spacing:-.03em;margin:10px 0 6px;font-size:clamp(40px,10vw,64px);font-weight:780}.vocab-card #meaning p{margin:8px 0;font-size:19px}.vocab-card .button{margin-top:10px}.word-familiar{cursor:pointer;justify-content:center;align-items:center;gap:10px;min-height:44px;margin-top:10px;display:flex}.vocab-card #word-save-status{margin-top:6px}.vocab-controls{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.table-wrap{overflow:auto}.panel .table-wrap{border:1px solid var(--line);border-radius:14px}table{border-collapse:collapse;font-variant-numeric:tabular-nums;text-align:left;width:100%;font-size:15px}th,td{border-bottom:1px solid var(--line);padding:12px}tbody tr:last-child>*{border-bottom:0}th{background:var(--map);color:var(--ink);font-weight:700}td{color:var(--ink-2)}.account-grid{gap:16px;display:grid}.account-grid .panel{margin:0}.account-grid .notice{margin:14px 0 12px}.profile-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.profile-row>span{overflow-wrap:anywhere;min-width:0}.profile-row small{color:var(--ink-3);display:block}.onboarding{max-width:640px!important}.auth-header .wrap{justify-content:space-between;align-items:center;gap:12px;height:64px;display:flex}.login-layout{align-content:center;gap:24px;min-height:calc(100dvh - 64px);padding:20px 18px 48px;display:grid}.login-copy h1{letter-spacing:-.04em;font-size:clamp(42px,10vw,76px);font-weight:780;font-stretch:88%;line-height:.96}.login-copy>p{color:var(--ink-2);margin:14px 0 18px;font-size:18px}.login-copy .ticks{margin-bottom:18px}.login-buddies{margin-bottom:14px;display:flex}.login-buddies .companion{width:74px;height:74px;margin-right:-6px}.login-card{background:var(--paper);box-shadow:var(--shadow-3);border-radius:24px;align-content:start;gap:14px;padding:22px;display:grid}.login-card h2{font-size:28px}.login-card>p{color:var(--ink-2)}dialog{background:var(--paper);width:min(520px,100% - 24px);max-height:calc(100dvh - 32px);color:var(--ink);box-shadow:var(--shadow-3);border:0;border-radius:26px;padding:30px 22px 22px;overflow:auto}dialog[open]{animation:dialog-in .22s var(--ease-out)}dialog::backdrop{background:#14261f8c}@keyframes dialog-in{0%{opacity:0;transform:scale(.96)}}dialog h2{margin-bottom:12px;font-size:28px}dialog p{margin:12px 0}dialog .actions{margin-top:16px}.dialog-close{background:var(--map-2);width:44px;height:44px;color:var(--ink);border:0;border-radius:12px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.upgrade-dialog{text-align:center}.upgrade-art{justify-content:center;margin:-8px 0 4px;display:flex}.upgrade-art .companion{width:70px;height:70px;margin:0 -4px}.upgrade-price strong{font:800 44px/1 var(--display);letter-spacing:-.03em}.upgrade-dialog .notice{text-align:left}.upgrade-dialog .actions{justify-content:center}.toast{left:50%;bottom:calc(22px + env(safe-area-inset-bottom));z-index:120;background:var(--ink);color:#fff;max-width:calc(100% - 28px);box-shadow:var(--shadow-3);transition:opacity .26s ease, transform .26s var(--ease-out);border-radius:14px;padding:12px 18px;position:fixed;transform:translate(-50%)}@starting-style{.toast{opacity:0;transform:translate(-50%,12px)}}.toast.error{background:#8e2a25}.legal{max-width:780px;padding-block:32px 64px}.legal h1{letter-spacing:-.04em;margin-bottom:18px;font-size:clamp(38px,8vw,60px);font-weight:780;font-stretch:90%}.legal h2{margin:32px 0 10px;font-size:25px}.legal p,.legal li{max-width:66ch;color:var(--ink-2);font-size:17px;line-height:1.75}.legal .document-date{color:var(--ink-3);margin-bottom:14px;font-size:13.5px;font-weight:700}.legal .button{color:var(--ink)}@media (width>=600px){.badge-row{grid-template-columns:repeat(4,minmax(0,1fr))}.badge-mini{text-align:center;grid-template-columns:1fr;justify-items:center;gap:6px}.badge-mini .disc{grid-row:auto}.stop-name,.stop-at{display:block}.adventure-hero{grid-template-columns:132px minmax(0,1fr);gap:4px 24px;padding:22px 26px}.adventure-hero>.buddy{grid-row:span 4;width:132px;height:132px}.adventure-copy h2{font-size:28px}.adventure-copy>p:not(.speech),.adventure-actions{grid-column:2}.adventure-actions .button{flex:0 auto}.companion-option b{font-size:15.5px}}@media (width>=700px){.wrap{padding-inline:32px}.gazetteer{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.gaz.maths{grid-row:span 2}.plans{grid-template-columns:1fr 1.12fr;align-items:stretch}.subject-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.subject-tile{grid-template-columns:1fr auto;align-content:start;padding:18px}.subject-tile .subject-icon{grid-column:1}.subject-tile .subject-go{grid-area:1/2}.subject-tile-text{grid-column:1/-1}.lesson-grid,.badge-grid,.practice-fields,.plan-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-phases{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-week{grid-template-columns:minmax(150px,1fr) 2fr;gap:24px}.coverage-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.stat-card b{font-size:32px}.badge-row--seven{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-status,.map-key{font-size:15.5px}}@media (width>=761px){.app-layout{grid-template-columns:232px minmax(0,1fr);display:grid}.rail{flex-direction:column;height:100dvh;padding:18px 12px 14px;display:flex;overflow:auto}.rail-head{flex-direction:column;align-items:stretch;gap:18px;min-height:0;padding:0 6px 18px}.learner-switch{background:#ffffff12;border-radius:16px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 10px;padding:10px;display:grid}.learner-switch label{clip:auto;width:auto;height:auto;color:var(--on-forest-2);font-size:13.5px;position:static;overflow:visible}.learner-avatar{width:36px;height:36px}.learner-switch select{grid-column:1/-1;width:100%;max-width:none;min-height:40px;font-size:15px}.app-nav{box-shadow:none;background:0 0;flex-direction:column;flex:1;gap:3px;padding:0;display:flex;position:static}.nav-more-toggle{display:none}.nav-more{display:contents}.nav-more>.nav-button:first-child{margin-top:14px}.nav-button{flex-direction:row;justify-content:flex-start;gap:12px;min-height:46px;padding:8px 12px;font-size:15.5px}.nav-button>span:first-child{padding:0;background:0 0!important}.nav-button.active{background:var(--trail);color:var(--ink)}.rail-foot{border-top:1px solid #ffffff24;margin-top:auto;padding:14px 4px 0}.rail-foot .tag{color:var(--on-forest);background:#ffffff1f}.rail-foot .outline{color:var(--on-forest);background:0 0;border-color:#fff6}.rail-foot .outline:hover:not(:disabled){background:#ffffff1a;border-color:#fff}.app-content{padding:30px 32px 44px}.panel{padding:24px 26px}.in-session .app-layout{grid-template-columns:76px minmax(0,1fr)}.in-session .rail{padding:16px 10px}.in-session .rail-head{align-items:center;padding:0 0 14px}.in-session .brand-word,.in-session .learner-switch,.in-session .rail-foot{display:none}.in-session .nav-button{justify-content:center;padding:10px}.in-session .nav-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.in-session .app-content{padding:18px 24px 24px}.in-session .app-footer{display:none}.in-session .practice-shell .quiz{min-height:calc(100dvh - 42px)}.in-session .quiz-bar{z-index:6;background:#fffffff7;border-radius:21px 21px 0 0;position:sticky;top:0}.camp{grid-template-columns:240px minmax(0,1fr);align-items:center;gap:28px}.camp-stage .buddy--xl{width:190px;height:190px}.practice-quick,.plan-hero{padding:26px 28px}.login-layout{padding:32px}}@media (width>=1024px){body{font-size:18px}.app-body{font-size:16.5px}.site-header-inner{height:76px}.site-nav{gap:28px;font-size:15.5px;font-weight:700;display:flex}.site-nav a{color:var(--ink);text-decoration:none}.site-nav a:hover{text-decoration:underline}.hero{padding:44px 0 80px}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,500px);align-items:start;gap:48px}.hero h1{font-size:clamp(60px,6.6vw,104px)}.hero-copy{padding-top:28px}.hero-lede{font-size:19px}.section{padding:96px 0}.gazetteer{grid-template-columns:2fr 1fr 1fr}.gaz.maths{grid-row:auto}.gaz.maths ol{column-count:2;column-gap:28px}.gaz.maths li{display:flex}.child-grid{grid-template-columns:1fr 1.1fr;align-items:center;gap:64px}.parents-grid{grid-template-columns:1.05fr 1fr;align-items:center;gap:64px}.plan-sample{padding:26px}.faq-grid{grid-template-columns:1fr 1.4fr;gap:64px}.plan{padding:30px 28px}.badge-row--seven{grid-template-columns:repeat(7,minmax(0,1fr))}.last-buddies>span{width:108px}.adventure{grid-template-columns:1.3fr 1fr}.adventure-hero{grid-column:1/-1}.practice-shell .quiz.has-stimulus .quiz-body{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:28px;padding:20px 24px 12px}.practice-shell .quiz-stimulus{position:sticky;top:74px}.practice-shell .quiz-stimulus .figure-art{--fig-h:calc(100dvh - 330px)}.practice-shell .quiz-stimulus .passage p{max-height:calc(100dvh - 300px)}.practice-shell .quiz-body{padding:22px 28px 12px}.practice-shell .quiz-main h3{font-size:22px}.practice-shell .quiz-dock{padding:12px 28px 14px}.practice-shell .quiz-actions{justify-content:flex-end}.practice-shell .quiz-actions .button{flex:0 auto;min-width:220px}.practice-shell .quiz-actions #previous-question,.practice-shell .quiz-actions #flag-question{min-width:0}.practice-fields,.lesson-grid,.badge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-layout{grid-template-columns:1.1fr 1fr;gap:64px;max-width:1140px;margin:0 auto}.login-card{padding:30px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.confetti{display:none}}@media print{.site-header,.rail,.app-nav,.app-footer,.plan-settings,.app-content button,.app-content .actions{display:none!important}body,.app-body{background:#fff}.app-layout{display:block}.app-content{padding:0}.plan-hero{color:var(--ink);background:#fff;border:1px solid #999}.plan-hero:before{display:none}.plan-hero h2,.plan-hero p,.plan-hero strong,.route-pins{color:var(--ink)}.plan-week{break-inside:avoid}.full-timetable,.plan-timetable{border:0;padding:0}}.brand{letter-spacing:-.035em;gap:9px;font-size:24px}.brand-mark{width:36px;height:36px}.rail .brand,.auth-header .brand{font-size:21px}.rail .brand-mark{width:31px;height:31px}@media (width<=600px){.site-header .brand{gap:7px;font-size:20px}.site-header .brand-mark{width:30px;height:30px}.site-actions .text-link{display:none}.site-actions .button{padding:10px 12px;font-size:13px}.rail .brand{gap:6px;font-size:18px}.rail .brand-mark{width:28px;height:28px}.auth-header .brand{gap:6px;font-size:19px}.auth-header .brand-mark{width:30px;height:30px}.auth-header .text-link{font-size:13px}}@media (width<=374px){.site-header .brand{font-size:18px}.site-header .brand-mark{width:27px;height:27px}}@media (width<=760px){.rail-head>.brand{flex:none}.learner-switch{flex:1;justify-content:flex-end}.learner-switch select{width:100%;min-width:0;max-width:130px}}
