:root{--ink:#34454a;--ivory:#fff9ef;--paper:#fff;--muted:#8a979b;--line:#e6dccb;--correct:#4fa66a;--prompt:#4c9f9b;--gold:#e8b94f;--pad:max(16px, 2.4vmin)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{background:var(--ivory);color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-text-size-adjust:100%;font-family:Nunito,ui-rounded,Avenir Next,system-ui,sans-serif}button{font:inherit;color:inherit;-webkit-touch-callout:none}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.fi-screen{padding:max(var(--pad), env(safe-area-inset-top)) max(var(--pad), env(safe-area-inset-right)) max(var(--pad), env(safe-area-inset-bottom)) max(var(--pad), env(safe-area-inset-left));background:radial-gradient(ellipse at 50% 18%, var(--glow) 0 30%, transparent 70%), var(--ivory);touch-action:none;grid-template-rows:auto auto minmax(0,1fr) auto;justify-items:center;display:grid;position:fixed;inset:0}.fi-adult{width:100%;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:15px;font-weight:700;display:flex}.fi-adult-left,.fi-adult-right{align-items:center;gap:12px;display:flex}.fi-count{font-variant-numeric:tabular-nums;gap:14px;margin:0;display:flex}.fi-count strong{font-weight:800}.fi-adult-button{border:1.5px solid var(--line);background:var(--control-fill);min-width:64px;min-height:44px;color:var(--muted);white-space:nowrap;cursor:pointer;touch-action:manipulation;border-radius:12px;padding:8px 14px;font-size:14px;font-weight:700;position:relative;overflow:hidden}.fi-adult-button:disabled{opacity:.45}.fi-level{white-space:nowrap}.fi-level strong{color:var(--ink);font-weight:800}.fi-reset{isolation:isolate}.fi-reset-fill{z-index:-1;background:var(--hold-fill);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.fi-reset[data-holding=true] .fi-reset-fill{transition:transform 1s linear;transform:scaleX(1)}.fi-listen{justify-content:center;margin:clamp(10px,2vmin,20px) 0 clamp(6px,1.4vmin,14px);display:flex}.fi-say{background:var(--prompt);box-shadow:0 7px 0 var(--prompt-deep);color:#fff;cursor:pointer;touch-action:manipulation;border:0;border-radius:999px;justify-content:center;align-items:center;gap:14px;width:clamp(72px,11vmin,104px);height:clamp(72px,11vmin,104px);display:inline-flex}.fi-say:active{box-shadow:0 2px 0 var(--prompt-deep);transform:translateY(5px)}.fi-say:focus-visible{outline:6px solid var(--gold);outline-offset:6px}.fi-speaker{fill:#fff;stroke:#fff;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;width:52%;max-width:52px;height:auto}.fi-array{width:100%;height:100%;position:relative}.fi-choice{padding:calc(var(--size) * .06);border:4px solid var(--card-line);background:var(--paper);box-shadow:0 8px 0 var(--card-ledge), 0 12px 22px var(--drop);cursor:pointer;touch-action:none;border-radius:14%;outline:none;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:stretch stretch;margin:0;transition:transform .11s cubic-bezier(.2,.8,.2,1),box-shadow .11s,opacity .2s,border-color .15s;display:grid;position:absolute}.fi-choice img{object-fit:contain;pointer-events:none;width:100%;height:100%;min-height:0;display:block}.fi-choice[data-pressed=true]{box-shadow:0 3px 0 var(--card-ledge), 0 6px 12px var(--drop);transform:translateY(6px)scale(.96)}.fi-choice:focus-visible{outline:6px solid var(--gold);outline-offset:6px}.fi-choice[data-state=correct]{z-index:1;border-color:var(--correct);box-shadow:0 0 0 8px #4fa66a47, 0 8px 0 var(--correct-ledge);animation:.52s cubic-bezier(.3,1.6,.5,1) fi-bounce}.fi-choice[data-state=wrong]{opacity:.4;animation:.42s ease-in-out fi-shake}.fi-screen[data-phase=prompt] .fi-choice[data-state=wrong],.fi-screen[data-phase=prompt] .fi-choice[data-state=idle]{opacity:.4}.fi-choice[data-state=prompt]{z-index:1;border-color:var(--prompt);animation:1.1s ease-in-out infinite fi-pulse}.fi-burst{pointer-events:none;width:36%;animation:.6s cubic-bezier(.3,1.6,.5,1) both fi-pop;position:absolute;top:-12%;right:-10%}.fi-star{width:100%;height:auto;display:block}.fi-star path{fill:var(--gold);stroke:var(--ink);stroke-width:6px;stroke-linejoin:round}.fi-progress{gap:10px;margin:calc(8px + clamp(10px,2vmin,20px)) 0 0;display:flex}.fi-progress span{background:var(--track);border-radius:50%;width:14px;height:14px;transition:background .2s}.fi-progress span[data-filled=true]{background:var(--gold)}.fi-done{text-align:center;flex-direction:column;grid-row:2/-1;justify-content:center;align-items:center;display:flex}.fi-stars{gap:clamp(8px,2vmin,20px);margin-bottom:clamp(8px,2vmin,20px);display:flex}.fi-stars .fi-star{width:clamp(80px,14vmin,150px);animation:.6s cubic-bezier(.3,1.6,.5,1) both fi-pop}.fi-stars .fi-star:nth-child(2){width:clamp(100px,18vmin,190px);animation-delay:.12s}.fi-stars .fi-star:nth-child(3){animation-delay:.24s}.fi-done h1{margin:0;font-size:clamp(56px,10vmin,110px);font-weight:800;line-height:1.05}.fi-round-score{color:var(--muted);margin:10px 0 clamp(20px,4vmin,40px);font-size:18px;font-weight:700}.fi-play-again{background:var(--prompt);min-width:260px;min-height:88px;box-shadow:0 8px 0 var(--prompt-deep);color:#fff;cursor:pointer;touch-action:manipulation;border:0;border-radius:999px;padding:0 44px;font-size:clamp(28px,4.4vmin,40px);font-weight:800}.fi-play-again:active{box-shadow:0 2px 0 var(--prompt-deep);transform:translateY(6px)}.fi-done-links{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:clamp(18px,3vmin,28px);display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fi-log-backdrop{z-index:10;background:var(--backdrop);touch-action:none;justify-content:flex-end;display:flex;position:fixed;inset:0}.fi-log{width:min(460px,100vw);height:100%;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) 20px;background:var(--paper);flex-direction:column;animation:.18s ease-out fi-slide-in;display:flex;box-shadow:-10px 0 30px #34454a29}.fi-log-header{border-bottom:1.5px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.fi-log-header h2{margin:0;font-size:26px;font-weight:800}.fi-log-header p{color:var(--muted);margin:4px 0 0;font-size:15px;font-weight:700}.fi-log-empty{color:var(--muted);text-align:center;margin:28px 0;font-size:17px;font-weight:700}.fi-log-list{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.fi-log-row{border-bottom:1px solid var(--row-line);grid-template-columns:28px 48px 1fr auto;grid-template-areas:"number picture word result""number picture meta meta";align-items:center;column-gap:12px;padding:12px 4px;display:grid}.fi-log-number{color:var(--muted);text-align:right;grid-area:number;font-size:14px;font-weight:700}.fi-log-row img{background:var(--ivory);object-fit:contain;border-radius:10px;grid-area:picture;width:48px;height:48px}.fi-log-word{grid-area:word;font-size:20px;font-weight:800}.fi-log-result{flex-direction:column;grid-area:result;align-items:flex-end;font-size:16px;font-weight:800;display:flex}.fi-log-result small{color:var(--muted);font-size:13px;font-weight:700}.fi-log-row[data-result=correct] .fi-log-result{color:var(--text-correct)}.fi-log-row[data-result=incorrect] .fi-log-result{color:var(--text-incorrect)}.fi-log-row[data-result=skipped] .fi-log-result{color:var(--muted)}.fi-log-meta{color:var(--muted);grid-area:meta;font-size:13px;font-weight:600}@media (width<=760px){.fi-adult-left{flex-wrap:wrap}.fi-adult-button{padding:8px 10px;font-size:13px}}@keyframes fi-bounce{0%{transform:scale(1)}40%{transform:scale(1.07)}to{transform:scale(1)}}@keyframes fi-shake{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(9px)}60%{transform:translate(-6px)}80%{transform:translate(4px)}}@keyframes fi-pulse{0%,to{box-shadow:0 0 0 0 #4c9f9b59, 0 8px 0 var(--prompt-ledge);transform:scale(1)}50%{box-shadow:0 0 0 14px #4c9f9b33, 0 8px 0 var(--prompt-ledge);transform:scale(1.04)}}@keyframes fi-pop{0%{opacity:0;transform:scale(.3)rotate(-20deg)}to{opacity:1;transform:none}}@keyframes fi-slide-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.fi-choice,.fi-choice[data-state],.fi-burst,.fi-stars .fi-star,.fi-log{transition:none;animation:none!important}.fi-choice[data-state=prompt]{box-shadow:0 0 0 10px #4c9f9b47, 0 8px 0 var(--prompt-ledge)}}.mi-sample{flex-direction:column;align-items:center;gap:clamp(4px,.8vmin,8px);margin:clamp(8px,1.6vmin,16px) 0 clamp(10px,2vmin,20px);display:flex}.mi-sample img{border:4px solid var(--panel-line);background:var(--paper);width:clamp(110px,19vmin,210px);height:clamp(110px,19vmin,210px);box-shadow:0 8px 0 var(--panel-ledge);object-fit:contain;border-radius:clamp(28px,4vmin,44px);padding:clamp(8px,1.4vmin,16px);animation:.24s ease-out aba-rise-in;display:block}.mi-hint{color:var(--muted);margin:0;font-size:14px;font-weight:700}@media (prefers-reduced-motion:reduce){.mi-sample img{animation:none}}
