:root{--ink: #14201c;--paper: #f4f7f5;--mist: #d7e4de;--sea: #1f6f5b;--sea-deep: #145244;--sand: #e8efe9;--muted: #5a6f66;--danger: #9b3d3d;--radius: 14px;--font: "DM Sans", system-ui, sans-serif;--display: "Fraunces", Georgia, serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%;overflow-x:clip}body{font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.5;-webkit-font-smoothing:antialiased}.shell{position:relative;min-height:100dvh;display:grid;place-items:center;padding:clamp(1rem,4vw,2.5rem);overflow:hidden}.shell-game{place-items:stretch;align-content:stretch;padding:clamp(.75rem,2.5vw,1.5rem)}.shell-home{place-items:stretch;padding:0;overflow:hidden}.shell-home .atmosphere{background:radial-gradient(ellipse 70% 50% at 15% 20%,rgba(61,154,122,.22),transparent 58%),radial-gradient(ellipse 55% 45% at 88% 12%,rgba(31,111,91,.14),transparent 55%),radial-gradient(ellipse 65% 50% at 70% 85%,rgba(20,82,68,.16),transparent 58%),radial-gradient(ellipse 40% 35% at 40% 50%,rgba(184,240,216,.18),transparent 60%),linear-gradient(165deg,#eef6f2,#f4f7f5 42%,#e4efe9)}.atmosphere{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 55% at 8% 12%,rgba(31,111,91,.16),transparent 55%),radial-gradient(ellipse 60% 45% at 92% 88%,rgba(20,82,68,.12),transparent 52%),radial-gradient(ellipse 40% 30% at 70% 20%,rgba(61,154,122,.08),transparent 60%),linear-gradient(165deg,#eef5f1 0%,var(--paper) 45%,#e2ebe6 100%);z-index:0;animation:drift 18s ease-in-out infinite alternate;overflow:hidden}.particle{position:absolute;width:5px;height:5px;border-radius:50%;background:#1f6f5b38;filter:blur(.5px);animation:floatParticle 12s ease-in-out infinite}.particle.p1{top:18%;left:12%;animation-delay:0s}.particle.p2{top:62%;left:78%;width:4px;height:4px;animation-delay:-3s}.particle.p3{top:40%;left:55%;width:3px;height:3px;animation-delay:-6s;opacity:.7}.particle.p4{top:78%;left:28%;width:6px;height:6px;animation-delay:-8s}@keyframes floatParticle{0%,to{transform:translateY(0) translate(0);opacity:.35}50%{transform:translateY(-18px) translate(8px);opacity:.7}}@keyframes drift{0%{transform:scale(1)}to{transform:scale(1.04)}}.page{position:relative;z-index:1;width:min(100%,34rem);display:flex;flex-direction:column;gap:1.35rem;padding:clamp(1.25rem,4vw,2rem);background:#ffffffb8;border:1px solid rgba(20,32,28,.08);border-radius:calc(var(--radius) + 4px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 50px #14201c14;animation:rise .45s cubic-bezier(.22,1,.36,1) both}.page.game-stage{width:min(100%,68rem);max-width:100%;padding:clamp(.85rem,2vw,1.25rem);gap:.85rem;background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.home{text-align:center;gap:0;width:100%;max-width:none;min-height:100dvh;padding:clamp(4.5rem,10vw,6rem) clamp(1.25rem,4vw,2.5rem) 2rem;background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;display:grid;place-items:center;overflow:hidden;animation:rise .5s cubic-bezier(.22,1,.36,1) both}.home-world{--px: 0;--py: 0}.home-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:1.05rem;width:min(100%,34rem);text-align:center}.home-lede{max-width:34ch;margin-inline:auto;text-wrap:balance}.home-start{margin-top:.35rem;position:relative;z-index:3}.home-start:hover:not(:disabled){box-shadow:0 12px 28px #1f6f5b52}.home .brand{text-shadow:0 8px 28px rgba(31,111,91,.12)}.home .admin-entry{margin-top:.15rem}.home-balls{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden}.home-ball{position:absolute;left:var(--ball-x);top:var(--ball-y);width:var(--ball-size);height:var(--ball-size);margin-left:calc(var(--ball-size) / -2);margin-top:calc(var(--ball-size) / -2);opacity:var(--ball-opacity, calc(.42 + (var(--ball-depth) * .22)));filter:blur(calc((1.8 - var(--ball-depth)) * .7px));transform:translate3d(calc(var(--px) * var(--ball-parallax) * 1px),calc(var(--py) * var(--ball-parallax) * .85px),0);transition:transform .35s ease-out,filter .3s ease,opacity .3s ease;will-change:transform}.home-ball-bounce{display:block;width:100%;height:100%;transform-origin:50% 70%}.home-ball-core{position:relative;isolation:isolate;overflow:hidden;display:block;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 32% 28%,#9fe0c8,#3d9a7a 42%,#1f6f5b 78%,#0f4a3c);box-shadow:0 10px 22px #0f282229,inset 0 -6px 14px #0f28222e;animation:homeBallFloat var(--ball-duration) ease-in-out var(--ball-delay) infinite;transform-origin:center}.home-ball-tint{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:var(--ball-tint, transparent);mix-blend-mode:color;opacity:0;pointer-events:none;transition:opacity .45s ease}.home-ball.is-tinted .home-ball-tint{opacity:.9}.home-ball.is-reacting{z-index:2;opacity:.92;filter:blur(0)}.home-ball.is-reacting .home-ball-bounce{animation:homeBallReact .56s cubic-bezier(.22,1.15,.36,1)}@keyframes homeBallReact{0%{transform:translateY(0) scale(1)}28%{transform:translateY(-12px) scale(1.1)}52%{transform:translateY(3px) scale(.98)}74%{transform:translateY(-6px) scale(1.05)}to{transform:translateY(0) scale(1)}}.home-ball-shine{position:absolute;top:16%;left:20%;width:34%;height:24%;border-radius:50%;background:#ffffff73;filter:blur(1px)}.home-ball-eye{position:absolute;top:42%;width:12%;height:14%;border-radius:50%;background:#0f2e26b8;transform-origin:50% 50%}.home-ball-eye-l{left:32%}.home-ball-eye-r{right:32%}.home-ball.is-tinted .home-ball-eye,.home-ball.is-watching .home-ball-eye{transform:translate(var(--look-x, 0px),var(--look-y, 0px))}.home-ball.is-reacting .home-ball-eye{width:15%;height:17%;animation:homeBallBlink .52s ease}@keyframes homeBallBlink{0%,to{transform:translate(var(--look-x, 0px),var(--look-y, 0px)) scaleY(1)}14%{transform:translate(var(--look-x, 0px),var(--look-y, 0px)) scaleY(.12)}26%{transform:translate(var(--look-x, 0px),var(--look-y, 0px)) scaleY(1)}38%{transform:translate(var(--look-x, 0px),var(--look-y, 0px)) scaleY(.12)}52%{transform:translate(var(--look-x, 0px),var(--look-y, 0px)) scaleY(1)}}.home-ball-mouth{position:absolute;left:50%;top:61%;width:22%;height:11%;margin-left:-11%;border:1.5px solid rgba(15,46,38,.5);border-top:0;border-radius:0 0 10px 10px;opacity:0;transform:scaleX(.45);pointer-events:none}.home-ball.is-reacting .home-ball-mouth,.home-ball.is-mood-happy .home-ball-mouth{opacity:.82;transform:scaleX(1)}.home-ball.is-mood-excited .home-ball-mouth{opacity:.9;width:26%;margin-left:-13%;transform:scaleX(1.08)}.home-ball.is-mood-curious .home-ball-mouth{opacity:.7;transform:scaleX(.7) rotate(-8deg)}@keyframes homeBallFloat{0%,to{transform:translateY(0) translate(0) scale(1)}35%{transform:translateY(calc(var(--ball-amp) * -1)) translate(4px) scale(1.02)}70%{transform:translateY(calc(var(--ball-amp) * .35)) translate(-3px) scale(.99)}}.home-ball.is-popping{z-index:3;transition:none}.home-ball.is-popping .home-ball-core{animation:none}.home-ball.is-popping .home-ball-bounce{animation:homeBallPop .36s ease-in forwards}@keyframes homeBallPop{0%{transform:scale(1);opacity:1}42%{transform:scale(.78);opacity:.8}to{transform:scale(.12);opacity:0}}.home-ball.is-arriving{transition:none}.home-ball.is-arriving .home-ball-bounce{animation:homeBallArrive .28s ease-out both}@keyframes homeBallArrive{0%{transform:scale(.62);opacity:0}to{transform:scale(1);opacity:1}}.home-ball-pop{position:absolute;top:-28%;right:-28%;bottom:-28%;left:-28%;pointer-events:none;z-index:4}.home-ball-ring{position:absolute;top:22%;right:22%;bottom:22%;left:22%;border-radius:50%;border:1.5px solid rgba(61,154,122,.38);animation:homeBallRing .36s ease-out forwards}@keyframes homeBallRing{0%{transform:scale(.55);opacity:.45}to{transform:scale(1.5);opacity:0}}.home-ball-speck{position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:#5eb89485;--ang: calc(var(--speck-i) * 72deg);animation:homeBallSpeck .36s ease-out forwards}@keyframes homeBallSpeck{0%{transform:rotate(var(--ang)) translateY(0) scale(1);opacity:.65}to{transform:rotate(var(--ang)) translateY(-20px) scale(.2);opacity:0}}.home-ball--b6,.home-ball--b8,.home-ball--b9{display:none}@media (min-width: 720px){.home-ball--b6,.home-ball--b8{display:block}.learn-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1024px){.home-ball--b9{display:block}}@media (max-width: 480px){.home-ball--b3,.home-ball--b7,.home-ball--b10{display:none}.home-ball{filter:blur(.4px);opacity:var(--ball-opacity, calc(.35 + (var(--ball-depth) * .18)))}}.home-balls.is-start-hover .home-ball--b4 .home-ball-core,.home-balls.is-start-hover .home-ball--b5 .home-ball-core,.home-balls.is-start-hover .home-ball--b9 .home-ball-core,.home-balls.is-start-hover .home-ball--b10 .home-ball-core{animation:homeBallNudge .55s ease;filter:brightness(1.08);box-shadow:0 12px 26px #1f6f5b38,inset 0 -6px 14px #0f28222e}.home-balls.is-start-hover .home-ball--b4,.home-balls.is-start-hover .home-ball--b5,.home-balls.is-start-hover .home-ball--b9,.home-balls.is-start-hover .home-ball--b10{opacity:.85;filter:blur(0)}@keyframes homeBallNudge{0%{transform:translateY(0) scale(1)}40%{transform:translateY(-8px) scale(1.06)}to{transform:translateY(0) scale(1)}}.home-balls.is-burst .home-ball,.home-world.is-burst .home-ball{animation:homeBallBurst .65s cubic-bezier(.22,1.1,.36,1) both}.home-balls.is-burst .home-ball-core{filter:brightness(1.12)}@keyframes homeBallBurst{0%{transform:translate3d(calc(var(--px) * var(--ball-parallax) * 1px),calc(var(--py) * var(--ball-parallax) * .85px),0) scale(1)}45%{transform:translate3d(calc(var(--px) * var(--ball-parallax) * 1px + (var(--ball-nx) - 50) * .22px),calc(var(--py) * var(--ball-parallax) * .85px + (var(--ball-ny) - 50) * .16px),0) scale(1.08)}to{transform:translate3d(calc(var(--px) * var(--ball-parallax) * 1px),calc(var(--py) * var(--ball-parallax) * .85px),0) scale(1)}}.home-world.is-starting .home-start{transform:scale(.98)}.brand{font-family:var(--display);font-size:clamp(2.8rem,10vw,4rem);font-weight:700;letter-spacing:-.03em;line-height:1.05}.brand span{color:var(--sea)}.kicker{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}.lede{color:var(--muted);font-size:1.05rem;max-width:32ch}.lede.center{text-align:center;max-width:none}.title,.question,.guess-name{font-family:var(--display);font-weight:650;letter-spacing:-.02em;line-height:1.2}.question{font-size:clamp(1.45rem,5vw,1.9rem)}.title{font-size:clamp(1.6rem,5vw,2rem)}.game-hud{display:flex;justify-content:space-between;gap:1rem;align-items:end;padding-bottom:.35rem;border-bottom:1px solid rgba(20,32,28,.08)}.game-nav{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem}.game-nav-spacer{min-width:4rem}.game-nav-btn{font-size:.88rem;padding:.45rem .75rem;opacity:.92;white-space:nowrap}.game-nav-btn:disabled{opacity:.35}.game-nav-end{color:color-mix(in srgb,var(--ink) 70%,transparent);border-color:#14201c1a}.game-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:.55rem .75rem;border-radius:var(--radius);background:#ffffff9e;border:1px solid rgba(20,32,28,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 24px #14201c0d}.game-header-brand{display:inline-flex;align-items:center;gap:.55rem}.game-logo{display:grid;place-items:center;line-height:0}.game-header-name{font-family:var(--display);font-size:1.2rem;font-weight:700;letter-spacing:-.02em}.game-header-name span{color:var(--sea)}.game-header-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;justify-content:flex-end}.lang-switch-header{background:#ffffffb3}.voice-chip{font-size:.82rem;padding:.4rem .7rem}.voice-chip.on{border-color:var(--sea);color:var(--sea-deep);background:#1f6f5b14}.game-layout{display:grid;grid-template-columns:minmax(11rem,.9fr) minmax(0,1.35fr);gap:clamp(1rem,3vw,2rem);align-items:center;min-height:min(72dvh,36rem)}.game-mascot-col{display:grid;place-items:center;padding:.5rem}.game-card-col{min-width:0}.question-card{display:flex;flex-direction:column;gap:1.1rem;padding:clamp(1.15rem,3vw,1.65rem);background:#ffffffc7;border:1px solid rgba(20,32,28,.08);border-radius:calc(var(--radius) + 6px);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 20px 48px #14201c14,inset 0 1px #ffffffa6;transition:box-shadow .25s ease}.question-card.is-thinking{box-shadow:0 20px 48px #14201c14,0 0 0 1px #1f6f5b2e}.question-card-hud{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(20,32,28,.07)}.question-meta{flex-shrink:0}.confidence-bar{flex:1;max-width:14rem;text-align:right}.confidence-bar-meta{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.25rem}.confidence-bar .hud-label{margin-bottom:0}.question-stage{min-height:4.5rem;animation:questionIn .28s cubic-bezier(.22,1,.36,1) both}.question-stage.is-nav-back{animation:questionBackIn .22s cubic-bezier(.22,1,.36,1) both}.question-stage.is-nav-forward{animation:questionIn .28s cubic-bezier(.22,1,.36,1) both}@keyframes questionIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}@keyframes questionBackIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}.thinking-feedback{margin-top:.55rem;font-size:.92rem;font-weight:600;color:var(--sea-deep);letter-spacing:.02em;animation:pulseThink 1s ease-in-out infinite}@keyframes pulseThink{0%,to{opacity:.55}50%{opacity:1}}.voice-panel{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.voice-mini{font-size:.85rem;padding:.4rem .7rem}.answers-grid{grid-template-columns:1fr 1fr}.answers-enter{animation:answersIn .32s cubic-bezier(.22,1,.36,1) both}@keyframes answersIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.answers-grid .answer-no{grid-column:1 / -1}.btn.answer{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:3rem;padding:.75rem .9rem}.btn.answer:focus-visible{outline:2px solid var(--sea);outline-offset:2px}.btn.answer:active:not(:disabled){transform:scale(.98)}.answer-icon{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:50%;font-size:.72rem;font-weight:700;background:#1f6f5b1a;color:var(--sea-deep);flex-shrink:0}.answer-yes .answer-icon{background:#1f6f5b2e}.answer-no .answer-icon{background:#9b3d3d1f;color:var(--danger)}.answer-label{line-height:1.2}.mascot{position:relative;width:min(100%,17rem);text-align:center;animation:mascotEnter .5s cubic-bezier(.22,1,.36,1) both;--gaze-x: 0px;--gaze-y: 0px;--entrance-y: -120px}.mascot--entering{animation:none;overflow:visible}.mascot--entering .mascot-svg{animation:mascotEntranceBounce 1s cubic-bezier(.22,1.15,.36,1) both!important;transform-origin:50% 85%}.mascot--entering .mascot-body,.mascot--entering .mascot-ring,.mascot--entering .mascot-pupils,.mascot--entering .mascot-lid{animation:none!important}.mascot--entering .mascot-floor-shadow{transform-box:fill-box;transform-origin:center;animation:mascotShadowBounce 1s cubic-bezier(.22,1.15,.36,1) both}.mascot-floor-shadow{transform-origin:100px 205px}@keyframes mascotEntranceBounce{0%{transform:translateY(var(--entrance-y)) scale(1);opacity:.92}58%{transform:translateY(14px) scale(1.05,.94);opacity:1}74%{transform:translateY(-10px) scale(.98,1.03)}88%{transform:translateY(4px) scale(1.015,.985)}to{transform:translateY(0) scale(1)}}@keyframes mascotShadowBounce{0%{transform:scale(.42);opacity:.08}58%{transform:scale(1.18);opacity:.3}74%{transform:scale(.85);opacity:.16}to{transform:scale(1);opacity:.18}}.question-card.is-intro-waiting{opacity:0;transform:translateY(14px);pointer-events:none;visibility:hidden}.question-card.is-intro-ready{visibility:visible;pointer-events:auto;animation:questionCardEnter .34s cubic-bezier(.22,1,.36,1) both}@keyframes questionCardEnter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.game-stage.is-intro .game-header{opacity:.92}.mascot--compact{width:min(100%,9.5rem)}.mascot-glow{position:absolute;top:12%;right:18%;bottom:28%;left:18%;border-radius:50%;background:radial-gradient(circle,rgba(61,154,122,.35),transparent 70%);filter:blur(12px);z-index:0;animation:glowPulse 3.5s ease-in-out infinite}.mascot-particles{position:absolute;top:8%;right:12%;bottom:30%;left:12%;pointer-events:none;z-index:2;opacity:0}.mascot--thinking .mascot-particles,.mascot--excited .mascot-particles,.mascot--happy .mascot-particles{opacity:1}.mp{position:absolute;width:6px;height:6px;border-radius:50%;background:#b8f0d8;opacity:0}.mascot--thinking .mp1{top:8%;left:72%;animation:particleThink 1.1s ease-in-out infinite}.mascot--thinking .mp2{top:0%;left:82%;width:4px;height:4px;animation:particleThink 1.1s ease-in-out .2s infinite}.mascot--thinking .mp3{top:14%;left:88%;width:3px;height:3px;animation:particleThink 1.1s ease-in-out .4s infinite}.mascot--happy .mp,.mascot--excited .mp{background:#dff8ec}.mascot--happy .mp1,.mascot--excited .mp1{top:4%;left:20%;animation:particlePop .9s ease-out infinite}.mascot--happy .mp2,.mascot--excited .mp2{top:0%;left:70%;animation:particlePop .9s ease-out .15s infinite}.mascot--happy .mp3,.mascot--excited .mp3{top:18%;left:48%;width:4px;height:4px;animation:particlePop .9s ease-out .3s infinite}.mascot--happy .mp4,.mascot--excited .mp4{top:8%;left:88%;animation:particlePop .9s ease-out .45s infinite}@keyframes particleThink{0%{opacity:0;transform:translateY(6px) scale(.6)}40%{opacity:1}to{opacity:0;transform:translateY(-14px) scale(1)}}@keyframes particlePop{0%{opacity:0;transform:translateY(4px) scale(.4)}35%{opacity:1}to{opacity:0;transform:translateY(-16px) scale(1.1)}}@keyframes glowPulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.9;transform:scale(1.06)}}@keyframes mascotEnter{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}.mascot-svg{position:relative;z-index:1;width:100%;height:auto;overflow:visible;transition:transform .28s ease}.mascot-figure{transform-origin:100px 108px;transition:transform .28s ease}.mascot-body{transform-origin:100px 108px}.mascot-pupils{transform:translate(var(--gaze-x),var(--gaze-y));transition:transform .22s ease}.mascot-lid{transform-box:fill-box;transform-origin:center top;transform:scaleY(0);pointer-events:none}.mascot--idle .mascot-lid,.mascot--curious .mascot-lid,.mascot--listening .mascot-lid{animation:blinkLids 4.8s ease-in-out infinite}.mascot--thinking .mascot-lid{animation:blinkLids 3.2s ease-in-out infinite}.mascot--idle .mascot-lid-r,.mascot--curious .mascot-lid-r{animation-delay:.04s}@keyframes blinkLids{0%,88%,to{transform:scaleY(0)}90%,93%{transform:scaleY(1)}95%{transform:scaleY(0)}}.mascot-brow{transition:transform .25s ease;transform-box:fill-box;transform-origin:center}.mascot--thinking .mascot-brow-l{transform:translateY(2px) rotate(-6deg)}.mascot--thinking .mascot-brow-r{transform:translateY(2px) rotate(6deg)}.mascot--confused .mascot-brow-l{transform:translateY(-1px) rotate(8deg)}.mascot--confused .mascot-brow-r{transform:translateY(2px) rotate(10deg)}.mascot--surprised .mascot-brow-l,.mascot--surprised .mascot-brow-r,.mascot--excited .mascot-brow-l,.mascot--excited .mascot-brow-r{transform:translateY(-3px)}.mascot--idle .mascot-svg{animation:idleBob 4s ease-in-out infinite}.mascot--idle .mascot-body{animation:breathe 3.6s ease-in-out infinite}.mascot--idle .mascot-ring{animation:ringSpin 16s linear infinite;transform-origin:100px 108px}.mascot--idle .mascot-pupils{animation:idleGlance 5.5s ease-in-out infinite}.mascot--curious .mascot-figure{transform:rotate(4deg) translate(4px)}.mascot--curious .mascot-svg{animation:curiousNudge .55s ease both}.mascot--thinking .mascot-svg{animation:thinkSway 1.15s ease-in-out infinite}.mascot--thinking .mascot-spark{opacity:1;animation:sparkPop .9s ease-in-out infinite}.mascot--listening .mascot-svg{animation:listenPulse 1.4s ease-in-out infinite}.mascot--listening .mascot-glow{animation:glowPulse 1.2s ease-in-out infinite}.mascot--happy .mascot-svg{animation:happyBounce .55s ease}.mascot--confused .mascot-svg{animation:confuseTilt .7s ease}.mascot--excited .mascot-svg{animation:exciteBounce .85s ease-in-out infinite}.mascot--surprised .mascot-svg{animation:surprisePop .45s ease both}.mascot--sad .mascot-figure{transform:translateY(3px) scale(.98)}.mascot-spark{opacity:0;transition:opacity .25s ease}.mascot--thinking .mascot-spark,.mascot--excited .mascot-spark,.mascot--happy .mascot-spark{opacity:1}.mascot-bubble{position:relative;z-index:1;margin:.15rem auto 0;max-width:14rem;padding:.45rem .7rem;border-radius:12px;background:#ffffffe0;border:1px solid rgba(20,32,28,.08);box-shadow:0 8px 18px #14201c0f;animation:bubbleIn .28s ease both}.mascot-bubble:before{content:"";position:absolute;top:-6px;left:50%;width:10px;height:10px;background:inherit;border-left:1px solid rgba(20,32,28,.08);border-top:1px solid rgba(20,32,28,.08);transform:translate(-50%) rotate(45deg)}.mascot-bubble-text{margin:0;font-size:.88rem;font-weight:650;color:var(--sea-deep);line-height:1.25}.guess-mascot-wrap,.learn-mascot-wrap,.done-mascot-wrap{display:grid;place-items:center;margin:-.25rem 0 .25rem}.guess-card-reveal{animation:guessReveal .45s cubic-bezier(.22,1,.36,1) both}.guess-card.is-hidden{opacity:0;transform:scale(.96);pointer-events:none;min-height:7.5rem}.guess-stage.is-focus .mascot{filter:drop-shadow(0 0 16px rgba(61,154,122,.42))}.guess-stage.is-focus .mascot-svg{animation:exciteBounce .85s ease-in-out infinite}.guess-stage.is-celebrate .mascot-particles,.done-mascot-wrap.is-celebrate .mascot-particles{opacity:1}.guess-stage.is-celebrate .mascot,.done-mascot-wrap.is-celebrate .mascot{filter:drop-shadow(0 0 14px rgba(61,154,122,.35))}@keyframes idleBob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.018)}}@keyframes ringSpin{to{transform:rotate(360deg)}}@keyframes idleGlance{0%,20%,to{transform:translate(var(--gaze-x),var(--gaze-y))}35%{transform:translate(calc(var(--gaze-x) + 2.5px),var(--gaze-y))}55%{transform:translate(calc(var(--gaze-x) - 2px),calc(var(--gaze-y) + .5px))}75%{transform:translate(var(--gaze-x),var(--gaze-y))}}@keyframes curiousNudge{0%{transform:translateY(0) rotate(0)}40%{transform:translateY(-4px) rotate(3deg)}to{transform:translateY(0) rotate(0)}}@keyframes thinkSway{0%,to{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(2.5deg) translateY(-3px)}}@keyframes sparkPop{0%,to{opacity:.45;transform:translate(0)}50%{opacity:1;transform:translate(2px,-4px)}}@keyframes listenPulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes happyBounce{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-10px) scale(1.04)}to{transform:translateY(0) scale(1)}}@keyframes exciteBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-9px) scale(1.035)}}@keyframes confuseTilt{0%{transform:rotate(0)}35%{transform:rotate(-7deg)}70%{transform:rotate(5deg)}to{transform:rotate(0)}}@keyframes surprisePop{0%{transform:scale(1)}40%{transform:scale(1.08) translateY(-4px)}to{transform:scale(1)}}@keyframes bubbleIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes guessReveal{0%{opacity:.6;transform:scale(.96)}to{opacity:1;transform:none}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:1.25rem;background:#0f282259;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-card{width:min(100%,22rem);padding:1.35rem 1.2rem;border-radius:calc(var(--radius) + 2px);background:#ffffffeb;border:1px solid rgba(20,32,28,.08);box-shadow:0 20px 48px #0f282238;display:grid;gap:1rem;animation:modalIn .28s cubic-bezier(.22,1,.36,1) both}@keyframes modalIn{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}.modal-title{margin:0;font-family:var(--display);font-size:1.25rem;text-align:center}.modal-actions{display:grid;gap:.55rem}.previous-banner{display:grid;gap:.55rem;margin:.25rem 0 .75rem;padding:.75rem .85rem;border-radius:var(--radius);background:color-mix(in srgb,var(--mist) 80%,transparent)}.previous-note,.editing-note{margin:0;font-size:.92rem;color:var(--muted)}.editing-note{margin:.15rem 0 .55rem;font-weight:600;color:color-mix(in srgb,var(--sea-deep) 85%,var(--muted))}.btn.answer.is-selected{border-color:var(--sea);background:color-mix(in srgb,var(--sea) 14%,#fff);box-shadow:0 0 0 3px #1f6f5b2e}.btn.answer.is-selected .answer-icon{background:#1f6f5b38}.game-nav-back{opacity:.78;font-weight:500;padding:.4rem .65rem}.game-nav-back:hover:not(:disabled){opacity:1}.game-nav-back:disabled{opacity:.38}.hud-label{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem}.hud-value{font-variant-numeric:tabular-nums;font-size:1.05rem}.hud-conf{flex:1;max-width:12rem;text-align:right}.bar{height:.35rem;background:var(--mist);border-radius:999px;overflow:hidden;margin:.35rem 0}.bar-fill{height:100%;background:linear-gradient(90deg,var(--sea),#3d9a7a);border-radius:inherit;transition:width .4s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,background .35s ease}.confidence-bar.is-hot .bar-fill{background:linear-gradient(90deg,#1f6f5b,#5ec4a0);box-shadow:0 0 10px #3d9a7a73}.confidence-bar.is-hot .hud-value{color:var(--sea-deep)}.answers,.char-grid,.actions{display:grid;gap:.65rem}.answers{grid-template-columns:1fr 1fr}.voice-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.35rem}.voice-toggle.on{border-color:var(--sea);color:var(--sea-deep)}.voice-mic.listening{opacity:.85;animation:pulseThink 1s ease-in-out infinite}.voice-hint,.voice-note{color:var(--muted);font-size:.9rem;margin:0;flex-basis:100%}.voice-note{color:var(--sea-deep);font-weight:600}.answers .btn:last-child:nth-child(odd){grid-column:1 / -1}.char-grid{grid-template-columns:1fr 1fr;max-height:min(42dvh,22rem);overflow:auto}.learn-category-grid{max-height:min(56dvh,32rem)}.learn-search{display:grid;grid-template-columns:1fr auto;gap:.5rem;margin-bottom:.75rem}.learn-search .input{width:100%;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:var(--radius);padding:.7rem .85rem;font:inherit;background:var(--sand);color:var(--ink)}.actions{grid-template-columns:1fr}.guess-card{display:grid;justify-items:center;gap:.55rem;padding:1.25rem 1rem;background:var(--sand);border-radius:var(--radius);text-align:center;animation:pulseSoft 2.4s ease-in-out infinite}@keyframes pulseSoft{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.avatar{width:3.4rem;height:3.4rem;border-radius:50%;display:grid;place-items:center;background:var(--sea);color:#f4fbf8;font-family:var(--display);font-size:1.4rem;font-weight:700}.guess-photo{width:min(100%,11rem);aspect-ratio:1;object-fit:cover;border-radius:1rem;background:#0f282214;box-shadow:0 10px 28px #0f28221f}.guess-name{font-size:clamp(1.6rem,5vw,2.1rem)}.guess-conf{color:var(--sea-deep);font-weight:600}.guess-why{max-width:36rem;margin-inline:auto}.explain-block{width:min(100%,36rem);margin-inline:auto}.explain-title{font-family:var(--display);font-size:1.05rem;margin:0 0 .45rem}.explain-list{margin:0;padding-left:1.2rem;display:grid;gap:.45rem}.explain-list li{display:grid;gap:.15rem}.explain-q{font-weight:600}.explain-meta{color:var(--ink-muted, #4a635c);font-size:.92rem}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:var(--radius);padding:.85rem 1.1rem;font:inherit;font-weight:650;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--sea);color:#f4fbf8;box-shadow:0 8px 20px #1f6f5b40}.btn.primary:hover:not(:disabled){background:var(--sea-deep)}.btn.primary.lg{padding:1rem 1.35rem;font-size:1.05rem;width:fit-content}.admin-entry{color:var(--muted);font-size:.9rem;text-decoration:none;width:fit-content}.admin-entry:hover{color:var(--sea)}.home-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.lang-switch{display:inline-flex;gap:.25rem;padding:.2rem;border-radius:999px;border:1px solid rgba(15,40,34,.12);background:#ffffff8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lang-switch button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:inherit;font:inherit;font-size:.8rem;font-weight:650;padding:.35rem .7rem;border-radius:999px;cursor:pointer}.lang-switch button.active{background:var(--sea);color:#f4fbf8}.btn.sm{padding:.55rem .85rem;font-size:.88rem}.game-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.game-toolbar-end{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.btn.danger-outline{background:transparent;border-color:#9b3d3d73;color:var(--danger)}.btn.danger-outline:hover:not(:disabled){background:#fff5f5;border-color:var(--danger)}.lb-table-wrap{overflow:auto;border-radius:var(--radius);border:1px solid rgba(20,32,28,.08);background:#fff}.lb-table{width:100%;border-collapse:collapse;font-size:.92rem}.lb-table th,.lb-table td{padding:.7rem .75rem;text-align:left;border-bottom:1px solid rgba(20,32,28,.06)}.lb-table th{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--sand)}.lb-table tr:last-child td{border-bottom:none}.lang-switch-floating{position:absolute;top:1rem;right:1rem;z-index:5}.lang-switch-admin{background:#e8f0ec0f;border-color:#e8f0ec1a;color:#e8f0ec;width:100%;justify-content:stretch}.lang-switch-admin button{flex:1}.lang-switch-admin button.active{background:#3d9a7a;color:#06150f}.btn.answer,.btn.chip{background:#fff;border-color:#14201c1a;color:var(--ink);text-align:center}.btn.answer:hover:not(:disabled),.btn.chip:hover:not(:disabled){border-color:var(--sea);box-shadow:0 0 0 3px #1f6f5b1f}.btn.ghost{background:transparent;border-color:#14201c24;color:var(--ink)}.muted{color:var(--muted);font-size:.95rem}.toast{position:fixed;top:.85rem;left:50%;transform:translate(-50%);z-index:30;width:min(92vw,26rem);display:flex;align-items:start;gap:.75rem;padding:.85rem 1rem;background:#fff5f5;border:1px solid rgba(155,61,61,.35);color:var(--danger);border-radius:var(--radius);box-shadow:0 10px 30px #14201c1f;animation:rise .3s ease both}.toast-x{margin-left:auto;border:none;background:transparent;color:inherit;font-size:1.25rem;line-height:1;cursor:pointer}@media (max-width: 900px){.mascot--entering{--entrance-y: -72px}.game-layout{grid-template-columns:1fr;gap:.75rem;min-height:0}.game-mascot-col{order:-1}.mascot:not(.mascot--compact){width:min(42vw,10.5rem)}.mascot-bubble-text{font-size:.8rem}}@media (max-width: 480px){.mascot--entering{--entrance-y: -52px}.answers,.char-grid,.answers-grid{grid-template-columns:1fr}.learn-stage .learn-category-grid.char-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.answers-grid .answer-no{grid-column:auto}.home .btn.primary.lg,.home-actions .btn{width:100%}.home-actions,.game-toolbar{flex-direction:column;align-items:stretch}.game-toolbar-end{justify-content:stretch}.game-toolbar-end .btn{flex:1}.page{padding:1.15rem}.page.game-stage{padding:.5rem}.game-header{gap:.55rem}.game-header-controls{width:100%;justify-content:flex-start}.game-header-name{font-size:1.05rem}.question-card-hud{flex-direction:column;gap:.65rem}.confidence-bar{max-width:none;width:100%;text-align:left}.mascot:not(.mascot--compact){width:min(36vw,8.5rem)}.mascot-bubble{max-width:11rem;padding:.35rem .55rem}.mascot-bubble-text{font-size:.76rem}}@media (prefers-reduced-motion: reduce){.atmosphere,.particle,.mascot-svg,.mascot-ring,.mascot-glow,.mascot-spark,.mascot-body,.mascot-lid,.mascot-pupils,.mascot-particles,.mascot-floor-shadow,.mp,.question-stage,.answers-enter,.thinking-feedback,.modal-card,.guess-card-reveal,.guess-stage.is-focus .mascot-svg,.mascot-bubble,.question-card.is-intro-ready,.home-ball-core,.home-ball,.home-ball-bounce,.home-ball-eye,.home-ball-mouth,.page{animation:none!important}.home-ball{transition:none!important;transform:none!important;filter:blur(.6px)}.home-ball-mouth{opacity:0!important;transform:none!important}.home-balls.is-start-hover .home-ball-core,.home-balls.is-burst .home-ball-core{filter:none}.home-ball-pop{display:none}.mascot--entering .mascot-svg{animation:mascotEntranceReduced .28s ease both!important}.mascot--entering .mascot-floor-shadow{animation:none!important;opacity:.18;transform:scale(1)}.question-card.is-intro-waiting{opacity:0;visibility:hidden}.question-card.is-intro-ready{opacity:1;visibility:visible;transform:none}.mascot-pupils,.mascot-figure,.mascot-brow,.bar-fill{transition:none!important}.guess-card.is-hidden{opacity:1;transform:none;pointer-events:auto;min-height:0}.confidence-bar.is-hot .bar-fill{box-shadow:none}}@keyframes mascotEntranceReduced{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
