:root{--font-display:"Fredoka", "Nunito", system-ui, sans-serif;--font-body:"Nunito", system-ui, sans-serif;--radius-btn:18px;--touch-min:56px;--shadow-soft:0 10px 30px #0000001f;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:clamp(1.05rem, .95rem + .4vw, 1.25rem);--text-xl:clamp(1.25rem, 1.05rem + .8vw, 1.6rem);--text-title:clamp(1.15rem, 1rem + 1vw, 1.7rem);--text-display:clamp(2rem, 1.4rem + 3vw, 3.75rem);--text-problem:clamp(1.75rem, 1.4rem + 2vw, 2.6rem);--text-answer:clamp(1.75rem, 1.5rem + 1.5vw, 2.2rem);--text-pad:clamp(1.2rem, 1.05rem + .6vw, 1.45rem);--spring-snappy:cubic-bezier(.34, 1.56, .64, 1);--spring-soft:cubic-bezier(.22, 1.2, .36, 1);--spring-snappy-time:.42s;--spring-soft-time:.56s}@supports (transition-timing-function:linear(0, 1)){:root{--spring-snappy:linear(0, .006, .025 2.8%, .101 6.1%, .539 18.9%, .721 25.3%, .849 31.5%, .937 38.1%, .979 45%, .998 53.1%, 1);--spring-soft:linear(0, .004, .016, .035, .063, .098, .141, .191, .249, .313, .383, .457, .535, .615, .697, .778, .857, .932, 1)}}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}button,input,select,textarea{font:inherit;font-size:1rem}a{color:inherit;text-decoration:none}@media (width<=550px){.streak-label,.cta-kicker,.typing-stat span,.care-label,.race-lap,.pet-chip{font-size:var(--text-sm)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:#0f1c18}.char-sprite{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 6px 10px #0000002e);will-change:transform;display:block}.char-motion-bob{animation:2.4s ease-in-out infinite charBob}.char-motion-drive{transform-origin:50% 85%;animation:.55s ease-in-out infinite charDrive}.char-motion-sway{transform-origin:50% 90%;animation:2.8s ease-in-out infinite charSway}.char-motion-hop{animation:charHop 1.8s var(--spring-soft,ease-in-out) infinite}.char-sprite.is-celebrate{animation:charCelebrate var(--spring-snappy-time,.42s) var(--spring-snappy,ease-out)}@keyframes charBob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes charDrive{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-3px)rotate(2deg)}}@keyframes charSway{0%,to{transform:rotate(-4deg)translateY(0)}50%{transform:rotate(5deg)translateY(-4px)}}@keyframes charHop{0%,to{transform:translateY(0)scale(1)}40%{transform:translateY(-10px)scale(1.04)}60%{transform:translateY(-2px)scale(.98)}}@keyframes charCelebrate{0%{transform:scale(.9)translateY(4px)rotate(-4deg)}45%{transform:scale(1.14)translateY(-12px)rotate(4deg)}to{transform:scale(1)translateY(0)rotate(0)}}@media (prefers-reduced-motion:reduce){.char-motion-bob,.char-motion-drive,.char-motion-sway,.char-motion-hop,.char-sprite.is-celebrate{animation:none}}.home-shell{color:#1f2a24;background:linear-gradient(135deg,#1a3a4a 0%,#2d6a4f 42%,#d4a373 100%);place-items:center;min-height:100dvh;padding:1.5rem;display:grid;position:relative;overflow:hidden}.home-glow{pointer-events:none;background:radial-gradient(circle at 30% 40%,#ffd67859,#0000 40%),radial-gradient(circle at 75% 30%,#ff8cb447,#0000 35%);animation:7s ease-in-out infinite alternate homePulse;position:absolute;inset:-20%}.home-composition{z-index:1;text-align:center;width:min(100%,720px);animation:homeEnter .7s var(--spring-soft,ease-out) both;position:relative}.home-brand{font-family:var(--font-display);font-size:var(--text-display);letter-spacing:-.02em;color:#fff8e7;text-shadow:0 4px 24px #00000040;margin:0 0 .35rem;font-weight:700}.home-headline{font-family:var(--font-display);font-size:var(--text-title);color:#f0fff4;margin:0;font-weight:600}.home-sub{color:#ffffffe0;max-width:34ch;font-size:var(--text-md);margin:.65rem auto 1.75rem;line-height:1.45}.home-fox-banner{color:#fff8e7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff2e;border-radius:999px;align-items:center;gap:.65rem;margin:0 auto 1.35rem;padding:.35rem .85rem .35rem .35rem;font-size:.9rem;font-weight:700;display:inline-flex}.home-actions{gap:1rem;display:grid}@media (width>=720px){.home-actions{grid-template-columns:1fr 1fr}.typing-cta{grid-column:1/-1}}.home-cta{text-align:left;min-height:180px;transition:transform var(--spring-snappy-time) var(--spring-snappy), box-shadow .2s ease;box-shadow:var(--shadow-soft);border-radius:24px;flex-direction:column;align-items:flex-start;gap:.35rem;padding:1.15rem 1.2rem;display:flex}.cta-art{align-self:center;margin-bottom:.25rem}.cta-art-pets{align-items:flex-end;gap:.15rem;display:flex}.cta-art-keyboard{place-items:center;display:grid}.home-keyboard{filter:drop-shadow(0 6px #0000001f);animation:2.4s ease-in-out infinite keyboardBounce;display:block}.home-key{transform-box:fill-box;transform-origin:50%}.typing-cta:hover .home-keyboard,.typing-cta:focus-visible .home-keyboard{animation:keyboardPop .42s var(--spring-snappy,ease-out)}@keyframes keyboardBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes keyboardPop{0%{transform:scale(.94)rotate(-2deg)}50%{transform:scale(1.06)rotate(2deg)}to{transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.home-keyboard{animation:none}}.home-cta:hover,.home-cta:focus-visible{outline:none;transform:translateY(-4px)scale(1.02)}.race-cta{color:#1b2430;background:linear-gradient(160deg,#ffb347 0%,#ff7a18 100%)}.academy-cta{color:#3d2548;background:linear-gradient(160deg,#ffb6d9 0%,#c9a0ff 100%)}.typing-cta{color:#083344;background:linear-gradient(160deg,#5eead4 0%,#2a9d8f 100%);min-height:140px}.cta-kicker{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;opacity:.75;font-weight:700}.cta-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;line-height:1.2}.cta-copy{font-size:var(--text-sm);opacity:.9}@keyframes homeEnter{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes homePulse{0%{transform:scale(1)}to{transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.home-glow,.home-composition{animation:none}}.music-toggle{font-weight:700;font-size:var(--text-sm);cursor:pointer;white-space:nowrap;background:#ffffffbf;border:none;border-radius:999px;padding:.45rem .85rem}.music-toggle[aria-pressed=false]{opacity:.72}.game-header{z-index:1;justify-content:space-between;align-items:center;gap:.75rem;width:min(100%,720px);display:flex}.game-header-title{font-family:var(--font-display);font-size:var(--text-title);text-align:center;margin:0}.game-header-back,.game-header-reset{font-weight:700;font-size:var(--text-sm);cursor:pointer;background:#ffffffbf;border:none;border-radius:999px;padding:.45rem .85rem}.game-header-actions{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.burst-layer{z-index:1;position:absolute;inset:0;overflow:visible;pointer-events:none!important}.burst-layer *{pointer-events:none!important}.burst-particle{width:var(--size);height:var(--size);margin-left:calc(var(--size) / -2);margin-top:calc(var(--size) / -2);background:hsl(var(--hue) 90% 62%);box-shadow:0 0 12px hsl(var(--hue) 90% 70% / .7);opacity:1;animation-name:flingAway;animation-timing-function:var(--spring-soft,ease-out);border-radius:40% 60% 55% 45%;animation-fill-mode:forwards;position:absolute;top:45%;left:50%}@keyframes flingAway{to{transform:translate(calc(cos(var(--angle)) * var(--distance)), calc(sin(var(--angle)) * var(--distance)));opacity:0}}.score-pop{font-family:var(--font-display);font-size:var(--text-xl);color:var(--accent,#f5c542);text-shadow:0 2px #0003;animation:scorePop var(--spring-soft-time,.56s) var(--spring-snappy,ease-out) forwards;pointer-events:none;z-index:6;font-weight:700;position:absolute;top:18%;left:50%;transform:translate(-50%)}@keyframes scorePop{0%{opacity:0;transform:translate(-50%,12px)scale(.6)}40%{opacity:1;transform:translate(-50%,-4px)scale(1.15)}to{opacity:0;transform:translate(-50%,-36px)scale(1)}}.number-pad{z-index:10;touch-action:manipulation;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;width:min(100%,320px);display:grid;position:relative}.pad-key{z-index:10;min-height:var(--touch-min);border-radius:var(--radius-btn);background:color-mix(in srgb, var(--panel,#fff) 92%, #000 8%);color:var(--ink,#1a1a1a);font-family:var(--font-display);font-size:var(--text-pad);cursor:pointer;box-shadow:0 4px 0 color-mix(in srgb, var(--ink,#1a1a1a) 18%, transparent);transition:transform var(--spring-snappy-time) var(--spring-snappy), box-shadow .16s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;border:none;font-weight:700;position:relative}.pad-key:active:not(:disabled){box-shadow:0 1px 0 color-mix(in srgb, var(--ink,#1a1a1a) 18%, transparent);transform:translateY(3px)scale(.97)}.pad-go{background:var(--accent,#2ecc71);color:#fff}.pad-clear{font-size:var(--text-lg)}.pad-key:disabled{opacity:.55;cursor:not-allowed}.problem-panel{z-index:2;text-align:center;width:min(100%,420px);padding:1.25rem 1rem 1rem;position:relative}.problem-prompt{font-family:var(--font-display);font-size:var(--text-problem);margin:0 0 .75rem;font-weight:700;line-height:1.15}.problem-prompt-visual{flex-wrap:wrap;justify-content:center;align-items:center;gap:.45rem .55rem;min-height:2.6rem;display:flex}.prompt-icons{flex-wrap:wrap;justify-content:center;align-items:center;gap:.12rem;max-width:11rem;display:inline-flex}.prompt-icon{object-fit:contain;filter:drop-shadow(0 2px 3px #0000001f);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:28px;height:28px;animation:iconPop .42s var(--spring-snappy,ease-out) both}.prompt-icon:nth-child(2){animation-delay:40ms}.prompt-icon:nth-child(3){animation-delay:80ms}.prompt-icon:nth-child(4){animation-delay:.12s}.prompt-icon:nth-child(5){animation-delay:.16s}.prompt-icon:nth-child(6){animation-delay:.2s}.prompt-icon:nth-child(7){animation-delay:.24s}.prompt-op{padding:0 .1rem;font-size:clamp(1.6rem,5vw,2.2rem);font-weight:700;line-height:1}@keyframes iconPop{0%{opacity:0;transform:scale(.6)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){.prompt-icon{animation:none}}.problem-answer-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.problem-answer{text-align:center;width:100%;min-height:3.2rem;font-family:var(--font-display);font-size:var(--text-answer);letter-spacing:.04em;background:color-mix(in srgb, var(--panel,#fff) 85%, transparent);border:3px solid color-mix(in srgb, var(--accent,#888) 55%, transparent);color:inherit;transition:transform var(--spring-snappy-time) var(--spring-snappy), border-color .2s ease, background .2s ease;border-radius:16px;outline:none;place-items:center;font-weight:700;display:grid}.problem-answer:focus-visible{border-color:var(--accent,#888);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent,#888) 35%, transparent)}.problem-answer:disabled{opacity:.85}.feedback-correct .problem-answer{background:color-mix(in srgb, #2ecc71 20%, var(--panel,#fff));animation:answerPop var(--spring-snappy-time) var(--spring-snappy);border-color:#2ecc71}.feedback-wrong .problem-answer{border-color:#e67e22;animation:.42s answerShake}.problem-hint{font-size:var(--text-md);opacity:.9;margin:.85rem 0 0}@keyframes answerPop{0%{transform:scale(.92)}50%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes answerShake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.streak-bar{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;width:min(100%,520px);display:grid}.streak-stat{background:color-mix(in srgb, var(--panel,#fff) 88%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;flex-direction:column;align-items:center;gap:.15rem;padding:.55rem .35rem;display:flex}.streak-label{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;opacity:.7}.streak-stat strong{font-family:var(--font-display);font-size:var(--text-lg)}@media (width<=480px){.streak-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}.race-shell{--ink:#1b2430;--panel:#fff7e8;--accent:#f39c12;min-height:100dvh;color:var(--ink);background:radial-gradient(80% 50% at 50% -10%,#ffd27a 0%,#0000 55%),linear-gradient(#4aa3df 0%,#7ec8f0 35%,#8fd68b 70%,#5f9e4e 100%);flex-direction:column;align-items:center;gap:1rem;padding:1rem 1rem 2rem;display:flex;position:relative;overflow:hidden}.race-sky{pointer-events:none;background-image:repeating-linear-gradient(-12deg,#0000,#0000 18px,#ffffff0d 18px 20px);position:absolute;inset:0}.race-top{z-index:1;justify-content:space-between;align-items:center;gap:.75rem;width:min(100%,720px);display:flex}.race-title{font-family:var(--font-display);text-align:center;margin:0;font-size:clamp(1.2rem,4vw,1.7rem)}.race-back,.race-reset{cursor:pointer;background:#ffffffbf;border:none;border-radius:999px;padding:.45rem .85rem;font-weight:700}.race-actions{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.race-stage{z-index:1;grid-template-columns:auto 1fr auto;align-items:end;gap:.65rem;width:min(100%,640px);display:grid}.race-fox-cheer{flex-direction:column;align-items:center;gap:.15rem;margin-bottom:.4rem;display:flex}.race-fox-label{opacity:.75;font-size:.7rem;font-weight:700}.race-track{min-width:0}.race-road{background:repeating-linear-gradient(90deg,#2c3e50 0 18px,#34495e 18px 36px);border:3px solid #f5f5f5;border-radius:999px;height:78px;position:relative;overflow:hidden;box-shadow:inset 0 -8px #00000026}.race-road.is-boost{box-shadow:inset 0 -8px #00000026,0 0 0 3px #ffd65a8c}.race-dash{opacity:.85;background:repeating-linear-gradient(90deg,#f1c40f 0 18px,#0000 18px 34px);height:4px;margin-top:-2px;animation:.7s linear infinite dashScroll;position:absolute;inset:50% 0 auto}.race-car{transition:left var(--spring-soft-time) var(--spring-soft);z-index:2;position:absolute;top:50%;transform:translate(-50%,-55%)}.race-car-art{width:88px!important;height:88px!important}.race-nitro{filter:blur(1px);pointer-events:none;background:linear-gradient(90deg,#0000,#ff9f1a,#ffe66d);border-radius:999px;width:28px;height:12px;animation:.45s ease-out infinite nitroPulse;position:absolute;top:55%;left:-10px}.race-lap{text-align:center;opacity:.85;margin:.35rem 0 0;font-size:.85rem}.race-badges{flex-direction:column;gap:.35rem;margin-bottom:.5rem;display:flex}.race-badge{opacity:.28;filter:grayscale(.6);transition:opacity .28s ease, filter .28s ease, transform var(--spring-snappy-time) var(--spring-snappy)}.race-badge.is-earned{opacity:1;filter:none;animation:badgePop var(--spring-snappy-time) var(--spring-snappy)}.race-play{z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:min(100%,420px);box-shadow:var(--shadow-soft);background:#fff7e8b8;border-radius:28px;flex-direction:column;align-items:center;gap:1rem;padding:1rem;display:flex;position:relative}.race-banner{text-align:center;color:#1b5e20;margin:0;font-weight:700}@keyframes dashScroll{to{background-position:34px 0}}@keyframes nitroPulse{0%{opacity:.3;transform:translateY(-50%)scaleX(.6)}to{opacity:1;transform:translateY(-50%)scaleX(1.2)}}@keyframes badgePop{0%{transform:scale(.7)}55%{transform:scale(1.18)}to{transform:scale(1)}}@media (width<=560px){.race-stage{grid-template-columns:1fr;justify-items:center}.race-fox-cheer{flex-direction:row;gap:.5rem;margin-bottom:0}.race-track{width:100%}.race-badges{flex-direction:row}.race-car-art{width:72px!important;height:72px!important}}@media (prefers-reduced-motion:reduce){.race-dash,.race-nitro,.race-badge.is-earned{animation:none}}.academy-shell{--ink:#4a3040;--panel:#fff5fa;--accent:#ff6fab;min-height:100dvh;color:var(--ink);background:radial-gradient(circle at 15% 20%,#ffd6ef 0%,#0000 40%),radial-gradient(circle at 85% 10%,#d6f3ff 0%,#0000 35%),linear-gradient(165deg,#ffe9f5 0%,#f3e8ff 45%,#e8f7ff 100%);flex-direction:column;align-items:center;gap:1rem;padding:1rem 1rem 2rem;display:flex;position:relative;overflow:hidden}.academy-sparkles{pointer-events:none;opacity:.7;background-image:radial-gradient(circle at 20% 30%,#fff 0 2px,#0000 3px),radial-gradient(circle at 70% 20%,#fff 0 2px,#0000 3px),radial-gradient(circle at 40% 70%,#fff8 0 2px,#0000 3px),radial-gradient(circle at 80% 60%,#fff 0 1.5px,#0000 2.5px);animation:8s linear infinite sparkleDrift;position:absolute;inset:0}.academy-top{z-index:1;justify-content:space-between;align-items:center;gap:.75rem;width:min(100%,720px);display:flex}.academy-title{font-family:var(--font-display);text-align:center;margin:0;font-size:clamp(1.05rem,3.6vw,1.55rem)}.academy-back,.academy-reset{cursor:pointer;background:#fffc;border:none;border-radius:999px;padding:.45rem .85rem;font-weight:700}.academy-actions{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.academy-care{z-index:1;flex-direction:column;align-items:center;gap:.55rem;width:min(100%,420px);display:flex}.academy-friends{justify-content:center;align-items:flex-end;gap:.75rem;width:100%;display:flex}.academy-fox-side{flex-direction:column;align-items:center;gap:.2rem;margin-bottom:.5rem;display:flex}.academy-hero-pet{flex-direction:column;align-items:center;gap:.25rem;display:flex;position:relative}.academy-hero-pet.is-happy:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffd67873,#0000 70%);border-radius:50%;height:40%;animation:.9s ease-out heartGlow;position:absolute;inset:8% 10% auto}.academy-hero-art{width:140px!important;height:140px!important}.pet-chip{opacity:.78;font-size:.72rem;font-weight:700}.pet-chip-hero{color:#9b2d5b;font-size:.85rem}.academy-pet-row{justify-content:center;gap:.55rem;width:100%;display:flex}.academy-pet-slot{opacity:.4;filter:grayscale(.5);transition:opacity .24s ease, filter .24s ease, transform var(--spring-snappy-time) var(--spring-snappy), background .24s ease;background:#ffffff73;border-radius:18px;flex-direction:column;flex:1;align-items:center;gap:.2rem;padding:.4rem .35rem;font-size:.72rem;font-weight:700;display:flex}.academy-pet-slot.is-unlocked{opacity:.85;filter:none}.academy-pet-slot.is-active{opacity:1;background:#ffffffd9;transform:translateY(-3px)scale(1.04);box-shadow:0 8px 18px #ff6fab38}.care-meter{background:#ffffffa6;border:2px solid #ffb3d4;border-radius:999px;width:min(240px,70vw);height:14px;overflow:hidden}.care-fill{height:100%;transition:width var(--spring-soft-time) var(--spring-soft);background:linear-gradient(90deg,#ff8ec8,#ffd36e)}.care-label{opacity:.8;margin:0;font-size:.85rem}.academy-play{z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:min(100%,420px);box-shadow:var(--shadow-soft);background:#fff5fac7;border-radius:28px;flex-direction:column;align-items:center;gap:1rem;padding:1rem;display:flex;position:relative}.academy-banner{text-align:center;color:#9b2d5b;margin:0;font-weight:700}@keyframes sparkleDrift{0%{transform:translateY(0)}to{transform:translateY(-24px)}}@keyframes heartGlow{0%{opacity:0;transform:scale(.6)}40%{opacity:1}to{opacity:0;transform:scale(1.35)}}@media (prefers-reduced-motion:reduce){.academy-sparkles,.academy-hero-pet.is-happy:after{animation:none}}.typing-shell{--ink:#1a2f38;--panel:#e8f7ff;--accent:#3db8a0;height:100dvh;min-height:100dvh;color:var(--ink);background:radial-gradient(70% 40% at 50% 0,#7ed6c2 0%,#0000 55%),linear-gradient(#2a6f7a 0%,#4a9a8c 40%,#c8e86c 100%);flex-direction:column;align-items:center;gap:.5rem;padding:.65rem 1rem .75rem;display:flex;position:relative;overflow:hidden}.typing-sky{pointer-events:none;opacity:.55;background-image:radial-gradient(circle at 20% 18%,#fff 0 2px,#0000 3px),radial-gradient(circle at 70% 12%,#fff 0 2px,#0000 3px),radial-gradient(circle at 45% 8%,#fff8 0 1.5px,#0000 2.5px);position:absolute;inset:0}.typing-top{z-index:2;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;width:min(100%,1100px);display:flex}.typing-title{font-family:var(--font-display);text-align:center;color:#f4fff8;margin:0;font-size:clamp(1.15rem,4vw,1.65rem)}.typing-back,.typing-reset{cursor:pointer;background:#fffc;border:none;border-radius:999px;padding:.45rem .85rem;font-weight:700}.typing-actions{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.typing-hud{z-index:2;flex-shrink:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;width:min(100%,720px);display:grid}.typing-stat{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffb8;border-radius:14px;flex-direction:column;align-items:center;gap:.1rem;padding:.5rem .3rem;display:flex}.typing-stat span{letter-spacing:.04em;text-transform:uppercase;opacity:.7;font-size:.68rem}.typing-stat strong{font-family:var(--font-display);font-size:1.15rem}.typing-lives strong{letter-spacing:.08em;color:#e74c3c}.typing-meta{z-index:2;color:#f4fff8;background:#ffffff59;border-radius:18px;flex-shrink:0;align-items:center;gap:.75rem;width:min(100%,720px);padding:.25rem .75rem;font-size:.85rem;font-weight:600;display:flex}.typing-meta p{margin:0;line-height:1.35}.typing-arena{z-index:2;width:min(100%,1100px);height:auto;min-height:0;box-shadow:var(--shadow-soft);background:linear-gradient(#c8f0ff8c 0%,#ffffff80 70%),repeating-linear-gradient(90deg,#0000,#0000 28px,#ffffff14 28px 29px);border:3px solid #ffffff8c;border-radius:28px;flex:auto;position:relative;overflow:hidden}.typing-ground{pointer-events:none;background:linear-gradient(#0000,#508c468c);height:10%;position:absolute;bottom:0;left:0;right:0}.falling-word{font-family:var(--font-display);letter-spacing:.04em;white-space:nowrap;background:#fff8e7;border:3px solid #3db8a0;border-radius:14px;padding:.45rem .75rem;font-size:clamp(1.15rem,3.5vw,1.55rem);font-weight:700;transition:border-color .12s,transform .12s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 6px #0000001f}.falling-word.is-active{z-index:3;border-color:#f39c12;transform:translate(-50%,-50%)scale(1.08)}.fw-matched{color:#2ecc71}.fw-rest{color:var(--ink)}.typing-start{text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff8c;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem;display:flex;position:absolute;inset:0}.typing-start h2{font-family:var(--font-display);margin:0;font-size:1.8rem}.typing-start p{max-width:36ch;margin:0;line-height:1.45}.typing-start-btn{font-family:var(--font-display);color:#083344;cursor:pointer;transition:transform var(--spring-snappy-time) var(--spring-snappy);background:linear-gradient(160deg,#5eead4,#3db8a0);border:none;border-radius:999px;margin-top:.5rem;padding:.85rem 1.6rem;font-size:1.2rem;font-weight:700;box-shadow:0 6px #00000026}.typing-start-btn:active{transform:translateY(3px)}.typing-banner{z-index:2;text-align:center;color:#f4fff8;text-shadow:0 1px 2px #00000040;flex-shrink:0;margin:0;font-weight:700}.typing-tip{z-index:2;color:#ffffffe0;text-align:center;flex-shrink:0;margin:0;font-size:.9rem}@media (width<=520px){.typing-hud{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.falling-word.is-active{transform:translate(-50%,-50%)}}
