:root{--purple: #6c4fe0;--purple-dark: #5537c9;--purple-soft: #efeaff;--bg: #f7f5ff;--ink: #2a2440;--ink-soft: #6d6689;--card: #ffffff;--line: #e7e2f5;--green: #2fb673;--green-soft: #e3f7ec;--red: #e0524f;--red-soft: #fdecec;--gold: #c9a227;--maroon: #5c1a1b;--thanaka: #f7e7ce;--thanaka-line: #e0c79c;--radius: 16px;--font-latin: "Nunito", system-ui, sans-serif;--font-my: "Padauk", "Noto Sans Myanmar", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-latin),var(--font-my);font-size:16px;line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}#root{max-width:480px;margin:0 auto;min-height:100vh;min-height:100dvh}.my{font-family:var(--font-my);font-size:max(14px,1em);line-height:1.65}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}button:disabled{opacity:.5;cursor:default}.screen{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:16px;animation:fade-in .25s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.card{background:var(--card);border-radius:var(--radius);border:2px solid var(--line);padding:16px}.btn{display:block;width:100%;min-height:52px;border-radius:var(--radius);font-weight:800;font-size:17px;padding:12px 20px;text-align:center;text-decoration:none}.btn-primary{background:var(--purple);color:#fff;box-shadow:0 4px 0 var(--purple-dark)}.btn-primary:active{transform:translateY(2px);box-shadow:0 2px 0 var(--purple-dark)}.btn-green{background:var(--green);color:#fff;box-shadow:0 4px #23935c}.btn-green:active{transform:translateY(2px);box-shadow:0 2px #23935c}.btn-ghost{background:var(--purple-soft);color:var(--purple-dark)}.btn-ghost:active,.btn-outline:active{transform:translateY(1px) scale(.99)}.streak-live svg{transform-box:fill-box;transform-origin:50% 85%;animation:flicker 2.2s ease-in-out infinite}@keyframes flicker{0%,to{transform:scale(1)}30%{transform:scale(1.06,.97) rotate(-1.5deg)}60%{transform:scale(.97,1.05) rotate(1.5deg)}}.btn-outline{background:#fff;border:2px solid var(--line);color:var(--ink);font-weight:700}.hud{display:flex;align-items:center;gap:10px;padding:8px 0 16px}.hud .spacer{flex:1}.hud-stat{display:flex;align-items:center;gap:5px;font-weight:900;font-size:17px;font-variant-numeric:tabular-nums}.hud-stat-button{min-height:36px;padding:4px 6px;border-radius:10px}.hud-stat-button:focus-visible{outline:3px solid #e7c24e;outline-offset:2px}.hud-stat-button:active{background:#fff1dc;transform:translateY(1px)}.level-chip{background:var(--purple-soft);color:var(--purple-dark);border-radius:999px;padding:2px 12px;font-weight:800;font-size:12px;white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.unit-card{margin-bottom:16px;overflow:hidden}.unit-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.unit-title{font-weight:900;font-size:18px}.unit-sub{color:var(--ink-soft);font-size:14px}.badge{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:800}.badge-free{background:var(--green-soft);color:var(--green)}.badge-lock{background:var(--purple-soft);color:var(--purple-dark)}.lesson-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 4px;min-height:56px;border-radius:12px}.lesson-row:not(:disabled):active{background:var(--purple-soft)}.lesson-dot{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:900;flex-shrink:0}.lesson-dot.done{background:var(--green);color:#fff}.lesson-dot.current{background:var(--purple);color:#fff;box-shadow:0 0 0 5px var(--purple-soft);animation:pulse 1.6s infinite}.lesson-dot.locked,.lesson-dot.paywalled{background:var(--line);color:var(--ink-soft)}.lesson-name{font-weight:700}.lesson-name.dim{color:var(--ink-soft)}@keyframes pulse{0%,to{box-shadow:0 0 0 5px var(--purple-soft)}50%{box-shadow:0 0 0 9px var(--purple-soft)}}.lesson-top{display:flex;align-items:center;gap:12px;padding-bottom:6px}.progress-seg{flex:1;display:flex;gap:5px}.progress-seg .seg{flex:1;height:12px;border-radius:999px;background:var(--line);transition:background .3s}.progress-seg .seg.done{background:linear-gradient(135deg,#f4df9a,#e9cd6b);box-shadow:inset 0 -2px #c9a227;transform-origin:left center;animation:seg-pop .45s cubic-bezier(.2,1.4,.4,1)}@keyframes seg-pop{0%{transform:scaleX(.3)}to{transform:scaleX(1)}}.progress-seg .seg.now{background:var(--purple-soft);outline:2px solid var(--purple);outline-offset:-2px;animation:seg-pulse 1.6s ease-in-out infinite}@keyframes seg-pulse{0%,to{opacity:1}50%{opacity:.55}}.lesson-crumb{text-align:center;font-size:12.5px;font-weight:800;color:var(--ink-soft);margin:0 0 10px}.combo-chip{display:inline-flex;align-items:center;gap:3px;margin-left:8px;background:#fff1dc;color:#c46a00;border-radius:999px;font-weight:900;font-size:12.5px;padding:2px 9px;vertical-align:middle;animation:pop-in .35s cubic-bezier(.2,1.6,.4,1)}.lesson-top{position:relative}.xp-pop{position:absolute;right:58px;top:8px;font-weight:900;font-size:14px;color:#c9860a;opacity:0;pointer-events:none;animation:xp-rise .9s ease-out both}@keyframes xp-rise{0%{opacity:0;transform:translateY(8px) scale(.7)}25%{opacity:1;transform:translateY(0) scale(1.1)}to{opacity:0;transform:translateY(-24px) scale(1)}}.hud-stat.xp-run{color:#c9860a;animation:pop-in .3s cubic-bezier(.2,1.6,.4,1)}.combo-flare{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;z-index:40;pointer-events:none;background:radial-gradient(circle at 50% 46%,#fff1dcf0,#fff1dcc7 34%,#fff1dc00 70%);animation:flare-pop 1.3s cubic-bezier(.2,1.4,.4,1) both}.combo-flare-x{font-size:54px;font-weight:900;color:#e08600;line-height:1;text-shadow:0 2px 0 #fff}.combo-flare-line{font-size:16px;font-weight:800;color:#a35f00}@keyframes flare-pop{0%{opacity:0;transform:scale(.72)}14%{opacity:1;transform:scale(1.05)}24%{transform:scale(1)}78%{opacity:1}to{opacity:0;transform:scale(1.02)}}.ex-chip{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;background:var(--purple-soft);color:var(--purple-dark);font-weight:800;font-size:12px;border-radius:999px;padding:4px 12px;margin:0 0 10px}.ex-chip.gold{background:#fbf3d9;color:#8a6d1c}.ex-chip-note{font-weight:700;opacity:.75;margin-left:2px}.ex-focus{display:inline-flex;align-items:center;gap:7px;margin:0 0 10px;padding:5px 10px 5px 12px;background:#fff8e8;border:1.5px solid rgba(214,170,59,.45);border-radius:999px;color:#5f432d;font-size:12px;box-shadow:0 2px 6px #3c2d1414}.ex-focus-label{color:#8a6d1c;font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.ex-focus strong{font-weight:900}.ex-focus .lv-audio-controls{margin:0}.feedback-answer .answer-label{font-weight:800}.progress-track{flex:1;height:14px;background:var(--line);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--purple);border-radius:999px;transition:width .3s ease}.quit-btn{font-size:22px;color:var(--ink-soft);padding:4px 8px}.lesson-screen{padding-bottom:180px}.lesson-screen.feedback-open{padding-bottom:340px}.prompt-en{font-size:20px;font-weight:900;margin:8px 0 2px}.prompt-my{color:var(--ink-soft);margin:0 0 16px}.prompt-my-question{color:var(--ink);font-weight:700;font-size:17px;line-height:1.75;margin:2px 0 16px}.prompt-my-lead{color:var(--ink);font-size:19px;font-weight:800;line-height:1.8;margin:8px 0 2px}.prompt-en-sub{color:var(--ink-soft);font-size:14.5px;font-weight:600;margin:2px 0 14px}.option-btn{display:block;width:100%;text-align:left;background:#fff;border:2px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px;font-weight:700;font-size:16px;min-height:52px;box-shadow:0 3px 0 var(--line)}.option-btn:not(:disabled):active{transform:translateY(2px);box-shadow:0 1px 0 var(--line)}.option-btn.selected{border-color:var(--purple);background:var(--purple-soft);color:var(--purple-dark);box-shadow:0 3px #cdbcf3}.option-btn.option-correct{border-color:var(--green);background:var(--green-soft);color:#1d7a4c;box-shadow:0 3px #bfe0cd;animation:pop-in .3s cubic-bezier(.2,1.4,.4,1)}.option-btn.option-wrong{border-color:var(--red);background:var(--red-soft);color:var(--red);box-shadow:0 3px #f0c4c3;animation:shake .4s ease}.option-btn:disabled{opacity:.55}.option-btn:disabled.selected,.option-btn:disabled.option-correct,.option-btn:disabled.option-wrong{opacity:1}.vocab-art-raster{display:block;object-fit:contain;object-position:center bottom}.img-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}.img-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;aspect-ratio:1 / 1.06;background:linear-gradient(180deg,#fffdf7,#fbf4e2);border:2px solid #ecdfc2;border-radius:20px;padding:14px 10px 12px;font-weight:800;font-size:16px;box-shadow:0 4px #e8dcc0}.img-card svg{width:min(78%,150px);height:auto;flex:0 1 auto;min-height:0}.img-card .vocab-art-raster{width:min(78%,150px);height:min(78%,150px);flex:0 1 auto;min-height:0;object-fit:contain}.img-card:not(:disabled):active{transform:translateY(2px);box-shadow:0 2px #e8dcc0}.img-card.selected{border-color:var(--purple);background:var(--purple-soft);color:var(--purple-dark);box-shadow:0 4px #cdbcf3}.img-card.option-correct{border-color:var(--green);background:var(--green-soft);color:#1d7a4c;box-shadow:0 4px #bfe0cd;animation:pop-in .3s cubic-bezier(.2,1.4,.4,1)}.img-card.option-wrong{border-color:var(--red);background:var(--red-soft);color:var(--red);box-shadow:0 4px #f0c4c3;animation:shake .4s ease}.img-card:disabled{opacity:.55}.img-card:disabled.selected,.img-card:disabled.option-correct,.img-card:disabled.option-wrong{opacity:1}.img-cap{line-height:1.2;font-size:16px;color:var(--ink)}.img-answer{font-size:13px;font-weight:800;color:var(--ink-soft);letter-spacing:.02em}@media(max-height:700px){.img-card{aspect-ratio:auto}.img-card svg{width:min(60%,104px)}.img-card .vocab-art-raster{width:min(60%,104px);height:min(60%,104px)}}.pick-instruction{font-size:14.5px;font-weight:700;color:var(--ink-soft);margin:6px 0 4px}.pick-word{font-size:30px;font-weight:900}.pick-word-audio{display:flex;align-items:center;justify-content:center;gap:10px;width:fit-content;min-height:54px;margin:2px auto 14px;padding:9px 20px;border:2px solid #ecd9ac;border-radius:16px;background:#fffaf0;color:var(--ink);box-shadow:0 3px #e3d5b5}.pick-word-audio:active{transform:translateY(2px);box-shadow:0 1px #e3d5b5}.new-word-tag{display:inline-flex;align-items:center;gap:5px;background:var(--purple-soft);color:var(--purple-dark);border-radius:999px;padding:3px 12px;font-size:11.5px;font-weight:900;letter-spacing:.4px;text-transform:uppercase;margin-bottom:6px;animation:pop-in .35s cubic-bezier(.2,1.6,.4,1)}.fb-slot.slot-good{border-style:solid;border-color:var(--green);background:var(--green-soft);color:#1d7a4c;animation:pop-in .3s cubic-bezier(.2,1.4,.4,1)}.fb-slot.slot-bad{border-style:solid;border-color:var(--red);background:var(--red-soft);color:var(--red)}.wo-answer.v-good{border-color:var(--green)}.wo-answer.v-good .chip{border-color:var(--green);background:var(--green-soft);color:#1d7a4c}.wo-answer.v-bad{border-color:var(--red);animation:shake .4s ease}.wo-answer.v-bad .chip{border-color:var(--red);background:var(--red-soft);color:var(--red)}.speak-target.v-good{border-color:var(--green);background:var(--green-soft)}.speak-target.v-bad{border-color:var(--red);background:var(--red-soft)}.match-grid{display:flex;gap:12px;margin-top:10px}.match-col{flex:1;display:flex;flex-direction:column;gap:10px}.match-tile{width:100%;min-height:52px;padding:12px 10px;border:2px solid var(--line);border-radius:var(--radius);background:#fff;font-weight:700;font-size:16px;line-height:1.45;overflow-wrap:break-word;box-shadow:0 3px 0 var(--line);transition:opacity .25s,transform .08s}.match-tile:not(:disabled):active{transform:translateY(2px);box-shadow:0 1px 0 var(--line)}.match-tile.picture{min-height:88px;padding:6px;display:flex;align-items:center;justify-content:center}.match-tile.sel{border-color:var(--purple);background:var(--purple-soft);color:var(--purple-dark);box-shadow:0 3px #cdbcf3}.match-tile.bad{border-color:var(--red);background:var(--red-soft);color:var(--red);animation:shake .4s ease}.match-tile.matched{border-color:var(--green);background:var(--green-soft);color:#1d7a4c;opacity:.45;box-shadow:none;transition:opacity .3s ease,background .3s ease}.match-tile.matched.just{opacity:1;background:var(--green);border-color:var(--green);color:#fff;animation:pair-pop .55s cubic-bezier(.2,1.5,.4,1)}@keyframes pair-pop{0%{transform:scale(.96)}45%{transform:scale(1.07)}to{transform:scale(1)}}.say-chip{display:inline-flex;align-items:center;gap:7px;margin:2px 0 10px;padding:7px 14px;border-radius:999px;background:var(--purple-soft);color:var(--purple-dark);font-weight:800;font-size:14px;cursor:pointer;box-shadow:0 2px #cdbcf3}.say-chip:active{transform:translateY(1px);box-shadow:0 1px #cdbcf3}.say-phon{font-size:12.5px;color:var(--ink-soft);font-weight:700}.match-done{text-align:center;color:#1d7a4c;font-weight:800;font-size:14px;margin-top:14px;animation:pop-in .3s cubic-bezier(.2,1.4,.4,1)}.wo-answer{min-height:58px;border-bottom:2px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;padding:8px 0;margin-bottom:20px}.wo-bank{display:flex;flex-wrap:wrap;gap:8px}.chip{background:#fff;border:2px solid var(--line);border-radius:12px;padding:10px 14px;font-weight:800;font-size:16px;min-height:44px;box-shadow:0 3px 0 var(--line)}.chip:not(.used):active{transform:translateY(2px);box-shadow:0 1px 0 var(--line)}.chip.in-answer{border-color:var(--purple);background:var(--purple-soft);color:var(--purple-dark);box-shadow:0 3px #cdbcf3;animation:pop-in .22s cubic-bezier(.2,1.4,.4,1)}.chip.used{color:transparent;background:var(--bg);border-style:dashed;box-shadow:none;pointer-events:none}.chip:disabled:not(.used){opacity:.55}.fb-sentence{font-size:21px;font-weight:800;margin:12px 0 20px;line-height:1.9}.fb-slot{display:inline-block;min-width:90px;padding:1px 12px;border:2px dashed #cdbcf3;border-radius:10px;text-align:center;color:var(--purple-dark);background:#fff}.fb-slot.filled{border-style:solid;border-color:var(--purple);background:var(--purple-soft);animation:pop-in .2s cubic-bezier(.2,1.4,.4,1)}.play-btn{width:96px;height:96px;border-radius:50%;background:var(--purple);color:#fff;font-size:40px;margin:12px auto 20px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 0 var(--purple-dark)}.play-btn:active{transform:translateY(3px);box-shadow:0 3px 0 var(--purple-dark)}.listen-reveal{text-align:center;color:var(--ink-soft);font-size:14px}.feedback{position:fixed;left:0;right:0;bottom:0;max-width:480px;margin:0 auto;border-radius:20px 20px 0 0;padding:16px 16px 24px;animation:slide-up .25s ease}.feedback.good{background:var(--green-soft)}.feedback.bad{background:var(--red-soft)}.feedback-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.feedback-title{font-weight:900;font-size:18px}.feedback.good .feedback-title{color:var(--green)}.feedback.bad .feedback-title{color:var(--red)}.feedback-answer{font-size:15px;margin:0 0 12px}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.celebrate{align-items:center;justify-content:center;text-align:center}.celebrate h1{font-size:30px;letter-spacing:-.4px;margin:14px 0 4px}.celebrate-hero{position:relative;display:flex;flex-direction:column;align-items:center;margin-top:6px}.hero-glow{position:absolute;left:50%;top:44%;width:210px;height:210px;margin:-105px 0 0 -105px;border-radius:50%;background:radial-gradient(circle,rgba(247,223,154,.6) 0%,rgba(247,223,154,.26) 46%,transparent 68%);pointer-events:none}.hero-sparks{position:absolute;left:50%;top:46%;width:220px;height:120px;margin:-66px 0 0 -110px;pointer-events:none}.hero-sparks path,.hero-sparks circle{animation:twinkle 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.hero-sparks path:nth-of-type(2){animation-delay:.5s}.hero-sparks path:nth-of-type(3){animation-delay:1.1s}.hero-sparks circle:nth-of-type(1){animation-delay:.8s}.hero-sparks circle:nth-of-type(2){animation-delay:1.6s}.hero-sparks circle:nth-of-type(3){animation-delay:.2s}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.72)}}.hero-mat{width:132px;height:13px;border-radius:50%;margin-top:5px;background:repeating-linear-gradient(90deg,#e9cd6b 0,#e9cd6b 7px,#dcbc55 7px,#dcbc55 14px);box-shadow:inset 0 -2px #3c321e2e}.celebrate .btn-green{position:sticky;bottom:14px;z-index:5}.result-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:100%;margin:16px 0 14px;background:#fffaf0;border:2px solid #e8dcc0;border-top-style:dashed;border-radius:14px;padding:12px 4px 10px;box-shadow:0 3px #e3d5b5}.rs-item{min-width:0;text-align:center;animation:rise-in .45s both}.rs-item+.rs-item{border-left:2px dotted #e0d2ae}.rs-val{display:flex;align-items:center;justify-content:center;gap:5px;font-weight:900;font-size:21px;font-variant-numeric:tabular-nums;color:var(--ink, #3d3a4e)}.rs-gold{color:#c9860a}.rs-ember{color:#e0641f}.rs-purple{color:var(--purple)}.rs-teal{color:#17877c}.rs-lbl{font-size:11.5px;font-weight:800;color:var(--ink-soft);margin-top:1px}.seal-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;width:100%;max-width:100%;margin:0 0 16px}.seal-stamp{width:76px;height:76px;border-radius:50%;border:5px double currentColor;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:#fffaf0bf;transform:rotate(var(--tilt, -5deg));animation:stamp-in .4s cubic-bezier(.2,1.3,.4,1) both}.seal-stamp .seal-en{font-size:10.5px;font-weight:900;letter-spacing:.2px}.seal-stamp .seal-my{font-size:9px;font-weight:700;opacity:.85}.seal-gold{color:#b8901f}.seal-red{color:#c04a3d}.seal-green{color:#1f8a55}.seal-blue{color:#2f6aa0}@media(max-width:340px){.result-strip{padding-right:2px;padding-left:2px}.rs-val{gap:3px;font-size:18px}.rs-lbl{font-size:10.5px}.seal-row{gap:10px}.seal-stamp{width:70px;height:70px}}@keyframes stamp-in{0%{opacity:0;transform:scale(1.7) rotate(var(--tilt, -5deg))}55%{opacity:1}to{opacity:1;transform:scale(1) rotate(var(--tilt, -5deg))}}.celebrate .cta-row{position:sticky;bottom:14px;z-index:5;display:flex;gap:10px;width:100%;align-items:stretch}.celebrate .cta-row .btn-green{position:static;flex:1}.share-btn{width:56px;border-radius:16px;background:#fff;border:2px solid var(--line);box-shadow:0 3px 0 var(--line);color:var(--purple);display:flex;align-items:center;justify-content:center;flex-shrink:0}.share-btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--line)}.mastery-target{display:inline-flex;align-items:center;gap:6px;align-self:center;background:#fff;border:1.5px solid var(--line);color:var(--ink-soft);font-weight:800;font-size:12px;border-radius:999px;padding:3px 12px 3px 4px;margin:-4px auto 12px}.mastery-target svg{display:block}.level-up-card{display:flex;align-items:center;gap:12px;background:#fffaf0;border:2px solid #e8dcc0;border-radius:14px;padding:10px 14px;margin:-2px 0 14px;width:100%;box-shadow:0 3px #e3d5b5;animation:rise-in .45s .2s both}.lesson-earned-leaf{display:inline-grid;flex:0 0 auto;place-items:center;border:2px solid #536f31;border-radius:76% 24% 70% 30%/64% 34% 66% 36%;box-shadow:inset 0 1px #ffffff73,0 3px 4px #373c1f33;color:#fffbea;transform:rotate(-10deg)}.lesson-earned-leaf svg{transform:rotate(10deg)}.level-up-title{font-weight:900;font-size:15px;color:#6b520d}.level-up-sub{font-size:13px;color:var(--ink-soft);margin-top:2px}.mastered-line{font-size:13px;font-weight:700;color:var(--ink-soft);display:inline-flex;align-items:center;gap:5px;margin:-4px 0 14px}.hsunok-block{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;margin:0 0 16px;padding:4px 0 0;border:none;background:none;cursor:pointer}.hsunok-block:disabled{cursor:default}.hsunok:not(.open){animation:hsunok-nudge 1.7s ease-in-out infinite;transform-origin:50% 88%}@keyframes hsunok-nudge{0%,86%,to{transform:rotate(0)}90%{transform:rotate(-2.5deg)}95%{transform:rotate(2.5deg)}}.hsunok-lid{transform-box:fill-box;transform-origin:50% 100%;transition:transform .5s cubic-bezier(.2,1.4,.4,1)}.hsunok.open .hsunok-lid{transform:translate(-9px,-30px) rotate(-9deg)}.hsunok-glow{transform-box:fill-box;transform-origin:50% 80%;animation:pop-in .45s cubic-bezier(.2,1.5,.4,1) both}.hsunok-reward{font-weight:900;font-size:24px;color:#b8901f;animation:pop-in .4s .15s both}.hsunok-note{font-size:12.5px;font-weight:700;color:var(--ink-soft)}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.confetti span{position:absolute;top:-30px;font-size:22px;animation:fall 2.8s linear infinite}@keyframes fall{to{transform:translateY(110vh) rotate(540deg)}}.hearts-out{align-items:center;justify-content:center;text-align:center}.hearts-out h2{margin:16px 0 4px}.countdown{font-size:34px;font-weight:900;color:var(--purple);margin:10px 0 20px;font-variant-numeric:tabular-nums}.paywall{background:#fff;min-height:100vh}.paywall-header{background:var(--purple);color:#fff;margin:-16px -16px 20px;padding:20px 20px 24px;display:flex;align-items:center;gap:12px}.paywall-header .say{font-size:15px;opacity:.95}.paywall h1{font-size:22px;margin:0 0 4px}.paywall .price{font-size:30px;font-weight:900;margin:4px 0 0}.paywall .price-note{color:var(--ink-soft);font-size:14px;margin:0 0 20px}.benefits{list-style:none;padding:0;margin:0 0 24px}.benefits li{padding:7px 0;font-size:15px}.steps{counter-reset:step;list-style:none;padding:0;margin:0 0 24px}.steps li{counter-increment:step;display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #f0eef8;font-size:15px}.steps li:before{content:counter(step);width:28px;height:28px;border-radius:50%;background:#f3f1fb;color:var(--purple-dark);font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pay-btn{width:100%;border:2px solid var(--line);border-radius:12px;background:#fff;padding:14px 16px;margin-bottom:10px;font-weight:800;font-size:16px;text-align:left;min-height:52px}.pay-btn.open{border-color:var(--purple)}.pay-details{border:2px solid var(--purple);border-top:none;border-radius:0 0 12px 12px;margin:-12px 0 12px;padding:14px 16px;font-size:15px;background:#fbfaff}.pay-details .row{display:flex;justify-content:space-between;padding:4px 0}.pay-details .val{font-weight:800}.refcode{background:#fff;border:1px dashed var(--purple);border-radius:8px;padding:8px 12px;text-align:center;font-weight:900;font-size:18px;letter-spacing:1px;color:var(--purple-dark);margin-top:8px}.trust{text-align:center;color:var(--ink-soft);font-size:13px;margin:16px 0}.cert-screen{background:#2d0e0f;min-height:100vh;color:#f4e6c8}.cert-screen .screen-inner{padding:16px}.cert-canvas-wrap{border-radius:8px;overflow:hidden;box-shadow:0 8px 30px #00000080}.cert-canvas-wrap img,.cert-canvas-wrap canvas{width:100%;display:block}.cert-note{font-size:13px;opacity:.8;text-align:center;margin:10px 0 16px}.btn-gold{background:var(--gold);color:#3a2703;box-shadow:0 4px #9a7c1c}.btn-gold:active{transform:translateY(2px);box-shadow:0 2px #9a7c1c}.cert-name-input{width:100%;border:1px solid #7a4a3a;background:#3d1a1b;color:#f4e6c8;border-radius:10px;padding:12px 14px;font:inherit;font-size:16px;margin-bottom:12px}.tabbar{position:fixed;left:0;right:0;bottom:0;max-width:480px;margin:0 auto;background:#fff;border-top:2px solid var(--line);display:flex;z-index:20}.tab{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 10px;text-decoration:none;color:var(--ink-soft);font-size:11px;font-weight:800;min-height:44px}.tab-label.my{font-size:12px;line-height:1.35;font-weight:800}.tab.active{color:var(--purple)}.tab.active:before{content:"";position:absolute;top:-2px;width:34px;height:3px;border-radius:0 0 4px 4px;background:var(--gold)}.tab.active .tab-icon{transform:scale(1.12) translateY(-1px)}.tab-icon{transition:transform .15s}.has-tabbar{padding-bottom:90px}.home-action-dock{position:fixed;top:max(88px,calc(env(safe-area-inset-top) + 70px));right:max(12px,calc((100vw - 480px)/2 + 12px));z-index:18;display:flex;width:56px;flex-direction:column;gap:9px}.home-float-action{position:relative;isolation:isolate;display:grid;width:54px;height:54px;min-height:54px;padding:0;place-items:center;border:2px solid rgba(255,255,255,.9);border-radius:50%;background:linear-gradient(145deg,#8067ed,#5638c8);color:#fff;box-shadow:0 4px #4028a1,0 8px 18px #37267742;transition:transform .14s ease,filter .14s ease,box-shadow .14s ease}.home-float-action:before{position:absolute;top:4px;right:7px;left:7px;z-index:0;height:16px;border-radius:50%;background:linear-gradient(180deg,#ffffff7a,#fff0);content:""}.home-float-action.heart{border-color:#fff3f4;background:linear-gradient(145deg,#fff9fa,#f8dce1);color:#b72d42;box-shadow:0 4px #cf8e99,0 8px 18px #962a3f33}.home-float-action.lightning{border-color:#f8e7a6;background:linear-gradient(145deg,#655b82,#3f3759);color:#ffe08a;box-shadow:0 4px #2d273e,0 8px 18px #2a244042}.home-float-action:not(:disabled):hover{filter:brightness(1.06);transform:translateY(-1px)}.home-float-action:not(:disabled):active{transform:translateY(3px);box-shadow:0 1px #4028a1,0 4px 10px #37267733}.home-float-action.heart:not(:disabled):active{box-shadow:0 1px #cf8e99,0 4px 10px #962a3f29}.home-float-action.lightning:not(:disabled):active{box-shadow:0 1px #2d273e,0 4px 10px #2a244033}.home-float-action:focus-visible{outline:3px solid #e7c24e;outline-offset:3px}.home-float-action:disabled{opacity:.7;filter:saturate(.55)}.home-float-icon{position:relative;z-index:1;display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:#ffffff1f;box-shadow:inset 0 1px #ffffff47}.home-float-action.heart .home-float-icon{background:#fff9}.home-float-label{position:absolute;top:50%;right:calc(100% + 10px);z-index:3;padding:5px 8px;transform:translate(5px,-50%);border-radius:8px;background:#2a2440f0;color:#fff;font-size:10px;font-weight:900;line-height:1.2;opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .14s ease,transform .14s ease}.home-float-action:not(:disabled):hover .home-float-label,.home-float-action:focus-visible .home-float-label{transform:translateY(-50%);opacity:1}.home-float-badge{position:absolute;top:-4px;right:-4px;z-index:2;min-width:21px;padding:2px 4px;border:2px solid #fff;border-radius:999px;background:#d63a4e;color:#fff;font-size:8px;font-weight:1000;font-variant-numeric:tabular-nums;line-height:1.4;box-shadow:0 1px 3px #7a1e2f2e}.home-float-state{position:absolute;right:-2px;bottom:-2px;z-index:2;display:grid;width:20px;height:20px;place-items:center;border:2px solid #fff;border-radius:50%;background:#5f5878;color:#fff;box-shadow:0 2px 5px #2a244033}.home-float-action.rewarded .home-float-icon{animation:heart-pop .4s ease}.current-lesson-jump{position:fixed;left:50%;bottom:78px;z-index:19;transform:translate(-50%);width:max-content;max-width:calc(min(100vw,480px) - 32px);min-height:52px;display:flex;align-items:center;gap:10px;padding:8px 16px 9px;border:2px solid #fff;border-radius:16px;background:var(--purple);color:#fff;box-shadow:0 4px 0 var(--purple-dark),0 8px 20px #2a244033;font:inherit;animation:current-jump-in .22s cubic-bezier(.2,1.2,.4,1) both}.current-lesson-jump:active{transform:translate(-50%,2px);box-shadow:0 2px 0 var(--purple-dark),0 5px 12px #2a24402e}.current-lesson-jump:focus-visible{outline:3px solid #f4d97a;outline-offset:3px}.current-jump-copy{min-width:0;display:grid;text-align:left;line-height:1.15}.current-jump-copy .my{font-size:12px;line-height:1.35;font-weight:900}.current-jump-copy>:last-child{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#e7e0ff}@keyframes current-jump-in{0%{opacity:0;transform:translate(-50%,10px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}.missions-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.mission-card{margin-bottom:12px}.mission-card.done{border-color:var(--gold);background:#fffaf0}.mission-row{display:flex;align-items:center;gap:10px}.mission-title{font-weight:900;font-size:17px}.mission-sub{color:var(--ink-soft);font-size:13px}.mission-check{width:34px;height:34px;border-radius:50%;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;color:#fff;flex-shrink:0}.mission-check.on{background:var(--gold);border-color:var(--gold);animation:pop-in .35s cubic-bezier(.2,1.6,.4,1)}.mission-count{text-align:right;font-size:12px;font-weight:800;color:var(--ink-soft);margin-top:4px}.mission-card{animation:rise-in .35s both}.week-dots-card{margin-bottom:14px;text-align:center;padding:12px}.week-dots{display:flex;justify-content:center;gap:8px}.week-dot{font-size:22px;color:var(--line);animation:rise-in .4s both}.week-dot.on{color:var(--gold);animation:pop-in .45s cubic-bezier(.2,1.6,.4,1) both}.stamp-card{text-align:center;border-color:var(--gold);background:#fffaf0}.stamp-anim{display:inline-block;animation:stamp-in .55s cubic-bezier(.2,1.6,.4,1);transform:rotate(-8deg)}@keyframes stamp-in{0%{transform:scale(2.6) rotate(-30deg);opacity:0}60%{transform:scale(.95) rotate(-6deg);opacity:1}to{transform:scale(1) rotate(-8deg)}}.badge-total-track{height:8px;border-radius:999px;background:var(--line);overflow:hidden}.badge-total-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#e7c24e,#c9a227);transition:width .6s ease}.rarity-title{display:flex;align-items:center;gap:10px;margin:20px 0 10px;font-size:15px}.rarity-title:after{content:"";flex:1;height:2px;border-radius:2px;background:linear-gradient(90deg,currentColor,transparent);opacity:.35}.rarity-title.mythic{color:#7a5cf0}.rarity-title.legendary{color:var(--gold)}.rarity-title.rare{color:var(--purple-dark)}.rarity-title.common{color:var(--ink-soft)}.mythic-cell{background:linear-gradient(180deg,#2f2847,var(--ink));box-shadow:inset 0 0 0 2px #c9a2278c,0 3px #14102280;color:#f4e6c8}.mythic-cell .badge-name{color:#f7e7ce}.mythic-cell .badge-name-en{color:#cbb670}.mythic-cell .badge-progress{color:#b9a8e8}.mythic-cell .badge-progress-track{background:#443a63}.mythic-cell .badge-progress-fill{background:var(--gold)}.mythic-hint{color:#b9a8e8}.mythic-cell .medal-under{fill:#241d33}.mythic-cell .medal-face{fill:#3a3157}.mythic-cell .medal-sheen{opacity:.12}.badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.badge-cell{position:relative;background:#fff;border:none;border-radius:18px;padding:12px 6px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:inset 0 0 0 2px #2a24400f,0 3px #2a244012}.badge-cell:not(.badge-open){cursor:default}.badge-cell.badge-open{background:linear-gradient(180deg,#fffdf4,#fff);box-shadow:inset 0 0 0 2px #c9a22747,0 3px #c9a2272e}.badge-share{position:absolute;top:7px;right:7px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#fbf2d7;color:#a8871f}.badge-name{font-weight:800;font-size:12px;line-height:1.3}.badge-name-en{font-size:10px;color:var(--ink-soft);font-weight:700}.badge-tier{display:flex;gap:4px;margin-top:1px}.tier-pip{width:8px;height:8px;border-radius:50%;background:var(--line);box-shadow:inset 0 -1px #0000001f}.tier-pip.on.t1{background:#c08a4a}.tier-pip.on.t2{background:#afb6c6}.tier-pip.on.t3{background:#e7c24e}.mythic-cell .tier-pip{background:#443a63}.badge-locked{filter:grayscale(1);opacity:.45}.legend-locked{background:linear-gradient(180deg,#fffaf0,#fff6e2);box-shadow:inset 0 0 0 2px #c9a22780,0 3px #c9a22738}.badge-silhouette *{fill:var(--gold)!important;stroke:none!important}.badge-silhouette .medal-bg{fill:transparent!important;stroke:transparent!important}.badge-silhouette{opacity:.55}.badge-hint{font-size:10px;color:#a8871f;line-height:1.35;margin-top:2px}.badge-cell{animation:rise-in .35s both}.badge-progress{width:100%;display:flex;align-items:center;gap:5px;font-size:9px;font-weight:800;color:var(--ink-soft)}.badge-progress-track{flex:1;height:5px;background:var(--line);border-radius:999px;overflow:hidden}.badge-progress-fill{height:100%;background:var(--purple);border-radius:999px}.unlock-card{display:flex;align-items:center;gap:12px;background:#fffaf0;border:2px solid #e8dcc0;border-radius:14px;box-shadow:0 3px #e3d5b5;padding:10px 14px;margin-bottom:12px;width:100%;animation:rise-in .45s both}.share-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#140607e0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}.share-modal{width:100%;max-width:420px}.share-modal .btn{margin-top:8px}.league-head{display:flex;align-items:center;gap:16px;background:var(--card);border:2px solid var(--line);border-left-width:6px;border-radius:var(--radius);padding:16px;margin-bottom:16px}.league-name{font-size:22px;font-weight:900}.league-name-en{font-weight:800;color:var(--ink-soft)}.league-xp{font-weight:900;margin-top:4px;display:flex;align-items:center;gap:5px}.league-row{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:10px;min-height:44px}.league-row.me{background:var(--purple-soft)}.league-rank{width:30px;text-align:center;font-weight:900}.league-user{flex:1;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.league-pts{font-weight:900;color:var(--purple-dark);display:flex;align-items:center;gap:4px}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.rise-in{animation:rise-in .4s both}@keyframes pop-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes shine{to{left:130%}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.shake{animation:shake .4s ease}@keyframes heart-pop{0%{transform:scale(1)}40%{transform:scale(1.45)}to{transform:scale(1)}}.heart-pop{animation:heart-pop .4s ease}@keyframes bounce-y{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.bounce{animation:bounce-y 1.1s ease-in-out infinite}@keyframes fill-grow{0%{width:0}}.animate-fill{animation:fill-grow .8s ease both}.mini-blink{transform-box:fill-box;transform-origin:center;animation:blink 4.6s infinite}@keyframes blink{0%,94%,to{transform:scaleY(1)}97%{transform:scaleY(.1)}}.course-head{text-align:center;margin:2px 0 8px}.course-title{font-weight:900;font-size:18px}.course-sub{color:var(--ink-soft);font-size:13px}.lightning-bar{flex:1;height:12px;border-radius:999px;background:#efe4cd;overflow:hidden}.lightning-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#f0a428,#e8971d);transition:width 1s linear}.lightning-bar.low span{background:linear-gradient(90deg,#e0524f,#c2273c)}.lightning-clock{font-weight:900;font-size:14px;color:#b06e00;min-width:34px;text-align:right}.lightning-clock.low{color:#c2273c;animation:clock-pulse 1s ease-in-out infinite}@keyframes clock-pulse{50%{transform:scale(1.18)}}.lightning-ready{align-items:center;justify-content:center;text-align:center;gap:6px}.lightning-ready h2{margin:14px 0 2px}.lightning-count{font-size:84px;font-weight:900;color:#e8971d;line-height:1;margin-top:10px;animation:count-pop .7s cubic-bezier(.2,1.6,.4,1) both}@keyframes count-pop{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}.daily-goal{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 10px;padding:8px 14px;border:2px solid var(--line);border-radius:var(--radius);background:#fff}.daily-goal.met{border-color:var(--gold);background:#fffaf0}.daily-goal svg{flex-shrink:0}.daily-goal svg circle:last-of-type,.daily-goal svg path{transition:stroke-dashoffset .6s ease}.daily-goal-txt{display:flex;flex-direction:column}.daily-goal-title{font-weight:900;font-size:14px}.daily-goal-sub{font-size:12px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.freeze-card{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 10px;padding:8px 12px 8px 14px;border:2px solid #cfe3f6;border-radius:var(--radius);background:#f4f9fe}.freeze-card.full{border-color:#9cc7ec}.freeze-ic{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:50%;background:#e3f0fb}.freeze-txt{flex:1;display:flex;flex-direction:column;gap:2px}.freeze-title{font-weight:900;font-size:14px;display:flex;align-items:center;gap:6px}.freeze-count{background:#4e96d6;color:#fff;border-radius:999px;font-size:12px;padding:0 7px;font-weight:900}.freeze-sub{font-size:11.5px;color:var(--ink-soft);line-height:1.4}.freeze-pips{display:flex;gap:5px;margin-top:3px}.freeze-pip{width:20px;height:5px;border-radius:999px;background:#d7e6f5}.freeze-pip.on{background:#4e96d6}.freeze-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;border:none;border-radius:999px;background:#4e96d6;color:#fff;font-weight:800;font-size:12px;padding:8px 12px;box-shadow:0 3px #3a7cb8;cursor:pointer}.freeze-btn:not(:disabled):active{transform:translateY(2px);box-shadow:0 1px #3a7cb8}.freeze-btn:disabled{opacity:.6}.xp-pop.hot{color:#e08600}.xp-pop-combo{font-size:11px;margin-left:3px;padding:1px 5px;border-radius:999px;background:#fbe9c4;color:#b06e00}.freeze-safe-chip{display:inline-flex;align-items:center;gap:6px;background:#e8f2fc;color:#2f6aa0;border-radius:999px;font-weight:800;font-size:12.5px;padding:8px 16px;margin:2px 16px 10px;box-shadow:0 3px #bcd8f2;animation:pop-in .45s cubic-bezier(.2,1.6,.4,1) both}.mini-face{vertical-align:-.22em}.map-scene{position:relative;isolation:isolate;margin:8px -8px 0;padding-bottom:0;border:1px solid rgba(69,86,48,.32);border-radius:26px 26px 0 0;background:#88ad68;box-shadow:inset 0 1px #ffffff70,inset 12px 0 24px #3e4f2b14,inset -12px 0 24px #3e4f2b14,0 8px 22px #3b342421;overflow:hidden}.unit-biome{position:relative;background:transparent}.unit-biome[data-world-unit]:not([data-world-unit="1"]){margin-top:-30px}.unit-biome[data-world-unit]:not([data-world-unit="1"]) .stage-one-game-map,.unit-biome[data-world-unit]:not([data-world-unit="1"]) .native-game-road:before{-webkit-mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.48) 10px,#000 30px,#000 100%);mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.48) 10px,#000 30px,#000 100%)}.zone-shore{display:block;position:absolute;top:-1px;left:0;width:100%;height:34px;pointer-events:none}.zone-sign{position:absolute;top:2px;z-index:1;transform:rotate(-2deg);animation:rise-in .5s both}.zone-sign svg{display:block;filter:drop-shadow(0 4px 3px rgba(60,50,30,.14))}.biome-village,.biome-bagan,.biome-inle,.biome-yangon{background:transparent}.sky-strip{display:block;width:100%;margin-bottom:-1px}.unit-banner{position:relative;width:148px;min-height:56px;margin:13px auto -69px 14px;display:flex;align-items:center;gap:7px;padding:8px 11px 8px 9px;border:2px solid rgba(118,80,43,.5);border-radius:18px 20px 17px 19px;background:linear-gradient(100deg,rgba(255,255,255,.24),transparent 28%),linear-gradient(180deg,#d9ad68,#b87d3e);box-shadow:inset 0 1px #fff1c280,inset 0 -2px #663c1c2e,0 6px 18px #2d1e0f38;transform:rotate(-1.5deg);z-index:4}.unit-banner:before,.unit-banner:after{content:"";position:absolute;top:48px;width:8px;height:25px;border:1.5px solid rgba(112,71,33,.7);border-radius:0 0 4px 4px;background:linear-gradient(90deg,#875427,#bd8241 52%,#75461f);box-shadow:0 4px 6px #2d201238;z-index:-1}.unit-banner:before{left:21px;transform:rotate(2deg)}.unit-banner:after{right:20px;transform:rotate(-1deg)}.unit-banner-1{margin-right:14px;margin-left:auto;transform:rotate(1.4deg)}.banner-chip{width:29px;height:29px;border-radius:50%;border:2px solid #8e2a18;background:linear-gradient(145deg,#c2452e,#872213);color:#fff6c9;font-weight:900;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 1px #ffffff47,0 2px #641a0d}.banner-title{color:#3d2b1d;font-weight:950;font-size:11px;line-height:1.2;text-shadow:0 1px 0 rgba(255,236,182,.42)}.banner-sub{margin-top:2px;color:#5f432d;font-size:8.5px;font-weight:750;line-height:1.35}.journey-seam{position:absolute;top:0;left:0;z-index:3;width:100%;height:56px;pointer-events:none}.journey-seam:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 12% 12%,color-mix(in srgb,var(--scene-base) 76%,#f2d793) 0 6%,transparent 7%),radial-gradient(ellipse at 78% 25%,color-mix(in srgb,var(--scene-base) 82%,#314f29) 0 5%,transparent 6%),radial-gradient(ellipse at 42% 8%,color-mix(in srgb,var(--scene-base) 80%,#5f7e43) 0 4%,transparent 5%);opacity:.52}.journey-seam-detail{position:absolute;width:13px;height:7px;border-radius:70% 30% 62% 38%;background:color-mix(in srgb,var(--scene-base) 64%,#496c32);box-shadow:-4px 2px color-mix(in srgb,var(--scene-base) 72%,#6e873f),4px 1px color-mix(in srgb,var(--scene-base) 60%,#315329),0 3px 2px #2a311d1f;transform:rotate(var(--seam-rotate)) scale(var(--seam-scale));transform-origin:50% 100%}.seam-inle .journey-seam-detail{width:4px;height:17px;border-radius:80% 20% 70% 30%;background:#4f8064;box-shadow:4px 2px #6a9972,-4px 3px #3f735d}.seam-yangon .journey-seam-detail{width:12px;height:8px;border-radius:45% 55% 52% 48%;background:#77755f;box-shadow:4px 1px #a5a287,-4px 2px #62624f,0 3px 2px #2a311d24}.road-wrap{position:relative;width:340px;margin:0 auto;isolation:isolate}.road-wrap:before{content:"";position:absolute;z-index:0;top:0;right:-18px;bottom:0;left:-18px;background-image:var(--terrain-art);background-position:center;background-repeat:no-repeat;background-size:100% 100%;pointer-events:none}.stage-one-game-map{position:absolute;z-index:1;top:0;bottom:0;left:50%;width:480px;transform:translate(-50%);overflow:hidden;pointer-events:none;opacity:0;transition:opacity .18s ease-out}.stage-one-game-map.is-ready{opacity:1}.stage-one-game-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.stage-one-static-canvas{z-index:0}.stage-one-motion-canvas{z-index:1}.journey-depth{position:absolute;top:0;right:-70px;bottom:0;left:-70px;z-index:1;overflow:hidden;pointer-events:none}.journey-depth:before{content:"";position:absolute;top:20%;left:-34%;width:54%;height:24%;border-radius:50%;background:radial-gradient(ellipse,rgba(54,70,49,.11),transparent 68%);filter:blur(9px);mix-blend-mode:multiply;opacity:.42;animation:map-cloud-shadow 32s linear infinite}.journey-depth:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,rgba(214,240,232,.08),transparent 22%),linear-gradient(to top,rgba(39,52,38,.1),transparent 18%),linear-gradient(90deg,rgba(37,54,34,.08),transparent 11%,transparent 88%,rgba(37,54,34,.08));mix-blend-mode:soft-light}.depth-fringe{position:absolute;bottom:-9px;width:110px;height:54px;opacity:.72;filter:blur(.25px) drop-shadow(0 4px 3px rgba(37,51,29,.18))}.depth-fringe:before,.depth-fringe:after{content:"";position:absolute;bottom:0;border-radius:68% 32% 64% 36%;transform-origin:50% 100%}.depth-fringe:before{left:5px;width:76px;height:38px;background:radial-gradient(ellipse at 18% 72%,#52773f 0 18%,transparent 20%),radial-gradient(ellipse at 41% 50%,#6e944f 0 22%,transparent 24%),radial-gradient(ellipse at 70% 68%,#3f6939 0 24%,transparent 26%);transform:rotate(-3deg)}.depth-fringe:after{right:0;width:64px;height:45px;background:radial-gradient(ellipse at 26% 76%,#638447 0 20%,transparent 22%),radial-gradient(ellipse at 52% 48%,#7da155 0 22%,transparent 24%),radial-gradient(ellipse at 79% 72%,#476d3c 0 21%,transparent 23%);transform:rotate(4deg)}.depth-fringe-left{left:-14px}.depth-fringe-right{right:-14px;transform:scaleX(-1)}.depth-variant-1 .depth-fringe-left{transform:scale(.88) translateY(5px)}.depth-variant-2 .depth-fringe-right{transform:scaleX(-1) scale(.84) translateY(7px)}.depth-variant-3 .depth-fringe-left{transform:scale(1.08) translateY(2px)}.depth-inle .depth-fringe:before,.depth-inle .depth-fringe:after{background:linear-gradient(80deg,transparent 40%,#4f8064 42% 49%,transparent 51%),linear-gradient(98deg,transparent 42%,#6d9c72 44% 51%,transparent 53%),linear-gradient(68deg,transparent 41%,#3f735d 43% 50%,transparent 52%)}.depth-yangon .depth-fringe{opacity:.42}.depth-yangon .depth-fringe:before,.depth-yangon .depth-fringe:after{background:radial-gradient(ellipse at 24% 78%,#657b58 0 21%,transparent 23%),radial-gradient(ellipse at 58% 56%,#7e936c 0 24%,transparent 26%),radial-gradient(ellipse at 82% 78%,#536b4c 0 20%,transparent 22%)}@keyframes map-cloud-shadow{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(780px,36px,0) scale(1.12)}}.native-game-road:before{inset:0 auto 0 50%;width:480px;transform:translate(-50%);background-image:var(--terrain-preview);background-color:var(--terrain-base, #88ad68);background-position:center;background-repeat:no-repeat;background-size:100% 100%}.road-end:before{background-position:center top;background-size:100% auto}.journey-finale{margin-top:-28px;overflow:visible}.journey-finale:before{inset:0 auto 0 50%;width:480px;transform:translate(-50%);background-position:center;background-size:100% 100%;opacity:1;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 25%,#000);mask-image:linear-gradient(to bottom,transparent,#000 25%,#000)}.finale-art{position:absolute;inset:0 auto 0 50%;z-index:0;display:block;width:480px;height:214px;max-width:none;transform:translate(-50%);object-fit:cover;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 28px,#000);mask-image:linear-gradient(to bottom,transparent 0,#000 28px,#000)}.finale-plaza{position:absolute;z-index:1;top:0;right:-70px;bottom:0;left:-70px;overflow:hidden;background:linear-gradient(to bottom,rgba(212,235,226,.06),transparent 28%),linear-gradient(to top,rgba(64,68,45,.08),transparent 24%);pointer-events:none}.finale-sunbeam{position:absolute;top:-22px;left:50%;width:280px;height:180px;transform:translate(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(255,238,166,.5),transparent 68%);mix-blend-mode:screen}.journey-finale .cert-medal{z-index:3}.finale-copy{position:absolute;top:162px;left:50%;z-index:3;width:210px;transform:translate(-50%) rotate(-.5deg);border:2px solid #714b27;border-radius:11px 13px 12px 10px;padding:7px 11px 8px;background:linear-gradient(180deg,#d4a55e,#a76d34);box-shadow:inset 0 1px #ffefc075,0 4px #65411f,0 7px 12px #302a1b33;color:#fff4d7;text-align:center}.finale-copy strong,.finale-copy span{display:block}.finale-copy strong{font-size:13px;font-weight:950;text-shadow:0 1px 0 rgba(77,43,20,.5)}.finale-copy span{margin-top:2px;color:#f9e6c1;font-size:10px;font-weight:750}.checkpoint-crossing{position:relative;z-index:3;width:100%;height:104px;margin:-1px 0 0;display:grid;place-items:center;overflow:hidden;background:transparent;box-shadow:inset 0 10px 16px #384c290f,inset 0 -10px 16px #3a482a0f}.checkpoint-blend{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 12% 72%,rgba(69,91,47,.28) 0 5px,transparent 6px),radial-gradient(circle at 85% 28%,rgba(238,215,151,.18) 0 4px,transparent 5px),radial-gradient(ellipse at 27% 18%,rgba(68,95,50,.16) 0 8px,transparent 9px),radial-gradient(ellipse at 73% 82%,rgba(64,86,46,.15) 0 9px,transparent 10px),radial-gradient(ellipse at 50% 58%,rgba(224,193,127,.34) 0 16%,transparent 17%),linear-gradient(to bottom,color-mix(in srgb,var(--crossing-from) 46%,transparent),color-mix(in srgb,var(--crossing-from) 30%,transparent) 55%,color-mix(in srgb,var(--crossing-to) 40%,transparent));-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 20px,#000 calc(100% - 20px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 20px,#000 calc(100% - 20px),transparent 100%)}.biome-village .checkpoint-crossing{--crossing-from: #a4cd8a;--crossing-to: #d9b67e}.biome-bagan .checkpoint-crossing{--crossing-from: #d9b67e;--crossing-to: #63aaa8}.biome-inle .checkpoint-crossing{--crossing-from: #63aaa8;--crossing-to: #b3a58f}.biome-yangon .checkpoint-crossing{--crossing-from: #b3a58f;--crossing-to: #c9bfa8}.checkpoint-crossing:before,.checkpoint-crossing:after{content:"";position:absolute;bottom:2px;width:116px;height:34px;opacity:.65;background:radial-gradient(ellipse at 20% 76%,#4e733d 0 18%,transparent 20%),radial-gradient(ellipse at 44% 54%,#729650 0 22%,transparent 24%),radial-gradient(ellipse at 70% 72%,#3f6738 0 22%,transparent 24%);filter:drop-shadow(0 3px 2px rgba(49,54,31,.14))}.checkpoint-crossing:before{left:-7px}.checkpoint-crossing:after{right:-7px;transform:scaleX(-1)}.checkpoint-road{position:absolute;z-index:0;top:-18px;bottom:-18px;left:50%;width:86px;transform:translate(-50%);border-right:2px solid rgba(105,73,37,.13);border-left:2px solid rgba(255,235,177,.14);background:linear-gradient(90deg,rgba(113,78,37,.14),transparent 18%,transparent 82%,rgba(113,78,37,.14)),#dab8709e;clip-path:polygon(19% 0,83% 0,100% 100%,0 100%)}.checkpoint-gate{position:relative;z-index:2;display:grid;width:min(286px,calc(100% - 48px));min-height:62px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:9px;margin:0;padding:8px 11px;border:2px solid rgba(105,67,35,.85);border-radius:20px 22px 19px 21px;background:linear-gradient(100deg,rgba(255,255,255,.2),transparent 26%),linear-gradient(180deg,#c99050,#9c642f);box-shadow:inset 0 1px #ffefbb80,inset 0 -2px #54301638,0 8px 22px #2d1e0f42;color:#fff8df;text-align:left}.checkpoint-gate:before,.checkpoint-gate:after{content:"";position:absolute;top:-17px;width:12px;height:91px;border:2px solid rgba(98,64,31,.75);border-radius:7px 7px 4px 4px;background:linear-gradient(90deg,#74461f,#bc7f3d 52%,#6a3f1c);box-shadow:0 6px 8px #281c0f47;z-index:-1}.checkpoint-gate:before{left:15px;transform:rotate(1.8deg)}.checkpoint-gate:after{right:15px;transform:rotate(-1.6deg)}.checkpoint-gate:not(:disabled):active{animation:none;transform:translateY(3px);box-shadow:inset 0 1px #ffefbb80,0 2px 6px #2d1e0f33}.checkpoint-gate.available{transform-origin:50% -12px;animation:checkpoint-plaque-sway 4.8s ease-in-out infinite}@keyframes checkpoint-plaque-sway{0%,to{transform:rotate(-.7deg)}50%{transform:rotate(.7deg)}}.checkpoint-gate:focus-visible{outline:3px solid #fff0a2;outline-offset:4px}.checkpoint-gate-icon{display:grid;width:40px;height:40px;place-items:center;border:2px solid #896526;border-radius:50%;background:linear-gradient(145deg,#f8df7c,#d7a63d);color:#593610;box-shadow:inset 0 1px #ffffff8a,0 2px #7f5a21}.checkpoint-gate-copy{display:flex;min-width:0;flex-direction:column}.checkpoint-gate-copy strong{font-size:13px;font-weight:950;line-height:1.25;text-shadow:0 1px 0 rgba(77,43,20,.5)}.checkpoint-gate-copy .my{color:#fbeac6;font-size:10px;font-weight:750;line-height:1.45}.checkpoint-gate-rule{display:flex;flex-direction:column;color:#f6e5bf;font-size:9.5px;font-weight:800;line-height:1.25}.checkpoint-gate-go{align-self:center;border:1px solid #7e1f20;border-radius:12px;padding:4px 6px;background:#a8322c;color:#fff;font-size:8px;font-weight:1000;letter-spacing:.05em;box-shadow:0 2px #6f1f1b}.checkpoint-gate.passed{border-color:#7e6424;background:linear-gradient(180deg,#d8b15a,#ad7832);box-shadow:inset 0 1px #ffe8a1,0 8px 22px #2d1e0f3d;color:#fff7cf}.checkpoint-gate.passed .checkpoint-gate-icon{background:linear-gradient(145deg,#f6df7d,#c9982e);color:#fff}.checkpoint-gate.passed .checkpoint-gate-copy .my{color:#fff0bf}.checkpoint-gate:disabled{opacity:1}.checkpoint-gate.locked{min-height:66px;border-color:#684928;background:linear-gradient(100deg,rgba(255,255,255,.18),transparent 28%),linear-gradient(180deg,#b88955,#8a6037);box-shadow:inset 0 1px #ffebbe66,0 8px 22px #2d1e0f38;color:#fff2d5}.checkpoint-gate.locked .checkpoint-gate-icon{border-color:#74582d;background:linear-gradient(145deg,#d7bd83,#b48e50);color:#59451f}.checkpoint-gate.locked .checkpoint-gate-copy .my{color:#f2dfbc;font-size:10px}.road-svg{position:absolute;top:0;right:0;bottom:0;left:0;filter:drop-shadow(0 3px 4px rgba(60,50,30,.18))}.road-end .road-svg{z-index:1}.city-dest{position:absolute;left:0;top:0;z-index:2}.road-end .cert-medal{z-index:3}.road-node{position:absolute;width:76px;height:76px;padding:0;background:none;border:none;display:flex;align-items:center;justify-content:center;z-index:2;animation:node-in .4s cubic-bezier(.2,1.4,.4,1) backwards;transition:transform .14s cubic-bezier(.2,.8,.2,1)}@keyframes node-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.road-node svg{display:block;overflow:visible}.road-node:before,.road-node:after{content:"";position:absolute;left:50%;pointer-events:none;opacity:0;transition:opacity .14s ease,transform .14s cubic-bezier(.2,.8,.2,1)}.road-node:before{z-index:0;bottom:2px;width:72px;height:22px;border-radius:50%;background:radial-gradient(ellipse,#19140a6b,#19140a00 70%);opacity:.55;transform:translate(-50%) scale(.9,.78);filter:blur(2px)}.road-node:after{z-index:2;top:3px;width:66px;height:64px;border:2px solid rgba(255,241,166,.9);border-radius:48% 53% 46% 55%/52% 47% 55% 45%;box-shadow:0 0 14px #f4d97ab3,inset 0 0 6px #fff0b473,0 2px 5px #28231438;transform:translate(-50%) rotate(-2deg) scale(.9)}.road-node:not(:disabled):is(:hover,:focus-visible){transform:translateY(-2px)}.road-node:not(:disabled):is(:hover,:focus-visible):before{opacity:.9;transform:translate(-50%) scale(1)}.road-node:focus-visible{outline:none}.road-node:focus-visible:after{opacity:1;transform:translate(-50%) rotate(-2deg) scale(1)}.node-medallion{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:grid;place-items:center;pointer-events:none}.stone-milestone-art{display:block;width:auto;max-width:none;height:76px;object-fit:contain;transform:translateY(-3px) rotate(var(--stone-tilt, 0deg)) scale(var(--stone-scale, 1));filter:drop-shadow(0 3px 2px rgba(50,65,31,.18));transition:transform .12s ease,filter .2s ease;-webkit-user-select:none;user-select:none}.road-node.current .stone-milestone-art{filter:drop-shadow(0 3px 2px rgba(50,65,31,.18)) drop-shadow(0 0 6px rgba(231,194,78,.42));animation:stone-current-breathe 2s ease-in-out infinite}.road-node.available .stone-milestone-art{filter:drop-shadow(0 3px 2px rgba(50,65,31,.16))}.road-node.locked .stone-milestone-art{filter:grayscale(.1) sepia(.2) saturate(.8) drop-shadow(0 2px 2px rgba(50,65,31,.14))}.terrain-bagan .road-node:before{background:radial-gradient(ellipse,rgba(58,38,18,.42) 0%,transparent 70%)}.terrain-inle .road-node:before{background:radial-gradient(ellipse,rgba(30,110,108,.36) 0%,transparent 70%)}.terrain-yangon .road-node:before{background:radial-gradient(ellipse,rgba(35,40,46,.36) 0%,transparent 70%)}.road-node:not(:disabled):active{transform:translateY(2px) scale(.97)}.road-node:not(:disabled):active:before{transform:translate(-50%) scale(.84,.72)}@keyframes stone-current-breathe{0%,to{transform:translateY(-3px) rotate(var(--stone-tilt, 0deg)) scale(var(--stone-scale, 1))}50%{transform:translateY(-5px) rotate(var(--stone-tilt, 0deg)) scale(1.035)}}.road-node:disabled{cursor:default;opacity:1}.node-pill{position:absolute;width:170px;text-align:center;z-index:4;border:2px solid rgba(117,80,43,.45);border-radius:16px 18px 15px 17px;background:linear-gradient(135deg,#fdf6e2,#f4e4bc);font-size:12px;font-weight:800;padding:7px 9px 8px;color:#49331f;box-shadow:inset 0 1px #ffffffb3,0 5px 14px #362e1c2e;transform:rotate(.7deg)}.node-pill:before{content:"";position:absolute;top:-8px;left:50%;width:14px;height:14px;border-top:2px solid rgba(117,80,43,.4);border-left:2px solid rgba(117,80,43,.4);background:#f8ecd0;transform:translate(-50%) rotate(45deg)}.node-pill:after{content:"";position:absolute;top:5px;left:8px;width:5px;height:5px;border-radius:50%;background:#d6aa3b;box-shadow:inset 0 1px #ffffff73,0 1px #826222}.node-pill strong,.node-pill span{display:block}.node-pill strong{line-height:1.25;text-shadow:0 1px 0 rgba(255,250,225,.7)}.node-pill>span{margin-top:2px;color:#6e5132;font-size:9.5px;font-weight:750;letter-spacing:.01em}.node-pill-progress{display:flex!important;align-items:center;justify-content:center;gap:5px}.node-pass-pips{display:inline-flex!important;flex:0 0 auto;gap:2px;margin:0!important}.node-pass-pips i{width:5px;height:5px;border:1px solid #896b42;border-radius:50%;background:#ffffff6b}.node-pass-pips i.earned{border-color:#826222;background:#d6aa3b}.node-pass-pips i.next{border-color:#826222;background:#d6aa3b;box-shadow:0 0 0 2px #d6aa3b29}.unit-stone-road{height:190px}.unit-stone-road:before{background-position:center 48%;background-size:cover}.unit-stone-button.road-node{top:18px;left:75px;width:190px;height:135px;z-index:5}.unit-stone-button .node-medallion{inset:0 auto auto 44px;width:102px;height:94px}.unit-stone-button .stone-milestone-art{position:relative;z-index:1;display:block;width:102px;height:94px}.unit-stone-button.current .stone-milestone-art{animation:none}.unit-stone-button.done .stone-milestone-art{filter:drop-shadow(0 4px 3px rgba(50,65,31,.2))}.unit-stone-button.road-node:before{bottom:42px}.unit-stone-button.road-node:after{top:3px}.unit-stone-button:focus-visible .unit-stone-copy{outline:3px solid #fff0a2;outline-offset:3px}.unit-stone-copy{position:absolute;right:9px;bottom:0;left:9px;z-index:3;display:flex;min-height:42px;flex-direction:column;align-items:center;justify-content:center;padding:5px 10px 6px;border:2px solid rgba(103,70,39,.48);border-radius:15px 17px 14px 16px;background:linear-gradient(135deg,#fffae4f7,#efdaabf7);box-shadow:inset 0 1px #ffffffb3,0 4px 10px #362a1933;color:#49331f;line-height:1.2;text-align:center}.unit-stone-copy strong{font-size:11.5px;font-weight:950}.unit-stone-copy>span{display:-webkit-box;margin-top:2px;overflow:hidden;color:#6f4e30;font-size:9px;font-weight:800;-webkit-box-orient:vertical;-webkit-line-clamp:2}.unit-stone-mini{top:16px;width:118px;transform:scale(.82);transform-origin:50% 100%}.unit-stone-mini.mini-side-0{left:218px}.unit-stone-mini.mini-side-1{left:4px}.path-motif{position:absolute;z-index:1;animation:rise-in .5s both}.path-motif svg{display:block;filter:drop-shadow(0 4px 3px rgba(60,50,30,.1))}.balloon-lift{transform-box:fill-box;animation:floaty 3.6s ease-in-out infinite}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.motif-fisherman svg{transform-origin:50% 88%;animation:boat-bob 4.2s ease-in-out infinite}@keyframes boat-bob{0%,to{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg) translateY(-2px)}}@media(prefers-reduced-motion:reduce){.balloon-lift,.motif-fisherman svg,.journey-depth:before,.checkpoint-gate.available,.road-node,.road-node:before,.road-node:after,.road-node.current .stone-milestone-art,.road-node.current .node-medallion svg,.unit-stone-road,.mini-wave-arm,.mini-blink,.hero-sparks path,.hero-sparks circle,.hsunok:not(.open),.lightning-clock.low,.bounce,.loading-dots span,.week-dot.on,.progress-seg .seg.now,.progress-seg .seg.done,.streak-live svg,.rec-bars span,.speaker-waves.live path,.mini-model.playing,.xp-pop,.hud-stat.xp-run,.combo-flare{animation:none!important;transition:none!important}}.mini-on-road{position:absolute;z-index:3;display:flex;flex-direction:column;align-items:center;width:120px;animation:rise-in .5s .15s both}.mini-on-road .bubble{margin-bottom:5px}.mini-shadow{width:52px;height:12px;border-radius:50%;background:radial-gradient(ellipse,#1e192d6b,#1e192d00 72%);filter:blur(1.5px);margin-top:-4px}.mini-wave-arm{transform-box:fill-box;transform-origin:20% 90%;animation:wave-hand 1.6s ease-in-out infinite}@keyframes wave-hand{0%,to{transform:rotate(0)}50%{transform:rotate(-14deg)}}.bubble{background:#fff;border-radius:13px;padding:7px 12px;font-size:12.5px;font-weight:700;position:relative;box-shadow:0 4px 14px #2a244029;text-align:center}.bubble:after{content:"";position:absolute;bottom:-5px;left:50%;width:11px;height:11px;background:#fff;transform:translate(-50%) rotate(45deg)}.mini-on-road .bubble{background:#fffdf7;border:1.5px solid rgba(210,190,150,.6);border-radius:16px;box-shadow:0 6px 18px #281e142e}.mini-on-road .bubble:after{background:#fffdf7}.lesson-intro-screen .lv-scroll{padding:8px 16px 96px}.lesson-intro-card{max-width:420px;margin:0 auto}.lesson-intro-kicker{display:flex;align-items:center;gap:6px;color:var(--purple);font-weight:900;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.lesson-intro-card h1{margin:8px 0 2px;font-size:24px;line-height:1.2}.lesson-intro-subtitle{color:var(--ink-soft);font-size:14px;font-weight:700}.lesson-intro-lede{margin:6px 0 10px;color:var(--ink-soft);font-size:13px}.lesson-intro-list{margin-top:2px}.lesson-intro-list .lv-recap-item{padding:7px 10px;gap:7px}.lesson-intro-list .lv-recap-item.has-art{grid-template-columns:40px minmax(0,1fr)}.lesson-intro-list .lv-recap-art svg,.lesson-intro-list .lv-recap-art .vocab-art-raster{width:40px;height:40px}.lesson-intro-list .lv-recap-meaning{font-size:13px;line-height:1.3}.lesson-intro-list .lv-recap-word-row strong{font-size:14px}.cert-medal{position:absolute;width:88px;height:88px;border-radius:50%;background:#fff;border:4px solid var(--gold);display:flex;align-items:center;justify-content:center;box-shadow:0 5px #b08d3d,0 9px 16px #2a244029;z-index:2}.cert-medal.ready:active{transform:translateY(3px);box-shadow:0 2px #b08d3d}.cert-medal.not-yet{border-color:#d3cbe9;box-shadow:0 5px #d3cbe9;filter:grayscale(.9);opacity:.8}.cert-lock{position:absolute;bottom:-2px;right:-2px;background:#fff;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:13px;box-shadow:0 2px 6px #2a244033}.road-end-label{font-size:13px;font-weight:700;color:var(--ink-soft);margin:2px 0 8px}.mini-speaker{width:108px;height:108px;border-radius:50%;background:#fff;border:3px solid var(--purple);margin:10px auto 6px;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 5px 0 var(--purple-soft)}.mini-speaker:active{transform:translateY(2px);box-shadow:0 3px 0 var(--purple-soft)}.speaker-waves{position:absolute;right:-2px;top:30px}.speaker-waves path{opacity:.45;transition:opacity .2s}.speaker-waves.live path{animation:wave-throb .9s ease-in-out infinite}.speaker-waves.live path:nth-child(2){animation-delay:.25s}@keyframes wave-throb{0%,to{opacity:.35}50%{opacity:1}}.slow-btn{display:inline-flex;align-items:center;gap:6px;margin-top:2px;background:var(--purple-soft);color:var(--purple-dark);border-radius:999px;padding:6px 14px;font-weight:800;font-size:13px;box-shadow:0 2px #cdbcf3}.slow-btn:active{transform:translateY(1px);box-shadow:0 1px #cdbcf3}.mini-model{position:relative;background:#fff;border:2px solid var(--purple);border-radius:50%;width:52px;height:52px;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}.mini-model-badge{position:absolute;bottom:-4px;right:-4px;background:var(--purple);color:#fff;border-radius:50%;width:20px;height:20px;font-size:10px;display:flex;align-items:center;justify-content:center}.mini-model.playing{animation:model-ring 1.1s ease-in-out infinite}@keyframes model-ring{0%,to{outline:4px solid var(--purple-soft);outline-offset:0}50%{outline:9px solid var(--purple-soft);outline-offset:1px}}.league-mini{display:flex;align-items:flex-end;gap:8px;margin-bottom:14px}.league-mini .bubble{text-align:left}.league-mini .bubble:after{left:18px}.league-safety-note{display:flex;align-items:flex-start;gap:9px;margin:0 0 8px;padding:10px 12px;border:1px solid #c9dfd3;border-radius:13px;background:#edf8f1;color:#276648}.league-safety-note .my{margin-top:2px;color:#3f6f58;font-size:10.5px;line-height:1.55}.league-threshold-note{margin:10px 4px 0;color:var(--ink-soft);font-size:11px;text-align:center}.speak-target{display:flex;align-items:center;gap:12px;background:var(--card);border:2px solid var(--line);border-radius:var(--radius);padding:14px 16px}.speak-model-btn{width:48px;height:48px;border-radius:50%;background:var(--purple);color:#fff;font-size:20px;flex-shrink:0;box-shadow:0 3px 0 var(--purple-dark)}.speak-model-btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--purple-dark)}.speak-text{font-size:19px;font-weight:800;line-height:1.4}.mic-btn{width:92px;height:92px;border-radius:50%;background:var(--purple);color:#fff;font-size:36px;box-shadow:0 6px 0 var(--purple-dark);display:inline-flex;align-items:center;justify-content:center}.mic-btn:active{transform:translateY(3px);box-shadow:0 3px 0 var(--purple-dark)}.mic-btn.recording{background:var(--red);box-shadow:0 6px #b53c3a;animation:rec-pulse 1.2s infinite}@keyframes rec-pulse{0%,to{outline:6px solid var(--red-soft);outline-offset:0}50%{outline:12px solid var(--red-soft);outline-offset:2px}}.speak-heard{background:#f5f1e8;color:var(--ink-soft);border-radius:10px;padding:8px 12px;font-size:14px;display:inline-flex;flex-direction:column;align-items:center;gap:4px}.speak-heard.matched{background:var(--green-soft);color:var(--green)}.speak-heard.retry{background:#fff7df;color:#8a6417}.speak-match-label{display:inline-flex;align-items:center;gap:5px;font-weight:800}.rec-bars{display:flex;gap:4px;align-items:center;justify-content:center;height:28px;margin-top:12px}.rec-bars span{width:5px;height:8px;border-radius:999px;background:var(--red);animation:eq-bounce .9s ease-in-out infinite}.rec-bars span:nth-child(1){animation-delay:0s}.rec-bars span:nth-child(2){animation-delay:.15s}.rec-bars span:nth-child(3){animation-delay:.3s}.rec-bars span:nth-child(4){animation-delay:.45s}.rec-bars span:nth-child(5){animation-delay:.6s}@keyframes eq-bounce{0%,to{height:8px;opacity:.7}50%{height:26px;opacity:1}}.house-ad-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#140e28eb;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.house-ad{background:#fff;border-radius:20px;padding:24px 20px;max-width:340px;width:100%;text-align:center;animation:pop-in .3s cubic-bezier(.2,1.4,.4,1)}.house-ad-tag{font-size:11px;font-weight:800;color:var(--ink-soft);text-transform:uppercase;letter-spacing:1px;text-align:left}.house-ad-logo{font-size:44px;margin:12px 0 4px}.house-ad-title{font-weight:900;font-size:20px;color:var(--purple-dark)}.house-ad-body{font-size:14px;color:var(--ink-soft)}.house-ad-btn{width:100%;min-height:50px;border-radius:14px;background:var(--purple);color:#fff;font-weight:800;font-size:16px;margin-top:8px}.house-ad-btn:disabled{background:var(--line);color:var(--ink-soft)}.net-error{background:var(--red-soft);color:var(--red);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700;text-align:center;margin:0 0 10px}.center{text-align:center}.mt{margin-top:16px}.feedback-answer .answer-check{color:var(--green)}.mic-btn{display:inline-flex;align-items:center;justify-content:center}.house-ad-logo,.week-dot{line-height:0}.loading-screen{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--ink-soft)}.loading-dots{display:flex;gap:7px}.loading-dots span{width:9px;height:9px;border-radius:50%;background:var(--purple);animation:dot-bounce 1.1s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.15s}.loading-dots span:nth-child(3){animation-delay:.3s}@keyframes dot-bounce{0%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-7px);opacity:1}}.countdown{display:flex;align-items:center;justify-content:center;gap:8px}@media(max-width:420px){.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.missions-head{margin-bottom:14px;padding:2px 2px 4px;color:var(--ink)}.streak-calendar-card,.streak-freeze-card,.week-dots-card,.mission-card,.stamp-card{background:#fffaf0;border:2px solid #e8dcc0;border-radius:14px;box-shadow:0 3px #e3d5b5}.streak-calendar-card{margin-bottom:14px;padding:14px;color:var(--ink)}.streak-calendar-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #e8dcc0}.streak-calendar-stat{display:flex;align-items:center;min-width:0;gap:9px}.streak-calendar-stat>span:last-child{display:flex;min-width:0;flex-direction:column;line-height:1.2}.streak-calendar-stat strong{color:var(--maroon);font-size:30px;font-weight:900;font-variant-numeric:tabular-nums}.streak-calendar-stat .my{color:var(--ink-soft);font-size:11.5px;font-weight:700;line-height:1.35}.streak-calendar-stat.freeze{flex-shrink:0;padding-left:12px;border-left:1px solid #e8dcc0}.streak-calendar-stat.freeze strong{font-size:23px}.streak-calendar-icon{display:grid;width:36px;height:36px;flex-shrink:0;place-items:center;border:1px solid #dccb9d;border-radius:50%;background:#f5e8be;box-shadow:inset 0 0 0 2px #fffaf0}.streak-calendar-icon.flame{border-color:#d7b75d}.streak-calendar-weekdays,.streak-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.streak-calendar-weekdays{margin:12px 0 7px;color:var(--ink-soft);text-align:center}.streak-calendar-weekdays .my{font-size:11px;font-weight:800}.streak-calendar-day{position:relative;display:flex;height:39px;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:0;border:1px solid transparent;border-radius:9px;color:var(--ink-soft);line-height:1}.streak-calendar-day-number{font-size:12px;font-weight:800;line-height:1.15}.streak-calendar-day.studied{border-color:#b8901f;background:#e7c24e;color:#4a3505;box-shadow:inset 0 1px #fffae0bf}.streak-calendar-day.studied svg{margin-top:1px}.streak-calendar-day.today{z-index:1;outline:2px solid var(--purple);outline-offset:1px}.streak-calendar-day.future{opacity:.28}.streak-freeze-card{margin-bottom:14px;padding:10px 12px 10px 14px;color:var(--ink)}.streak-freeze-card.full{border-color:#d4bd75}.streak-freeze-card .freeze-ic{border:1px solid #dccb9d;background:#f5e8be;box-shadow:inset 0 0 0 2px #fffaf0}.streak-freeze-card .freeze-count{background:var(--maroon);color:#fffaf0}.streak-freeze-card .freeze-pip{border:1px solid #dbcfae;background:#f1e7cf}.streak-freeze-card .freeze-pip.on{border-color:#b8901f;background:var(--gold)}.streak-freeze-card .freeze-btn{background:var(--maroon);color:#fffaf0;box-shadow:0 3px #3d1112;white-space:nowrap}.streak-freeze-card .freeze-btn:not(:disabled):active{transform:translateY(2px);box-shadow:0 1px #3d1112}.streak-screen{gap:14px;background:#fffaf0}.streak-screen-head{display:grid;grid-template-columns:38px minmax(0,1fr) 52px;align-items:center;gap:10px}.streak-screen-head>button{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;color:var(--ink-soft)}.streak-screen-head>button:focus-visible{outline:3px solid #e7c24e;outline-offset:2px}.streak-screen-head p{margin:0;color:#b53c3a;font-size:10px;font-weight:1000;letter-spacing:.14em}.streak-screen-head h1{margin:1px 0 0;font-size:20px;line-height:1.4}.streak-help{margin:0 8px;color:var(--ink-soft);font-size:12px;line-height:1.6;text-align:center}.week-dots-card{margin-bottom:14px;padding:13px 14px;color:var(--ink)}.week-dots-card .week-dots{justify-content:space-between}.mission-card{margin-bottom:12px;padding:14px;color:var(--ink)}.mission-card.done{border-color:#c9a227;background:#fffaf0}.mission-card.done .mission-title{color:#70570d}.mission-check{border-color:#d8ccb0;background:#fff6}.mission-check.on{width:32px;height:32px;border:3px double #1f8a55;background:#fffaf0;color:#1f8a55;box-shadow:inset 0 0 0 1px #1f8a551f}.mission-count{color:var(--ink-soft)}.stamp-card{padding:18px 16px;border-color:#c9a227;color:var(--ink)}.missions-screen{--missions-paper: #fffaf0;--missions-border: #e8dcc0;--missions-shadow: #e3d5b5;--missions-lacquer: #a03b2e;display:flex;gap:16px;padding:max(14px,env(safe-area-inset-top)) 14px 100px;background:#f4eddf;color:var(--ink)}.missions-screen .missions-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:2px 2px 0}.missions-screen .missions-head>div{min-width:0}.missions-screen .missions-head p{margin:0 0 1px;color:var(--missions-lacquer);font-size:10px;font-weight:1000;letter-spacing:.14em}.missions-screen .missions-head h1{margin:0;color:var(--ink);font-size:24px;font-weight:900;line-height:1.45}.missions-screen .missions-streak-hero,.missions-screen .missions-ledger,.missions-screen .streak-freeze-card,.missions-screen .week-dots-card{background:#fffaf0;border:2px solid #e8dcc0;border-radius:14px;box-shadow:0 3px #e3d5b5}.missions-screen .missions-streak-hero{display:grid;grid-template-columns:106px minmax(0,1fr);gap:14px;margin:0;padding:15px;color:var(--ink)}.missions-streak-summary{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding-right:14px;border-right:1px dashed var(--missions-border)}.missions-screen .missions-streak-summary .streak-calendar-icon{width:40px;height:40px;border:3px double #c9a227;background:#fff2c7;box-shadow:none}.missions-streak-copy{display:flex;min-width:0;flex-direction:column}.missions-streak-copy p{margin:9px 0 0;color:var(--missions-lacquer);font-size:9px;font-weight:1000;letter-spacing:.1em;line-height:1.2}.missions-streak-copy strong{margin:-1px 0 -4px;color:var(--maroon);font-size:48px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1.25}.missions-streak-copy>span{color:var(--ink-soft);font-size:11px;font-weight:700;line-height:1.45}.missions-calendar{align-self:center;min-width:0}.missions-screen .streak-calendar-weekdays,.missions-screen .streak-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.missions-screen .streak-calendar-weekdays{margin:0 0 7px;color:var(--ink-soft)}.missions-screen .streak-calendar-weekdays .my{font-size:10px;font-weight:800}.missions-screen .streak-calendar-day{display:flex;width:100%;max-width:32px;height:auto;min-width:0;aspect-ratio:1;place-self:center;flex-direction:column;align-items:center;justify-content:center;gap:0;border:1px solid transparent;border-radius:50%;color:var(--ink-soft);line-height:1}.missions-screen .streak-calendar-day-number{font-size:10px;font-weight:800;line-height:1}.missions-screen .streak-calendar-day.studied{border:3px double var(--missions-lacquer);background:#f8e5a8;color:var(--maroon);box-shadow:none}.missions-screen .streak-calendar-day.studied svg{margin:0}.missions-screen .streak-calendar-day.today{z-index:1;outline:2px solid var(--maroon);outline-offset:1px}.missions-screen .streak-calendar-day.future{opacity:.28}.missions-ledger{overflow:hidden;color:var(--ink)}.missions-ledger-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border-bottom:2px solid var(--missions-border)}.missions-ledger-head>div{min-width:0}.missions-ledger-head h2{margin:0;color:var(--maroon);font-size:22px;font-weight:1000;letter-spacing:.025em;line-height:1.15}.missions-ledger-head p{max-width:290px;margin:4px 0 0;color:var(--ink-soft);font-size:12px;line-height:1.5}.missions-total-seal{display:grid;width:58px;height:58px;flex-shrink:0;grid-template-columns:1fr auto 1fr;place-items:center;gap:1px;border:2px solid #d9cdb0;border-radius:50%;background:#fffdf6;color:var(--ink-soft);font-size:11px;transform:rotate(3deg)}.missions-total-seal.done{border:4px double var(--missions-lacquer);background:#fff2c7;color:var(--maroon)}.missions-total-seal strong{font-size:17px;line-height:1}.missions-list{display:flex;flex-direction:column}.missions-screen .mission-card{margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--ink);animation:none}.missions-screen .mission-card+.mission-card{border-top:1px dashed var(--missions-border)}.missions-screen .mission-card.done{background:#fff5d9}.missions-screen .mission-card.done .mission-title{color:var(--maroon)}.missions-screen .mission-row{display:flex;align-items:center;gap:11px;padding:14px 16px}.mission-order{width:18px;flex:0 0 18px;color:var(--missions-lacquer);font-size:13px;font-weight:900;text-align:center}.mission-copy{min-width:0;flex:1}.missions-screen .mission-title{margin:0;color:var(--ink);font-size:16px;font-weight:900;line-height:1.5}.missions-screen .mission-sub{margin:0;color:var(--ink-soft);font-size:12px;line-height:1.4}.mission-meter{width:100%;height:4px;overflow:hidden;margin-top:8px;border-radius:999px;background:#eadfc6}.mission-meter-fill{display:block;height:100%;border-radius:inherit;background:var(--missions-lacquer);transition:width .3s cubic-bezier(.16,1,.3,1)}.mission-card.done .mission-meter-fill{background:var(--gold)}.mission-result{display:flex;width:46px;flex:0 0 46px;flex-direction:column;align-items:center;gap:4px}.missions-screen .mission-check{display:grid;width:34px;height:34px;place-items:center;border:2px solid #d8ccb0;border-radius:50%;background:#fffdf6;color:var(--missions-lacquer)}.missions-screen .mission-check.on{width:36px;height:36px;border:4px double var(--missions-lacquer);background:#fff2c7;color:var(--missions-lacquer);box-shadow:none;animation:pop-in .35s cubic-bezier(.2,1.4,.4,1)}.missions-screen .mission-count{margin:0;color:var(--ink-soft);font-size:10.5px;font-weight:800;line-height:1.2;white-space:nowrap}.missions-screen .stamp-card{display:flex;align-items:center;gap:14px;margin:0;padding:14px 16px 16px;border:0;border-top:2px dashed #c9a227;border-radius:0;background:#fff2c7;box-shadow:none;color:var(--ink);text-align:left}.missions-screen .stamp-card .stamp-anim{flex:0 0 auto}.missions-screen .stamp-card p{margin:0}.missions-screen .stamp-card p:first-child{color:var(--maroon);font-size:14px;font-weight:900;line-height:1.5}.missions-screen .stamp-card p:last-child{margin-top:3px;color:var(--ink-soft);font-size:12px;line-height:1.45}.missions-support{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(132px,.65fr);align-items:stretch;gap:12px}.missions-screen .streak-freeze-card{display:grid;grid-template-columns:40px minmax(0,1fr);align-content:start;align-items:start;gap:10px;margin:0;padding:14px;color:var(--ink)}.missions-screen .streak-freeze-card.full{border-color:var(--missions-border)}.missions-screen .streak-freeze-card .freeze-ic{display:grid;width:40px;height:40px;place-items:center;border:3px double #c9a227;border-radius:50%;background:#fff2c7;box-shadow:none}.missions-screen .freeze-txt{min-width:0}.missions-screen .freeze-title{display:flex;align-items:center;gap:6px;color:var(--maroon);font-size:14px;font-weight:900;line-height:1.3}.missions-screen .streak-freeze-card .freeze-count{display:inline-grid;min-width:25px;height:25px;place-items:center;padding:0 4px;border:3px double var(--missions-lacquer);border-radius:50%;background:#fffaf0;color:var(--maroon);font-size:11px;line-height:1}.missions-screen .freeze-sub{margin-top:2px;color:var(--ink-soft);font-size:11px;line-height:1.45}.missions-screen .freeze-pips{display:flex;gap:5px;margin-top:7px}.missions-screen .streak-freeze-card .freeze-pip{width:20px;height:6px;border:1px solid #dbcfae;border-radius:999px;background:#f1e7cf}.missions-screen .streak-freeze-card .freeze-pip.on{border-color:#b8901f;background:var(--gold)}.missions-screen .streak-freeze-card .freeze-btn{display:inline-flex;min-height:42px;grid-column:1 / -1;align-items:center;justify-content:center;gap:6px;margin-top:3px;padding:8px 10px;border-radius:14px;background:var(--maroon);box-shadow:0 3px #3d1112;color:#fffaf0;font-size:12px;font-weight:900;line-height:1.2;white-space:nowrap}.missions-screen .streak-freeze-card .freeze-btn:not(:disabled):active{transform:translateY(2px);box-shadow:0 1px #3d1112}.missions-screen .week-dots-card{display:flex;flex-direction:column;margin:0;padding:14px;color:var(--ink);text-align:left}.missions-week-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.missions-week-head h3{margin:0;color:var(--maroon);font-size:12px;font-weight:1000;letter-spacing:.035em;line-height:1.2}.missions-week-head strong{color:var(--missions-lacquer);font-size:11px;line-height:1;white-space:nowrap}.missions-screen .week-dots{display:grid;grid-template-columns:repeat(3,28px);justify-content:start;gap:7px;margin-top:12px}.missions-screen .week-dot{display:grid;width:28px;height:28px;place-items:center;border:2px solid #d8ccb0;border-radius:50%;color:#b9ab8d;line-height:0;animation:none}.missions-screen .week-dot.on{border:4px double var(--missions-lacquer);background:#fff2c7;color:var(--gold);animation:pop-in .35s cubic-bezier(.2,1.4,.4,1) both}.missions-screen .week-dots-card>p{margin:auto 0 0;padding-top:12px;color:var(--ink-soft);font-size:10.5px;line-height:1.5}.missions-screen .tabbar{border-top-color:#e8dcc0;background:#fffaf0}.missions-screen .tab.active{color:var(--maroon)}.missions-screen .tab.active:before{background:var(--missions-lacquer)}.missions-load-state{padding:22px;background:#f4eddf;color:var(--ink);text-align:center}.missions-load-state p{max-width:300px;margin:0}.missions-load-state button{min-height:44px;padding:8px 18px;border-radius:14px;background:var(--maroon);box-shadow:0 3px #3d1112;color:#fffaf0;font-weight:900}.missions-load-state button:active{transform:translateY(2px);box-shadow:0 1px #3d1112}.missions-screen button:focus-visible,.missions-load-state button:focus-visible{outline:3px solid #c9a227;outline-offset:3px}@media(max-width:390px){.missions-screen .missions-streak-hero{grid-template-columns:1fr}.missions-streak-summary{flex-direction:row;align-items:center;gap:10px;padding:0 0 11px;border-right:0;border-bottom:1px dashed var(--missions-border)}.missions-streak-copy{display:grid;grid-template-columns:auto 1fr;align-items:end;column-gap:8px}.missions-streak-copy p{grid-column:1 / -1;margin:0}.missions-streak-copy strong{font-size:38px}.missions-streak-copy>span{padding-bottom:6px}.missions-support{grid-template-columns:1fr}.missions-screen .week-dots{grid-template-columns:repeat(7,28px)}}@media(max-width:340px){.missions-screen{padding-right:10px;padding-left:10px}.missions-ledger-head{align-items:flex-start}.missions-ledger-head h2{font-size:19px}.missions-screen .mission-row{padding-right:12px;padding-left:12px}.mission-order{display:none}.missions-screen .week-dots{grid-template-columns:repeat(7,minmax(0,1fr))}.missions-screen .week-dot{width:26px;height:26px}}@media(prefers-reduced-motion:reduce){.missions-screen .mission-meter-fill{transition:none}.missions-screen .mission-check.on,.missions-screen .week-dot.on,.missions-screen .stamp-anim{animation:none}}.onboarding-screen{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding:max(14px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));background:#f7f5ff}.onboarding-screen:before{content:"";position:absolute;top:-18px;right:-26px;width:144px;height:144px;border-radius:50%;background:#f4d97a57}.onboarding-topbar{position:relative;z-index:1;display:grid;grid-template-columns:54px minmax(0,1fr) 40px;align-items:center;gap:10px;min-height:36px}.onboarding-back{min-height:36px;color:var(--purple-dark);font-size:14px;font-weight:900;text-align:left}.onboarding-back:focus-visible,.onboarding-choice:focus-visible,.goal-choice:focus-visible{outline:3px solid #e7c24e;outline-offset:2px}.onboarding-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.onboarding-progress span{height:6px;border-radius:999px;background:#ddd7ef}.onboarding-progress span.on{background:var(--purple)}.onboarding-step{color:var(--ink-soft);font-size:12px;font-weight:900;text-align:right}.onboarding-stage{position:relative;z-index:1;width:100%;max-width:410px;margin:auto;padding:20px 0 14px;animation:onboarding-step-in .28s ease both}@keyframes onboarding-step-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.onboarding-hero{position:relative;display:grid;width:172px;height:150px;margin:0 auto 8px;place-items:center}.onboarding-hero:after{content:"";position:absolute;right:2px;bottom:12px;left:2px;height:26px;border-radius:50%;background:#5537c91f;filter:blur(2px)}.onboarding-hero svg{position:relative;z-index:2}.onboarding-sun{position:absolute;top:0;right:2px;width:58px;height:58px;border:10px solid rgba(244,217,122,.28);border-radius:50%;background:#f4d97a}.onboarding-kicker{margin:0 0 7px;color:var(--purple-dark);font-size:12px;font-weight:1000;letter-spacing:.13em;text-align:center}.onboarding-stage h1{margin:0;color:var(--ink);font-size:clamp(27px,7.4vw,34px);font-weight:1000;line-height:1.08;text-align:center}.onboarding-stage h1:focus{outline:none}.onboarding-stage h1 .my{display:block;margin-bottom:6px;color:var(--purple-dark);font-size:.72em;font-weight:800;line-height:1.55}.onboarding-lede{max-width:370px;margin:13px auto 0;color:var(--ink-soft);font-size:15px;line-height:1.55;text-align:center}.onboarding-benefits{display:grid;max-width:330px;margin:22px auto 0;gap:9px}.onboarding-benefits span{display:flex;align-items:center;gap:10px;color:#514a6a;font-size:14px;font-weight:800}.onboarding-benefits svg{color:var(--purple)}.onboarding-choices,.goal-choices{display:grid;margin-top:24px;gap:11px}.onboarding-choice{display:grid;grid-template-columns:44px minmax(0,1fr) 28px;align-items:center;gap:11px;min-height:76px;padding:10px 13px;border:2px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 3px #ddd7ef;text-align:left;transition:border-color .16s,background .16s,transform .12s}.onboarding-choice:active{transform:translateY(2px);box-shadow:0 1px #ddd7ef}.onboarding-choice.selected{border-color:var(--purple);background:var(--purple-soft);box-shadow:0 3px #c9bcfb}.onboarding-choice-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#f6f3ff;font-size:23px}.onboarding-choice.selected .onboarding-choice-mark{background:#fff}.onboarding-choice-copy{display:flex;min-width:0;flex-direction:column}.onboarding-choice-copy strong{font-size:16px;line-height:1.25}.onboarding-choice-copy .my{color:var(--ink-soft);font-size:13px;line-height:1.5}.onboarding-radio{display:grid;width:24px;height:24px;place-items:center;border:2px solid #c9c1df;border-radius:50%;color:#fff}.selected .onboarding-radio{border-color:var(--purple);background:var(--purple)}.goal-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-choice{position:relative;display:flex;min-height:124px;flex-direction:column;align-items:flex-start;padding:15px 14px 12px;border:2px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 3px #ddd7ef;text-align:left}.goal-choice.selected{border-color:var(--purple);background:var(--purple-soft);box-shadow:0 3px #c9bcfb}.goal-xp{display:flex;align-items:center;gap:4px;color:var(--purple-dark);font-size:17px;font-weight:1000}.goal-name{display:flex;margin-top:7px;flex-direction:column}.goal-name strong{font-size:14px}.goal-name .my{color:var(--ink-soft);font-size:11px;line-height:1.5}.goal-time{margin-top:auto;color:var(--ink-soft);font-size:12px;font-weight:800}.goal-recommended{position:absolute;top:-8px;right:10px;padding:2px 7px;border-radius:999px;background:#e7c24e;color:#553f0c;font-size:8px;font-weight:1000;letter-spacing:.08em}.onboarding-actions{position:relative;z-index:2;width:100%;max-width:410px;margin:0 auto;padding-top:10px}.onboarding-actions .btn:disabled{box-shadow:none}.onboarding-error{margin:0 0 8px;color:var(--red);font-size:13px;font-weight:800;text-align:center}@media(max-height:680px){.onboarding-stage{padding-top:8px}.onboarding-hero{width:130px;height:112px;margin-bottom:2px}.onboarding-hero svg{width:94px;height:94px}.onboarding-stage h1{font-size:25px}.onboarding-benefits{margin-top:14px;gap:5px}.onboarding-choices,.goal-choices{margin-top:14px;gap:8px}.onboarding-choice{min-height:66px}.goal-choice{min-height:104px;padding-top:11px}}@media(prefers-reduced-motion:reduce){.onboarding-stage{animation:none}.onboarding-choice{transition:none}}.profile-screen{padding:0 14px 108px;background:#f7f5ff}.profile-hero{display:flex;min-height:190px;align-items:center;gap:16px;margin:0 -14px;padding:max(24px,env(safe-area-inset-top)) 22px 34px;border-bottom:2px solid #ded6fa;background:#6c4fe0;color:#fff}.profile-avatar{display:grid;width:94px;height:94px;flex:0 0 94px;place-items:end center;overflow:hidden;border:4px solid rgba(255,255,255,.82);border-radius:50%;background:#f4d97a;box-shadow:0 5px #5537c9}.profile-avatar svg{width:100px;height:100px;transform:translateY(8px)}.profile-hero h1{margin:2px 0;font-size:24px;font-weight:1000;line-height:1.1}.profile-hero p{margin:0;font-size:13px;font-weight:800;opacity:.86}.profile-hero .profile-kicker{color:#f4d97a;opacity:1}.profile-kicker{margin:0 0 3px;color:var(--purple-dark);font-size:10px;font-weight:1000;letter-spacing:.1em}.profile-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:-18px 0 14px}.profile-stat{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;min-height:86px;padding:11px 12px;border:2px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 3px #ded8ef}.profile-stat>svg{grid-row:1 / 3}.profile-stat strong{font-size:22px;font-weight:1000;line-height:1}.profile-stat>span:not(.my){font-size:11px;font-weight:900}.profile-stat .my{grid-column:1 / -1;margin-top:4px;color:var(--ink-soft);font-size:10px;line-height:1.3}.profile-card{margin-bottom:14px;padding:16px;border:2px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 3px #e2ddec}.profile-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:var(--purple-dark)}.profile-section-head.compact{margin-bottom:4px}.profile-section-head h2{margin:0;color:var(--ink);font-size:20px;line-height:1.4}.profile-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,1.25fr);align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.profile-field>span{display:flex;min-width:0;flex-direction:column}.profile-field strong{font-size:14px}.profile-field .my{color:var(--ink-soft);font-size:11px;line-height:1.4}.profile-field select{width:100%;min-height:44px;padding:7px 30px 7px 10px;border:2px solid var(--line);border-radius:12px;background:#faf9ff;color:var(--ink);font:inherit;font-size:13px;font-weight:800}.profile-field select:focus-visible{outline:3px solid #e7c24e;outline-offset:1px}.profile-goal-field{margin:9px 0 0;padding:12px 0 0;border:0;border-top:1px solid var(--line)}.profile-goal-field legend{padding:0;font-size:14px}.profile-goal-field legend .my{margin-left:5px;color:var(--ink-soft);font-size:12px}.profile-goals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px}.profile-goals button{display:flex;min-height:58px;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 3px;border:2px solid var(--line);border-radius:12px;background:#faf9ff}.profile-goals button.selected{border-color:var(--purple);background:var(--purple-soft);color:var(--purple-dark)}.profile-goals button:focus-visible,.profile-toggle-row:focus-visible{outline:3px solid #e7c24e;outline-offset:2px}.profile-goals button>span{display:flex;align-items:center;font-size:12px;font-weight:1000;white-space:nowrap}.profile-goals small{color:var(--ink-soft);font-size:10px;font-weight:800}.profile-save{margin-top:14px;font-size:15px}.profile-status{margin:8px 0 0;font-size:12px;font-weight:900;text-align:center}.profile-status.success{color:#1f8a55}.profile-status.error{color:var(--red)}.profile-toggle-row{display:grid;grid-template-columns:40px minmax(0,1fr) 48px;width:100%;align-items:center;gap:10px;padding:11px 0 2px;text-align:left}.profile-toggle-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--purple-soft);color:var(--purple-dark)}.profile-toggle-row>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.profile-toggle-row strong{font-size:14px}.profile-toggle-row .my{color:var(--ink-soft);font-size:11px;line-height:1.4}.profile-switch{position:relative;width:46px;height:28px;border-radius:999px;background:#cbc5d9;transition:background .15s}.profile-switch i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #2a244040;transition:transform .15s}.profile-switch.on{background:var(--purple)}.profile-switch.on i{transform:translate(18px)}.profile-summary{margin:4px 6px 0;color:var(--ink-soft);font-size:11px;text-align:center}.profile-reminder-help{margin:-2px 4px 4px;color:var(--ink-soft);font-size:11px;line-height:1.55}.profile-reminder-controls{display:grid;gap:9px;padding:10px 4px 2px;border-top:1px solid var(--line)}.profile-reminder-controls>label{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-reminder-controls>label>span{display:flex;flex-direction:column;font-size:13px}.profile-reminder-controls>label .my{color:var(--ink-soft);font-size:10px}.profile-reminder-controls input{min-height:42px;padding:7px 10px;border:2px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:inherit}.profile-reminder-controls .btn{margin:0}.profile-preference-divider{height:1px;margin:10px 0 2px;background:var(--line)}@media(max-width:370px){.profile-hero{padding-right:16px;padding-left:16px}.profile-avatar{width:82px;height:82px;flex-basis:82px}.profile-hero h1{font-size:21px}.profile-card{padding:14px 12px}.profile-field{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:7px}.profile-field select{font-size:12.5px}.profile-goals{gap:4px}.profile-goals button>span{font-size:11px}.tab-label.my{font-size:10.5px}}@media(prefers-reduced-motion:reduce){.profile-switch,.profile-switch i{transition:none}}.words-screen{min-height:100vh;padding:max(16px,env(safe-area-inset-top)) 14px 32px;background:#f7f5ff}.words-head{min-height:126px}.words-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:12px}.words-summary>div{display:flex;min-width:0;min-height:62px;flex-direction:column;align-items:center;justify-content:center;border:2px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 3px #ded8ef}.words-summary strong{color:var(--purple-dark);font-size:21px;line-height:1}.words-summary span{margin-top:5px;color:var(--ink-soft);font-size:9px;font-weight:850}.words-practice-btn,.words-library-link{display:grid;width:100%;align-items:center;border:2px solid #e5c45c;border-radius:17px;background:#fffaf0;color:#5d4811;box-shadow:0 3px #e9d995;text-align:left}.words-practice-btn{grid-template-columns:42px minmax(0,1fr);gap:10px;min-height:70px;padding:11px 13px;margin-bottom:12px}.words-practice-btn>svg{color:var(--gold)}.words-practice-btn>span{display:flex;min-width:0;flex-direction:column}.words-practice-btn strong{font-size:14px}.words-practice-btn small{margin-top:2px;color:#786332;font-size:10.5px;line-height:1.45}.words-practice-btn:disabled{border-color:var(--line);background:#f5f3f8;color:var(--ink-soft);box-shadow:none}.words-search{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px;margin-bottom:10px;padding:0 12px;border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--ink-soft)}.words-search:focus-within{border-color:var(--purple);outline:3px solid #e8e0ff}.words-search input{width:100%;min-height:46px;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:13px;font-weight:750}.words-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:8px}.words-filters button{display:flex;min-height:48px;min-width:0;flex-direction:column;align-items:center;justify-content:center;padding:5px 3px;border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--ink-soft)}.words-filters button.active{border-color:var(--purple);background:var(--purple-soft);color:var(--purple-dark)}.words-filters span{font-size:11px;font-weight:900}.words-filters small{font-size:8.5px;line-height:1.35}.words-result-count{margin:8px 2px;color:var(--ink-soft);font-size:11px;font-weight:850}.words-save-error{margin:8px 0;padding:8px 10px;border-radius:10px;background:var(--red-soft);color:var(--red);font-size:11px;font-weight:800}.word-card-list{display:grid;gap:10px}.word-library-card{overflow:hidden;border:2px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 3px #ded8ef}.word-library-card.open{border-color:#b9a8e8}.word-card-top{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:stretch}.word-card-flip{display:flex;min-width:0;min-height:116px;flex-direction:column;align-items:flex-start;justify-content:center;padding:13px 10px 13px 14px;text-align:left}.word-card-flip>strong{margin-top:8px;color:var(--ink);font-size:22px;line-height:1.25;overflow-wrap:anywhere}.word-card-flip>small{margin-top:3px;color:var(--ink-soft);font-size:11px}.word-flip-hint{margin-top:7px;color:#857c9b;font-size:9.5px}.word-mastery{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;background:#f2eff8;color:#6e6584;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}.word-mastery.due{background:#fff4cf;color:#7b5c00}.word-mastery.mastered{background:var(--green-soft);color:#21754d}.word-mastery.learning{background:var(--purple-soft);color:var(--purple-dark)}.word-card-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding-right:8px}.word-card-actions button{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:#f2eff8;color:var(--purple-dark)}.word-card-actions button.favorite{background:#fff3cf;color:#a87900}.word-card-actions button:focus-visible,.word-card-flip:focus-visible,.words-filters button:focus-visible,.words-practice-btn:focus-visible,.words-library-link:focus-visible{outline:3px solid #e7c24e;outline-offset:-1px}.word-card-back{padding:13px 14px 15px;border-top:1px dashed #cfc7e4;background:linear-gradient(180deg,#faf8ff,#fff);animation:rise-in .2s both}.word-meaning{margin:0;color:var(--purple-dark);font-size:18px;font-weight:750;line-height:1.6}.word-example{display:flex;flex-direction:column;gap:4px;margin-top:9px;padding:10px;border-radius:11px;background:#f4f1fb}.word-example strong{font-size:13px;line-height:1.45}.word-example .my{color:var(--ink-soft);font-size:11px;line-height:1.55}.word-source{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;color:var(--ink-soft);font-size:9.5px;font-weight:850}.word-source span{padding:3px 6px;border-radius:999px;background:#eeeaf7}.word-strength-track{height:6px;margin-top:10px;overflow:hidden;border-radius:999px;background:var(--line)}.word-strength-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8e75ef,#2fb673)}.words-empty,.words-no-results{display:flex;min-height:280px;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--ink-soft);text-align:center}.words-empty h2{margin:0;color:var(--ink);font-size:20px}.words-empty p{max-width:300px;margin:0;font-size:12px;line-height:1.7}.words-empty .btn{max-width:260px}.words-no-results{min-height:180px}.words-no-results .my{font-size:11px}@media(max-width:340px){.words-summary{gap:4px}.words-summary>div{min-height:56px}.words-summary strong{font-size:18px}.words-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}.practice-hub-screen{padding:0 14px 28px;background:#f7f5ff}.practice-hub-head{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 72px;align-items:center;gap:9px;margin:0 -14px 16px;padding:max(18px,env(safe-area-inset-top)) 14px 20px;border-bottom:2px solid #ded6fa;background:#fff}.practice-hub-head>button{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:var(--purple-soft);color:var(--purple-dark)}.practice-hub-head h1{margin:0;color:var(--ink);font-size:20px;line-height:1.4}.practice-hub-head p{margin:2px 0 0;color:var(--ink-soft);font-size:12px;line-height:1.35}.practice-hub-head .practice-hub-kicker{margin:0;color:var(--purple-dark);font-size:9px;font-weight:1000;letter-spacing:.12em}.practice-hub-head>svg{justify-self:end}.practice-hub-loading,.practice-hub-empty{display:flex;min-height:330px;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--ink-soft);text-align:center}.practice-hub-empty .btn{max-width:220px}.practice-mode-list{display:grid;gap:10px}.practice-mode-card{display:grid;grid-template-columns:48px minmax(0,1fr) 50px;min-height:94px;align-items:center;gap:11px;padding:12px 13px;border:2px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 3px #ddd7ef;text-align:left}.practice-mode-card:not(:disabled):active{transform:translateY(2px);box-shadow:0 1px #ddd7ef}.practice-mode-card:focus-visible,.practice-lightning-link:focus-visible,.practice-hub-head>button:focus-visible{outline:3px solid #e7c24e;outline-offset:2px}.practice-mode-card:disabled{opacity:.58}.practice-mode-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:50%;background:var(--purple-soft);color:var(--purple-dark)}.practice-mode-card.red .practice-mode-icon{background:var(--red-soft);color:var(--red)}.practice-mode-card.blue .practice-mode-icon{background:#e5f2fb;color:#347eb5}.practice-mode-card.green .practice-mode-icon{background:var(--green-soft);color:#1f8a55}.practice-mode-card.gold .practice-mode-icon{background:#fff3cf;color:#9a7200}.practice-mode-copy{display:flex;min-width:0;flex-direction:column}.practice-mode-copy strong{font-size:16px;line-height:1.2}.practice-mode-copy .my{color:var(--ink-soft);font-size:12px;line-height:1.5}.practice-mode-copy small{margin-top:2px;color:var(--ink-soft);font-size:10.5px;line-height:1.3}.practice-mode-count{display:flex;align-items:center;flex-direction:column;color:var(--purple-dark)}.practice-mode-count strong{font-size:23px;font-weight:1000;line-height:1}.practice-mode-count small{color:var(--ink-soft);font-size:9px;font-weight:800}.practice-why{display:flex;align-items:flex-start;gap:10px;margin:14px 2px 10px;padding:11px 12px;border-left:4px solid #e7c24e;background:#fffaf0;color:#574a26}.practice-why p{display:flex;margin:0;flex-direction:column;font-size:12px}.practice-why .my{margin-top:2px;color:#74633b;font-size:11px;line-height:1.55}.practice-lightning-link{display:grid;grid-template-columns:38px minmax(0,1fr);width:100%;align-items:center;gap:9px;min-height:60px;padding:9px 12px;border:2px solid #f2bd45;border-radius:15px;background:#fff5d9;color:#6a4710;text-align:left}.practice-lightning-link>span:first-child{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:#f7b500;color:#fff}.practice-lightning-link>span:last-child{display:flex;flex-direction:column}.practice-lightning-link strong{font-size:14px}.practice-lightning-link small{font-size:10px}.practice-lightning-link:disabled{border-color:var(--line);background:#f5f3f8;color:var(--ink-soft)}.practice-lightning-link:disabled>span:first-child{background:#ded8e8}.words-library-link{grid-template-columns:48px minmax(0,1fr) 50px;min-height:82px;gap:10px;margin-bottom:12px;padding:11px 12px;border-color:#b9a8e8;background:linear-gradient(135deg,#fff,#f5f0ff);color:var(--ink);box-shadow:0 3px #d7cfee}.words-library-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:14px;background:var(--purple-soft);color:var(--purple-dark)}.words-library-link>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.words-library-link>span:nth-child(2) strong{font-size:14px;line-height:1.3}.words-library-link>span:nth-child(2) small{margin-top:3px;color:var(--ink-soft);font-size:10px;line-height:1.35}.words-library-total{display:flex;flex-direction:column;align-items:center;color:var(--purple-dark)}.words-library-total strong{font-size:21px;line-height:1}.words-library-total small{color:var(--ink-soft);font-size:8.5px}.league-board-title{margin:0 0 8px;font-size:19px}.feedback-retry{display:flex;align-items:center;gap:6px;margin:-3px 0 10px;color:var(--purple-dark);font-size:12px;font-weight:800;line-height:1.45}.feedback-explanation{display:flex;align-items:flex-start;gap:7px;margin:0 0 10px;padding:9px 10px;border-radius:11px;background:#ffffffa6;color:var(--ink);font-size:12px;line-height:1.5}.feedback-explanation svg{flex:0 0 auto;margin-top:2px;color:var(--purple-dark)}.feedback-report-toggle{margin:0 auto 9px;color:#5f5878;font-size:11px;font-weight:800;text-decoration:underline;text-underline-offset:2px}.feedback-report-options{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 9px}.feedback-report-options button{min-height:34px;padding:6px 10px;border:1px solid #bdb4d8;border-radius:999px;background:#fff;color:#4d4568;font-size:11px;font-weight:850}.feedback-report-options button:focus-visible{outline:3px solid #e7c24e;outline-offset:2px}.feedback-report-status{display:flex;align-items:center;justify-content:center;gap:5px;min-height:28px;margin:0 0 8px;color:#5f5878;font-size:11px;font-weight:800}.feedback-report-status.sent{color:#21754d}.practice-reason{display:inline-flex;width:fit-content;max-width:100%;align-items:center;gap:6px;margin:-2px 0 12px;padding:6px 10px;border:1px solid #dcd3f2;border-radius:999px;background:#f5f0ff;color:#6745a8;font-size:11px;font-weight:850;line-height:1.35}.practice-reason.due{border-color:#efcf73;background:#fff7da;color:#795b00}.practice-reason.mistake{border-color:#f1c0bd;background:var(--red-soft);color:var(--red)}.practice-reason.strengthening{border-color:#b9dfcc;background:var(--green-soft);color:#21754d}.checkpoint-result{align-items:center;justify-content:center;gap:10px;padding:34px 24px;background:#f7f5ff;text-align:center}.checkpoint-result h1{margin:2px 0 0;font-size:27px}.checkpoint-result>p{max-width:310px;margin:0;color:var(--ink-soft);line-height:1.65}.checkpoint-result .practice-hub-kicker{color:var(--purple-dark);font-size:10px;font-weight:1000;letter-spacing:.14em}.checkpoint-result .btn{max-width:310px}.checkpoint-score{display:grid;width:132px;height:104px;place-content:center;margin:10px 0 14px;border:3px solid #e0524f;border-radius:22px;background:#fff1f0;color:#b53c3a;box-shadow:0 4px #f1c0bd}.checkpoint-score strong{font-size:31px;font-weight:1000;line-height:1}.checkpoint-score span{margin-top:7px;font-size:11px;font-weight:850}.checkpoint-score.passed{border-color:#32a86b;background:#e9f8ef;color:#21754d;box-shadow:0 4px #b9dfcc}@media(max-width:370px){.practice-hub-head{grid-template-columns:36px minmax(0,1fr) 58px}.practice-hub-head>svg{width:58px;height:58px}.practice-mode-card{grid-template-columns:44px minmax(0,1fr) 42px;gap:8px;padding-right:10px;padding-left:10px}.practice-mode-icon{width:42px;height:42px}}.type-cue{font-size:22px;font-weight:700;color:var(--ink);line-height:1.5;margin:4px 0 18px}.type-input{display:block;width:100%;border:2px solid var(--line);border-radius:var(--radius);padding:14px 16px;font-family:var(--font-latin);font-weight:700;font-size:18px;color:var(--ink);background:#fff;box-shadow:0 3px 0 var(--line);outline:none}.type-input::placeholder{color:var(--ink-soft);font-weight:600;opacity:.7}.type-input:focus{border-color:var(--purple);box-shadow:0 3px #cdbcf3}.type-input.v-good{border-color:var(--green);background:var(--green-soft);color:#1d7a4c;box-shadow:0 3px #bfe0cd}.type-input.v-bad{border-color:var(--red);background:var(--red-soft);color:var(--red);box-shadow:0 3px #f0c4c3;animation:shake .4s ease}.tip-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;color:var(--gold);background:#fff7e2;flex:none}.tip-btn:active{transform:translateY(1px)}.tip-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:flex-end;justify-content:center}.tip-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#18123070;border:none;padding:0;margin:0}.tip-sheet{position:relative;width:100%;max-width:460px;background:var(--card);border-radius:22px 22px 0 0;padding:22px 20px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px #18123033;animation:tip-rise .28s cubic-bezier(.2,1,.4,1)}@keyframes tip-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}.tip-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.tip-badge{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;color:var(--gold);background:#fff3d4;flex:none}.tip-kicker{font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--gold)}.tip-title{font-size:20px;font-weight:800;color:var(--ink)}.tip-en{font-size:16px;font-weight:600;line-height:1.5;color:var(--ink);margin:0 0 10px}.tip-my{font-size:15px;line-height:1.7;color:var(--ink-soft);margin:0 0 20px}.tip-go{width:100%}@media(prefers-reduced-motion:reduce){.tip-sheet{animation:none}}.exercise-concept-cue{width:100%;height:96px;margin:2px 0 12px;display:grid;place-items:center;animation:scene-in .32s cubic-bezier(.2,1,.4,1)}.exercise-concept-art{width:92px;height:92px;display:grid;place-items:center;border:1px solid #e4def5;border-radius:999px;background:#f2eeff;box-shadow:0 3px #ddd7ed}.exercise-concept-art>svg,.exercise-concept-art>.vocab-art-raster{width:88px;height:88px;display:block}.exercise-scene{margin:2px 0 14px;background:#fff;border:1px solid #e4def5;box-shadow:0 3px #ddd7ed;border-radius:18px;padding:6px 10px;display:flex;justify-content:center;animation:scene-in .32s cubic-bezier(.2,1,.4,1)}.exercise-scene>svg,.exercise-scene>img,.exercise-scene>.lesson-scene-visual{width:100%;max-width:300px;height:108px;object-fit:contain;display:block}.lesson-scene-visual{display:flex!important;align-items:center;justify-content:center;gap:7px;overflow:hidden}.lesson-scene-item{flex:0 0 auto;width:78px;height:78px;display:grid;place-items:center;border-radius:999px;background:var(--scene-halo, #efeaff)}.lesson-scene-item.is-vocab{background:transparent}.lesson-scene-item>svg,.lesson-scene-item>img{width:100%;height:100%;display:block;object-fit:contain}.lesson-scene-visual.is-pair{gap:24px}.lesson-scene-visual.is-pair .lesson-scene-item{width:96px;height:96px}.lesson-scene-visual.is-quartet{gap:5px}.lesson-scene-visual.is-quartet .lesson-scene-item{width:66px;height:66px}.lesson-scene-visual.is-distance{justify-content:space-around;padding:0 36px}.lesson-scene-visual.is-distance .lesson-scene-item:first-child{width:94px;height:94px}.lesson-scene-visual.is-distance .lesson-scene-item:last-child{width:68px;height:68px;transform:translateY(-8px)}.lesson-scene-visual.is-memory .lesson-scene-item:not(:first-child){opacity:.72;transform:translateY(-4px)}.lesson-scene-visual.is-sequence .lesson-scene-item:nth-child(2){transform:translateY(-8px)}.exercise-scene.is-compact{margin-bottom:10px}.exercise-scene.is-compact>svg,.exercise-scene.is-compact>img,.exercise-scene.is-compact>.lesson-scene-visual{height:74px}.exercise-scene.is-compact .lesson-scene-item{width:58px;height:58px}.exercise-scene.is-compact .lesson-scene-visual.is-pair .lesson-scene-item,.exercise-scene.is-compact .lesson-scene-visual.is-distance .lesson-scene-item:first-child{width:68px;height:68px}.exercise-scene.is-compact .lesson-scene-visual.is-distance .lesson-scene-item:last-child{width:52px;height:52px}@keyframes scene-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media(max-height:820px){.lesson-screen .exercise-concept-cue{height:76px;margin:0 0 8px}.lesson-screen .exercise-concept-art{width:72px;height:72px}.lesson-screen .exercise-concept-art>svg,.lesson-screen .exercise-concept-art>.vocab-art-raster{width:70px;height:70px}.lesson-screen .say-chip,.lesson-screen .pick-word-audio{min-height:42px;margin:0 0 8px}.lesson-screen .option-btn{min-height:50px;margin-bottom:8px;padding:9px 16px}.lesson-screen .exercise-stage{padding:6px 15px 12px}.lesson-screen .ex-focus{margin-bottom:6px;padding:3px 9px 3px 11px}}@media(max-height:700px){.exercise-concept-cue{height:68px;margin-bottom:8px}.exercise-concept-art{width:64px;height:64px}.exercise-concept-art>svg,.exercise-concept-art>.vocab-art-raster{width:62px;height:62px}.exercise-scene{margin-bottom:10px}.exercise-scene>svg,.exercise-scene>img,.exercise-scene>.lesson-scene-visual{height:84px}}@media(max-height:600px){.exercise-scene>svg,.exercise-scene>img,.exercise-scene>.lesson-scene-visual{height:66px}.exercise-scene .lesson-scene-item{width:52px;height:52px}.exercise-scene .lesson-scene-visual.is-pair .lesson-scene-item{width:60px;height:60px}}@media(prefers-reduced-motion:reduce){.exercise-concept-cue,.exercise-scene{animation:none}}:root{--violet-50: #f7f5ff;--violet-100: #efeaff;--violet-200: #ded6fa;--violet-300: #c9bcfb;--violet-600: #6c4fe0;--violet-700: #5537c9;--violet-800: #47309f;--ink-900: #2a2440;--ink-600: #6d6689;--paper-0: #ffffff;--paper-50: #fffaf0;--thanaka-100: #f7e7ce;--thanaka-border: #e8dcc0;--gold-300: #f4d97a;--gold-500: #e7c24e;--gold-700: #c9a227;--surface-canvas: var(--violet-50);--surface-card: var(--paper-0);--surface-selected: var(--violet-100);--text-primary: var(--ink-900);--text-muted: var(--ink-600);--border-subtle: #e7e2f5;--border-strong: #d8d1ec;--action-primary: var(--violet-600);--action-primary-edge: var(--violet-700);--focus-ring: var(--violet-800);--success-bg: #e3f7ec;--success-fg: #1d7a4c;--success-edge: #17623d;--danger-bg: #fdecec;--danger-fg: #b53c3a;--danger-edge: #8f2f2d;--info-bg: #eaf4fc;--info-fg: #2f6aa0;--warning-bg: #fff5d9;--warning-fg: #795b00;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-control: 12px;--radius-card: 16px;--radius-feature: 22px;--radius-pill: 999px;--shadow-card: 0 3px 0 var(--border-subtle);--shadow-tile: 0 3px 0 var(--border-strong);--shadow-action: 0 4px 0 var(--action-primary-edge);--shadow-float: 0 4px 0 var(--action-primary-edge), 0 12px 28px rgba(42, 36, 64, .16);--duration-fast: .12s;--duration-base: .2s;--duration-slow: .4s;--ease-standard: cubic-bezier(.16, 1, .3, 1);--ease-pop: cubic-bezier(.2, 1.4, .4, 1);--font-my: "Noto Sans Myanmar", "Padauk", system-ui, sans-serif;--purple: var(--action-primary);--purple-dark: var(--action-primary-edge);--purple-soft: var(--surface-selected);--bg: var(--surface-canvas);--ink: var(--text-primary);--ink-soft: var(--text-muted);--card: var(--surface-card);--line: var(--border-subtle);--green: var(--success-fg);--green-soft: var(--success-bg);--red: var(--danger-fg);--red-soft: var(--danger-bg);--gold: var(--gold-700);--radius: var(--radius-card)}html{background:#edeaf5}body{min-width:300px;min-height:100dvh;background:#edeaf5;color:var(--text-primary)}#root{position:relative;isolation:isolate;overflow-x:clip;background:var(--surface-canvas);box-shadow:0 0 54px #2a24401f}button,a,input,select{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}.my{font-synthesis:none}:where(button,a,input,select,[tabindex]):focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.screen{padding:max(var(--space-4),env(safe-area-inset-top)) var(--space-4) var(--space-5);background:var(--surface-canvas);animation:mini-screen-in var(--duration-base) var(--ease-standard) both}@keyframes mini-screen-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.card,.profile-card,.profile-stat,.practice-mode-card,.onboarding-choice,.goal-choice{border:2px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-card)}.btn{min-height:54px;border-radius:var(--radius-card);font-size:16px;font-weight:900;line-height:1.25;transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),filter var(--duration-fast) var(--ease-standard)}.btn-primary{background:var(--action-primary);color:#fff;box-shadow:var(--shadow-action)}.btn-primary:not(:disabled):active{transform:translateY(2px);box-shadow:0 2px 0 var(--action-primary-edge)}.btn-green{background:var(--success-fg);color:#fff;box-shadow:0 4px 0 var(--success-edge)}.btn-green:not(:disabled):active{transform:translateY(2px);box-shadow:0 2px 0 var(--success-edge)}.btn-outline{border:2px solid var(--border-strong);background:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-tile)}.btn-ghost{background:var(--surface-selected);color:var(--action-primary-edge)}.btn:disabled{filter:saturate(.55);opacity:.58;box-shadow:none}.screen-header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:116px;align-items:center;gap:var(--space-3);overflow:hidden;margin:0 0 var(--space-4);padding:16px 16px 19px;border:2px solid var(--border-subtle);border-radius:var(--radius-feature);background:var(--surface-card);box-shadow:var(--shadow-card)}.screen-header.has-back{grid-template-columns:40px minmax(0,1fr) auto}.screen-header:after{position:absolute;right:0;bottom:0;left:0;height:5px;background:linear-gradient(135deg,transparent 35%,rgba(108,79,224,.3) 36% 64%,transparent 65%) 0 0 / 12px 8px repeat-x;content:"";pointer-events:none}.screen-header-copy{min-width:0}.screen-header-kicker{margin:0 0 4px;color:var(--action-primary-edge);font-size:10px;font-weight:900;letter-spacing:.12em;line-height:1.2}.screen-header-title{margin:0;color:var(--text-primary);font-size:24px;font-weight:900;line-height:1.42;text-wrap:balance}.screen-header-title.my{font-weight:700}.screen-header-subtitle{margin:2px 0 0;color:var(--text-muted);font-size:13px;font-weight:700;line-height:1.45}.screen-header-visual{display:grid;min-width:72px;min-height:72px;place-items:center;align-self:center}.screen-header-back{display:grid;width:40px;height:40px;place-items:center;border-radius:var(--radius-control);background:var(--surface-selected);color:var(--action-primary-edge)}.screen-header-back:active{transform:translateY(1px) scale(.98)}.screen-header.tone-brand{border-color:#8a73ef;background:radial-gradient(circle at 90% 8%,rgba(244,217,122,.28),transparent 34%),linear-gradient(145deg,#7256e8,#5b3dd0);box-shadow:0 4px #4d31b8,0 12px 28px #462e9d33;color:#fff}.screen-header.tone-brand:after{background:linear-gradient(135deg,transparent 35%,rgba(244,217,122,.7) 36% 64%,transparent 65%) 0 0 / 12px 8px repeat-x}.screen-header.tone-brand .screen-header-kicker{color:var(--gold-300)}.screen-header.tone-brand .screen-header-title{color:#fff}.screen-header.tone-brand .screen-header-subtitle{color:#eee9ff}.tabbar,.missions-screen .tabbar{right:auto;bottom:max(8px,env(safe-area-inset-bottom));left:50%;width:calc(min(100vw,480px) - 16px);max-width:none;padding:5px;transform:translate(-50%);border:1px solid rgba(216,209,236,.92);border-radius:20px;background:#fffffff5;box-shadow:0 10px 30px #2a244029,inset 0 1px #ffffffe6;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}.tab{min-width:0;min-height:54px;justify-content:center;gap:1px;padding:5px 2px;border-radius:14px;color:#77708f;transition:color var(--duration-base) var(--ease-standard),background var(--duration-base) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.tab.active,.missions-screen .tab.active{background:var(--surface-selected);color:var(--action-primary-edge)}.tab.active:before,.missions-screen .tab.active:before{display:none}.tab:active{transform:scale(.97)}.tab-label.my{max-width:100%;overflow:hidden;font-size:11px;font-weight:700;line-height:1.55;text-overflow:ellipsis;white-space:nowrap}.has-tabbar{padding-bottom:calc(94px + env(safe-area-inset-bottom))}.home-screen{background:var(--surface-canvas)}.home-screen .hud{position:relative;z-index:4;min-height:58px;margin:0 0 8px;padding:8px 10px!important;border:2px solid var(--border-subtle);border-radius:18px;background:#fffffff2;box-shadow:var(--shadow-card)}.home-screen .level-chip{min-height:28px;display:inline-flex;align-items:center;background:var(--surface-selected);color:var(--action-primary-edge)}.home-screen .hud-stat-button,.home-screen .hud-stat{min-height:36px}.home-screen .course-head{margin:2px 0 10px;padding:0 6px}.home-screen .course-title{font-size:20px}.home-screen .daily-goal{margin-bottom:12px;padding:10px 14px;border-color:var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.home-foundations-entry{position:relative;z-index:3;display:grid;grid-template-columns:58px minmax(0,1fr) 38px;width:100%;min-height:78px;align-items:center;gap:12px;margin:0 0 12px;padding:10px 12px;border:2px solid var(--violet-200);border-radius:var(--radius-card);background:linear-gradient(112deg,#efeafff2,#fffffffa 60%);box-shadow:var(--shadow-card);color:var(--text-primary);text-align:left;transition:transform var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.home-foundations-entry:active{transform:translateY(2px);border-color:var(--violet-300);box-shadow:0 1px 0 var(--border-subtle)}.home-foundations-mark{display:grid;width:58px;height:56px;place-content:center;border:2px solid rgba(108,79,224,.22);border-radius:var(--radius-control);background:var(--surface-card);color:var(--action-primary-edge);line-height:1;text-align:center}.home-foundations-mark strong{font-size:20px;font-weight:900}.home-foundations-mark .my{color:var(--gold-700);font-size:13px;font-weight:700;line-height:1.25}.home-foundations-copy{display:flex;min-width:0;flex-direction:column}.home-foundations-copy>strong{font-size:15px;font-weight:900;line-height:1.3}.home-foundations-copy>.my{color:var(--action-primary-edge);font-size:13px;font-weight:700;line-height:1.55}.home-foundations-copy>small{overflow:hidden;color:var(--text-muted);font-size:11px;font-weight:700;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.home-foundations-go{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:var(--action-primary);color:#fff;box-shadow:0 3px 0 var(--action-primary-edge)}.home-screen .map-scene{border-radius:var(--radius-feature) var(--radius-feature) 0 0;box-shadow:inset 0 2px #ffffff73}.home-action-dock{position:relative;top:auto;right:auto;bottom:auto;z-index:3;width:auto;flex-direction:row;justify-content:flex-end;gap:8px;margin:8px 6px 12px}.home-float-action{transition:transform var(--duration-fast) var(--ease-standard),filter var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.current-lesson-jump{bottom:calc(82px + env(safe-area-inset-bottom));border-radius:var(--radius-card);box-shadow:var(--shadow-float)}.foundations-screen{gap:0;padding-bottom:calc(28px + env(safe-area-inset-bottom))}.foundations-screen .foundations-head{min-height:154px;background:radial-gradient(circle at 94% 12%,rgba(244,217,122,.34),transparent 34%),var(--surface-card)}.foundations-reference-note{display:inline-flex;width:fit-content;max-width:100%;align-items:center;gap:6px;margin-top:7px;padding:5px 8px;border-radius:8px;background:var(--surface-selected);color:var(--action-primary-edge);font-size:10px;font-weight:800;line-height:1.4}.foundations-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:10px;padding:5px;border:2px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-card)}.foundations-switch button{display:flex;min-height:52px;align-items:center;justify-content:center;gap:8px;border:2px solid transparent;border-radius:var(--radius-control);color:var(--text-muted);transition:color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.foundations-switch button:active{transform:translateY(1px)}.foundations-switch button.active{border-color:var(--violet-300);background:var(--surface-selected);color:var(--action-primary-edge)}.foundations-switch strong{font-size:17px;font-weight:900;letter-spacing:.02em}.foundations-switch .my{font-size:13px;font-weight:700}.foundations-audio-status{display:flex;min-height:30px;align-items:center;gap:7px;margin:0 2px 10px;color:var(--action-primary-edge);font-size:12px;font-weight:800}.foundations-audio-status.error{color:var(--danger-fg)}.foundation-panel{padding:15px;border:2px solid var(--border-subtle);border-radius:var(--radius-feature);background:var(--surface-card);box-shadow:var(--shadow-card)}.foundation-panel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}.foundation-panel-kicker,.number-patterns-title p{margin:0 0 2px;color:var(--action-primary-edge);font-size:9px;font-weight:900;letter-spacing:.12em;line-height:1.2}.foundation-panel-heading h2,.number-patterns-title h2{margin:0;color:var(--text-primary);font-size:19px;font-weight:900;line-height:1.25}.foundation-panel-heading>span{flex:0 0 auto;color:var(--text-muted);font-size:11px;font-weight:800}.alphabet-chart,.number-chart{display:grid;gap:8px}.alphabet-chart{grid-template-columns:repeat(4,minmax(0,1fr))}.number-chart{grid-template-columns:repeat(3,minmax(0,1fr))}.alphabet-tile,.number-tile{position:relative;overflow:hidden;border:2px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-card);box-shadow:0 2px 0 var(--border-strong);transition:transform var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.alphabet-tile{min-height:78px;padding:8px 5px 7px}.number-tile{min-height:76px;padding:8px 7px;text-align:left}.alphabet-tile:active,.number-tile:active{transform:translateY(2px);box-shadow:none}.alphabet-tile.heard,.number-tile.heard{border-color:var(--action-primary);background:var(--surface-selected);box-shadow:0 2px 0 var(--action-primary-edge)}.alphabet-letter{display:block;color:var(--text-primary);font-size:25px;font-weight:900;letter-spacing:-.05em;line-height:1}.alphabet-letter small{margin-left:2px;color:var(--action-primary);font-size:16px;font-weight:800}.alphabet-example{display:block;overflow:hidden;margin-top:7px;color:var(--text-muted);font-size:9px;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.number-digits{display:flex;align-items:baseline;justify-content:space-between;gap:4px;font-variant-numeric:tabular-nums}.number-digits strong{color:var(--text-primary);font-size:19px;font-weight:900;letter-spacing:-.02em}.number-digits .my{color:var(--gold-700);font-size:12px;font-weight:700}.number-word{display:block;margin-top:6px;color:var(--action-primary-edge);font-size:10px;font-weight:900;line-height:1.15}.number-patterns{margin-top:14px;padding:15px;border:2px solid var(--thanaka-border);border-radius:var(--radius-card);background:var(--paper-50);box-shadow:0 3px 0 var(--thanaka-border)}.number-patterns-title{display:flex;align-items:center;gap:9px;margin-bottom:11px;color:var(--gold-700)}.number-patterns dl{display:grid;gap:7px;margin:0}.number-patterns dl>div{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;min-height:38px;border-top:1px solid rgba(201,162,39,.2)}.number-patterns dt{color:var(--text-primary);font-size:16px;font-weight:900;font-variant-numeric:tabular-nums}.number-patterns dd{margin:0;color:var(--text-muted);font-size:12px;font-weight:700}.number-patterns dd strong{color:var(--action-primary-edge)}.missions-screen{--missions-paper: var(--surface-card);--missions-border: var(--border-subtle);--missions-lacquer: var(--action-primary);padding:max(var(--space-4),env(safe-area-inset-top)) var(--space-4) calc(100px + env(safe-area-inset-bottom));background:var(--surface-canvas);color:var(--text-primary)}.missions-screen:before{display:none}.missions-screen .screen-header.missions-head{display:grid;min-height:116px;margin:0 0 var(--space-4);padding:16px 16px 19px;border:2px solid var(--border-subtle);border-radius:var(--radius-feature);background:var(--surface-card);box-shadow:var(--shadow-card)}.missions-screen .screen-header.missions-head p,.missions-screen .screen-header.missions-head h1{margin:revert;color:revert;font-size:revert;letter-spacing:revert;line-height:revert}.missions-screen .screen-header.missions-head .screen-header-kicker{margin:0 0 4px;color:var(--action-primary-edge);font-size:10px;letter-spacing:.12em;line-height:1.2}.missions-screen .screen-header.missions-head .screen-header-title{margin:0;color:var(--text-primary);font-size:24px;line-height:1.42}.missions-screen .screen-header.missions-head .screen-header-subtitle{margin:2px 0 0;color:var(--text-muted);font-size:13px;font-weight:700;line-height:1.45}.missions-screen .missions-ledger,.missions-screen .week-dots-card{border:2px solid var(--border-subtle);border-radius:var(--radius-feature);background:var(--surface-card);box-shadow:var(--shadow-card)}.missions-screen .missions-ledger-head h2,.missions-screen .mission-title,.missions-week-head h3{color:var(--text-primary)}.missions-screen .mission-title.my,.missions-screen .mission-count.my{font-weight:700}.missions-screen .missions-ledger{margin-bottom:var(--space-4);padding:0}.missions-screen .missions-ledger-head{border-color:var(--border-subtle);background:#fbfaff}.missions-screen .missions-total-seal{border-color:var(--action-primary);color:var(--action-primary-edge)}.missions-screen .mission-card{margin:0;background:transparent}.missions-screen .mission-card+.mission-card{border-top:1px solid var(--border-subtle)}.missions-screen .mission-card.done{background:var(--success-bg)}.missions-screen .mission-card.done .mission-title{color:var(--success-fg)}.missions-screen .mission-order{color:var(--action-primary-edge)}.missions-screen .mission-meter{background:var(--border-subtle)}.missions-screen .mission-meter-fill{background:var(--action-primary)}.missions-screen .mission-check.on{border-color:var(--success-fg);background:var(--success-fg);color:#fff}.missions-support{grid-template-columns:minmax(0,1fr);gap:var(--space-3)}.missions-screen .week-dots-card{background:#fffdf7}.missions-screen .week-dot.on{border-color:var(--gold-700);background:var(--warning-bg)}.achievements-screen{background:var(--surface-canvas)}.achievements-screen .screen-header .badge-total-track{width:min(210px,100%);height:8px;margin-top:8px}.achievements-screen .rarity-title{margin:22px 2px 10px;font-size:14px;font-weight:900}.achievements-screen .rarity-title:after{height:1px;background:currentColor;opacity:.2}.achievements-screen .badge-grid{grid-template-columns:minmax(0,1fr);gap:10px}.achievements-screen .badge-cell{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:14px;min-height:104px;padding:14px 16px 14px 14px;border:2px solid var(--border-subtle);border-radius:var(--radius-card);text-align:left;box-shadow:var(--shadow-card)}.achievements-screen .badge-art{display:grid;place-items:center;align-self:start;width:64px;min-height:64px;border-radius:20px;background:var(--surface-raised)}.achievements-screen .badge-copy{display:grid;min-width:0;gap:2px}.achievements-screen .badge-cell.badge-open{border-color:#ead99f;background:linear-gradient(180deg,#fffdf5,#fff);box-shadow:0 3px #eadfbf}.achievements-screen .badge-name{padding-right:20px;color:var(--text-strong);font-size:15px;line-height:1.6}.achievements-screen .badge-name-en{color:#5f5878;font-size:12px;line-height:1.4}.achievements-screen .badge-hint{margin-top:5px;color:#80691e;font-size:12px;line-height:1.65}.achievements-screen .badge-progress{margin-top:7px;font-size:10px}.achievements-screen .badge-locked{filter:grayscale(.72);opacity:.74}.achievements-screen .mythic-cell{border-color:#51466f;background:linear-gradient(135deg,#302849,#211b34);box-shadow:0 3px #201a30}.achievements-screen .mythic-cell .badge-art{background:#ffffff12}.achievements-screen .mythic-cell .badge-name-en,.achievements-screen .mythic-cell .badge-progress{color:#d8cdf1}.achievements-screen .mythic-cell .badge-hint{color:#f0d77f}.achievements-screen .mythic-cell .badge-progress-track{background:#55496f}.league-screen{background:var(--surface-canvas)}.league-screen .screen-header.league-head{display:grid;margin:0 0 var(--space-4);padding:16px 16px 19px;border:2px solid var(--border-subtle);border-left-width:2px;border-radius:var(--radius-feature);box-shadow:var(--shadow-card)}.league-screen .league-xp{width:fit-content;margin-top:7px;padding:4px 9px;border-radius:var(--radius-pill);background:var(--warning-bg);color:var(--warning-fg);font-size:12px}.league-screen .league-mini{align-items:center;margin:0 0 var(--space-4)}.league-screen .card{margin-bottom:var(--space-4)!important;border-radius:var(--radius-feature);box-shadow:var(--shadow-card)}.league-safety-note{display:flex;align-items:flex-start;gap:9px;margin:0 0 6px;padding:10px 11px;border:1px solid #b9dfcc;border-radius:13px;background:#effaf4;color:#216b49}.league-safety-note>span{display:flex;min-width:0;flex-direction:column;font-size:12px}.league-safety-note .my{margin-top:2px;font-size:12px;line-height:1.55}.league-screen .league-row{min-height:50px;border-radius:var(--radius-control)}.league-screen .league-row.me{background:var(--surface-selected);color:var(--action-primary-edge)}.league-threshold-note{margin:-4px 6px 0;color:var(--text-muted);font-size:12px;line-height:1.6;text-align:center}.profile-screen{padding:max(var(--space-4),env(safe-area-inset-top)) var(--space-4) calc(104px + env(safe-area-inset-bottom));background:var(--surface-canvas)}.profile-screen .screen-header.profile-hero{display:grid;min-height:150px;margin:0 0 var(--space-4);padding:18px 18px 21px;border-radius:var(--radius-feature)}.profile-screen .screen-header.profile-hero h1,.profile-screen .screen-header.profile-hero p{margin:revert;font-size:revert;font-weight:revert;line-height:revert;opacity:1}.profile-screen .screen-header.profile-hero .screen-header-kicker{margin:0 0 4px;color:var(--gold-300);font-size:12px;font-weight:700;letter-spacing:0;line-height:1.55}.profile-screen .screen-header.profile-hero .screen-header-title{margin:0;color:#fff;font-size:25px;font-weight:900;line-height:1.2}.profile-screen .screen-header.profile-hero .screen-header-subtitle{margin:4px 0 0;color:#eee9ff;font-size:13px;font-weight:800}.profile-screen .profile-avatar{width:94px;height:94px;flex-basis:94px}.profile-stats{gap:10px;margin:0 0 var(--space-4)}.profile-stat{min-height:92px;border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.profile-stat strong{font-size:22px;font-weight:900}.profile-stat .my{font-size:11px;line-height:1.5}.profile-card{margin-bottom:var(--space-4);padding:var(--space-4);border-radius:var(--radius-feature);box-shadow:var(--shadow-card)}.profile-kicker{font-weight:900}.profile-field select,.profile-reminder-controls input,.profile-goals button{border-radius:var(--radius-control)}.profile-goals button{min-height:62px}.profile-goals button.selected{border-color:var(--action-primary);background:var(--surface-selected);box-shadow:0 2px 0 var(--violet-300)}.profile-toggle-row{min-height:58px}.profile-toggle-row .my,.profile-field .my{font-size:12px;line-height:1.5}.profile-toggle-icon{border-radius:var(--radius-control)}.profile-switch{background:#c9c3d7}.practice-hub-screen,.streak-screen{padding:max(var(--space-4),env(safe-area-inset-top)) var(--space-4) var(--space-5);background:var(--surface-canvas)}.screen-header.practice-hub-head,.screen-header.streak-screen-head{display:grid;grid-template-columns:40px minmax(0,1fr) auto;min-height:126px;margin:0 0 var(--space-4);padding:16px 16px 19px;border:2px solid var(--border-subtle);border-radius:var(--radius-feature);background:var(--surface-card);box-shadow:var(--shadow-card)}.screen-header.practice-hub-head p,.screen-header.practice-hub-head h1,.screen-header.streak-screen-head p,.screen-header.streak-screen-head h1{margin:revert;color:revert;font-size:revert;font-weight:revert;letter-spacing:revert;line-height:revert}.screen-header.practice-hub-head .screen-header-kicker,.screen-header.streak-screen-head .screen-header-kicker{margin:0 0 4px;color:var(--action-primary-edge);font-size:10px;font-weight:900;letter-spacing:.12em;line-height:1.2}.screen-header.practice-hub-head .screen-header-title,.screen-header.streak-screen-head .screen-header-title{margin:0;color:var(--text-primary);font-size:21px;line-height:1.45}.screen-header.practice-hub-head .screen-header-subtitle,.screen-header.streak-screen-head .screen-header-subtitle{margin:2px 0 0;color:var(--text-muted);font-size:12px;line-height:1.45}.screen-header.practice-hub-head .screen-header-back,.screen-header.streak-screen-head .screen-header-back{display:grid;width:40px;height:40px;place-items:center;border-radius:var(--radius-control);background:var(--surface-selected);color:var(--action-primary-edge)}.practice-mode-list{gap:12px}.practice-mode-card{min-height:100px;border-radius:var(--radius-card);box-shadow:var(--shadow-tile);transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}.practice-mode-card:not(:disabled):active{transform:translateY(2px);box-shadow:0 1px 0 var(--border-strong)}.practice-mode-icon{border-radius:var(--radius-control)}.practice-mode-copy .my{font-size:13px}.practice-mode-copy small{font-size:11px}.practice-why,.practice-lightning-link{border-radius:var(--radius-card)}.streak-screen .streak-calendar-card,.streak-screen .streak-freeze-card{border-radius:var(--radius-feature);box-shadow:var(--shadow-card)}.streak-screen .streak-freeze-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px 12px;padding:14px;background:linear-gradient(135deg,#fffaf0,#fffdf8)}.streak-screen .streak-freeze-card .freeze-ic{grid-column:1;grid-row:1}.streak-screen .streak-freeze-card .freeze-txt{grid-column:2;min-width:0}.streak-screen .streak-freeze-card .freeze-btn{grid-column:1 / -1;width:100%;min-height:var(--touch-target);border-radius:var(--radius-control);background:var(--action-primary);color:#fff;box-shadow:0 3px 0 var(--action-primary-pressed)}.streak-screen .streak-freeze-card .freeze-btn:not(:disabled):active{box-shadow:0 1px 0 var(--action-primary-pressed)}.streak-help{margin:0 4px;color:var(--text-muted);font-size:13px;line-height:1.65}.lesson-screen{gap:0;padding:max(12px,env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));background:radial-gradient(circle at 100% 0,rgba(244,217,122,.18),transparent 24%),var(--surface-canvas)}.lesson-screen.feedback-open{padding-bottom:350px}.lesson-top{min-height:54px;margin:0 0 8px;padding:7px 8px;border:1px solid rgba(231,226,245,.92);border-radius:var(--radius-card);background:#ffffffe6;box-shadow:0 2px 0 var(--border-subtle);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.quit-btn{display:grid;width:38px;height:38px;place-items:center;padding:0;border-radius:var(--radius-control);background:var(--surface-selected);color:var(--action-primary-edge)}.progress-seg{gap:4px}.progress-seg .seg{height:10px;background:var(--border-subtle)}.progress-seg .seg.done{background:var(--gold-500);box-shadow:inset 0 -2px 0 var(--gold-700)}.progress-seg .seg.now{background:var(--surface-selected);outline-color:var(--action-primary)}.lesson-crumb{margin:0 0 7px;color:var(--text-muted);font-size:13px}.mastery-target{width:fit-content;max-width:100%;margin:0 auto 12px;border-color:#ead99f;background:#fffdf6;color:#6a5520}.lesson-coach-row{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;margin:0 0 10px}.lesson-coach-avatar{display:grid;width:48px;height:48px;place-items:end center;overflow:hidden;border:2px solid #ead99f;border-radius:50%;background:var(--warning-bg);box-shadow:0 2px #dfcf99}.lesson-coach-avatar svg{width:45px;height:45px;transform:translateY(3px)}.lesson-coach-copy{min-width:0}.lesson-coach-row .ex-chip{width:fit-content;max-width:100%;min-height:36px;margin:0;padding:6px 12px;border:1px solid var(--violet-300);background:var(--surface-selected);color:var(--action-primary-edge);font-size:12px;line-height:1.35}.lesson-coach-row .practice-reason{margin:6px 0 0}.exercise-stage{position:relative;min-height:300px;overflow:hidden;padding:20px 16px 22px;border:2px solid var(--border-subtle);border-radius:var(--radius-feature);background:var(--surface-card);box-shadow:var(--shadow-card)}.exercise-stage:after{position:absolute;right:0;bottom:0;left:0;height:4px;background:linear-gradient(135deg,transparent 35%,rgba(108,79,224,.25) 36% 64%,transparent 65%) 0 0 / 12px 8px repeat-x;content:"";pointer-events:none}.exercise-stage .prompt-en{margin-top:0;font-size:22px;line-height:1.25}.exercise-stage .prompt-my{color:var(--text-muted);font-size:15px;line-height:1.7}.option-btn,.img-card,.match-tile,.chip{border-color:var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-tile);transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),background var(--duration-base) var(--ease-standard)}.option-btn{min-height:56px;margin-bottom:12px;padding:14px 16px}.option-btn.my,.match-tile.my,.chip.my,.fb-slot.my{padding-top:13px;padding-bottom:13px;font-weight:700;line-height:1.75}.option-btn.selected,.img-card.selected,.match-tile.selected,.chip.selected{border-color:var(--action-primary);background:var(--surface-selected);color:var(--action-primary-edge);box-shadow:0 3px 0 var(--violet-300)}.option-btn.option-correct,.img-card.option-correct,.match-tile.matched{border-color:var(--success-fg);background:var(--success-bg);color:var(--success-fg);box-shadow:0 3px #b9dfcc}.option-btn.option-wrong,.img-card.option-wrong,.match-tile.wrong{border-color:var(--danger-fg);background:var(--danger-bg);color:var(--danger-fg);box-shadow:0 3px #f1c0bd}.wo-answer{min-height:82px;border:2px dashed var(--violet-300);border-radius:var(--radius-card);background:#fbfaff}.lesson-actions{margin-top:auto;padding-top:18px;padding-bottom:env(safe-area-inset-bottom)}.feedback{padding:18px 16px calc(16px + env(safe-area-inset-bottom));border-top:2px solid var(--border-subtle);border-radius:24px 24px 0 0;box-shadow:0 -14px 34px #2a244029}.feedback.good{border-top-color:#b9dfcc;background:var(--success-bg)}.feedback.bad{border-top-color:#f1c0bd;background:var(--danger-bg)}.feedback-title{font-size:18px;line-height:1.5}.feedback-explanation{border-radius:var(--radius-control)}@keyframes mini-seal-stamp-in{0%{opacity:0;transform:scale(1.7) rotate(calc(var(--tilt, 0deg) - 14deg))}65%{opacity:1;transform:scale(.96) rotate(var(--tilt, 0deg))}to{opacity:1;transform:scale(1) rotate(var(--tilt, 0deg))}}@keyframes mini-ledger-stamp-in{0%{opacity:0;transform:scale(1.8) rotate(-24deg)}65%{opacity:1;transform:scale(.96) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(-8deg)}}.seal-stamp{animation-name:mini-seal-stamp-in}.missions-screen .stamp-anim{animation-name:mini-ledger-stamp-in}@media(min-width:720px){.achievements-screen .badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:390px){.screen-header,.screen-header.practice-hub-head,.screen-header.streak-screen-head{gap:8px;padding-right:13px;padding-left:13px}.screen-header-title,.missions-screen .screen-header.missions-head .screen-header-title{font-size:21px}.screen-header-visual{min-width:60px;min-height:60px}.screen-header-visual>svg{max-width:64px;max-height:64px}.profile-screen .screen-header.profile-hero{min-height:138px}.profile-screen .profile-avatar{width:82px;height:82px;flex-basis:82px}.missions-support{grid-template-columns:1fr}.missions-screen .week-dots{grid-template-columns:repeat(7,minmax(0,1fr))}.foundations-screen .foundations-head{min-height:148px}.foundations-reference-note{font-size:9px}}@media(max-width:340px){.screen,.missions-screen,.profile-screen,.practice-hub-screen,.streak-screen,.foundations-screen{padding-right:12px;padding-left:12px}.screen-header.has-back,.screen-header.practice-hub-head,.screen-header.streak-screen-head{grid-template-columns:36px minmax(0,1fr) 48px}.screen-header-back{width:36px;height:36px}.screen-header-subtitle{display:none}.profile-goals{grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-stage{padding-right:12px;padding-left:12px}.home-foundations-entry{grid-template-columns:52px minmax(0,1fr) 32px;gap:9px;padding-right:9px;padding-left:9px}.home-foundations-mark{width:52px}.home-foundations-go{width:32px;height:32px}.foundation-panel{padding:12px}.alphabet-chart,.number-chart{gap:6px}.alphabet-tile{min-height:72px}.foundation-panel-heading>span{display:none}}@media(max-height:700px){.home-action-dock{top:auto;right:auto;width:auto;flex-direction:row}}@media(max-width:340px)and (max-height:700px){.home-action-dock,.home-screen .level-chip{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(prefers-reduced-transparency:reduce){.tabbar,.lesson-top{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}}.lesson-screen{height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;gap:0;overflow:hidden;padding:max(10px,env(safe-area-inset-top)) 16px 0}.lesson-screen.feedback-open{padding-bottom:0}.lesson-screen .lesson-top,.lesson-screen .lesson-crumb,.lesson-screen .mastery-target,.lesson-screen .lesson-coach-row,.lesson-screen .lesson-actions{flex:0 0 auto}.lesson-screen .lesson-top{min-height:50px;margin-bottom:6px;padding:5px 7px}.lesson-screen .quit-btn{width:40px;height:40px}.lesson-screen .lesson-crumb{margin-bottom:5px}.lesson-screen .mastery-target{min-height:30px;margin-bottom:7px;padding:3px 10px}.lesson-screen .lesson-coach-row{margin-bottom:7px}.lesson-screen .lesson-coach-row.is-compact{display:block;margin-bottom:7px}.lesson-screen .lesson-coach-row.is-compact .lesson-coach-copy,.lesson-screen .lesson-coach-row.is-compact .ex-chip{width:100%}.lesson-screen .lesson-coach-row.is-compact .ex-chip{justify-content:center;min-height:32px;padding:5px 10px}.lesson-screen .exercise-stage{min-height:0;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:16px 15px 18px;scrollbar-gutter:stable}.lesson-screen.feedback-open .exercise-stage{padding-bottom:min(42dvh,280px)}.lesson-screen .lesson-actions{z-index:6;margin:0 -16px;padding:10px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border-subtle);background:#fffffff7;box-shadow:0 -10px 24px #2a244014}.lesson-screen .lesson-actions .btn{min-height:54px}.lesson-screen .feedback{max-height:min(48dvh,360px);overflow-y:auto;overscroll-behavior:contain}.mcq-mascot{display:flex;min-height:104px;align-items:center;justify-content:center;margin:0 0 10px}.mcq-mascot>svg{width:104px;height:104px}.pick-word-audio{width:100%;max-width:280px;justify-content:center;padding:9px 14px}.pick-target-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;text-align:left}.pick-word{font-size:25px;line-height:1.1}.pick-meaning{color:var(--text-muted);font-size:15px;font-weight:700;line-height:1.65}.match-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:8px}.match-col{min-width:0;gap:8px}.match-cell{position:relative;display:grid;min-width:0}.match-tile{height:100%;min-height:62px}.match-cell .match-tile{padding-right:50px}.match-grid.picture-mode .match-tile{min-height:108px}.match-tile.picture{display:flex;min-height:108px;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px 52px 6px 6px}.match-tile.picture svg,.match-tile.picture .vocab-art-raster{width:54px;height:54px;flex:0 0 auto;object-fit:contain}.match-word{display:block;max-width:100%;font-size:15px;font-weight:900;line-height:1.15;overflow-wrap:anywhere}.match-phon{display:block;color:var(--text-muted);font-size:11px;font-weight:700;line-height:1.55}.match-audio-btn{position:absolute;top:8px;right:7px;z-index:2;display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--violet-300);border-radius:50%;background:var(--surface-selected);color:var(--action-primary-edge)}.match-audio-btn:active{transform:translateY(1px)}.match-tile.sel{border-color:var(--action-primary);background:var(--surface-selected);color:var(--action-primary-edge);box-shadow:0 3px 0 var(--violet-300)}.match-tile.bad{border-color:var(--danger-fg);background:var(--danger-bg);color:var(--danger-fg);box-shadow:0 3px #f1c0bd}.match-tile.matched{opacity:.74}.match-memory{min-height:24px;margin:10px 0 0;color:var(--text-muted);font-size:12px;font-weight:800;line-height:1.5;text-align:center}.match-memory.is-miss{color:var(--danger-fg)}.match-done{margin:4px 0 0}@media(max-width:340px){.lesson-screen{padding-right:12px;padding-left:12px}.lesson-screen .lesson-actions{margin-right:-12px;margin-left:-12px;padding-right:12px;padding-left:12px}.lesson-screen .exercise-stage{padding-right:11px;padding-left:11px}.match-grid,.match-col{gap:7px}.match-word{font-size:14px}}@media(max-height:650px){.mcq-mascot{min-height:76px;margin-bottom:7px}.mcq-mascot>svg{width:76px;height:76px}.lesson-screen{padding-top:max(6px,env(safe-area-inset-top))}.lesson-screen .lesson-top{min-height:46px;margin-bottom:3px}.lesson-screen .lesson-crumb{margin-bottom:3px;font-size:11px}.lesson-screen .mastery-target{display:none}.lesson-screen .lesson-coach-row,.lesson-screen .lesson-coach-row.is-compact{margin-bottom:4px}.lesson-screen .lesson-coach-avatar{display:none}.lesson-screen .lesson-coach-row:not(.is-compact){display:block}.lesson-screen .exercise-stage{padding:11px 10px 13px}.lesson-screen .exercise-stage .prompt-en{font-size:19px}.lesson-screen .exercise-stage .prompt-my{margin-bottom:9px;font-size:13px}.lesson-screen .lesson-actions{padding-top:8px;padding-bottom:calc(9px + env(safe-area-inset-bottom))}.lesson-screen .lesson-actions .btn{min-height:50px}.match-grid.picture-mode .match-tile,.match-tile.picture{min-height:78px}.match-tile.picture{padding-top:3px;padding-bottom:4px}.match-tile.picture svg,.match-tile.picture .vocab-art-raster{width:40px;height:40px}.match-audio-btn{top:4px;right:4px;width:44px;height:44px}.match-memory{margin-top:6px}.img-card{padding-top:7px;padding-bottom:7px}.img-card svg,.img-card .vocab-art-raster{width:54px;height:54px}}@media(prefers-reduced-motion:reduce){.match-tile,.match-audio-btn{transition:none}}.lesson-screen .lesson-top{min-height:52px;margin:0;padding:0 0 8px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.lesson-screen .quit-btn{width:44px;height:44px;border:1px solid var(--border-subtle);border-radius:14px;box-shadow:0 2px 0 var(--border-subtle)}.lesson-progress-track{display:block;height:12px;min-width:0;flex:1 1 auto;overflow:hidden;border-radius:999px;background:var(--border-subtle)}.lesson-progress-track>span{display:block;min-width:4%;height:100%;border-radius:inherit;background:var(--gold-500);box-shadow:inset 0 -2px 0 var(--gold-700);transition:width .22s ease-out}.lesson-screen .heart-pop{min-width:44px;justify-content:flex-end}.lesson-screen .lesson-crumb{display:flex;min-height:24px;align-items:center;justify-content:center;gap:5px;margin:0 0 2px;color:var(--text-muted);font-size:12px;font-weight:850}.lesson-tier{display:inline-flex;align-items:center;gap:3px;color:#705817}.lesson-screen .lesson-coach-row,.lesson-screen .lesson-coach-row.is-compact{display:block;min-height:28px;margin:0 0 2px}.lesson-screen .lesson-coach-row.is-compact .ex-chip{width:fit-content;min-height:28px;justify-content:flex-start;margin:0;padding:3px 0;border:0;background:transparent;box-shadow:none;color:var(--action-primary-edge);font-size:11px;letter-spacing:.02em}.lesson-screen .exercise-stage{width:100%;min-height:0;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;padding:8px 0 18px;border:0;border-radius:0;background:transparent;box-shadow:none;scrollbar-gutter:auto}.lesson-screen .exercise-stage::-webkit-scrollbar{display:none}.lesson-screen .exercise-stage:after{display:none}.lesson-screen .exercise-stage .prompt-en{margin:0 0 7px;color:var(--text-primary);font-size:clamp(23px,6.5vw,28px);font-weight:900;line-height:1.18}.lesson-screen .exercise-stage .prompt-my{margin:0 0 10px;color:var(--text-muted);font-size:14px;line-height:1.7}.lesson-screen .say-chip,.lesson-screen .pick-word-audio{min-height:48px;margin:2px 0 14px}.lesson-screen .option-btn{min-height:54px;margin-bottom:10px;padding:11px 16px;font-size:16px}.lesson-screen .option-btn:disabled:not(.option-correct):not(.option-wrong),.lesson-screen .img-card:disabled:not(.option-correct):not(.option-wrong){opacity:.36}.lesson-screen .img-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;margin-top:2px}.lesson-screen .img-card{min-width:0;min-height:172px;justify-content:center;gap:4px;padding:12px 8px 10px}.lesson-screen .img-card svg{width:104px;height:104px}.lesson-screen .img-card .vocab-art-raster{width:128px;height:128px;object-fit:contain}.lesson-screen .img-cap{color:var(--text-primary);font-size:15px;font-weight:800;line-height:1.6}.img-answer{color:var(--text-muted);font-size:14px;font-weight:900}.match-grid{gap:11px;margin-top:4px}.match-col{gap:10px}.match-grid.picture-mode .match-tile,.match-tile.picture{min-height:122px}.match-tile.picture{padding:8px 40px 8px 7px}.match-tile.picture svg,.match-tile.picture .vocab-art-raster{width:70px;height:70px}.match-cell .match-tile{padding-right:40px}.match-audio-btn{top:7px;right:6px;width:34px;height:34px}.lesson-screen .lesson-actions{margin:0 -16px;padding:10px 16px calc(12px + env(safe-area-inset-bottom))}.lesson-screen .feedback{padding:12px 16px calc(14px + env(safe-area-inset-bottom));outline:none}.lesson-screen .feedback.good{max-height:min(40dvh,220px)}.lesson-screen .feedback.bad{max-height:min(54dvh,340px)}.feedback-head{min-height:46px;margin-bottom:7px}.feedback-head>svg{width:44px;height:44px;flex:0 0 auto}.feedback-head-copy{min-width:0}.feedback-title{margin:0;font-size:17px;line-height:1.3}.feedback-encouragement{margin:1px 0 0;color:var(--text-muted);font-size:11px;font-weight:750;line-height:1.5}.feedback-concepts{display:grid;gap:5px;margin:0 0 7px}.feedback-concept{display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px 6px 10px;border-radius:12px;background:#ffffffa3}.feedback-concept>div:first-child{display:flex;min-width:0;flex-wrap:wrap;align-items:baseline;gap:3px 7px}.feedback-concept strong{font-size:15px}.feedback-concept .my{color:var(--text-muted);font-size:12px;font-weight:750}.feedback-concept .lv-audio-button{width:36px;min-width:36px;min-height:36px}.feedback-answer,.feedback-explanation,.feedback-retry{margin-bottom:7px}.feedback-report-toggle{display:inline-flex;min-height:44px;align-items:center;gap:5px;margin:0 0 5px;padding:0 5px}.lesson-screen .feedback-continue{position:sticky;bottom:0;z-index:2;margin-top:2px;box-shadow:0 -8px 12px 3px #fdececf5,0 4px 0 var(--purple-dark)}.lesson-screen .feedback.good .feedback-continue{box-shadow:0 -8px 12px 3px #e3f7ecf5,0 4px #23935c}@media(max-width:340px),(max-height:650px){.lesson-screen .exercise-stage{padding:5px 0 10px}.lesson-screen .exercise-stage .prompt-en{font-size:20px}.lesson-screen .exercise-stage .prompt-my{margin-bottom:7px;font-size:12px}.lesson-screen .option-btn{min-height:52px;margin-bottom:9px;padding:10px 13px}.lesson-screen .img-grid{gap:9px}.lesson-screen .img-card{min-height:118px;padding:6px}.lesson-screen .img-card svg{width:68px;height:68px}.lesson-screen .img-card .vocab-art-raster{width:80px;height:80px}.match-grid.picture-mode .match-tile,.match-tile.picture{min-height:84px}.match-tile.picture svg,.match-tile.picture .vocab-art-raster{width:50px;height:50px}}
