@font-face{font-family:Fredoka One;src:url(/chompers/fredoka-one-subset.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}.chompers-game{--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--bg-0: #0f2b26;--bg-1: #1b4c43;--bg-2: #2b7060;--ink: #fcf6ea;--ink-muted: #d9e7de;--line: rgba(255, 255, 255, .14);--panel: rgba(13, 39, 34, .86);--accent: #ffd166;--accent-strong: #ff9f1c;--accent-hot: #ffbf69;--leaf: #b8f2a7;--berry: #ff4d6d;--danger: #ff6b6b;--correct: #4ade80;--wrong: #f87171;--hippo-0: #8b7ebf;--hippo-1: #6e5fa8;--hippo-2: #4e437f;--font: "Trebuchet MS", "Franklin Gothic Medium", "Arial Rounded MT Bold", sans-serif;--font-title: "Fredoka One", "Arial Rounded MT Bold", "Comic Sans MS", sans-serif;font-family:var(--font);color:var(--ink);background:radial-gradient(circle at 15% 10%,rgba(255,209,102,.24),transparent 30%),radial-gradient(circle at 85% 18%,rgba(255,159,28,.18),transparent 26%),linear-gradient(180deg,#28665a,#1c4b43 48%,#10342d);height:100dvh;overflow:hidden;touch-action:manipulation;width:min(100%,100vw);max-width:100vw;display:flex;flex-direction:column;margin:0;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);box-sizing:border-box}.chompers-game [hidden]{display:none!important}.scene-track{position:relative;flex:1;width:100%;min-height:0;overflow:hidden}.game-screen{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;align-items:center;justify-content:safe center;padding:clamp(.9rem,2.5vw,1.6rem)}.game-screen-play{overflow:hidden;padding:0;align-items:stretch;justify-content:flex-start}.start-shell,.end-shell{padding:clamp(1.4rem,4vw,2.5rem);width:min(100%,56rem);border-radius:28px;border:1px solid var(--line);box-shadow:0 20px 64px #00000052;background:linear-gradient(145deg,#12352ef5,#0d2520f0),linear-gradient(180deg,rgba(255,209,102,.14),transparent 26%)}.start-title{margin:0;font-family:var(--font-title);font-size:clamp(3rem,11vw,5.4rem);line-height:.94;letter-spacing:-.03em}.start-kicker{margin:.6rem 0 0;color:var(--ink-muted);font-size:clamp(.95rem,2.2vw,1.1rem);line-height:1.5}.area-picker{margin:1.2rem 0 0;padding:0;border:0}.area-picker legend{margin-bottom:.5rem;font-size:.82rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.area-picker-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.area-card{display:grid;grid-template-rows:auto auto;gap:.45rem;padding:.6rem .75rem;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;cursor:pointer;transition:border-color .14s ease,background-color .14s ease}.area-card:hover,.area-card:has(.area-radio:checked){border-color:#ffd16680;background:#ffd16614}.area-card.gamepad-focus,.area-card:has(.area-radio:focus-visible){border-color:#ffd166d9;background:#ffd1661f;box-shadow:0 0 0 3px #ffd1663d}.area-radio{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.area-card-copy{display:grid;gap:.08rem;pointer-events:none}.area-card-copy strong{font-size:.88rem;line-height:1.3}.area-card-copy span{font-size:.75rem;color:var(--ink-muted);line-height:1.35}.level-selector{display:flex;gap:.3rem}.level-selector label{flex:1;display:flex;cursor:pointer}.level-selector label input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.level-selector label span{flex:1;text-align:center;font-size:.7rem;font-weight:800;padding:.2rem .3rem;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:#ffffff12;color:var(--ink-muted);transition:border-color .1s ease,background-color .1s ease,color .1s ease}.level-selector label input:checked+span{border-color:var(--accent-strong);background:#ff9f1c38;color:var(--accent)}.level-selector label:hover span{border-color:#ffd16666}.level-selector label.gamepad-focus span,.level-selector label:has(input:focus-visible) span{border-color:#ffd166d9;box-shadow:0 0 0 2px #ffd1663d}.area-card:not(:has(.area-radio:checked)) .level-selector{display:none}.counting-object{display:inline-block;font-size:clamp(1.4rem,4vw,2.2rem);margin:0 .15rem;line-height:1}.chomp-btn{appearance:none;border:0;border-radius:999px;cursor:pointer;font-family:var(--font);font-weight:800;font-size:clamp(.88rem,2vw,1rem);padding:.65rem 1.4rem;transition:transform .1s ease,opacity .13s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;line-height:1.2}.chomp-btn:hover{transform:translateY(-1px);opacity:.92}.chomp-btn:focus-visible,.chomp-btn.gamepad-focus{outline:3px solid var(--accent);outline-offset:3px}.chomp-btn:active{transform:translateY(0);opacity:1}.chomp-btn-primary{background:var(--accent-strong);color:#1a0c00}.chomp-btn-secondary{background:#ffffff1a;color:var(--ink);border:1px solid rgba(255,255,255,.2)}.chomp-btn-icon{padding:.35rem .65rem;font-size:1rem;line-height:1}.start-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.4rem}.game-screen-play .game-shell{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;height:100%}.game-hud{padding:.45rem .9rem;background:#0d2822e0;border-bottom:1px solid var(--line);flex-shrink:0;min-height:2.5rem}#score{font-weight:800;font-size:1.1rem;color:var(--accent);min-width:3ch}.hud-pill{font-size:.78rem;color:var(--ink-muted);padding:.18rem .5rem;border-radius:9999px;background:#ffffff12}#lives{color:var(--berry);font-size:.95rem;letter-spacing:.04em}#streak{color:var(--accent-hot);font-size:.85rem;font-weight:700}.hud-chip{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.18rem .48rem;border-radius:999px;background:#8b7ebf42;color:#c8bbf4;border:1px solid rgba(139,126,191,.38)}#settings-btn{margin-left:auto}#problem-prompt{font-size:clamp(1.4rem,3vw,2.2rem);font-weight:800;text-align:center;margin:0;padding:.6rem 1rem;background:#0d282273;border-bottom:1px solid var(--line);flex-shrink:0;color:var(--ink);line-height:1.2}#game-arena{position:relative;flex-grow:1;touch-action:manipulation;overflow:hidden;min-height:0;background:radial-gradient(ellipse at 50% 100%,rgba(40,100,88,.5),transparent 70%),linear-gradient(180deg,#0f2b264d,#0a1c1899)}#scene-items{position:absolute;inset:0}.scene-item{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.45rem .55rem;border:2px solid rgba(255,255,255,.15);border-radius:16px;background:#123730d1;color:var(--ink);font-family:var(--font);font-weight:800;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none}.scene-item:hover,.scene-item:focus-visible{transform:translate(-50%,-50%) scale(1.15);border-color:#ffd1669e;outline:2px solid rgba(255,209,102,.65);outline-offset:2px;z-index:2}body.gamepad-active .scene-item:focus,body.gamepad-active .scene-item.gamepad-focus{transform:translate(-50%,-50%) scale(1.15);border-color:#ffd166d1;outline:3px solid rgba(255,209,102,.9);outline-offset:3px;box-shadow:0 0 0 4px #0f2b2680,0 0 18px #ffd1663d;z-index:2}.scene-item:disabled{opacity:.3;cursor:default;pointer-events:none}.scene-item .item-emoji{font-size:1.9rem;line-height:1;display:block}.item-badge{font-size:.92rem;font-weight:900;min-width:1.7rem;text-align:center;padding:.08rem .28rem;border-radius:999px;background:#ffffff21;line-height:1.4}.scene-item.item-correct{animation:correct-flash .42s ease-out forwards;border-color:var(--correct)}.scene-item.item-wrong{animation:wrong-shake .42s ease-out forwards;border-color:var(--wrong)}@keyframes correct-flash{0%{transform:translate(-50%,-50%) scale(1)}30%{transform:translate(-50%,-50%) scale(1.3);box-shadow:0 0 22px #4ade80b8}to{transform:translate(-50%,-50%) scale(1.1)}}@keyframes wrong-shake{0%,to{transform:translate(-50%,-50%) translate(0)}20%{transform:translate(-50%,-50%) translate(-6px)}40%{transform:translate(-50%,-50%) translate(6px)}60%{transform:translate(-50%,-50%) translate(-4px)}80%{transform:translate(-50%,-50%) translate(4px)}}#hippo{position:absolute;bottom:0;left:50%;transform:translate(-50%);--neck-height: 20px;--jaw-angle: 0;--hippo-color: #8BC34A;display:flex;flex-direction:column;align-items:center;transition:left .2s ease-out;z-index:3;pointer-events:none}.hippo-body{width:clamp(58px,14vw,100px);height:clamp(32px,7vw,52px);background:var(--hippo-color, #8BC34A);border-radius:50% 50% 42% 42%/54% 54% 40% 40%;flex-shrink:0}.hippo-neck{width:clamp(22px,5vw,34px);height:var(--neck-height, 20px);background:color-mix(in srgb,var(--hippo-color, #8BC34A) 82%,#2a3a28 18%);transition:height .3s ease-out;flex-shrink:0}.hippo-head{position:relative;width:clamp(52px,12vw,84px);height:clamp(38px,8.5vw,60px);background:var(--hippo-color, #8BC34A);border-radius:38% 38% 50% 50%/34% 34% 58% 58%;flex-shrink:0}.hippo-ear-left,.hippo-ear-right{position:absolute;bottom:-9px;width:clamp(11px,2.4vw,17px);height:clamp(11px,2.4vw,17px);background:color-mix(in srgb,var(--hippo-color, #8BC34A) 80%,#000 20%);border-radius:50%}.hippo-ear-left{left:7px}.hippo-ear-right{right:7px}.hippo-nostril-left,.hippo-nostril-right{position:absolute;top:18%;width:clamp(5px,1.1vw,8px);height:clamp(3px,.7vw,5px);background:color-mix(in srgb,var(--hippo-color, #8BC34A) 50%,#000 50%);border-radius:50%}.hippo-nostril-left{left:30%}.hippo-nostril-right{right:30%}.hippo-eye-left,.hippo-eye-right{position:absolute;top:48%;width:clamp(9px,1.9vw,13px);height:clamp(9px,1.9vw,13px);border-radius:50%;background:radial-gradient(circle at 55% 45%,#1a1a2e 36%,#fff 37%)}.hippo-eye-left{left:18%}.hippo-eye-right{right:18%}.hippo-jaw{position:absolute;top:0;left:8%;right:8%;height:clamp(12px,2.6vw,18px);background:color-mix(in srgb,var(--hippo-color, #8BC34A) 65%,#fff 35%);border-radius:38% 38% 0 0;transform-origin:bottom center;transform:translateY(calc(var(--jaw-angle, 0) * clamp(-10px,-2.2vw,-14px)));transition:transform .12s ease-out;display:flex;justify-content:space-around;align-items:flex-end;padding:2px 22%;box-sizing:border-box}.hippo-tooth-left,.hippo-tooth-right{width:clamp(4px,1vw,7px);height:clamp(6px,1.4vw,10px);background:#fff;border-radius:3px 3px 0 0}#hippo.hippo-chomp-correct .hippo-body,#hippo.hippo-chomp-correct .hippo-head{animation:hippoCorrect .5s ease-out}#hippo.hippo-chomp-wrong .hippo-body,#hippo.hippo-chomp-wrong .hippo-head{animation:hippoWrong .5s ease-out}@keyframes hippoCorrect{0%{box-shadow:none}30%{box-shadow:0 0 18px #4ade80cc}to{box-shadow:none}}@keyframes hippoWrong{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}#effect-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:10}.points-popup{position:absolute;font-weight:900;font-size:clamp(1rem,3vw,1.6rem);pointer-events:none;animation:popup-float .9s ease-out forwards;white-space:nowrap}.points-popup.positive{color:var(--correct)}.points-popup.negative{color:var(--wrong)}@keyframes popup-float{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-56px)}}.end-title{margin:0;font-family:var(--font-title);font-size:clamp(2.2rem,8vw,4rem);line-height:1;letter-spacing:-.02em}.results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin:1.1rem 0 0}.result-card{padding:.85rem 1rem;border-radius:14px;border:1px solid var(--line);background:#ffffff0d}.result-card dt{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:.2rem}.result-card dd{font-size:1.55rem;font-weight:900;color:var(--accent);margin:0}.settings-section{padding:.9rem 0;border-bottom:1px solid var(--line)}.settings-section:last-of-type{border-bottom:0}.settings-section h3{margin:0 0 .45rem;font-size:.82rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.settings-copy{margin:.35rem 0;font-size:.86rem;color:var(--ink-muted);line-height:1.55}.settings-help{font-size:.78rem}.settings-label{font-weight:700;color:var(--ink)}.settings-list{margin:.35rem 0;padding-left:1.1rem;color:var(--ink-muted);font-size:.86rem;line-height:1.62}.settings-toggle-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.88rem;cursor:pointer}.settings-actions{display:flex;flex-wrap:wrap;gap:.75rem;padding-top:.9rem}.settings-actions>*{flex:1 1 0}.settings-quit-link{text-align:center}@media(prefers-reduced-motion:reduce){#hippo,.npc-hippo,.hippo-neck,.hippo-jaw{transition:none!important}.scene-item{transition:none!important;animation:none!important}.points-popup{animation:none!important}}[data-reduce-motion=reduce] #hippo,[data-reduce-motion=reduce] .npc-hippo,[data-reduce-motion=reduce] .hippo-neck,[data-reduce-motion=reduce] .hippo-jaw{transition:none!important}[data-reduce-motion=reduce] .scene-item{transition:none!important;animation:none!important}[data-reduce-motion=reduce] .points-popup{animation:none!important}@media(max-width:430px){#problem-prompt{font-size:clamp(1.15rem,4.5vw,1.55rem);padding:.45rem .7rem}.area-picker-grid{grid-template-columns:1fr}.results-grid{grid-template-columns:1fr 1fr}.scene-item .item-emoji{font-size:1.65rem}}@media(max-width:420px){.game-hud{padding:.35rem .65rem;min-height:2.2rem}}@media(max-height:500px)and (orientation:landscape){#hippo,.npc-hippo{transform:translate(-50%) scale(.6);transform-origin:bottom center}.game-hud{min-height:1.9rem;padding:.28rem .7rem}#problem-prompt{padding:.28rem .7rem;font-size:clamp(.95rem,2.5vw,1.3rem)}.scene-item .item-emoji{font-size:1.45rem}}@media(min-width:768px){.area-picker-grid{grid-template-columns:repeat(2,1fr)}}@media(max-height:780px){.chompers-start-header,.start-title{font-size:clamp(1.6rem,4vw,2.2rem);margin-block:.25rem}.area-picker{margin-block:.5rem}.area-card{padding:.35rem .5rem}.area-card-copy strong{font-size:.85rem}.area-card-copy span{font-size:.75rem}}@media(min-width:1024px){.start-shell,.end-shell{max-width:54rem}}.mode-selector{display:flex;gap:.5rem;margin-top:.75rem}.mode-toggle-btn{flex:1;padding:.5rem 1rem;border-radius:.4rem;border:2px solid rgba(255,255,255,.2);background:transparent;color:var(--ink);cursor:pointer;font-family:var(--font);font-size:.9rem;transition:background .15s,border-color .15s,color .15s}.mode-toggle-btn[aria-pressed=true]{background:var(--accent);color:var(--bg-0);border-color:var(--accent);font-weight:700}.mode-toggle-btn:focus-visible,.mode-toggle-btn.gamepad-focus{outline:3px solid rgba(255,209,102,.9);outline-offset:3px}#frenzy-config{margin-top:.75rem;padding:.75rem;background:#ffffff0f;border-radius:.5rem;display:flex;flex-direction:column;gap:.5rem}.frenzy-fieldset{border:1px solid rgba(255,255,255,.14);border-radius:.3rem;padding:.4rem .6rem;margin:0}.frenzy-fieldset legend{font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-muted);padding:0 .25rem}.mode-radio-group{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.3rem}.mode-radio-group label{display:flex;align-items:center;gap:.3rem;font-size:.85rem;color:var(--ink);cursor:pointer}.mode-radio-group label.gamepad-focus,.mode-radio-group label:has(input:focus-visible){color:var(--accent)}.frenzy-field{display:flex;flex-direction:column;gap:.3rem}.frenzy-field-label{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-muted)}#player-color-picker{display:flex;flex-wrap:wrap;gap:.4rem}.color-swatch{width:2rem;height:2rem;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:border-color .15s,transform .15s}.color-swatch.active,.color-swatch:focus{border-color:#fff;transform:scale(1.15)}.color-swatch.gamepad-focus{border-color:#fff;transform:scale(1.15);box-shadow:0 0 0 3px #ffd16647}.npc-hippo{position:absolute;bottom:0;left:var(--hippo-x, 0%);transform:translate(-50%);transform-origin:bottom center;z-index:5;pointer-events:none;display:flex;flex-direction:column;align-items:center;transition:left .2s ease-out;--neck-height: 20px;--jaw-angle: 0}.npc-hippo.chomping{animation:npcChomp .4s ease}.npc-hippo.disappointed{animation:npcWobble .6s ease}@keyframes npcChomp{0%,to{transform:translate(-50%)}50%{transform:translate(-50%) scale(1.08)}}@keyframes npcWobble{0%,to{transform:translate(-50%) rotate(0)}25%{transform:translate(-50%) rotate(-10deg)}75%{transform:translate(-50%) rotate(10deg)}}#round-timer-bar{width:100%;height:6px;background:#ffffff1a;position:relative;flex-shrink:0}#round-timer-fill{height:100%;width:100%;background:#4caf50;transition:width .1s linear,background .3s}#frenzy-scoreboard{position:absolute;top:.5rem;left:50%;transform:translate(-50%);background:#0009;border-radius:.5rem;padding:.25rem .75rem;font-size:.78rem;color:#fff;display:flex;gap:.75rem;white-space:nowrap;z-index:10;pointer-events:none}.shrink-claimed{animation:fruitClaim .3s ease forwards}@keyframes fruitClaim{to{transform:scale(.1) translate(-50%,-50%);opacity:0}}.frenzy-score-row{text-align:center;font-size:1rem;color:var(--ink);padding:.15rem 0}.chomper-fruit{animation:fruitBounce .3s ease forwards;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.3),transparent 60%),var(--fruit-bg, #fff);box-shadow:0 2px 8px #00000026;transition:transform .12s cubic-bezier(.34,1.56,.64,1),box-shadow .12s;cursor:pointer}.chomper-fruit:not(:disabled):hover{transform:scale(1.08) translateY(-2px);box-shadow:0 4px 12px #0003}.chomper-fruit:not(:disabled):active{transform:scale(.95)}@keyframes fruitBounce{0%{transform:scale(.7);opacity:.4}60%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}.confetti-particle{position:fixed;width:8px;height:8px;border-radius:50%;pointer-events:none;z-index:1000;animation:confettiFly .6s ease-out forwards}@keyframes confettiFly{to{transform:translate(var(--dx, 0px),var(--dy, -40px)) scale(0);opacity:0}}
