@font-face{font-family:Lilita One;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAAVoAA8AAAAACegAAAUTAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbDBwYBmAAbBEIColciA0LHgABNgIkAzgEIAWDZAc+DAcb9QdRlE5OmOBngm2rYa0IiBSU4SB6GXpb1ovxAEMb3kc8/X6ve+4LIEoWKsKQjE0KaAS5si8LV935qoC6jkBWl99PeNa/acrMsmIWkJM7J2fiwyD6/rZ3nySQEEJPI2+8mQgCjl/7/xfCPjhmumgbjyJtDTLAgZRI5C2Lsyg9Ej+AogCfIgpT4Glg/xqJD/gP3cxixar09EqCLkAR0S2CjsmOByOgCZ096O8EMaNtszM3NFMavYQr9Cp5x9dfFA/5c6zg2Tty8yAadUVizTiA6qa3QCC/ewmYw2NFVjA0W0NfnG8fGGCFUMwlNjUZzmSW9PlG/R/AyDGpxk28hPlctcMi84z8m/D+t4A8BCJ1LJF6PM8poA/kPvkJWDJ1K8BaUZaAFU7lYnST2ctUYrFxdcncWZ+9iCBZ7QpGtRZjgknaiROuAw9zmuW0fBVJAuYMq2n1OtKMXVFHky8Q0hrFz5fHL9r+nEPMnjt7HmivMC8x91xDA/1M/oAFOmT59tOnXR4D/SyfffGCednGaXbT8vxlrLJwBWKuYq7gZdFz7CSU+gIt6kE7uc+Qo2v37Ql5HkHKQsxRQtvGGz2XFwMdv411vIFQ6YqXmDMUlNIsQgwHBXRRFWtcw+hMzOajmR59mMsOuWmOF4yqrMx9tIxFTBfJL+Ii0RlIK4ImubT7MpIsjraaeanajTm7MtJOmW4rxrqXFRkT0If2oT0spW5rQzzafpjguAN9hiRinFZih+0AJ4zTkDbS8Uh95LjURmGlmKaOU1gqqpGTVk+skg4HuviVSNOtxkAukjRmgehpuFJzeK1lTT5P1BR1/PNEQdrPnuV+BTaWg//+kPhs+NC04dbkEaOaIOzcWmf+0GCvjO57t/beypjctoHZoyi8WpYUkmvITj8o+TTCOX91Xp24bnVevsQkk/AmUsZTIOZotreXUWEZNO7bn9qWsbLZpFW6JvXu9NXJzKKH42p+jchuqW1L6vNy1e9301q7tfmbr/QZMkUOD899Yd14NHBLo/SjF5cCSkjT2NHk135OQk4wT8IJPl3A+KVAmsC6w9Yzeb5ippX3NAv4svYkQsqFgb5lm1UzJZ7DRrsvW6fPCvnquOaJ3AZkUSKvIgyXf96PrZJ0kgSzaEuXOoX1hffmtOr/WYZ+xra+RIUo1WFKdehUQIrG3y5m3i9eznH2AwnYJE9dQSY4kM2VOdnutWqt4pcfeb+k1NlrCD2P3ZO5XLekNz+2uPpKb/XJ2t0NUfOkPccR0vHefWSNS4H/BGiupbdcml/BnXeommkZlIk13/I8D/sOQlw8z33xfpVl+C/GxBeA17vkDn3BYWv7dXrdRJsCQnVz7EH1QwnxcArxoPR47glkG2iQNwSZIChqhlyhaVP9a/045AZNdsyOfJGctxwg9NgmBAURbAFAm+MIaZIADY94zBhygFn0uMesbKlubVJlNpuQyGwxwB96jhQ4qR9Qu4XyKu1Tp1cLH/p5ZE990E5DFwpNaqksidKBtoMWVahBSjs1KNRwaI2gi380ig9P3rz5SjWgRqcMBWu/Q2sDMrNLKOq0U7MWT/ny5gPGn6tBkwHtavQaVcbp0m0kfWtTWctTnNVxceak0ulKzTpDe6uiNRqHjom7XY06zVt5qtVilAt3lKFEEM26JK19bwCDFNQf9sQgYUrmZO1Qm5ZiW0CGLZ6Hyvq4TZke5H+6xGcf+8Snzvruczt8Mu1G9R7wrwIAAA==)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lilita One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lilita-one-latin-400-normal-87r-Z-Re.woff2)format("woff2"),url(/assets/lilita-one-latin-400-normal-DXkechA3.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-next-latin-ext-400-normal-BalHKn7d.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-ext-400-normal-qxMiU51n.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-next-latin-400-normal-FfmJh7DR.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-400-normal-DPp7N0cD.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-next-latin-ext-700-normal-CBw-mJf_.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-ext-700-normal-292QVhS1.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-next-latin-700-normal-Dpiyiu63.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-700-normal-C2qZD_Q9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--sea:#2bb3c0;--sea-light:#58c6d0;--sea-deep:#17707d;--ink:#24305e;--ink-soft:#4a5687;--paper:#fff;--paper-tint:#f2fbfc;--sun:#ffc83d;--lilac:#b39df7;--bubblegum:#ff8cc6;--sky:#7cc6ff;--peach:#ffb27a;--right:#2fcb7f;--wrong:#ff4f45;--context-land:#cfe3e1;--mountain:#a0622d;--pin:#ff5fa8;--font-display:"Lilita One", "Arial Rounded MT Bold", system-ui, sans-serif;--font-body:"Atkinson Hyperlegible Next", system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs:.875rem;--text-sm:1rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:1.75rem;--text-2xl:2.25rem;--text-3xl:clamp(2.25rem, 6vw, 3.5rem);--border:2.5px solid var(--ink);--lift:0 4px 0 var(--ink);--lift-small:0 2.5px 0 var(--ink);--soft-line:#24305e24;--radius-piece:22px;--radius-tile:16px;--radius-pill:999px;--gutter:16px;--ease-pop:cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:100%}body{background-color:var(--sea);min-height:100dvh;color:var(--ink);font-family:var(--font-body);font-size:var(--text-md);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='48' viewBox='0 0 120 48'%3E%3Cpath d='M0 30c15 0 15-8 30-8s15 8 30 8 15-8 30-8 15 8 30 8' fill='none' stroke='%2358c6d0' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");margin:0;line-height:1.5}button,input{font:inherit;color:inherit}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em;margin:0;font-weight:400;line-height:1.1}p{margin:0}:focus-visible{outline:4px solid var(--sun);outline-offset:3px}.screen{width:100%;max-width:1080px;padding:calc(env(safe-area-inset-top) + 12px) var(--gutter) calc(env(safe-area-inset-bottom) + 40px);margin:0 auto}.sticker-title{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--paper);-webkit-text-stroke:5px var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink)}.btn{border:var(--border);border-radius:var(--radius-pill);background:var(--paper);min-height:52px;box-shadow:var(--lift-small);color:var(--ink);white-space:nowrap;font-family:var(--font-display);font-size:var(--text-lg);cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:.5em;padding:.55em 1.2em;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.btn:active{box-shadow:0 0 0 var(--ink);transform:translateY(3px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-sun{background:var(--sun)}.btn-pink{background:var(--bubblegum)}.btn-small{min-height:44px;font-size:var(--text-md);padding:.35em .9em}.btn-icon{width:48px;min-height:48px;font-size:var(--text-xl);padding:0}.btn-icon .icon{width:24px;height:24px}.btn-danger{background:var(--wrong);color:var(--paper)}.panel{background:var(--paper);border:var(--border);border-radius:var(--radius-piece);box-shadow:var(--lift);padding:20px}.top-bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.top-bar .logo{width:auto;height:46px}.top-bar-actions{align-items:center;gap:10px;display:flex}.player-chip{color:var(--ink);border:var(--border);border-radius:var(--radius-pill);background:var(--paper);min-height:52px;box-shadow:var(--lift-small);font-family:var(--font-display);font-size:var(--text-md);cursor:pointer;align-items:center;gap:8px;padding:4px 16px 4px 4px;text-decoration:none;display:inline-flex}.player-chip .avatar{width:42px;height:42px}.player-chip small{font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-soft);line-height:1;display:block}.avatar{border-radius:50%;flex:none;display:block}.back-link{font-family:var(--font-display);font-size:var(--text-md)}.page-heading{align-items:center;gap:14px;margin-bottom:20px;display:flex}.page-heading h1{font-size:var(--text-2xl)}.pick{text-align:center;flex-direction:column;align-items:center;gap:28px;padding-top:4vh;display:flex}.pick-top{justify-content:flex-end;width:100%;display:flex}.pick .logo-hero{width:min(84vw,460px);height:auto;animation:4s ease-in-out infinite hero-bob}@keyframes hero-bob{50%{transform:translateY(-6px)rotate(-1deg)}}.pick-intro{max-width:34ch;font-size:var(--text-lg)}.player-grid{grid-template-columns:repeat(auto-fit,minmax(150px,180px));justify-content:center;gap:20px;width:100%;max-width:760px;display:grid}.player-tile{border:var(--border);border-radius:var(--radius-piece);background:var(--paper);box-shadow:var(--lift);font-family:var(--font-display);font-size:var(--text-lg);cursor:pointer;transition:transform .16s var(--ease-pop);flex-direction:column;align-items:center;gap:10px;padding:18px 10px 16px;display:flex}.player-tile:nth-child(odd){rotate:-1.5deg}.player-tile:nth-child(2n){rotate:1.5deg}.player-tile:hover{transform:translateY(-4px)rotate(0)}.player-tile .avatar{width:96px;height:96px}.player-tile small{font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-soft)}.player-tile.add{box-shadow:none;background:0 0;border-style:dashed;justify-content:center}.add-plus{background:var(--paper);border:var(--border);border-radius:50%;place-items:center;width:96px;height:96px;font-size:3rem;line-height:1;display:grid}.text-link{font-family:var(--font-display);font-size:var(--text-md);text-underline-offset:4px;color:var(--ink);cursor:pointer;background:0 0;border:none;padding:8px;text-decoration:underline;text-decoration-thickness:2px}.dialog-backdrop{z-index:40;padding:var(--gutter);background:#24305e8c;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.dialog{width:min(560px,100%);max-height:calc(100dvh - 32px);animation:pop-in .26s var(--ease-pop);overflow-y:auto}.dialog h2{font-size:var(--text-xl);margin-bottom:14px}@keyframes pop-in{0%{opacity:0;transform:scale(.85)}}.field{flex-direction:column;gap:6px;margin-bottom:18px;font-weight:700;display:flex}.text-input{border:var(--border);border-radius:var(--radius-tile);background:var(--paper-tint);min-height:52px;font-size:var(--text-lg);padding:10px 14px}.text-input:focus{background:var(--paper)}.form-error{color:#c4241b;margin-top:-8px;margin-bottom:12px;font-weight:700}.plain-fieldset{border:none;margin:0;padding:0}.field-legend{margin-bottom:8px;padding:0;font-weight:700}.avatar-picker{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:10px;margin-bottom:20px;display:grid}.avatar-option{cursor:pointer;aspect-ratio:1;background:0 0;border:3px solid #0000;border-radius:50%;padding:4px}.avatar-option .avatar{width:100%;height:100%}.avatar-option[aria-pressed=true]{border-color:var(--ink);background:var(--sun)}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.greeting{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.greeting h1{font-size:var(--text-3xl)}.filters{gap:10px;margin-bottom:16px;display:grid}.filter-row{flex-wrap:wrap;gap:10px;display:flex}.segmented{border:var(--border);border-radius:var(--radius-pill);background:var(--paper);padding:4px;display:inline-flex}.segmented.wide{display:flex}.segmented button{border-radius:var(--radius-pill);min-height:42px;font-family:var(--font-display);font-size:var(--text-md);white-space:nowrap;cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.segmented button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.segmented .icon{width:20px;height:20px}.level-switch{border:var(--border);border-radius:var(--radius-pill);background:var(--paper);box-shadow:var(--lift-small);padding:4px;display:inline-flex}.level-switch button{border-radius:var(--radius-pill);min-width:72px;min-height:44px;font-family:var(--font-display);font-size:var(--text-md);cursor:pointer;background:0 0;border:none;padding:0 14px}.level-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:26px;display:grid}.game-card{--card:var(--sun);border:var(--border);border-radius:var(--radius-piece);background:var(--card);box-shadow:var(--lift);gap:14px;padding:18px;display:grid}.card-head{align-items:center;gap:14px;display:flex}.game-card .illustration{background:#ffffff8c;border-radius:18px;flex:none;width:64px;height:64px;padding:6px}.card-title{flex-direction:column;gap:2px;display:flex}.game-card h2{font-size:var(--text-xl)}.game-card .stars{font-size:1.15rem}.mastery{font-size:var(--text-sm);grid-template-columns:1fr auto;align-items:center;gap:10px;font-weight:700;display:grid}.meter{border-radius:var(--radius-pill);background:#24305e24;height:10px;display:block;overflow:hidden}.meter>span{background:var(--ink);border-radius:var(--radius-pill);min-width:0;height:100%;transition:width .7s;display:block}.card-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mode-button{border:var(--border);border-radius:var(--radius-tile);background:var(--paper);min-height:60px;box-shadow:var(--lift-small);color:var(--ink);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;gap:10px;padding:8px 14px;transition:transform 80ms,box-shadow 80ms;display:flex}.mode-button:hover{box-shadow:var(--lift);transform:translateY(-2px)}.mode-button:active{box-shadow:none;transform:translateY(2px)}.mode-button.race{background:var(--ink);color:var(--paper);box-shadow:0 2.5px #00000059}.mode-button .icon{flex:none;width:26px;height:26px}.mode-button span{flex-direction:column;line-height:1.15;display:flex}.mode-button strong{font-family:var(--font-display);font-weight:400;font-size:var(--text-lg)}.mode-button small{font-size:var(--text-xs);opacity:.8;font-variant-numeric:tabular-nums;font-weight:700}.race-progress{border-radius:var(--radius-pill);background:#24305e24;height:10px;margin-top:8px;overflow:hidden}.race-progress>span{background:var(--right);height:100%;transition:width .3s;display:block}.pill.clock{font-variant-numeric:tabular-nums;justify-content:center;min-width:96px}.kind-tabs .tab{font-size:var(--text-lg)}.stars{gap:2px;font-size:1.6rem;line-height:1;display:inline-flex}.star{color:#24305e38}.star.on{color:var(--sun);-webkit-text-stroke:1.5px var(--ink);paint-order:stroke fill}.game-card[data-mode=countries] .star.on{color:var(--paper)}.game-card[data-mode=capitals]{--card:var(--bubblegum)}.game-card[data-mode=countries]{--card:var(--sun)}.game-card[data-mode=mountains]{--card:var(--peach)}.game-card[data-mode=seas]{--card:var(--sky)}.shortcut-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.shortcut{border:var(--border);border-radius:var(--radius-pill);background:var(--paper);min-height:48px;box-shadow:var(--lift-small);font-family:var(--font-display);font-size:var(--text-md);color:var(--ink);align-items:center;gap:8px;padding:6px 18px 6px 14px;text-decoration:none;display:inline-flex}.shortcut .icon{width:22px;height:22px}.map-shell{touch-action:none;background:var(--sea);position:fixed;inset:0;overflow:hidden}.europe-map{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;--map-sea:var(--sea);width:100%;height:100%;display:block}.europe-map[data-mode=seas]{--map-sea:var(--sea-light)}.europe-map .sea-fill{fill:var(--map-sea)}.europe-map .frame-seam{fill:none;stroke:var(--map-sea);stroke-width:6px}.europe-map .fade-stop{stop-color:var(--map-sea)}.europe-map .sea-shape{fill:var(--sea);stroke:none}.europe-map[data-mode=seas] .sea-shape{fill:var(--sea-light);stroke:var(--paper);stroke-width:1.2px;stroke-dasharray:3 4}.europe-map .context-land{fill:var(--context-land);stroke:#9fc4c1;stroke-width:.8px}.europe-map .shadow-layer{fill:var(--ink);opacity:.85;transform:translateY(3px)}.europe-map .country{stroke:var(--ink);stroke-width:1.4px;stroke-linejoin:round;transition:fill .2s ease, transform .2s var(--ease-pop);transform-box:fill-box;transform-origin:50%}.europe-map[data-mode=mountains] .country,.europe-map[data-mode=seas] .country{stroke:#b9a98a;stroke-width:.9px;fill:#fdf3dc!important}.europe-map[data-mode=capitals] .country{stroke-width:1.1px}.europe-map .mountain{fill:url(#peaks);stroke:var(--mountain);stroke-width:1.2px;stroke-linejoin:round;transition:fill .2s}.europe-map .capital{fill:var(--paper);stroke:var(--ink);stroke-width:2.4px}.europe-map .microstate-ring{pointer-events:none;fill:none;stroke:var(--ink);stroke-width:1.5px;opacity:.55}.europe-map [data-state=done],.europe-map [data-state=right]{fill:var(--right)!important}.europe-map .country[data-state=right]{transform:translateY(-3px)scale(1.04)}.europe-map [data-state=wrong]{animation:.45s 2 wrong-flash;fill:var(--wrong)!important}.europe-map [data-state=reveal]{animation:.5s ease-in-out 3 reveal-pulse;fill:var(--right)!important}.europe-map [data-state=selected]{stroke-width:2.6px;fill:var(--paper)!important}@keyframes wrong-flash{50%{opacity:.45}}@keyframes reveal-pulse{50%{opacity:.35}}.map-label{font-family:var(--font-display);fill:var(--paper);stroke:var(--ink);paint-order:stroke fill;stroke-linejoin:round;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.zoom-controls{right:calc(env(safe-area-inset-right) + 16px);bottom:calc(env(safe-area-inset-bottom) + 16px);z-index:10;flex-direction:column;gap:10px;display:flex;position:fixed}.hud{top:calc(env(safe-area-inset-top) + 12px);z-index:10;pointer-events:none;grid-template-columns:auto 1fr auto;align-items:start;gap:10px;display:grid;position:fixed;left:12px;right:12px}.hud>*{pointer-events:auto}.question-sign{border:var(--border);border-radius:var(--radius-tile);background:var(--paper);min-width:min(100%,300px);max-width:520px;box-shadow:var(--lift);text-align:center;justify-self:center;padding:8px 22px 12px;rotate:-1deg}.question-sign .ask{font-size:var(--text-sm);color:var(--ink-soft);font-weight:700}.question-sign .target{font-family:var(--font-display);font-size:clamp(1.75rem,5vw,2.5rem);line-height:1.1}.question-sign .hint{font-size:var(--text-sm)}.progress-dots{justify-content:center;gap:5px;margin-top:8px;display:flex}.progress-dots span{border:2px solid var(--ink);background:var(--paper);border-radius:50%;width:12px;height:12px}.progress-dots span[data-result="1"]{background:var(--right)}.progress-dots span[data-result="2"],.progress-dots span[data-result="3"]{background:var(--sun)}.progress-dots span[data-result=miss]{background:var(--wrong)}.progress-dots span[data-current]{background:var(--ink)}.score-pill{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.pill{border:var(--border);border-radius:var(--radius-pill);background:var(--paper);min-height:44px;box-shadow:var(--lift-small);font-family:var(--font-display);font-size:var(--text-md);white-space:nowrap;align-items:center;gap:6px;padding:4px 14px;display:inline-flex}.pill.streak{background:var(--sun);animation:pop-in .26s var(--ease-pop)}.toast{left:50%;bottom:calc(env(safe-area-inset-bottom) + 24px);z-index:12;border:var(--border);border-radius:var(--radius-pill);max-width:calc(100% - 120px);box-shadow:var(--lift-small);font-family:var(--font-display);font-size:var(--text-lg);text-align:center;animation:pop-in .22s var(--ease-pop);pointer-events:none;padding:10px 22px;position:fixed;translate:-50%}.toast.right{background:var(--right)}.toast.wrong,.toast.info{background:var(--paper)}.zoom-controls[hidden]{display:none}.answer-panel{left:50%;bottom:calc(env(safe-area-inset-bottom) + 12px);z-index:11;border:var(--border);border-radius:var(--radius-piece);background:var(--paper);width:min(620px,100% - 24px);box-shadow:var(--lift);grid-template-columns:minmax(0,1fr);gap:10px;padding:12px;display:grid;position:fixed;translate:-50%}.answer-panel .toast{max-width:none;font-size:var(--text-md);justify-self:center;padding:6px 18px;position:static;translate:none}.answer-hint{min-height:44px;color:var(--ink-soft);text-align:center;place-items:center;font-weight:700;display:grid}.choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.choices-6{grid-template-columns:repeat(3,minmax(0,1fr))}.choice{border:var(--border);border-radius:var(--radius-tile);background:var(--paper-tint);min-height:56px;box-shadow:var(--lift-small);color:var(--ink);font-family:var(--font-display);font-size:var(--text-lg);cursor:pointer;-webkit-tap-highlight-color:transparent;padding:8px 10px;line-height:1.1;transition:transform 80ms,box-shadow 80ms,background .15s}.choice:hover:not(:disabled){background:var(--sun)}.choice:active:not(:disabled){box-shadow:none;transform:translateY(3px)}.choice[data-state=right]{background:var(--right);animation:pop-in .26s var(--ease-pop)}.choice[data-state=wrong]{opacity:.7;box-shadow:none;background:#ffd3cf;text-decoration:line-through}.choice:disabled{cursor:default}.typed-answer{grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;display:grid}.typed-row{gap:10px;min-width:0;display:flex}.typed-row .btn{flex:none}.typed-row .text-input{min-width:0;font-family:var(--font-display);font-size:var(--text-xl);flex:1}.suggestions{flex-wrap:wrap;align-items:center;gap:8px;min-height:48px;display:flex}.suggestion{min-height:48px;font-size:var(--text-md);border-radius:var(--radius-pill);padding:6px 14px}.suggestion-hint{color:var(--ink-soft);font-size:var(--text-sm);font-weight:700}@media (width<=720px){.choices-6{grid-template-columns:repeat(2,minmax(0,1fr))}.choice{min-height:50px;font-size:var(--text-md)}}.loading{min-height:60vh;font-family:var(--font-display);font-size:var(--text-xl);place-items:center;display:grid}.result{text-align:center}.result h2{font-size:var(--text-3xl);margin-bottom:6px}.result .stars{gap:8px;margin:6px 0 10px;font-size:3.4rem}.result .star.on{color:var(--sun);-webkit-text-stroke:3px var(--ink);animation:star-in .5s var(--ease-pop) backwards}.result .star:nth-child(2){animation-delay:.18s}.result .star:nth-child(3){animation-delay:.36s}@keyframes star-in{0%{transform:scale(0)rotate(-40deg)}}.result-score{font-family:var(--font-display);font-size:var(--text-2xl)}.ribbon{border:var(--border);background:var(--bubblegum);font-family:var(--font-display);border-radius:8px;margin:8px 0;padding:4px 16px;display:inline-block;rotate:-2deg}.race-breakdown{flex-wrap:wrap;justify-content:center;gap:6px 16px;margin:6px 0 4px;padding:0;font-weight:700;list-style:none;display:flex}.xp-block{text-align:left;margin:16px 0}.xp-block .meter{background:var(--paper-tint);height:18px}.xp-block .meter>span{background:var(--sun);border-right:2px solid var(--ink)}.xp-row{font-weight:700;font-size:var(--text-sm);justify-content:space-between;display:flex}.answer-list{flex-wrap:wrap;justify-content:center;gap:6px;margin:12px 0 18px;padding:0;list-style:none;display:flex}.answer-list li{border:2px solid var(--ink);border-radius:var(--radius-pill);font-size:var(--text-sm);padding:2px 10px;font-weight:700}.answer-list li[data-result="1"]{background:var(--right)}.answer-list li[data-result="2"],.answer-list li[data-result="3"]{background:var(--sun)}.answer-list li[data-result=miss]{background:#ffd3cf}.result-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.result-actions .replay{grid-column:1/-1}.stamp-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:18px;display:grid}.stamp{aspect-ratio:1;text-align:center;color:var(--ink);border:3px dashed;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:12px;display:flex}.stamp .icon{font-size:2.2rem;line-height:1}.stamp .name{font-family:var(--font-display);font-size:var(--text-sm);line-height:1.1}.stamp .desc{font-size:.75rem;line-height:1.2}.stamp.earned{color:#b0216b;background:#ff8cc62e;border-style:double;border-width:6px}.stamp.earned:nth-child(3n+1){color:#1c6f9c;background:#7cc6ff33;rotate:-8deg}.stamp.earned:nth-child(3n+2){color:#6a3fc2;background:#b39df738;rotate:6deg}.stamp.locked{opacity:.45}.stamp.locked .icon{filter:grayscale()}.stamp.new{animation:.52s cubic-bezier(.2,1.6,.4,1) .5s backwards stamp-down}@keyframes stamp-down{0%{opacity:0;transform:scale(2.4)}}.new-stamps{flex-wrap:wrap;justify-content:center;gap:14px;margin:8px 0 16px;display:flex}.new-stamps .stamp{width:130px}.passport{background:repeating-radial-gradient(circle at 85% 15%, #2bb3c014 0 2px, transparent 2px 12px), var(--paper);position:relative;overflow:hidden}.passport-head{grid-template-columns:auto 1fr;align-items:center;gap:20px;margin-bottom:22px;display:grid}.passport-photo{border:var(--border);background:var(--paper-tint);border-radius:12px;padding:8px;rotate:-2deg}.passport-photo .avatar{width:110px;height:110px}.passport-fields{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px 18px;display:grid}.passport-fields dt{font-size:var(--text-xs);color:var(--ink-soft);font-weight:700}.passport-fields dd{font-family:var(--font-display);font-size:var(--text-lg);margin:0}.section-title{font-size:var(--text-xl);margin:26px 0 14px}.mastery-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.mastery-item{border:var(--border);border-radius:var(--radius-tile);background:var(--paper);padding:12px 14px}.mastery-item .row{justify-content:space-between;font-weight:700;display:flex}.best-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.best-table th,.best-table td{text-align:left;border-bottom:2px solid #dbe9ea;padding:8px 6px}.best-table th{font-family:var(--font-display);font-weight:400}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.tab{border:var(--border);border-radius:var(--radius-pill);background:var(--paper);min-height:44px;font-family:var(--font-display);font-size:var(--text-md);cursor:pointer;padding:0 16px}.tab[aria-pressed=true]{background:var(--ink);color:var(--paper)}.board{margin:0;padding:0;list-style:none}.board li{border-bottom:2px solid #dbe9ea;grid-template-columns:48px 48px 1fr auto;align-items:center;gap:12px;padding:10px 6px;display:grid}.board li:last-child{border-bottom:none}.board li.mine{background:#ffc83d59;border-radius:12px}.board .rank{font-family:var(--font-display);font-size:var(--text-xl);text-align:center}.board .avatar{width:46px;height:46px}.board .name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.board .score{font-family:var(--font-display);font-size:var(--text-lg);text-align:right}.board .stars{font-size:1rem}.spaced{margin-top:16px}.empty{text-align:center;padding:26px 10px;font-weight:700}.study-panel{left:12px;bottom:calc(env(safe-area-inset-bottom) + 12px);z-index:11;flex-direction:column;width:min(340px,100% - 100px);max-height:46dvh;padding:12px;display:flex;position:fixed}.study-search{min-height:44px;margin-top:10px}.study-panel .list{margin:10px 0 0;padding:0;list-style:none;overflow-y:auto}.study-panel .list button{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;width:100%;min-height:40px;padding:4px 10px;font-weight:700}.study-panel .list button:hover,.study-panel .list button[aria-pressed=true]{background:var(--sun)}.study-card{border:var(--border);border-radius:var(--radius-tile);background:var(--paper);box-shadow:var(--lift);text-align:center;animation:pop-in .2s var(--ease-pop);justify-self:center;padding:10px 20px}.study-card strong{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;line-height:1.1;display:block}.mode-tabs{flex-wrap:wrap;gap:6px;display:flex}.mode-tabs .tab{min-height:38px;font-size:var(--text-sm);padding:0 12px}.join-code{border:var(--border);border-radius:var(--radius-tile);background:var(--sun);font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:.08em;margin:8px 0 14px;padding:8px 18px;display:inline-block}.family-list{margin:0;padding:0;list-style:none}.family-list li{border-bottom:2px solid #dbe9ea;align-items:center;gap:12px;padding:10px 0;display:flex}.family-list li .avatar{width:48px;height:48px}.family-list li .name{flex:1;font-weight:700}.stack{gap:20px;display:grid}.inline-form{flex-wrap:wrap;gap:10px;display:flex}.inline-form .text-input{flex:180px}@media (width<=720px){.game-grid{grid-template-columns:1fr;gap:16px}.game-card{gap:12px;padding:14px}.game-card .illustration{width:54px;height:54px}.mode-button{gap:8px;min-height:54px;padding:6px 10px}.mode-button .icon{width:22px;height:22px}.shortcut{flex:40%;justify-content:center}.segmented button{font-size:var(--text-sm);padding:0 10px}.filter-row .segmented{flex:auto}.top-bar .logo{height:36px}.player-chip{padding-right:12px}.player-chip .chip-text{display:none}.hud{grid-template-columns:auto 1fr}.hud .score-pill{right:12px;top:calc(env(safe-area-inset-top) + 150px);position:fixed}.question-sign{width:100%;min-width:0}.board li{grid-template-columns:36px 40px 1fr auto;gap:8px}.board .avatar{width:38px;height:38px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
