@property --progress{syntax: "<percentage>"; inherits: false; initial-value: 0%;}:root{--color-text: #111111;--color-bg: #ffffff;--color-brand: #00247d;--color-brand-dark: #001a5a;--color-accent: #a51931;--color-success: #28a745;--color-success-strong: #1e7e34;--color-error: #dc3545;--color-error-soft: #f8d7da;--color-class-middle: #27ae60;--color-class-middle-dark: #229954;--color-class-high: #f39c12;--color-class-high-dark: #e67e22;--color-class-low: #3498db;--color-class-low-dark: #2980b9;--color-surface-soft: #f5f7fb;--color-surface-light: #f7f7f7;--color-surface-muted: #efefef;--color-success-fade: #d4edda;--color-success-mid: #c3e6cb;--color-premium-overlay: #8f1328;--color-text-strong: #222222;--font-main: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading: "Press Start 2P", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-thai-sarabun: "ThaiQuest Sarabun", sans-serif;--font-thai-kanit: "ThaiQuest Kanit", sans-serif;--font-thai-prompt: "ThaiQuest Prompt", sans-serif;--font-thai-kodchasan: "ThaiQuest Kodchasan", sans-serif;--font-thai-mitr: "ThaiQuest Mitr", sans-serif;--page-padding: 2em;--spacing-xs: .25em;--spacing-sm: .5em;--spacing-md: 1em;--spacing-lg: 1.5em;--spacing-xl: 2em}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(/asset/fonts/PressStart2P.woff2) format("woff2")}@font-face{font-family:ThaiQuest Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(/asset/fonts/SarabunLoopless.woff2) format("woff2")}@font-face{font-family:ThaiQuest Kanit;font-style:normal;font-weight:400;font-display:swap;src:url(/asset/fonts/KanitRounded.woff2) format("woff2")}@font-face{font-family:ThaiQuest Prompt;font-style:normal;font-weight:400;font-display:swap;src:url(/asset/fonts/PromptModern.woff2) format("woff2")}@font-face{font-family:ThaiQuest Kodchasan;font-style:normal;font-weight:400;font-display:swap;src:url(/asset/fonts/KodchasanCreative.woff2) format("woff2")}@font-face{font-family:ThaiQuest Mitr;font-style:normal;font-weight:400;font-display:swap;src:url(/asset/fonts/MitrSoft.woff2) format("woff2")}body{--page-padding: var(--spacing-xl);font-family:var(--font-main);text-align:center;background:var(--color-bg);padding:var(--page-padding);margin:0;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;color:var(--color-text)}body.legal{display:block;max-width:840px;margin:0 auto;text-align:left;line-height:1.7}body.legal h1{font-size:clamp(1.8em,4vw,2.4em);margin-bottom:.6em}body.legal h2{margin-top:1.8em;font-size:clamp(1.25em,3vw,1.6em)}body.legal p,body.legal li{font-size:clamp(1em,2.6vw,1.05em);color:var(--color-text-strong)}@media(max-width:600px){body.legal{padding:var(--spacing-xl) 1.25em 2.5em}}.loading{display:inline-flex;align-items:center;gap:var(--spacing-sm);font-weight:600;opacity:.9}.spinner{width:1.1rem;height:1.1rem;border:2px solid rgba(0,0,0,.15);border-top-color:var(--color-brand);border-radius:50%;display:inline-block;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes logoPop{0%{transform:scale(1);filter:brightness(1)}40%{transform:scale(1.15) rotate(2deg);filter:brightness(1.2)}to{transform:scale(1);filter:brightness(1)}}.tq-logo.tq-logo-animating{animation:logoPop .5s cubic-bezier(.175,.885,.32,1.275) forwards}h1{color:var(--color-text)}.subtitle{opacity:.9}.app-header{margin:0 auto;max-width:920px;width:100%}.app-bar{display:flex;align-items:center;justify-content:center;gap:.8em;padding:0;background:transparent;border:0;border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.lang-fab{position:absolute;top:16px;right:16px;display:inline-flex;align-items:center;justify-content:center}.lang-switcher-btn{width:40px;height:40px;border-radius:10px!important;padding:0;font-size:18px;box-shadow:none;display:inline-flex;align-items:center;justify-content:center;background:#fff}.lang-menu{position:absolute;top:48px;right:0;min-width:120px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;box-shadow:0 10px 28px #00000026;padding:6px;display:none;z-index:1200}.lang-menu.is-open{display:flex;flex-direction:column;gap:6px}.lang-menu button{width:100%;text-align:left;padding:8px 10px;border-radius:10px;font-size:13px}.lang-menu button:hover,.lang-menu button:focus-visible{background:#0000000d}@media(max-width:480px){.lang-fab{top:12px;right:12px}.lang-switcher-btn{width:36px;height:36px}}.brand{display:flex;flex-direction:column;align-items:center;gap:.4em}.brand-logo{height:clamp(96px,20vw,176px);width:auto;display:block;object-fit:contain}.brand-text{display:grid;line-height:1.1;text-align:center}.brand-subtitle.subtitle{font-family:var(--font-heading);font-size:clamp(.35em,.6vw,.45em);text-transform:uppercase;opacity:.92;margin:0}body.pricing-page .app-header,body.stats-page .app-header,body.highscores-page .app-header,body.achievements-page .app-header,body.legal .app-header{width:100%;display:flex;justify-content:center}body.pricing-page .app-bar,body.stats-page .app-bar,body.highscores-page .app-bar,body.achievements-page .app-bar,body.legal .app-bar{justify-content:space-between;align-items:center;width:min(960px,92vw);padding:.85em 1.4em;background:#ffffffe0;border:1px solid rgba(0,0,0,.06);border-radius:16px;box-shadow:0 16px 40px #00000014;position:relative;z-index:2}body.legal .app-bar{width:min(960px,100%)}body.pricing-page .brand,body.stats-page .brand,body.highscores-page .brand,body.achievements-page .brand,body.legal .brand{flex-direction:row;align-items:center;gap:.75em;text-decoration:none;color:var(--color-brand)}body.pricing-page .brand:hover,body.pricing-page .brand:focus,body.stats-page .brand:hover,body.stats-page .brand:focus,body.highscores-page .brand:hover,body.highscores-page .brand:focus,body.achievements-page .brand:hover,body.achievements-page .brand:focus,body.legal .brand:hover,body.legal .brand:focus{color:var(--color-accent)}body.pricing-page .brand-logo,body.stats-page .brand-logo,body.highscores-page .brand-logo,body.achievements-page .brand-logo,body.legal .brand-logo{height:56px;width:56px;min-width:56px;border-radius:14px;box-shadow:0 10px 24px #00247d2e}body.pricing-page .brand-text,body.stats-page .brand-text,body.highscores-page .brand-text,body.achievements-page .brand-text,body.legal .brand-text{text-align:left}body.pricing-page .brand-subtitle.subtitle,body.stats-page .brand-subtitle.subtitle,body.highscores-page .brand-subtitle.subtitle,body.achievements-page .brand-subtitle.subtitle,body.legal .brand-subtitle.subtitle{margin-top:.1em;font-size:clamp(.52em,.75vw,.62em);letter-spacing:.18em}body.pricing-page .brand:focus-visible,body.stats-page .brand:focus-visible,body.highscores-page .brand:focus-visible,body.achievements-page .brand:focus-visible,body.legal .brand:focus-visible{outline:3px solid rgba(0,36,125,.35);outline-offset:6px;border-radius:18px}body.pricing-page .app-bar-link,body.stats-page .app-bar-link,body.highscores-page .app-bar-link,body.achievements-page .app-bar-link,body.legal .app-bar-link{display:inline-flex;align-items:center;gap:.45em;color:var(--color-brand);text-decoration:none;font-weight:600;font-size:.95em}body.pricing-page .app-bar-link:hover,body.pricing-page .app-bar-link:focus,body.stats-page .app-bar-link:hover,body.stats-page .app-bar-link:focus,body.highscores-page .app-bar-link:hover,body.highscores-page .app-bar-link:focus,body.achievements-page .app-bar-link:hover,body.achievements-page .app-bar-link:focus,body.legal .app-bar-link:hover,body.legal .app-bar-link:focus{color:var(--color-accent);text-decoration:none}body.pricing-page .app-bar-link:focus-visible,body.stats-page .app-bar-link:focus-visible,body.highscores-page .app-bar-link:focus-visible,body.achievements-page .app-bar-link:focus-visible,body.legal .app-bar-link:focus-visible{outline:3px solid rgba(0,36,125,.35);outline-offset:3px;border-radius:999px}@media(max-width:480px){.app-bar{padding:.65em .8em}.brand-logo{height:176px}body.pricing-page .app-bar,body.stats-page .app-bar,body.highscores-page .app-bar,body.achievements-page .app-bar,body.legal .app-bar{width:min(960px,96vw);margin:.8em auto 1.6em;padding:.75em 1.1em;gap:var(--spacing-md)}body.pricing-page .brand-logo,body.stats-page .brand-logo,body.highscores-page .brand-logo,body.achievements-page .brand-logo,body.legal .brand-logo{height:48px;width:48px;min-width:48px}body.pricing-page .app-bar-link,body.stats-page .app-bar-link,body.highscores-page .app-bar-link,body.achievements-page .app-bar-link,body.legal .app-bar-link{font-size:.9em}}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.hero{margin:0 auto 2.5em;max-width:780px}.hero .subtitle{margin-bottom:var(--spacing-lg)}.options{display:flex;flex-direction:column;gap:var(--spacing-md);margin:0 auto}body.quiz-page .options button{min-width:240px}.options button{user-select:none;-webkit-user-select:none}button{padding:var(--spacing-md);font-size:1.2em;cursor:pointer;border:1px solid rgba(0,0,0,.12);border-bottom-width:4px;background:var(--color-surface-light);color:var(--color-text);border-radius:16px;transition:all .1s cubic-bezier(.4,0,.2,1);font-weight:700;-webkit-backdrop-filter:none;backdrop-filter:none;position:relative;top:0}button:hover{filter:brightness(.98);transform:translateY(-1px)}button:active{border-bottom-width:1px;top:3px;transform:none;box-shadow:inset 0 2px 4px #0000000d}@keyframes correctPulse{0%{transform:scale(1);background-color:var(--color-surface-light);box-shadow:0 0 #0000}20%{transform:scale(1.04);background-color:var(--color-success-fade);box-shadow:0 8px 18px #28a74540}50%{transform:scale(1.02);background-color:var(--color-success-mid)}to{transform:scale(1);background-color:var(--color-surface-light);box-shadow:0 0 #0000}}@keyframes wrongShake{0%{transform:translate(0)}15%{transform:translate(-6px) rotate(-1deg)}30%{transform:translate(6px) rotate(1deg)}45%{transform:translate(-5px) rotate(-1deg)}60%{transform:translate(5px) rotate(1deg)}75%{transform:translate(-3px) rotate(-.5deg)}90%{transform:translate(3px) rotate(.5deg)}to{transform:translate(0)}}button.answer-correct{animation:correctPulse .5s ease;background-color:var(--color-success-fade)!important;border-color:#28a74599!important;box-shadow:0 8px 18px #28a74540}button.answer-wrong{animation:wrongShake .5s ease;background-color:var(--color-error-soft)!important;border-color:#dc354599!important}@media(hover:hover)and (pointer:fine){button.answer-wrong:hover{background-color:var(--color-error-soft)!important;border-color:#dc354599!important;transform:translateY(0);box-shadow:0 8px 18px #dc354540}}.options:focus{outline:none}#feedback{margin-top:var(--spacing-md);font-size:1.3em;font-weight:700;min-height:1.5em;color:var(--color-text)}#nextBtn{display:none;margin:var(--spacing-xl) auto 0}.stats{font-size:.9em;color:#111111b3}.stats-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4em}.stats-summary{font-weight:600;white-space:nowrap}.stats-sep{opacity:.45}@media(max-width:480px){body.quiz-page .stats{font-size:.75em;letter-spacing:-.02em}body.quiz-page .stats-line{gap:.2em;justify-content:center}body.quiz-page .stats .star-rating{font-size:1.1em;margin-top:0}}.quiz-progress{margin-top:.45em;width:100%;height:6px;border-radius:999px;background:#00000014;overflow:hidden;position:relative}.quiz-progress-bar{width:var(--progress, 0%);max-width:100%;height:100%;background:linear-gradient(90deg,var(--color-accent) 0%,var(--color-brand) 100%);transition:width .35s ease}.streak-toast{position:fixed;top:2em;left:50%;transform:translate(-50%) scale(.8);opacity:0;background:var(--color-bg);color:var(--color-brand);padding:.8em 2.5em;border-radius:0;display:flex;align-items:center;gap:.8em;font-weight:700;border:4px solid #111;box-shadow:0 -4px #111,0 4px #111,-4px 0 #111,4px 0 #111,inset 4px 4px #ffffff73,inset -4px -4px #00000026,0 8px #0003;z-index:21000;pointer-events:none;transition:transform .5s ease-out,opacity .4s ease-out;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em;box-sizing:border-box;justify-content:center;text-wrap:balance;width:100%;max-width:min(480px,calc(100vw - clamp(1rem,5vw,2.5rem)))}.streak-toast-icon{font-size:1.4em;animation:streakFirePulse 1s ease-in-out infinite}.streak-toast-text{font-size:1.1em}.streak-toast.is-visible{animation:streakPopIn .6s ease-out forwards}@keyframes streakPopIn{0%{transform:translate(-50%) scale(.8);opacity:0}50%{transform:translate(-50%) scale(1.08);opacity:1}to{transform:translate(-50%) scale(1);opacity:1}}@media(max-width:480px){.streak-toast{padding:.5em 1.2em;font-size:.75em;top:1em;gap:.4em}.streak-toast-icon{font-size:1.25em}.streak-toast-text{font-size:1em}}@keyframes streakPulse{0%{opacity:0;transform:translate(-50%,-20px) scale(.88);filter:saturate(.8)}20%{opacity:1;transform:translate(-50%,-2px) scale(1.03);filter:saturate(1)}60%{opacity:1;transform:translate(-50%) scale(1.06);box-shadow:0 30px 60px #0022548c,0 0 45px #fff6}to{opacity:0;transform:translate(-50%,-16px) scale(.96);filter:saturate(1.1)}}.star-rating{font-size:1.4em;line-height:1;margin-top:var(--spacing-xs)}body.quiz-page .stats{line-height:1.4}.example{margin-top:var(--spacing-sm);font-size:.78em;font-weight:600;background:var(--color-surface-soft);border:1px solid rgba(0,36,125,.2);display:inline-block;padding:var(--spacing-sm) .7em;border-radius:10px}.example-overlay{position:fixed;inset:0;background:radial-gradient(ellipse at center,#ffffff14,#fff0 45%),#0000008c;display:grid;place-items:center;z-index:9999;animation:overlayFadeIn .2s ease;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.example-overlay .overlay-card{max-width:min(820px,calc(100vw - clamp(1rem,5vw,2.5rem)));width:min(820px,calc(100vw - clamp(1rem,5vw,2.5rem)));margin:clamp(.75em,4vw,var(--spacing-lg)) auto;background:var(--color-bg);color:var(--color-text);border:4px solid var(--color-brand);border-radius:0;box-sizing:border-box;padding:clamp(var(--spacing-md),4vw,1.4em) clamp(1.1em,5vw,1.6em);box-shadow:0 -4px #111,0 4px #111,-4px 0 #111,4px 0 #111,inset 4px 4px #ffffff73,inset -4px -4px #00000026,12px 12px #0003;transform:scale(.96);animation:cardPopIn .2s ease forwards;position:relative;z-index:1}.example-overlay .overlay-card .heading{font-family:var(--font-heading);font-size:3em;color:var(--color-brand);text-transform:uppercase;margin-bottom:.5em;text-shadow:2px 2px 0px rgba(0,0,0,.1)}.example-overlay .overlay-card .label{display:inline-block;opacity:.95;font-size:clamp(.9em,1.8vw,1em);padding:0;margin-right:.6em;border-radius:0;background:transparent;color:var(--color-brand);border:none;font-weight:600}.example-overlay .overlay-card .text{display:block;margin-top:.6em;font-weight:800;font-size:clamp(1.25em,4.2vw,2.2em);line-height:1.25}.example-overlay .overlay-card .text.is-multiline{display:flex;flex-direction:column;gap:clamp(.45em,2vw,.7em);font-weight:400;font-size:clamp(1.05em,3.4vw,1.85em);line-height:1.3}.example-overlay .overlay-card .text.is-multiline .example-line{display:flex;flex-direction:column;gap:clamp(.12em,1.4vw,.22em)}.example-overlay .overlay-card .text.is-multiline .example-line-label{font-size:clamp(.68em,1.8vw,.85em);font-weight:650;letter-spacing:.18em;text-transform:uppercase;color:#1111119e}.example-overlay .overlay-card .text.is-multiline .example-line-value{font-size:clamp(1.15em,3.8vw,2em);font-weight:800;color:var(--color-text);line-height:1.28;word-break:break-word}.example-overlay .overlay-card .text .sel{background:none;color:var(--color-brand);font-weight:900;padding:0 .02em;border-radius:2px}.example-overlay .overlay-card .timer{position:relative;height:10px;background:#00247d1a;border:3px solid #111;border-radius:0;margin-top:1.2em;margin-bottom:.9em;overflow:hidden}.example-overlay .overlay-card .timer .timer-fill{position:absolute;top:0;left:0;bottom:0;width:100%;background:linear-gradient(90deg,var(--color-accent) 0%,var(--color-brand) 100%);transform:translate(0);animation:timerDrain var(--overlay-duration, 2.6s) linear forwards}.example-overlay .overlay-card .timer .timer-fill.is-paused{animation-play-state:paused}@keyframes timerDrain{0%{transform:translate(0)}to{transform:translate(100%)}}.example-overlay .flags-wrap{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.flag{position:absolute;top:-12px;opacity:0;transform:translateY(-10px) rotate(0);animation:flagFall 3.2s cubic-bezier(.23,1,.32,1) forwards;will-change:transform,opacity}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes cardPopIn{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}@keyframes flagFall{0%{opacity:0;transform:translateY(-10px) rotate(0)}10%{opacity:1}to{opacity:1;transform:translateY(120vh) rotate(var(--flag-rotate, 320deg))}}@keyframes badgePop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}.onboarding-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .5s ease;animation:overlayFadeIn .2s ease}.onboarding-overlay.fade-out{opacity:0;pointer-events:none}.onboarding-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xl);animation:fadeIn .8s ease-out;max-width:90vw;width:auto}.onboarding-title{font-family:"Press Start 2P",cursive;font-size:clamp(1.5rem,5vw,2.5rem);color:#fff;letter-spacing:.1em;text-transform:uppercase;text-shadow:4px 4px 0 #000;margin:0;line-height:1.4}.onboarding-text{font-family:"Press Start 2P",cursive;font-size:clamp(.75rem,2.5vw,1.1rem);color:#fff;letter-spacing:.1em;text-transform:uppercase;text-shadow:2px 2px 0 #000;opacity:1;line-height:2.4;max-width:900px;margin:0;white-space:pre-line;text-align:left;display:inline-block}.onboarding-button{font-family:"Press Start 2P",cursive;font-size:clamp(1.4rem,5vw,2.4rem);color:#fff;background:transparent;border:none;border-bottom:none;padding:1em 2em;cursor:pointer;text-transform:uppercase;animation:pressStartBlink 1.2s infinite;text-shadow:4px 4px 0px #000000;margin-top:var(--spacing-xl)}.onboarding-button:hover,.onboarding-button:focus{transform:scale(1.1);background:transparent;filter:none;animation:none;text-shadow:4px 4px 0px var(--color-accent);outline:none}.onboarding-button:active{transform:scale(.95)}.star-celebration-overlay{position:fixed;inset:0;background:radial-gradient(ellipse at center,#22c55e1f,#fff0 45%),#0000008c;display:grid;place-items:center;z-index:10000;animation:overlayFadeIn .2s ease;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.star-celebration-overlay .flags-wrap{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.star-celebration-card{max-width:min(480px,calc(100vw - clamp(1rem,5vw,2.5rem)));margin:10px;background:var(--color-bg);color:var(--color-text);border:4px solid var(--color-brand);border-radius:0;padding:clamp(var(--spacing-md),4vw,1.4em) clamp(1.1em,5vw,1.6em);box-shadow:0 -4px #111,0 4px #111,-4px 0 #111,4px 0 #111,inset 4px 4px #ffffff73,inset -4px -4px #00000026,12px 12px #0003;position:relative;z-index:1;text-align:center;transform:scale(.96);animation:cardPopIn .2s ease forwards}.star-celebration-card .celebrate-heading{font-family:var(--font-heading);font-size:1.5em;color:var(--color-brand);text-transform:uppercase;margin-bottom:.3em;text-shadow:2px 2px 0px rgba(0,0,0,.1)}.star-celebration-card .celebrate-stars{font-size:3.5em;line-height:1;margin:.1em 0 .3em;color:var(--color-brand);text-shadow:4px 4px 0px rgba(0,0,0,.1)}.star-celebration-card--no-stars .celebrate-stars,.star-celebration-card .celebrate-stars--empty{color:var(--color-error);text-shadow:3px 3px 0px rgba(0,0,0,.2)}.star-celebration-card .celebrate-message{font-family:var(--font-heading);font-size:.7em;line-height:1.6;margin-bottom:.8em;opacity:.9}.star-celebration-card .celebrate-message--no-stars{color:var(--color-error);font-weight:700;opacity:1}.star-celebration-card .celebrate-retry{font-family:var(--font-heading);font-size:.6em;margin-bottom:.9em;opacity:.85}.star-celebration-card .celebrate-meta{font-family:var(--font-heading);font-size:.55em;opacity:.7;margin-bottom:2em}.star-celebration-card .celebrate-close{width:100%;background:var(--color-brand);color:#fff;border:4px solid #111;font-family:var(--font-heading);font-size:.8em;padding:1em;border-radius:0;box-shadow:inset 2px 2px #ffffff4d,inset -2px -2px #0003,0 6px #00000026;transition:all .1s;cursor:pointer;font-weight:700;text-transform:uppercase}.star-celebration-card .celebrate-close:hover{transform:translateY(2px);box-shadow:inset 2px 2px #ffffff4d,inset -2px -2px #0003,0 4px #00000026;filter:brightness(1.1)}.star-celebration-card .timer{width:100%;height:8px;background:#0000001a;border:2px solid #111;border-radius:0;overflow:hidden;margin-top:1.5em}.star-celebration-card .timer-fill{height:100%;background:var(--color-brand);width:100%;transform-origin:left;animation:timerShrink var(--overlay-duration, 7s) linear forwards}.quiz-completed-overlay{position:fixed;inset:0;background:radial-gradient(ellipse at center,#ffffff14,#fff0 45%),#0009;display:grid;place-items:center;padding:1.4em;box-sizing:border-box;z-index:10000;animation:overlayFadeIn .2s ease;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.quiz-completed-card{max-width:min(480px,calc(100vw - clamp(1rem,5vw,2.5rem)));margin:10px;background:var(--color-bg);color:var(--color-text);border:4px solid var(--color-brand);border-radius:0;padding:clamp(var(--spacing-md),4vw,1.4em) clamp(1.1em,5vw,1.6em);box-shadow:0 -4px #111,0 4px #111,-4px 0 #111,4px 0 #111,inset 4px 4px #ffffff73,inset -4px -4px #00000026,12px 12px #0003;position:relative;z-index:1;text-align:center;transform:scale(.96);animation:cardPopIn .2s ease forwards}.quiz-completed-card .completed-heading{font-family:var(--font-heading);font-size:1.5em;color:var(--color-brand);text-transform:uppercase;margin-bottom:.3em;text-shadow:2px 2px 0px rgba(0,0,0,.1)}.quiz-completed-card .completed-stars{font-size:3.5em;line-height:1;margin:.1em 0 .3em;color:var(--color-brand);text-shadow:4px 4px 0px rgba(0,0,0,.1)}.quiz-completed-card .completed-stats{font-family:var(--font-heading);font-size:.7em;line-height:1.6;margin-bottom:1.5em;opacity:.9}.quiz-completed-card .completed-buttons{display:flex;flex-direction:column;gap:.75em;margin-top:1.2em}.quiz-completed-card .completed-btn{width:100%;border:4px solid #111;font-family:var(--font-heading);font-size:.85em;padding:1em;border-radius:0;font-weight:700;cursor:pointer;transition:all .1s;text-transform:uppercase;box-shadow:inset 2px 2px #ffffff4d,inset -2px -2px #0003,0 6px #00000026}.quiz-completed-card .completed-btn-restart{background:var(--color-brand);color:#fff}.quiz-completed-card .completed-btn-restart:hover{transform:translateY(-2px);box-shadow:0 16px 32px #00247d40;filter:brightness(1.1)}.quiz-completed-card .completed-btn-practice{background:#00247d1a;color:var(--color-brand)}.quiz-completed-card .completed-btn-practice:hover{background:#00247d26;transform:translateY(-1px)}.quiz-completed-card .completed-leaderboard-link{display:block;margin-top:.75em;padding:1em;font-family:var(--font-heading);font-size:.85em;font-weight:700;text-decoration:none;color:var(--color-brand);background:transparent;border:4px solid #111;border-radius:0;transition:all .1s;text-transform:uppercase;box-shadow:inset 2px 2px #ffffff4d,inset -2px -2px #0003,0 6px #00000026}.quiz-completed-card .completed-leaderboard-link:hover{background:#00247d0d;transform:translateY(-1px)}@media(max-width:420px){.quiz-completed-card{padding:1.25em 1.4em 1.7em}.quiz-completed-card .completed-stars{font-size:2.6em}.quiz-completed-card .completed-buttons{gap:.6em}}.sentence-prompt{font-size:1.4em;font-weight:600;color:var(--color-text-strong);line-height:1.4}.sentence-thai-hint{font-size:1.15em;color:var(--color-text);opacity:.65}.sentence-answer-area{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--spacing-sm);min-height:56px;padding:var(--spacing-md);border:2px dashed rgba(0,36,125,.35);border-radius:12px;background:var(--color-surface-soft, rgba(0, 36, 125, .03));justify-content:center;align-items:center;transition:border-color .2s ease,background-color .2s ease;margin-bottom:5em}.sentence-answer-area .word-btn{flex:0 0 auto;min-width:auto!important}.sentence-answer-area.answer-correct{border-color:var(--color-success, #22c55e);background:#22c55e14;animation:flashCorrect .35s ease-out}.sentence-answer-area.answer-incorrect{border-color:var(--color-error, #ef4444);background:#ef444414;animation:shakeIncorrect .4s ease-out}@keyframes flashCorrect{0%{transform:scale(1)}50%{transform:scale(1.015)}to{transform:scale(1)}}@keyframes shakeIncorrect{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.answer-placeholder{color:#00247d73;font-style:italic;font-size:.95em}.sentence-word-bank{display:flex;flex-direction:row!important;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:center;align-items:flex-start;padding:var(--spacing-md) 0;margin-bottom:5em}.sentence-word-bank .word-btn{flex:0 0 auto;min-width:auto!important}.word-btn{padding:.5em .9em;font-size:2em;cursor:pointer;border:1px solid rgba(0,0,0,.12);border-bottom-width:3px;background:var(--color-surface-light);color:var(--color-text);border-radius:12px;transition:all .1s cubic-bezier(.4,0,.2,1);font-weight:600;user-select:none;-webkit-user-select:none;font-family:inherit;position:relative;top:0;min-width:auto;width:auto}.word-btn:hover{filter:brightness(.98);transform:translateY(-1px)}.word-btn:active{border-bottom-width:1px;top:2px;transform:none}.word-btn:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.word-bank{background:var(--color-surface-light);color:var(--color-text)}.feedback-correct{color:var(--color-success, #22c55e);font-weight:600}.feedback-incorrect{color:var(--color-error, #ef4444);font-weight:600}@media(max-width:480px){.word-btn{padding:.4em .7em;font-size:1.5em}.sentence-answer-area{min-height:44px;padding:var(--spacing-sm)}.sentence-prompt{font-size:1.15em}.sentence-thai-hint{font-size:1em}}.audio-dictation-symbol{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.audio-dictation-play{font-size:1.75em;background:var(--color-bg);border:2px solid rgba(0,0,0,.1);border-radius:11px;padding:.3em .45em;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 3px 8px #00000014}.audio-dictation-play:hover{transform:scale(1.05);box-shadow:0 6px 16px #0000001f}.audio-dictation-play:active,.audio-dictation-play.playing{transform:scale(.95)}.audio-dictation-hint{font-size:.45em;color:#0006;margin-top:-.3em;font-weight:400;font-style:italic}.audio-dictation-toggle{display:inline-flex;align-items:center;justify-content:center;padding:.125em;background:#0000000f;border-radius:999px;gap:.06em}.dictation-chip{border:none;background:transparent;color:var(--color-text);border-radius:999px;padding:.14em .34em;font-size:.49em;font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease;box-shadow:none}.dictation-chip:active{transform:none;box-shadow:none}.dictation-chip:hover{background:#00000014;color:var(--color-text);box-shadow:none;transform:none}.dictation-chip.active{background:var(--color-accent);color:var(--color-bg);box-shadow:none}.dictation-chip.active:hover{background:var(--color-accent);color:var(--color-bg);transform:none;box-shadow:none}.dictation-chip:focus-visible{outline:3px solid rgba(165,25,49,.35);outline-offset:2px}.audio-dictation-choice{font-size:1.1em;padding:.8em 1em;text-align:center;line-height:1.4}@media(max-width:600px){.audio-dictation-play{font-size:2em;padding:.35em .5em}.dictation-chip{padding:.11em .3em;font-size:.45em}.audio-dictation-choice{font-size:1em;padding:.7em .9em}}.level-up-overlay{position:fixed;inset:0;background:radial-gradient(ellipse at center,#ffffff14,#fff0 45%),#0000008c;display:grid;place-items:center;z-index:10000;animation:overlayFadeIn .2s ease;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.level-up-card{max-width:min(480px,calc(100vw - clamp(1rem,5vw,2.5rem)));margin:10px;background:var(--color-bg);color:var(--color-text);border:4px solid var(--color-brand);border-radius:0;padding:clamp(var(--spacing-md),4vw,1.4em) clamp(1.1em,5vw,1.6em);box-shadow:0 -4px #111,0 4px #111,-4px 0 #111,4px 0 #111,inset 4px 4px #ffffff73,inset -4px -4px #00000026,12px 12px #0003;position:relative;z-index:1;text-align:center;transform:scale(.96);animation:cardPopIn .2s ease forwards}.level-up-heading{font-family:var(--font-heading);font-size:1.5em;color:var(--color-accent);text-transform:uppercase;margin-bottom:.5em;text-shadow:2px 2px 0px rgba(0,0,0,.1)}.level-up-number{font-family:var(--font-heading);font-size:5em;line-height:1;color:var(--color-brand);margin:.2em 0;text-shadow:4px 4px 0px rgba(0,0,0,.1);background:-webkit-linear-gradient(45deg,var(--color-brand),var(--color-accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.level-up-card .timer{width:100%;height:8px;background:#0000001a;border:2px solid #111;border-radius:0;overflow:hidden;margin-top:2em}.level-up-card .timer-fill{height:100%;background:var(--color-brand);width:100%;transform-origin:left;animation:timerShrink var(--overlay-duration, 5s) linear forwards}@keyframes timerShrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.streak-milestone-overlay{position:fixed;inset:0;background:radial-gradient(ellipse at center,#ff8c321f,#fff0 45%),#0000008c;display:grid;place-items:center;z-index:10000;animation:overlayFadeIn .2s ease;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.streak-milestone-card{max-width:min(480px,calc(100vw - clamp(1rem,5vw,2.5rem)));margin:10px;background:var(--color-bg);color:var(--color-text);border:4px solid rgba(255,100,50,.8);border-radius:0;padding:clamp(var(--spacing-md),4vw,1.4em) clamp(1.1em,5vw,1.6em);box-shadow:0 -4px #111,0 4px #111,-4px 0 #111,4px 0 #111,inset 4px 4px #ffffff73,inset -4px -4px #00000026,12px 12px #0003;position:relative;z-index:1;text-align:center;transform:scale(.96);animation:cardPopIn .2s ease forwards}.streak-milestone-heading{font-family:var(--font-heading);font-size:1.5em;color:#d35400;text-transform:uppercase;margin-bottom:.3em;text-shadow:2px 2px 0px rgba(0,0,0,.1)}.streak-milestone-icon{font-size:3em;line-height:1;margin:.2em 0;animation:streakFirePulse 1s ease-in-out infinite}@keyframes streakFirePulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.streak-milestone-days{font-family:var(--font-heading);font-size:4em;line-height:1;color:#d35400;margin:.1em 0 0;text-shadow:4px 4px 0px rgba(0,0,0,.1);background:linear-gradient(135deg,#ff6b35,#f7931e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.streak-milestone-label{font-family:var(--font-heading);font-size:.8em;font-weight:700;color:#d35400;text-transform:uppercase;margin-bottom:.8em}.streak-milestone-message{font-family:var(--font-heading);font-size:.7em;line-height:1.6;margin-bottom:1.5em;opacity:.9}.streak-milestone-card .timer{width:100%;height:8px;background:#0000001a;border:2px solid #111;border-radius:0;overflow:hidden;margin-top:1em}.streak-milestone-card .timer-fill{height:100%;background:linear-gradient(90deg,#ff6b35,#f7931e);width:100%;transform-origin:left;animation:timerShrink var(--overlay-duration, 5s) linear forwards}.daily-goal-overlay{position:fixed;inset:0;background:radial-gradient(ellipse at center,#3498db1f,#fff0 45%),#0000008c;display:grid;place-items:center;z-index:10000;animation:overlayFadeIn .2s ease;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.daily-goal-card{max-width:min(480px,calc(100vw - clamp(1rem,5vw,2.5rem)));margin:10px;background:var(--color-bg);color:var(--color-text);border:4px solid rgba(52,152,219,.8);border-radius:0;padding:clamp(var(--spacing-md),4vw,1.4em) clamp(1.1em,5vw,1.6em);box-shadow:0 -4px #111,0 4px #111,-4px 0 #111,4px 0 #111,inset 4px 4px #ffffff73,inset -4px -4px #00000026,12px 12px #0003;position:relative;z-index:1;text-align:center;transform:scale(.96);animation:cardPopIn .2s ease forwards}.daily-goal-heading{font-family:var(--font-heading);font-size:1.5em;color:#2980b9;text-transform:uppercase;margin-bottom:.3em;text-shadow:2px 2px 0px rgba(0,0,0,.1)}.daily-goal-icon{font-size:3em;line-height:1;margin:.2em 0;animation:streakFirePulse 1s ease-in-out infinite}.daily-goal-number{font-family:var(--font-heading);font-size:4em;line-height:1;color:#2980b9;margin:.1em 0 0;text-shadow:4px 4px 0px rgba(0,0,0,.1);background:linear-gradient(135deg,#3498db,#2980b9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.daily-goal-label{font-family:var(--font-heading);font-size:.8em;font-weight:700;color:#2980b9;text-transform:uppercase;margin-bottom:.8em}.daily-goal-message{font-family:var(--font-heading);font-size:.7em;line-height:1.6;margin-bottom:1.5em;opacity:.9}.daily-goal-card .timer{width:100%;height:8px;background:#0000001a;border:2px solid #111;border-radius:0;overflow:hidden;margin-top:1em}.daily-goal-card .timer-fill{height:100%;background:linear-gradient(90deg,#3498db,#2980b9);width:100%;transform-origin:left;animation:timerShrink var(--overlay-duration, 5s) linear forwards}.confetti-wrap{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.confetti-particle{position:absolute;top:50%;left:50%;width:10px;height:10px;background:#fff;opacity:0;transform:translate(0) scale(0) rotate(var(--rotate, 0deg));animation:fireworkExplosion 3s cubic-bezier(.15,.85,.35,1) forwards;will-change:transform,opacity}@keyframes fireworkExplosion{0%{transform:translate(0) scale(0) rotate(0);opacity:0}5%{opacity:1}20%{transform:translate(var(--tx),var(--ty)) scale(var(--scale, 1)) rotate(calc(var(--rotate, 0deg) + 90deg));opacity:1}60%{transform:translate(calc(var(--tx) * 1.1),calc(var(--ty) * 1.1 + 60px)) scale(var(--scale, 1)) rotate(calc(var(--rotate, 0deg) + 360deg));opacity:1}to{transform:translate(calc(var(--tx) * 1.15),calc(var(--ty) * 1.1 + 400px)) scale(0) rotate(calc(var(--rotate, 0deg) + 720deg));opacity:0}}.example .label{display:inline-block;opacity:.95;font-size:.9em;padding:0;margin-right:.45em;border-radius:0;background:transparent;color:var(--color-brand);border:none;font-weight:600}.example .text{display:block;margin-top:.35em;font-weight:600}.footer{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.25em;padding:2.5em 0;font-size:.95em;color:#111111b8}.footer-legal{margin-top:1.4em;font-size:clamp(.48em,1.8vw,.65em);display:flex;flex-wrap:wrap;gap:.6em;justify-content:center;color:#111111b3;font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase}.footer-legal a{color:var(--color-brand);text-decoration:none;font-family:inherit}.footer-legal a:hover,.footer-legal a:focus{text-decoration:underline;color:var(--color-accent)}.footer-legal .footer-delimiter{color:#11111180;text-transform:none;-webkit-user-select:none;user-select:none}.back-to-top{position:fixed;top:auto;right:clamp(.8rem,4vw,1.6rem);bottom:clamp(1rem,6vw,2.2rem);display:inline-flex;align-items:center;gap:.4em;padding:.55em 1.1em;border-radius:999px;border:none;background:linear-gradient(135deg,#a51931f2,#a51931d1);color:var(--color-bg);font-weight:600;font-size:.9em;cursor:pointer;box-shadow:0 14px 30px #a5193138;transition:opacity .25s ease,transform .25s ease;opacity:0;pointer-events:none;z-index:1200}.back-to-top:focus-visible{outline:3px solid rgba(165,25,49,.45);outline-offset:3px}.back-to-top:hover{background:linear-gradient(135deg,#a51931,#a51931eb);color:var(--color-bg)}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(-6px)}.back-to-top:active{top:auto;border:none;transform:translateY(-4px);box-shadow:0 6px 20px #a5193133}@media(max-width:640px){.back-to-top{padding:var(--spacing-sm) .95em;font-size:.85em;box-shadow:0 10px 22px #a519313d}}.auth-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);z-index:2000;opacity:0;pointer-events:none;transition:opacity .15s ease;overflow-y:auto;box-sizing:border-box}.auth-overlay:after{content:"";display:block;flex:0 0 auto;width:0;height:env(safe-area-inset-bottom,0px)}.auth-overlay.is-visible{opacity:1;pointer-events:auto}.auth-scrim{position:absolute;inset:0;background:#00000059;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.auth-dialog{position:relative;z-index:1;width:min(440px,92vw);overflow:visible;background:#fffffffa;color:var(--color-text);border-radius:20px;box-shadow:0 28px 48px #00000042;padding:1.4em 1.6em;text-align:left;box-sizing:border-box;max-width:min(440px,calc(100vw - 3.5em))}@media(max-height:640px){.auth-dialog{overflow-y:auto}}.auth-close{position:absolute;top:16px;right:16px;border:0;background:transparent;font-size:1.25em;cursor:pointer;color:#111111b3;transition:none;padding:4px;line-height:1;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%}.auth-close:hover,.auth-close:focus{color:var(--color-accent);background-color:#0000000a;transform:none;filter:none}.auth-close:active{top:16px;border:0;box-shadow:none;transform:none;background-color:#00000014}.auth-dialog h2{margin:0;font-size:1.4em}.auth-description{margin:.6em 0 0;font-size:.95em;opacity:.8}.auth-box{margin:1.2em auto 0;padding:var(--spacing-md) 1.25em;border:1px solid rgba(0,0,0,.1);border-radius:16px;max-width:360px;background:#ffffffeb;color:var(--color-text);text-align:left;box-shadow:0 18px 36px #00000014}.auth-box.is-busy{opacity:.65;pointer-events:none;transition:opacity .2s ease}.auth-overlay.is-busy .auth-dialog{filter:saturate(.9)}.auth-input-group{display:flex;flex-direction:column;gap:.35em;margin-top:.75em}.auth-label{font-size:.85em;font-weight:600;color:#111111d9}.auth-label .auth-required,.auth-label .auth-optional{font-weight:400;color:#1119}.auth-box input{width:100%;padding:.6em .75em;margin:0;border:0;border-radius:10px;font-size:.95em;box-sizing:border-box;background:transparent}.auth-box input:focus,.auth-box input:focus-visible{outline:none;box-shadow:none}.auth-box input:disabled{opacity:.5;cursor:not-allowed}.auth-field{display:flex;align-items:center;gap:var(--spacing-sm);padding:0 .85em;margin:.35em 0;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:#fffffff2;box-shadow:inset 0 1px #fff9;transition:border-color .2s ease,box-shadow .2s ease}.auth-field:focus-within{border-color:#00247d59;box-shadow:0 0 0 3px #00247d1a}.auth-field-icon{display:inline-flex;align-items:center;justify-content:center;color:#1119}.auth-actions{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.auth-error{font-size:.8em;color:var(--color-accent);min-height:1em}.auth-feedback{margin-top:.75em;font-size:.85em;min-height:1.2em}.auth-feedback.is-error{color:var(--color-accent)}.auth-feedback.is-success{color:var(--color-success-strong)}.auth-divider{display:flex;align-items:center;justify-content:center;gap:.65em;color:#11111180;font-size:.7em;letter-spacing:.18em;text-transform:uppercase;margin:.35em 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#1111111f}.auth-divider span{flex:0 0 auto}.auth-actions .chip{display:inline-flex;align-items:center;justify-content:center;gap:.35em;width:100%;position:relative;min-height:44px;padding:0 1.4em;border:none;border-radius:999px;background:linear-gradient(135deg,#a51931f2,#a51931d1);color:var(--color-bg);font-weight:700;letter-spacing:.01em;text-decoration:none;white-space:nowrap;cursor:pointer;box-shadow:0 16px 28px #a519312e;transition:background .2s ease,box-shadow .2s ease,transform .2s ease}.auth-actions .chip .emoji{position:absolute;left:1.1em;top:50%;transform:translateY(-50%);pointer-events:none}.chip.is-busy,.auth-inline-action.is-busy{opacity:.6;cursor:wait;pointer-events:none}.auth-note{font-size:.85em;opacity:.78;margin-top:.75em}.auth-session{font-weight:600;margin-bottom:var(--spacing-sm)}@media(max-width:600px){.auth-overlay{align-items:flex-start;padding:clamp(var(--spacing-sm),4vw,1.15em) clamp(.75em,5vw,1.2em);overflow-x:hidden}.auth-dialog{width:min(420px,85vw);margin:clamp(.6em,6vw,1.8em) auto 0;padding:clamp(.85em,4.2vw,1.2em) clamp(.8em,4.2vw,1.1em);border-radius:24px;max-width:min(420px,85vw);max-height:none;box-shadow:0 12px 38px #00000040}.auth-close{top:.85em;right:.9em}.auth-box{max-width:calc(100% - 1.4em);margin:clamp(.7em,4vw,var(--spacing-md)) auto 0;padding:clamp(.8em,4vw,var(--spacing-md)) clamp(.65em,3.8vw,.95em);border-radius:18px}.auth-box input{padding:.7em .9em;border-radius:14px;font-size:1em}.auth-actions{gap:var(--spacing-sm)}.auth-actions .chip{box-shadow:0 14px 26px #a5193133}}body.quiz-page .footer{position:fixed;left:50%;bottom:clamp(.9em,4vw,1.8em);transform:translate(-50%);display:grid;grid-auto-flow:column;grid-auto-columns:max-content;align-items:center;justify-content:center;justify-items:center;gap:.65em;padding:.55em .75em;border-radius:999px;z-index:80;backdrop-filter:blur(2px) saturate(2%);-webkit-backdrop-filter:blur(2px) saturate(2%);overflow-x:auto;white-space:nowrap;scrollbar-width:thin;scrollbar-color:rgba(0,36,125,.2) transparent}body.quiz-page .footer:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff2e;pointer-events:none}body.quiz-page .footer::-webkit-scrollbar{height:6px}body.quiz-page .footer::-webkit-scrollbar-thumb{background:#00247d33;border-radius:999px}@media(max-width:600px){.footer-socials{gap:.85em}}.back-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;font-size:.95em;font-weight:700;text-decoration:none;color:var(--color-bg)}.back-btn:hover,.back-btn:focus{text-decoration:none}body.quiz-page .footer .btn-accent{flex:0 0 auto;min-width:0}body.quiz-page .footer .quiz-preferences{display:inline-flex;align-items:center;gap:.4em;font-size:.92em;color:#111111c7}body.quiz-page .footer .quiz-preferences label{font-weight:600;font-size:1.1em;letter-spacing:0;text-transform:none;color:#00247dd9}body.quiz-page .footer .quiz-preferences select{appearance:none;-webkit-appearance:none;padding:.45em 1.1em .45em .75em;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:#ffffffeb;font-weight:600;letter-spacing:.02em;min-width:auto;width:auto;cursor:pointer}body.quiz-page .footer .quiz-preferences select:focus-visible{outline:3px solid rgba(0,36,125,.35);outline-offset:2px}body.quiz-page .footer .sound-controls{display:inline-flex;align-items:center;gap:.45em;margin-left:auto}body.quiz-page .footer .sound-controls .chip,body.quiz-page .footer .sound-help{flex:0 0 auto}body.quiz-page .footer .sound-help{display:inline-flex;align-items:center;justify-content:center;min-height:2.4em;padding:.6em 1.1em;border-radius:999px;background:#00247d14;color:var(--color-brand);font-weight:600;font-size:.9em;text-decoration:none;border:0;cursor:pointer}body.quiz-page .footer .sound-help:hover,body.quiz-page .footer .sound-help:focus{background:#a519311f;color:var(--color-accent)}body.quiz-page .footer .pro-tip{display:inline-flex;align-items:center;justify-content:center;gap:.4em;padding:.6em 1.1em;border-radius:999px;background:#ffffffe6;border:1px solid rgba(0,0,0,.08);font-weight:600;font-size:.9em;color:#111c}body.quiz-page .footer .pro-tip small{display:inline}body.quiz-page{--symbol-font-size: clamp(2.3em, 4.4vw, 3.4em);--symbol-margin: .6em 0 .6em 0;--symbol-font-weight: 800;--symbol-color: var(--color-text);--symbol-text-shadow: none;--symbol-line-height: 1.2;--options-max-width: 620px;padding-bottom:calc(var(--page-padding) + 160px)}@media(max-width:640px){body.quiz-page{--symbol-font-size: clamp(1.55em, 6.8vw, 2.8em);--symbol-line-height: 1.28}body.quiz-page.long-question #symbol{text-align:left;text-wrap:balance;-webkit-hyphens:auto;hyphens:auto;letter-spacing:-.01em;line-height:1.34;padding:clamp(.9em,4vw,1.2em);border-radius:18px;border:1px solid rgba(0,0,0,.05);box-shadow:0 12px 28px #00000014;background:#ffffffeb;max-width:min(780px,calc(var(--options-max-width, 620px) + 220px))}body.quiz-page.long-question #symbol .secondary{font-size:.72em;color:#111c}}body.quiz-page .quiz-hero{padding:clamp(1.6em,4vw,2.4em) clamp(1.8em,4.8vw,2.8em);border-radius:26px;background:linear-gradient(135deg,#a5193129,#fffffff0 28%,#00247d2e 62%,#a5193124),#fffffff0;border:1px solid rgba(0,0,0,.05);position:relative;overflow:hidden;text-align:left;width:100%;max-width:min(780px,calc(var(--options-max-width, 620px) + 220px));box-sizing:border-box}body.quiz-page .quiz-hero:before{content:"";position:absolute;inset:-30% -10% auto 35%;height:200%;background:radial-gradient(circle at center,#ffffff59,#fff0 65%);opacity:.9;pointer-events:none;transform:rotate(8deg)}body.quiz-page .quiz-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#ffffff14,#fff0);pointer-events:none}body.quiz-page .quiz-hero-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:.65em;color:var(--color-text)}body.quiz-page .quiz-hero-label{margin:0;font-size:.78em;letter-spacing:.32em;text-transform:uppercase;font-weight:700;color:#00247dbf}body.quiz-page .quiz-hero-title{margin:0;font-size:clamp(2.1em,4.6vw,3em);line-height:1.1;font-weight:900;color:var(--color-brand);text-shadow:0 12px 26px rgba(0,36,125,.18)}body.quiz-page .quiz-hero-subtitle{margin:0;max-width:560px;font-size:1.05em;opacity:.92;color:#111111db}body.quiz-page .quiz-hero-subtitle:empty{display:none}body.quiz-page .quiz-hero-tip{display:inline-flex;align-items:center;gap:.6em;padding:.65em var(--spacing-md);border-radius:14px;background:#ffffffc7;border:1px solid rgba(0,0,0,.05);box-shadow:0 10px 24px #00247d1a;color:#111111e6;font-weight:600}body.quiz-page .quiz-hero-tip small{font-size:.95em}body.quiz-page .quiz-hero-protip:empty{display:none}body.quiz-page .quiz-hero-protip small{display:inline;margin:0}@media(max-width:640px){body.quiz-page .quiz-hero{padding:clamp(1.3em,5vw,1.8em) clamp(1.1em,6vw,1.6em);border-radius:22px}body.quiz-page .quiz-hero-label{font-size:.7em;letter-spacing:.26em}body.quiz-page .quiz-hero-title{font-size:clamp(1.8em,7vw,2.4em)}body.quiz-page .quiz-hero-subtitle{font-size:1em}body.quiz-page .quiz-hero-tip{flex-wrap:wrap;gap:.4em;padding:.6em .85em}body.quiz-page .quiz-hero-tip{display:none}}body.quiz-page #symbol{font-size:var(--symbol-font-size);margin:var(--symbol-margin);margin-left:auto;margin-right:auto;width:100%;max-width:min(720px,calc(var(--options-max-width, 620px) + 160px));box-sizing:border-box;font-weight:var(--symbol-font-weight);color:var(--symbol-color);text-shadow:var(--symbol-text-shadow);line-height:var(--symbol-line-height);overflow-wrap:anywhere;word-break:break-word}body.quiz-page .prompt-card{margin:clamp(.8em,3vw,1.4em) auto clamp(1.2em,3.5vw,1.8em);padding:clamp(var(--spacing-md),3.2vw,1.6em) clamp(1.1em,3.6vw,1.9em);background:#fffffff0;border:1px solid rgba(0,0,0,.06);border-radius:20px;max-width:min(780px,calc(var(--options-max-width, 620px) + 220px));width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:.4em}body.quiz-page .prompt-label{margin:0;display:inline-flex;align-items:center;gap:.35em;padding:.3em .7em;border-radius:999px;background:#00247d14;color:#111111b3;font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.8em;width:fit-content}@media(max-width:640px){body.quiz-page .prompt-card{margin:clamp(.6em,3vw,var(--spacing-md)) auto clamp(var(--spacing-md),4vw,1.4em);padding:clamp(.9em,4vw,1.2em) clamp(.95em,4.8vw,1.35em);border-radius:16px;gap:.3em}body.quiz-page .prompt-label{font-size:.76em;letter-spacing:.12em}}body.quiz-page .options{max-width:var(--options-max-width)}body.quiz-page h1{margin-bottom:.2em}body.quiz-page #symbol .secondary{display:block;font-size:.8em;opacity:.95;margin-top:.15em;font-weight:600}body.quiz-page #symbol .emoji-line{font-size:.9em;opacity:.95;margin-bottom:.1em}body.quiz-page #symbol .cloze-sentence{display:block;font-size:1em;font-weight:700;line-height:1.35;margin-bottom:.2em}body.quiz-page #symbol .cloze-phonetic{color:var(--color-text)}body.quiz-page #symbol .cloze-thai{font-size:.85em;font-weight:600;color:#111111b3}body.quiz-page #symbol .cloze-hints{display:flex;align-items:center;justify-content:center;gap:.5em;margin-top:.6em;font-size:.55em;font-weight:600;color:#1119}body.quiz-page #symbol .cloze-hint-word{padding:.3em .7em;border-radius:999px;background:#00247d14}body.quiz-page #symbol .cloze-placeholder{display:inline-flex;align-items:center;justify-content:center;min-width:1.8em;height:1.2em;padding:.1em .5em;margin:0 .15em;border-radius:8px;background:linear-gradient(145deg,#fffffff2,#f0f2f8e6);border:2px solid rgba(0,36,125,.25);color:var(--color-brand);font-weight:800;font-size:.85em;vertical-align:middle}body.numbers-quiz,body.classifiers-quiz{--options-max-width: 600px}body.color-quiz{--options-max-width: 500px}body.vowel-quiz,body.consonant-quiz,body.consonant-clusters-quiz,body.thai-modern-fonts-quiz{--options-max-width: 300px}body.thai-modern-fonts-quiz{--symbol-font-weight: 500}body.thai-modern-fonts-quiz #symbol{margin:0;letter-spacing:.02em;transition:font-family .3s ease,letter-spacing .3s ease}body.thai-modern-fonts-quiz #symbol .font-style-label{font-size:.1em;font-weight:300;letter-spacing:.12em;text-transform:uppercase;opacity:.75}body.thai-modern-fonts-quiz #symbol[data-font-id=loopless]{font-family:var(--font-thai-sarabun);font-weight:400;letter-spacing:.015em}body.thai-modern-fonts-quiz #symbol[data-font-id=rounded]{font-family:var(--font-thai-kanit);font-weight:500;letter-spacing:.01em}body.thai-modern-fonts-quiz #symbol[data-font-id=modern]{font-family:var(--font-thai-prompt);font-weight:500;letter-spacing:.012em}body.thai-modern-fonts-quiz #symbol[data-font-id=creative]{font-family:var(--font-thai-kodchasan);font-weight:500;letter-spacing:.005em}body.thai-modern-fonts-quiz #symbol[data-font-id=soft]{font-family:var(--font-thai-mitr);font-weight:500;letter-spacing:.008em}body.quiz-page.premium-locked .pro-tip,body.quiz-page.premium-locked #symbol,body.quiz-page.premium-locked .options,body.quiz-page.premium-locked #nextBtn,body.quiz-page.premium-locked .stats{display:none!important}body.quiz-page .quiz-premium-message{max-width:520px;margin:2.6em auto;padding:1.8em 2.1em;border-radius:20px;background:#fffffff2;border:1px solid rgba(0,0,0,.08);box-shadow:0 20px 44px #00000014;text-align:center}body.quiz-page .quiz-premium-message h2{margin:0 0 .65em;font-size:1.4em;color:var(--color-brand)}body.quiz-page .quiz-premium-message p{margin:0;font-size:1em;line-height:1.55;opacity:.9}body.quiz-page .quiz-premium-actions{margin-top:1.4em;display:flex;flex-wrap:wrap;gap:.8em;justify-content:center}body.quiz-page .quiz-premium-actions .btn-accent{min-width:150px}body.home h1{margin-bottom:var(--spacing-md);font-size:2.5em}body.home .subtitle{font-size:1.2em;margin-bottom:3em}body.home .brand-text .subtitle{margin-bottom:0}body.home .brand-text .brand-subtitle,body.pricing-page .brand-text .brand-subtitle{font-size:clamp(.55em,.9vw,.7em)}body.home .quiz-container{display:flex;justify-content:center;gap:var(--spacing-xl);flex-wrap:wrap;margin-bottom:var(--spacing-xl)}body.home .quiz-container.flashcard-mode{display:block;gap:0;align-self:stretch;width:100%;max-width:min(1100px,92vw);margin-left:auto;margin-right:auto}body.home .flashcard-section{position:relative;background:#fffc;border-radius:16px;border:1px solid rgba(0,0,0,.08);margin-bottom:var(--spacing-lg);overflow:hidden;box-shadow:0 12px 24px #0000000a;max-width:100%}body.home .flashcard-section[data-emoji]:before{content:attr(data-emoji);position:absolute;top:50%;left:1.5em;transform:translateY(-50%);font-size:4em;opacity:.15;pointer-events:none;z-index:0;line-height:1}body.home .flashcard-section summary{position:relative;z-index:1;display:flex;align-items:center;gap:1em;list-style:none;padding:1.25em var(--spacing-lg);cursor:pointer;-webkit-user-select:none;user-select:none}body.home .flashcard-section[data-emoji] summary{padding-left:5em}body.home .flashcard-section summary:hover{background:#00000008}body.home .flashcard-section summary::-webkit-details-marker{display:none}body.home .flashcard-section summary::marker{content:""}body.home .flashcard-section h3{margin:0;font-size:1.4em;flex:1}body.home .flashcard-section .flashcard-summary-indicator:before{content:"▸";font-size:1.2em}body.home .flashcard-section .flashcard-summary-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:1.5em}body.home .flashcard-section[open] .flashcard-summary-indicator:before{content:"▾"}body.home .flashcard-match{background:#fff1a8;padding:0 .08em;border-radius:4px}body.home .flashcard-content{padding:0 var(--spacing-lg) var(--spacing-lg);border-top:1px solid rgba(0,0,0,.08)}body.home .flashcard-loading-placeholder{padding:var(--spacing-lg);color:var(--color-text-muted);text-align:center;font-style:italic}body.home .flashcard-section summary:focus-visible{outline:3px solid rgba(0,36,125,.4);outline-offset:2px;border-radius:12px}body.home .flashcard-table-wrapper{overflow-x:auto;margin-top:var(--spacing-md)}body.home .flashcard-table{width:100%;border-collapse:collapse;min-width:320px;border-left:1px solid rgba(0,0,0,.08);border-right:1px solid rgba(0,0,0,.08);border-top:1px solid rgba(0,0,0,.08);border-bottom:1px solid rgba(0,0,0,.08)}body.home .flashcard-table th,body.home .flashcard-table td{padding:.75em var(--spacing-md);text-align:left;vertical-align:top;border-bottom:1px solid rgba(0,0,0,.06)}body.home .flashcard-table thead th{background:#0000000a;font-weight:600}body.home .flashcard-table tbody tr:nth-child(2n){background:#00000008}body.home .flashcard-table tbody tr:last-child td{border-bottom:none}body.home .flashcard-table td.flashcard-cell-phonetic{font-style:italic;color:#111111bf}@media(max-width:640px){body.home .flashcard-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);border:0}body.home .flashcard-table,body.home .flashcard-table tbody,body.home .flashcard-table tr,body.home .flashcard-table td{display:block;width:auto}body.home .flashcard-table{border:none;min-width:0}body.home .flashcard-table tbody tr{margin-bottom:.9em;border:1px solid rgba(0,0,0,.08);border-radius:14px;overflow:hidden;background:#00000005}body.home .flashcard-table td{border:none;padding:.95em 1.4em .95em 6.4em;position:relative;border-bottom:1px solid rgba(0,0,0,.06)}body.home .flashcard-table td:last-child{border-bottom:none}body.home .flashcard-table td:before{content:attr(data-label);position:absolute;left:0;top:0;height:100%;width:5.4em;display:inline-flex;align-items:center;justify-content:flex-start;padding-left:1.3em;font-size:.72em;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#00000080;line-height:1.2}}body.home .home-controls{display:flex;flex-direction:column;gap:.75em;padding:1.1em 1.4em;background:#ffffffd1;border-radius:20px;max-width:640px;width:100%;box-sizing:border-box}body.home .home-controls .controls-primary{display:flex;flex-direction:column;align-items:center;gap:0}body.home:not(.quest-mode) .home-controls .controls-primary{gap:.4em;align-items:stretch}body.home .home-controls .search-wrapper{display:flex;transition:max-height .28s ease,opacity .24s ease,margin .24s ease;max-height:74px;opacity:1}body.home .home-controls .search-wrapper input{width:100%}body.home .home-controls .chip-group{justify-content:flex-start}body.home .home-controls .controls-primary+.filters{margin-top:.3em}body.home .home-controls .filters{transition:max-height .32s ease,opacity .26s ease,margin .24s ease;max-height:360px;opacity:1}body.home .view-toggle{display:inline-flex;align-items:center;justify-content:center;padding:.35em;background:#0000000f;border-radius:999px;border:1px solid rgba(0,0,0,.08);margin:0 auto;width:fit-content;position:relative}body.home .view-toggle .view-chip+.view-chip{margin-left:.18em}body.home .view-chip{border:none;background:transparent;color:var(--color-text);border-radius:999px;padding:.45em 1.2em;font-weight:700;cursor:pointer;transition:background .2s ease,color .2s ease;min-width:120px;display:inline-flex;align-items:center;justify-content:center;text-align:center;position:static;top:0;border-bottom-width:0}body.home .view-chip:active{top:0;transform:none;border-bottom-width:0;box-shadow:none}body.home .view-chip:hover{background:#00000014;color:var(--color-text);box-shadow:none;transform:none}body.home .view-chip.active{background:var(--color-accent);color:var(--color-bg);box-shadow:none}body.home .view-chip.active:hover{background:var(--color-accent);color:var(--color-bg);transform:none;box-shadow:none}body.home .view-chip.is-locked{color:#11111180;cursor:not-allowed;background:transparent;box-shadow:none}body.home .view-chip.is-locked:hover{background:#0000000d}body.home .view-chip:focus-visible{outline:3px solid rgba(165,25,49,.35);outline-offset:2px}.flashcard-lock-overlay{position:absolute;bottom:calc(100% + .6em);left:50%;transform:translate3d(-50%,6px,0);background:var(--color-bg);color:var(--color-text);border-radius:14px;box-shadow:0 16px 32px #0003,0 6px 12px #0000001f;padding:.85em 1.1em;max-width:min(320px,80vw);display:flex;flex-direction:column;gap:.35em;align-items:center;text-align:center;font-weight:600;line-height:1.35;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:25}.flashcard-lock-overlay:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:8px;border-style:solid;border-color:var(--color-bg) transparent transparent transparent}.flashcard-lock-overlay strong{font-size:.78em;letter-spacing:.2em;text-transform:uppercase;color:#00247de6}.flashcard-lock-overlay.is-visible{opacity:1;pointer-events:auto;transform:translate3d(-50%,0,0)}.flashcard-lock-overlay[hidden]{display:none}body.home.quest-mode .filters,body.home.quest-mode .home-controls .filters,body.home.flashcard-mode .filters,body.home.flashcard-mode .home-controls .filters{max-height:0;opacity:0;margin:0;pointer-events:none;overflow:hidden}body.pricing-page,body.stats-page{background:var(--color-bg);color:var(--color-text);min-height:100vh;display:flex;flex-direction:column;position:relative;overflow-x:hidden}body.pricing-page:before{content:"";position:absolute;top:4rem;left:50%;transform:translate(-50%);width:clamp(220px,32vw,340px);height:clamp(220px,32vw,340px);opacity:.18;pointer-events:none;z-index:0;border-radius:50%;background:radial-gradient(circle at center,#00247d47,#00247d14 55%,#00247d00),repeating-linear-gradient(135deg,rgba(0,36,125,.08) 0 16px,rgba(165,25,49,.06) 16px 32px,transparent 32px 48px);filter:blur(.2px)}body.stats-page:before{content:none}.pricing-content{width:100%;max-width:960px;margin:0 auto var(--spacing-xl);padding:0em var(--spacing-lg) 0;box-sizing:border-box;position:relative;z-index:1}.stats-content{width:100%;max-width:960px;margin:0 auto 2.5em;padding:0 var(--spacing-lg);box-sizing:border-box;position:relative;z-index:1}.pricing-hero{text-align:center;margin-bottom:2.5em}.stats-hero{text-align:center;margin:2.8em auto 2.2em;max-width:720px}.stats-hero h2{font-size:clamp(1.4em,4.5vw,3em);margin-bottom:.25em;font-family:var(--font-heading);letter-spacing:.04em;text-transform:uppercase;color:var(--color-brand);text-shadow:0 4px 12px rgba(0,36,125,.1);line-height:1.3}.stats-lead{font-size:1.05em;opacity:.85;margin-bottom:.8em}.stats-updated{font-weight:600;color:#00247dbf}.stats-feedback{margin:0 auto 1.2em;padding:.9em 1.1em;max-width:640px;border-radius:14px;background:#00247d14;color:#00247dd9;font-weight:600}.stats-feedback:empty{display:none}.stats-feedback-info{background:#00247d1a;color:#00247de6}.stats-feedback-error{background:#a5193114;color:#a51931e6}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6em}.stats-card{background:#ffffffeb;border-radius:18px;padding:1.6em 1.4em;box-shadow:0 18px 44px #00000014;border:1px solid rgba(0,0,0,.06);position:relative;overflow:hidden}.stats-card h3{margin-top:0;margin-bottom:.9em;font-size:1.35em;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.04em}.stats-list{margin:0;padding:0;display:grid;gap:.8em}.stats-row{display:flex;justify-content:space-between;gap:var(--spacing-md);align-items:baseline}.stats-row dt{font-weight:600;color:#000000a8}.stats-row dd{margin:0;font-weight:700;font-size:1.15em;color:#00247de6}.stats-highlight{margin-top:1.1em;font-size:.95em;font-weight:600;color:#00247dd9}.stats-note{margin-top:1.1em;font-size:.9em;color:#0009}@media(max-width:960px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.stats-grid{grid-template-columns:1fr}.stats-card{padding:1.4em 1.2em}.stats-row{flex-direction:column;align-items:flex-start}.stats-row dd{font-size:1.1em}}.stats-section{margin-bottom:2.5em}.stats-section-title{font-size:clamp(1.1em,3.5vw,1.5em);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .6em;color:var(--color-brand);line-height:1.4}.stats-section-lead{font-size:.95em;opacity:.75;margin:0 0 1.2em}.personal-bests-grid.achievements-summary-grid{grid-template-columns:repeat(4,1fr)}.achievements-summary-actions{margin-top:1.2em;display:flex;justify-content:center}.personal-bests-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1em}.personal-best-card{background:#ffffffbf;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:18px;padding:1.4em 1.2em;text-align:center;box-shadow:0 8px 32px #0000000a,inset 0 0 0 1px #fff6;border:1px solid rgba(0,0,0,.05);transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,background .2s ease;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.personal-best-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--color-brand);opacity:.15}.personal-best-card:hover{transform:translateY(-2px);box-shadow:0 12px 32px #0000001a}.personal-best-icon{font-size:1.8em;margin-bottom:.2em;line-height:1;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.personal-best-value{font-size:2.4em;font-weight:800;color:var(--color-brand);line-height:1;font-family:var(--font-heading);letter-spacing:-.02em}.personal-best-label{font-size:.72em;font-weight:700;color:#00000073;margin-top:.6em;text-transform:uppercase;letter-spacing:.1em}.personal-best-sublabel{font-size:.85em;color:#00247dbf;margin-top:.25em;font-weight:600}@media(max-width:768px){.personal-bests-grid,.personal-bests-grid.achievements-summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.personal-bests-grid,.personal-bests-grid.achievements-summary-grid{grid-template-columns:1fr}.personal-best-card{display:grid;grid-template-columns:1fr;grid-template-areas:"icon" "value" "label" "sublabel";align-items:center;gap:.35em;text-align:center;padding:1em}.personal-best-icon{grid-area:icon;margin-bottom:.2em;width:1.6em;height:1.6em;justify-self:center}.personal-best-value{grid-area:value;font-size:1.8em;min-width:0}.personal-best-label{grid-area:label;margin-top:0}.personal-best-sublabel{grid-area:sublabel}}.activity-graph-container{background:#ffffffeb;border-radius:14px;padding:1.4em;box-shadow:0 8px 24px #0000000f;border:1px solid rgba(0,0,0,.06);overflow-x:auto}.activity-graph{display:flex;gap:3px;min-height:100px}.activity-loading,.activity-error{display:flex;align-items:center;justify-content:center;width:100%;min-height:100px;color:#00000080;font-size:.9em}.activity-day-labels{display:flex;flex-direction:column;gap:3px;padding-right:6px}.activity-day-label{height:12px;font-size:9px;color:#00000080;display:flex;align-items:center}.activity-weeks-grid{display:flex;gap:3px}.activity-week{display:flex;flex-direction:column;gap:3px}.activity-cell{width:12px;height:12px;border-radius:2px;background:#0000000f;transition:transform .1s ease}.activity-cell:hover{transform:scale(1.3)}.activity-cell[data-level="0"]{background:#0000000f}.activity-cell[data-level="1"]{background:#00247d1f}.activity-cell[data-level="2"]{background:#00247d59}.activity-cell[data-level="3"]{background:#00247da6}.activity-cell[data-level="4"]{background:var(--color-brand);box-shadow:0 0 10px #00247d66}.activity-cell-today{box-shadow:0 0 0 2px var(--color-brand)}.activity-cell-future{opacity:.3;pointer-events:none}.activity-legend{display:flex;align-items:center;gap:4px;justify-content:flex-end;margin-top:.8em;font-size:11px;color:#00000080}.activity-legend-label{padding:0 4px}.activity-legend-cell{width:12px;height:12px;border-radius:2px}.activity-legend-cell[data-level="0"]{background:#0000000f}.activity-legend-cell[data-level="1"]{background:#00247d1f}.activity-legend-cell[data-level="2"]{background:#00247d59}.activity-legend-cell[data-level="3"]{background:#00247da6}.activity-legend-cell[data-level="4"]{background:var(--color-brand)}.activity-summary{display:flex;gap:2em;margin-top:1.2em;justify-content:center}.activity-stat{display:flex;align-items:baseline;gap:.4em}.activity-stat-value{font-size:1.4em;font-weight:700;color:var(--color-brand)}.activity-stat-label{font-size:.9em;color:#0009}.category-mastery-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25em}.category-loading,.category-empty,.category-error{padding:2em;text-align:center;color:#00000080;background:#fff9;border-radius:12px}.category-mastery-card{background:#ffffffbf;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;padding:1.8em 1em;text-align:center;box-shadow:0 4px 20px #00000008,inset 0 0 0 1px #ffffff80;border:1px solid rgba(0,0,0,.04);transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;display:flex;flex-direction:column;align-items:center;gap:1.2em}.category-mastery-card:hover{transform:translateY(-5px);box-shadow:0 12px 32px #00000014}.category-mastery-circle{width:84px;height:84px;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center;background:conic-gradient(var(--color-brand) var(--progress),rgba(0,36,125,.08) 0deg);transition:--progress .5s ease}.category-mastery-circle:after{content:"";position:absolute;width:70px;height:70px;background:#f8f9fa;border-radius:50%;z-index:1}.category-mastery-circle-label{position:relative;z-index:2;font-weight:800;font-size:.95em;color:var(--color-brand);display:flex;flex-direction:column;align-items:center;line-height:1.2}.category-mastery-star-icon{font-size:.8em;opacity:.8}.category-mastery-info{display:flex;flex-direction:column;gap:.2em}.category-mastery-name{font-weight:700;font-size:.9em;color:#000000d9;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.02em;word-wrap:break-word;max-width:100%}.category-mastery-count{font-size:.78em;font-weight:600;color:#00000073;text-transform:uppercase;letter-spacing:.05em}.settings-section{margin-top:2em}.settings-container{max-width:400px}.settings-group{background:#ffffffbf;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:18px;padding:1.6em;box-shadow:0 8px 32px #0000000a,inset 0 0 0 1px #fff6;border:1px solid rgba(0,0,0,.05)}.settings-group-title{font-size:1em;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .4em;color:var(--color-brand)}.settings-description{font-size:.9em;opacity:.7;margin:0 0 1.2em;line-height:1.4}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:.8em 0;border-bottom:1px solid rgba(0,0,0,.06)}.settings-row:last-of-type{border-bottom:none}.settings-label{font-size:.95em;font-weight:600;color:#000c;flex:1}.settings-warning{font-size:.85em;color:#b91c1c;background:#b91c1c14;padding:.8em 1em;border-radius:8px;margin-top:1em;line-height:1.4}.settings-time-input{font-family:inherit;font-size:.95em;padding:.5em .8em;border:1px solid rgba(0,0,0,.15);border-radius:8px;background:#ffffffe6;color:inherit;min-width:110px;text-align:center}.settings-time-input:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px #00247d1a}.toggle-switch{position:relative;display:inline-block;width:52px;height:28px;flex-shrink:0}.toggle-switch .toggle-input{opacity:0;width:100%;height:100%;position:absolute;top:0;left:0;cursor:pointer;z-index:2;margin:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#00000026;transition:.3s cubic-bezier(.4,0,.2,1);border-radius:28px}.toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;transition:.3s cubic-bezier(.4,0,.2,1);border-radius:50%;box-shadow:0 2px 6px #0003}.toggle-input:checked+.toggle-slider{background-color:var(--color-brand)}.toggle-input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-input:focus+.toggle-slider{box-shadow:0 0 0 3px #00247d26}.toggle-input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.time-row{transition:opacity .2s ease,max-height .2s ease;overflow:hidden}.time-row[style*="display: none"]{opacity:0;max-height:0;padding:0;margin:0;border:none}.pricing-hero h2{font-size:clamp(2.1em,4vw,2.6em);margin-bottom:.4em;font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase}.pricing-lead{font-size:1.1em;opacity:.85;margin:0 auto;max-width:620px}.pricing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.4em;margin:0 0 2.6em}.pricing-feature-card{background:#ffffffdb;border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:1.3em var(--spacing-lg);box-shadow:0 18px 32px #00247d14;text-align:left}.pricing-feature-card h3{margin:0 0 .45em;font-size:1.05em;color:var(--color-brand);text-transform:none;letter-spacing:.02em}.pricing-feature-card p{margin:0;font-size:.95em;line-height:1.5;opacity:.85}.pricing-plans{display:grid;gap:1.8em;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2.5em}.pricing-card{border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:1.8em;box-shadow:0 20px 44px #00000014;background:#ffffffe6;display:flex;flex-direction:column;gap:1.2em;position:relative;align-items:flex-start;text-align:left}.pricing-card.is-active{border-color:#a5193166;box-shadow:0 24px 48px #a519312e}.pricing-card.is-active .pricing-current{display:inline-block}.pricing-card header{display:flex;flex-direction:column;gap:.4em}.pricing-card h3{font-size:1.4em;margin:0}.pricing-amount{font-size:1.6em;font-weight:800;margin:0}.pricing-frequency{font-size:.6em;font-weight:600;opacity:.7}.pricing-save{font-size:.95em;color:var(--color-brand);font-weight:700;margin:0}.pricing-current{display:inline-flex;align-items:center;gap:.3em;background:#a519311f;color:#a51931f2;font-size:.85em;font-weight:700;letter-spacing:.04em;padding:.35em .7em;border-radius:999px;text-transform:uppercase}.pricing-current:before{content:"★"}.pricing-current[hidden]{display:none!important}.pricing-benefits{list-style:none;padding-left:0;margin:0;display:flex;flex-direction:column;gap:.6em;font-size:.98em}.pricing-benefits li:before{content:"✔";margin-right:.4em;color:var(--color-brand)}.pricing-card .btn-accent{align-self:flex-start;min-width:auto;padding-inline:2.2em;margin-top:auto}.pricing-manage{text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:.8em;border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:1.6em;background:#ffffffd9;max-width:680px;margin:0 auto}.pricing-manage .btn-accent{align-self:flex-start}body.home .quest-details{overflow:hidden;max-height:2000px;opacity:1;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease,margin .4s ease}body.home .quest-details.collapsed{max-height:0;opacity:0;margin:0}.pricing-manage h3{margin-top:0;margin-bottom:.4em}.pricing-feedback{min-height:1.4em;text-align:center;font-weight:600;transition:opacity .2s ease;padding:.6em var(--spacing-md);border-radius:12px;margin:0 auto 1.6em;max-width:720px}.pricing-feedback-info{background:#00247d14;color:#00247dcc}.pricing-feedback-error{background:#a519311f;color:#a51931f2}.pricing-feedback-success{background:#2ba05b1f;color:#2ba05bf2}.pricing-feedback:empty{padding:0;min-height:0;margin:0}@media(max-width:640px){.pricing-content{padding:0em var(--spacing-md) 0}.pricing-card{padding:1.4em}}body.home.quest-mode .home-controls .search-wrapper{max-height:0;opacity:0;margin:0;pointer-events:none;overflow:hidden}body.home.flashcard-mode .home-controls .filters,body.home.flashcard-mode .filters{display:none}body.home.quest-mode .home-controls,body.home.flashcard-mode .home-controls{gap:.4em}body.home.quest-mode .quiz-container{flex-direction:column;align-items:stretch;gap:var(--spacing-lg)}body.home .quest-card{background:var(--color-bg);padding:1.8em;border:1px solid rgba(0,0,0,.08);box-shadow:0 16px 32px #0000000f;transition:transform .2s ease;cursor:default;width:100%;max-width:640px;margin:0 auto;box-sizing:border-box;border-radius:20px;position:relative;overflow:hidden}.quiz-badge-lang{display:inline-block;background-color:transparent;color:#666;font-size:.6em;font-weight:700;padding:1px 5px;border:1px solid #999;border-radius:4px;margin-left:8px;vertical-align:middle;transform:translateY(-2px)}body.home .quest-card:hover{transform:translateY(-4px)}body.home .quest-card[data-emoji]:before{content:attr(data-emoji);position:absolute;top:120px;left:50%;transform:translate(-50%,-50%);font-size:clamp(10em,28vw,14em);opacity:.25;pointer-events:none;z-index:0;line-height:1}body.home .quest-card>*{position:relative;z-index:1}body.home .quest-header{display:flex;flex-direction:column;gap:.4em;margin-bottom:.8em}body.home .quest-collapse-btn{margin-top:.6em;align-self:flex-start;border:1px solid rgba(0,0,0,.12);background:var(--color-bg);color:var(--color-text);border-radius:999px;padding:.55em 1.4em;font-weight:700;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}body.home .quest-collapse-btn:hover{box-shadow:0 8px 18px #0000001f}body.home .quest-collapse-btn.expanded{background:var(--color-accent);color:var(--color-bg);box-shadow:0 12px 24px #0000002e}body.home .quest-collapse-btn:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}body.home .quest-title{font-size:1.8em;font-weight:800;color:var(--color-text)}body.home .quest-tagline{font-weight:600;opacity:.75;font-size:1.05em}body.home .quest-goal{margin:0;line-height:1.6;opacity:.9}body.home .quest-progress{margin-top:var(--spacing-md);font-weight:700}body.home .quest-card.preview{border-style:dashed;position:relative}body.home .quest-steps{display:flex;flex-wrap:wrap;gap:.6em;margin:1.4em 0 1.6em;justify-content:center}body.home .quest-lock-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background:#ffffffeb;border-radius:16px;text-align:center}body.home .quest-lock-overlay[data-lock-type=premium]{background:#fffffff5;border:2px dashed rgba(0,36,125,.2);flex-direction:column;gap:.8em;padding:1.8em}body.home .quest-lock-message{font-weight:700;font-size:1.05em;color:var(--color-text)}body.home .quest-lock-overlay .quest-lock-cta{display:inline-flex;align-items:center;justify-content:center;padding:.55em 1.35em;border-radius:999px;background:linear-gradient(135deg,var(--color-brand) 0%,var(--color-brand-dark) 100%);color:var(--color-bg);font-weight:700;text-decoration:none;box-shadow:0 12px 28px #00247d47}body.home .quest-lock-overlay .quest-lock-cta:hover,body.home .quest-lock-overlay .quest-lock-cta:focus{text-decoration:none;color:var(--color-bg);box-shadow:0 16px 32px #00247d52}body.home .quest-preview-topics{margin:1.2em 0 0;padding-left:1.4em;list-style:disc;font-weight:600;opacity:.85;text-align:left}body.home .quest-preview-topics li{margin:.3em 0}body.home .quest-quiz{display:inline-flex;align-items:flex-start;gap:.6em;padding:.45em .9em;border-radius:16px;border:1px solid rgba(0,0,0,.12);background:#ffffffe6;text-decoration:none;color:var(--color-text);font-weight:600;font-size:.95em;position:relative;overflow:hidden}body.home .quest-quiz-text{display:flex;flex-direction:column;gap:.2em;position:relative;z-index:1}body.home .quest-quiz[data-emoji]:before{content:attr(data-emoji);position:absolute;top:30%;left:10%;transform:translate(-50%,-50%);font-size:clamp(.6em,3vw,1.4em);opacity:.25;pointer-events:none;z-index:0;line-height:1}body.home .quest-quiz-title{font-weight:600}body.home .quest-quiz-meta{font-size:.85em;opacity:.75;font-weight:500}body.home .quest-quiz.locked{background:#00000012;border-color:#0000001f;pointer-events:none;cursor:not-allowed}body.home .quest-quiz.complete{background:linear-gradient(135deg,#3498db1f,#2980b914);border-color:#2980b94d}body.home .quest-quiz:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}body.home .quest-actions{display:flex;justify-content:center;margin-top:var(--spacing-md)}body.home .quest-action-btn{text-decoration:none}body.home .quest-finished{display:inline-flex;align-items:center;padding:.6em 1.2em;border-radius:999px;background:linear-gradient(135deg,#3498db1f,#2980b914);border:1px solid rgba(41,128,185,.3);font-weight:700;color:var(--color-text)}body.home .quiz-card{background:var(--color-bg);border-radius:16px;padding:var(--spacing-xl);min-width:300px;max-width:400px;border:1px solid rgba(0,0,0,.08);box-shadow:0 16px 32px #0000000f;transition:all .2s ease;cursor:pointer;position:relative;overflow:hidden;display:flex;flex-direction:column}body.home .quiz-card-favorite-btn,body.home .flashcard-favorite-btn{position:absolute;top:.5rem;right:.5rem;width:2rem;height:2rem;padding:0;border:none;background:transparent;cursor:pointer;opacity:.6;transition:opacity .2s,transform .15s;z-index:4}body.home .flashcard-section summary .flashcard-favorite-btn{position:relative;top:auto;right:auto;z-index:1;flex-shrink:0}body.home .quiz-card-favorite-btn:hover,body.home .flashcard-favorite-btn:hover{opacity:1;transform:scale(1.08)}body.home .quiz-card-favorite-btn:focus-visible,body.home .flashcard-favorite-btn:focus-visible{outline:3px solid rgba(0,36,125,.35);outline-offset:2px;border-radius:999px}body.home .quiz-card-favorite-btn:before,body.home .flashcard-favorite-btn:before{content:"♡";font-size:1.25rem;color:var(--color-text-secondary)}body.home .quiz-card-favorite-btn.is-favorited:before,body.home .flashcard-favorite-btn.is-favorited:before{content:"♥";color:var(--color-accent)}body.home .quiz-card:hover{transform:translateY(-4px);background:var(--color-bg);box-shadow:0 16px 32px #00000014}body.home .quiz-card.premium-locked{cursor:default;box-shadow:none}body.home .quiz-card.premium-locked:hover{transform:none;box-shadow:none}body.home .quiz-card.premium-locked .quiz-card-lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9em;padding:1.6em;background:#ffffffe6;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);text-align:center;z-index:3}body.home .quiz-card.premium-locked .quiz-card-lock-message{font-weight:700;font-size:1.05em;color:var(--color-text)}body.home .quiz-card.premium-locked .quiz-card-lock-title{font-weight:800;font-size:1.2em;color:var(--color-text);text-transform:none;letter-spacing:.01em}body.home .quiz-card.premium-locked .quiz-card-lock-cta{display:inline-flex;align-items:center;justify-content:center;padding:.55em 1.35em;border-radius:999px;background:linear-gradient(135deg,var(--color-brand) 0%,var(--color-brand-dark) 100%);color:var(--color-bg);font-weight:700;text-decoration:none;box-shadow:0 12px 28px #00247d47}body.home .quiz-card.premium-locked .quiz-card-lock-cta:hover,body.home .quiz-card.premium-locked .quiz-card-lock-cta:focus{text-decoration:none;color:var(--color-bg);box-shadow:0 16px 32px #00247d52}body.home .quiz-card[data-emoji]:before{content:attr(data-emoji);position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);font-size:clamp(9em,32vw,11.25em);opacity:.25;pointer-events:none;z-index:0;line-height:1}body.home .quiz-card>:not(.quiz-card-lock):not(.quiz-card-favorite-btn){position:relative;z-index:1}body.home .quiz-card>.quiz-card-favorite-btn{position:absolute;z-index:4;display:flex;align-items:center;justify-content:center;line-height:1}body.home .quiz-card h2{margin:0 0 var(--spacing-md) 0;font-size:1.8em;color:var(--color-text)}body.home .quiz-card p{margin:0;opacity:.9;line-height:1.6}body.home .quiz-card .features{text-align:left;margin-bottom:var(--spacing-lg);list-style:none;padding-left:0}body.home .quiz-card .star-rating{font-size:3em}body.home .quiz-card .star-rating .star{display:inline-block;line-height:1;margin:0 .05em;transform-origin:center bottom}body.home .quiz-card .star-rating .star--accent{transform:scale(1.2)}body.home .quiz-card .features li{margin-bottom:var(--spacing-sm);font-weight:inherit}body.home .quiz-card .features li:before{content:"✔";margin-right:.3em;color:var(--color-text-strong)}.start-btn{min-width:140px}body.home .quiz-card .start-btn{margin-top:auto;align-self:center}.start-btn[aria-disabled=true],.start-btn.is-disabled{opacity:.6}.player-card{width:100%;max-width:460px;margin:0 auto;background:var(--color-bg);border-radius:24px;overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center}.player-hero{width:100%;padding:var(--spacing-md) var(--spacing-md) var(--spacing-md);display:flex;flex-direction:column;align-items:center;gap:.55em}.metric.metric-xp{--xp-progress: 0deg;position:relative;background:conic-gradient(from -90deg,var(--color-accent) 0deg,var(--color-accent) var(--xp-progress),var(--color-surface-muted) var(--xp-progress),var(--color-surface-muted) 360deg);padding:1.25em .8em;z-index:1;overflow:hidden;border:none;box-shadow:0 4px #0000000d}.metric.metric-xp:hover,.metric.metric-xp:focus{border-color:transparent;box-shadow:0 8px 16px #00000014}.metric.metric-xp:after{content:"";position:absolute;inset:6px;background:#fff;border-radius:15px;z-index:-1;box-shadow:inset 0 -2px 8px #0000000d}.player-avatar-shell{position:relative;width:216px;height:216px;border-radius:18px;overflow:hidden;z-index:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ecf3ff,#d2deff26)}.player-avatar{width:100%;height:100%;display:block;object-fit:contain;image-rendering:pixelated;image-rendering:optimizeSpeed}.avatar-overlay{position:absolute;inset:0;pointer-events:none;z-index:2}.avatar-overlay-sprite{position:absolute;display:block;height:auto;opacity:0;transform:translateY(6px) scale(.96);animation:avatar-sprite-in .45s ease-out forwards;will-change:transform,opacity}.avatar-overlay-sprite--top{animation:avatar-sprite-pulse-in .55s ease-out forwards,avatar-sprite-pulse 2.6s ease-in-out .55s infinite}.avatar-overlay-sprite--bottom{animation:avatar-sprite-fade-down .4s ease-out forwards;transform:translateY(-6px) scale(.98)}.avatar-overlay-sprite--offering{animation:avatar-sprite-fade-in .35s ease-out forwards;transform:none}@keyframes avatar-sprite-in{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes avatar-sprite-pulse-in{0%{opacity:0;transform:translateY(6px) scale(.82)}70%{opacity:1;transform:translateY(0) scale(1.08)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes avatar-sprite-fade-down{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes avatar-sprite-fade-in{0%{opacity:0}to{opacity:1}}@keyframes avatar-sprite-pulse{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(0) scale(1.08)}}@media(prefers-reduced-motion:reduce){.avatar-overlay-sprite{animation:none;opacity:1;transform:none}.avatar-overlay-sprite--top,.avatar-overlay-sprite--bottom,.avatar-overlay-sprite--offering{animation:none}}.player-identity{padding:.2em 1.6em .1em;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);width:100%}.player-name-row{width:100%;display:flex;align-items:baseline;justify-content:center;position:relative;gap:0}.player-name{font-weight:800;font-size:1.35em;color:var(--color-text);transition:color .2s ease;cursor:pointer;flex:0 0 auto;min-width:0;text-align:center;display:inline-flex;align-items:baseline;justify-content:center;position:relative;padding:0 .15em;margin:0}.player-name:hover{color:var(--color-accent)}.player-name-row:hover .player-name,.player-name-row:focus-within .player-name{color:var(--color-accent)}.player-name-icon{background:none;border:none;appearance:none;padding:0;line-height:1;font-family:inherit;display:inline-flex;font-size:1.05em;color:#11111180;transition:color .2s ease;cursor:pointer;margin-left:.2em;align-self:baseline}.player-name-icon:focus-visible{outline:2px solid rgba(0,36,125,.5);outline-offset:2px}.player-name-row:hover .player-name-icon{color:var(--color-accent)}.player-name-edit{font-weight:800;font-size:1.35em;color:var(--color-text);background:#ffffffe6;border:2px solid var(--color-accent);border-radius:12px;padding:4px 12px;outline:none;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease;text-align:center;display:block;margin:0 auto}.player-name-edit:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #00247d2e}.player-level{font-weight:700;font-size:.95em;color:var(--color-brand);letter-spacing:.04em}@keyframes streak-pulse{0%,to{box-shadow:0 4px #00247d0d,inset 0 0 #ff6b3500;border-color:#00247d14}50%{box-shadow:0 4px #00247d0d,inset 0 0 20px 2px #ff6b354d;border-color:#ff6b3566}}.metric.streak-at-risk{animation:streak-pulse 2s ease-in-out infinite;position:relative;overflow:hidden;background:#fff}.metric.streak-at-risk:before{content:"🔥";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:3em;opacity:.08;z-index:0;pointer-events:none;animation:streak-flame-pulse 2s ease-in-out infinite;filter:blur(2px)}@keyframes streak-flame-pulse{0%,to{transform:translate(-50%,-50%) scale(.9) rotate(-5deg);opacity:.06}50%{transform:translate(-50%,-50%) scale(1.3) rotate(5deg);opacity:.15}}.metric.streak-at-risk .metric-value{color:#000;position:relative;z-index:1}.metric.streak-at-risk .metric-label{position:relative;z-index:1}.player-metrics{width:100%;padding:1.4em 1.8em .3em;display:flex;flex-wrap:wrap;justify-content:center;gap:1em}.metric{flex:1 1 60px;background:#fff;border:1px solid rgba(0,36,125,.08);border-radius:20px;padding:1em .8em;display:flex;flex-direction:column;align-items:center;gap:.4em;text-align:center;position:relative;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px #00247d0d}.metric:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00247d14;border-color:#00247d26}.metric-label{font-size:.65em;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#11111180;margin-bottom:2px}.metric-value{font-size:1.15em;font-weight:900;color:var(--color-text);line-height:1}.metric.metric-daily-goal{--goal-progress: 0deg;position:relative;background:conic-gradient(from -90deg,var(--color-class-low) 0deg,var(--color-class-low) var(--goal-progress),rgba(0,0,0,.05) var(--goal-progress),rgba(0,0,0,.05) 360deg);padding:1.25em .8em;z-index:1;overflow:hidden;border:none;box-shadow:0 4px #0000000d}.metric.metric-daily-goal:hover,.metric.metric-daily-goal:focus{border-color:transparent;box-shadow:0 8px 16px #00000014}.metric.metric-daily-goal:after{content:"";position:absolute;inset:6px;background:#fff;border-radius:15px;z-index:-1;box-shadow:inset 0 -2px 8px #0000000d}.metric.metric-daily-goal.goal-complete{background:conic-gradient(from -90deg,#1a5fb4 0deg,#1a5fb4 var(--goal-progress),rgba(0,0,0,.05) var(--goal-progress),rgba(0,0,0,.05) 360deg);border-color:#2980b973;transform:translateY(-2px);box-shadow:0 4px 12px #2980b926}.metric.metric-daily-goal.goal-complete .metric-value{color:#1a5e9a}.player-actions{width:100%;max-width:420px;margin:.75em auto 0;display:flex;align-items:center;justify-content:center;gap:.6em;flex-wrap:wrap}.player-actions.is-hidden{display:none}.player-actions .player-premium-link{border:none}.player-actions .player-premium-link.is-disabled,.player-actions .player-premium-link[aria-disabled=true]{cursor:not-allowed;opacity:.6}.billing-banner{width:100%;max-width:460px;margin:.6em auto 1.2em;padding:.85em 1.1em;border-radius:14px;font-size:.95em;font-weight:600;text-align:center;box-sizing:border-box;letter-spacing:.01em;opacity:1;transition:opacity .3s ease}.billing-banner.is-fading{opacity:0}@media(max-width:560px){.player-card{max-width:100%;border-radius:20px}.player-hero{padding:var(--spacing-md) var(--spacing-md) var(--spacing-md)}.player-avatar-shell{width:200px;height:200px}.player-actions{margin:.6em auto 0;gap:var(--spacing-sm)}.player-name,.player-name-edit{font-size:1.25em}.player-metrics{padding:1.1em 1.6em .3em;gap:.7em}.metric{flex:1 1 60px;padding:.65em var(--spacing-sm)}}body.consonant-quiz h1,body.consonant-clusters-quiz h1,body.thai-modern-fonts-quiz h1,body.final-consonants-quiz h1,body.vowel-quiz h1{margin-bottom:var(--spacing-sm)}body.quiz-page.symbol-size-character{--symbol-font-size: 10em;--symbol-margin: 0;--symbol-font-weight: bold}body.consonant-quiz,body.vowel-quiz{--symbol-margin: 0;--symbol-font-weight: bold}button .emoji{font-size:1.5em;margin-right:.3em}.middle-class{border-color:var(--color-class-middle)!important;background-color:var(--color-class-middle)!important;color:#fff!important}.middle-class:hover{background-color:var(--color-class-middle-dark)!important;color:#fff!important;transform:translateY(-3px);box-shadow:0 10px 20px #27ae604d}.high-class{border-color:var(--color-class-high)!important;background-color:var(--color-class-high)!important;color:#fff!important}.high-class:hover{background-color:var(--color-class-high-dark)!important;color:#fff!important;transform:translateY(-3px);box-shadow:0 10px 20px #f39c124d}.low-class{border-color:var(--color-class-low)!important;background-color:var(--color-class-low)!important;color:#fff!important}.low-class:hover{background-color:var(--color-class-low-dark)!important;color:#fff!important;transform:translateY(-3px);box-shadow:0 10px 20px #3498db4d}.legend{display:flex;justify-content:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-sm);font-size:.9em;color:var(--color-text)}.legend-chips{gap:.8em;flex-wrap:wrap;margin-top:.6em}.class-chip{display:inline-flex;align-items:center;padding:.35em .7em;border-radius:9999px;font-weight:600;font-size:.95em;border:2px solid transparent;box-shadow:0 6px 12px #00000014}.class-chip.middle-class:hover,.class-chip.high-class:hover,.class-chip.low-class:hover{transform:none;box-shadow:0 6px 12px #0000001f}body.color-quiz{--symbol-text-shadow: 0 1px 1px rgba(0, 0, 0, .6), 0 0 4px rgba(0, 0, 0, .45)}.pro-tip{font-size:.95em;opacity:.95}.pro-tip small{opacity:.9}.vowel-note{margin-top:var(--spacing-xs);margin-bottom:.9em;font-size:.95em;color:#111111bf}body.vowel-quiz .options{min-width:240px}.filters{display:flex;flex-direction:column;gap:.8em;width:100%}.quiz-preferences select{padding:.45em .75em;border-radius:10px;border:1px solid rgba(0,0,0,.18);background:var(--color-bg);color:var(--color-text);font-size:.95em;min-width:160px}.quiz-preferences select:focus{outline:none;border-color:#00247d80;box-shadow:0 0 0 3px #00247d26}#quiz-search{padding:.9em var(--spacing-md);font-size:1em;border-radius:12px;border:1px solid rgba(0,0,0,.12);background:var(--color-bg);color:var(--color-text);outline:none;transition:all .2s ease;-webkit-backdrop-filter:none;backdrop-filter:none}#quiz-search::placeholder{color:#11111180}#quiz-search:focus{border-color:#00247d80;background:var(--color-surface-soft)}.chip-group{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;justify-content:center}.chip{padding:var(--spacing-sm) .9em;font-size:.95em;font-weight:500;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:none;backdrop-filter:none}.chip:hover{background:var(--color-surface-soft);transform:translateY(-1px)}.chip.active{background:#00247d14;border-color:#00247d80;color:var(--color-brand)}.chip[role=tab][aria-selected=true]{font-weight:700;background:#00247d14;border-color:#00247d80;color:var(--color-brand)}.empty{opacity:.9;background:var(--color-surface-soft);border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:var(--spacing-md) 1.2em}.quiz-preferences{margin:.8em auto .6em;display:flex;align-items:center;justify-content:center;gap:.6em;font-size:.95em}.quiz-preferences:empty{display:none}.quiz-preferences label{font-weight:600}@media(max-width:768px){body.home{--page-padding: var(--spacing-md)}body.home h1{font-size:2em}body.home .home-controls{padding:var(--spacing-md) 1.1em;gap:.75em}body.home .view-toggle{width:100%;max-width:500px;display:flex;justify-content:center;padding:var(--spacing-xs);gap:.2em}body.home .view-toggle .view-chip{flex:1 1 0;min-width:0;padding:.55em .7em;border-radius:18px;font-size:.95em;white-space:normal}body.home .view-toggle .view-chip+.view-chip{margin-left:0}body.home .quiz-container{flex-direction:column;align-items:center;gap:var(--spacing-lg)}body.home .quiz-card{min-width:280px;padding:var(--spacing-lg)}}@media(max-width:600px){body{--page-padding: .8em}body.quiz-page.symbol-size-character{--symbol-font-size: 7em}button{font-size:1.05em;padding:.8em}#keyboard-tip{display:none}body.consonant-quiz h1,body.consonant-clusters-quiz h1{font-size:1.5em;margin-bottom:.3em}body.consonant-quiz .legend,body.consonant-clusters-quiz .legend{gap:var(--spacing-md);margin-bottom:.3em;font-size:.8em;flex-wrap:wrap;justify-content:center}body.consonant-quiz .options,body.consonant-clusters-quiz .options{gap:.8em}body.consonant-quiz button,body.consonant-clusters-quiz button{font-size:1em;padding:.7em;min-height:3em}body.consonant-quiz button .emoji,body.consonant-clusters-quiz button .emoji{font-size:1.3em}body.consonant-quiz #feedback,body.consonant-clusters-quiz #feedback{font-size:1.2em;margin-top:.8em}body.consonant-quiz #nextBtn,body.consonant-clusters-quiz #nextBtn{margin-top:var(--spacing-lg)}body.consonant-quiz .stats,body.consonant-clusters-quiz .stats{font-size:.8em}.quiz-preferences{flex-direction:column;align-items:stretch}.quiz-preferences select{width:100%}}@media(max-width:400px){body.quiz-page.symbol-size-character{--symbol-font-size: 6em}body.consonant-quiz .legend,body.consonant-clusters-quiz .legend{flex-direction:column;gap:var(--spacing-sm)}body.consonant-quiz button,body.consonant-clusters-quiz button{font-size:.9em;padding:.6em}.player-card{padding:0}.player-hero{padding:var(--spacing-md) var(--spacing-md) var(--spacing-md)}.player-avatar-shell{width:160px;height:160px}.player-metrics{padding:.9em 1.3em .2em;gap:.6em}.metric{flex:1 1 60px;padding:var(--spacing-sm) var(--spacing-sm)}}body.auth-overlay-open{overflow:hidden}.btn-accent{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-width:120px;min-height:44px;padding:0 1.4em;border:none;border-radius:999px;background:linear-gradient(135deg,#a51931f2,#a51931d1);color:var(--color-bg);font-weight:700;letter-spacing:.01em;text-decoration:none;white-space:nowrap;cursor:pointer;box-shadow:0 16px 28px #a519312e;transition:background .2s ease,box-shadow .2s ease,transform .2s ease}.btn-accent:hover,.btn-accent:focus,.auth-actions .chip:hover,.auth-actions .chip:focus{background:linear-gradient(135deg,#a51931,#a51931f2);box-shadow:0 18px 32px #a519313d;color:var(--color-bg);transform:translateY(-1px)}.btn-accent:focus-visible,.auth-actions .chip:focus-visible{outline:3px solid rgba(165,25,49,.35);outline-offset:2px}.btn-accent[disabled],.btn-accent.is-disabled,.btn-accent[aria-disabled=true],.auth-actions .chip[disabled],.auth-actions .chip.is-busy{background:linear-gradient(135deg,#a51931a6,#a519318c);box-shadow:none;transform:translateY(0);box-shadow:0 8px 18px #dc354540;cursor:not-allowed}.auth-actions .chip-google{background:#fff;color:#3c4043;border:1px solid #dadce0;box-shadow:0 1px 3px #3c404326}.auth-actions .chip-google:hover,.auth-actions .chip-google:focus{background:#f8f9fa;box-shadow:0 2px 6px #3c404333;color:#3c4043}.auth-actions .chip-google[disabled]{background:#f1f3f4;color:#80868b;border-color:#dadce0;box-shadow:none}.auth-actions .chip-google .google-icon{flex-shrink:0}button .answer-result{display:block;margin-top:.35em;font-size:.85em;font-weight:600;opacity:.95}button .answer-result[data-result=correct]{color:var(--color-success-strong)}button .answer-result[data-result=incorrect]{color:#a51931}.streak-indicator{position:fixed;bottom:80px;right:24px;background:transparent;padding:0;border:none;box-shadow:none;z-index:1000;pointer-events:none;transition:opacity .3s ease,transform .3s ease;display:flex;align-items:center;justify-content:center;width:80px;height:80px}.streak-indicator.hidden{opacity:0;transform:translateY(10px)}.streak-flame{display:inline-block;font-size:5rem;animation:flamePulse 1.5s infinite ease-in-out;line-height:1;width:100%;text-align:center}.streak-count{position:absolute;top:85%;left:5%;width:100%;text-align:center;transform:translateY(-50%);color:var(--color-brand);font-family:var(--font-heading);font-weight:700;font-size:1rem;z-index:1;animation:textPulse 1.5s infinite ease-in-out}@keyframes flamePulse{0%{transform:scale(1);opacity:.9}50%{transform:scale(1.2);opacity:1;filter:drop-shadow(0 0 4px #e65100)}to{transform:scale(1);opacity:.9}}@keyframes textPulse{0%{transform:translateY(-50%) scale(1)}50%{transform:translateY(-50%) scale(1.2)}to{transform:translateY(-50%) scale(1)}}.fire-streak-wrap{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:20000}.fire-particle{position:absolute;bottom:-50px;opacity:0;transform:translateY(0) scale(1);animation:fireRise 3s ease-out forwards;will-change:transform,opacity;font-size:2rem;line-height:1}@keyframes fireRise{0%{opacity:0;transform:translateY(0) scale(.5) rotate(0)}5%{opacity:1}to{opacity:0;transform:translateY(-120vh) scale(1.5) rotate(var(--fire-rotate, 0deg))}}.star-streak-wrap{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:20001}.star-particle{position:absolute;bottom:-50px;opacity:0;transform:translateY(0) scale(1);animation:starRise 4s ease-out forwards;will-change:transform,opacity;font-size:2rem;line-height:1}@keyframes starRise{0%{opacity:0;transform:translateY(0) scale(.5) rotate(0)}10%{opacity:1}to{opacity:0;transform:translateY(-120vh) scale(1.5) rotate(var(--star-rotate, 0deg))}}.start-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .5s ease}.start-overlay[hidden]{display:none!important}.start-overlay.dismissing{opacity:0;pointer-events:none}.start-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xl);animation:fadeIn .8s ease-out}.start-welcome{font-family:"Press Start 2P",cursive;font-size:1.5rem;color:#fff;margin-bottom:2rem;letter-spacing:.1em;text-transform:uppercase;text-shadow:2px 2px 0 #000;animation:fadeIn .8s ease-out}.start-instruction{font-family:"Press Start 2P",cursive;font-size:.8rem;color:#fff;letter-spacing:.1em;text-transform:uppercase;text-shadow:1px 1px 0 #000;animation:fadeIn .8s ease-out .4s backwards;opacity:.9}.start-logo img{filter:drop-shadow(0 0 20px rgba(255,255,255,.2));max-width:80vw}.start-button{font-family:var(--font-heading);font-size:clamp(1.2rem,4vw,2rem);color:#fff;background:transparent;border:none;border-bottom:none;padding:1em 2em;cursor:pointer;text-transform:uppercase;animation:pressStartBlink 1.2s infinite;text-shadow:4px 4px 0px #000000;top:0}.start-button:hover,.start-button:focus{transform:scale(1.1);background:transparent;filter:none;animation:none;text-shadow:4px 4px 0px var(--color-accent)}.start-button:active{transform:scale(.95);top:0;box-shadow:none;border-bottom-width:0}@keyframes pressStartBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}body.highscores-page{background:var(--color-bg);color:var(--color-text);min-height:100vh;display:flex;flex-direction:column;position:relative;overflow-x:hidden}.highscores-content{width:100%;max-width:720px;margin:0 auto 2.5em;padding:0 var(--spacing-lg);box-sizing:border-box;position:relative;z-index:1}.highscores-hero{text-align:center;margin:2.8em auto 2.2em;max-width:600px}.highscores-hero h2{font-size:clamp(1.8em,3.6vw,2.4em);margin-bottom:.3em;font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase}.highscores-lead{font-size:1.05em;opacity:.85;margin-bottom:.8em}.user-rank-card{background:linear-gradient(135deg,#00247d14,#a519310f);border:1px solid rgba(0,36,125,.15);border-radius:16px;padding:1.2rem 1.5rem;margin-bottom:1.5rem;text-align:center}.user-rank-header{font-size:.85em;font-weight:600;color:#00247db3;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.3rem}.user-rank-position{font-family:var(--font-heading);font-size:clamp(2rem,8vw,3rem);color:var(--color-brand);font-weight:700}.user-rank-stats{display:flex;justify-content:center;gap:2rem;margin-top:.5rem;font-size:.9em;font-weight:600;color:#0009}.nearby-players{margin-top:1rem;border-top:1px solid rgba(0,0,0,.08);padding-top:1rem}.nearby-row{display:flex;justify-content:space-between;padding:.4rem .8rem;font-size:.9em;color:#00000080;border-radius:6px}.nearby-row.is-you{background:#00247d14;color:var(--color-brand);font-weight:600}.leaderboard-tabs-row{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1.5rem}.leaderboard-tabs-container{margin-bottom:0}.leaderboard-tabs{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap}.leaderboard-tab{font-size:.85em;font-weight:600;padding:.6rem 1.2rem;background:transparent;border:2px solid rgba(0,0,0,.1);border-radius:999px;color:#00000080;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.05em}.leaderboard-tab:hover{border-color:var(--color-brand);color:var(--color-brand)}.leaderboard-tab.active{background:var(--color-brand);border-color:var(--color-brand);color:#fff}.leaderboard-card{background:#ffffffeb;border-radius:18px;box-shadow:0 18px 44px #00000014;border:1px solid rgba(0,0,0,.06);overflow:hidden}.leaderboard-table{width:100%}.leaderboard-row{display:grid;grid-template-columns:60px 1fr 50px 80px 70px;gap:.5rem;padding:.85rem 1.2rem;align-items:center;border-bottom:1px solid rgba(0,0,0,.06);font-size:.95em}.leaderboard-row:last-child{border-bottom:none}.leaderboard-header{background:#00247d0a;font-size:.75em;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#00000080}.lb-rank{text-align:center;font-weight:700}.lb-name{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.lb-name-link{color:inherit;text-decoration:none}.lb-name-link:hover,.lb-name-link:focus{text-decoration:underline}.nearby-name-link{color:inherit;text-decoration:none}.nearby-name-link:hover,.nearby-name-link:focus{text-decoration:underline}.lb-level{text-align:center;color:var(--color-brand);font-weight:600}.lb-xp{text-align:right;color:#000000b3;font-weight:600}.lb-quests{text-align:right;color:var(--color-success);font-weight:600}.leaderboard-row.rank-gold{background:linear-gradient(90deg,rgba(255,215,0,.12) 0%,transparent 100%)}.leaderboard-row.rank-gold .lb-rank{color:#b8860b}.leaderboard-row.rank-silver{background:linear-gradient(90deg,rgba(192,192,192,.12) 0%,transparent 100%)}.leaderboard-row.rank-silver .lb-rank{color:#708090}.leaderboard-row.rank-bronze{background:linear-gradient(90deg,rgba(205,127,50,.12) 0%,transparent 100%)}.leaderboard-row.rank-bronze .lb-rank{color:#cd7f32}.leaderboard-row.current-user{background:#00247d14;border-left:3px solid var(--color-brand)}.leaderboard-loading{text-align:center;padding:3rem;color:#00000080}.leaderboard-error{color:var(--color-error);text-align:center;padding:2rem;background:#dc354514;border-radius:12px;margin:1rem}.leaderboard-empty{color:#00000080;text-align:center;padding:3rem;font-size:1em}.leaderboard-meta-container{padding:.8rem 1.2rem;border-top:1px solid rgba(0,0,0,.06)}.leaderboard-meta{display:flex;justify-content:space-between;font-size:.8em;color:#00000073}@media(max-width:600px){.leaderboard-row{grid-template-columns:45px 1fr 40px 65px;padding:.75rem 1rem;font-size:.85em}.lb-quests,.leaderboard-header .lb-quests{display:none}.user-rank-stats{gap:1rem;flex-wrap:wrap}.highscores-content{padding:0 var(--spacing-md)}}.review-mode-container{max-width:600px;margin:0 auto;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.review-header{display:flex;flex-direction:column;gap:var(--spacing-sm);background:#fffc;border-radius:16px;border:1px solid rgba(0,0,0,.08);box-shadow:0 12px 24px #0000000a;padding:1.25em var(--spacing-lg)}.review-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.review-back-btn{display:inline-flex;align-items:center;gap:.25em;padding:.4em 1em;border-radius:999px;background:linear-gradient(135deg,#a51931f2,#a51931d1);border:1px solid rgba(165,25,49,.4);color:#fff;font-weight:600;font-size:.8em;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #a5193126}.review-back-btn:hover{background:linear-gradient(135deg,#a51931,#a51931f2);box-shadow:0 6px 16px #a5193140;transform:translateY(-1px)}.review-title{flex:1;margin:0;font-size:1.3em;font-weight:800;color:var(--color-text);text-align:center}.review-shuffle-btn{display:inline-flex;align-items:center;gap:.25em;padding:.4em .8em;border-radius:999px;border:1px solid rgba(165,25,49,.25);background:#a519310d;color:#a51931;font-weight:600;font-size:.8em;cursor:pointer;transition:all .2s ease}.review-shuffle-btn:hover{background:#a519311a;border-color:#a5193166}.review-shuffle-btn.active{background:linear-gradient(135deg,#a51931f2,#a51931d1);border-color:#a5193166;color:#fff;box-shadow:0 4px 12px #a5193126}.review-progress{position:relative;text-align:center;font-weight:700;font-size:1.1em;color:var(--color-brand);padding:.6em 0}.review-progress:after{content:"";position:absolute;bottom:0;left:0;height:4px;width:var(--review-progress, 0%);background:linear-gradient(90deg,var(--color-brand),var(--color-accent));border-radius:999px;transition:width .3s ease}.review-card-container{display:flex;align-items:center;justify-content:center;perspective:1000px;padding:var(--spacing-md) 0}.review-card{width:100%;max-width:400px;height:280px;position:relative;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.34,1.56,.64,1);cursor:pointer;outline:none}.review-card:focus-visible{outline:3px solid var(--color-brand);outline-offset:4px;border-radius:20px}.review-card.is-flipped{transform:rotateY(180deg)}.review-card:hover:not(.is-flipped){transform:translateY(-4px) rotateX(2deg)}.review-card.is-flipped:hover{transform:rotateY(180deg) translateY(-4px) rotateX(-2deg)}.review-card-face{position:absolute;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-xl);border-radius:20px;box-shadow:0 12px 32px #0000001f;box-sizing:border-box}.review-card-front{background:linear-gradient(135deg,#ffffff 0%,var(--color-surface-soft) 100%);border:2px solid rgba(0,36,125,.15)}.review-card-back{background:linear-gradient(135deg,var(--color-surface-soft) 0%,#ffffff 100%);border:2px solid rgba(165,25,49,.15);transform:rotateY(180deg)}.review-card-emoji{font-size:2.5em}.review-card-thai{font-size:clamp(2em,8vw,3.2em);font-weight:700;color:var(--color-brand);text-align:center;line-height:1.2}.review-card-phonetic-hint{font-size:1.1em;font-style:italic;color:#00000080;text-align:center;margin-top:.5em}.review-card-phonetic{font-size:1.2em;font-style:italic;color:#0009;text-align:center}.review-card-translation{font-size:clamp(1.4em,5vw,1.8em);font-weight:700;color:var(--color-accent);text-align:center}.review-card-thai-ref{font-size:1em;color:#00000080;margin-top:var(--spacing-sm)}.review-card-meaning{font-size:clamp(1.4em,5vw,1.8em);font-weight:700;color:var(--color-primary);text-align:center}.review-card-meaning-ref{font-size:1em;color:#00000080;margin-top:var(--spacing-sm)}.review-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-sm);padding:var(--spacing-md);transition:opacity .3s ease,transform .3s ease}.review-buttons-simple{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.review-buttons-hidden{opacity:0;transform:translateY(10px);pointer-events:none}.review-btn{display:flex;flex-direction:column;align-items:center;gap:.2em;padding:.8em .5em;border-radius:12px;border:2px solid transparent;font-weight:700;cursor:pointer;transition:all .2s ease}.review-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.review-btn:active{transform:translateY(0)}.review-btn-label{font-size:.95em}.review-btn-key{font-size:.75em;opacity:.6;padding:.15em .4em;background:#00000014;border-radius:4px}.review-btn-again{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.review-btn-again:hover{background:#fecaca;border-color:#f87171}.review-btn-good{background:#dbeafe;border-color:#93c5fd;color:#1e40af}.review-btn-good:hover{background:#bfdbfe;border-color:#60a5fa}.review-hint{text-align:center;font-size:.85em;color:#00000080;padding:var(--spacing-sm)}.review-summary{max-width:500px;margin:0 auto;padding:var(--spacing-xl);text-align:center}.review-summary-heading{font-size:2em;font-weight:900;color:var(--color-brand);margin:0 0 var(--spacing-xl)}.review-summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.review-stat-item{padding:var(--spacing-md);background:var(--color-surface-soft);border-radius:12px}.review-stat-value{font-size:1.8em;font-weight:800;color:var(--color-brand)}.review-stat-label{font-size:.85em;color:#0009;margin-top:.3em}.review-breakdown{margin-bottom:var(--spacing-xl);text-align:left}.review-breakdown-title{font-size:1.1em;font-weight:700;margin:0 0 var(--spacing-md);color:var(--color-text)}.review-breakdown-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.review-breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:.6em 1em;border-radius:8px;font-weight:600}.review-breakdown-count{font-weight:800}.review-color-again{background:#fee2e2;color:#991b1b}.review-color-good{background:#d1fae5;color:#065f46}.review-summary-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.review-action-btn{padding:.8em 1.6em;border-radius:999px;font-weight:700;font-size:1em;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.review-action-restart{background:linear-gradient(135deg,#a51931f2,#a51931d1);color:var(--color-bg);box-shadow:0 12px 24px #a519312e}.review-action-restart:hover{background:linear-gradient(135deg,#a51931,#a51931f2);box-shadow:0 14px 28px #a5193140;transform:translateY(-2px)}.review-action-exit{background:#fff;color:#a51931;border:2px solid rgba(165,25,49,.4)}.review-action-exit:hover{background:#a519310a;border-color:#a51931cc;transform:translateY(-2px)}.quiz-chip-review-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:40px;padding:0 1.2em;border:none;border-radius:999px;background:linear-gradient(135deg,#a51931f2,#a51931d1);color:var(--color-bg);font-size:.9em;font-weight:700;letter-spacing:.01em;text-decoration:none;white-space:nowrap;cursor:pointer;box-shadow:0 8px 16px #a5193126;transition:all .2s ease;flex-shrink:0}.quiz-chip-review-btn:hover{background:linear-gradient(135deg,#a51931,#a51931f2);box-shadow:0 10px 20px #a5193138;transform:translateY(-1px)}.quiz-chip-review-btn:focus-visible{outline:3px solid rgba(165,25,49,.35);outline-offset:2px}@media(max-width:600px){.review-mode-container{padding:var(--spacing-md);gap:var(--spacing-md)}.review-header{padding:1em var(--spacing-md)}.review-title{font-size:1.1em}.review-shuffle-btn{font-size:.75em;padding:.35em .6em}.review-card{height:240px}.review-card-thai{font-size:clamp(1.6em,7vw,2.4em)}.review-buttons{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.review-summary-stats{grid-template-columns:1fr;gap:var(--spacing-sm)}.review-stat-item{display:flex;align-items:center;justify-content:space-between}.review-stat-value{font-size:1.4em}.review-stat-label{margin-top:0}.review-hint{display:none}}.arcade-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#000;animation:arcadeFadeIn .2s ease-out;cursor:pointer}.arcade-overlay--closing{animation:arcadeFadeOut .15s ease-in forwards}@keyframes arcadeFadeIn{0%{opacity:0}to{opacity:1}}@keyframes arcadeFadeOut{0%{opacity:1}to{opacity:0}}.arcade-screen{display:flex;flex-direction:column;align-items:center;padding:3em;font-family:"Press Start 2P",Courier New,monospace;text-transform:uppercase}.arcade-title{font-size:3em;font-weight:400;letter-spacing:.1em;background:linear-gradient(180deg,#ff6b35,#f7c843,#ffeb3b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.2em;text-shadow:none}.arcade-subtitle{font-size:1.4em;color:#5bcefa;letter-spacing:.15em;margin-bottom:1.5em}.arcade-header-row{font-size:1em;color:#5bcefa;letter-spacing:.1em;margin-bottom:1.2em;text-align:center}.arcade-list{display:flex;flex-direction:column;gap:.5em;margin-bottom:2.5em}.arcade-row{font-size:1.3em;color:#5bcefa;letter-spacing:.05em;min-height:1.5em}.arcade-text{font-variant-numeric:tabular-nums;white-space:pre}.arcade-credits{font-size:.9em;color:#fff;letter-spacing:.1em;opacity:0;transition:opacity .3s ease}.arcade-credits--visible{opacity:1;animation:blink 1.5s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.arcade-play-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--color-text-muted, #666);font-size:1.1em;cursor:pointer;transition:all .2s ease;flex-shrink:0}.arcade-play-btn:hover{background:#00000014;color:var(--color-text, #333)}.arcade-play-btn:focus-visible{outline:2px solid var(--color-brand, #00247d);outline-offset:2px}@media(max-width:600px){.arcade-screen{padding:2em 1em}.arcade-title{font-size:1.8em}.arcade-subtitle{font-size:.9em}.arcade-header-row{font-size:.7em}.arcade-row{font-size:.85em}.arcade-credits{font-size:.6em}.arcade-play-btn{width:32px;height:32px}}.offline-indicator{position:fixed;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5em;padding:.5em 1em;background:#111111e6;color:#fff;border-radius:999px;font-size:.85em;font-weight:600;box-shadow:0 4px 12px #00000026,0 2px 4px #0000001a;z-index:9999;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease,transform .25s ease}.offline-indicator[hidden]{display:none}.offline-indicator:not([hidden]){opacity:1;visibility:visible}.offline-indicator-icon{font-size:1.1em;line-height:1}.offline-indicator-text{white-space:nowrap}.offline-indicator.is-offline{background:linear-gradient(135deg,#dc3545f2,#a51931f2)}.offline-indicator.is-syncing{background:linear-gradient(135deg,#00247df2,#28a745f2)}.offline-indicator.is-syncing .offline-indicator-icon{animation:syncSpin 1s linear infinite}.offline-indicator.has-pending{background:linear-gradient(135deg,#f39c12f2,#e67e22f2)}@keyframes syncSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:480px){.offline-indicator{bottom:calc(env(safe-area-inset-bottom,0px) + 12px);font-size:.8em;padding:.45em .9em}}.metric-badge{cursor:pointer;position:relative;transition:all .2s ease}.metric-badge:hover,.metric-badge:focus{background:#00247d0f;transform:translateY(-2px)}.badge-value{display:flex;align-items:center;justify-content:center;gap:.35rem}.badge-icon{font-size:2.6em;line-height:1;display:flex;align-items:center;justify-content:center;min-width:56px;min-height:56px}.badge-icon-img{width:56px;height:56px;object-fit:contain;border-radius:4px}.badge-icon-none{font-size:.9em;min-width:auto;min-height:auto}.badge-name{font-size:.85em;font-weight:700;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-name[data-tier=bronze]{color:#cd7f32}.badge-name[data-tier=silver]{color:#708090}.badge-name[data-tier=gold]{color:#b8860b}@keyframes badgePulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}.achievements-modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:grid;place-items:center;z-index:10000;animation:achievementsOverlayFadeIn .2s ease;padding:var(--spacing-md)}.achievements-modal-overlay--closing{animation:achievementsOverlayFadeOut .18s ease forwards}.achievements-modal-overlay--closing .achievements-modal{animation:achievementsModalSlideOut .18s ease forwards}@keyframes achievementsOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes achievementsOverlayFadeOut{0%{opacity:1}to{opacity:0}}.achievements-modal{background:var(--color-bg);border-radius:20px;max-width:min(640px,95vw);max-height:85vh;width:100%;overflow:hidden;box-shadow:0 32px 64px #00000040,0 16px 32px #00247d1f;animation:achievementsModalSlideIn .3s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column}@keyframes achievementsModalSlideIn{0%{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes achievementsModalSlideOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.96) translateY(14px)}}.achievements-header{display:flex;align-items:center;justify-content:space-between;padding:1.25em 1.5em;border-bottom:1px solid rgba(0,0,0,.08);background:linear-gradient(135deg,#00247d0a,#a5193105)}.achievements-title{margin:0;font-size:1.4em;font-weight:800;color:var(--color-brand);display:flex;align-items:center;gap:.4em}.achievements-close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:#0000000f;color:#00000080;font-size:1.4em;line-height:1;cursor:pointer;transition:all .2s ease}.achievements-close-btn:hover{background:#a519311a;color:var(--color-accent)}.achievements-content{flex:1;overflow-y:auto;padding:1.25em}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.achievement-card{background:var(--color-surface-soft);border-radius:14px;padding:1.1em;text-align:center;border:2px solid transparent;transition:all .25s ease;position:relative}.achievement-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.achievement-card.locked{opacity:.55;filter:grayscale(.7)}.achievement-card.has-unlock{border-color:#00247d33}.achievement-card.tier-bronze{border-color:#cd7f3259}.achievement-card.tier-silver{border-color:#70809059}.achievement-card.tier-gold{border-color:#b8860b59;background:linear-gradient(135deg,rgba(255,215,0,.08) 0%,var(--color-surface-soft) 100%)}.achievement-image-container{width:64px;height:64px;margin:0 auto .6em;display:flex;align-items:center;justify-content:center}.achievement-image{max-width:100%;max-height:100%;object-fit:contain}.achievement-icon-fallback{font-size:2.5em;line-height:1}.achievement-name{font-size:.9em;font-weight:700;color:var(--color-text);margin-bottom:.5em;line-height:1.2}.achievement-description{font-size:.75em;color:#0009;line-height:1.3;margin-bottom:.6em}.tier-badges{display:flex;justify-content:center;gap:.4rem;margin-bottom:.6em}.tier-badge{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65em;font-weight:700;color:#fff;position:relative}.tier-badge.bronze{background:linear-gradient(135deg,#cd7f32,sienna);box-shadow:0 2px 6px #cd7f3266}.tier-badge.silver{background:linear-gradient(135deg,silver,#708090);box-shadow:0 2px 6px #c0c0c066}.tier-badge.gold{background:linear-gradient(135deg,gold,#b8860b);box-shadow:0 2px 6px #ffd70066}.tier-badge.locked{background:var(--color-muted, #d1d5db);box-shadow:none;opacity:.6}.tier-badge.unlocked:after{content:"✓";position:absolute;font-size:.9em}.achievement-progress{margin-top:.5em}.progress-bar{height:6px;background:#0000001a;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-brand),var(--color-accent));border-radius:3px;transition:width .4s ease}.progress-text{font-size:.7em;color:#00000080;margin-top:.3em;font-weight:600}.achievement-unlock-overlay{position:fixed;inset:0;background:#000000bf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:grid;place-items:center;z-index:10001;animation:achievementUnlockFadeIn .3s ease;padding:var(--spacing-lg)}@keyframes achievementUnlockFadeIn{0%{opacity:0}to{opacity:1}}.achievement-unlock-card{background:var(--color-bg);border:4px solid var(--color-accent);border-radius:0;padding:2em 2.5em;text-align:center;max-width:min(380px,90vw);box-shadow:0 -4px #111,0 4px #111,-4px 0 #111,4px 0 #111,inset 4px 4px #ffffff73,inset -4px -4px #00000026,12px 12px #0003;animation:achievementCardPop .5s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}@keyframes achievementCardPop{0%{opacity:0;transform:scale(.6) translateY(40px)}50%{transform:scale(1.05) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.achievement-unlock-heading{font-family:var(--font-heading);font-size:.8em;font-weight:800;text-transform:uppercase;color:var(--color-accent);margin-bottom:1.5em;text-shadow:2px 2px 0px rgba(0,0,0,.1)}.achievement-unlock-image-container{width:300px;height:300px;margin:0 auto 1em;display:flex;align-items:center;justify-content:center;animation:achievementIconBounce .6s ease .2s both}@keyframes achievementIconBounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.achievement-unlock-image{max-width:100%;max-height:100%;object-fit:contain}.achievement-unlock-icon{font-size:4em;line-height:1}.achievement-unlock-name{font-family:var(--font-heading);font-size:1.1em;font-weight:800;color:var(--color-brand);margin-bottom:.8em;line-height:1.4;text-shadow:2px 2px 0px rgba(0,0,0,.1)}.achievement-unlock-name.tier-bronze{color:#cd7f32}.achievement-unlock-name.tier-silver{color:#708090}.achievement-unlock-name.tier-gold{color:#b8860b;text-shadow:0 0 20px rgba(255,215,0,.4)}.achievement-unlock-tier{display:inline-block;padding:.5em 1.2em;border-radius:0;border:3px solid #111;font-family:var(--font-heading);font-size:.65em;font-weight:700;text-transform:uppercase;box-shadow:2px 2px #0000001a}.achievement-unlock-tier.bronze{background:linear-gradient(135deg,#cd7f32,sienna);color:#fff}.achievement-unlock-tier.silver{background:linear-gradient(135deg,silver,#708090);color:#fff}.achievement-unlock-tier.gold{background:linear-gradient(135deg,gold,#b8860b);color:#4a3500}.achievement-unlock-btn{display:inline-block;padding:1em 2.4em;border:4px solid #111;border-radius:0;background:var(--color-brand);color:#fff;font-family:var(--font-heading);font-size:.75em;font-weight:700;cursor:pointer;transition:all .1s;box-shadow:inset 2px 2px #ffffff4d,inset -2px -2px #0003,0 6px #00000026;text-transform:uppercase}.achievement-unlock-btn:hover{filter:brightness(1.1);transform:translateY(2px);box-shadow:inset 2px 2px #ffffff4d,inset -2px -2px #0003,0 4px #00000026}.achievement-unlock-overlay .timer{position:absolute;bottom:0;left:0;right:0;height:6px;background:#0003;border-top:2px solid #111}.achievement-unlock-overlay .timer-fill{height:100%;background:var(--color-accent);animation:timerCountdown var(--overlay-duration, 5s) linear forwards}@keyframes timerCountdown{0%{width:100%}to{width:0%}}@media(max-width:600px){.achievements-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.achievement-card{padding:.9em}.achievement-image-container{width:52px;height:52px}.achievement-name{font-size:.8em}.tier-badge{width:20px;height:20px;font-size:.6em}.achievement-unlock-card{padding:1.5em 1.8em}.achievement-unlock-image-container{width:250px;height:250px}.achievement-unlock-name{font-size:1.25em}}body.achievements-page{background:var(--color-bg);color:var(--color-text);min-height:100vh;display:flex;flex-direction:column;position:relative;overflow-x:hidden}.achievements-content{width:100%;max-width:960px;margin:0 auto 2.5em;padding:0 var(--spacing-lg);box-sizing:border-box;position:relative;z-index:1;flex:1}.achievements-hero{text-align:center;margin:2.8em auto 2.2em;max-width:720px}.achievements-hero h2{font-size:clamp(1.4em,4.5vw,2.5em);margin-bottom:.25em;font-family:var(--font-heading);letter-spacing:.04em;text-transform:uppercase;color:var(--color-brand);text-shadow:0 4px 12px rgba(0,36,125,.1);line-height:1.3}.achievements-lead{font-size:1.05em;opacity:.85;margin-bottom:.8em}.achievements-summary{display:flex;justify-content:center;gap:1.5em;flex-wrap:wrap;margin-bottom:2.5em;padding:1.5em;background:#fffc;border-radius:16px;box-shadow:0 8px 24px #0000000f}.summary-stat{text-align:center;padding:.5em 1.5em}.summary-stat-value{display:block;font-size:2em;font-weight:800;font-family:var(--font-heading);color:var(--color-brand);line-height:1.2}.summary-stat-label{display:block;font-size:.85em;font-weight:600;color:#0009;margin-top:.25em}.summary-stat.summary-bronze .summary-stat-value{color:#cd7f32}.summary-stat.summary-silver .summary-stat-value{color:#708090}.summary-stat.summary-gold .summary-stat-value{color:#b8860b}.achievements-section{margin-bottom:2em}.achievements-section-title{font-size:1.25em;font-weight:700;color:var(--color-brand);margin-bottom:1em;padding-bottom:.5em;border-bottom:2px solid rgba(0,36,125,.1)}.achievements-page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem}.achievements-loading,.achievements-error{text-align:center;padding:3em 1em;color:#00000080;font-weight:600;grid-column:1 / -1}.achievements-error{color:var(--color-accent)}.achievement-page-card{background:#fffffff2;border-radius:16px;padding:1.25em;text-align:center;border:2px solid transparent;transition:all .25s ease;position:relative;box-shadow:0 8px 20px #0000000d}.achievement-page-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px #0000001a}.achievement-page-card.locked{opacity:.55;filter:grayscale(.7)}.achievement-page-card.tier-bronze{border-color:#cd7f3259}.achievement-page-card.tier-silver{border-color:#70809059}.achievement-page-card.tier-gold{border-color:#b8860b59;background:linear-gradient(135deg,#ffd70014,#fffffff2)}.achievement-page-image-container{width:144px;height:144px;margin:0 auto .75em;display:flex;align-items:center;justify-content:center}.achievement-page-image{max-width:100%;max-height:100%;object-fit:contain}.achievement-page-icon-fallback{font-size:3em;line-height:1}.achievement-page-content{display:flex;flex-direction:column;gap:.5em}.achievement-page-title{font-size:1em;font-weight:700;color:var(--color-text);line-height:1.3}.achievement-page-description{font-size:.8em;color:#0000008c;line-height:1.4}.achievement-page-tier-badges{display:flex;justify-content:center;gap:.5rem;margin:.25em 0}.achievement-page-tier-badge{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7em;font-weight:700;color:#fff;transition:transform .2s ease}.achievement-page-tier-badge:hover{transform:scale(1.1)}.achievement-page-tier-badge.bronze{background:linear-gradient(135deg,#cd7f32,sienna);box-shadow:0 2px 8px #cd7f3266}.achievement-page-tier-badge.silver{background:linear-gradient(135deg,silver,#708090);box-shadow:0 2px 8px #c0c0c066}.achievement-page-tier-badge.gold{background:linear-gradient(135deg,gold,#b8860b);box-shadow:0 2px 8px #ffd70066}.achievement-page-tier-badge.locked{background:var(--color-muted, #d1d5db);box-shadow:none;opacity:.5}.achievement-page-tier-badge.unlocked{font-size:.85em}.achievement-page-progress{margin-top:.5em}.achievement-page-progress-bar{height:6px;background:#0000001a;border-radius:3px;overflow:hidden}.achievement-page-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-brand),var(--color-accent));border-radius:3px;transition:width .4s ease}.achievement-page-progress-text{font-size:.75em;color:#00000080;margin-top:.35em;font-weight:600}@media(max-width:768px){.achievements-page-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.achievement-page-card{padding:1em}.achievement-page-image-container{width:120px;height:120px}.achievement-page-title{font-size:.9em}.achievements-summary{gap:1em;padding:1em}.summary-stat{padding:.5em 1em}.summary-stat-value{font-size:1.6em}body.achievements-page .app-bar{padding:.5em 1em}body.achievements-page .brand-logo{width:40px;height:40px}}@media(max-width:480px){.achievements-page-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.achievement-page-card{padding:.85em}.achievement-page-image-container{width:96px;height:96px}.achievement-page-title{font-size:.8em}.achievement-page-tier-badge{width:22px;height:22px;font-size:.6em}.achievements-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75em;justify-items:center}.summary-stat{width:100%;padding:.5em .25em}.summary-stat-value{font-size:1.4em}.summary-stat-label{font-size:.75em}}
