:root{--bg:#101713;--bg-deep:#0b110e;--surface:#17221c;--surface-raised:#1d2a23;--surface-soft:#1e2b23c7;--ink:#f0f3ee;--ink-soft:#bdc7be;--ink-dim:#849187;--line:#ddeadf1f;--line-strong:#ddeadf38;--accent:#96cfa8;--accent-strong:#afd9bc;--accent-ink:#102117;--warning:#d7ad77;--danger:#ce7f84;--display:"Outfit", sans-serif;--mono:"Martian Mono", monospace;--typing:"JetBrains Mono", monospace;--shadow:0 28px 70px -42px #020c07e0;--radius-xl:2rem;--radius-lg:1.35rem;--radius-md:.9rem;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;min-height:100%}body{background:radial-gradient(70% 60% at 76% -8%, #5b836729, transparent 64%), var(--bg);min-width:320px;min-height:100dvh;color:var(--ink);font-family:var(--display);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}body:after{content:"";z-index:20;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");position:fixed;inset:0}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}a{color:inherit}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:4px}::selection{background:var(--accent);color:var(--accent-ink)}.skip-link{z-index:40;background:var(--accent);color:var(--accent-ink);border-radius:.6rem;padding:.7rem 1rem;font-weight:700;transition:transform .18s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.site-header{grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;width:min(100%,1440px);margin:0 auto;padding:1.25rem clamp(1rem,3vw,2.8rem);display:grid}.brand{font-family:var(--mono);letter-spacing:.13em;justify-self:start;align-items:center;gap:.45rem;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-flex}.main-nav{border:1px solid var(--line);background:#0d14108a;border-radius:.95rem;align-items:center;gap:.2rem;padding:.3rem;display:flex;box-shadow:inset 0 1px #ffffff0a}.nav-button{min-height:2.65rem;color:var(--ink-dim);cursor:pointer;background:0 0;border:0;border-radius:.66rem;align-items:center;gap:.5rem;padding:.65rem .9rem;font-size:.88rem;font-weight:600;transition:transform .18s,background-color .18s,color .18s;display:inline-flex}.nav-button svg{width:1.1rem;height:1.1rem}.nav-button:hover{color:var(--ink);background:#ffffff0b}.nav-button:active,.button:active,.text-button:active,.lesson-button:active,.setting-row:active{transform:translateY(1px)scale(.99)}.header-tools{justify-self:end;align-items:center;gap:.65rem;display:flex}.star-total,.locale-link{border:1px solid var(--line);min-height:2.3rem;color:var(--ink-soft);font-family:var(--mono);font-variant-numeric:tabular-nums;border-radius:.7rem;align-items:center;gap:.45rem;padding:.5rem .72rem;font-size:.66rem;text-decoration:none;display:inline-flex}.locale-link:hover{border-color:var(--line-strong);color:var(--ink)}.menu-main{flex:1;width:min(100%,1280px);margin:0 auto;padding:clamp(1.2rem,3vw,2.6rem) clamp(1rem,4vw,3.8rem) 5rem}.eyebrow{color:var(--accent);font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:.45rem;font-size:.67rem;font-weight:600;display:flex}.continue-panel{border-radius:var(--radius-xl);min-height:25rem;box-shadow:var(--shadow), inset 0 1px 0 #ffffff0f;background:radial-gradient(90% 140% at 95% 20%,#73a38038,#0000 58%),linear-gradient(125deg,#1f3127f0,#121b16fa);border:1px solid #96cfa847;grid-template-columns:minmax(0,1.3fr) minmax(15rem,.7fr);align-items:center;gap:3rem;padding:clamp(1.8rem,5vw,4.5rem);display:grid;position:relative;overflow:hidden}.continue-panel:before{content:"";border:1px solid #96cfa838;border-radius:50%;width:26rem;height:26rem;position:absolute;bottom:-16rem;right:-10rem}.continue-copy{z-index:1;position:relative}.continue-copy h1{letter-spacing:-.045em;text-wrap:balance;max-width:18ch;margin-top:.8rem;font-size:clamp(2.15rem,5vw,4.35rem);line-height:.98}.continue-copy>p:not(.eyebrow){max-width:54ch;color:var(--ink-soft);margin-top:1.1rem;font-size:1.05rem}.button{cursor:pointer;border:1px solid #0000;border-radius:.8rem;justify-content:center;align-items:center;gap:.62rem;min-height:2.9rem;padding:.78rem 1.1rem;font-weight:700;text-decoration:none;transition:transform .18s,background-color .18s,border-color .18s;display:inline-flex}.button-primary{background:var(--accent);color:var(--accent-ink);box-shadow:inset 0 1px #ffffff52}.button-primary:hover{background:var(--accent-strong);transform:translateY(-1px)}.button-quiet{border-color:var(--line);color:var(--ink-soft);background:#ffffff09}.button-quiet:hover{border-color:var(--line-strong);color:var(--ink);background:#ffffff0f}.button-large{min-height:3.35rem;margin-top:1.7rem;padding-inline:1.35rem}.continue-visual{flex-direction:column;justify-content:flex-end;gap:1rem;min-height:15rem;display:flex;position:relative}.continue-visual:before,.continue-visual:after{content:"";border:1px solid #96cfa833;border-radius:50%;position:absolute}.continue-visual:before{width:14rem;height:14rem;top:-1rem;right:0}.continue-visual:after{background:#96cfa817;width:8rem;height:8rem;top:2rem;right:3rem}.route-number{z-index:1;font-family:var(--mono);letter-spacing:-.08em;color:#f0f3eeeb;align-self:flex-end;font-size:clamp(3.8rem,9vw,7rem);font-weight:700;line-height:.8;position:relative}.route-track{background:#ffffff14;border-radius:1rem;height:.5rem;overflow:hidden}.route-track i{transform-origin:0;background:var(--accent);border-radius:inherit;width:100%;height:100%;display:block}.continue-visual>span:last-child{color:var(--ink-dim);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem}.course-section,.wide-section{margin-top:clamp(4rem,8vw,7rem)}.section-heading{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);align-items:end;gap:3rem;margin-bottom:2rem;display:grid}.section-heading h1,.section-heading h2{letter-spacing:-.04em;text-wrap:balance;max-width:20ch;margin-top:.65rem;font-size:clamp(2rem,4.2vw,3.6rem);line-height:1.03}.section-heading>p{max-width:52ch;color:var(--ink-soft);font-size:1.02rem;line-height:1.65}.level-list{gap:.8rem;list-style:none;display:grid}.level-block{border:1px solid var(--line);border-radius:var(--radius-lg);animation:.52s cubic-bezier(.2,.8,.2,1) both level-enter;animation-delay:var(--delay);background:#141e18a8;overflow:hidden}@keyframes level-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.level-block.is-open{border-color:color-mix(in srgb, var(--level-accent) 42%, transparent);background:#18241de0}.level-header{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) minmax(5rem,10rem) auto;align-items:center;gap:1rem;width:100%;min-height:5.4rem;padding:1rem 1.15rem;display:grid}.level-header:hover{background:#ffffff06}.level-mark{background:color-mix(in srgb, var(--level-accent) 15%, transparent);width:3rem;height:3rem;color:var(--level-accent);border-radius:.85rem;place-items:center;display:grid}.level-heading-copy{gap:.15rem;min-width:0;display:grid}.level-heading-copy strong{letter-spacing:-.015em;font-size:clamp(1rem,2vw,1.3rem)}.level-heading-copy small{color:var(--ink-dim);font-family:var(--mono);font-size:.62rem}.level-progress{background:#ffffff12;border-radius:1rem;height:.4rem;overflow:hidden}.level-progress i{transform-origin:0;background:var(--level-accent);width:100%;height:100%;display:block}.level-caret{color:var(--ink-dim);transition:transform .22s}.level-block.is-open .level-caret{transform:rotate(180deg)}.lesson-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;padding:0 1.1rem 1.15rem 5.15rem;display:grid}.lesson-button{border:1px solid var(--line);border-radius:var(--radius-md);text-align:left;cursor:pointer;background:#090f0b59;grid-template-rows:auto 1fr auto auto;grid-template-columns:auto 1fr;align-items:start;gap:.45rem .7rem;min-height:10rem;padding:.95rem;transition:transform .18s,border-color .18s,background-color .18s;display:grid;position:relative}.lesson-button:hover{border-color:var(--line-strong);background:#ffffff09;transform:translateY(-2px)}.lesson-button.is-recommended{border-color:var(--accent);background:#96cfa817}.lesson-button.is-complete{background:#96cfa809}.lesson-number{color:var(--ink);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:700}.lesson-status{color:var(--accent);font-family:var(--mono);text-transform:uppercase;justify-self:end;align-items:center;gap:.25rem;font-size:.52rem;font-weight:700;display:inline-flex}.lesson-button>strong{text-wrap:pretty;grid-column:1/-1;align-self:end;font-size:.96rem;line-height:1.25}.lesson-meta{color:var(--ink-dim);grid-column:1/-1;font-size:.75rem}.stars{color:#c8b67b;grid-column:1/-1;gap:.2rem;display:inline-flex}.stars svg:not([weight=fill]){opacity:.28}.game-grid{grid-template-columns:1.25fr .75fr;grid-auto-rows:minmax(13rem,auto);gap:.85rem;display:grid}.game-tile{border:1px solid var(--line);border-radius:var(--radius-lg);background:#17221cbf;grid-template-rows:1fr auto auto;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1.25rem;min-height:14rem;padding:clamp(1.3rem,3vw,2rem);display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0a}.game-tile:nth-child(3){grid-column:1/-1;min-height:11rem}.game-tile:nth-child(4){grid-area:3/2/span 2}.game-tile:nth-child(5){grid-column:1}.game-tile:nth-child(6){grid-column:1/-1}.game-tile:after{content:"";border:1px solid #96cfa81f;border-radius:50%;width:9rem;height:9rem;position:absolute;top:-4rem;right:-4rem}.game-tile>svg{color:var(--accent)}.game-tile h2{letter-spacing:-.03em;font-size:clamp(1.35rem,2.5vw,2rem)}.game-tile p{max-width:48ch;color:var(--ink-soft);margin-top:.45rem;line-height:1.55}.game-tile small{color:var(--ink-dim);font-family:var(--mono);grid-column:2;align-self:end;font-size:.58rem}.text-button{color:var(--accent);cursor:pointer;background:0 0;border:0;grid-column:2;place-self:end start;align-items:center;gap:.45rem;font-weight:700;display:inline-flex}.text-button:hover{color:var(--accent-strong)}.metrics-strip{border-block:1px solid var(--line);grid-template-columns:repeat(4,1fr);padding-block:1.4rem;display:grid}.metric{border-right:1px solid var(--line);grid-template-columns:auto 1fr;gap:.15rem .7rem;padding:.8rem clamp(.7rem,2vw,1.5rem);display:grid}.metric:last-child{border-right:0}.metric>span{color:var(--accent);grid-row:1/3}.metric svg{width:1.4rem;height:1.4rem}.metric strong{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:clamp(1.15rem,2vw,1.5rem)}.metric small{color:var(--ink-dim);font-size:.74rem}.progress-layout{grid-template-columns:minmax(0,1.4fr) minmax(18rem,.6fr);align-items:start;gap:.9rem;margin-top:2.4rem;display:grid}.records-panel,.settings-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:#16201aad;padding:clamp(1.2rem,3vw,2rem)}.record-row{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(8rem,1fr) auto;align-items:center;gap:.9rem;min-height:4.2rem;display:grid}.record-row:last-child{border-bottom:0}.record-row svg{color:var(--accent)}.record-row span{color:var(--ink-dim);font-family:var(--mono);text-align:right;font-size:.62rem}.settings-panel{gap:.2rem;display:grid}.setting-row{border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:1rem;width:100%;min-height:3.6rem;display:flex}.setting-row>span{align-items:center;gap:.65rem;display:flex}.setting-row>span svg{color:var(--accent)}.setting-row>i{background:#ffffff1a;border-radius:1rem;width:2.6rem;height:1.45rem;padding:.2rem;transition:background .18s}.setting-row>i b{background:var(--ink-dim);border-radius:50%;width:1.05rem;height:1.05rem;transition:transform .18s,background .18s;display:block}.setting-row>i.is-on{background:#96cfa840}.setting-row>i.is-on b{background:var(--accent);transform:translate(1.15rem)}.settings-note{color:var(--ink-dim);margin-top:1rem;font-size:.78rem}.site-footer{border-top:1px solid var(--line);width:min(100%,1440px);color:var(--ink-dim);font-family:var(--mono);justify-content:space-between;gap:1rem;margin:auto auto 0;padding:1.4rem clamp(1rem,3vw,2.8rem);font-size:.58rem;display:flex}.site-footer a{align-items:center;gap:.4rem;text-decoration:none;display:inline-flex}.site-footer a:hover{color:var(--accent)}.skip-dialog{border:1px solid var(--line-strong);border-radius:var(--radius-xl);width:min(100% - 2rem,34rem);color:var(--ink);background:#17221c;padding:clamp(1.5rem,4vw,2.5rem);box-shadow:0 32px 90px #030905b8,inset 0 1px #ffffff0d}.skip-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#060a08c7}.dialog-icon{width:3.3rem;height:3.3rem;color:var(--warning);background:#d7ad771f;border-radius:1rem;place-items:center;margin-bottom:1.4rem;display:grid}.skip-dialog h2{letter-spacing:-.035em;margin-top:.5rem;font-size:clamp(1.7rem,4vw,2.35rem);line-height:1.05}.skip-dialog>p:not(.eyebrow){color:var(--ink-soft);margin-top:1rem;line-height:1.6}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;margin-top:1.7rem;display:flex}.game-page{background:var(--bg-deep);min-height:100dvh;position:relative;overflow:hidden}.scene{pointer-events:none;position:fixed;inset:0;overflow:hidden}.game-scrim{z-index:1;pointer-events:none;background:linear-gradient(#080e0b40,#080e0bb3);position:fixed;inset:0}.game-content{z-index:2;flex-direction:column;width:min(100%,1320px);min-height:100dvh;margin:0 auto;padding:clamp(.8rem,2vw,1.6rem) clamp(.8rem,3vw,2.4rem) clamp(1rem,3vw,2rem);display:flex;position:relative}.game-header{grid-template-columns:minmax(9rem,1fr) minmax(0,2fr) minmax(9rem,1fr);align-items:center;gap:1rem;min-height:4.6rem;display:grid}.game-back{cursor:pointer;background:#0a110d6b;border:1px solid #ffffff1f;border-radius:.75rem;justify-self:start;align-items:center;gap:.5rem;min-height:2.7rem;padding:.6rem .8rem;font-size:.84rem;font-weight:600;display:inline-flex}.game-back:hover{background:#ffffff12}.game-identity{text-align:center;min-width:0;display:grid}.game-identity span{color:var(--accent);font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;font-size:.58rem}.game-identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;overflow:hidden}.round-indicator{justify-self:end;gap:.35rem;width:min(100%,11rem);display:grid}.round-indicator>span{color:var(--ink-soft);font-family:var(--mono);text-align:right;font-size:.57rem}.round-indicator>i{background:#ffffff1f;border-radius:1rem;height:.35rem;overflow:hidden}.round-indicator b{transform-origin:0;background:var(--accent);width:100%;height:100%;transition:transform .3s;display:block}.lesson-intro{flex:1;grid-template-columns:minmax(0,.9fr) minmax(24rem,1.1fr);align-items:center;gap:clamp(2rem,6vw,6rem);padding:clamp(2rem,6vh,5rem) clamp(0rem,4vw,3rem);display:grid}.intro-copy h1{letter-spacing:-.05em;text-wrap:balance;max-width:15ch;margin-top:.7rem;font-size:clamp(2.3rem,5vw,4.8rem);line-height:.96}.intro-copy>p:not(.eyebrow){max-width:52ch;color:var(--ink-soft);margin-top:1.2rem;font-size:1.05rem;line-height:1.6}.new-keys{flex-wrap:wrap;gap:.55rem;margin-top:1.3rem;display:flex}.new-keys kbd{min-width:2.8rem;min-height:2.8rem;color:var(--accent);font-family:var(--typing);background:#96cfa81f;border:1px solid #96cfa859;border-radius:.65rem;place-items:center;padding:.55rem;font-size:1.1rem;display:grid;box-shadow:inset 0 -2px #00000038}.round-preview{list-style:none;display:grid}.round-preview li{border-bottom:1px solid #ffffff1f;grid-template-columns:auto auto 1fr;align-items:center;gap:1rem;min-height:7.2rem;padding:1.1rem 0;display:grid}.round-preview li:first-child{border-top:1px solid #ffffff1f}.round-preview li>span{border:1px solid var(--line-strong);width:2rem;height:2rem;color:var(--ink-dim);font-family:var(--mono);border-radius:.6rem;place-items:center;font-size:.7rem;display:grid}.round-preview li.is-done>span{border-color:var(--accent);color:var(--accent)}.round-preview li>svg{color:var(--accent)}.round-preview div{gap:.3rem;display:grid}.round-preview strong{font-size:1.1rem}.round-preview small{max-width:48ch;color:var(--ink-dim)}.free-intro{text-align:left;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;max-width:43rem;margin:0 auto;display:flex}.free-intro>svg{color:var(--accent);margin-bottom:1.4rem}.free-intro h1{letter-spacing:-.055em;margin-top:.6rem;font-size:clamp(2.6rem,7vw,5.4rem);line-height:.94}.free-intro>p:not(.eyebrow){color:var(--ink-soft);margin-top:1.2rem;font-size:1.08rem}.free-intro>small{color:var(--ink-dim);font-family:var(--mono);margin-top:.7rem;font-size:.62rem}.round-stage{flex-direction:column;flex:1;justify-content:center;gap:clamp(.7rem,1.5vw,1.15rem);min-height:0;padding-top:.4rem;display:flex}.round-stats{align-items:stretch;gap:.55rem;display:flex}.round-stats>span{background:#080e0b66;border:1px solid #ffffff1c;border-radius:.7rem;gap:.05rem;min-width:7.4rem;padding:.55rem .72rem;display:grid}.round-stats small{color:var(--ink-dim);font-size:.62rem}.round-stats strong{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.76rem}.text-stage{overscroll-behavior:contain;scrollbar-color:#96cfa861 transparent;border-radius:var(--radius-lg);min-height:clamp(10rem,26dvh,18rem);max-height:34dvh;box-shadow:var(--shadow), inset 0 1px 0 #ffffff0b;background:linear-gradient(150deg,#0f1812d1,#0a100cad);border:1px solid #ddeadf29;align-items:center;padding:clamp(1.15rem,3vw,2.3rem);display:flex;overflow:auto}.typing-copy{width:100%;color:var(--ink-dim);font-family:var(--typing);letter-spacing:-.025em;white-space:pre-wrap;font-size:clamp(1.25rem,2.8vw,2.25rem);font-weight:600;line-height:1.65}.typing-word{display:inline-block}.typing-character{border-radius:.24em;transition:color .1s,background-color .1s;display:inline;position:relative}.typing-character.is-done{color:var(--ink)}.typing-character.is-todo{color:#96a398}.typing-character.is-current,.typing-character.is-error{color:var(--accent-ink);background:var(--accent);margin-inline:-.08em;padding:.04em .08em}.typing-space.is-current,.typing-space.is-error{min-width:.6em;display:inline-block}.typing-character.is-current:after{content:"";background:var(--accent);border-radius:1rem;height:.09em;animation:1s steps(2,end) infinite caret-pulse;position:absolute;bottom:-.18em;left:.08em;right:.08em}.typing-character.is-error{color:#2a1112;background:var(--danger);animation:.18s key-shake}@keyframes caret-pulse{50%{opacity:.25}}@keyframes key-shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.typing-caret{background:var(--accent);vertical-align:-.12em;width:.12em;height:1.1em;display:inline-block}.race-track{border-bottom:2px solid #ffffff26;height:2.4rem;margin:.15rem 1.4rem 0;position:relative}.race-track:before{content:"";border-bottom:2px dashed #ffffff21;position:absolute;bottom:-2px;left:0;right:0}.race-player,.race-goal{width:calc(100% - 1.4rem);color:var(--accent);transition:transform .22s;display:flex;position:absolute;bottom:.18rem;left:0}.race-goal{color:var(--warning);opacity:.8}.shield-status,.story-milestones{color:var(--ink-soft);align-items:center;gap:.6rem;font-size:.8rem;display:flex}.shield-status>svg{color:var(--accent)}.shield-status>span{gap:.28rem;display:flex}.shield-status i{background:#ffffff1a;border-radius:1rem;width:1.65rem;height:.35rem}.shield-status i.is-full{background:var(--accent)}.story-milestones>span{margin-right:auto}.story-milestones i{border:1px solid var(--line-strong);border-radius:50%;width:.6rem;height:.6rem;transition:transform .2s,background-color .2s}.story-milestones i.is-revealed{border-color:var(--accent);background:var(--accent);transform:scale(1.25)}.sprint-clock{height:1.7rem;color:var(--accent);align-items:center;gap:.7rem;display:flex}.sprint-clock>i{background:#ffffff1a;border-radius:1rem;flex:1;height:.38rem;overflow:hidden}.sprint-clock>i:after{content:"";width:100%;height:100%;transform:inherit;transform-origin:0;background:var(--accent);display:block}.keyboard-scroll{scrollbar-width:thin;width:100%;padding:.2rem 0 .4rem;overflow-x:auto}.keyboard-guide{flex-direction:column;align-items:center;gap:clamp(.2rem,.6vw,.42rem);width:max-content;min-width:min(100%,54rem);margin:0 auto;display:flex}.keyboard-row{justify-content:center;gap:clamp(.2rem,.6vw,.42rem);display:flex}.keycap{--key-width:clamp(2rem, 4.3vw, 3.55rem);width:var(--key-width);height:clamp(2rem,4vw,3.15rem);color:var(--ink-soft);font-family:var(--typing);background:#17221dc7;border:1px solid #ffffff21;border-bottom-width:2px;border-radius:clamp(.4rem,.8vw,.68rem);place-items:center;font-size:clamp(.68rem,1.2vw,.95rem);font-weight:700;transition:transform .1s,background-color .1s,color .1s,border-color .1s;display:grid;position:relative;box-shadow:inset 0 1px #ffffff0a}.keycap:after{content:"";background:var(--finger);opacity:.75;border-radius:1rem;height:2px;position:absolute;bottom:-2px;left:20%;right:20%}.keycap.is-wide{width:clamp(4rem,9vw,7.2rem);font-family:var(--display);font-size:.72rem}.keycap.is-space{width:clamp(9rem,27vw,20rem)}.keycap.is-active{border-color:var(--finger);background:var(--finger);color:#101713;transform:translateY(1px)}.keycap.is-active:after{opacity:0}.keycap>i{opacity:.55;background:currentColor;border-radius:1rem;width:.75rem;height:.12rem;position:absolute;bottom:.3rem}.target-stage{padding-bottom:.5rem}.target-arena{border-radius:var(--radius-lg);background:#080e0b80;border:1px solid #ffffff21;place-items:center;min-height:clamp(13rem,35dvh,24rem);display:grid;position:relative;overflow:hidden}.meteor-lane{position:absolute;inset:0}.meteor-target{color:var(--accent);animation:meteor-fall var(--target-duration) linear both;will-change:transform;align-items:center;gap:.7rem;display:flex;position:absolute;top:1rem;left:50%}.meteor-target strong{background:var(--accent);min-width:4rem;height:4rem;color:var(--accent-ink);font-family:var(--typing);border:1px solid #96cfa873;border-radius:1rem;place-items:center;font-size:2rem;display:grid}@keyframes meteor-fall{0%{transform:translate(-50%,-1rem)}to{transform:translate(-50%,calc(35dvh - 6rem))}}.meteor-ground{background:repeating-linear-gradient(90deg, var(--danger) 0 1.2rem, transparent 1.2rem 2rem);opacity:.55;height:2px;position:absolute;bottom:1.2rem;left:8%;right:8%}.reaction-target{border-radius:var(--radius-xl);background:#96cfa814;border:1px solid #96cfa847;align-content:center;place-items:center;gap:.7rem;min-width:min(80%,22rem);min-height:12rem;display:grid;position:relative}.reaction-target small{color:var(--ink-soft)}.reaction-target strong{font-family:var(--typing);font-size:clamp(3.4rem,10vw,6rem);line-height:1}.reaction-target>i{background:var(--accent);transform-origin:0;border-radius:1rem;height:.35rem;animation:linear both target-time;position:absolute;bottom:0;left:0;right:0}@keyframes target-time{to{transform:scaleX(0)}}.reaction-target.is-wrong{border-color:var(--danger);animation:.18s key-shake}.target-queue{opacity:.6;justify-content:center;gap:.35rem;display:flex;position:absolute;bottom:.8rem;left:1rem;right:1rem}.target-queue span{border:1px solid var(--line);min-width:1.6rem;height:1.6rem;font-family:var(--typing);border-radius:.4rem;place-items:center;font-size:.66rem;display:grid}.result-view{flex-direction:column;flex:1;justify-content:center;align-items:flex-start;width:100%;max-width:56rem;margin:0 auto;padding-block:2rem;display:flex}.result-symbol{border-radius:1.2rem;place-items:center;width:4rem;height:4rem;margin-bottom:1.6rem;display:grid}.result-symbol.is-success{color:var(--accent);background:#96cfa829}.result-symbol.is-failed{color:var(--danger);background:#ce7f8424}.result-view h1{letter-spacing:-.055em;margin-top:.55rem;font-size:clamp(2.5rem,7vw,5.4rem);line-height:.95}.result-view>p:not(.eyebrow){max-width:52ch;color:var(--ink-soft);margin-top:1rem}.result-metrics{border-block:1px solid #ffffff24;grid-template-columns:repeat(4,1fr);width:100%;margin-top:2.3rem;padding-block:1.3rem;display:grid}.result-metrics>span{border-right:1px solid #ffffff1f;gap:.2rem;padding:.5rem 1.2rem;display:grid}.result-metrics>span:last-child{border-right:0}.result-metrics small{color:var(--ink-dim)}.result-metrics strong{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:clamp(1.05rem,2vw,1.4rem)}.result-actions{flex-wrap:wrap;gap:.65rem;margin-top:2rem;display:flex}.lesson-complete .stars{margin-bottom:1rem}.complete-trophy{color:var(--accent);margin-bottom:1.1rem}.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;min-height:100dvh;padding:2rem;display:flex}.not-found svg{color:var(--accent)}.scene-ocean{background:linear-gradient(#173b3d 0%,#102d32 40%,#091b22 100%)}.ocean-light{background:radial-gradient(70% 60% at 50% 0,#a4d7cf47,#0000 70%);transition:transform .6s cubic-bezier(.2,.8,.2,1);position:absolute;inset:-20% -10% 20%}.ocean-horizon{background:linear-gradient(#649a8b29,#040f119e);border-radius:50% 50% 0 0;height:52%;transition:transform .6s;position:absolute;bottom:-30%;left:-10%;right:-10%}.bubble{border:1px solid #cee7e159;border-radius:50%;width:.7rem;height:.7rem;animation:8s linear infinite bubble-rise;position:absolute;bottom:-2rem}@keyframes bubble-rise{to{opacity:0;transform:translate(2rem,-110dvh)}}.scene-forest{background:linear-gradient(#243c2b,#14291c 48%,#0a1710)}.forest-light{background:radial-gradient(80% 60% at 60% -5%,#bed3983d,#0000 64%);position:absolute;inset:0}.plant{transform-origin:bottom;background:linear-gradient(145deg,#648d63,#2e593c);border-radius:70% 15% 30% 8%;width:4.2%;min-width:1.8rem;transition:transform .55s cubic-bezier(.25,.8,.25,1);position:absolute;bottom:-2%;box-shadow:inset -8px -10px 18px #04110840}.scene-orbit{background:radial-gradient(100% 90% at 78% 15%,#313147 0%,#1b2333 46%,#0c1320 100%)}.star-dot{background:#f0f3eec7;border-radius:50%;animation:4s ease-in-out infinite star-fade;position:absolute}@keyframes star-fade{50%{opacity:.24}}.planet{background:radial-gradient(circle at 35% 28%,#b9a5bd,#6b607f 48%,#26293b 100%);border-radius:50%;width:18rem;height:18rem;transition:transform .6s cubic-bezier(.2,.8,.2,1);position:absolute;top:16%;right:10%;box-shadow:inset -30px -30px 55px #05080f8c}.orbit-ring{border:2px solid #c2b2c738;border-radius:50%;width:29rem;height:9rem;transition:transform .6s;position:absolute;top:28%;right:3%}.warp-line{background:linear-gradient(90deg,#0000,#f0f3ee80);width:6rem;height:1px;animation:2s linear infinite warp;position:absolute;left:56%}@keyframes warp{0%{opacity:0;transform:translate(0)scaleX(.25)}20%{opacity:1}to{opacity:0;transform:translate(45vw)scaleX(1)}}@media (width<=980px){.site-header{grid-template-columns:1fr auto}.main-nav{grid-area:2/1/auto/-1;justify-self:center}.continue-panel{grid-template-columns:1fr .55fr}.lesson-grid{grid-template-columns:repeat(3,1fr);padding-left:1.1rem}.lesson-intro{grid-template-columns:1fr;align-content:center;gap:2rem}.round-preview{grid-template-columns:repeat(3,1fr);gap:.65rem}.round-preview li,.round-preview li:first-child{border:1px solid #ffffff1f;border-radius:1rem;grid-template-columns:auto 1fr;align-content:start;min-height:11rem;padding:1rem}.round-preview li>svg{justify-self:end}.round-preview li div{grid-column:1/-1}.keycap{--key-width:clamp(1.95rem, 5.3vw, 3.2rem)}}@media (width<=720px){.site-header{gap:.7rem;padding:.85rem 1rem}.star-total{display:none}.main-nav{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.nav-button{justify-content:center;padding-inline:.4rem;font-size:.78rem}.menu-main{padding:1rem 1rem 3.5rem}.continue-panel{border-radius:1.35rem;grid-template-columns:1fr;gap:1rem;min-height:0;padding:1.45rem}.continue-copy h1{font-size:clamp(2rem,11vw,3.2rem)}.continue-visual{grid-template-columns:auto 1fr;align-items:end;min-height:6.5rem;display:grid}.continue-visual:before,.continue-visual:after{display:none}.route-number{justify-self:start;font-size:3.8rem}.route-track{align-self:center}.continue-visual>span:last-child{grid-column:1/-1}.section-heading{grid-template-columns:1fr;gap:1rem}.section-heading h1,.section-heading h2{font-size:clamp(2rem,9vw,3rem)}.level-header{grid-template-columns:auto 1fr auto;gap:.7rem}.level-progress{display:none}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-button{min-height:9.5rem}.game-grid{grid-template-columns:1fr;grid-auto-rows:auto}.game-tile,.game-tile:nth-child(n){grid-area:auto/1;grid-template-columns:auto minmax(0,1fr);min-height:14rem}.metrics-strip{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.progress-layout{grid-template-columns:1fr}.record-row{grid-template-columns:auto 1fr;padding-block:.65rem}.record-row span{text-align:left;grid-column:2}.site-footer{flex-direction:column}.dialog-actions .button{width:100%}.game-content{padding:.75rem}.game-header{grid-template-columns:auto 1fr auto;gap:.55rem}.game-back{justify-content:center;width:2.65rem;padding:0;font-size:0}.game-identity{text-align:left}.round-indicator{width:4.8rem}.round-indicator span{font-size:.5rem}.lesson-intro{padding:2rem .3rem}.intro-copy h1{font-size:clamp(2.2rem,12vw,3.6rem)}.round-preview{grid-template-columns:1fr}.round-preview li{grid-template-columns:auto auto 1fr;min-height:7rem}.round-preview li div{grid-column:auto}.round-stats{grid-template-columns:repeat(3,1fr);gap:.35rem;display:grid}.round-stats>span{min-width:0;padding:.45rem}.round-stats small{font-size:.54rem}.round-stats strong{font-size:.65rem}.text-stage{min-height:12rem;max-height:38dvh;padding:1rem}.typing-copy{font-size:clamp(1.15rem,6vw,1.55rem)}.keyboard-guide{transform-origin:top}.keyboard-scroll{width:calc(100% + 1.5rem);margin-inline:-.75rem}.target-arena{min-height:15rem}.result-view{padding:2rem .4rem}.result-metrics{grid-template-columns:repeat(2,1fr)}.result-metrics>span:nth-child(2){border-right:0}.result-metrics>span:nth-child(-n+2){border-bottom:1px solid #ffffff1f}.result-actions .button{flex:100%}.planet{top:19%;right:-24%}.orbit-ring{right:-52%}iframe[src*=feedback],[data-feedback-widget]{bottom:max(.75rem, env(safe-area-inset-bottom))!important;right:.75rem!important}}@media (height<=760px) and (width>=721px){.game-header{min-height:3.8rem}.round-stage{gap:.55rem}.text-stage{min-height:8rem;max-height:28dvh;padding-block:.8rem}.typing-copy{font-size:clamp(1.15rem,2.4vw,1.75rem);line-height:1.45}.keycap{height:clamp(1.75rem,4vw,2.6rem)}.lesson-intro{padding-block:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.adventure-world{isolation:isolate;background:#34696c;height:clamp(280px,39dvh,430px);position:relative;overflow:hidden}.world-forest{background:#455b3d}.world-orbit{background:#272e46}.world-art,.world-art img,.world-shade,.world-atmosphere,.world-discoveries{width:100%;height:100%;position:absolute;inset:0}.world-art{z-index:-3}.world-art img{object-fit:cover;object-position:50% 46%}.world-forest .world-art img{object-position:50% 35%}.world-orbit .world-art img{object-position:50% 43%}.world-shade{z-index:-2;background:linear-gradient(90deg,#08262b99,#0000 70%),linear-gradient(#102a2922,#0000 30% 70%,#0d292dda)}.world-forest .world-shade{background:linear-gradient(90deg,#15281b99,#0000 65%),linear-gradient(#0000 70%,#15281be0)}.world-orbit .world-shade{background:linear-gradient(90deg,#151d3299,#0000 70%),linear-gradient(#0000 70%,#18223de0)}.world-heading{text-shadow:0 2px 24px #08221f55;position:absolute;top:clamp(20px,3vw,36px);left:clamp(22px,3.4vw,46px);right:24px}.world-heading>span{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#f3ead8;font-size:9px}.world-heading h2{letter-spacing:-.045em;text-wrap:balance;margin-top:10px;font-size:clamp(29px,3.7vw,49px);font-weight:650;line-height:1.1}.world-heading p{color:#f3eedee0;max-width:34em;margin-top:10px;font-size:clamp(12px,1.25vw,15px);line-height:1.5}.world-route{pointer-events:none;height:0;position:absolute;top:47%;left:5%;right:17%}.world-traveller{width:100%;transition:transform .7s cubic-bezier(.2,.7,.3,1)}.explorer-body{transform-origin:50%;filter:drop-shadow(0 7px 8px #0d272333);width:clamp(110px,12.5vw,180px);animation:4.8s ease-in-out infinite adventure-bob}.explorer-body svg{width:100%;display:block;overflow:visible}.explorer-propeller{transform-origin:27px 82px;animation:.8s ease-in-out infinite adventure-propeller}.explorer-flame{transform-origin:top;animation:1.8s ease-in-out infinite adventure-flicker}.world-forest .world-route{top:49%}.world-forest .explorer-body{animation:3.8s ease-in-out infinite adventure-fox}.explorer-tail{transform-origin:75px 96px;animation:4s ease-in-out infinite adventure-tail}.world-discovery{opacity:0;width:clamp(36px,5vw,68px);transition:transform .7s cubic-bezier(.2,.8,.3,1.2),opacity .7s;position:absolute;transform:translateY(14px)scale(.7)}.world-discovery.is-found{opacity:1;transform:translate(0,0)scale(1)}.world-discovery svg{filter:drop-shadow(0 3px 5px #17382b44);width:100%;display:block;overflow:visible}.discovery-0{top:73%;left:29%}.discovery-1{top:47%;left:51%}.discovery-2{top:67%;left:75%}.discovery-1 .discovery-life{animation:6s ease-in-out -2s infinite adventure-bob}.world-forest .discovery-0{top:68%}.world-forest .discovery-2{top:39%}.world-orbit .discovery-0{top:43%}.world-orbit .discovery-1{top:38%}.world-atmosphere{pointer-events:none;overflow:hidden}.world-atmosphere i{left:var(--x);width:5px;height:5px;animation:adventure-particle var(--duration) linear var(--delay) infinite;border:1px solid #dcf5eb80;border-radius:50%;position:absolute;bottom:-20px}.world-forest .world-atmosphere i{background:#fae8a0;border:0;width:3px;height:3px;box-shadow:0 0 8px #fbe5a0}.world-orbit .world-atmosphere i{width:2px;height:2px;top:calc(25% + var(--x) / 3);background:#fff1d0;animation-name:adventure-star;bottom:auto}.world-caption{justify-content:space-between;align-items:end;gap:20px;display:flex;position:absolute;bottom:20px;left:clamp(22px,3.4vw,46px);right:clamp(22px,3.4vw,46px)}.world-story{text-shadow:0 2px 8px #092623;align-items:center;gap:10px;font-size:clamp(12px,1.3vw,15px);font-weight:500;line-height:1.4;display:flex}.story-spark{color:var(--world-color);font-size:22px}.discovery-counter{text-align:right;flex-shrink:0}.discovery-counter>span{font-variant-numeric:tabular-nums;font-size:20px;font-weight:550}.counter-divider{color:#d7e3d890;font-size:14px}.discovery-counter small{color:#e8e9d8c9;letter-spacing:.03em;margin-top:1px;font-size:10px;display:block}.world-trail{background:#e7f3de20;width:100%;height:3px;position:absolute;bottom:0;left:0}.world-trail>span{background:var(--world-color);transform-origin:0;transition:transform .5s;position:absolute;inset:0}.world-trail>i{background:#b1c4b6;border-radius:50%;width:7px;height:7px;position:absolute;top:-2px;transform:translate(-50%)}.world-trail>i.is-found{background:#fff4c9}.world-still *,.typing-still *{transition:none!important;animation-play-state:paused!important}@keyframes adventure-bob{0%,to{transform:translate(0,0)rotate(-2deg)}50%{transform:translateY(-9px)rotate(1deg)}}@keyframes adventure-fox{0%,to{transform:translate(0,0)}50%{transform:translateY(-3px)}}@keyframes adventure-propeller{0%,to{transform:scaleY(1)}50%{transform:scaleY(.2)}}@keyframes adventure-flicker{0%,to{opacity:.6;transform:scaleY(.85)}50%{opacity:.85;transform:scaleY(1)}}@keyframes adventure-tail{0%,to{transform:rotate(-3deg)}50%{transform:rotate(5deg)}}@keyframes adventure-particle{0%{opacity:0;transform:translate(0,0)}15%{opacity:.45}85%{opacity:.45}to{opacity:0;transform:translate(24px,-430px)}}@keyframes adventure-star{0%,to{opacity:.1}50%{opacity:.7}}.adventure-game{--desk:#1a2d2e;background:#102022}.adventure-game.biome-forest{--desk:#243129;background:#17221d}.adventure-game.biome-orbit{--desk:#242d3e;background:#171f2c}.adventure-game .game-content{max-width:1380px;min-height:100dvh;padding:0 clamp(12px,3vw,42px) 24px}.adventure-game .game-header{grid-template-columns:auto minmax(0,1fr) 120px auto;gap:25px;min-height:66px}.adventure-game .game-identity{text-align:left}.adventure-game .game-back{color:var(--ink-soft);background:0 0;border:0;padding-left:0}.play-settings{gap:6px;display:flex}.play-settings button{width:35px;height:35px;color:var(--ink-soft);cursor:pointer;background:0 0;border:1px solid #eef2dd26;border-radius:50%;place-items:center;display:grid}.play-settings button:hover{background:#edf4e514}.play-settings button:disabled{opacity:.45;cursor:default}.adventure-game .adventure-world{border:1px solid #eaf0dd24;border-bottom:0;border-radius:18px 18px 0 0;flex:none;height:clamp(220px,28dvh,320px)}.adventure-game .world-heading{top:21px;left:30px}.adventure-game .world-heading h2{margin-top:8px;font-size:clamp(27px,3vw,38px);font-weight:550}.adventure-game .world-heading p{margin-top:8px;font-size:12px}.adventure-game .world-caption{bottom:15px;left:30px;right:30px}.adventure-game .world-story{font-size:13px}.adventure-game .explorer-body{width:clamp(100px,10vw,135px)}.adventure-game .world-route{top:42%}.adventure-game .world-forest .world-route{top:58%}.adventure-game .world-discovery{width:clamp(35px,4.2vw,57px)}.adventure-game .world-forest .discovery-2{top:34%}.adventure-game .discovery-counter>span{font-size:18px}.adventure-game .round-stage,.adventure-game .lesson-intro,.adventure-game .free-intro,.adventure-game .result-view{background:var(--desk);border:1px solid #eaf0dd24;border-top:0;border-radius:0 0 18px 18px;flex:none;width:100%;max-width:none;margin:0;padding:22px 30px 26px}.adventure-game .round-stage{justify-content:start;gap:12px}.adventure-game .round-stats{gap:22px}.adventure-game .round-stats>span{background:0 0;border:0;flex-direction:row-reverse;justify-content:start;align-items:baseline;gap:6px;min-width:0;padding:0;display:flex}.adventure-game .round-stats small{font-size:11px}.adventure-game .round-stats strong{font-size:12px}.adventure-game .text-stage{background:#071a1b42;border-radius:10px;align-items:flex-start;min-height:105px;max-height:155px;padding:16px 20px}.adventure-game .typing-copy{color:#b3c5bf;font-size:clamp(20px,2.3vw,29px);line-height:1.7}.adventure-game .typing-character.is-current{color:#17332c;background:var(--accent);border-radius:4px}.adventure-game .typing-character.is-done{color:var(--accent)}.adventure-game .keyboard-scroll{width:100%;margin:0;padding:2px 0 0}.adventure-game .keyboard-guide,.adventure-game .keyboard-row{gap:5px}.adventure-game .keycap{--key-width:clamp(24px,4vw,41px);background:#eef4dd0a;border-radius:6px;height:31px;font-size:14px;box-shadow:0 2px #07171844}.adventure-game .keycap.is-active{background:var(--finger);color:#15312b;box-shadow:none}.adventure-game .lesson-intro{grid-template-columns:1fr 1fr;gap:40px;padding:28px 35px}.adventure-game .intro-copy h1{max-width:20ch;font-size:clamp(28px,3.4vw,41px);line-height:1.1}.adventure-game .intro-copy>p:not(.eyebrow){margin-top:13px;font-size:14px}.adventure-game .new-keys{margin-top:14px}.adventure-game .new-keys kbd{min-width:35px;min-height:35px;padding:4px 8px}.adventure-game .button-large{min-height:45px;margin-top:20px}.adventure-game .round-preview{grid-template-columns:1fr;gap:0}.adventure-game .round-preview li{border:0;border-bottom:1px solid #e6ecdb20;border-radius:0;grid-template-columns:auto auto 1fr;min-height:74px;padding:12px 0}.adventure-game .round-preview li:first-child{border-top:1px solid #e6ecdb20}.adventure-game .round-preview li div{grid-column:auto}.adventure-game .round-preview strong{font-size:14px}.adventure-game .round-preview small{font-size:11px}.adventure-game .target-arena{--arena-height:170px;height:170px;min-height:170px}.adventure-game .reaction-target{min-height:130px;padding:16px}.adventure-game .meteor-lane{height:160px}.adventure-game .target-queue{bottom:10px}.adventure-game .result-view h1,.adventure-game .free-intro h1{font-size:clamp(29px,4vw,43px);line-height:1.13}.adventure-game .result-view{padding-block:26px}.adventure-game .result-symbol{border-radius:10px;width:40px;height:40px;margin-bottom:14px}.adventure-game .result-symbol svg{width:24px}.adventure-game .result-metrics{margin-top:20px;padding-block:10px}.adventure-game .result-metrics strong{font-size:20px}.adventure-game .result-actions{margin-top:22px}.adventure-game .free-intro{padding-block:28px}.adventure-game .free-intro>svg{width:33px;height:33px;margin-bottom:12px}.adventure-game .complete-trophy{width:32px;height:32px}.adventure-game .lesson-complete .stars svg{width:28px;height:28px}.world-still *,.world-still :before,.world-still :after{transition:none!important;animation-play-state:paused!important}@media (width<=720px){.adventure-game .game-header{grid-template-columns:auto minmax(0,1fr) auto;gap:9px}.adventure-game .round-indicator{display:none}.adventure-game .game-identity strong{font-size:13px}.play-settings{gap:4px}.play-settings button{width:31px;height:31px}.adventure-game .adventure-world{height:270px}.adventure-game .world-heading{top:24px;left:20px;right:20px}.adventure-game .world-heading h2{font-size:29px}.adventure-game .world-heading p{max-width:25ch;font-size:11px}.adventure-game .world-route{top:46%;left:0;right:110px}.adventure-game .world-forest .world-route{top:54%}.adventure-game .explorer-body{width:110px}.adventure-game .world-caption{left:17px;right:17px}.adventure-game .world-story{gap:6px;max-width:78%;font-size:11px}.world-ocean .world-art img{object-position:75% 46%}.world-forest .world-art img{object-position:80% 35%}.world-orbit .world-art img{object-position:72% 43%}.adventure-game .round-stage,.adventure-game .lesson-intro,.adventure-game .free-intro,.adventure-game .result-view{padding:19px 14px}.adventure-game .lesson-intro{grid-template-columns:1fr;gap:23px}.adventure-game .round-stats{flex-wrap:wrap;gap:12px;display:flex}.adventure-game .round-stats small,.adventure-game .round-stats strong{font-size:10px}.adventure-game .text-stage{min-height:125px;max-height:175px;padding:13px}.adventure-game .typing-copy{font-size:21px}.adventure-game .target-arena{--arena-height:190px;height:190px;min-height:190px}.adventure-game .target-queue{gap:3px}.adventure-game .target-queue span{width:20px;min-width:20px;font-size:10px}.adventure-game .keyboard-guide{width:max-content;min-width:0;margin:0 auto}.adventure-game .result-metrics>span{padding:10px}}@media (height<=780px) and (width>=721px){.adventure-game .game-header{min-height:56px}.adventure-game .adventure-world{height:220px}.adventure-game .round-stage{padding-block:16px 20px}.adventure-game .text-stage{min-height:95px;max-height:120px}.adventure-game .typing-copy{font-size:23px;line-height:1.65}}@media (prefers-reduced-motion:reduce){.adventure-world *{transition:none!important;animation:none!important}}.adventure-game .meteor-target{animation-name:adventure-meteor-fall}@keyframes adventure-meteor-fall{0%{transform:translate(-50%,-1rem)}to{transform:translate3d(-50%, calc(var(--arena-height) - 105px), 0)}}:root{--bg:#112022;--bg-deep:#0c191b;--surface:#1a2b2c;--surface-raised:#243736;--surface-soft:#1a2b2ce6;--ink:#f5efdf;--ink-soft:#b7c6bf;--ink-dim:#9fafa8;--accent:#bbd9bc;--accent-strong:#d1e6c8;--accent-ink:#17322b}body{background:var(--bg)}body:after{display:none}.site-header{width:min(100%,1380px);min-height:92px;padding-inline:clamp(20px,3vw,44px)}.brand{font:650 31px/1 var(--display);letter-spacing:-.055em;text-transform:lowercase}.brand span{color:var(--accent)}.main-nav{box-shadow:none;background:0 0;border:0;gap:8px}.nav-button{color:var(--ink-soft);border-radius:8px}.nav-button.is-active{color:var(--ink);background:#f6f0df0c}.star-total{border:0}.star-total svg{color:#e7d09e}.menu-main{width:min(100%,1320px);padding:18px clamp(20px,3vw,44px) 72px}.website-hero{min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(30px,6vw,80px);padding:14px 0 36px;overflow:visible}.website-hero:before{display:none}.website-hero .eyebrow{letter-spacing:.12em;font-size:10px}.website-hero h1{letter-spacing:-.055em;text-wrap:initial;max-width:13ch;margin-top:24px;font-size:clamp(43px,5.2vw,72px);font-weight:600;line-height:1.04}.website-hero h1 em{color:var(--accent);font-style:normal;display:block}.website-hero .continue-copy>p:not(.eyebrow){max-width:38ch;margin-top:23px;font-size:17px;line-height:1.75}.hero-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:30px;display:flex}.hero-actions .button{min-height:52px;box-shadow:none;border-radius:9px;gap:18px;margin:0;padding-inline:19px;font-size:15px}.hero-secondary{text-underline-offset:5px;align-items:center;gap:9px;font-size:13px;display:inline-flex}.hero-secondary:hover{color:var(--accent)}.website-hero .continue-copy>.hero-tip{color:var(--ink-dim);margin-top:17px;font-size:12px}.destination-preview{isolation:isolate;background:#254441;border-radius:130px 20px 20px;height:clamp(350px,35vw,456px);position:relative;overflow:hidden}.destination-preview>img{object-fit:cover;object-position:62% center;z-index:-2;width:100%;height:100%;position:absolute}.destination-preview:after{content:"";z-index:-1;background:linear-gradient(#0000 38%,#09272aef);position:absolute;inset:0}.destination-caption{gap:6px;display:grid;position:absolute;bottom:30px;left:30px;right:24px}.destination-caption>span{font:9px var(--mono);letter-spacing:.11em;text-transform:uppercase;color:#ddeddc}.destination-caption strong{letter-spacing:-.04em;font-size:29px;font-weight:550;line-height:1.2}.destination-caption small{color:#dfebdf;font-size:13px}.destination-stamp{background:#123c3b77;border:1px solid #eef4de40;border-radius:20px;align-items:center;gap:7px;padding:8px 11px;font-size:11px;display:flex;position:absolute;top:22px;right:20px}.destination-explorer{width:150px;position:absolute;top:37%;left:23%;transform:rotate(-7deg)}.destination-explorer svg{width:100%;display:block}.destination-forest>img{object-position:78% center}.destination-orbit>img{object-position:65% center}.website-promises{border-bottom:1px solid var(--line);color:var(--ink-soft);flex-wrap:wrap;gap:clamp(20px,5vw,64px);padding:18px 0 28px;font-size:12px;display:flex}.website-promises>span{align-items:center;gap:9px;display:flex}.website-promises svg{color:var(--accent)}.world-atlas{margin-top:65px}.section-heading{align-items:end;gap:34px;margin-bottom:27px}.section-heading h2,.section-heading h1{letter-spacing:-.045em;font-size:clamp(30px,3.2vw,43px);font-weight:550;line-height:1.16}.section-heading>p{max-width:36ch;font-size:14px;line-height:1.7}.section-heading .eyebrow{margin-bottom:12px;font-size:9px}.atlas-grid{grid-template-rows:repeat(2,205px);grid-template-columns:1.1fr 1fr;gap:16px;display:grid}.atlas-world{isolation:isolate;text-align:left;cursor:pointer;background:#1c3b3b;border:1px solid #f3efda26;border-radius:15px;align-items:end;padding:28px;display:flex;position:relative;overflow:hidden}.atlas-world:first-child{grid-row:1/3}.atlas-world>img{object-fit:cover;z-index:-2;width:100%;height:100%;transition:transform .5s;position:absolute;inset:0}.atlas-world:hover>img{transform:scale(1.035)}.atlas-world:after{content:"";z-index:-1;background:linear-gradient(#0000 15%,#0b272ae8),linear-gradient(90deg,#0b272a55,#0000);position:absolute;inset:0}.atlas-forest>img{object-position:76% 40%}.atlas-orbit>img{object-position:center 44%}.atlas-number{font:12px var(--mono);color:#fff4d9cb;position:absolute;top:23px;left:27px}.atlas-copy{gap:6px;padding-right:30px;display:grid}.atlas-copy>small{font:9px var(--mono);letter-spacing:.05em;color:#e2e9d8}.atlas-copy>strong{letter-spacing:-.035em;font-size:clamp(23px,2.5vw,32px);font-weight:550;line-height:1.13}.atlas-copy>span{color:#e1e6d9;font-size:13px}.atlas-copy>.atlas-progress{color:#c7d6cc;margin-top:10px;font-size:10px}.atlas-arrow{border:1px solid #e2ecdd4d;border-radius:50%;place-items:center;width:36px;height:36px;transition:background .2s,transform .2s;display:grid;position:absolute;bottom:27px;right:24px}.atlas-world:hover .atlas-arrow{background:#d7e7d91a;transform:translate(3px)}.course-section{margin-top:70px;scroll-margin-top:25px}.level-list{gap:10px}.level-block{box-shadow:none;background:#ffffff03;border-radius:13px}.level-block.is-open{background:#1b2b2c;border-color:#b8d9bb50}.level-mark{color:var(--accent);background:#e2ebda09;border-radius:9px}.level-heading-copy strong{font-size:17px;font-weight:550}.level-heading-copy small{font:11px var(--display);margin-top:4px}.lesson-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-left:20px}.lesson-button{background:#0c1b1c4a;border-radius:9px;min-height:132px;padding:15px}.lesson-button.is-recommended{background:#c1ddbe0a;border-color:#bddbbb90}.lesson-status{letter-spacing:.01em;font-size:8px;font-weight:500}.lesson-button>strong{font-size:14px;font-weight:550}.lesson-meta{font-size:11px}.lesson-button .stars{margin-top:2px}.learning-guide{border-block:1px solid var(--line);grid-template-columns:.75fr 1.25fr;gap:80px;margin-top:80px;padding:44px 0;display:grid}.learning-guide h2{letter-spacing:-.045em;max-width:10ch;margin-top:16px;font-size:clamp(30px,3.4vw,45px);font-weight:550;line-height:1.13}.learning-guide ol{gap:28px;list-style:none;display:grid}.learning-guide li{align-items:start;gap:20px;display:flex}.guide-icon{width:42px;height:42px;color:var(--accent);border:1px solid var(--line);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.learning-guide h3{margin-bottom:7px;font-size:18px;font-weight:500}.learning-guide p:not(.eyebrow){color:var(--ink-soft);max-width:51ch;font-size:14px;line-height:1.7}.parent-guide{grid-template-columns:.75fr 1.25fr;gap:80px;margin-top:55px;display:grid}.parent-guide h2{letter-spacing:-.025em;font-size:25px;font-weight:500}.parent-guide details{border-bottom:1px solid var(--line)}.parent-guide summary{cursor:pointer;justify-content:space-between;gap:12px;padding:17px 0;font-size:15px;display:flex}.parent-guide summary::marker{display:none}.parent-guide summary::-webkit-details-marker{display:none}.parent-guide summary>span{color:var(--accent);font-size:19px;line-height:1}.parent-guide details[open] summary>span{transform:rotate(45deg)}.parent-guide details p{color:var(--ink-soft);max-width:56ch;padding-bottom:20px;font-size:14px;line-height:1.75}.parent-guide summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.game-tile{isolation:isolate;background:#162b2d}.game-tile-landscape{object-fit:cover;opacity:.23;z-index:-2;width:100%;height:100%;position:absolute;top:0;right:0}.game-tile:after{z-index:-1;background:linear-gradient(90deg,#102527f0,#10252766);border:0;border-radius:0;width:auto;height:auto;inset:0}.site-footer{width:min(100%,1320px);margin-inline:auto;padding-inline:clamp(20px,3vw,44px);font-size:10px}@media (width<=980px){.site-header{min-height:0;padding-block:22px 10px}.website-hero{grid-template-columns:1fr 1fr;gap:30px}.website-hero h1{font-size:48px}.website-hero .continue-copy>p:not(.eyebrow){font-size:15px}.destination-preview{border-top-left-radius:80px;height:380px}.hero-actions{gap:18px}.learning-guide,.parent-guide{gap:40px}}@media (width<=720px){.site-header{padding:18px 20px 10px}.brand{font-size:29px}.main-nav{gap:4px}.menu-main{padding-top:10px}.website-hero{grid-template-columns:1fr;gap:29px;padding-bottom:22px}.website-hero h1{max-width:15ch;margin-top:17px;font-size:clamp(44px,10.5vw,60px)}.website-hero .continue-copy>p:not(.eyebrow){max-width:45ch;margin-top:17px}.hero-actions{gap:17px;margin-top:23px}.hero-actions .button{min-height:48px;font-size:14px}.website-hero .continue-copy>.hero-tip{font-size:11px}.destination-preview{border-radius:60px 14px 14px;height:280px}.destination-explorer{width:125px;top:21%}.destination-caption{bottom:22px;left:23px}.destination-caption strong{font-size:25px}.website-promises{gap:13px 25px;padding-block:8px 24px;font-size:11px}.section-heading{gap:14px}.section-heading h2{font-size:32px}.world-atlas,.course-section{margin-top:43px}.atlas-grid{grid-template-rows:none;grid-template-columns:1fr;gap:12px}.atlas-world,.atlas-world:first-child{grid-row:auto;min-height:238px;padding:24px}.atlas-copy>strong{font-size:27px}.atlas-ocean>img{object-position:center 45%}.atlas-number{top:18px;left:24px}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:12px}.lesson-button{gap:8px 4px;min-height:140px;padding:12px}.lesson-status{font-size:7px}.level-header{padding:16px 12px}.level-heading-copy strong{font-size:15px}.level-mark{width:36px;height:36px}.learning-guide{grid-template-columns:1fr;gap:28px;margin-top:45px;padding-block:30px}.learning-guide h2{max-width:17ch}.parent-guide{grid-template-columns:1fr;gap:17px;margin-top:35px}.learning-guide li{gap:16px}.site-footer{align-items:start}}@media (prefers-reduced-motion:reduce){.atlas-world img,.atlas-arrow{transition:none}}
