:root{--cream: #FCF4E4;--cream-2: #F6ECD8;--paper: #FFFBF3;--paper-2: #F3E7CF;--line: #E6D9BF;--line-strong: #CDBB96;--blue: #143C9C;--blue-deep: #0E2C78;--blue-tint: #E7EDF9;--blue-tint-2: #D3DDF4;--saffron: #F69C10;--saffron-deep: #D9840A;--gold: #FCC464;--gold-tint: #FDEBC4;--red: #DC3C2C;--red-tint: #FBE3DF;--teal: #74ACA4;--teal-tint: #E1EFEC;--sage: #748454;--sage-tint: #E6EADB;--ink: #22252E;--ink-2: #4A4D58;--muted: #6E6A5E;--on-blue: #FFFBF3;--font-text: "Fixel Text", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Fixel Display", "Fixel Text", system-ui, sans-serif;--font-letter: "Fixel Text", "Inter", system-ui, sans-serif;--fs-0: .8125rem;--fs-1: .9375rem;--fs-2: 1.0625rem;--fs-3: 1.25rem;--fs-4: 1.5rem;--fs-5: 2rem;--fs-6: 2.75rem;--fs-7: clamp(3rem, 8vw, 4.5rem);--fs-letter: clamp(5.5rem, 22vw, 10rem);--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4rem;--r-1: 10px;--r-2: 16px;--r-3: 24px;--r-pill: 999px;--shadow-1: 0 1px 0 rgba(70, 48, 10, .06), 0 6px 18px -10px rgba(70, 48, 10, .25);--shadow-2: 0 2px 0 rgba(70, 48, 10, .06), 0 18px 40px -18px rgba(70, 48, 10, .35);--shadow-paper: 2px 3px 0 rgba(70, 48, 10, .1);--max-w: 1080px;--nav-h: 64px;--tap: 48px;--ease: cubic-bezier(.2,.8,.2,1);--t-fast: .14s;--t-med: .26s}@media(prefers-reduced-motion:reduce){:root{--t-fast: 0ms;--t-med: 0ms}}@font-face{font-family:Fixel Text;font-weight:400;font-display:swap;src:url(../fonts/FixelText-Regular.woff2) format("woff2")}@font-face{font-family:Fixel Text;font-weight:500;font-display:swap;src:url(../fonts/FixelText-Medium.woff2) format("woff2")}@font-face{font-family:Fixel Text;font-weight:600;font-display:swap;src:url(../fonts/FixelText-SemiBold.woff2) format("woff2")}@font-face{font-family:Fixel Text;font-weight:700;font-display:swap;src:url(../fonts/FixelText-Bold.woff2) format("woff2")}@font-face{font-family:Fixel Display;font-weight:500;font-display:swap;src:url(../fonts/FixelDisplay-Medium.woff2) format("woff2")}@font-face{font-family:Fixel Display;font-weight:700;font-display:swap;src:url(../fonts/FixelDisplay-Bold.woff2) format("woff2")}@font-face{font-family:Fixel Display;font-weight:800;font-display:swap;src:url(../fonts/FixelDisplay-ExtraBold.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font-text);font-size:var(--fs-2);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100dvh}img,svg,video{display:block;max-width:100%}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:2px}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.12;margin:0;letter-spacing:-.01em;color:var(--ink)}h1{font-size:var(--fs-7);font-weight:800;letter-spacing:-.02em}h2{font-size:var(--fs-5)}h3{font-size:var(--fs-3)}p{margin:0}:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}.skip-link{position:absolute;left:-999px;top:8px;background:var(--blue);color:var(--on-blue);padding:8px 12px;border-radius:var(--r-1);z-index:100}.skip-link:focus{left:8px}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.uk{font-family:var(--font-letter);font-feature-settings:"locl" 1}.uk:lang(uk){font-family:var(--font-letter)}.stress{position:relative}.stress:after{content:"";position:absolute;left:50%;top:-.08em;width:.16em;height:.16em;border-radius:50%;background:var(--saffron-deep);transform:translate(-50%)}.wrap{width:min(100% - 2rem,var(--max-w));margin-inline:auto}.page{padding-block:var(--s-5) calc(var(--nav-h) + var(--s-8))}@media(min-width:900px){.page{padding-block:var(--s-6) var(--s-8)}}.stack>*+*{margin-top:var(--s-4)}.stack-lg>*+*{margin-top:var(--s-6)}.row{display:flex;gap:var(--s-3);align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.center{text-align:center}.muted{color:var(--muted)}.small{font-size:var(--fs-1)}.eyebrow{font-size:var(--fs-0);text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:var(--blue)}.topbar{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--cream) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h);gap:var(--s-4)}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--font-display);font-weight:800;font-size:var(--fs-3);letter-spacing:-.01em}.brand img{width:36px;height:36px}.brand .uk{font-weight:700;color:var(--blue)}.nav-desktop{display:none;gap:var(--s-1)}.nav-desktop a{text-decoration:none;color:var(--ink-2);padding:8px 14px;border-radius:var(--r-pill);font-weight:500}.nav-desktop a:hover{background:var(--paper-2)}.nav-desktop a[aria-current=page]{background:var(--blue);color:var(--on-blue)}.nav-mobile{position:fixed;left:0;right:0;bottom:0;z-index:40;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--paper);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr)}.nav-mobile a{display:grid;place-items:center;gap:2px;text-decoration:none;color:var(--muted);font-size:.72rem;font-weight:600;padding-top:6px}.nav-mobile a svg{width:24px;height:24px}.nav-mobile a[aria-current=page]{color:var(--blue)}@media(min-width:900px){.nav-desktop{display:flex}.nav-mobile{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--tap);padding:0 22px;border-radius:var(--r-pill);font-weight:600;text-decoration:none;transition:transform var(--t-fast) var(--ease),background var(--t-fast),box-shadow var(--t-fast);border:2px solid transparent}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--blue);color:var(--on-blue);box-shadow:var(--shadow-1)}.btn-primary:hover{background:var(--blue-deep)}.btn-secondary{background:var(--paper);color:var(--blue);border-color:var(--blue-tint-2)}.btn-secondary:hover{background:var(--blue-tint)}.btn-ghost{color:var(--ink-2)}.btn-ghost:hover{background:var(--paper-2)}.btn-saffron{background:var(--saffron);color:var(--ink)}.btn-saffron:hover{background:var(--saffron-deep)}.btn-lg{min-height:56px;padding:0 28px;font-size:var(--fs-3)}.btn-sm{min-height:40px;padding:0 14px;font-size:var(--fs-1)}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.icon-btn{display:inline-grid;place-items:center;width:var(--tap);height:var(--tap);border-radius:50%;color:var(--blue);background:var(--paper);border:1px solid var(--line)}.icon-btn:hover{background:var(--blue-tint)}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-3);box-shadow:var(--shadow-1);padding:var(--s-5)}.card-flat{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-2);padding:var(--s-4)}.card-saffron{background:var(--saffron);color:var(--ink);border:0}.card-blue{background:var(--blue);color:var(--on-blue);border:0}.card-blue h2,.card-blue h3{color:var(--on-blue)}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--r-pill);font-size:var(--fs-0);font-weight:600;background:var(--paper-2);color:var(--ink-2)}.chip-blue{background:var(--blue-tint);color:var(--blue)}.chip-gold{background:var(--gold-tint);color:#7a4e00}.chip-red{background:var(--red-tint);color:#8e2217}.chip-teal{background:var(--teal-tint);color:#2f5f59}.chip-sage{background:var(--sage-tint);color:#3f4d2a}.hero{position:relative;overflow:hidden;border-radius:var(--r-3);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-2)}.hero-art{width:100%;aspect-ratio:5 / 4;object-fit:cover;object-position:left center}.hero h1{font-size:clamp(2rem,7.5vw,3.1rem)}.hero-copy{padding:var(--s-5);display:grid;gap:var(--s-4);align-content:center}.hero h1 .uk{color:var(--blue)}.hero-actions{display:flex;flex-direction:column;gap:var(--s-3);align-items:stretch}@media(min-width:720px){.hero-actions{align-items:flex-start}}@media(min-width:720px){.hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center}.hero-art{aspect-ratio:3 / 2;object-position:left center;height:100%}.hero-copy{padding:var(--s-7) var(--s-6) var(--s-7) 0}.hero-actions{flex-direction:row}}@media(min-width:720px){.hero{grid-template-columns:1fr}.hero-art{aspect-ratio:3 / 2;width:100%;object-position:left center}.hero-copy{position:absolute;right:0;top:0;bottom:0;width:46%;padding:var(--s-6) var(--s-6) var(--s-6) 0;justify-content:center}.hero h1{font-size:clamp(2rem,3.4vw,3.1rem)}.hero-actions .btn-lg{min-height:52px;padding:0 22px;font-size:var(--fs-2);white-space:nowrap}}.home-grid{display:grid;gap:var(--s-4)}@media(min-width:720px){.home-grid{grid-template-columns:1fr 1fr 1fr}}.feature{display:grid;gap:var(--s-2)}.feature img{width:72px;height:72px;object-fit:contain}.resume{display:grid;gap:var(--s-3);grid-template-columns:auto 1fr;align-items:center}.resume img{width:64px;height:64px;object-fit:contain}.letter-card{display:grid;gap:var(--s-5)}.letter-pair{display:flex;align-items:baseline;justify-content:center;gap:.15em;font-size:var(--fs-letter);line-height:1;font-weight:500;color:var(--blue);font-family:var(--font-letter)}.letter-pair .lower{font-size:.78em;color:var(--blue-deep);opacity:.9}.letter-stage{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-3);padding:var(--s-6) var(--s-4);text-align:center;overflow:hidden}.letter-stage:before{content:"";position:absolute;inset:auto -20% -60%;height:70%;background:radial-gradient(ellipse at center,var(--gold-tint) 0%,transparent 65%);pointer-events:none}.letter-stage>*{position:relative}.letter-name{margin-top:var(--s-3);font-size:var(--fs-3);color:var(--ink-2)}.letter-name b{color:var(--ink)}.lookalike{display:inline-flex;align-items:center;gap:8px;margin-top:var(--s-3)}.letter-facts{display:grid;gap:var(--s-3)}.fact{display:grid;grid-template-columns:28px 1fr;gap:var(--s-3);align-items:start}.fact svg{width:24px;height:24px;color:var(--saffron-deep);margin-top:2px}.fact-k{font-size:var(--fs-0);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600}.example{display:grid;grid-template-columns:1fr;gap:var(--s-4);align-items:center}.example img{width:100%;max-width:260px;margin-inline:auto;aspect-ratio:1;object-fit:contain}.example-word{font-size:var(--fs-6);font-weight:600;color:var(--ink);line-height:1.1}.example-word .hl{color:var(--red)}@media(min-width:720px){.letter-card{grid-template-columns:1fr 1fr;align-items:start}.example{grid-template-columns:180px 1fr}.example img{max-width:180px}}.pager{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.dots{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.dots button{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:600;color:var(--ink-2);background:var(--paper);border:1px solid var(--line);font-family:var(--font-letter)}.dots button[aria-current=true]{background:var(--blue);color:var(--on-blue);border-color:var(--blue)}.dots button.seen{border-color:var(--saffron)}.audio-btn{display:inline-flex;align-items:center;gap:10px;min-height:var(--tap);padding:6px 16px 6px 8px;border-radius:var(--r-pill);background:var(--paper);border:1px solid var(--line);color:var(--blue);font-weight:600}.audio-btn:hover{background:var(--blue-tint)}.audio-btn img{width:36px;height:36px;object-fit:contain}.audio-btn[data-state=playing]{background:var(--gold-tint);border-color:var(--gold)}.audio-btn[data-state=unavailable]{color:var(--muted)}.audio-note{font-size:var(--fs-0);color:var(--muted)}.filters{display:flex;gap:var(--s-2);flex-wrap:wrap}.filters button{min-height:40px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--paper);font-weight:600;font-size:var(--fs-1);color:var(--ink-2)}.filters button[aria-pressed=true]{background:var(--blue);color:var(--on-blue);border-color:var(--blue)}.alpha-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:var(--s-3)}.tile{position:relative;display:grid;place-items:center;aspect-ratio:1;border-radius:var(--r-2);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-paper);font-family:var(--font-letter);font-size:clamp(1.9rem,6vw,2.6rem);font-weight:500;color:var(--blue);transition:transform var(--t-fast) var(--ease),background var(--t-fast)}.tile:hover{transform:translateY(-2px);background:var(--blue-tint)}.tile .lc{font-size:.6em;color:var(--ink-2);margin-left:.1em}.tile.dim{opacity:.35}.tile .mark{position:absolute;top:6px;right:6px;width:10px;height:10px;border-radius:50%}.tile .mark.seen{background:var(--saffron)}.tile .mark.revisit{background:var(--red)}.tile .mark.strong{background:var(--sage)}.legend{display:flex;gap:var(--s-4);flex-wrap:wrap;font-size:var(--fs-0);color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}.sheet-backdrop{position:fixed;inset:0;background:#22252e73;z-index:60;display:grid;align-items:end;justify-items:center}@media(min-width:720px){.sheet-backdrop{align-items:center}}.sheet{width:100%;max-width:760px;max-height:92dvh;overflow:auto;background:var(--cream);border-radius:var(--r-3) var(--r-3) 0 0;padding:var(--s-5);box-shadow:var(--shadow-2);animation:rise var(--t-med) var(--ease)}@media(min-width:720px){.sheet{border-radius:var(--r-3)}}@keyframes rise{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s-4)}.mode-grid{display:grid;gap:var(--s-4)}@media(min-width:720px){.mode-grid{grid-template-columns:1fr 1fr}}.mode{display:grid;grid-template-columns:64px 1fr;gap:var(--s-4);align-items:center;text-align:left;border-radius:var(--r-3);padding:var(--s-4);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-1);transition:transform var(--t-fast) var(--ease)}.mode:hover{transform:translateY(-2px)}.mode img{width:64px;height:64px;object-fit:contain}.mode[aria-disabled=true]{opacity:.6}.q-prompt{text-align:center;display:grid;gap:var(--s-3);justify-items:center}.q-letter{font-family:var(--font-letter);font-size:var(--fs-letter);line-height:1;color:var(--blue);font-weight:500}.q-sound{font-size:var(--fs-5);font-weight:600;max-width:24ch}.options{display:grid;gap:var(--s-3);grid-template-columns:1fr 1fr}.opt{min-height:72px;padding:var(--s-3);border-radius:var(--r-2);background:var(--paper);border:2px solid var(--line);font-weight:600;font-size:var(--fs-2);text-align:center;display:grid;place-items:center;transition:transform var(--t-fast) var(--ease),border-color var(--t-fast),background var(--t-fast)}.opt.uk{font-size:var(--fs-5);font-weight:500;color:var(--blue)}.opt:hover:not([disabled]){border-color:var(--blue-tint-2);background:var(--blue-tint)}.opt{position:relative}.opt[data-result]{border-width:3px}.opt[data-result=correct],.opt[data-result=answer],.scene.has-art .opt[data-result=correct],.scene.has-art .opt[data-result=answer]{border-color:#3f7a2e;background-color:#ddefd3;color:#1f4a14}.opt[data-result=wrong],.scene.has-art .opt[data-result=wrong]{border-color:var(--red);background-color:#f8d6d1;color:#7e1e14}.opt[data-result=correct].uk,.opt[data-result=answer].uk{color:#1f4a14}.opt[data-result=wrong].uk{color:#7e1e14}.opt[data-result]:after{position:absolute;top:-10px;right:-10px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:15px;font-weight:800;color:#fff;border:2px solid var(--paper)}.opt[data-result=correct]:after,.opt[data-result=answer]:after{content:"✓";background:#3f7a2e}.opt[data-result=wrong]:after{content:"✕";background:var(--red)}.opt[data-result=answer]{animation:pulse-ok .7s var(--ease) 1}@keyframes pulse-ok{0%{transform:scale(1)}40%{transform:scale(1.04)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.opt[data-result=answer]{animation:none}}.opt[disabled]{cursor:default}.feedback{display:grid;grid-template-columns:84px 1fr;gap:var(--s-4);align-items:center;padding:var(--s-4);border-radius:var(--r-3)}.feedback img{width:84px;height:84px;object-fit:contain}.feedback.ok{background:var(--sage-tint);border-left:6px solid #3F7A2E}.feedback.no{background:var(--gold-tint);border-left:6px solid var(--red)}.feedback.ok h3{color:#1f4a14}.feedback.no h3{color:#7e1e14}.feedback h3{margin-bottom:4px}.progress-bar{height:8px;border-radius:99px;background:var(--paper-2);overflow:hidden}.progress-bar>i{display:block;height:100%;background:var(--blue);border-radius:99px;transition:width var(--t-med) var(--ease)}.match-board{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-3)}@media(min-width:720px){.match-board{grid-template-columns:repeat(6,1fr)}}.match-tile{aspect-ratio:1;border-radius:var(--r-2);background:var(--paper);border:2px solid var(--line);display:grid;place-items:center;font-family:var(--font-letter);font-size:clamp(1.6rem,6vw,2.4rem);color:var(--blue);font-weight:500;transition:transform var(--t-fast) var(--ease)}.match-tile[aria-pressed=true]{border-color:var(--blue);background:var(--blue-tint);transform:scale(1.04)}.match-tile[data-done=true]{opacity:.35;border-color:var(--sage)}.match-tile[data-wrong=true]{border-color:var(--red);animation:shake var(--t-med)}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.result{text-align:center;display:grid;gap:var(--s-4);justify-items:center}.result img{width:160px;height:160px;object-fit:contain}.score{font-family:var(--font-display);font-size:var(--fs-7);font-weight:800;color:var(--blue);line-height:1}.stat-grid{display:grid;gap:var(--s-4);grid-template-columns:1fr 1fr}@media(min-width:720px){.stat-grid{grid-template-columns:repeat(4,1fr)}}.stat{display:grid;gap:4px}.stat b{font-family:var(--font-display);font-size:var(--fs-6);color:var(--blue);line-height:1}.stat span{font-size:var(--fs-0);color:var(--muted)}.ring{width:120px;height:120px}.ring circle{fill:none;stroke-width:10}.ring .bg{stroke:var(--paper-2)}.ring .fg{stroke:var(--blue);stroke-linecap:round;transition:stroke-dashoffset var(--t-med) var(--ease)}.danger{color:var(--red)}.footer{border-top:1px solid var(--line);margin-top:var(--s-8);padding:var(--s-6) 0 var(--s-6);color:var(--muted);font-size:var(--fs-1)}.footer a{color:var(--ink-2)}.toast{position:fixed;left:50%;bottom:calc(var(--nav-h) + 16px + env(safe-area-inset-bottom));transform:translate(-50%);background:var(--ink);color:var(--cream);padding:12px 16px;border-radius:var(--r-2);box-shadow:var(--shadow-2);z-index:80;display:flex;gap:12px;align-items:center;max-width:min(92vw,520px)}@media(min-width:900px){.toast{bottom:24px}}.toast button{color:var(--gold);font-weight:700}.mascot{object-fit:contain}.mascot-sing{animation:bob 2.4s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.mascot-sing{animation:none}}.divider{display:flex;align-items:center;gap:var(--s-3);color:var(--line-strong);margin-block:var(--s-6)}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.divider svg{width:22px;height:22px;color:var(--saffron)}.grid-2{display:grid;gap:var(--s-4)}@media(min-width:720px){.grid-2{grid-template-columns:1fr 1fr}}.note{border-left:3px solid var(--saffron);padding:var(--s-2) var(--s-4);background:var(--gold-tint);border-radius:0 var(--r-1) var(--r-1) 0;font-size:var(--fs-1)}.kbd{font-family:ui-monospace,monospace;background:var(--paper-2);padding:1px 6px;border-radius:6px;font-size:.85em}body{background-color:var(--cream);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .40 0 0 0 0 .32 0 0 0 0 .18 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-attachment:fixed}.scene{position:relative;isolation:isolate;min-height:calc(100dvh - var(--nav-h))}.scene-art{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none;transition:opacity .22s var(--ease)}.scene-art.is-fading{opacity:0}.scene-img{position:absolute;left:0;right:0;bottom:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 100%;animation:scene-in .6s var(--ease) both}@keyframes scene-in{0%{opacity:0}to{opacity:1}}@media(max-width:719px),(max-aspect-ratio:4/5){.scene-art{position:fixed;top:var(--nav-h);bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));left:0;right:0}@media(min-width:900px){.scene-art{bottom:0}}.scene-img{width:100%;left:0;right:0;height:auto;max-height:100%;object-fit:contain;object-position:50% 100%;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 22%);mask-image:linear-gradient(to bottom,transparent 0,#000 22%)}.scene-img.has-portrait{width:100%;left:0;height:auto;max-height:none;object-fit:fill}}.scene-veil{position:absolute;inset:0;background:radial-gradient(ellipse 58% 78% at 50% 42%,#fcf4e4c7,#fcf4e48c 55%,#fcf4e400 78%),linear-gradient(to bottom,#fcf4e48c,#fcf4e400 30%)}@media(max-width:719px){.scene-veil{background:linear-gradient(to bottom,#fcf4e4b3,#fcf4e473 45%,#fcf4e426 75%,#fcf4e400)}}.scene.no-art .scene-veil{display:none}.scene-content{position:relative;z-index:1}.scene.has-art .card,.scene.has-art .card-flat,.scene.has-art .opt,.scene.has-art .letter-stage,.scene.has-art .dots button,.scene.has-art .audio-btn,.scene.has-art .btn-secondary{background-color:#fffbf3d6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.scene.has-art .letter-stage:before{display:none}.scene.has-art .progress-bar{background:#fffbf3b3}.sheet .scene{min-height:0;margin:calc(-1 * var(--s-5));padding:var(--s-5);border-radius:inherit;overflow:hidden}.sheet .scene-art{border-radius:inherit}.scene-layer{position:absolute;height:auto;will-change:transform;transform-origin:50% 100%}.anim-sway{animation:sway 6s ease-in-out infinite alternate}.anim-bob{animation:bob-y 7s ease-in-out infinite}.anim-drift{animation:drift 40s linear infinite alternate}.anim-float{animation:float 12s ease-in-out infinite alternate}.anim-shimmer{animation:shimmer 5s ease-in-out infinite alternate}@keyframes sway{0%{transform:rotate(-1.6deg)}to{transform:rotate(1.6deg)}}@keyframes bob-y{0%,to{transform:translateY(0)}50%{transform:translateY(-1.2%)}}@keyframes drift{0%{transform:translate(-2%)}to{transform:translate(2%)}}@keyframes float{0%{transform:translate(0)}to{transform:translate(1.5%,-1%)}}@keyframes shimmer{0%{opacity:.85}to{opacity:1}}@media(prefers-reduced-motion:reduce){.scene-layer,.scene-img{animation:none!important}.scene-art{transition:none}}@media(max-width:719px){.quiz{padding-top:var(--s-3);padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + var(--s-3))}.quiz.stack-lg>*+*{margin-top:var(--s-3)}.quiz .q-prompt{gap:var(--s-2)}.quiz .q-prompt>p{font-size:var(--fs-1)}.quiz .q-letter{font-size:clamp(4rem,20vw,5.5rem)}.quiz .q-sound{font-size:var(--fs-4)}.quiz .options{gap:var(--s-2)}.quiz .opt{min-height:60px;padding:var(--s-2);font-size:var(--fs-1)}.quiz .opt.uk{font-size:var(--fs-4)}.quiz .kbd-tip{display:none}.quiz .match-board{gap:var(--s-2)}.quiz .feedback{position:fixed;left:var(--s-3);right:var(--s-3);bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + var(--s-3));z-index:30;grid-template-columns:64px 1fr;gap:var(--s-3);padding:var(--s-3);box-shadow:var(--shadow-2);animation:rise var(--t-med) var(--ease);background-color:#e6eadbf5;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.quiz .feedback.no{background-color:#fdebc4f5}.quiz .feedback img{width:64px;height:64px}.quiz .feedback h3{font-size:var(--fs-2)}.quiz .feedback p{font-size:var(--fs-0)}.quiz .feedback .small.muted{display:none}}@media(hover:none)and (pointer:coarse){.kbd-tip{display:none}}@media(max-width:719px){.toast{top:calc(var(--nav-h) + 12px);bottom:auto}}@media(max-width:719px){.footer{display:none}.scene{min-height:calc(100dvh - var(--nav-h) * 2 - env(safe-area-inset-bottom))}.page{padding-top:var(--s-4);padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + var(--s-4))}.stack-lg>*+*{margin-top:var(--s-5)}.card{padding:var(--s-4);border-radius:var(--r-2)}.card-flat{padding:var(--s-3)}h2{font-size:1.6rem}.eyebrow{font-size:.72rem}.letter-pair{font-size:clamp(4.25rem,24vw,6rem)}.letter-stage{padding:var(--s-4) var(--s-3)}.letter-name{margin-top:var(--s-2);font-size:var(--fs-2)}.letter-stage .row{gap:var(--s-2)}.letter-stage .audio-btn{padding:4px 12px 4px 6px;min-height:42px;font-size:var(--fs-1)}.letter-stage .audio-btn img{width:30px;height:30px}.letter-facts{gap:var(--s-2)}.fact{grid-template-columns:22px 1fr;gap:var(--s-2)}.fact svg{width:20px;height:20px}.fact p,.fact div>div:not(.fact-k){font-size:var(--fs-1)}.example{grid-template-columns:112px 1fr;gap:var(--s-3);align-items:center}.example img{max-width:112px}.example-word{font-size:var(--fs-5)}.dots{gap:5px}.dots button{width:34px;height:34px;font-size:var(--fs-1)}.pager .btn{padding:0 16px}.hero-copy{padding:var(--s-4);gap:var(--s-3)}.hero h1{font-size:clamp(1.7rem,7vw,2.2rem)}.hero-copy>p{font-size:var(--fs-1)}.hero-actions .btn-lg{min-height:50px;font-size:var(--fs-2)}.home-grid{gap:var(--s-3)}.feature{gap:var(--s-1)}.feature .uk{font-size:1.4rem!important}.feature h3{font-size:var(--fs-2)}.feature .progress-bar{height:6px}.resume{gap:var(--s-3)}.alpha-grid{grid-template-columns:repeat(6,1fr);gap:var(--s-2)}.tile{font-size:1.45rem;border-radius:var(--r-1)}.tile .mark{width:8px;height:8px;top:4px;right:4px}.filters button{min-height:36px;padding:0 12px;font-size:var(--fs-0)}.legend{gap:var(--s-3)}.sheet{padding:var(--s-4);max-height:94dvh}.sheet .scene{margin:calc(-1 * var(--s-4));padding:var(--s-4)}.mode{grid-template-columns:52px 1fr;gap:var(--s-3);padding:var(--s-3);border-radius:var(--r-2)}.mode img{width:52px;height:52px}.mode h3{font-size:var(--fs-2)}.mode p{font-size:var(--fs-0)}.mode-grid{gap:var(--s-3)}.quiz .feedback{left:var(--s-4);right:var(--s-4)}.stat b{font-size:var(--fs-5)}.ring{width:96px;height:96px}.progress .card{padding:var(--s-4)}.result img{width:120px;height:120px}.score{font-size:3rem}}@media(max-width:719px){.letter-stage .row{flex-direction:column;align-items:center}.letter-stage .row>span{justify-items:center!important;text-align:center}.audio-note{font-size:.72rem;max-width:30ch}.example .audio-note{text-align:left}}.phone-only{display:none}@media(max-width:719px){.desktop-only{display:none!important}.phone-only{display:initial}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;border:1px solid var(--line);border-radius:var(--r-pill);overflow:hidden;background:#fffbf3d6}.seg button{min-height:40px;font-weight:600;font-size:var(--fs-1);color:var(--ink-2)}.seg button+button{border-left:1px solid var(--line)}.seg button[aria-pressed=true]{background:var(--blue);color:var(--on-blue)}.seg button[disabled]{opacity:.4}.mode-grid.four{grid-template-columns:1fr 1fr;gap:var(--s-3)}.mode-grid.four .mode{grid-template-columns:1fr;justify-items:center;text-align:center;padding:var(--s-3) var(--s-2);gap:var(--s-2)}.mode-grid.four .mode img{width:56px;height:56px}.mode-grid.four .mode p{display:none}.practice-menu h2{font-size:1.4rem}.learn-title{font-size:1.25rem}.dots{display:none}.lc-stage{padding:var(--s-3) var(--s-3) var(--s-3)}.lc .letter-pair{font-size:clamp(3.6rem,19vw,4.6rem)}.lc-line{margin-top:2px;font-size:var(--fs-1)}.lc-audio{display:flex;justify-content:center;align-items:center;gap:var(--s-2);margin-top:var(--s-2);flex-wrap:wrap}.lc-audio .audio-btn{min-height:40px;padding:3px 10px 3px 5px;font-size:var(--fs-0)}.lc-audio .audio-btn img{width:28px;height:28px}.lc-audio .audio-btn span:empty{display:none}.lc-audio .audio-note{display:none}.lc-example{display:grid;grid-template-columns:72px 1fr auto;gap:var(--s-3);align-items:center}.lc-example img{width:72px;height:72px;object-fit:contain}.lc-example .audio-btn{min-height:40px;padding:3px 6px}.lc-example .audio-btn img{width:28px;height:28px}.lc-example .audio-note{display:none}.lc-tip{display:grid;grid-template-columns:20px 1fr;gap:var(--s-2);font-size:var(--fs-1);color:var(--ink-2);align-items:start}.lc-tip svg{width:20px;height:20px;color:var(--saffron-deep)}.lc-more{justify-self:start;padding-left:0}.page.learn-page{padding-top:var(--s-3)}.words-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}.word-chip{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px;padding:var(--s-2) var(--s-2) var(--s-2) var(--s-3)}.word-chip-main{text-align:left;display:grid;gap:2px}.word-chip .audio-btn{min-height:36px;padding:2px 4px}.word-chip .audio-btn img{width:26px;height:26px}.word-chip .audio-note{display:none}.fw-banner{padding:var(--s-3)}.fw-banner h3{font-size:var(--fs-2)}.filters{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;margin-inline:calc(-1 * var(--s-4));padding-inline:var(--s-4);scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.filters button{flex:0 0 auto}.hero-art{aspect-ratio:4 / 3}.stat-grid{gap:var(--s-2)}.stat{padding:var(--s-2) var(--s-3)}.stat span{font-size:.72rem}}@media(min-width:720px){.words-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3)}.word-chip{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--s-2)}.word-chip-main{text-align:left;display:grid;gap:2px}.seg{display:inline-flex;gap:var(--s-2)}.seg button{min-height:40px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--paper);font-weight:600;font-size:var(--fs-1);color:var(--ink-2)}.seg button[aria-pressed=true]{background:var(--blue);color:var(--on-blue);border-color:var(--blue)}.seg button[disabled]{opacity:.4}.mode-grid.four{grid-template-columns:1fr 1fr}}@media(max-width:719px){.hero-art{aspect-ratio:16 / 10}.hero-copy>p.muted{display:none}.hero h1{font-size:clamp(1.5rem,6.4vw,1.9rem)}.gp-head{display:flex;justify-content:space-between;align-items:baseline}.gp-head h3{font-size:var(--fs-2)}.gp-letters{font-size:1.2rem;color:var(--blue);letter-spacing:.06em;font-weight:500}.home-grid .feature{padding:var(--s-3) var(--s-4);gap:6px}.home-grid{gap:var(--s-2)}.io-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--s-2)}.io-row .btn{padding:0 8px;font-size:var(--fs-1)}.io-row>span{grid-column:1 / -1}.fw-banner .mascot{display:none}.fw-banner{grid-template-columns:1fr!important}.word-chip{padding:6px 6px 6px var(--s-3)}.progress .ring{width:80px;height:80px}.progress h2{font-size:1.4rem}}@media(min-width:720px){.gp-head{display:flex;justify-content:space-between;align-items:baseline}.gp-letters{font-size:1.9rem;color:var(--blue);letter-spacing:.08em;font-weight:500}}@media(max-width:719px){.page{padding-top:var(--s-2);padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + var(--s-2))}.page h2{font-size:1.3rem}.stack-lg>*+*{margin-top:var(--s-4)}.lc .letter-pair{font-size:clamp(3.3rem,17vw,4.2rem)}.lc-more{min-height:34px}.lc-tip{font-size:var(--fs-0)}.letter-stage{padding-top:var(--s-2);padding-bottom:var(--s-2)}.pager .btn{min-height:44px}.alpha-grid{gap:6px}.legend{font-size:.7rem}.words-grid{gap:6px}.word-chip .example-word{font-size:var(--fs-3)!important}.home-grid .feature{padding:var(--s-2) var(--s-3)}.gp-letters{font-size:1.1rem}}@media(max-width:719px){.home-grid .feature{padding:6px var(--s-3)}.home-grid .feature .progress-bar{height:4px}.fw-banner{padding:var(--s-2) var(--s-3)}.fw-banner p{font-size:.78rem}}@media(max-width:719px){.lc-tip{background:#fffbf3d6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:var(--r-2);padding:var(--s-2) var(--s-3)}.lc-more{background:#fffbf3b3;padding:0 12px;border-radius:var(--r-pill)}}@media(max-width:719px){.phone-only{display:initial}.learn-head .btn-ghost{font-weight:700;color:var(--ink)}.learn-head .chip{white-space:nowrap}.learn-pager{position:fixed;left:var(--s-4);right:var(--s-4);bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 10px);z-index:25}.learn-pager .btn{box-shadow:var(--shadow-2)}.learn-page-fit{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 72px)!important}.lc .letter-pair{font-size:min(17vw,10dvh)}.lc-line{font-size:min(var(--fs-1),2.3dvh);line-height:1.35}.lc-audio{margin-top:min(var(--s-2),1dvh)}.lc-example{grid-template-columns:min(72px,10dvh) 1fr auto}.lc-example img{width:min(72px,10dvh);height:min(72px,10dvh)}.lc-example .example-word{font-size:min(var(--fs-4),3.4dvh)!important}.lc-tip{font-size:min(var(--fs-0),2.1dvh);padding:min(var(--s-2),1.2dvh) var(--s-3)}.lc.stack>*+*{margin-top:min(.6rem,1.4dvh)}.lc-more{min-height:32px;font-size:var(--fs-0)}.lc-stage{padding:min(var(--s-3),1.6dvh) var(--s-3)}.words-grid{grid-template-columns:repeat(3,1fr);gap:6px}.word-chip{grid-template-columns:1fr auto;padding:4px 2px 4px 8px;gap:2px}.word-chip .example-word{font-size:min(var(--fs-3),2.8dvh)!important}.word-chip .audio-btn{min-height:32px;padding:0 2px}.word-chip .audio-btn img{width:24px;height:24px}.word-chip.is-current{border-color:var(--blue)}.fw-meaning{background:#fffbf3d6;border:1px solid var(--line);border-radius:var(--r-2);padding:8px 12px;font-size:var(--fs-1);text-align:center;min-height:40px}.fw-banner{padding:6px var(--s-3)}.fw-banner h3{font-size:min(var(--fs-2),2.6dvh)}.fw-banner p{font-size:min(.78rem,2dvh)}.home-grid .feature{padding:5px var(--s-3);gap:3px}.gp-head h3{font-size:min(var(--fs-2),2.6dvh)}.gp-letters{font-size:min(1.1rem,2.6dvh);letter-spacing:.05em}.home-grid .feature .progress-bar{height:3px}.page h2{font-size:min(1.3rem,3.4dvh)}}@media(max-width:719px)and (max-height:640px){.legend{display:none}.alpha-grid{gap:4px}.tile{font-size:1.25rem}.progress .ring{width:64px;height:64px}.stat{padding:6px 10px}.stat b{font-size:var(--fs-4)}.stat span{font-size:.66rem}.progress .card{padding:var(--s-3)}.progress h2,.page h2{font-size:1.1rem}.io-row .btn{min-height:40px}.home-grid .feature{padding:4px var(--s-3)}.gp-letters{font-size:1rem}.lc-more{display:none}}
