:root{--bg:#f4f6fb;--bg-accent:#e9edf7;--card:#fff;--option-bg:#f7f8fc;--text:#1c2230;--muted:#6b7385;--border:#e3e7ef;--accent:#4f6ef7;--seen-fill:#c3cdf0;--correct:#22b06b;--correct-bg:#e6f7ee;--correct-text:#0f7a45;--wrong:#e5484d;--wrong-bg:#fdeaea;--wrong-text:#b02a2f;--shadow-sm:0 1px 2px #141e3c0d;--shadow-md:0 6px 18px #141e3c1f;--shadow-lg:0 12px 40px #141e3c1a;--sans:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;font-family:var(--sans);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:17px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1320;--bg-accent:#151a2b;--card:#191f31;--option-bg:#212840;--text:#eef1f8;--muted:#99a1b8;--border:#2a3350;--accent:#6d86ff;--seen-fill:#38436b;--correct:#2fbd78;--correct-bg:#143528;--correct-text:#74e0aa;--wrong:#f0666b;--wrong-bg:#3a1c1f;--wrong-text:#ffa9ac;--shadow-sm:0 1px 2px #0006;--shadow-md:0 6px 18px #00000080;--shadow-lg:0 12px 40px #00000073}}*{box-sizing:border-box}button,a,input{-webkit-tap-highlight-color:transparent}body{background:radial-gradient(1100px 600px at 50% -10%, var(--bg-accent), transparent 70%), var(--bg);min-height:100svh;margin:0}#root{justify-content:center;align-items:center;min-height:100svh;display:flex}.app{--pad:clamp(.75rem, 2.5vw, 1.4rem);width:100%;max-width:680px;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));flex-direction:column;gap:clamp(.7rem,2vw,1rem);margin:0 auto;display:flex}.header{text-align:center}.title{letter-spacing:-.02em;margin:0;font-size:clamp(1.8rem,5vw,2.4rem);font-weight:800}.subtitle{color:var(--muted);margin:.35rem 0 0;font-size:.95rem}.topbar{grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;display:grid}.topbar .run-title{text-align:center;font-weight:700}.ghost-btn{font:inherit;color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:10px;justify-self:start;padding:.4rem .8rem;font-weight:600}.ghost-btn:hover{color:var(--text);border-color:var(--muted)}.ach-count{color:var(--muted);justify-self:end;font-weight:700}.stats,.hud{grid-template-columns:repeat(4,1fr);gap:.6rem;display:grid}.hud{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.stat{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-sm);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:.1rem;padding:.5rem .4rem;display:flex}.stat-icon{font-size:1rem;line-height:1}.stat-value{color:var(--text);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:800}.stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.68rem}.playbar{flex-direction:column;gap:clamp(.7rem,2vw,1rem);display:flex}.play{flex-direction:column;gap:.85rem;display:flex}.play-main{flex-direction:column;gap:.85rem;min-width:0;display:flex}@media (width>=700px){.playbar{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:14px;flex-direction:row;align-items:center;gap:.9rem;padding:.35rem .6rem}.playbar .topbar{flex:none;align-items:center;gap:.7rem;display:flex}.playbar .ghost-btn{border-radius:8px;min-height:36px;padding:.3rem .7rem}.playbar .run-title{text-align:left;white-space:nowrap}.playbar .hud{grid-template-columns:none;gap:.15rem;margin-left:auto;display:flex}.playbar .hud .stat{box-shadow:none;background:0 0;border:none;border-radius:8px;flex-direction:row;align-items:baseline;gap:.3rem;padding:.2rem .45rem}.playbar .hud .stat-icon{font-size:.95rem}.playbar .hud .stat-value{font-size:1rem}.playbar .hud .stat-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width>=1180px){.playbar .hud .stat-label{clip-path:none;width:auto;height:auto;font-size:.62rem;position:static}.playbar .hud .stat{gap:.35rem}}@media (width>=1000px){.play--split{flex-direction:row;align-items:flex-start;gap:1.1rem}.play--split>.play-main,.play--split>.reveal{flex:1 1 0;align-self:stretch}.play--split .reveal-body{flex-direction:column;align-items:stretch}.play--split .reveal-body .map-zoom{width:100%}.play--split .reveal-body .worldmap{max-width:100%}.play--split .next{margin-top:auto}.play--split .mapq-btn{flex-direction:column;flex:1;max-width:none;min-height:0;display:flex}.play--split .mapq-wrap{flex:1;min-height:0}.play--split .mapq{height:100%}.play--split .flag-svg{max-height:260px}}.game{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:22px;flex-direction:column;gap:.85rem;padding:clamp(.9rem,3vw,1.4rem);display:flex}.prompt{text-align:center;color:var(--muted);margin:0;font-size:.95rem;font-weight:600}.flag-wrap{justify-content:center;display:flex}.flag{box-shadow:var(--shadow-md);border:1px solid var(--border);background:var(--card);border-radius:12px;line-height:0;display:inline-flex;overflow:hidden}.flag-svg{width:auto;max-width:min(300px,74vw);height:auto;max-height:152px;transition:transform .4s;display:block}.name-prompt{text-align:center;letter-spacing:-.01em;padding:.6rem 0;font-size:clamp(1.6rem,6vw,2.4rem);font-weight:800}.options{grid-template-columns:repeat(2,1fr);gap:.55rem;display:grid}.option{font:inherit;border:1.5px solid var(--border);background:var(--option-bg);color:var(--text);cursor:pointer;border-radius:14px;min-height:48px;padding:.75rem .8rem;font-weight:600;transition:transform 80ms,border-color .15s,background .15s}@media (hover:hover){.option:hover:not(:disabled){border-color:var(--accent);transform:translateY(-2px)}.options--hover-muted .option:hover:not(:disabled){border-color:var(--border);transform:none}}.option:active:not(:disabled){transform:translateY(0)}.option:disabled{cursor:default}.option--correct{background:var(--correct-bg);border-color:var(--correct);color:var(--correct-text)}.option--wrong{background:var(--wrong-bg);border-color:var(--wrong);color:var(--wrong-text)}.option--dim{opacity:.5}.option--flag{min-height:0;padding:.4rem}.option-flag{aspect-ratio:3/2;object-fit:contain;border-radius:6px;width:100%;display:block}.type-form{gap:.5rem;display:flex}.type-input{font:inherit;border:1.5px solid var(--border);background:var(--option-bg);color:var(--text);border-radius:12px;flex:1;padding:.8rem 1rem}.type-input:focus{border-color:var(--accent);outline:none}.type-form .next{align-self:stretch}.reveal{border-radius:16px;flex-direction:column;gap:.5rem;padding:.8rem 1rem;animation:.18s pop;display:flex}.reveal--correct{background:var(--correct-bg);border:1px solid var(--correct)}.reveal--wrong{background:var(--wrong-bg);border:1px solid var(--wrong)}.reveal-headline{margin:0;font-size:.98rem;font-weight:700}.reveal-body{align-items:flex-start;gap:.9rem;display:flex}.fact{flex-wrap:wrap;flex:1;align-content:flex-start;gap:.4rem;display:flex}.reveal-body .map-zoom{flex:none;width:auto}.reveal-body .worldmap{max-width:210px}@media (width<=540px){.reveal-body{flex-direction:column;align-items:center}.reveal-body .map-zoom{width:100%}.reveal-body .worldmap{max-width:250px;margin:0 auto;display:block}}.fact-chip{background:var(--card);border:1px solid var(--border);border-radius:999px;padding:.25rem .7rem;font-size:.82rem}.next{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;align-self:flex-start;padding:.6rem 1.2rem;font-weight:700;transition:filter .15s,transform 80ms}.next:hover{filter:brightness(1.07);transform:translateY(-1px)}.worldmap-wrap{justify-content:center;display:flex}.worldmap-wrap--live{width:100%;display:block;position:relative}.worldmap-wrap--live .worldmap{width:100%;height:100%;position:absolute;inset:0}.worldmap--live{touch-action:none;cursor:grab}.worldmap--live:active{cursor:grabbing}.worldmap{background:color-mix(in srgb, var(--accent) 8%, var(--card));border:1px solid var(--border);border-radius:12px;width:100%;max-width:250px;height:auto;overflow:hidden}.wm-land{fill:color-mix(in srgb, var(--muted) 30%, transparent);stroke:var(--card);stroke-width:.4px}.wm-target{fill:var(--accent);stroke:#fff;stroke-width:.6px}.wm-pin{fill:var(--accent);stroke:#fff;stroke-width:1.4px}.wm-pulse{fill:var(--accent);transform-box:fill-box;transform-origin:50%;animation:1.6s ease-out infinite wmpulse}@keyframes wmpulse{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(3)}}@media (prefers-reduced-motion:reduce){.wm-pulse{opacity:.4;animation:none}}.worldmap-loading{aspect-ratio:320/168;background:color-mix(in srgb, var(--muted) 12%, var(--card));border-radius:12px;width:100%;max-width:250px}.worldmap-loading--big{max-width:560px}.play--pin .worldmap-loading--big{aspect-ratio:320/200;max-width:900px}.mapq-btn{cursor:zoom-in;background:0 0;border:none;width:100%;max-width:560px;margin:0 auto;padding:0;display:block;position:relative}.mapq-wrap{justify-content:center;display:flex}.mapq{background:color-mix(in srgb, var(--accent) 8%, var(--card));border:1px solid var(--border);border-radius:14px;width:100%;height:auto;overflow:hidden}.mq-land{fill:color-mix(in srgb, var(--muted) 30%, transparent);stroke:var(--card);stroke-width:.4px}.mq-target{fill:var(--accent);stroke:#fff;stroke-width:.7px}.mq-ring{fill:none;stroke:var(--accent);stroke-width:1.6px;opacity:.9}.mapanswer{flex-direction:column;align-items:center;gap:.6rem;width:100%;min-width:0;display:flex}.play--pin .mappick-wrap{aspect-ratio:1.25;max-width:none;max-height:62vh}.play--pin .prompt{font-size:.88rem}.prompt--inline{color:var(--text);font-size:clamp(1.15rem,3.2vw,1.6rem);font-weight:700}.app--play .play--pin .flag-svg{width:auto;max-height:150px}@media (width>=700px){.app--play .play--pin .flag-svg{max-height:110px}}@media (width<=700px){.play--pin .mapanswer{align-self:stretch;width:auto;margin-inline:calc(-1*clamp(.9rem,3vw,1.4rem))}.play--pin .mappick{border-radius:10px}}@media (width>=700px){.app--pin{min-height:100svh}.app--pin .game,.app--pin .play--pin:not(.play--split),.app--pin .play--pin:not(.play--split) .play-main,.app--pin .play--pin:not(.play--split) .mapanswer{flex:auto;min-height:0}.app--pin .play--pin:not(.play--split) .mappick-wrap{aspect-ratio:auto;flex:auto;min-height:11rem;max-height:none}}.play--split.play--pin .mappick-wrap{aspect-ratio:1.6;max-width:560px;max-height:none}.team-play--pin .mappick-wrap{aspect-ratio:1.25;max-width:none;max-height:58vh}@media (width<=700px){.team-play--pin .mapanswer{width:auto;margin-inline:calc(-1 * var(--pad));align-self:stretch}.team-play--pin .mappick{border-radius:10px}}.mappick-wrap{aspect-ratio:1.6;width:100%;min-width:0;max-width:560px;margin-inline:auto;position:relative}.mappick{border:1px solid var(--border);touch-action:none;border-radius:14px;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.mappick--live{cursor:crosshair}.mappick--live:focus{outline:none}.mappick--live:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.mp-sphere{fill:color-mix(in srgb, var(--accent) 10%, var(--card))}.mp-land{fill:color-mix(in srgb, var(--muted) 34%, transparent);stroke:var(--card);stroke-width:.4px}.mp-target{fill:var(--correct);stroke:#fff;stroke-width:.7px}.mp-link{fill:none;stroke:var(--muted);stroke-width:1.4px;stroke-dasharray:3 3}.mp-truth-halo{fill:color-mix(in srgb, var(--correct) 35%, transparent);stroke:none}.mp-truth-dot{fill:var(--correct);stroke:#fff;stroke-width:1.2px}.mp-guess-ring{fill:none;stroke:var(--accent);stroke-width:1.6px}.mp-guess-dot{fill:var(--accent);stroke:#fff;stroke-width:1.2px}.mp-other-dot{fill:color-mix(in srgb, var(--muted) 70%, transparent);stroke:var(--card);stroke-width:.8px}.mp-other-name{fill:var(--muted);text-anchor:middle;font-size:4px}.mp-other--closest .mp-other-dot{fill:var(--accent);stroke:#fff}.mp-other--closest .mp-other-name{fill:var(--text);font-weight:700}.mp-zoom{gap:.25rem;display:flex;position:absolute;bottom:.4rem;right:.4rem}.mp-zoom-btn{width:1.85rem;height:1.85rem;font:inherit;color:var(--text);background:color-mix(in srgb, var(--card) 88%, transparent);border:1px solid var(--border);cursor:pointer;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:8px;place-items:center;font-size:1.05rem;font-weight:700;line-height:1;display:grid}.mp-zoom-btn:hover:not(:disabled){background:var(--card);border-color:var(--accent)}.mp-zoom-btn:disabled{opacity:.4;cursor:default}.mp-zoom-btn--reset{font-size:.95rem}.map-submit{align-self:center}.map-hint{color:var(--muted);margin:0;font-size:.85rem}.reveal-distance{margin:.1rem 0 0;font-weight:700}.tp-distance{opacity:.9;font-size:.95rem;font-weight:600;display:block}.tc-hint{color:var(--muted);margin:.35rem 0 0;font-size:.8rem}.th-pins{justify-content:center;display:flex}.th-pins .mappick-wrap{max-width:100%;max-height:42vh}.footer{color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;font-size:.82rem;display:flex}.footer-hint{flex:1}.reset{font:inherit;color:var(--muted);border:1px solid var(--border);cursor:pointer;white-space:nowrap;background:0 0;border-radius:10px;padding:.4rem .7rem;font-size:.8rem}.reset:hover{color:var(--text);border-color:var(--muted)}.footer-actions{flex-wrap:wrap;gap:.5rem;display:flex}.fb{text-align:left;background:var(--bg);width:min(46rem,94vw);max-height:90vh;color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;gap:.8rem;padding:1.2rem;display:flex;overflow-y:auto}.fb-grid{gap:.8rem;display:grid}.fb-col{flex-direction:column;gap:.8rem;min-width:0;display:flex}@media (width>=48rem){.fb-grid{grid-template-columns:1fr 1fr;gap:.9rem 1.2rem}.fb-field--grow{flex:1}.fb-field--grow .fb-textarea{flex:1;min-height:0}}.privacy{text-align:left;background:var(--bg);width:min(34rem,94vw);max-height:90vh;color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;gap:.7rem;padding:1.2rem;display:flex;overflow-y:auto}.privacy-title{margin:0;font-size:1.15rem}.privacy-lead{margin:0;font-size:.92rem}.privacy-list{color:var(--muted);flex-direction:column;gap:.45rem;margin:0;padding-left:1.1rem;font-size:.85rem;display:flex}.privacy-note{color:var(--muted);margin:0;font-size:.82rem}.privacy-toggle{cursor:pointer;background:var(--option-bg);border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:.55rem;padding:.6rem .7rem;font-size:.9rem;font-weight:600;display:flex}.privacy-toggle input{width:1.05rem;height:1.05rem;accent-color:var(--accent);margin:.15rem 0 0}.fb-title{margin:0;font-size:1.15rem}.fb-note{color:var(--muted);margin:0;font-size:.85rem}.fb-field{flex-direction:column;gap:.35rem;display:flex}.fb-input{width:100%}.fb-textarea{font:inherit;color:var(--text);background:var(--card);border:1px solid var(--border);resize:vertical;border-radius:10px;min-height:6rem;padding:.6rem .7rem}.fb-textarea:focus-visible,.fb-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.fb-file{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.fb-attach{align-self:flex-start}.fb-attach:disabled{opacity:.5;cursor:not-allowed}.fb-hint{color:var(--muted);font-size:.75rem}.fb-hint--bad{color:var(--wrong-text)}.fb-actions{z-index:1;background:var(--bg);border-top:1px solid var(--border);margin:0 -1.2rem -1.2rem;padding:.7rem 1.2rem 1.2rem;display:flex;position:sticky;bottom:-1.2rem}.fb-shots{flex-wrap:wrap;gap:.5rem;display:flex}.fb-shot{line-height:0;position:relative}.fb-shot-img{object-fit:cover;border:1px solid var(--border);background:var(--option-bg);border-radius:8px;width:5.5rem;height:4rem}.fb-shot-x{border:1px solid var(--border);background:var(--card);width:22px;height:22px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;font-size:.7rem;line-height:1;display:grid;position:absolute;top:-6px;right:-6px}.fb-shot-x:hover{color:var(--wrong);border-color:var(--wrong)}@media (width<=480px){.fb{gap:.6rem;max-height:90vh;padding:1rem}.fb-grid,.fb-col{gap:.6rem}.fb-textarea{height:4.5rem;min-height:0}.fb-actions{margin:0 -1rem -1rem;padding:.6rem 1rem 1rem;bottom:-1rem}}@media (hover:none){.fb-hint:not(.fb-hint--bad){display:none}}.daily-card{cursor:pointer;text-align:left;border:1px solid var(--border);background:linear-gradient(120deg, color-mix(in srgb, var(--correct) 22%, var(--card)), var(--card));box-shadow:var(--shadow-md);color:var(--text);border-radius:18px;align-items:center;gap:.9rem;padding:1rem 1.2rem;display:flex}.daily-card:hover{transform:translateY(-2px)}.daily-icon{font-size:1.8rem}.daily-text{flex-direction:column;flex:1;display:flex}.daily-text strong{font-size:1.1rem}.daily-sub{color:var(--muted);font-size:.85rem}.daily-streak{font-weight:800}.mode-grid{grid-template-columns:repeat(2,1fr);gap:.7rem;display:grid}.mode-cell{flex-direction:column;gap:.6rem;display:flex}.mode-cell--open{grid-column:1/-1}.mode-card{text-align:left;cursor:pointer;background:var(--card);width:100%;color:var(--text);border:1px solid var(--border);border-left:4px solid var(--accent);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;gap:.2rem;padding:1rem 1.1rem;transition:transform 80ms,box-shadow .15s;display:flex}.mode-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.mode-icon{font-size:1.5rem}.mode-title{font-size:1.05rem;font-weight:800}.mode-desc{color:var(--muted);font-size:.85rem}.options-panel{background:var(--option-bg);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:.8rem;padding:1rem;display:flex}.opt-group{flex-direction:column;gap:.4rem;display:flex}.opt-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.72rem}.opt-choices{flex-wrap:wrap;gap:.4rem;display:flex}.chip{font:inherit;cursor:pointer;background:var(--card);color:var(--text);border:1.5px solid var(--border);border-radius:999px;padding:.45rem .8rem;font-size:.85rem;font-weight:600}.chip:hover{border-color:var(--accent)}.chip--on{background:var(--accent);color:#fff;border-color:var(--accent)}.start-btn{font:inherit;cursor:pointer;background:var(--accent);color:#fff;box-shadow:var(--shadow-sm);border:none;border-radius:12px;padding:.7rem 1rem;font-weight:800}.start-btn:hover{filter:brightness(1.07)}.home-progress{flex-direction:column;gap:.5rem;padding:.4rem .2rem;display:flex}.hp-head{color:var(--muted);justify-content:space-between;font-size:.9rem;display:flex}.region-bars{flex-direction:column;gap:.35rem;display:flex}.hp-legend{color:var(--muted);flex-wrap:wrap;gap:.25rem 1rem;margin:0;font-size:.72rem;display:flex}.hp-key{align-items:center;gap:.35rem;display:inline-flex}.hp-key:before{content:"";background:var(--key);border-radius:999px;width:.7rem;height:.5rem}.hp-key--mastered{--key:var(--accent)}.hp-key--seen{--key:var(--seen-fill)}.region-bar{color:var(--muted);grid-template-columns:80px 1fr 52px;align-items:center;gap:.5rem;font-size:.78rem;display:grid}.rb-track{background:var(--border);border-radius:999px;height:8px;position:relative;overflow:hidden}.rb-seen{background:var(--seen-fill);border-radius:999px;position:absolute;inset:0 auto 0 0}.rb-fill{background:var(--accent);border-radius:999px;height:100%;position:absolute;inset:0 auto 0 0}.rb-num{text-align:right;font-variant-numeric:tabular-nums}.home-nav{flex-wrap:wrap;gap:.5rem;display:flex}.nav-btn{min-width:120px;font:inherit;cursor:pointer;background:var(--card);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;flex:1;padding:.7rem .8rem;font-weight:700}.nav-btn:hover{border-color:var(--accent)}.screen{min-height:auto}.daily-strip{background:var(--card);border:1px solid var(--border);border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .9rem;display:flex}.ds-label{font-weight:700}.ds-dots{gap:.35rem;display:flex}.ds-dot{background:var(--option-bg);border:1px solid var(--border);width:26px;height:26px;color:var(--muted);border-radius:50%;place-items:center;font-size:.72rem;font-weight:700;display:grid}.ds-dot--on{background:var(--correct);color:#fff;border-color:var(--correct)}.col-summary{text-align:center;color:var(--muted)}.col-filter{justify-content:center}.gallery{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.6rem;display:grid}.gcell{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .4rem;display:flex;position:relative}.gcell-flag{aspect-ratio:3/2;object-fit:contain;border:1px solid var(--border);border-radius:6px;width:100%}.gcell-name{text-align:center;font-size:.72rem;line-height:1.15}.gcell-region{color:var(--muted);font-size:.62rem}.gcell-mark{font-size:.8rem;position:absolute;top:4px;right:6px}.gcell--unseen .gcell-flag{filter:grayscale()brightness(.7);opacity:.4}.gcell--unseen .gcell-name{color:var(--muted)}.gcell--mastered{border-color:var(--accent)}.ach-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.7rem;display:grid}.ach-item{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:14px;align-items:center;gap:.7rem;padding:.8rem 1rem;display:flex}.ach-item--off{opacity:.55}.ach-item--on{border-color:var(--accent)}.ach-icon{font-size:1.6rem}.ach-body{flex-direction:column;display:flex}.ach-title{font-size:.98rem}.ach-desc{color:var(--muted);font-size:.82rem}.result-wrap{align-items:center}.result-card{background:var(--card);border:1px solid var(--border);width:100%;box-shadow:var(--shadow-lg);text-align:center;border-radius:22px;flex-direction:column;align-items:center;gap:.4rem;padding:2rem 1.5rem;display:flex}.result-icon{font-size:2.6rem}.result-title{margin:0}.result-settings{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem;font-weight:600}.result-score{font-size:3rem;font-weight:800;line-height:1}.result-total{color:var(--muted);font-size:1.4rem}.result-sub{color:var(--muted);margin:0}.result-high{color:var(--correct-text);margin:.3rem 0;font-weight:800}.result-note{max-width:24rem;color:var(--muted);text-wrap:balance;margin:.3rem 0 0;font-size:.88rem}.result-card .next{align-self:center}.share-grid{letter-spacing:2px;background:var(--option-bg);border:1px solid var(--border);white-space:pre-wrap;border-radius:12px;margin:.4rem 0;padding:.8rem 1rem;font-size:1.3rem}.result-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:.6rem;display:flex}.toast-stack{z-index:50;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:16px;right:16px}.toast{background:var(--card);border:1px solid var(--accent);box-shadow:var(--shadow-lg);border-radius:12px;align-items:center;gap:.6rem;padding:.7rem .9rem;animation:.25s slideIn;display:flex}.toast-icon{font-size:1.5rem}.toast-body{flex-direction:column;display:flex}.toast-body strong{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.72rem}.flag{position:relative}.flag--clickable{cursor:zoom-in}.map-zoom{cursor:zoom-in;background:0 0;border:none;width:100%;padding:0;display:block;position:relative}.zoom-hint{background:color-mix(in srgb, var(--text) 55%, transparent);color:#fff;opacity:0;pointer-events:none;border-radius:8px;place-items:center;width:26px;height:26px;font-size:.9rem;transition:opacity .15s;display:grid;position:absolute;top:8px;right:8px}.flag--clickable:hover .zoom-hint,.flag--clickable:focus-visible .zoom-hint,.map-zoom:hover .zoom-hint,.map-zoom:focus-visible .zoom-hint{opacity:1}@media (hover:none){.zoom-hint{opacity:.85}}.modal-backdrop{z-index:1000;cursor:zoom-out;background:#000000b8;flex-direction:column;justify-content:center;align-items:center;padding:4vmin;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-content{cursor:default;flex-direction:column;align-items:center;gap:.9rem;max-width:96vw;display:flex;position:relative}.modal-close{color:#111;cursor:pointer;width:40px;height:40px;box-shadow:var(--shadow-lg);background:#fff;border:none;border-radius:50%;font-size:1.05rem;position:absolute;top:-16px;right:-16px}.flag-modal-img{width:auto;max-width:90vw;height:auto;max-height:80vh;box-shadow:var(--shadow-lg);border:1px solid #ffffff26;border-radius:14px}.map-modal{background:var(--card);width:min(96vw,1600px);box-shadow:var(--shadow-lg);border-radius:16px;padding:.6rem}.map-modal .worldmap-wrap{max-width:none;height:min(78vh,62vw)}.map-modal .worldmap{border-radius:10px;max-width:none}.modal-caption{color:#fff;margin:0;font-size:1.15rem;font-weight:700}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:.6;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@media (width<=460px){.stats{grid-template-columns:repeat(2,1fr)}.mode-grid{grid-template-columns:1fr}.mode-cell--open{grid-column:auto}.hud{grid-template-columns:repeat(4,1fr);gap:.4rem}.hud .stat{padding:.45rem .2rem}.hud .stat-value{font-size:.95rem}.hud .stat-label{letter-spacing:.02em;font-size:.58rem}}@media (pointer:coarse){.chip,.reset,.ghost-btn,.nav-btn,.next,.start-btn,.playbar .ghost-btn{min-height:44px}.modal-close{width:48px;height:48px;font-size:1.2rem}.mode-card:hover,.daily-card:hover,.nav-btn:hover,.next:hover{transform:none}}@media (width<=700px),(height<=520px){.toast-stack{top:auto;bottom:max(12px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));align-items:center}.toast{width:100%;max-width:420px}}@media (width<=560px){.modal-close{top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));position:fixed}}@media (width>=768px){.app{max-width:860px}.flag-svg{max-width:min(420px,62vw);max-height:216px}.reveal-body .worldmap{max-width:260px}.gallery{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.title{font-size:2.6rem}}@media (width>=1100px){.app{max-width:940px}.app--pin{max-width:1200px}.flag-svg{max-width:460px;max-height:240px}.app--play .flag-svg{max-width:100%;max-height:200px}}@media (orientation:landscape) and (height<=500px){.app{--pad:.5rem;gap:.5rem}.title{font-size:1.5rem}.subtitle{display:none}.game{gap:.5rem;padding:.7rem .9rem}.prompt{font-size:.85rem}.flag-svg{max-height:104px}.name-prompt{padding:.2rem 0;font-size:1.5rem}.hud .stat{padding:.25rem .2rem}.hud .stat-icon{display:none}.hud .stat-value{font-size:.9rem}.option{padding:.55rem .7rem}.home-progress{gap:.3rem}}.app--host{max-width:1200px}.team-card{cursor:pointer;text-align:left;border:1px solid var(--border);background:linear-gradient(120deg, color-mix(in srgb, var(--accent) 20%, var(--card)), var(--card));box-shadow:var(--shadow-md);color:var(--text);border-radius:18px;align-items:center;gap:.9rem;padding:1rem 1.2rem;transition:transform 80ms;display:flex}.team-card:hover{transform:translateY(-2px)}.team-go{color:var(--muted);font-size:1.3rem}.tj-choices{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem;display:grid}.tj-card{font:inherit;text-align:left;cursor:pointer;border:1.5px solid var(--border);background:var(--card);color:var(--text);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;gap:.2rem;padding:1rem;transition:transform 80ms,border-color .15s;display:flex}.tj-card:hover:not(:disabled){border-color:var(--accent);transform:translateY(-2px)}.tj-card:disabled{opacity:.55;cursor:default}.tj-card-icon{font-size:1.7rem}.tj-card-sub{color:var(--muted);font-size:.85rem}.tj-panel{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;gap:.8rem;padding:1rem;display:flex}.tj-field{flex-direction:column;gap:.3rem;display:flex}.tj-input{font:inherit;border:1.5px solid var(--border);background:var(--option-bg);color:var(--text);border-radius:12px;min-height:48px;padding:.65rem .8rem}.tj-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.tj-input--code{letter-spacing:.35em;text-align:center;text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:800}.tj-hint{color:var(--muted);font-size:.78rem}.tj-secondary{align-self:flex-start}.tm-note{color:var(--muted);text-align:center;margin:0;font-size:.9rem}.tm-error,.tm-closed{text-align:center;border-radius:12px;margin:0;padding:.55rem .8rem;font-size:.9rem;font-weight:600}.tm-error{background:var(--wrong-bg);border:1px solid var(--wrong);color:var(--wrong-text)}.tm-closed{background:var(--bg-accent);border:1px solid var(--border);color:var(--text);padding:.8rem 1rem;font-size:1.05rem;font-weight:700}.tm-conn{text-align:center;background:var(--bg-accent);border:1px solid var(--border);color:var(--muted);border-radius:999px;margin:0;padding:.4rem .7rem;font-size:.8rem;font-weight:700}.tm-conn--closed{background:var(--wrong-bg);border-color:var(--wrong);color:var(--wrong-text)}.tm-timer{flex:1;align-items:center;gap:.6rem;min-width:0;display:flex}.tm-timer-track{background:color-mix(in srgb, var(--muted) 18%, var(--card));border-radius:999px;flex:1;height:10px;overflow:hidden}.tm-timer-fill{background:var(--accent);border-radius:999px;height:100%}.tm-timer-secs{font-variant-numeric:tabular-nums;text-align:right;min-width:3.2ch;font-weight:800}.tm-timer--low .tm-timer-fill{background:var(--wrong)}.tm-timer--low .tm-timer-secs{color:var(--wrong-text)}.tm-timer--paused .tm-timer-fill{background:var(--muted)}.tm-timer--big .tm-timer-track{height:22px}.tm-timer--big .tm-timer-secs{min-width:5ch;font-size:2rem}.tm-answered{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;display:flex}.tm-answered-text{color:var(--muted);font-size:.88rem;font-weight:600}.tm-dots{flex-wrap:wrap;gap:.25rem;display:flex}.tm-dot{background:color-mix(in srgb, var(--muted) 30%, var(--card));border-radius:50%;width:10px;height:10px}.tm-dot--on{background:var(--correct)}.app--host .tm-answered-text{font-size:1.15rem}.app--host .tm-dot{width:16px;height:16px}.tm-board{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.tm-row{background:var(--card);border:1px solid var(--border);border-radius:12px;align-items:center;gap:.6rem;padding:.45rem .7rem;display:flex}.tm-row--self{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--card))}.tm-row--away{opacity:.55}.tm-rank{color:var(--muted);font-variant-numeric:tabular-nums;min-width:2ch;font-weight:800}.tm-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.tm-gain{color:var(--correct-text);font-size:.85rem;font-weight:700}.tm-star{flex:none;font-size:.95rem;line-height:1}.tm-miss-mark{color:var(--wrong-text);font-weight:700}.tm-score{font-variant-numeric:tabular-nums;text-align:right;min-width:4ch;font-weight:800}.tm-delta{font-size:.75rem;font-weight:700}.tm-delta--up{color:var(--correct-text)}.tm-delta--down{color:var(--wrong-text)}.app--host .tm-row{padding:.6rem .9rem;font-size:1.15rem}.tm-podium-wrap{flex-direction:column;gap:.8rem;display:flex}.tm-podium{justify-content:center;align-items:flex-end;gap:.6rem;display:flex}.tm-plinth{background:var(--card);border:1px solid var(--border);min-width:5.5rem;box-shadow:var(--shadow-sm);border-radius:14px;flex-direction:column;align-items:center;gap:.15rem;padding:.8rem .6rem;display:flex}.tm-plinth--1{border-color:color-mix(in srgb, #f5c518 60%, var(--border));padding-bottom:2.2rem}.tm-plinth--2{padding-bottom:1.4rem}.tm-plinth--3{padding-bottom:.9rem}.tm-plinth--self{border-color:var(--accent)}.tm-medal{font-size:1.8rem}.tm-plinth-name{text-overflow:ellipsis;white-space:nowrap;max-width:8rem;font-weight:700;overflow:hidden}.tm-plinth-score{font-variant-numeric:tabular-nums;font-weight:800}.tm-plinth-correct{color:var(--muted);font-size:.78rem}.app--host .tm-medal{font-size:3rem}.app--host .tm-plinth{min-width:9rem}.app--host .tm-plinth-name{max-width:12rem;font-size:1.3rem}.app--host .tm-plinth-score{font-size:1.6rem}.tl-invite{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:18px;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;padding:1rem;display:flex}.tl-code-block,.tl-link-block{flex-direction:column;align-items:center;gap:.3rem;display:flex}.tl-code-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.72rem}.tl-code{letter-spacing:.16em;font-variant-numeric:tabular-nums;font-size:clamp(2.6rem,9vw,5rem);font-weight:900;line-height:1}.tl-url{overflow-wrap:anywhere;text-align:center;font-weight:700}.app--host .tl-url{font-size:1.05rem}.tl-you{text-align:center}.tl-you-name{margin:0;font-size:1.3rem;font-weight:800}.tl-roster{flex-direction:column;gap:.5rem;display:flex}.tl-roster-head{color:var(--muted);text-align:center;margin:0;font-size:.95rem;font-weight:700}.tl-players{flex-wrap:wrap;justify-content:center;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.tl-player{background:var(--option-bg);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-weight:600;display:flex}.tl-player--self{border-color:var(--accent)}.tl-player--away{opacity:.5}.app--host .tl-player{padding:.5rem 1rem;font-size:1.2rem}.tl-kick{font:inherit;cursor:pointer;color:var(--muted);background:0 0;border:none;padding:0 .1rem;line-height:1}.tl-kick:hover{color:var(--wrong)}.tp-bar{align-items:center;gap:.8rem;display:flex}.tp-q{color:var(--muted);white-space:nowrap;font-size:.9rem;font-weight:700}.tp-locked{text-align:center;color:var(--muted);margin:0;font-weight:700}.option--picked{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--option-bg))}.tp-result{text-align:center;border-radius:18px;flex-direction:column;align-items:center;gap:.2rem;padding:1.4rem 1rem;display:flex}.tp-result--correct{background:var(--correct-bg);border:1px solid var(--correct)}.tp-result--wrong{background:var(--wrong-bg);border:1px solid var(--wrong)}.tp-result--pin{background:var(--bg-accent);border:1px solid var(--border)}.tp-mark{font-size:3.4rem;font-weight:900;line-height:1}.tp-result--correct .tp-mark{color:var(--correct-text)}.tp-result--wrong .tp-mark{color:var(--wrong-text)}.tp-result--pin .tp-mark{font-size:2.6rem}.tp-points{color:var(--correct-text);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:900}.tp-fastest{letter-spacing:.02em;color:var(--text);margin-top:.15rem;font-size:.8rem;font-weight:700;display:block}.tp-miss{color:var(--wrong-text);font-weight:700}.tp-answer{font-size:1.35rem}.tp-answer-flag{margin:.35rem 0 .15rem;line-height:0;display:block}.tp-answer-flag img{aspect-ratio:3/2;object-fit:cover;border:1px solid var(--border);border-radius:6px;width:5rem}.tp-answer-flag--big img{border-radius:10px;width:11rem}.tp-answer-flag--big+.tp-answer{color:var(--muted);font-size:1.1rem;font-weight:600}.team-play--count,.team-host--count{justify-content:center}.tm-count{flex-direction:column;align-items:center;gap:.3rem;display:flex}.tm-count-q{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.9rem}.tm-count-n{color:var(--accent);font-variant-numeric:tabular-nums;font-size:clamp(5rem,22vh,11rem);font-weight:900;line-height:1;animation:.9s ease-out countPop}.tm-count-note{color:var(--muted);margin:0;font-size:1.05rem}.app--host .tm-count-note{font-size:1.4rem}@keyframes countPop{0%{opacity:.25;transform:scale(1.35)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.tm-count-n{animation:none}}.tp-rank-line{color:var(--muted);align-items:center;gap:.4rem;font-weight:700;display:flex}.tp-your-rank{text-align:center;margin:0;font-size:1.2rem;font-weight:800}.th-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.th-title{font-size:clamp(1.2rem,3vw,1.9rem);font-weight:800}.th-code-small{letter-spacing:.2em;color:var(--muted);font-weight:800}.th-reveal{flex-direction:column;gap:1rem;display:flex}.th-reveal-main{flex-wrap:wrap;align-items:center;gap:1.2rem;display:flex}.th-flag{flex:none}.th-flag .flag-svg{max-width:340px;max-height:210px;box-shadow:var(--shadow-md);background:var(--card);border-radius:10px}.th-reveal-text{flex-direction:column;flex:16rem;gap:.35rem;min-width:0;display:flex}.th-itwas{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.8rem}.th-answer{overflow-wrap:break-word;margin:0;font-size:clamp(1.7rem,4vw,3rem);line-height:1.05}.th-answer-sub{color:var(--muted);margin:0;font-size:1.1rem;font-weight:600}.th-score-line{color:var(--correct-text);margin:0;font-weight:700}.th-facts{gap:.35rem}.th-map{align-self:stretch}.th-map .worldmap{max-width:100%}.th-side{flex-direction:column;gap:.4rem;display:flex}.th-side-head{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;font-size:.8rem}@media (width>=1000px){.th-reveal{flex-direction:row;align-items:flex-start}.th-reveal-main{flex-wrap:nowrap;flex:auto;min-width:0}.th-reveal-text{flex:12rem;min-width:0}.th-side{flex:0 0 20rem}}.th-dist{flex-direction:column;gap:.3rem;display:flex}.th-dist-row{align-items:center;gap:.6rem;font-weight:600;display:flex}.th-dist-name{text-overflow:ellipsis;white-space:nowrap;flex:0 0 30%;overflow:hidden}.th-dist-track{background:color-mix(in srgb, var(--muted) 15%, var(--card));border-radius:999px;flex:1;height:14px;overflow:hidden}.th-dist-fill{background:var(--muted);border-radius:999px;height:100%;display:block}.th-dist-row--correct .th-dist-name{color:var(--correct-text)}.th-dist-row--correct .th-dist-fill{background:var(--correct)}.th-dist-n{text-align:right;font-variant-numeric:tabular-nums;min-width:2ch}.th-controls{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:auto;display:flex}.th-btn{font:inherit;cursor:pointer;border:1.5px solid var(--border);background:var(--card);min-height:48px;color:var(--text);border-radius:12px;padding:.6rem 1.1rem;font-weight:700}.th-btn:hover{border-color:var(--accent)}.th-btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.th-btn--quiet{color:var(--muted)}.th-btn--quiet:hover{color:var(--wrong);border-color:var(--wrong)}.th-recap{flex-direction:column;gap:.4rem;display:flex}.th-recap-head{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;font-size:.8rem}.th-recap-flags{flex-wrap:wrap;gap:.4rem;display:flex}.th-recap-img{aspect-ratio:3/2;object-fit:cover;border:1px solid var(--border);border-radius:4px;width:54px}.th-recap-flags--named{gap:.5rem .6rem}.th-recap-flags--named .th-recap-flag{flex-direction:column;align-items:center;gap:.2rem;width:5.2rem;display:flex}.th-recap-name{text-align:center;color:var(--muted);overflow-wrap:anywhere;font-size:.7rem;line-height:1.15}.tl-scan-hint{color:var(--muted);font-size:.78rem}.tl-qr{box-shadow:var(--shadow-sm);border-radius:8px}.app--host .tl-qr{width:200px;height:200px}.tc-panel{align-self:stretch}.app--host .tc-panel .chip{min-height:44px;padding:.55rem 1rem;font-size:1rem}.app--host .tc-panel .opt-label{font-size:.8rem}.tl-setup{flex-direction:column;gap:.8rem;display:flex}@media (width>=1000px){.app--host.team-lobby{flex-flow:wrap;align-items:flex-start}.app--host.team-lobby>.topbar,.app--host.team-lobby>.tm-conn,.app--host.team-lobby>.tm-error{flex:100%}.app--host .tl-invite{flex-direction:column;flex:0 24rem;justify-content:center;align-self:stretch}.app--host .tl-setup{flex:24rem}}.th-history{border:1px solid var(--border);background:var(--option-bg);border-radius:14px;padding:.5rem .8rem}.th-history-summary{cursor:pointer;color:var(--muted);font-size:.9rem;font-weight:700}.th-history-summary:hover{color:var(--text)}.th-history-body{flex-direction:column;gap:.6rem;padding-top:.6rem;display:flex}.th-history-tabs{justify-content:flex-start}.th-games{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.th-game{background:var(--card);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.4rem .6rem;font-size:.85rem;display:flex}.th-game-when{color:var(--muted);min-width:4.5rem;font-weight:700}.th-game-what{color:var(--muted)}.th-game-winner{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.th-game-replay{padding:.3rem .6rem;font-size:.78rem}.th-table{border-collapse:collapse;width:100%;font-size:.88rem}.th-table th{text-align:right;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:.2rem .4rem;font-size:.7rem}.th-table td{text-align:right;border-top:1px solid var(--border);font-variant-numeric:tabular-nums;padding:.3rem .4rem}.th-table td.th-table-name{text-align:left;width:45%;font-weight:600}
