.practice-study-links{display:grid;gap:12px;margin:0 0 16px}.practice-study-link,.profile-badges-link{display:grid;grid-template-columns:52px minmax(0,1fr) 22px;gap:14px;align-items:center;padding:18px 16px;border-radius:20px;border:1px solid #d9d0e5;border-bottom-width:4px;text-align:left;text-decoration:none;background:#f1eaf8;color:#573c72;cursor:pointer;font:inherit}.practice-study-link.reading{border-color:#d2dec8;background:#edf4e8;color:#426234}.practice-study-link.stories{border-color:#c8dbe1;background:#eaf3f6;color:#305b6d}.practice-study-link strong,.profile-badges-link strong{display:block;font-size:20px;font-weight:900}.practice-study-link small,.profile-badges-link small{display:block;margin-top:5px;font-size:14px;line-height:1.7}.practice-study-icon,.profile-badges-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#fff9}.profile-badges-link{margin:0 0 20px;background:#fff2cc;border-color:#e4cb8d;color:#6c501a}.profile-badges-link strong{font-size:19px}.practice-study-link:focus-visible,.profile-badges-link:focus-visible{outline:3px solid #7654b6;outline-offset:3px}:root{--sunlit-nav-ivory: #fffaf0;--sunlit-nav-ink: #302620;--sunlit-nav-muted: #77695b;--sunlit-nav-border: #e8decb;--sunlit-nav-crimson: #b72e32;--sunlit-nav-crimson-wash: rgba(183, 46, 50, .08)}.quick-actions.sunlit-navigation-topbar:not(.sunlit-topbar){position:fixed;inset:0 auto auto 50%;z-index:25;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:4px;width:100%;max-width:480px;min-height:60px;margin:0;padding:max(8px,env(safe-area-inset-top)) 14px 7px;transform:translate(-50%);border:0;border-bottom:1px solid var(--sunlit-nav-border);border-radius:0;background:var(--sunlit-nav-ivory);box-shadow:none;color:var(--sunlit-nav-ink);backdrop-filter:none;-webkit-backdrop-filter:none}.quick-actions.sunlit-navigation-topbar:not(.sunlit-topbar) .quick-action{width:100%;min-width:0;min-height:44px;gap:6px;padding:4px 6px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--sunlit-nav-ink)}.quick-actions.sunlit-navigation-topbar:not(.sunlit-topbar) .quick-action.heart,.quick-actions.sunlit-navigation-topbar:not(.sunlit-topbar) .quick-action.is-active{border-color:transparent;background:var(--sunlit-nav-crimson-wash)}.quick-actions.sunlit-navigation-topbar:not(.sunlit-topbar) .quick-action:not(:disabled):hover{border-color:var(--sunlit-nav-border);background:#b72e321f}.quick-actions.sunlit-navigation-topbar:not(.sunlit-topbar) .quick-action:not(:disabled):active{transform:scale(.98)}.quick-actions.sunlit-navigation-topbar:not(.sunlit-topbar) .quick-action:focus-visible{outline:3px solid var(--sunlit-nav-crimson);outline-offset:-2px}.quick-actions.sunlit-navigation-topbar:not(.sunlit-topbar) .quick-action-icon{width:27px;height:27px;flex-basis:27px;border-radius:50%;background:transparent;box-shadow:none}.quick-actions.sunlit-navigation-topbar:not(.sunlit-topbar) .quick-action-copy{justify-items:start;line-height:1.15}.quick-actions.sunlit-navigation-topbar:not(.sunlit-topbar) .quick-action-copy strong{color:var(--sunlit-nav-ink);font-size:16px;font-weight:900;line-height:1.1;font-variant-numeric:tabular-nums}.quick-actions.sunlit-navigation-topbar:not(.sunlit-topbar) .quick-action-copy small{max-width:100%;margin-top:1px;overflow:visible;color:var(--sunlit-nav-muted);font-size:11px;font-weight:800;line-height:1.45;text-overflow:clip;white-space:nowrap}.quick-actions.sunlit-navigation-topbar:not(.sunlit-topbar) .quick-action-extra{top:2px;right:3px;border:0;background:var(--sunlit-nav-crimson-wash);color:var(--sunlit-nav-crimson)}.quick-actions.sunlit-navigation-topbar:not(.sunlit-topbar) .quick-action.xp{color:var(--sunlit-nav-ink)}.is-sunlit-map .sunlit-navigation-topbar.sunlit-topbar{color:var(--sunlit-nav-ink)}.is-sunlit-map .sunlit-navigation-topbar.sunlit-topbar .sunlit-brand{color:var(--sunlit-nav-crimson)}.is-sunlit-map .sunlit-navigation-topbar.sunlit-topbar .quick-action.heart{min-height:44px}.tabbar.sunlit-navigation-tabbar{position:fixed;inset:auto auto 0 50%;z-index:20;display:flex;align-items:stretch;gap:0;width:100%;max-width:480px;margin:0;padding:5px 10px max(9px,env(safe-area-inset-bottom));transform:translate(-50%);border:0;border-top:1px solid var(--sunlit-nav-border);border-radius:0;background:var(--sunlit-nav-ivory);box-shadow:none;color:var(--sunlit-nav-muted);backdrop-filter:none;-webkit-backdrop-filter:none}.tabbar.sunlit-navigation-tabbar .tab{min-width:0;min-height:56px;flex:1;gap:3px;padding:5px 2px;border-radius:10px;color:var(--sunlit-nav-muted)}.tabbar.sunlit-navigation-tabbar .tab:not(.active):hover{background:#e8decb6b;color:var(--sunlit-nav-ink)}.tabbar.sunlit-navigation-tabbar .tab.active{background:transparent;color:var(--sunlit-nav-crimson)}.tabbar.sunlit-navigation-tabbar .tab.active:before{display:none;content:none}.tabbar.sunlit-navigation-tabbar .tab.active:after{content:"";position:absolute;bottom:0;left:50%;width:22px;height:3px;border-radius:3px;background:var(--sunlit-nav-crimson);transform:translate(-50%)}.tabbar.sunlit-navigation-tabbar .tab:focus-visible{outline:3px solid var(--sunlit-nav-crimson);outline-offset:-3px}.tabbar.sunlit-navigation-tabbar .tab-icon{width:22px;height:22px}.tabbar.sunlit-navigation-tabbar .tab-label.my{max-width:100%;padding-bottom:1px;color:inherit;font-size:11px;font-weight:800;line-height:1.6;overflow-wrap:anywhere;text-align:center;white-space:normal}@media(max-width:340px){.quick-actions.sunlit-navigation-topbar:not(.sunlit-topbar){min-height:64px;padding-right:10px;padding-left:10px}.quick-actions.sunlit-navigation-topbar:not(.sunlit-topbar) .quick-action{min-height:48px;flex-direction:column;gap:0;padding:3px 2px}.quick-actions.sunlit-navigation-topbar:not(.sunlit-topbar) .quick-action-icon{width:25px;height:25px;flex-basis:25px}.quick-actions.sunlit-navigation-topbar:not(.sunlit-topbar) .quick-action-copy{justify-items:center}.quick-actions.sunlit-navigation-topbar:not(.sunlit-topbar) .quick-action-copy strong{font-size:14px}.quick-actions.sunlit-navigation-topbar:not(.sunlit-topbar) .quick-action-copy small{display:block;font-size:10px;line-height:1.5}.tabbar.sunlit-navigation-tabbar{padding-right:6px;padding-left:6px}.tabbar.sunlit-navigation-tabbar .tab{min-height:52px;padding-right:1px;padding-left:1px}.tabbar.sunlit-navigation-tabbar .tab-label.my{font-size:10.5px}}.is-sunlit-map .tabbar.sunlit-navigation-tabbar{bottom:0;width:100%;max-width:480px;padding:5px 10px max(9px,env(safe-area-inset-bottom));border:0;border-top:1px solid var(--sunlit-nav-border);border-radius:0;background:var(--sunlit-nav-ivory);box-shadow:none}.is-sunlit-map .tabbar.sunlit-navigation-tabbar .tab{min-height:56px;gap:3px;padding:5px 0;border-radius:0;color:var(--sunlit-nav-muted)}.is-sunlit-map .tabbar.sunlit-navigation-tabbar .tab.active{background:transparent;color:var(--sunlit-nav-crimson)}.is-sunlit-map .tabbar.sunlit-navigation-tabbar .tab.active:after{background:var(--sunlit-nav-crimson)}.is-sunlit-map .tabbar.sunlit-navigation-tabbar .tab-label.my{font-size:11px;line-height:1.6}@media(prefers-reduced-transparency:reduce){.quick-actions.sunlit-navigation-topbar,.tabbar.sunlit-navigation-tabbar{background:var(--sunlit-nav-ivory);backdrop-filter:none;-webkit-backdrop-filter:none}}:root{--purple: #b93632;--purple-dark: #922825;--purple-soft: #fdeceb;--bg: #fff7f6;--ink: #2d2021;--ink-soft: #715f61;--card: #ffffff;--line: #efdedd;--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;inset: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 #e9b4b1}.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 #e9b4b1}.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 #e9b4b1}.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 #e9b4b1}.say-chip:active{transform:translateY(1px);box-shadow:0 1px #e9b4b1}.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 #e9b4b1;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 #e9b4b1;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}.feedback-verification{display:flex;align-items:flex-start;gap:6px;margin:0 0 10px;padding:7px 9px;border-radius:10px;font-size:12px;line-height:1.45;font-weight:800}.feedback-verification svg{flex:0 0 auto;margin-top:1px}.feedback-verification.is-checked{color:#236b47;background:#daf4e0c7}.feedback-verification.is-self-confirmed{color:#765800;background:#ffefbedb}@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.stone-complete h1{color:#8b6219}.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 7px,#dcbc55 7px 14px);box-shadow:inset 0 -2px #3c321e2e}.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{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}.celebrate.has-xp-boost{padding-bottom:calc(178px + env(safe-area-inset-bottom,0px))}.celebrate-actions{position:fixed;left:50%;bottom:0;z-index:12;display:grid;gap:10px;width:min(100%,480px);box-sizing:border-box;padding:10px 16px calc(12px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:linear-gradient(180deg,#fffaf000,#fffaf0 14px)}.celebrate-actions.has-reward{padding-top:12px;border-top:1px solid rgba(166,50,47,.1);background:#fffaf0f7;box-shadow:0 -10px 28px #6f1e1c1f;-webkit-backdrop-filter:none;backdrop-filter:none}.celebrate .cta-row{position:static;display:flex;gap:10px;width:100%;min-width:0;align-items:stretch}.celebrate .cta-row .btn-green{position:static;flex:1 1 0;width:0;min-width:0}.next-lesson-btn{display:inline-flex;min-width:0;align-items:center;justify-content:center;gap:8px;white-space:normal;overflow-wrap:anywhere}.next-lesson-btn span,.next-lesson-btn small{min-width:0;overflow-wrap:anywhere}.next-lesson-btn small{padding-left:8px;border-left:1px solid rgba(255,255,255,.36);color:#ffffffe0;font-size:10.5px;font-weight:800}.completion-map-btn{display:inline-flex;width:66px;flex:0 0 66px;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px 6px;border:2px solid #d8c9ae;border-radius:16px;background:#fff;box-shadow:0 3px #d8c9ae;color:#705447;font:inherit}.completion-map-btn span{font-size:10px;font-weight:900;line-height:1.15}.completion-map-btn:active{transform:translateY(2px);box-shadow:0 1px #d8c9ae}.share-btn{width:52px;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)}.lesson-momentum{width:min(calc(100% - 32px),420px);margin:12px auto 4px;padding:12px 13px;border:1.5px solid #d8c9ae;border-radius:16px;background:#fffdf8;box-shadow:0 3px #e5d9c2;text-align:left}.lesson-momentum-heading{display:flex;min-width:0;align-items:center;gap:10px}.lesson-momentum-heading>div{min-width:0}.lesson-momentum-heading strong{display:block;overflow:hidden;color:#563b31;font-size:14px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.lesson-momentum-heading small{display:block;margin-top:1px;color:var(--ink-soft);font-size:11px;font-weight:750;line-height:1.45}.lesson-momentum-mark{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:13px;background:#eef7e4;color:#4e7d39}.lesson-momentum-leaves{display:flex;gap:6px;margin:10px 0 0 48px}.lesson-momentum-leaves span{height:7px;min-width:18px;flex:1;border-radius:999px;background:#e7decc;box-shadow:inset 0 1px 1px #583b3014}.lesson-momentum-leaves span.earned{background:#78ad55}.lesson-momentum p{margin:8px 0 0 48px;overflow:hidden;color:#76584a;font-size:11px;font-weight:800;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.lesson-momentum.stone-unlocked{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:11px;align-items:center;border-color:#d8b247;background:#fffaf0;box-shadow:0 3px #d6bd70;animation:stone-progress-pop .52s cubic-bezier(.2,1.25,.35,1) both}.stone-complete-emblem{position:relative;grid-row:1 / span 3;width:72px;height:70px;align-self:center}.stone-complete-emblem img{position:relative;z-index:1;display:block;width:76px;height:70px;object-fit:contain;transform-origin:50% 82%;animation:stone-emblem-complete .82s .08s cubic-bezier(.16,1.4,.32,1) both}.stone-complete-glow{position:absolute;inset:8px 2px 0;border:2px solid rgba(221,170,37,.48);border-radius:50%;box-shadow:0 0 17px #efc23d80;animation:stone-emblem-glow .9s .18s ease-out both}.lesson-momentum.stone-unlocked .lesson-momentum-heading,.lesson-momentum.stone-unlocked .lesson-momentum-leaves,.lesson-momentum.stone-unlocked p{grid-column:2;margin-left:0}.lesson-momentum.stone-unlocked .lesson-momentum-mark{display:none}.lesson-momentum.stone-unlocked .lesson-momentum-leaves span.earned{background:#d7a92b}.lesson-momentum.stone-unlocked p{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}@keyframes stone-progress-pop{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes stone-emblem-complete{0%{opacity:0;filter:grayscale(.7);transform:translateY(9px) scale(.72) rotate(-4deg)}62%{opacity:1;filter:grayscale(0) brightness(1.18) drop-shadow(0 0 10px rgba(231,177,37,.62));transform:translateY(-4px) scale(1.1) rotate(1deg)}to{opacity:1;filter:grayscale(0) brightness(1) drop-shadow(0 4px 3px rgba(82,57,18,.22));transform:translateY(0) scale(1) rotate(0)}}@keyframes stone-emblem-glow{0%{opacity:0;transform:scale(.58)}55%{opacity:1;transform:scale(1.12)}to{opacity:.34;transform:scale(1)}}.xp-boost-card{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:7px 10px;width:100%;margin:0;padding:9px 10px;overflow:hidden;text-align:left;background:linear-gradient(135deg,#f7e7ceeb,#fffaf0fa);border:1.5px solid #dfc987;border-radius:16px;box-shadow:0 3px #d6bd70}.xp-boost-card:after{content:"";position:absolute;right:-18px;top:-24px;width:76px;height:76px;border:10px double rgba(166,50,47,.07);border-radius:50%;pointer-events:none}.xp-boost-mark{grid-row:1;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff7d8;border:1.5px solid #e3bd42;box-shadow:inset 0 -2px #b5851324}.xp-boost-copy{min-width:0;padding-right:6px}.xp-boost-copy strong{display:block;color:#6f1e1c;font-size:13.5px;line-height:1.3}.xp-boost-copy small{display:block;margin-top:2px;color:var(--ink-soft);font-size:10.5px;line-height:1.35}.xp-boost-btn{grid-column:3;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:7px 11px;color:#fff;background:#9f302d;border:0;border-radius:12px;box-shadow:0 3px #72211f;font:inherit;font-size:12px;font-weight:900}.xp-boost-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #72211f}.xp-boost-btn:disabled{opacity:.68}.xp-boost-preview{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr);align-items:center;padding:7px 10px;border-radius:10px;background:#ffffffbf;text-align:center}.xp-boost-preview small{display:block;font-size:11px;color:var(--ink-soft)}.xp-boost-preview strong{display:block;font-size:23px;line-height:1.3}.xp-boost-preview>span:last-child strong{color:#22734b}.xp-boost-arrow{color:#806e53;font-size:23px}.profile-invite h2{margin:0;font-size:20px}.profile-invite p{margin:8px 0 14px;color:var(--ink-soft);line-height:1.65}.profile-invite .btn{display:flex;gap:8px;align-items:center;justify-content:center;width:100%}.xp-boost-btn:focus-visible,.celebrate-actions .share-btn:focus-visible,.celebrate-actions .completion-map-btn:focus-visible,.celebrate-actions .btn-green:focus-visible{outline:3px solid #6f1e1c;outline-offset:2px}@media(max-width:360px){.completion-map-btn{width:58px;flex-basis:58px}.next-lesson-btn{gap:5px;font-size:13.5px}.next-lesson-btn small{padding-left:5px;font-size:9.5px}}.xp-boost-message{grid-column:1 / -1;margin:-2px 2px 0;color:var(--ink-soft);font-size:11.5px;line-height:1.5;text-align:center}@media(max-width:360px){.xp-boost-card{grid-template-columns:34px minmax(0,1fr) auto;gap:6px 8px}.xp-boost-mark{width:34px;height:34px}.xp-boost-copy small{display:none}.xp-boost-btn{grid-column:3;min-height:36px;max-width:116px;padding:6px 8px;line-height:1.2}}.completion-extra-rewards{width:min(calc(100% - 32px),420px);margin:8px auto 4px;border:1.5px solid #e2d4b8;border-radius:15px;background:#fffaf0;box-shadow:0 2px #e8dcc5;text-align:left}.completion-extra-rewards summary{display:flex;min-height:46px;align-items:center;gap:9px;padding:8px 11px;color:#6f4e35;font-size:13px;font-weight:900;cursor:pointer;list-style:none}.completion-extra-rewards summary::-webkit-details-marker{display:none}.completion-extra-rewards summary:after{content:"›";margin-left:auto;color:#9a7653;font-size:24px;line-height:1;transform:rotate(90deg);transition:transform .16s ease}.completion-extra-rewards[open] summary:after{transform:rotate(-90deg)}.completion-extra-rewards-mark{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#fff0b8;color:#946015}.completion-extra-rewards summary small{display:grid;min-width:22px;height:22px;place-items:center;border-radius:999px;background:#f0e4ca;color:#705447;font-size:11px}.completion-extra-rewards-body{padding:2px 10px 10px}.completion-extra-rewards .level-up-card,.completion-extra-rewards .unlock-card{margin-bottom:9px}.completion-extra-rewards .hsunok-block{margin-bottom:4px}.stage-test-reminder-screen{min-height:100dvh;justify-content:space-between;padding:clamp(24px,7vh,58px) 22px calc(20px + env(safe-area-inset-bottom,0px));background:radial-gradient(circle at 50% 18%,#fff4cc 0,#fffaf0 38% 100%);text-align:center}.stage-test-reminder-content{display:flex;flex-direction:column;align-items:center;width:100%;max-width:410px;margin:auto}.stage-test-reminder-kicker{color:#9f302d;font-size:11px;font-weight:950;letter-spacing:.11em}.stage-test-reminder-hero{position:relative;display:grid;width:164px;height:164px;margin:18px auto 12px;place-items:center;border-radius:50%;background:#fae8b0}.stage-test-reminder-shield{position:absolute;right:-5px;bottom:8px;display:grid;width:62px;height:62px;place-items:center;border:3px solid #fffaf0;border-radius:50%;background:#9f302d;box-shadow:0 4px #72211f;color:#fff}.stage-test-reminder-shield small{margin-top:-8px;font-size:9px;font-weight:900}.stage-test-reminder-screen h1{margin:10px 0;color:#3d312c;font-size:clamp(27px,7vw,34px);line-height:1.35}.stage-test-reminder-screen p{max-width:370px;margin:0;color:#5f5048;font-size:15px;line-height:1.8}.stage-test-reminder-actions{display:grid;width:100%;max-width:420px;gap:10px;margin:28px auto 0}.stage-test-reminder-primary{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:8px;border:0;background:#9f302d;box-shadow:0 4px #72211f;color:#fff}.stage-test-reminder-continue{min-height:48px;border:1.5px solid #d8c9ae;border-radius:15px;background:#fff;box-shadow:0 3px #ded3bf;color:#705447;font:inherit;font-size:14px;font-weight:900}.stage-test-reminder-primary:focus-visible,.stage-test-reminder-continue:focus-visible{outline:3px solid #e7c24e;outline-offset:3px}@media(max-height:650px){.stage-test-reminder-screen{padding-top:18px}.stage-test-reminder-hero{width:124px;height:124px;margin:10px auto 6px}.stage-test-reminder-hero>svg{width:92px;height:92px}.stage-test-reminder-screen h1{margin-top:6px;font-size:25px}.stage-test-reminder-screen p{font-size:13.5px;line-height:1.65}.stage-test-reminder-actions{margin-top:14px}}.xp-boost-card.granted{border-color:#d8b247;background:linear-gradient(135deg,#fff3c4,#fffaf0);animation:reward-card-pop .45s cubic-bezier(.2,1.25,.35,1) both}.xp-boost-card.granted .xp-boost-mark{background:#ffe89a}@keyframes reward-card-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.completion-reminder-card{display:grid;width:min(calc(100% - 32px),420px);grid-template-columns:42px minmax(0,1fr);gap:9px 11px;margin:14px auto 2px;padding:12px;border:1.5px solid #d4bd7b;border-radius:16px;background:linear-gradient(135deg,#fffaf0,#f7edd5);box-shadow:0 3px #ddce9f;text-align:left}.completion-reminder-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#fff3c4;color:#8b2c28}.completion-reminder-copy{min-width:0}.completion-reminder-copy strong{display:block;color:#6f1e1c;font-size:14px;line-height:1.35}.completion-reminder-copy small{display:block;margin-top:2px;color:var(--ink-soft);font-size:11px;line-height:1.5}.completion-reminder-actions{display:grid;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) auto;gap:8px}.completion-reminder-actions button{min-height:42px;padding:8px 13px;border:0;border-radius:12px;background:#9f302d;box-shadow:0 3px #72211f;color:#fff;font:inherit;font-size:12px;font-weight:900}.completion-reminder-actions button.quiet{border:1.5px solid #d8c9ae;background:#fff;box-shadow:0 2px #ded3bf;color:var(--ink-soft)}.completion-reminder-actions button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #72211f}.completion-reminder-actions button:focus-visible{outline:3px solid #e7c24e;outline-offset:2px}.completion-reminder-actions button:disabled{opacity:.62}.completion-reminder-message{grid-column:1 / -1;margin:0 2px;color:var(--red-dark);font-size:11px;font-weight:800;line-height:1.5;text-align:center}.completion-reminder-card.granted{border-color:#77b68d;background:#f2fbf4;box-shadow:0 3px #bdddc7}.completion-reminder-card.granted .completion-reminder-mark{background:#dff4e6;color:#267143}@media(max-height:620px){.celebrate,.celebrate.has-xp-boost{padding-bottom:16px}.celebrate-actions{position:static;width:100%;margin-top:14px;padding:0;transform:none;border-top:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}}@media(prefers-reduced-transparency:reduce){.celebrate-actions.has-reward{background:#fffaf0;-webkit-backdrop-filter:none;backdrop-filter:none}}.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;justify-content:center;gap:2px;width:min(100%,292px);min-height:176px;margin:2px auto 16px;padding:4px 12px 10px;border:none;border-radius:22px;background:radial-gradient(circle at 50% 46%,rgba(244,217,122,.2),transparent 62%);cursor:pointer;transition:transform .14s ease,background .18s ease}.hsunok-block:not(:disabled):hover{background-color:#f7e7ce33}.hsunok-block:not(:disabled):active{transform:translateY(2px) scale(.98)}.hsunok-block:focus-visible{outline:3px solid #d8b247;outline-offset:2px}.hsunok-block:disabled{opacity:1;cursor:default}.hsunok{display:block;overflow:visible;filter:drop-shadow(0 7px 7px rgba(92,26,27,.2))}.hsunok:not(.open){transform-origin:50% 92%;animation:hsunok-invite 1.8s .55s ease-in-out 2}.hsunok.open{animation:hsunok-settle .5s cubic-bezier(.2,1.35,.4,1) both}@keyframes hsunok-invite{0%,65%,to{transform:rotate(0)}74%{transform:rotate(-2deg)}84%{transform:rotate(2deg)}92%{transform:rotate(-.7deg)}}@keyframes hsunok-settle{0%{transform:scale(.95)}55%{transform:scale(1.035)}to{transform:scale(1)}}.hsunok-lid{transform-box:fill-box;transform-origin:50% 100%;transition:transform .58s cubic-bezier(.2,1.25,.4,1)}.hsunok.open .hsunok-lid{transform:translate(-13px,-26px) rotate(-8deg)}.hsunok-glow{transform-box:fill-box;transform-origin:50% 80%;animation:pop-in .48s cubic-bezier(.2,1.35,.4,1) both}.hsunok-reward{margin-top:-2px;padding:5px 18px;border:1.5px solid #d8b247;border-radius:999px;background:#fff7df;box-shadow:0 3px #ead492;color:#7c5d12;font-size:21px;font-weight:950;animation:pop-in .4s .12s both}.hsunok-note{max-width:230px;margin-top:5px;color:var(--maroon);font-size:12.5px;font-weight:800;line-height:1.55;text-align:center}.confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden}.confetti span{position:absolute;top:-30px;font-size:22px;animation:fall 2.8s linear 1 forwards}@keyframes fall{to{transform:translateY(110vh) rotate(540deg)}}@media(prefers-reduced-motion:reduce){.confetti{display:none}}.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 #F8EAE9;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}.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 #5e1f1d33;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 #5e1f1d2e}.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:#c9908d}.mythic-cell .badge-progress-track{background:#443a63}.mythic-cell .badge-progress-fill{background:var(--gold)}.mythic-hint{color:#c9908d}.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 #5e1f1d0f,0 3px #5e1f1d12}.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 .badge-symbol *{fill:var(--gold)!important;stroke:none!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;inset: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(14px) scale(.98)}72%{opacity:1;transform:translateY(-1px) scale(1.004)}to{opacity:1;transform:translateY(0) scale(1)}}.rise-in{animation:rise-in .4s both}@keyframes pop-in{0%{opacity:0;transform:translateY(6px) scale(.78)}68%{opacity:1;transform:translateY(-1px) scale(1.055)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes shine{to{left:130%}}@keyframes shake{0%,to{transform:translate(0)}18%{transform:translate(-6px) rotate(-.7deg)}36%{transform:translate(5px) rotate(.6deg)}54%{transform:translate(-3px) rotate(-.35deg)}72%{transform:translate(2px) rotate(.2deg)}88%{transform:translate(-1px)}}.shake{animation:shake .4s ease}@keyframes heart-pop{0%{transform:scale(1) rotate(0)}38%{transform:scale(1.38) rotate(-4deg)}64%{transform:scale(.94) rotate(2deg)}to{transform:scale(1) rotate(0)}}.heart-pop{animation:heart-pop .4s ease}@keyframes bounce-y{0%,to{transform:translateY(0)}46%{transform:translateY(-7px)}62%{transform:translateY(-6px)}}.bounce{animation:bounce-y 1.1s ease-in-out infinite}@keyframes fill-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.animate-fill{transform-origin:left center;animation:fill-grow .8s cubic-bezier(.2,.86,.32,1) 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)}}.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-placeholder{height:var(--unit-map-intrinsic-size, 158px);pointer-events:none}@supports (content-visibility: auto){.unit-biome{content-visibility:auto;contain-intrinsic-block-size:auto var(--unit-map-intrinsic-size, 158px)}.unit-biome.is-render-priority{content-visibility:visible;contain-intrinsic-block-size:none}}.unit-biome[data-world-unit]:not([data-world-unit="1"]){margin-top:-22px}.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}.journey-seam{position:absolute;top:0;left:0;z-index:3;width:100%;height:56px;pointer-events:none}.journey-seam:before{content:"";position:absolute;inset: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:min(340px,100%);max-width:100%;margin:0 auto;isolation:isolate}.road-wrap:before{content:"";position:absolute;z-index:0;inset:0 -18px;background-image:var(--terrain-art);background-position:center var(--terrain-position, 50%);background-repeat:no-repeat;background-size:100% auto;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;inset: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;inset:0 -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:none}.journey-depth:after{content:"";position:absolute;inset: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;inset:0 -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%;min-height:148px;margin:2px 0 4px;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;inset: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(322px,calc(100% - 18px));min-height:102px;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:11px;margin:0;padding:12px 13px;border:3px solid #7e231f;border-radius:22px;background:linear-gradient(105deg,rgba(255,255,255,.2),transparent 28%),linear-gradient(180deg,#cf4a40,#a92f2b);box-shadow:inset 0 1px #fff5d67a,inset 0 -3px #5313123d,0 0 0 4px #f6ce5833,0 12px 26px #4a181652;color:#fffaf0;text-align:left}.checkpoint-gate:before,.checkpoint-gate:after{content:"";position:absolute;top:-15px;width:14px;height:130px;border:2px solid rgba(91,51,27,.78);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% 50%;animation:checkpoint-plaque-sway 2.4s ease-in-out infinite}@keyframes checkpoint-plaque-sway{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.checkpoint-gate:focus-visible{outline:3px solid #fff0a2;outline-offset:4px}.checkpoint-gate-icon{display:grid;width:52px;height:52px;place-items:center;border:2px solid #8a641e;border-radius:50%;background:linear-gradient(145deg,#f8df7c,#d7a63d);color:#593610;box-shadow:inset 0 1px #ffffffa3,0 3px #774e16,0 0 14px #ffdc6861}.checkpoint-gate-copy{display:flex;min-width:0;flex-direction:column}.checkpoint-gate-kicker{margin-bottom:2px;color:#ffe58b;font-size:8px;font-weight:1000;letter-spacing:.16em;line-height:1.2}.checkpoint-gate-copy strong{font-size:15px;font-weight:950;line-height:1.25;text-shadow:0 1px 0 rgba(77,43,20,.5)}.checkpoint-gate-copy .my{color:#ffe8dd;font-size:10px;font-weight:800;line-height:1.45}.checkpoint-gate-rule{display:flex;flex-direction:column;color:#eef0f1;font-size:9.5px;font-weight:800;line-height:1.25}.checkpoint-gate-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.checkpoint-gate-meta span{border:1px solid rgba(255,236,186,.42);border-radius:999px;padding:2px 5px;background:#49121133;color:#fff5d7;font-size:7.5px;font-weight:950;line-height:1.2}.checkpoint-gate-go{align-self:center;border:2px solid #8a641e;border-radius:14px;padding:7px 8px;background:linear-gradient(180deg,#ffe58b,#efbf45);color:#6e241d;font-size:9px;font-weight:1000;letter-spacing:.05em;box-shadow:inset 0 1px #fff7cf,0 3px #75531b}.checkpoint-gate.passed{border-color:#9a7927;background:linear-gradient(180deg,#3c9367,#26704f);box-shadow:inset 0 1px #e8ffee73,0 0 0 4px #ebc54a2e,0 10px 24px #224b3740;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:102px;border-color:#464d53;background:linear-gradient(100deg,rgba(255,255,255,.12),transparent 28%),linear-gradient(180deg,#747b80,#525a60);box-shadow:inset 0 1px #ffffff38,0 8px 18px #242a2d38;color:#f3f5f5}.checkpoint-gate.locked:before,.checkpoint-gate.locked:after{filter:grayscale(1);opacity:.78}.checkpoint-gate.locked .checkpoint-gate-icon{border-color:#565e63;background:linear-gradient(145deg,#c8ccce,#92999d);color:#4d555a;box-shadow:inset 0 1px #eef0f1,0 3px #41484c}.checkpoint-gate.locked .checkpoint-gate-kicker{color:#d8dcde}.checkpoint-gate.locked .checkpoint-gate-copy .my{color:#e1e4e5;font-size:10px}.checkpoint-gate.locked .checkpoint-gate-meta span{border-color:#e9edef40;background:#1e232629;color:#e8ebec}.stage-unlock-toast{position:fixed;right:12px;bottom:calc(82px + env(safe-area-inset-bottom,0px));left:12px;z-index:90;display:grid;width:min(420px,calc(100vw - 24px));grid-template-columns:52px minmax(0,1fr);gap:8px 11px;margin:auto;padding:18px 16px 14px;overflow:hidden;border:3px solid #7c251f;border-radius:22px 24px 20px 23px;background:linear-gradient(112deg,rgba(255,255,255,.48),transparent 30%),linear-gradient(150deg,#fff9e8,#f4dfae);box-shadow:inset 0 0 0 2px #e3b53e99,0 14px 36px #341b124d;color:#4a2b1c;animation:stage-unlock-toast-in .5s cubic-bezier(.18,1.2,.38,1) both}.stage-unlock-toast:before{content:"";position:absolute;top:0;right:0;left:0;height:7px;background:linear-gradient(135deg,transparent 25%,#f1cf64 25% 50%,transparent 50% 75%,#f1cf64 75%) 0 0 / 16px 8px,#932e27}.stage-unlock-dismiss{position:absolute;top:9px;right:10px;z-index:2;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:#6e2f2214;color:#754235;font-size:24px;font-weight:700;line-height:28px}.stage-unlock-dismiss:focus-visible{outline:3px solid #8e2a18;outline-offset:2px}.stage-unlock-seal{display:grid;width:50px;height:50px;place-items:center;align-self:center;border:2px solid #8c641d;border-radius:50%;background:linear-gradient(145deg,#f5da72,#c9942b);box-shadow:inset 0 1px #fff4b3,0 3px #784d16}.stage-unlock-copy{display:flex;min-width:0;flex-direction:column;padding-right:23px}.stage-unlock-kicker{color:#952d26;font-size:9px;font-weight:1000;letter-spacing:.15em;line-height:1.25}.stage-unlock-copy strong{margin-top:2px;font-size:16px;font-weight:950;line-height:1.35}.stage-unlock-copy .my{margin-top:2px;color:#70503a;font-size:10.5px;font-weight:750;line-height:1.55}.stage-unlock-track{display:grid;grid-column:1 / -1;grid-template-columns:repeat(10,minmax(0,1fr)) 28px;align-items:center;gap:3px;padding:7px 6px 4px}.stage-unlock-step{display:grid;width:19px;height:19px;place-items:center;justify-self:center;border:1.5px solid #8d6722;border-radius:48% 53% 46% 55%/52% 47% 55% 45%;background:linear-gradient(145deg,#f5dc79,#c6952e);box-shadow:inset 0 1px #fff2a9,0 2px #76501d;color:#fffaf0;animation:stage-unlock-step .42s var(--unlock-step-delay) cubic-bezier(.18,1.5,.38,1) both}.stage-unlock-next{position:relative;display:grid;width:27px;height:27px;place-items:center;border:2px solid #26694d;border-radius:50%;background:linear-gradient(145deg,#55aa79,#287052);box-shadow:inset 0 1px #c6f2d4,0 0 0 4px #e2b94133,0 2px #174d38;color:#fffbdc;animation:stage-unlock-next .72s 1.25s cubic-bezier(.18,1.55,.38,1) both}.stage-unlock-next:before{content:"";position:absolute;right:calc(100% + 2px);width:8px;height:2px;background:#b8882c}.stage-unlock-start{grid-column:1 / -1;min-height:43px;border:2px solid #6d201c;border-radius:14px;background:linear-gradient(180deg,#bd4137,#922b26);box-shadow:inset 0 1px #fff2d161,0 3px #671c18;color:#fff8df;font-size:12.5px;font-weight:950}.stage-unlock-start:active{transform:translateY(2px);box-shadow:inset 0 1px #fff2d161,0 1px #671c18}@keyframes stage-unlock-toast-in{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes stage-unlock-step{0%{opacity:.25;filter:grayscale(1);transform:scale(.55) rotate(-18deg)}62%{opacity:1;filter:grayscale(0);transform:scale(1.18) rotate(4deg)}to{opacity:1;filter:grayscale(0);transform:scale(1) rotate(0)}}@keyframes stage-unlock-next{0%{opacity:.28;filter:grayscale(1);transform:scale(.45) rotate(-14deg)}60%{opacity:1;filter:grayscale(0);transform:scale(1.24) rotate(5deg)}to{opacity:1;filter:grayscale(0);transform:scale(1) rotate(0)}}.road-svg{position:absolute;inset: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;inset: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;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{--stone-center: 170px;height:154px}.unit-stone-road:before{background-position:center var(--terrain-position, 50%);background-size:100% auto}.stone-root{position:absolute;top:0;left:0;z-index:2;display:block;width:100%;height:var(--stone-root-height, 175px);overflow:visible;pointer-events:none;filter:drop-shadow(0 2px 1px rgba(57,43,25,.18));animation:motion-route-in .46s var(--motion-settle) both}.stone-root path{fill:none;stroke-linecap:round;stroke-linejoin:round}.stone-root-shadow{stroke:#35251538;stroke-width:8}.stone-root-core{stroke:#745032;stroke-width:5}.stone-root-highlight{stroke:#e1c18fb8;stroke-width:1}.stone-root-done{filter:drop-shadow(0 2px 1px rgba(83,59,8,.18)) drop-shadow(0 0 3px rgba(231,194,78,.22))}.stone-root-done .stone-root-shadow{stroke:#68480038}.stone-root-done .stone-root-core{stroke:#b8891f}.stone-root-done .stone-root-highlight{stroke:#f7df82}.stone-root-just-completed .stone-root-shadow{animation:stone-root-shadow-gold .82s ease-out both}.stone-root-just-completed .stone-root-core{animation:stone-root-turn-gold .82s ease-out both}.stone-root-just-completed .stone-root-highlight{animation:stone-root-glint .95s .12s ease-out both}.stone-root-locked{filter:none;opacity:.36}.unit-stone-button.road-node{top:8px;left:calc(var(--stone-center) - 58px);width:116px;height:102px;z-index:5}.unit-stone-button .node-medallion{inset:0 auto auto 9px;width:98px;height:90px}.unit-stone-button .stone-milestone-art{position:relative;z-index:1;display:block;width:98px;height:90px}.unit-stone-button.current .stone-milestone-art{animation:unit-stone-current-float 2.7s ease-in-out infinite}.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:6px}.unit-stone-button.road-node:after{top:5px;width:74px;height:70px}.unit-stone-button.available.road-node:after{border-color:#fff4be8c;box-shadow:inset 0 0 5px #fff5cd57,0 2px 4px #28231429;opacity:.34;transform:translate(-50%) rotate(-2deg) scale(.96)}.unit-stone-button.current.road-node:after{border-color:#ffe571f5;opacity:1;transform:translate(-50%) rotate(-2deg) scale(1);box-shadow:0 0 13px #f4d97aa3,inset 0 0 6px #fff5cd80;animation:none}.unit-stone-index{position:absolute;top:63px;left:79px;z-index:4;display:grid;width:25px;height:25px;place-items:center;border:2px solid rgba(255,244,199,.92);border-radius:50%;background:linear-gradient(145deg,#b83b29,#7d1f15);box-shadow:inset 0 1px #ffffff38,0 2px 3px #3f211247;color:#fff6c9;font-size:9.5px;font-weight:900;line-height:1}.unit-stone-button.done .unit-stone-index{border-color:#fff8cff2;background:linear-gradient(145deg,#d8af3d,#967020);color:#fffbe7}.unit-stone-button.locked .unit-stone-index{border-color:#eeece2b8;background:linear-gradient(145deg,#8e918c,#636762);color:#f3f1e8;box-shadow:inset 0 1px #ffffff29,0 2px 3px #282a272e}.map-unit-heading{position:relative;z-index:7;display:grid;width:226px;height:38px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;margin:0 auto;padding:4px 11px 4px 6px;border:1px solid rgba(124,74,46,.42);border-radius:999px;background:linear-gradient(110deg,rgba(255,255,255,.72),transparent 38%),linear-gradient(180deg,#fffbe9f7,#f0deb4f5);box-shadow:inset 0 1px #ffffffe0,0 2px #7e502b52,0 5px 10px #3d2b181f;color:#70251f}.map-unit-heading-number{display:grid;width:24px;height:24px;place-items:center;border:1px solid rgba(127,35,28,.5);border-radius:50%;background:linear-gradient(145deg,#b23a30,#87241f);color:#fff3c8;font-size:9px;font-weight:950;line-height:1}.map-unit-heading strong{display:-webkit-box;overflow:hidden;font-size:10.5px;font-weight:900;line-height:1.3;text-align:left;-webkit-box-orient:vertical;-webkit-line-clamp:2}.unit-biome.is-locked .unit-stone-road:before{filter:none;opacity:.46}.unit-biome.is-locked .stone-root{filter:none;opacity:.34}.unit-stone-button.locked .stone-milestone-art{filter:none;opacity:.4;transform:translateY(-2px) rotate(var(--stone-tilt, 0deg)) scale(.98)}.unit-stone-button.checkpoint-cleared-stone .stone-milestone-art{animation:checkpoint-stone-clear .62s var(--checkpoint-unlock-delay) cubic-bezier(.18,1.45,.38,1) both}.unit-stone-button.checkpoint-new-stone.current .stone-milestone-art{animation:checkpoint-new-stone-open .9s 1.25s cubic-bezier(.18,1.5,.38,1) both}.unit-stone-button.stone-just-completed.done .stone-milestone-art{animation:stone-map-complete .82s .08s cubic-bezier(.16,1.4,.32,1) both}.unit-stone-button.stone-just-opened.current .stone-milestone-art{animation:stone-map-open .82s .62s cubic-bezier(.18,1.46,.35,1) both}.unit-stone-button.stone-just-opened.current.road-node:after{animation:stone-map-open-halo 1.05s .58s ease-out both}@keyframes stone-root-shadow-gold{0%{stroke:#35251538}to{stroke:#68480038}}@keyframes stone-root-turn-gold{0%{stroke:#745032}52%{stroke:#f4d66a}to{stroke:#b8891f}}@keyframes stone-root-glint{0%{stroke:#e1c18fb8;stroke-dasharray:0 1200}64%{stroke:#fff2a8;stroke-dasharray:1200 0}to{stroke:#f7df82;stroke-dasharray:1 0}}@keyframes stone-map-complete{0%{filter:grayscale(.8);transform:translateY(3px) rotate(var(--stone-tilt, 0deg)) scale(.83)}58%{filter:grayscale(0) brightness(1.24) drop-shadow(0 0 13px rgba(238,188,49,.78));transform:translateY(-8px) rotate(var(--stone-tilt, 0deg)) scale(1.18)}to{filter:grayscale(0) brightness(1) drop-shadow(0 4px 3px rgba(50,65,31,.2));transform:translateY(0) rotate(var(--stone-tilt, 0deg)) scale(1)}}@keyframes stone-map-open{0%{opacity:.42;filter:grayscale(1) brightness(.78);transform:translateY(6px) rotate(var(--stone-tilt, 0deg)) scale(.7)}62%{opacity:1;filter:grayscale(0) brightness(1.2) drop-shadow(0 0 12px rgba(246,205,82,.84));transform:translateY(-8px) rotate(var(--stone-tilt, 0deg)) scale(1.16)}to{opacity:1;filter:grayscale(0) brightness(1) drop-shadow(0 0 7px rgba(231,194,78,.52));transform:translateY(-3px) rotate(var(--stone-tilt, 0deg)) scale(var(--stone-scale, 1))}}@keyframes stone-map-open-halo{0%{opacity:0;box-shadow:0 0 #f4d97a00;transform:translate(-50%) rotate(-2deg) scale(.64)}58%{opacity:1;box-shadow:0 0 22px #f4d97ae0,inset 0 0 8px #fff5cda8;transform:translate(-50%) rotate(-2deg) scale(1.16)}to{opacity:1;box-shadow:0 0 12px #f4d97a94,inset 0 0 5px #fff5cd6b;transform:translate(-50%) rotate(-2deg) scale(1)}}@keyframes checkpoint-stone-clear{0%{opacity:.48;filter:grayscale(.9);transform:translateY(4px) rotate(var(--stone-tilt, 0deg)) scale(.76)}64%{opacity:1;filter:grayscale(0);transform:translateY(-7px) rotate(var(--stone-tilt, 0deg)) scale(1.12)}to{opacity:1;filter:grayscale(0);transform:translateY(-3px) rotate(var(--stone-tilt, 0deg)) scale(var(--stone-scale, 1))}}@keyframes checkpoint-new-stone-open{0%{filter:grayscale(1) brightness(.82);transform:translateY(4px) rotate(var(--stone-tilt, 0deg)) scale(.68)}58%{filter:grayscale(0) brightness(1.22) drop-shadow(0 0 12px rgba(246,205,82,.88));transform:translateY(-9px) rotate(var(--stone-tilt, 0deg)) scale(1.18)}to{filter:grayscale(0) brightness(1) drop-shadow(0 0 7px rgba(231,194,78,.52));transform:translateY(-3px) rotate(var(--stone-tilt, 0deg)) scale(var(--stone-scale, 1))}}@keyframes unit-stone-current-float{0%,to{transform:translateY(-3px) rotate(var(--stone-tilt, 0deg)) scale(var(--stone-scale, 1))}50%{transform:translateY(-6px) rotate(var(--stone-tilt, 0deg)) scale(var(--stone-scale, 1))}}@keyframes unit-stone-current-halo{0%,to{box-shadow:0 0 10px #f4d97a80,inset 0 0 5px #fff5cd66}50%{box-shadow:0 0 17px #f4d97ac2,inset 0 0 7px #fff5cd94}}.mini-on-road.unit-stone-mini{top:4px;width:104px;transform:none}.unit-stone-mini.mini-side-0{left:214px}.unit-stone-mini.mini-side-1{left:22px}.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),.hsunok.open,.hsunok-glow,.hsunok-lid,.hsunok-reward,.lightning-clock.low,.bounce,.loading-dots span,.checkpoint-timer.low,.stage-unlock-toast,.stage-unlock-step,.stage-unlock-next,.unit-stone-button.checkpoint-cleared-stone .stone-milestone-art,.unit-stone-button.checkpoint-new-stone .stone-milestone-art,.unit-stone-button.stone-just-completed .stone-milestone-art,.unit-stone-button.stone-just-opened .stone-milestone-art,.unit-stone-button.stone-just-opened:after,.stone-root-just-completed .stone-root-shadow,.stone-root-just-completed .stone-root-core,.stone-root-just-completed .stone-root-highlight,.lesson-momentum.stone-unlocked,.stone-complete-emblem img,.stone-complete-glow,.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 #5e1f1d29;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 #5e1f1d29;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 #5e1f1d33}.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 #e9b4b1}.slow-btn:active{transform:translateY(1px);box-shadow:0 1px #e9b4b1}.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;outline:7px solid var(--red-soft);animation:none}.mic-signal-status{min-height:24px;margin:-3px auto 4px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:var(--ink-soft);font-size:13px;font-weight:750;line-height:1.5}.mic-signal-mark{width:9px;height:9px;border-radius:50%;flex:0 0 auto;background:#d69e2e;box-shadow:0 0 0 4px #d69e2e24}.mic-signal-status.hearing{color:#197653}.mic-signal-status.hearing .mic-signal-mark{background:#24966b;box-shadow:0 0 0 4px #24966b29}.mic-signal-status.quiet{color:#9a5b26}.mic-signal-status.quiet .mic-signal-mark{background:#d9773b;box-shadow:0 0 0 4px #d9773b26}@keyframes rec-pulse{0%,to{outline:6px solid var(--red-soft);outline-offset:0}50%{outline:12px solid var(--red-soft);outline-offset:2px}}@media(prefers-reduced-motion:reduce){.mic-btn.recording,.audio-waveform-visualizer-container.active-pulse{animation:none!important}}.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;inset: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}}.audio-load-error{padding:24px;text-align:center}.audio-load-error h1{margin:2px 0 0;color:var(--ink);font-size:24px}.audio-load-error p{max-width:390px;margin:0}.audio-load-count{padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink-soft);font-size:13px;font-weight:900}.audio-load-actions{display:grid;width:min(100%,360px);gap:10px;margin-top:8px}.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:#fff7f6}.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 #e9b4b1}.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 #e9b4b1}.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}.telegram-access-benefits{display:grid;max-width:350px;margin:22px auto 0;gap:10px}.telegram-access-benefits span{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#ffffffd1;color:var(--ink-soft);font-size:13px;font-weight:800;line-height:1.35}.telegram-access-benefits svg{flex:0 0 auto;color:var(--purple)}.telegram-access-actions{display:grid;gap:9px}.telegram-access-optout{min-height:38px;border:0;background:transparent;color:var(--ink-soft);font:inherit;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px}.telegram-access-optout:disabled{opacity:.55}@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:#fff7f6}.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 #f4d7d5;background:#b93632;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 #922825}.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}.missions-daily-progress{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:3px 10px;margin:0 0 14px;padding:10px 12px;border:2px solid #e5c45c;border-radius:16px;background:#fffaf0;box-shadow:0 3px #e9d995}.missions-daily-icon{grid-row:1 / 3;display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:#f5cf53;color:#664d00}.missions-daily-copy{display:flex;min-width:0;flex-direction:column}.missions-daily-copy strong{font-size:13px;line-height:1.2}.missions-daily-copy .my{margin-top:2px;color:var(--ink-soft);font-size:10.5px;line-height:1.4}.missions-daily-count{color:#725600;font-size:11px;white-space:nowrap}.missions-daily-meter{grid-column:2 / -1;height:6px;overflow:hidden;border-radius:999px;background:#80600024}.missions-daily-meter i{display:block;height:100%;border-radius:inherit;background:#c79600;transition:width .42s cubic-bezier(.16,1,.3,1)}.missions-daily-progress.complete{border-color:#76b88e;background:#f2fbf4;box-shadow:0 3px #bdddc7}.missions-daily-progress.complete .missions-daily-icon{background:#3c9a62;color:#fff}.missions-daily-progress.complete .missions-daily-count{color:#267143}.missions-daily-progress.complete .missions-daily-meter i{background:#3c9a62}.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 #5e1f1d40;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-reminder-permission{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1.5px solid #dfc987;border-radius:13px;background:#fff8df}.profile-reminder-permission>span{display:flex;min-width:0;flex-direction:column}.profile-reminder-permission strong{color:#765800;font-size:12px}.profile-reminder-permission small{margin-top:2px;color:var(--ink-soft);font-size:9.5px;line-height:1.45}.profile-reminder-permission button{min-height:38px;padding:7px 10px;border:1.5px solid #7b231f;border-radius:11px;background:#a6322f;box-shadow:0 2px #6f1e1c;color:#fff;font:inherit;font-size:10.5px;font-weight:900}.profile-reminder-permission.unavailable{border-color:#d6aaa7;background:#fff1f0}.profile-reminder-permission.unavailable strong{color:var(--red-dark)}.profile-reminder-permission button:focus-visible{outline:3px solid #e7c24e;outline-offset:2px}.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:#fff7f6}.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 #f3d3d1}.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:#d69b98}.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:#8b7476;font-size:9.5px}.word-mastery{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;background:#f2eff8;color:#786264;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 #e1c6c5;background:linear-gradient(180deg,#fff9f8,#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:#fdf1f0}.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:#f7e9e8}.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,#c84b46,#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:#fff7f6}.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 #f4d7d5;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:#d69b98;background:linear-gradient(135deg,#fff,#fff0ef);color:var(--ink);box-shadow:0 3px #e8cecc}.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}.practice-foundations-link{grid-template-columns:48px minmax(0,1fr) 36px;min-height:68px;margin-bottom:12px;border-color:#d69b98;background:linear-gradient(135deg,#fff,#fff0ef)}.practice-foundations-mark{display:flex;flex-direction:column;gap:1px;background:#fff;color:var(--red-dark);line-height:1}.practice-foundations-mark strong{font-size:16px;font-weight:1000}.practice-foundations-mark .my{color:#765800;font-size:10px;font-weight:900}.practice-foundations-open{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:var(--purple-soft);color:var(--purple-dark)}.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 #d4b5b3;border-radius:999px;background:#fff;color:#63494a;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 #ead1cf;border-radius:999px;background:#fff0ef;color:#922825;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:#fff7f6;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}.checkpoint-timer{min-width:62px;justify-content:center;color:#8b4d12;font-variant-numeric:tabular-nums}.checkpoint-timer.low{color:var(--red);animation:checkpoint-timer-pulse .8s ease-in-out infinite alternate}@keyframes checkpoint-timer-pulse{to{transform:scale(1.06)}}@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 #e9b4b1}.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;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center}.tip-scrim{position:absolute;inset: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 #efdedd;border-radius:999px;background:#fdeceb;box-shadow:0 3px #e8cecc}.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 #efdedd;box-shadow:0 3px #e8cecc;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, #fdeceb)}.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{--crimson-50: #fff7f6;--crimson-100: #fdeceb;--crimson-200: #f4d7d5;--crimson-300: #e9b4b1;--crimson-600: #b93632;--crimson-700: #922825;--crimson-800: #6f1e1c;--ink-900: #2d2021;--ink-600: #715f61;--paper-0: #ffffff;--paper-50: #fffaf0;--thanaka-100: #f7e7ce;--thanaka-border: #e8dcc0;--gold-300: #f4d97a;--gold-500: #e7c24e;--gold-700: #c9a227;--violet-50: var(--crimson-50);--violet-100: var(--crimson-100);--violet-200: var(--crimson-200);--violet-300: var(--crimson-300);--violet-600: var(--crimson-600);--violet-700: var(--crimson-700);--violet-800: var(--crimson-800);--surface-canvas: var(--crimson-50);--surface-card: var(--paper-0);--surface-selected: var(--crimson-100);--text-primary: var(--ink-900);--text-muted: var(--ink-600);--border-subtle: #efdedd;--border-strong: #e2c8c7;--action-primary: var(--crimson-600);--action-primary-edge: var(--crimson-700);--focus-ring: var(--crimson-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(94, 31, 29, .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:#f1e6e5}body{min-width:0;min-height:100dvh;background:#f1e6e5;color:var(--text-primary)}#root{position:relative;isolation:isolate;overflow-x:clip;background:var(--surface-canvas);box-shadow:0 0 54px #5e1f1d24}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(185,54,50,.3) 36% 64%,transparent 65%) 0 0 / 12px 8px repeat-x;content:"";pointer-events:none}.screen-header-copy{min-width:0}.screen-header-title,.screen-header-subtitle{overflow-wrap:anywhere}.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:#cf7773;background:radial-gradient(circle at 90% 8%,rgba(244,217,122,.28),transparent 34%),linear-gradient(145deg,#c84b46,#a72f2c);box-shadow:0 4px #842421,0 12px 28px #7a232038;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:#fff1f0}.tabbar,.missions-screen .tabbar{right:auto;bottom:max(8px,env(safe-area-inset-bottom));left:50%;width:calc(100% - 16px);max-width:464px;padding:5px;transform:translate(-50%);border:1px solid rgba(226,200,199,.94);border-radius:20px;background:#fffdf9;box-shadow:0 10px 30px #5e1f1d29,inset 0 1px #ffffffe6;backdrop-filter:none;-webkit-backdrop-filter:none}.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:visible;padding-bottom:1px;font-size:11px;font-weight:700;line-height:1.7;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;text-align:center}.has-tabbar{padding-bottom:calc(94px + env(safe-area-inset-bottom))}.app-shell{min-height:100dvh}.app-shell.has-persistent-tabbar>.screen,.app-shell.has-persistent-tabbar>[class*=-screen]{padding-bottom:var(--mini-shell-bottom-reserve, 104px)!important;scroll-padding-block-end:var(--mini-shell-bottom-reserve, 104px)}.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-current-lesson{position:relative;z-index:9;display:grid;grid-template-columns:42px minmax(0,1fr) 22px;width:calc(100% - 8px);min-height:76px;align-items:center;gap:10px;margin:0 4px 10px;padding:10px 12px;border:2px solid #b33c37;border-radius:18px;background:linear-gradient(135deg,#c84b46,#a72f2c);box-shadow:0 4px #842421,0 10px 20px #7a23202e;color:#fff;text-align:left;transition:transform var(--duration-fast) var(--ease-standard),filter var(--duration-fast) var(--ease-standard)}.home-current-lesson:not(:disabled):hover{filter:brightness(1.04)}.home-current-lesson:not(:disabled):active{transform:translateY(2px);box-shadow:0 2px #842421}.home-current-lesson:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.home-current-lesson-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:13px;background:#fff7dc2e;color:var(--gold-300)}.home-current-lesson-copy{min-width:0;display:grid;gap:1px}.home-current-lesson-kicker{color:#f4d97a;font-size:9px;font-weight:950;letter-spacing:.14em}.home-current-lesson strong{overflow:hidden;font-size:17px;line-height:1.28;text-overflow:ellipsis;white-space:nowrap}.home-current-lesson-meta{overflow:hidden;color:#ffe7df;font-size:11px;font-weight:700;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.home-review-lesson{border-color:#b58939;background:linear-gradient(135deg,#8a5b22,#6e4318);box-shadow:0 4px #513012,0 10px 20px #52351829}.home-review-lesson:not(:disabled):active{box-shadow:0 2px #513012}.home-screen .map-scene{border-radius:var(--radius-feature) var(--radius-feature) 0 0;box-shadow:inset 0 2px #ffffff73}.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)}.missions-screen .today-practice-card{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:8px 12px;margin:0 0 var(--space-4);padding:14px;overflow:hidden;border:2px solid #e0b64a;border-radius:var(--radius-feature);background:linear-gradient(145deg,#fffdf5,#fff7db);box-shadow:0 4px #e5d08d,var(--shadow-card)}.missions-screen .today-practice-card:after{position:absolute;top:-30px;right:-24px;width:92px;height:92px;border-radius:50%;background:#be8b1814;content:"";pointer-events:none}.missions-screen .today-practice-card.complete{border-color:#72b28a;background:linear-gradient(145deg,#f8fff9,#eaf8ee);box-shadow:0 4px #b9dac5,var(--shadow-card)}.today-practice-icon{z-index:1;display:grid;width:48px;height:48px;place-items:center;border-radius:15px;background:var(--action-primary);color:#fff4cf;box-shadow:inset 0 -3px #59100e3d}.today-practice-card.complete .today-practice-icon{background:var(--success-fg);color:#fff}.today-practice-copy,.today-practice-meta{z-index:1;min-width:0}.today-practice-kicker{display:block;margin-bottom:1px;color:var(--action-primary-edge);font-size:9px;font-weight:1000;letter-spacing:.11em}.today-practice-copy h2{margin:0;color:var(--text-primary);font-size:17px;line-height:1.2}.today-practice-copy p{margin:2px 0 0;color:var(--text-muted);font-size:11px;font-weight:700}.today-practice-meta{display:flex;flex-direction:column;align-items:flex-end;color:#785a12;text-align:right}.today-practice-meta strong{font-size:12px;line-height:1.2}.today-practice-meta span{margin-top:2px;color:var(--text-muted);font-size:9.5px;font-weight:700}.today-practice-mix{z-index:1;display:flex;grid-column:1 / -1;flex-wrap:wrap;gap:5px}.today-practice-mix span{display:inline-flex;min-height:25px;align-items:center;gap:4px;padding:4px 7px;border:1px solid rgba(141,103,12,.2);border-radius:999px;background:#ffffffc7;color:#70540f;font-size:9.5px;font-weight:900;white-space:nowrap}.today-practice-action{z-index:1;display:grid;grid-column:1 / -1;grid-template-columns:auto auto 17px;min-height:42px;align-items:center;justify-content:center;gap:6px;border:0;border-radius:13px;background:var(--action-primary);color:#fff;box-shadow:0 3px 0 var(--action-primary-edge);font:inherit;font-size:12px;font-weight:900}.today-practice-action .my{font-size:10.5px}.today-practice-action:disabled{background:#bbb3a3;box-shadow:0 3px #908878;cursor:not-allowed}.today-practice-card.complete .today-practice-action{background:var(--success-fg);box-shadow:0 3px #21633d}.today-practice-reward{z-index:1;display:flex;grid-column:1 / -1;align-items:center;justify-content:center;gap:4px;margin:-1px 0 0;color:#76570b;font-size:9.5px;font-weight:800}@media(max-width:370px){.missions-screen .today-practice-card{grid-template-columns:44px minmax(0,1fr);padding:12px}.today-practice-icon{width:44px;height:44px}.today-practice-meta{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between;text-align:left}}.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:#fff1f0;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-league-card{border-color:#eadfc9;background:radial-gradient(circle at 100% 0,rgba(243,185,47,.14),transparent 38%),var(--surface-card, #fff)}.profile-league-current{display:inline-flex;align-items:center;gap:5px;padding:4px 9px 4px 6px;border:1px solid #eadfc9;border-radius:14px;background:#fffaf0;color:#74501d}.profile-league-medals{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 3px;scrollbar-width:none}.profile-league-medals::-webkit-scrollbar{display:none}.profile-league-medals .league-medal{flex:0 0 61px;min-height:68px;border:1px solid #efe7d8;border-radius:15px;background:#ffffffc7}.profile-league-medals .league-medal-count{top:3px;left:auto;right:1px}.profile-league-empty{margin:0;color:var(--ink-soft);font-size:12.5px;line-height:1.6}.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:44px;height:44px;place-items:center;border-radius:var(--radius-control);background:var(--surface-selected);color:var(--action-primary-edge)}.practice-recommendation-action,.practice-return-loop>button{min-height:44px}.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-card:disabled{opacity:.74;background:#fbf8f7;box-shadow:0 2px 0 var(--border-subtle)}.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-calendar-day.future{opacity:1;color:var(--text-muted)}.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(185,54,50,.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 #5e1f1d29}.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:44px minmax(0,1fr) 48px}.screen-header-back{width:44px;height:44px}.screen-header-subtitle{display:none}.profile-goals{grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-stage{padding-right:12px;padding-left:12px}.foundation-panel{padding:12px}.alphabet-chart,.number-chart{gap:6px}.alphabet-tile{min-height:72px}.foundation-panel-heading>span{display:none}}@media(max-width:340px)and (max-height:700px){.home-screen .level-chip{display:none}}.quick-actions{position:fixed;top:max(8px,env(safe-area-inset-top));left:50%;z-index:25;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:calc(100% - 16px);max-width:464px;container-type:inline-size;min-height:58px;padding:5px;transform:translate(-50%);border:1px solid rgba(226,200,199,.94);border-radius:20px;background:#fffdf9;box-shadow:0 10px 30px #5e1f1d26,inset 0 1px #ffffffeb;backdrop-filter:none;-webkit-backdrop-filter:none}.quick-action{position:relative;display:flex;min-width:0;min-height:48px;align-items:center;justify-content:center;gap:7px;padding:5px 7px;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--action-primary-edge);transition:transform var(--duration-fast) var(--ease-standard),color var(--duration-base) var(--ease-standard),background var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}.quick-action.heart,.quick-action.is-active{border-color:var(--crimson-200);background:var(--surface-selected)}.quick-action:not(:disabled):hover{border-color:var(--crimson-300);background:var(--crimson-100)}.quick-action:not(:disabled):active{transform:scale(.97)}.quick-action:disabled{cursor:default;opacity:.58}.quick-action.heart:disabled{opacity:1}.quick-action-icon{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:11px;background:#fff;box-shadow:inset 0 0 0 1px var(--crimson-200),0 2px 0 var(--crimson-200)}.quick-action-copy{display:grid;min-width:0;justify-items:start;line-height:1.05}.quick-action-copy strong,.quick-action-copy small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-action-copy strong{font-size:11px;font-weight:900;letter-spacing:-.01em}.quick-action-copy small{margin-top:3px;color:var(--text-muted);font-size:9px;font-weight:750}.quick-action-state{position:absolute;right:5px;bottom:4px;display:grid;width:16px;height:16px;place-items:center;border:1px solid #fff;border-radius:50%;background:var(--crimson-800);color:#fff}.quick-action.xp{cursor:default}.quick-action.xp:hover{border-color:transparent;background:transparent}.quick-action.xp .quick-action-icon{color:#b57900}.quick-action-extra{position:absolute;top:3px;right:4px;display:inline-flex;align-items:center;gap:2px;padding:1px 4px;border-radius:999px;background:var(--crimson-100);color:var(--crimson-700);font-size:9px;font-weight:900;line-height:1.2}.quick-action.rewarded .quick-action-icon{animation:heart-pop .4s ease}@container (max-width: 280px){.quick-action{flex-direction:column;gap:2px;padding:3px 2px}.quick-action-copy{justify-items:center}.quick-action-copy small{display:none}}.learning-shortcuts{position:relative;z-index:8;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-height:48px;margin:0 2px 10px;padding:4px;border:1px solid rgba(143,91,55,.3);border-radius:16px;background:linear-gradient(180deg,#fffdf5fa,#f7ecd3fa);box-shadow:inset 0 1px #fff,0 3px 9px #53351f1a}.learning-shortcut{position:relative;display:flex;min-width:0;min-height:44px;align-items:center;justify-content:center;gap:6px;padding:4px 7px;border:1px solid transparent;border-radius:12px;background:transparent;color:#7b2a23;transition:transform var(--duration-fast) var(--ease-standard),background var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}.learning-shortcut+.learning-shortcut:before{content:"";position:absolute;top:8px;bottom:8px;left:-3px;width:1px;background:#8054352e}.learning-shortcut:not(:disabled):is(:hover,:focus-visible){border-color:#9d453647;background:#b23a3014}.learning-shortcut:not(:disabled):active{transform:translateY(1px) scale(.98)}.learning-shortcut:focus-visible{outline:2px solid #9b3028;outline-offset:1px}.learning-shortcut:disabled{cursor:default;opacity:.5}.learning-shortcut-icon{display:grid;width:27px;height:27px;flex:0 0 27px;place-items:center;border:1px solid rgba(138,44,36,.2);border-radius:9px;background:#ffffffad;box-shadow:0 1px #7b4c2629}.learning-shortcut.stories{color:#86521f}.learning-shortcut.stories .learning-shortcut-icon{border-color:#a5742647;background:#fff4d1}.learning-shortcut.lightning{color:#9b6b00}.learning-shortcut.lightning .learning-shortcut-icon{border-color:#b5841047;background:#fff6d7}.learning-shortcut-label{min-width:0;overflow:visible;color:currentColor;font-size:12.5px;font-weight:850;line-height:1.7;text-align:left;white-space:normal}.stage-test-shortcut{position:relative;z-index:8;display:grid;grid-template-columns:minmax(0,1fr) 34px;min-height:54px;margin:-2px 4px 10px;overflow:hidden;border:1px solid rgba(126,67,43,.32);border-radius:14px;background:#fffaebf7;box-shadow:inset 0 1px #fff,0 2px 7px #53351f1a;animation:stage-test-shortcut-in .22s var(--ease-standard) both}.stage-test-shortcut-profile{margin:0 0 14px;background:#fffaf0;box-shadow:0 3px #e3cfaa}.stage-test-shortcut-main{display:grid;grid-template-columns:34px minmax(0,1fr) 18px;width:100%;min-width:0;align-items:center;gap:8px;padding:7px 8px;color:#74251f;text-align:left;transition:background var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.stage-test-shortcut-main:is(:hover,:focus-visible){background:#a6322f12}.stage-test-shortcut-main:active{transform:translateY(1px) scale(.99)}.stage-test-shortcut-main:focus-visible,.stage-test-shortcut-dismiss:focus-visible{outline:2px solid #962f29;outline-offset:-3px}.stage-test-shortcut-mark{position:relative;display:grid;width:34px;height:34px;place-items:center;border:1px solid #d7b75d;border-radius:11px;background:#fff2bd;color:#7a5211;box-shadow:inset 0 1px #fff}.stage-test-shortcut-mark small{position:absolute;right:-3px;bottom:-3px;display:grid;min-width:15px;height:15px;padding:0 3px;place-items:center;border:1.5px solid #fff8df;border-radius:8px;background:#9f312b;color:#fff;font-size:8px;font-weight:1000;line-height:1}.stage-test-shortcut-copy{display:flex;min-width:0;flex-direction:column;gap:1px}.stage-test-shortcut-copy strong{color:#6f211d;font-size:12px;font-weight:950;line-height:1.3}.stage-test-shortcut-copy small{display:-webkit-box;overflow:hidden;color:#755e4c;font-size:9.5px;font-weight:750;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.stage-test-shortcut-go{color:#9f312b;font-size:26px;font-weight:700;line-height:1}.stage-test-shortcut-dismiss{min-width:34px;border-left:1px solid rgba(126,67,43,.18);color:#806b5c;font-size:20px;line-height:1;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.stage-test-shortcut-dismiss:is(:hover,:focus-visible){background:#74251f12;color:#74251f}.stage-test-shortcut-dismiss:active{background:#74251f1f}@keyframes stage-test-shortcut-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:340px){.stage-test-shortcut{margin-right:2px;margin-left:2px}.stage-test-shortcut-main{grid-template-columns:31px minmax(0,1fr) 14px;gap:6px;padding-right:5px;padding-left:6px}.stage-test-shortcut-mark{width:31px;height:31px}.stage-test-shortcut-copy strong{font-size:11.5px}.stage-test-shortcut-copy small{font-size:9px}}@media(prefers-reduced-motion:reduce){.stage-test-shortcut{animation:none}.stage-test-shortcut-main,.stage-test-shortcut-dismiss{transition:none}}.heart-overlay{position:fixed;inset:0;z-index:70;display:flex;align-items:flex-end;justify-content:center}.heart-scrim{position:absolute;inset:0;margin:0;padding:0;background:#18123070}.heart-sheet{position:relative;width:100%;max-width:460px;padding:22px 20px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:var(--card);box-shadow:0 -8px 30px #18123033;animation:tip-rise .28s cubic-bezier(.2,1,.4,1)}.heart-sheet-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.heart-sheet-badge{display:grid;width:44px;height:44px;flex:none;place-items:center;border-radius:14px;background:var(--red-soft);color:var(--red);box-shadow:inset 0 0 0 1px #e0524f2e}.heart-sheet-kicker{display:block;color:var(--red);font-size:12px;font-weight:800;letter-spacing:.08em}.heart-sheet-head h2{margin:0;color:var(--ink);font-size:20px;font-weight:900}.heart-sheet-count{display:flex;align-items:baseline;gap:7px;margin:0 0 4px;color:var(--ink);font-size:34px;font-weight:900}.heart-sheet-count svg{align-self:center}.heart-sheet-count .heart-sheet-max{color:var(--ink-soft);font-size:18px;font-weight:800}.heart-sheet-rule{margin:0 0 12px;color:var(--ink-soft)}.heart-sheet-next{margin:0 0 16px;color:var(--ink);font-weight:700}.heart-sheet-watch{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-bottom:10px}.heart-sheet-close{width:100%}.app-shell.has-persistent-actions>.screen,.app-shell.has-persistent-actions>[class*=-screen]{padding-top:var(--mini-shell-top-reserve, 82px)!important;scroll-padding-block-start:var(--mini-shell-top-reserve, 82px)}@media(max-width:340px){.quick-action{flex-direction:column;gap:2px;padding:3px 4px}.quick-action-icon{width:26px;height:26px;flex-basis:26px;border-radius:9px}.quick-action-copy{justify-items:center}.quick-action-copy strong{font-size:10px}.quick-action-copy small{display:none}.learning-shortcuts{gap:2px;margin-right:0;margin-left:0}.learning-shortcut{gap:3px;padding-right:3px;padding-left:3px}.learning-shortcut-icon{width:24px;height:24px;flex-basis:24px}.learning-shortcut-label{font-size:12px}.home-current-lesson{grid-template-columns:36px minmax(0,1fr) 18px;gap:7px;min-height:70px;padding:8px 9px}.home-current-lesson-icon{width:34px;height:34px;border-radius:10px}.home-current-lesson strong{font-size:15px}.home-current-lesson-meta{font-size:10px}}@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,.quick-actions,.learning-shortcuts,.lesson-top{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}}.streak-milestone-overlay{position:fixed;inset:0;background:#000000b8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:99999;animation:fadeIn .24s ease-out}.streak-milestone-dialog{background:#fff;border-radius:28px;max-width:380px;width:100%;max-height:88vh;overflow-y:auto;padding:24px 20px 20px;text-align:center;box-shadow:0 24px 50px #00000059;border:2px solid #FEFCBF;animation:popIn .32s cubic-bezier(.175,.885,.32,1.275)}.streak-fire-anim{position:relative;display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px}.streak-fire-icon{font-size:64px;animation:flamePulse 1.2s infinite alternate ease-in-out;display:block}.streak-fire-number{position:absolute;bottom:0;font-size:22px;font-weight:900;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.7)}.streak-milestone-badge{display:inline-flex;align-items:center;gap:6px;background:#fefcbf;color:#b7791f;font-size:11px;font-weight:800;padding:4px 12px;border-radius:20px;margin-bottom:12px;letter-spacing:.5px}.streak-milestone-title{font-size:20px;font-weight:900;color:#2d3748;margin:0 0 4px}.streak-milestone-sub{font-size:14px;font-weight:700;color:#d69e2e;margin:0 0 16px}.streak-milestone-card{background:#f7fafc;border:1px solid #E2E8F0;border-radius:16px;padding:14px 16px;margin-bottom:20px}.streak-milestone-card p{font-size:14px;color:#4a5568;margin:0 0 4px;line-height:1.4}.streak-milestone-card small{font-size:12px;color:#718096;font-weight:600}.streak-milestone-actions{display:flex;flex-direction:column;gap:10px}.streak-share-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#dd6b20,#d69e2e);box-shadow:0 4px 14px #dd6b2059;font-size:14px}@keyframes flamePulse{0%{transform:scale(.96) rotate(-2deg);filter:drop-shadow(0 0 10px rgba(237,137,54,.4))}to{transform:scale(1.08) rotate(3deg);filter:drop-shadow(0 0 25px rgba(246,224,94,.8))}}.leaderboard-scope-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;background:#edf2f7;padding:4px;border-radius:16px;margin-bottom:16px}.scope-tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 8px;border:none;background:transparent;border-radius:12px;font-size:13.5px;font-weight:800;color:#4a5568;cursor:pointer;transition:all .2s ease}.scope-tab.active{background:#fff;color:#2d3748;box-shadow:0 2px 6px #00000014}.league-timer-bar{display:inline-flex;align-items:center;gap:6px;background:#fefcbf;color:#744210;font-size:12px;font-weight:800;padding:6px 14px;border-radius:20px;margin-bottom:12px}.league-tier-card{margin-bottom:14px;border-left:4px solid var(--league-color, #D69E2E)}.league-prejoin-card,.league-tier-summary{display:flex;align-items:center;gap:14px}.league-prejoin-card{border:1px solid #eadfc9;background:linear-gradient(145deg,#fffdf7,#fff)}.league-prejoin-gem{display:grid;width:76px;height:76px;flex:0 0 76px;place-items:center;border-radius:24px;background:#fff8e6}.league-prejoin-card h2,.league-tier-summary h2,.league-history-heading h2{margin:2px 0 4px;font-size:17px;line-height:1.25}.league-prejoin-card p,.league-tier-summary p{margin:0;color:var(--ink-soft);font-size:12.5px;line-height:1.55}.league-prejoin-card .profile-kicker,.league-tier-summary .profile-kicker,.league-history-heading .profile-kicker{color:var(--league-color, #9b6a2b);font-size:10px;letter-spacing:.08em}.league-rank-orb{display:grid;width:68px;height:68px;flex:0 0 68px;place-items:center;border:2px solid color-mix(in srgb,var(--league-color, #D69E2E),#fff 50%);border-radius:23px;background:color-mix(in srgb,var(--league-color, #D69E2E),#fff 88%);color:color-mix(in srgb,var(--league-color, #D69E2E),#422 30%);font-size:24px;font-weight:950}.league-tier-header{display:flex;justify-content:space-between;font-size:14px;font-weight:800}.league-tier-sub{margin:0;font-size:13px;color:var(--ink-soft)}.league-ruby-badge{margin:0;font-weight:800;color:#9b2c2c}.league-overtake-banner{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#fefcbf,#feebc8);border:1px solid #F6E05E;padding:10px 14px;border-radius:14px;color:#744210;font-size:13px;margin-bottom:16px}.league-board-empty{padding:24px 10px;color:var(--ink-soft);line-height:1.55}.league-medal-cabinet{overflow:hidden;border:1px solid #eadfc9;background:radial-gradient(circle at 92% 2%,rgba(243,185,47,.17),transparent 35%),linear-gradient(145deg,#fffdf7,#fff)}.league-history-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.league-history-heading>strong{display:grid;min-width:44px;height:44px;padding:0 8px;place-items:center;border:1px solid #f1d993;border-radius:15px;background:#fff5cf;color:#795114;font-size:20px}.league-medal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.league-medal{position:relative;display:inline-flex;align-items:center;justify-content:center}.league-medal-grid .league-medal{min-width:0;justify-content:flex-start;gap:5px;padding:8px 6px;border:1px solid #efe7d8;border-radius:16px;background:#ffffffc7}.league-medal-grid .league-medal svg{flex:0 0 auto;width:53px;height:auto}.league-medal-count{position:absolute;top:3px;left:43px;min-width:22px;padding:2px 5px;border:2px solid #fff;border-radius:9px;background:#3d2d2d;color:#fff;font-size:10px;line-height:1.1;text-align:center}.league-medal-label{display:flex;min-width:0;flex-direction:column;color:var(--ink);font-size:11px;line-height:1.3}.league-medal-label .my{color:var(--ink-soft);font-size:10px}.league-history-empty{display:flex;align-items:center;gap:10px;padding:10px 4px 2px}.league-history-empty p,.league-history-empty-copy{margin:0;color:var(--ink-soft);font-size:12.5px;line-height:1.6}.league-history-list{padding:5px!important;overflow:hidden}.league-history-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:66px;padding:7px 9px;border-bottom:1px solid var(--border-subtle)}.league-history-row:last-child{border-bottom:0}.league-history-icon{display:grid;place-items:center}.league-history-icon .league-medal svg{height:auto}.league-history-copy,.league-history-result{display:flex;min-width:0;flex-direction:column}.league-history-copy strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.league-history-copy span,.league-history-copy small{color:var(--ink-soft);font-size:10.5px;line-height:1.4}.league-history-result{align-items:flex-end;gap:3px}.league-history-result>strong{font-size:16px}.league-history-result>strong small{color:var(--ink-soft);font-size:10px}.league-outcome{padding:2px 6px;border-radius:8px;background:#eef2f7;color:#5f6978;font-size:9px;font-weight:900;white-space:nowrap}.league-outcome-promoted{background:#e7f7ed;color:#217047}.league-outcome-demoted{background:#fff0f0;color:#a13a3a}.league-outcome-legacy{background:#f3f0e9;color:#776d5f}@media(max-width:370px){.scope-tab{gap:4px;padding-inline:4px;font-size:11.5px}.league-prejoin-card{align-items:flex-start}.league-prejoin-gem{width:60px;height:60px;flex-basis:60px}.league-medal-grid{grid-template-columns:1fr}}.global-stats-card{margin-bottom:16px;text-align:center;background:linear-gradient(135deg,#faf5ff,#fff);border:1px solid #E9D8FD}.global-stat-row{display:flex;align-items:center;justify-content:space-around;padding:8px 0}.global-stat-col{display:flex;flex-direction:column;align-items:center;gap:2px}.global-stat-num{font-size:22px;font-weight:900;color:#6b46c1}.global-stat-num.top-badge{color:#38a169}.global-stat-lbl{font-size:12px;color:#718096}.global-stat-divider{width:1px;height:36px;background:#e2e8f0}.global-stat-foot{margin:8px 0 0;font-size:12px;color:#718096}.leaderboard-podium-container{display:flex;align-items:flex-end;justify-content:center;gap:12px;padding:16px 8px 20px;margin-bottom:16px}.podium-pillar{display:flex;flex-direction:column;align-items:center;flex:1;max-width:104px;text-align:center}.podium-crown{font-size:24px;margin-bottom:-6px;z-index:2;animation:crownBounce 2s infinite ease-in-out}.podium-avatar-wrapper{position:relative;margin-bottom:6px}.podium-avatar-wrapper.gold-ring .podium-avatar{border:3px solid #ECC94B;box-shadow:0 0 14px #ecc94b80}.podium-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#4a5568,#2d3748);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:20px;border:2px solid #CBD5E0}.podium-avatar.champ{width:60px;height:60px;font-size:24px;background:linear-gradient(135deg,#d69e2e,#b7791f)}.podium-rank-badge{position:absolute;bottom:-4px;right:-4px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;color:#fff;border:2px solid #FFFFFF}.podium-rank-badge.gold{background:#d69e2e}.podium-rank-badge.silver{background:#718096}.podium-rank-badge.bronze{background:#dd6b20}.podium-user-name{font-size:12px;font-weight:800;color:#2d3748;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px;margin-bottom:4px}.podium-user-name.champ{font-size:13px;font-weight:900;color:#b7791f}.podium-xp-pill{display:inline-flex;align-items:center;gap:3px;background:#edf2f7;color:#4a5568;font-size:11px;font-weight:800;padding:2px 8px;border-radius:10px;margin-bottom:8px}.podium-xp-pill.gold{background:#fefcbf;color:#744210}.podium-pedestal{width:100%;border-radius:12px 12px 0 0;display:flex;align-items:center;justify-content:center}.podium-pedestal.p-1{height:80px;background:linear-gradient(180deg,#f6e05e,#ecc94b);box-shadow:0 4px 12px #ecc94b4d}.podium-pedestal.p-2{height:58px;background:linear-gradient(180deg,#e2e8f0,#cbd5e0)}.podium-pedestal.p-3{height:42px;background:linear-gradient(180deg,#fbd38d,#f6ad55)}@keyframes crownBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.zone-divider{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:900;letter-spacing:.5px;padding:8px 12px;border-radius:8px;margin:8px 0}.zone-divider.promotion-zone{background:#f0fff4;color:#22543d;border-left:3px solid #38A169}.zone-divider.relegation-zone{background:#fff5f5;color:#742a2a;border-left:3px solid #E53E3E}.league-row.promotion-row{border-left:3px solid #48BB78}.league-row.relegation-row{border-left:3px solid #FEB2B2}.league-user-col{display:flex;flex-direction:column;flex:1;min-width:0;margin:0 10px}.league-alias,.podium-user-alias{color:var(--ink-soft);font-size:10px;font-weight:700;letter-spacing:.01em}.podium-user-alias{max-width:96px;margin-top:-2px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.league-streak-pill{display:inline-flex;align-items:center;gap:2px;font-size:10px;font-weight:800;color:#dd6b20}.audio-waveform-visualizer-container{background:radial-gradient(circle at center,rgba(16,185,129,.08) 0%,rgba(245,158,11,.04) 50%,transparent 80%);border:1.5px solid rgba(226,232,240,.8);box-shadow:inset 0 2px 6px #00000008,0 4px 14px #10b98114;margin:12px 0;transition:border-color .16s ease,box-shadow .16s ease}.audio-waveform-visualizer-container.active-pulse{border-color:#10b98180;box-shadow:inset 0 0 16px #10b9811f,0 0 20px #10b98138;animation:none}@keyframes visualizerGlowPulse{0%{border-color:#10b98166;box-shadow:0 0 12px #10b98126}to{border-color:#f59e0b99;box-shadow:0 0 24px #f59e0b40}}.pronunciation-feedback-box{background:#fff;border:1.5px solid #E2E8F0;border-radius:20px;padding:16px 18px;margin:14px 0;box-shadow:0 4px 16px #0000000a;text-align:left;transition:border-color .16s ease,box-shadow .16s ease}.pronounce-header{display:flex;align-items:center;gap:14px;margin-bottom:14px}.pronounce-score-ring-wrap{position:relative;width:64px;height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.pronounce-score-ring{transform:rotate(-90deg)}.ring-score-text{position:absolute;font-size:14px;font-weight:900;letter-spacing:-.5px}.ring-score-text.score-high{color:#059669}.ring-score-text.score-mid{color:#d97706}.ring-score-text.score-low{color:#ea580c}.ring-score-text.score-neutral{color:#94a3b8}.pronounce-meta{flex:1;min-width:0}.pronounce-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:3px}.pronounce-status-text{font-size:13px;font-weight:600;color:#334155;line-height:1.35}.listening-pulse{display:inline-flex;align-items:center;gap:6px;color:#059669;font-weight:700}.live-dot{width:8px;height:8px;border-radius:50%;background:#10b981;animation:liveDotPulse 1.2s infinite ease-in-out}@keyframes liveDotPulse{0%,to{transform:scale(.8);opacity:.6;box-shadow:0 0 #10b981b3}50%{transform:scale(1.2);opacity:1;box-shadow:0 0 0 4px #10b98100}}.feedback-match-good{color:#059669;display:inline-flex;align-items:center;gap:4px}.feedback-match-mid{color:#d97706;display:inline-flex;align-items:center;gap:4px}.feedback-match-retry{color:#dc2626}.feedback-hint{color:#94a3b8;font-weight:500}.pronounce-words-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pronounce-word-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:12px;font-size:15px;font-weight:700;transition:all .2s cubic-bezier(.34,1.56,.64,1);border:1.5px solid transparent}.pronounce-word-chip.matched{background:#ecfdf5;color:#065f46;border-color:#a7f3d0;box-shadow:0 2px 8px #10b98126;animation:chipMatchedPop .28s ease}.pronounce-word-chip.variance{background:#fffbeb;color:#92400e;border-color:#fde68a;box-shadow:0 2px 8px #f59e0b1f}.pronounce-word-chip.unspoken{background:#f8fafc;color:#94a3b8;border-color:#e2e8f0}.word-status-icon.match-icon{color:#059669;display:flex;align-items:center}.word-status-icon.var-icon{font-weight:900;font-size:13px;color:#d97706}.word-status-dot{width:5px;height:5px;border-radius:50%;background:#cbd5e1}.word-punct{opacity:.7}@keyframes chipMatchedPop{0%{transform:scale(.92)}60%{transform:scale(1.08)}to{transform:scale(1)}}.pronunciation-feedback-box.compact{padding:12px 14px;border-radius:16px;margin:10px 0}.pronunciation-feedback-box.compact .pronounce-score-ring-wrap,.pronunciation-feedback-box.compact .pronounce-score-ring{width:48px;height:48px}.pronunciation-feedback-box.compact .ring-score-text{font-size:12px}.pronunciation-feedback-box.compact .pronounce-word-chip{padding:4px 10px;font-size:13px}.mistakes-inbox-screen{padding-bottom:96px}.mistakes-hero-card{background:var(--surface-card, #ffffff);border:1.5px solid var(--border-subtle, #efdedd);border-radius:var(--radius-card, 16px);padding:16px;margin-bottom:16px;box-shadow:var(--shadow-card, 0 3px 0 #efdedd);display:flex;flex-direction:column;gap:14px}.mistakes-hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mistakes-stat-box{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 10px;border-radius:12px;text-align:center;border:1px solid transparent}.mistakes-stat-box.active{background:#fff5f5;border-color:#fed7d7}.mistakes-stat-box.active .mistakes-stat-num{color:#c53030}.mistakes-stat-box.mastered{background:#f0fff4;border-color:#c6f6d5}.mistakes-stat-box.mastered .mistakes-stat-num{color:#2f855a}.mistakes-stat-num{font-size:24px;font-weight:900;line-height:1.1;letter-spacing:-.5px}.mistakes-stat-label{font-size:11px;font-weight:700;color:var(--text-muted, #715f61);margin-top:3px}.mistakes-practice-cta{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;font-size:15px;font-weight:800;padding:12px 16px;border-radius:12px}.mistakes-list{display:flex;flex-direction:column;gap:12px}.mistake-item-card{background:var(--surface-card, #ffffff);border:1.5px solid var(--border-subtle, #efdedd);border-radius:var(--radius-card, 16px);padding:14px 16px;box-shadow:0 2px 0 var(--border-subtle, #efdedd);transition:transform var(--duration-fast, .12s) ease,box-shadow var(--duration-fast, .12s) ease}.mistake-item-card:hover{transform:translateY(-1px);box-shadow:0 4px 0 var(--border-subtle, #efdedd)}.mistake-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;flex-wrap:wrap}.mistake-type-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;color:var(--crimson-700, #922825);background:var(--crimson-50, #fff7f6);border:1px solid var(--crimson-200, #f4d7d5);padding:3px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.3px}.mistake-header-badges{display:inline-flex;align-items:center;gap:6px}.mistake-lapse-tag{font-size:11px;font-weight:800;color:#c53030;background:#fff5f5;border:1px solid #FEB2B2;padding:3px 8px;border-radius:999px}.mistake-streak-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;padding:3px 8px;border-radius:999px;background:#edf2f7;color:#4a5568;border:1px solid #CBD5E0}.mistake-streak-chip.streak-1{background:#ebf8ff;color:#2b6cb0;border-color:#bee3f8}.mistake-streak-chip.streak-2{background:#f0fff4;color:#276749;border-color:#9ae6b4}.streak-dots{display:inline-flex;align-items:center;gap:3px;margin-left:2px}.streak-dots .dot{width:6px;height:6px;border-radius:50%;background:#cbd5e0}.streak-dots .dot.filled{background:#3182ce}.mistake-streak-chip.streak-2 .streak-dots .dot.filled{background:#38a169}.mistake-card-body{display:flex;flex-direction:column;gap:8px}.mistake-content-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mistake-texts{flex:1;min-width:0}.mistake-word-en{font-size:17px;font-weight:800;color:var(--text-primary, #2d2021);margin:0 0 2px;line-height:1.25}.mistake-phonetic{display:block;font-size:12px;color:#8c5b14;font-weight:600;margin-bottom:2px}.mistake-word-my{font-size:14px;font-weight:600;color:var(--crimson-700, #922825);margin:0;line-height:1.35}.mistake-audio-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:12px;background:var(--crimson-50, #fff7f6);border:1.5px solid var(--crimson-200, #f4d7d5);color:var(--crimson-700, #922825);font-size:12px;font-weight:800;cursor:pointer;flex-shrink:0;transition:all var(--duration-fast, .12s) ease}.mistake-audio-chip:hover{background:var(--crimson-100, #fdeceb);border-color:var(--crimson-300, #e9b4b1);transform:scale(1.03)}.mistake-audio-chip.playing{background:var(--crimson-600, #b93632);color:#fff;border-color:var(--crimson-700, #922825);animation:audioChipPulse .6s infinite alternate ease}@keyframes audioChipPulse{0%{transform:scale(1)}to{transform:scale(1.05)}}.mistake-prompt-context{background:#f7fafc;border:1px solid #E2E8F0;border-radius:10px;padding:8px 10px;margin-top:4px}.mistake-prompt-context .prompt-label{display:block;font-size:10px;font-weight:800;color:#718096;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.mistake-prompt-context .prompt-en-text{font-size:13px;font-weight:600;color:#2d3748;margin:0 0 2px}.mistake-prompt-context .prompt-my-text{font-size:12px;color:#4a5568;margin:0}.mistake-example-box{background:#fffdf7;border:1px dashed #E8DCC0;border-radius:8px;padding:6px 10px;font-size:12px;display:flex;flex-direction:column;gap:2px}.mistake-example-box strong{color:#4a5568}.mistake-example-box span{color:#718096}.mistakes-empty-state{background:var(--surface-card, #ffffff);border:1.5px solid var(--border-subtle, #efdedd);border-radius:var(--radius-feature, 22px);padding:32px 20px;text-align:center;box-shadow:var(--shadow-card, 0 3px 0 #efdedd);display:flex;flex-direction:column;align-items:center;gap:12px;margin:16px 0}.mistakes-empty-visual{margin-bottom:4px}.mistakes-empty-badge{display:inline-flex;align-items:center;gap:6px;background:#f0fff4;color:#22543d;border:1px solid #9AE6B4;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.3px}.mistakes-empty-state h2{font-size:20px;font-weight:900;color:var(--text-primary, #2d2021);margin:0;line-height:1.25}.mistakes-empty-my{font-size:14px;color:var(--text-muted, #715f61);max-width:300px;margin:0 auto;line-height:1.4}.mistakes-mastered-pill{display:inline-flex;align-items:center;gap:6px;background:#fefcbf;color:#744210;border:1px solid #F6E05E;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:600;margin:6px 0}.mistakes-empty-actions{display:flex;flex-direction:column;gap:8px;width:100%;max-width:260px;margin-top:8px}.celebrate{background:radial-gradient(circle at 50% 25%,rgba(245,158,11,.12) 0%,var(--surface-canvas) 65%)}.celebrate-hero .hero-glow{position:absolute;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,#fbbf2466,#f59e0b00 70%);animation:heroGlowPulse 2.5s infinite alternate ease-in-out}@keyframes heroGlowPulse{0%{transform:scale(.85);opacity:.5}to{transform:scale(1.25);opacity:.9}}:root{--reward-spring: cubic-bezier(.18, 1.42, .38, 1);--reward-settle: cubic-bezier(.2, .86, .32, 1);--reward-lacquer: #a73632;--reward-lacquer-dark: #6f1e1c;--reward-gold: #d8b247;--reward-gold-light: #f4d97a;--reward-thanaka: #f7e7ce;--reward-jade: #2e8b62}.achievement-rarity-group{opacity:0;animation:achievement-section-in .52s calc(90ms + var(--rarity-index, 0) * 90ms) var(--reward-settle) forwards}.achievements-screen .rarity-title{display:flex;align-items:center;gap:8px;color:#6b5657;letter-spacing:.01em}.achievements-screen .rarity-title:before{width:24px;height:5px;flex:0 0 auto;border:0;border-radius:999px;background:#b9aa98;box-shadow:inset 0 1px #ffffffb8;content:""}.achievements-screen .rarity-title.rare:before{background:var(--reward-jade)}.achievements-screen .rarity-title.legendary:before{background:var(--reward-gold);box-shadow:inset 0 1px #fff4b8}.achievements-screen .rarity-title.mythic{color:#6a577f}.achievements-screen .rarity-title.mythic:before{background:linear-gradient(90deg,#75618f,#3a2d50);box-shadow:inset 0 1px #bfaad6}.achievements-screen .screen-header .badge-total-track{overflow:hidden;border:1px solid rgba(111,30,28,.14);background:#6f1e1c17;box-shadow:inset 0 1px 2px #42231c1c}.achievements-screen .badge-total-fill{width:100%;transform:scaleX(var(--badge-total-progress, 0));transform-origin:left center;background:linear-gradient(90deg,var(--reward-lacquer),#ca5146 62%,var(--reward-gold));box-shadow:inset 0 1px #ffffff80;animation:achievement-total-fill .9s .18s var(--reward-settle) both}.achievements-screen .badge-cell{isolation:isolate;grid-template-columns:78px minmax(0,1fr);min-height:118px;overflow:hidden;border-color:#e4d8c9;background:radial-gradient(circle at 15% 18%,rgba(244,217,122,.13),transparent 26%),linear-gradient(180deg,#fffefd,#fffaf1);box-shadow:inset 0 1px #fffffff2,0 4px #e8dccb,0 9px 20px #54312214;opacity:0;transform:translateY(18px) scale(.965);animation:achievement-card-in .58s calc(.15s + var(--badge-index, 0) * 64ms) var(--reward-spring) forwards;transition:transform .18s var(--reward-settle),border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.achievements-screen .badge-cell:before{position:absolute;inset:0 auto 0 0;width:5px;border-radius:inherit;background:#c6b7a5;content:""}.achievements-screen .achievement-rarity-group.rarity-rare .badge-cell:before{background:var(--reward-jade)}.achievements-screen .achievement-rarity-group.rarity-legendary .badge-cell:before{background:var(--reward-gold)}.achievements-screen .badge-cell.badge-open{border-color:#e4cd80;background:radial-gradient(circle at 15% 16%,rgba(244,217,122,.26),transparent 30%),linear-gradient(180deg,#fffef8,#fff8e7);box-shadow:inset 0 1px #fff,0 4px #ddc770,0 11px 24px #704a161f;cursor:pointer}@media(hover:hover)and (pointer:fine){.achievements-screen .badge-cell.badge-open:hover{z-index:2;border-color:#d8b247;transform:translateY(-3px);box-shadow:inset 0 1px #fff,0 6px #d6bb58,0 16px 28px #663f1229}.achievements-screen .badge-cell.badge-open:hover .achievement-badge{transform:translateY(-2px) rotate(-2deg) scale(1.055)}.achievements-screen .badge-cell.badge-open:hover .badge-glint{animation:achievement-glint .62s ease-out both}}.achievements-screen .badge-cell.badge-open:active{transform:translateY(2px) scale(.992);box-shadow:inset 0 1px #fff,0 2px #d6bb58,0 5px 12px #663f121f}.achievements-screen .badge-cell:focus-visible{outline:3px solid #7b2c27;outline-offset:3px}.achievements-screen .badge-cell:disabled{color:inherit}.achievements-screen .badge-art{position:relative;width:78px;min-height:78px;align-self:center;overflow:visible;border-radius:50%;background:radial-gradient(circle,rgba(244,217,122,.24),transparent 68%)}.achievements-screen .badge-art:after{position:absolute;right:6px;bottom:3px;left:6px;height:7px;border-radius:50%;background:#562d1c1f;filter:blur(4px);content:"";transform:scaleX(.74)}.achievement-badge{position:relative;z-index:1;display:block;width:76px;height:76px;overflow:visible;transform-origin:50% 86%;filter:drop-shadow(0 3px 2px rgba(77,42,25,.2));transition:transform .26s var(--reward-spring),filter .18s ease}.achievements-screen .achievement-badge{animation:achievement-medal-arrive .65s calc(.23s + var(--badge-index, 0) * 64ms) var(--reward-spring) both}.badge-medal-shell,.badge-tier-jewel,.badge-sparkles{transform-box:fill-box;transform-origin:center}.badge-symbol{transform-box:view-box;transform-origin:0 0}.badge-glint{opacity:0;transform:translate(-26px);transform-box:fill-box}.badge-sparkles{opacity:.92}.badge-open .badge-sparkles path{animation:achievement-spark-once .72s calc(.72s + var(--badge-index, 0) * 64ms) var(--reward-spring) both;transform-box:fill-box;transform-origin:center}.badge-open .badge-sparkles circle{animation:achievement-spark-once .62s calc(.82s + var(--badge-index, 0) * 64ms) var(--reward-spring) both;transform-box:fill-box;transform-origin:center}.achievement-badge.rarity-rare .medal-rim,.achievement-badge.rarity-rare .medal-rosette{filter:hue-rotate(52deg) saturate(.74)}.achievement-badge.rarity-mythic .badge-symbol{filter:drop-shadow(0 1px 0 rgba(255,244,192,.22))}.achievements-screen .badge-copy{gap:3px}.achievements-screen .badge-name{padding-right:0;color:#392425;font-size:15px;font-weight:950}.achievements-screen .achievement-rarity-group:is(.rarity-legendary,.rarity-mythic) .badge-cell.badge-open .badge-name{padding-right:29px}.achievements-screen .badge-name-en{color:#6f6060;font-size:12px;font-weight:800}.achievements-screen .badge-share{top:10px;right:10px;width:26px;height:26px;border:1px solid #ead89a;background:#fff8dc;box-shadow:0 2px #dec87c;color:#8a6415;transition:transform .18s var(--reward-spring)}.achievements-screen .badge-cell:hover .badge-share{transform:scale(1.08) rotate(4deg)}.achievements-screen .badge-tier{gap:5px;margin-top:4px}.achievements-screen .tier-pip{width:10px;height:10px;border:1px solid rgba(70,45,32,.18);transform:scale(0);animation:achievement-tier-pop .34s calc(.52s + var(--badge-index, 0) * 64ms) var(--reward-spring) forwards}.achievements-screen .tier-pip:nth-child(2){animation-delay:calc(.6s + var(--badge-index, 0) * 64ms)}.achievements-screen .tier-pip:nth-child(3){animation-delay:calc(.68s + var(--badge-index, 0) * 64ms)}.achievements-screen .badge-progress{margin-top:8px;gap:8px;color:#746466;font-size:10px;font-variant-numeric:tabular-nums}.achievements-screen .badge-progress-track{height:8px;border:1px solid rgba(75,56,53,.09);background:#eee6da;box-shadow:inset 0 1px 2px #482e231a}.achievements-screen .badge-progress-fill{width:100%;transform:scaleX(var(--badge-progress, 0));transform-origin:left center;background:linear-gradient(90deg,#8f2f2b,#c64e42 72%,#e2b94a);box-shadow:inset 0 1px #ffffff73;animation:achievement-progress-fill .82s calc(.42s + var(--badge-index, 0) * 64ms) var(--reward-settle) both}.achievements-screen .badge-locked{filter:none;opacity:1;border-color:#d9d2c6;background:radial-gradient(circle at 15% 18%,rgba(255,255,255,.34),transparent 25%),linear-gradient(180deg,#f2eee7,#e5ded3);box-shadow:inset 0 1px #fff,0 4px #cec5b8,0 8px 16px #3d312b12}.achievements-screen .badge-locked .badge-art{background:radial-gradient(circle,rgba(117,105,93,.11),transparent 68%)}.achievements-screen .badge-locked .badge-symbol{opacity:1;filter:none}.achievements-screen .badge-locked .medal-glow,.achievements-screen .badge-locked .badge-glint,.achievements-screen .badge-locked .badge-sparkles{display:none}.achievements-screen .badge-locked .badge-name,.achievements-screen .badge-locked .badge-name-en{color:#756d67}.achievements-screen .legend-locked{border-color:#dfc263;background:radial-gradient(circle at 15% 18%,rgba(255,241,171,.42),transparent 28%),linear-gradient(180deg,#fff9de,#f4e2a7);box-shadow:inset 0 1px #fffdf1,0 4px #d3b34a,0 9px 20px #744e101a}.achievements-screen .legend-locked .badge-symbol{opacity:.48}.achievement-badge.badge-silhouette .badge-symbol *{fill:#b78920!important;stroke:#8c6418!important}.achievement-badge.badge-silhouette .badge-medal-shell *{opacity:1}.achievements-screen .mythic-cell{border-color:#57466f;background:radial-gradient(circle at 15% 18%,rgba(233,205,107,.14),transparent 29%),linear-gradient(145deg,#3e3154,#21192f);box-shadow:inset 0 1px #ffffff1f,0 4px #1d152a,0 12px 24px #1e142b33}.achievements-screen .mythic-cell:before{background:linear-gradient(180deg,#e9cd6b,#856c31)}.achievements-screen .mythic-cell .badge-art{background:radial-gradient(circle,rgba(233,205,107,.15),transparent 70%)}.achievements-screen .mythic-cell .badge-name{color:#fff5dc}.achievements-screen .mythic-cell .badge-name-en{color:#d8cdea}.achievements-screen .mythic-cell .badge-progress-fill{background:linear-gradient(90deg,#b79334,#f0d978)}.achievements-screen .badge-hint{margin-top:6px;padding-top:6px;border-top:1px dashed rgba(130,95,29,.24);color:#755d20}.achievement-share-overlay{overflow-y:auto;background:#1f0e10d1;backdrop-filter:blur(10px);animation:achievement-overlay-in .22s ease-out both}.achievement-share-modal{position:relative;max-width:390px;padding:16px;border:2px solid #d5ae43;border-radius:26px;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent 28%),linear-gradient(160deg,#721f20,#431213);box-shadow:inset 0 0 0 2px #f4d97a29,0 26px 64px #1204057a;animation:achievement-modal-in .48s var(--reward-spring) both}.achievement-share-heading{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:12px;margin:0 28px 13px 0;color:#fff7e1;text-align:left}.achievement-share-heading .achievement-badge{animation:achievement-earned-burst .72s .14s var(--reward-spring) both}.achievement-share-heading>div{display:grid;gap:2px}.achievement-share-heading strong{font-size:17px;line-height:1.45}.achievement-share-heading div>span:last-child{color:#e4cfc0;font-size:12px;font-weight:800}.achievement-earned-kicker{color:#f4d97a;font-size:9px;font-weight:950;letter-spacing:.13em}.achievement-share-close{position:absolute;top:12px;right:12px;z-index:3;display:grid;width:34px;height:34px;padding:0;place-items:center;border:1px solid rgba(244,217,122,.35);border-radius:50%;background:#27090a47;color:#f7e7ce}.achievement-share-close:focus-visible{outline:3px solid #f4d97a;outline-offset:2px}.achievement-share-modal canvas,.achievement-share-modal>img{display:block;overflow:hidden;border:1px solid rgba(244,217,122,.42);border-radius:16px!important;box-shadow:0 10px 28px #1705064d}.achievement-share-modal .cert-note{margin:10px 0 3px;font-size:11px;text-align:center}.celebrate-hero{animation:reward-hero-in .62s 60ms var(--reward-spring) both}.celebrate-hero .hero-glow{animation:reward-aura-in .72s .1s var(--reward-settle) both,reward-aura-breathe 2.3s .82s ease-in-out 2 alternate}.hero-sparks path,.hero-sparks circle{animation-name:reward-spark-twinkle;animation-duration:1.8s;animation-timing-function:ease-in-out;animation-iteration-count:3}.rs-item{animation-name:reward-stat-in;animation-duration:.52s;animation-timing-function:var(--reward-spring)}.seal-stamp{animation-duration:.59s;animation-timing-function:var(--reward-spring)}.unlock-card,.level-up-card{animation-name:reward-card-in;animation-duration:.58s;animation-timing-function:var(--reward-spring)}.unlock-card .achievement-badge{animation:achievement-earned-burst .76s .12s var(--reward-spring) both}.hsunok:not(.open){animation:reward-hsunok-invite 1.8s .52s ease-in-out 2}.hsunok.open{animation:reward-hsunok-open .58s var(--reward-spring) both}.hsunok-lid{transition:transform .62s cubic-bezier(.18,1.18,.34,1)}.hsunok.open .hsunok-lid{transform:translate(-16px,-28px) rotate(-10deg)}.hsunok.open .hsunok-glow{animation:reward-chest-glow .62s 90ms var(--reward-spring) both}.hsunok-reward{animation:reward-xp-pop .62s .14s var(--reward-spring) both}.streak-fire-anim{width:128px;height:142px;margin:-4px auto 7px}.streak-flame-mark{position:relative;width:128px;height:142px;animation:streak-mark-in .72s 80ms var(--reward-spring) both}.streak-flame-mark svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 10px 10px rgba(111,30,28,.22))}.streak-flame-outer,.streak-flame-highlight,.streak-flame-core{transform-box:fill-box;transform-origin:50% 92%}.streak-flame-outer{animation:streak-flame-breathe 1.45s .8s ease-in-out 2 alternate}.streak-flame-highlight{animation:streak-flame-breathe 1.25s .86s ease-in-out 2 alternate-reverse}.streak-flame-core{animation:streak-core-flicker .98s .9s ease-in-out 3 alternate}.streak-flame-rays{animation:streak-rays-in .76s .3s var(--reward-spring) both;transform-box:fill-box;transform-origin:center}.streak-embers>*{animation:reward-spark-twinkle 1.3s ease-in-out 3;transform-box:fill-box;transform-origin:center}.streak-embers>:nth-child(2){animation-delay:.26s}.streak-embers>:nth-child(3){animation-delay:.52s}.streak-fire-number{right:0;bottom:28px;left:0;color:#681d1b;font-size:30px;line-height:1;text-shadow:0 1px 0 #fff7cf;animation:streak-number-in .52s .42s var(--reward-spring) both}.streak-milestone-overlay{background:#2a1012c2;backdrop-filter:blur(10px);animation:achievement-overlay-in .22s ease-out both}.streak-milestone-dialog{overflow:hidden auto;border:2px solid #d8b247;background:radial-gradient(circle at 50% 8%,rgba(244,217,122,.22),transparent 28%),linear-gradient(180deg,#fffdf7,#fff7e8);box-shadow:inset 0 0 0 2px #ffffffe6,0 26px 58px #1f08095c;animation:achievement-modal-in .52s var(--reward-spring) both}.streak-milestone-badge{border:1px solid #ddc262;background:#fff3b8;color:#7e5a12;box-shadow:0 2px #e3cc7a;animation:reward-card-in .46s .3s var(--reward-spring) both}.streak-milestone-title{color:#4b2625}.streak-milestone-sub{color:#9b332e}.streak-milestone-card{border-color:#e6d6bb;background:#fffaf0;box-shadow:0 3px #e7dbc7;animation:reward-card-in .52s .38s var(--reward-spring) both}.streak-share-btn{background:linear-gradient(180deg,#b64038,#922d29);box-shadow:0 4px #681d1b,0 9px 18px #6f1e1c29}@keyframes achievement-section-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes achievement-card-in{0%{opacity:0;transform:translateY(18px) scale(.965)}72%{opacity:1;transform:translateY(-2px) scale(1.006)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes achievement-medal-arrive{0%{opacity:0;transform:translateY(10px) rotate(-8deg) scale(.72)}68%{opacity:1;transform:translateY(-2px) rotate(2deg) scale(1.06)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes achievement-glint{0%{opacity:0;transform:translate(-25px)}25%{opacity:.85}to{opacity:0;transform:translate(70px)}}@keyframes achievement-spark-once{0%{opacity:0;transform:rotate(-35deg) scale(0)}58%{opacity:1;transform:rotate(7deg) scale(1.35)}to{opacity:.92;transform:rotate(0) scale(1)}}@keyframes achievement-tier-pop{0%{transform:scale(0)}70%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes achievement-total-fill{0%{transform:scaleX(0)}to{transform:scaleX(var(--badge-total-progress, 0))}}@keyframes achievement-progress-fill{0%{transform:scaleX(0)}to{transform:scaleX(var(--badge-progress, 0))}}@keyframes achievement-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes achievement-modal-in{0%{opacity:0;transform:translateY(22px) scale(.92)}72%{opacity:1;transform:translateY(-2px) scale(1.008)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes achievement-earned-burst{0%{opacity:0;transform:rotate(-12deg) scale(.34)}58%{opacity:1;transform:rotate(3deg) scale(1.14)}78%{transform:rotate(-1deg) scale(.97)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes reward-hero-in{0%{opacity:0;transform:translateY(14px) scale(.9)}70%{opacity:1;transform:translateY(-2px) scale(1.035)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes reward-aura-in{0%{opacity:0;transform:scale(.55)}to{opacity:.78;transform:scale(1)}}@keyframes reward-aura-breathe{0%{opacity:.6;transform:scale(.96)}to{opacity:.88;transform:scale(1.06)}}@keyframes reward-spark-twinkle{0%,to{opacity:.42;transform:scale(.72) rotate(-8deg)}46%{opacity:1;transform:scale(1.16) rotate(4deg)}}@keyframes reward-stat-in{0%{opacity:0;transform:translateY(10px) scale(.9)}70%{opacity:1;transform:translateY(-2px) scale(1.035)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes reward-card-in{0%{opacity:0;transform:translateY(12px) scale(.96)}72%{opacity:1;transform:translateY(-2px) scale(1.012)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes reward-hsunok-invite{0%,58%,to{transform:translateY(0) rotate(0)}68%{transform:translateY(-3px) rotate(-1.8deg)}78%{transform:translateY(0) rotate(1.5deg)}88%{transform:translateY(-1px) rotate(-.5deg)}}@keyframes reward-hsunok-open{0%{transform:translateY(2px) scale(.95)}58%{transform:translateY(-3px) scale(1.045)}to{transform:translateY(0) scale(1)}}@keyframes reward-chest-glow{0%{opacity:0;transform:translateY(10px) scale(.45)}65%{opacity:1;transform:translateY(-2px) scale(1.12)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes reward-xp-pop{0%{opacity:0;transform:translateY(8px) scale(.55)}62%{opacity:1;transform:translateY(-3px) scale(1.12)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes streak-mark-in{0%{opacity:0;transform:translateY(18px) rotate(-5deg) scale(.55)}66%{opacity:1;transform:translateY(-4px) rotate(2deg) scale(1.08)}82%{transform:translateY(1px) rotate(-1deg) scale(.98)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes streak-rays-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes streak-flame-breathe{0%{transform:scaleX(.98) scaleY(1)}to{transform:scaleX(1.025) scaleY(1.035)}}@keyframes streak-core-flicker{0%{transform:translateY(1px) scale(.96)}to{transform:translateY(-2px) scale(1.05)}}@keyframes streak-number-in{0%{opacity:0;transform:scale(.45)}70%{opacity:1;transform:scale(1.18)}to{opacity:1;transform:scale(1)}}@media(max-width:390px){.achievements-screen .achievement-rarity-group:is(.rarity-legendary,.rarity-mythic) .badge-cell{grid-template-columns:70px minmax(0,1fr);gap:10px;min-height:110px;padding:12px 12px 12px 10px}.achievements-screen .badge-art{width:70px;min-height:70px}.achievements-screen .achievement-badge{width:69px;height:69px}.achievements-screen .badge-name{font-size:14px}.achievement-share-modal{padding:13px}}@media(prefers-reduced-motion:reduce){.achievement-rarity-group,.achievements-screen .badge-cell,.achievements-screen .achievement-badge,.badge-open .badge-sparkles path,.badge-open .badge-sparkles circle,.achievements-screen .tier-pip,.achievement-share-overlay,.achievement-share-modal,.achievement-share-heading .achievement-badge,.celebrate-hero,.celebrate-hero .hero-glow,.hero-sparks path,.hero-sparks circle,.rs-item,.seal-stamp,.unlock-card,.level-up-card,.unlock-card .achievement-badge,.hsunok,.hsunok-glow,.hsunok-reward,.streak-flame-mark,.streak-flame-rays,.streak-flame-outer,.streak-flame-highlight,.streak-flame-core,.streak-embers>*,.streak-fire-number,.streak-milestone-overlay,.streak-milestone-dialog,.streak-milestone-badge,.streak-milestone-card{animation:none!important;opacity:1;transform:none}.achievements-screen .badge-total-fill{animation:none;transform:scaleX(var(--badge-total-progress, 0))}.achievements-screen .badge-progress-fill{animation:none;transform:scaleX(var(--badge-progress, 0))}.hsunok-lid,.achievement-badge,.achievements-screen .badge-cell,.achievements-screen .badge-share{transition:none!important}}@media(max-width:480px){input,select,textarea{font-size:16px!important}.profile-field{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px}}.achievements-screen .achievement-rarity-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:16px 0 14px;padding:4px;border:1px solid #e2dbd2;border-radius:16px;background:#eee9e2}.achievements-screen .achievement-rarity-tab{position:relative;display:grid;place-items:center;align-content:center;gap:1px;min-width:0;min-height:50px;padding:5px 2px 4px;border:0;border-radius:12px;background:transparent;color:#665b54;font:inherit;cursor:pointer;transition:transform .16s var(--reward-settle),background-color .16s ease,color .16s ease}.achievements-screen .achievement-rarity-tab .my{overflow:hidden;max-width:100%;font-size:11.5px;font-weight:900;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.achievements-screen .achievement-rarity-tab small{color:#6b5f57;font-size:9px;font-weight:900;font-variant-numeric:tabular-nums}.achievements-screen .achievement-rarity-tab[aria-selected=true]{background:#fffefd;color:#3c2929;box-shadow:inset 0 -3px 0 var(--rarity-tab-accent),0 2px 5px #412b221a}.achievements-screen .achievement-rarity-tab.rarity-common{--rarity-tab-accent: #9a8056}.achievements-screen .achievement-rarity-tab.rarity-rare{--rarity-tab-accent: #2e8b62}.achievements-screen .achievement-rarity-tab.rarity-legendary{--rarity-tab-accent: #d2a62e}.achievements-screen .achievement-rarity-tab.rarity-mythic{--rarity-tab-accent: #67527f}.achievements-screen .achievement-rarity-tab:active{transform:scale(.97)}.achievements-screen .achievement-rarity-tab:focus-visible{outline:3px solid #7b2c27;outline-offset:2px}.achievements-screen .achievement-rarity-panel{--achievement-rarity-accent: #9a8056;min-height:380px;opacity:1;animation:achievement-section-in .3s var(--reward-settle) both}.achievements-screen .achievement-rarity-panel.rarity-rare{--achievement-rarity-accent: #2e8b62}.achievements-screen .achievement-rarity-panel.rarity-legendary{--achievement-rarity-accent: #c99b20}.achievements-screen .achievement-rarity-panel.rarity-mythic{--achievement-rarity-accent: #67527f}.achievements-screen .achievement-rarity-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 2px 14px;padding-bottom:8px;border-bottom:2px solid color-mix(in srgb,var(--achievement-rarity-accent) 28%,transparent)}.achievements-screen .achievement-rarity-heading>div{display:flex;align-items:baseline;gap:8px;min-width:0}.achievements-screen .achievement-rarity-heading h2{margin:0;color:#382728;font-size:18px;font-weight:950;line-height:1.4}.achievements-screen .achievement-rarity-heading span{color:#7c716e;font-size:11px;font-weight:800}.achievements-screen .achievement-rarity-heading strong{flex:0 0 auto;color:var(--achievement-rarity-accent);font-size:12px;font-variant-numeric:tabular-nums}.achievements-screen .achievement-rarity-group.achievement-rarity-panel .badge-grid.achievement-badge-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;gap:15px 0}.achievements-screen .achievement-rarity-panel .badge-cell.achievement-badge-cell{grid-column:span 2;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:84px auto 20px;justify-items:center;align-items:start;align-content:start;gap:3px;width:100%;height:auto;min-height:150px;padding:0 3px;overflow:visible;border:0!important;border-radius:14px;background:transparent!important;box-shadow:none!important;color:inherit;text-align:center;cursor:pointer}.achievements-screen .achievement-rarity-panel .badge-cell.achievement-badge-cell:nth-last-child(1):nth-child(3n+1){grid-column:3 / span 2}.achievements-screen .achievement-rarity-panel .badge-cell.achievement-badge-cell:nth-last-child(2):nth-child(3n+1){grid-column:2 / span 2}.achievements-screen .achievement-rarity-panel .badge-cell.achievement-badge-cell:last-child:nth-child(3n+2){grid-column:4 / span 2}.achievements-screen .achievement-rarity-panel .badge-cell.achievement-badge-cell:before{display:none}.achievements-screen .achievement-rarity-panel .badge-cell.achievement-badge-cell.badge-open:hover,.achievements-screen .achievement-rarity-panel .badge-cell.achievement-badge-cell:hover{z-index:auto;border:0;background:transparent!important;box-shadow:none!important;transform:translateY(-2px)}.achievements-screen .achievement-rarity-panel .badge-cell.achievement-badge-cell:active{background:transparent!important;box-shadow:none!important;transform:translateY(1px) scale(.98)}.achievements-screen .achievement-rarity-panel .badge-cell.achievement-badge-cell:focus-visible{outline:3px solid #7b2c27;outline-offset:2px}.achievements-screen .achievement-rarity-panel .badge-art{position:relative;display:grid;place-items:center;align-self:start;width:84px;min-height:84px;overflow:visible;border-radius:50%;background:transparent}.achievements-screen .achievement-rarity-panel .badge-art:after{right:10px;bottom:3px;left:10px;height:6px;background:#40281e21;filter:blur(4px)}.achievements-screen .achievement-rarity-panel .achievement-badge{width:82px;height:82px;filter:drop-shadow(0 3px 1px rgba(75,46,31,.19))}.achievements-screen .achievement-rarity-panel .achievement-badge.rarity-rare .medal-rim,.achievements-screen .achievement-rarity-panel .achievement-badge.rarity-rare .medal-rosette{filter:none}.achievements-screen .achievement-rarity-panel .badge-copy{display:grid;align-content:start;justify-items:center;gap:0;width:100%;min-width:0}.achievements-screen .achievement-rarity-panel .badge-name{display:block;min-height:43px;padding:0;color:#3f3030;font-size:12px;font-weight:950;line-height:1.65;text-align:center;overflow-wrap:anywhere}.achievements-screen .achievement-rarity-panel .badge-name-en{display:none}.achievements-screen .achievement-rarity-panel .badge-collection-meta{display:flex;align-items:center;justify-content:center;align-self:end;gap:5px;min-height:20px;color:#817873;font-size:9.5px;font-weight:900;font-variant-numeric:tabular-nums}.achievements-screen .achievement-rarity-panel .badge-collection-meta.earned{color:#806116}.achievements-screen .achievement-rarity-panel .badge-tier{gap:3px;margin:0}.achievements-screen .achievement-rarity-panel .tier-pip{width:7px;height:7px}.achievements-screen .achievement-rarity-panel .badge-share{top:1px;right:8px;width:22px;height:22px;border-color:#e2c86d;background:#fff7d8;box-shadow:0 2px #d9bd5d}.achievements-screen .achievement-rarity-panel .badge-locked{border:0;background:transparent!important;box-shadow:none!important;filter:none;opacity:1}.achievements-screen .achievement-rarity-panel .badge-locked .achievement-badge{filter:drop-shadow(0 2px 1px rgba(63,51,44,.15));opacity:1}.achievements-screen .achievement-rarity-panel .badge-locked .badge-symbol{filter:none;opacity:1}.achievements-screen .achievement-rarity-panel .badge-lock-mark{position:absolute;right:0;bottom:1px;z-index:3;display:grid;width:23px;height:23px;place-items:center;border:2px solid var(--achievement-rarity-accent);border-radius:50%;background:#fffaf0;box-shadow:0 2px color-mix(in srgb,var(--achievement-rarity-accent) 42%,#6d594a)}.achievements-screen .achievement-rarity-panel .badge-lock-mark svg{display:block}.achievements-screen .achievement-rarity-panel .badge-locked .badge-name{color:#756e69}.achievements-screen .achievement-rarity-panel .badge-hint,.achievements-screen .achievement-rarity-panel .badge-progress{display:none}.achievement-detail-overlay{display:flex;align-items:flex-end;justify-content:center;overflow-y:auto;padding:0;background:#261b1b94;backdrop-filter:blur(7px);animation:achievement-overlay-in .18s ease-out both}.achievement-detail-modal{--achievement-detail-accent: #9a8056;position:relative;width:min(100%,440px);max-height:min(88dvh,720px);overflow-y:auto;padding:21px 20px calc(20px + env(safe-area-inset-bottom));border:0;border-radius:24px 24px 0 0;background:#fffdf9;box-shadow:0 -18px 50px #311f1d33;color:#3b2a2b;text-align:center;animation:achievement-detail-in .32s var(--reward-settle) both}.achievement-detail-modal.rarity-rare{--achievement-detail-accent: #2e8b62}.achievement-detail-modal.rarity-legendary{--achievement-detail-accent: #c99b20}.achievement-detail-modal.rarity-mythic{--achievement-detail-accent: #67527f}.achievement-detail-modal:before{position:absolute;inset:0 0 auto;height:5px;border-radius:inherit;background:var(--achievement-detail-accent);content:""}.achievement-detail-modal .achievement-share-close{top:13px;right:13px;border:1px solid #e1d8cd;background:#f4eee7;color:#5b4948}.achievement-detail-art{display:grid;place-items:center;width:122px;height:122px;margin:2px auto 4px}.achievement-detail-art .achievement-badge{width:112px;height:112px;filter:drop-shadow(0 7px 3px rgba(68,39,25,.18))}.achievement-detail-state{margin:0 0 4px;color:var(--achievement-detail-accent);font-size:11px;font-weight:950}.achievement-detail-modal h2{display:grid;gap:2px;margin:0}.achievement-detail-modal h2 .my{font-size:22px;font-weight:950;line-height:1.5}.achievement-detail-modal h2 span:last-child{color:#756b68;font-size:13px;font-weight:850}.achievement-detail-copy{margin:14px auto 0;color:#4d3c3c;font-size:14px;font-weight:750;line-height:1.75}.achievement-detail-copy-en{margin:5px auto 0;color:#7b706d;font-size:12px;font-weight:700;line-height:1.5}.achievement-detail-progress{margin-top:17px;padding-top:13px;border-top:1px solid #e8dfd5}.achievement-detail-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#6c5f5c;font-size:12px;font-weight:850}.achievement-detail-progress-copy strong{color:#3f3030;font-variant-numeric:tabular-nums}.achievement-detail-progress-track{height:8px;margin-top:8px;overflow:hidden;border-radius:999px;background:#e9e2d9}.achievement-detail-progress-track span{display:block;width:100%;height:100%;border-radius:inherit;background:var(--achievement-detail-accent);transform:scaleX(var(--achievement-detail-progress, 0));transform-origin:left center}.achievement-detail-close{width:100%;margin-top:18px;background:#752a28;box-shadow:0 4px #541b1a;color:#fffaf2}@keyframes achievement-detail-in{0%{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}@media(min-width:481px){.achievement-detail-overlay{align-items:center;padding:20px}.achievement-detail-modal{border-radius:24px}}@media(max-width:350px){.achievements-screen .achievement-rarity-tabs{gap:2px}.achievements-screen .achievement-rarity-tab .my{font-size:10.5px}.achievements-screen .achievement-rarity-panel .badge-art{width:76px;min-height:76px}.achievements-screen .achievement-rarity-panel .achievement-badge{width:74px;height:74px}.achievements-screen .achievement-rarity-panel .badge-cell.achievement-badge-cell{grid-template-rows:76px auto 20px;min-height:150px;padding-inline:1px}.achievements-screen .achievement-rarity-panel .badge-name{font-size:11.25px}}@media(prefers-reduced-motion:reduce){.achievement-detail-overlay,.achievement-detail-modal,.achievements-screen .achievement-rarity-panel{animation:none!important}}.interface-language-switch{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;min-width:188px;padding:4px;border:1px solid rgba(104,74,58,.2);border-radius:14px;background:#fffaf1c7;box-shadow:inset 0 1px 2px #492a1c14}.interface-language-switch.compact{min-width:154px}.interface-language-switch button{min-height:38px;padding:7px 12px;border:0;border-radius:10px;background:transparent;color:var(--ink-soft, #6f6159);font:inherit;font-size:12px;font-weight:850;line-height:1.2;cursor:pointer;transition:color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .1s ease}.interface-language-switch button.active{background:var(--red, #a82f2f);color:#fffaf2;box-shadow:0 3px 9px #6f201e38}.interface-language-switch button:active{transform:scale(.97)}.interface-language-switch button:focus-visible{outline:3px solid #e7c24e;outline-offset:2px}.profile-language-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:4px 0 12px}.profile-language-row>span:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}.profile-language-row strong{font-size:14px}.profile-language-row small{color:var(--ink-soft, #6f6159);font-size:11px;line-height:1.45}.onboarding-language-switch{position:absolute;z-index:2;top:max(10px,env(safe-area-inset-top));right:14px}@media(max-width:380px){.profile-language-row{align-items:stretch;flex-direction:column}.profile-language-row .interface-language-switch{width:100%}.onboarding-language-switch{right:10px;min-width:142px}}@media(prefers-reduced-motion:reduce){.interface-language-switch button{transition:none}}.practice-recommendation{display:grid;gap:12px;margin:0 0 12px;padding:14px;border:2px solid var(--action-primary-edge, #a82f2f);border-radius:var(--radius-feature, 18px);background:linear-gradient(135deg,#fff9ed,#fff3dc);box-shadow:var(--shadow-card, 0 4px 0 rgba(91, 57, 40, .12))}.practice-recommendation.due{border-color:#b98925;background:linear-gradient(135deg,#fffaf0,#fff2c9)}.practice-recommendation.mistakes{border-color:#b33c37;background:linear-gradient(135deg,#fff6f4,#ffe8e3)}.practice-recommendation.familiar{border-color:#587e74;background:linear-gradient(135deg,#f5fbf7,#e7f4ed)}.practice-recommendation.lesson{border-color:#6f62a3;background:linear-gradient(135deg,#f8f5ff,#eeeafe)}.practice-recommendation-main{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:10px}.practice-recommendation-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:13px;background:#ffffffb8;color:var(--action-primary-edge, #8f2927)}.practice-recommendation-copy{min-width:0}.practice-recommendation-kicker{display:block;color:var(--action-primary-edge, #8f2927);font-size:9px;font-weight:950;letter-spacing:.13em;line-height:1.2}.practice-recommendation-copy h2{margin:3px 0 2px;color:var(--text-primary, #3d302a);font-size:17px;line-height:1.3}.practice-recommendation-copy p{margin:0;color:var(--text-muted, #6f6159);font-size:11px;line-height:1.45}.practice-recommendation-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding-top:2px}.practice-recommendation-count{min-width:0;overflow:hidden;color:var(--text-muted, #6f6159);font-size:11px;font-weight:800;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.practice-recommendation-action{display:inline-flex;min-height:44px;flex:0 0 auto;align-items:center;gap:5px;padding:8px 11px;border:1.5px solid var(--action-primary-edge, #8f2927);border-radius:11px;background:var(--action-primary, #a82f2f);color:#fffaf2;font:inherit;font-size:11px;font-weight:900}.practice-recommendation-action:focus-visible,.practice-return-loop button:focus-visible{outline:3px solid var(--focus-ring, #e7c24e);outline-offset:2px}.practice-inline-status{margin:-4px 2px 8px;color:var(--text-muted, #6f6159);font-size:10px;line-height:1.4}.practice-inline-status.warning{color:#8a5b22}.practice-summary-error p{max-width:290px;margin:0;font-size:12px;line-height:1.5}.practice-return-loop{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;margin:12px 0;padding:11px 12px;border:1.5px solid #e3c36a;border-radius:var(--radius-card, 15px);background:#fffaf0;color:#5a4820}.practice-return-loop-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:11px;background:#f7d77c;color:#765416}.practice-return-loop-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.practice-return-loop-copy strong{overflow:hidden;font-size:12px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.practice-return-loop-copy small{color:#806b37;font-size:10px;line-height:1.35}.practice-return-loop button{display:inline-flex;min-height:44px;align-items:center;gap:2px;padding:6px 2px 6px 6px;border:0;background:transparent;color:#765416;font:inherit;font-size:10px;font-weight:900;white-space:nowrap}@media(max-width:370px){.practice-recommendation{padding:12px}.practice-recommendation-footer{align-items:stretch;flex-direction:column}.practice-recommendation-count{white-space:normal}.practice-recommendation-action{justify-content:center}.practice-return-loop{grid-template-columns:34px minmax(0,1fr)}.practice-return-loop-icon{width:32px;height:32px}.practice-return-loop button{grid-column:2;justify-self:start;padding-left:0}}:root{--motion-instant: 90ms;--motion-press: .1s;--motion-quick: .16s;--motion-base: .2s;--motion-slow: .36s;--motion-stagger: 24ms;--motion-settle: cubic-bezier(.16, 1, .3, 1);--motion-spring: cubic-bezier(.2, 1.32, .36, 1);--motion-press-ease: cubic-bezier(.2, .75, .3, 1)}.screen,.lv-screen{animation:none}.tabbar{animation:motion-dock-in .18s var(--motion-settle) both}.quick-actions{animation:motion-topbar-in .18s var(--motion-settle) both}.learning-shortcut{animation:motion-side-action-in .18s var(--motion-settle) backwards}.learning-shortcut:nth-child(2){animation-delay:24ms}.learning-shortcut:nth-child(3){animation-delay:48ms}.tab.active .tab-icon{animation:motion-tab-select .2s var(--motion-settle) both}.tab.active:before{transform-origin:center;animation:motion-tab-marker .18s var(--motion-settle) both}:where(.screen-header,.missions-head,.streak-screen-head,.words-head,.practice-hub-head,.stories-header,.league-head,.profile-hero,.mistakes-inbox-head){animation:motion-header-in .18s var(--motion-settle) backwards}:where(.missions-screen,.streak-screen,.words-screen,.practice-hub-screen,.stories-screen,.league-screen,.profile-screen,.mistakes-inbox-screen)>:where(section,aside,.card,.stories-hero,.league-mini,.leaderboard-scope-tabs,.league-board-title){animation:none}:where(.missions-list,.practice-mode-list,.stories-grid,.word-card-list,.mistakes-list,.leaderboard-table-card)>:where(.mission-card,.practice-mode-card,.story-card,.word-library-card,.mistake-item-card,div){animation:none}:where(.missions-list,.practice-mode-list,.stories-grid,.word-card-list,.mistakes-list,.leaderboard-table-card)>:nth-child(1){animation-delay:calc(var(--motion-stagger) * 1)}:where(.missions-list,.practice-mode-list,.stories-grid,.word-card-list,.mistakes-list,.leaderboard-table-card)>:nth-child(2){animation-delay:calc(var(--motion-stagger) * 2)}:where(.missions-list,.practice-mode-list,.stories-grid,.word-card-list,.mistakes-list,.leaderboard-table-card)>:nth-child(3){animation-delay:calc(var(--motion-stagger) * 3)}:where(.missions-list,.practice-mode-list,.stories-grid,.word-card-list,.mistakes-list,.leaderboard-table-card)>:nth-child(4){animation-delay:calc(var(--motion-stagger) * 4)}:where(.missions-list,.practice-mode-list,.stories-grid,.word-card-list,.mistakes-list,.leaderboard-table-card)>:nth-child(n+5){animation-delay:calc(var(--motion-stagger) * 5)}.league-row{animation:none}.leaderboard-table-card>div:nth-child(2) .league-row{animation-delay:80ms}.leaderboard-table-card>div:nth-child(3) .league-row{animation-delay:.12s}.leaderboard-table-card>div:nth-child(4) .league-row{animation-delay:.16s}.leaderboard-table-card>div:nth-child(n+5) .league-row{animation-delay:.2s}:where(.btn,.option-btn,.img-card,.match-tile,.wo-chip,.practice-mode-card,.story-card,.word-library-card,.words-library-link,.words-practice-btn,.mistake-item-card,.scope-tab,.profile-goals button,.profile-toggle-row,.freeze-btn,.story-audio-btn,.story-speed-toggle,.story-continue-btn,.quick-action,.learning-shortcut,.tab,.tip-btn,.play-btn,.speak-model-btn,.mic-btn){transition:transform var(--motion-press) var(--motion-press-ease),border-color var(--motion-quick) ease,background-color var(--motion-quick) ease,color var(--motion-quick) ease,opacity var(--motion-quick) ease}:where(.btn,.option-btn,.img-card,.match-tile,.practice-mode-card,.story-card,.words-library-link,.words-practice-btn,.scope-tab,.profile-goals button,.profile-toggle-row,.freeze-btn,.story-audio-btn,.story-speed-toggle,.story-continue-btn,.quick-action,.learning-shortcut,.tab,.tip-btn,.play-btn,.speak-model-btn,.mic-btn):not(:disabled):active{transform:translateY(2px) scale(.98)}:where(button,a):not(:disabled)>:where(svg,.quick-action-icon,.learning-shortcut-icon,.practice-mode-icon,.story-card-icon){transition:transform var(--motion-quick) var(--motion-spring)}:where(button,a):not(:disabled):active>:where(svg,.quick-action-icon,.learning-shortcut-icon,.practice-mode-icon,.story-card-icon){transform:scale(.9)}@media(hover:hover)and (pointer:fine){:where(.btn,.option-btn,.img-card,.practice-mode-card,.story-card,.words-library-link,.words-practice-btn,.scope-tab,.profile-goals button,.profile-toggle-row,.freeze-btn):not(:disabled):hover{transform:translateY(-2px)}:where(.story-card,.practice-mode-card,.words-library-link):not(:disabled):hover>:where(svg,.practice-mode-icon,.story-card-icon){transform:translateY(-1px) rotate(-3deg) scale(1.06)}}.lv-teach-card,.lv-quick-card{animation:motion-exercise-in .18s var(--motion-settle) backwards}.lv-word-block,.lv-example{animation:none}.lv-check-option{animation:none;transition:transform var(--motion-press) var(--motion-press-ease),border-color var(--motion-quick) ease,background-color var(--motion-quick) ease,color var(--motion-quick) ease,opacity var(--motion-quick) ease}.lv-check-option:nth-child(2){animation-delay:35ms}.lv-check-option:nth-child(3){animation-delay:70ms}.lv-check-option:nth-child(4){animation-delay:105ms}.lv-check-option:not(:disabled):active{transform:translateY(2px) scale(.98)}.lv-check-option.is-correct{animation:motion-answer-correct .24s var(--motion-settle) both}.lv-check-option.is-wrong{animation:motion-answer-wrong .22s var(--motion-settle) both}.lv-check-feedback{animation:motion-feedback-inline-in .2s var(--motion-settle) both}@media(hover:hover)and (pointer:fine){.lv-check-option:not(:disabled):hover{transform:translateY(-2px)}}.lesson-screen .exercise-stage>*{animation:motion-exercise-in .18s var(--motion-settle) backwards}.lesson-screen :where(.option-btn,.img-card,.match-cell,.wo-chip){animation:none}.lesson-screen :where(.option-btn,.img-card,.match-cell,.wo-chip):nth-child(n){animation-delay:0ms}.lesson-screen :where(.option-btn,.img-card).option-correct,.lesson-screen .wo-answer.v-good{animation:motion-answer-correct .24s var(--motion-settle) both}.lesson-screen :where(.option-btn,.img-card).option-wrong,.lesson-screen .wo-answer.v-bad{animation:motion-answer-wrong .22s var(--motion-settle) both}.lesson-screen .feedback{animation:motion-feedback-in .2s var(--motion-settle) both}.lesson-screen .feedback.good .feedback-head>svg{animation:motion-coach-cheer .24s var(--motion-settle) both}.feedback-report-options,.profile-status,.words-no-results{animation:motion-pop-in .3s var(--motion-spring) both}.story-bubble-row,.story-checkpoint-box,.story-speak-checkpoint{animation:motion-story-beat-in .22s var(--motion-settle) both}.story-bubble-row.character-right{--story-arrive-x: 16px}.story-bubble-row.character-left{--story-arrive-x: -16px}.story-victory-badge,.story-check-badge,.mission-check.on,.week-dot.on,.profile-status.success{animation:motion-success-pop .48s var(--motion-spring) both}.heart-overlay,.share-overlay,.tip-overlay{animation:motion-scrim-in var(--motion-quick) ease-out both}.heart-sheet,.tip-sheet,.share-modal{animation:motion-sheet-in .22s var(--motion-settle) both}.profile-switch,.profile-switch i{transition:transform .18s var(--motion-settle),background-color var(--motion-quick) ease,box-shadow var(--motion-quick) ease}.profile-switch.on{animation:motion-toggle-on .36s var(--motion-spring) both}.word-library-card.open .word-card-back{animation:motion-reveal-in .36s var(--motion-settle) both}@keyframes motion-route-in{0%{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:none}}@keyframes motion-dock-in{0%{opacity:0;transform:translate(-50%,18px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes motion-topbar-in{0%{opacity:0;transform:translate(-50%,-14px) scale(.97)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes motion-side-action-in{0%{opacity:0;transform:translate(12px) scale(.86)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes motion-tab-select{0%{transform:translateY(1px) scale(.82)}58%{transform:translateY(-3px) scale(1.2)}to{transform:translateY(-1px) scale(1.12)}}@keyframes motion-tab-marker{0%{opacity:0;transform:scaleX(.2)}to{opacity:1;transform:scaleX(1)}}@keyframes motion-header-in{0%{opacity:0;transform:translateY(-8px) scale(.97)}68%{opacity:1;transform:translateY(1px) scale(1.006)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes motion-content-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes motion-card-in{0%{opacity:0;transform:translateY(14px) scale(.965)}72%{opacity:1;transform:translateY(-1px) scale(1.004)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes motion-row-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes motion-exercise-in{0%{opacity:0;transform:translate(14px) scale(.99)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes motion-choice-in{0%{opacity:0;transform:translateY(9px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes motion-answer-correct{0%{transform:scale(1)}34%{transform:translateY(2px) scale(.975)}68%{transform:translateY(-3px) scale(1.028)}to{transform:translateY(0) scale(1)}}@keyframes motion-answer-wrong{0%,to{transform:translate(0)}22%{transform:translate(-5px) rotate(-.5deg)}46%{transform:translate(4px) rotate(.4deg)}68%{transform:translate(-2px)}84%{transform:translate(1px)}}@keyframes motion-feedback-in{0%{opacity:0;transform:translateY(28px) scale(.985)}74%{opacity:1;transform:translateY(-2px) scale(1.002)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes motion-feedback-inline-in{0%{opacity:0;transform:translateY(8px) scale(.97)}68%{opacity:1;transform:translateY(-1px) scale(1.006)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes motion-coach-cheer{0%{transform:translateY(5px) scale(.88) rotate(-3deg)}62%{transform:translateY(-4px) scale(1.08) rotate(2deg)}to{transform:translateY(0) scale(1) rotate(0)}}@keyframes motion-pop-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes motion-story-beat-in{0%{opacity:0;transform:translate(var(--story-arrive-x, 0)) translateY(7px) scale(.97)}to{opacity:1;transform:translate(0) translateY(0) scale(1)}}@keyframes motion-success-pop{0%{opacity:.5;transform:scale(.72) rotate(-6deg)}65%{opacity:1;transform:scale(1.12) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes motion-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes motion-sheet-in{0%{opacity:0;transform:translateY(24px) scale(.97)}72%{opacity:1;transform:translateY(-2px) scale(1.004)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes motion-toggle-on{0%{transform:scale(1)}55%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes motion-reveal-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){:root{--motion-instant: .001ms;--motion-press: .001ms;--motion-quick: .001ms;--motion-base: .001ms;--motion-slow: .001ms;--motion-stagger: 0ms}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0ms!important}}
