:root{--blue:#7b9bff;--blue-dark:#2c3f9e;--gold:#fc0;--ink:#eef2ff;--muted:#9aa7d4;--bg:#060a1c;--card:#ffffff12;--panel:#0d1430;--line:#ffffff29;--good:#16a34a;--ok:#ca8a04;--bad:#dc2626;--radius:18px;color:var(--ink);background:var(--bg);-webkit-tap-highlight-color:transparent;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overscroll-behavior:none}h1{letter-spacing:-.02em;margin:0;font-size:2rem}a{color:var(--blue)}.screen{max-width:560px;min-height:100dvh;padding:24px 16px calc(24px + env(safe-area-inset-bottom));margin:0 auto}.center{color:var(--muted);place-items:center;display:grid}.btn{font:inherit;cursor:pointer;border:0;border-radius:999px;padding:14px 22px;font-size:1rem;font-weight:700;transition:transform 80ms,background .15s}.btn:active{transform:scale(.97)}.btn.primary{color:#1a1200;background:linear-gradient(#ffd84d,#ffb800);box-shadow:0 4px #b37f00,0 8px 24px #ffb80040}.btn.primary:disabled{color:#ffffff73;box-shadow:none;cursor:default;background:#ffffff24}.btn.big{width:100%;padding:18px 28px;font-size:1.1rem}.start{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.logo{background:var(--blue-dark);border-radius:28px;place-items:center;width:96px;height:96px;margin-bottom:8px;font-size:3.5rem;animation:2.4s ease-in-out infinite bob;display:grid;box-shadow:0 6px #1a2766}@keyframes bob{50%{transform:translateY(-6px)rotate(-3deg)}}.tagline{color:var(--muted);max-width:26em;margin:0;font-size:1.05rem;line-height:1.45}.round-no{color:var(--blue);margin:0;font-weight:700}.dev{color:#3b2f00;background:#fde68a;border-radius:8px;margin:0;padding:4px 10px;font-size:.85rem}.start .btn{max-width:340px;margin-top:10px}.countdown{color:var(--muted);flex-direction:column;align-items:center;gap:2px;font-size:.9rem;display:flex}.countdown strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.6rem}.question{flex-direction:column;max-width:none;height:100dvh;min-height:0;padding:0;display:flex}.fact-card{background:var(--panel);padding:14px 16px 16px;padding-top:calc(14px + env(safe-area-inset-top));z-index:1;box-shadow:0 2px 16px #00000073}.progress{color:var(--blue);align-items:center;gap:10px;font-size:.9rem;font-weight:800;display:flex}.dots{gap:5px;display:flex}.dots i{background:#ffffff2e;border-radius:3px;width:22px;height:6px}.dots i.done{background:var(--blue)}.dots i.current{background:var(--gold)}.fact{margin:8px 0 0;font-size:1.12rem;font-weight:650;line-height:1.38}.map-wrap{background:radial-gradient(1px 1px at 12% 18%,#fff8,#0000),radial-gradient(1px 1px at 72% 12%,#fff9,#0000),radial-gradient(1.5px 1.5px at 85% 64%,#fff7,#0000),radial-gradient(1px 1px at 30% 82%,#fff8,#0000),radial-gradient(1px 1px at 55% 40%,#fff5,#0000),radial-gradient(1.5px 1.5px at 8% 58%,#fff6,#0000),radial-gradient(1px 1px at 92% 30%,#fff8,#0000),radial-gradient(at 50% 45%,#1e2a6b 0%,#0b1033 70%);flex:1;min-height:0;position:relative}.map-wrap .map{position:absolute;inset:0}.map-loading{color:#dbe4ff;pointer-events:none;place-items:center;font-weight:600;animation:1.4s ease-in-out infinite pulse;display:grid;position:absolute;inset:0}@keyframes pulse{50%{opacity:.45}}.solution-pin{pointer-events:none}.solution-pin svg{filter:drop-shadow(0 2px 3px #0009);transform-origin:50% 100%;animation:.45s cubic-bezier(.3,1.6,.5,1) .6s both pin-drop;display:block}@keyframes pin-drop{0%{opacity:0;transform:translateY(-24px)scale(.6)}}.panel{background:var(--panel);padding:14px 16px calc(14px + env(safe-area-inset-bottom));z-index:1;box-shadow:0 -2px 16px #00000073}.guess{align-items:center;gap:12px;display:flex}.hint{color:var(--muted);flex:1;margin:0;font-size:.92rem}.feedback{flex-direction:column;gap:6px;animation:.25s ease-out rise;display:flex}.feedback .btn{margin-top:6px}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.feedback-head{justify-content:space-between;align-items:baseline;display:flex}.country{font-size:1.25rem}.pts{font-size:1.1rem;font-weight:800}.pts.good{color:var(--good)}.pts.ok{color:var(--ok)}.pts.bad{color:var(--bad)}.dist{color:var(--muted);margin:0;font-size:.9rem;font-weight:600}.explanation{max-height:8.5em;margin:0;font-size:.95rem;line-height:1.4;overflow-y:auto}.explanation a{white-space:nowrap;font-size:.85rem}.result{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.score{align-items:baseline;gap:8px;display:flex}.score strong{color:var(--blue);letter-spacing:-.03em;font-size:4rem;line-height:1}.score span{color:var(--muted);font-weight:600}.verdict{margin:0;font-size:1.15rem;font-weight:700}.breakdown{flex-direction:column;gap:8px;width:100%;margin:0;padding:0;list-style:none;display:flex}.breakdown li{background:var(--card);text-align:left;box-shadow:inset 0 0 0 1px var(--line);border-radius:14px;align-items:center;gap:12px;padding:10px 14px;display:flex}.breakdown .sq{font-size:1.3rem}.breakdown .what{flex-direction:column;flex:1;min-width:0;display:flex}.breakdown small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.breakdown .p{font-variant-numeric:tabular-nums;font-weight:800}.stats{gap:10px;width:100%;display:flex}.stats div{background:var(--card);border-radius:14px;flex-direction:column;flex:1;padding:10px 6px;display:flex}.stats span{color:var(--muted);font-size:.8rem}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));color:#0b1033;z-index:10;background:#fff;border-radius:999px;padding:10px 18px;font-weight:600;position:fixed;transform:translate(-50%)}.ad{border-top:1px solid var(--line);width:100%;min-height:120px;margin-top:8px;padding-top:6px}.ad-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:.7rem;display:block}.maplibregl-ctrl-attrib{font-size:10px}.modes{flex-wrap:wrap;justify-content:center;gap:8px;max-width:360px;display:flex}.mode{border:2px solid var(--line);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:8px 14px;font-weight:700}.mode.active{border-color:var(--blue);background:var(--blue-dark);color:#fff}.mode .check{color:var(--good);margin-left:6px}.mode.active .check{color:var(--gold)}.btn.secondary{color:var(--ink);border:2px solid var(--line);background:#ffffff0f}.platforms{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;display:flex}.platform{color:#fff;text-align:center;border-radius:12px;flex:calc(25% - 8px);min-width:76px;padding:10px 8px;font-size:.85rem;font-weight:700;text-decoration:none;transition:transform 80ms,filter .15s}.platform:hover{filter:brightness(1.1)}.platform:active{transform:scale(.96)}.premium-actions{gap:8px;width:100%;max-width:420px;display:flex}.premium-actions .btn{flex:1;padding:12px 10px;font-size:.92rem}.premium-badge{top:calc(16px + env(safe-area-inset-top));font:inherit;background:var(--gold);color:var(--ink);cursor:pointer;border:0;border-radius:999px;padding:6px 12px;font-size:.85rem;font-weight:700;position:absolute;right:16px}.start{position:relative}.muted{color:var(--muted);margin:0;line-height:1.45}.small{font-size:.85rem}.error{color:var(--bad);margin:0;font-weight:600}.sheet-backdrop{z-index:20;background:#02040eb3;justify-content:center;align-items:flex-end;animation:.15s ease-out fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.sheet{background:var(--panel);width:100%;max-width:480px;max-height:92dvh;padding:24px 16px calc(24px + env(safe-area-inset-bottom));text-align:center;border-radius:24px 24px 0 0;flex-direction:column;gap:14px;animation:.2s ease-out rise;display:flex;position:relative;overflow-y:auto}.sheet h2{margin:0;font-size:1.5rem}.sheet-close{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:1.8rem;line-height:1;position:absolute;top:10px;right:12px}.perks{text-align:left;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.perks li:before{content:"✓ ";color:var(--good);font-weight:800}.plans{gap:8px;display:flex}.plan{border:2px solid var(--line);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;border-radius:16px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:16px 6px 12px;display:flex;position:relative}.plan.active{border-color:var(--gold);box-shadow:0 0 0 3px #fc03}.plan .price{font-size:1.25rem;font-weight:800}.plan small{color:var(--muted)}.plan .tag{background:var(--gold);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:800;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.restore summary{cursor:pointer;color:var(--blue);font-weight:600}.restore-row{gap:8px;margin-top:10px;display:flex}.restore-row input,.field input{border:2px solid var(--line);min-width:0;font:inherit;background:var(--card);color:var(--ink);border-radius:12px;flex:1;padding:12px 14px;font-size:1rem}.field{text-align:left;flex-direction:column;gap:6px;width:100%;max-width:360px;font-weight:600;display:flex}.premium-info{flex-direction:column;align-items:center;gap:6px;display:flex}.premium-active{color:var(--good);margin:0;font-weight:700}.code{letter-spacing:.08em;font-variant-numeric:tabular-nums;background:var(--card);-webkit-user-select:all;user-select:all;border-radius:12px;margin:0;padding:8px 18px;font-size:1.8rem;font-weight:800}.leaderboard{text-align:left;width:100%;max-width:420px}.leaderboard h2{margin:0 0 8px;font-size:1.1rem}.leaderboard ol{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.leaderboard li{background:var(--card);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.leaderboard li.me{box-shadow:inset 0 0 0 2px var(--blue)}.leaderboard .rank{width:1.6em;color:var(--muted);font-weight:700}.leaderboard .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:700;overflow:hidden}.leaderboard .squares{letter-spacing:-1px;font-size:.8rem}.legal{color:var(--muted);margin-top:auto;padding-top:24px;font-size:.8rem}.legal a{color:var(--muted)}.daily-card{background:var(--card);width:100%;max-width:420px;box-shadow:0 10px 40px #00000073, inset 0 0 0 1px var(--line);-webkit-backdrop-filter:blur(10px);border-radius:22px;flex-direction:column;align-items:center;gap:10px;padding:18px 16px;display:flex}.daily-label{color:var(--blue);margin:0;font-size:1.05rem;font-weight:800}.free-tag{background:var(--good);color:#fff;vertical-align:middle;border-radius:999px;margin-left:4px;padding:2px 8px;font-size:.75rem;font-weight:800}.streak{color:#ffb347;margin:0;font-size:1.05rem;font-weight:800}.more-modes{flex-direction:column;align-items:center;gap:8px;width:100%;max-width:420px;display:flex}.more-modes h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:6px 0 0;font-size:.85rem}.more-modes .mode{padding:7px 12px;font-size:.9rem}.stats strong{font-size:1.35rem}.start-hero{background:radial-gradient(1px 1px at 8% 12%, #fff9, transparent), radial-gradient(1px 1px at 22% 38%, #fff6, transparent), radial-gradient(1.5px 1.5px at 78% 9%, #fffa, transparent), radial-gradient(1px 1px at 91% 33%, #fff7, transparent), radial-gradient(1px 1px at 64% 22%, #fff5, transparent), radial-gradient(1.5px 1.5px at 35% 6%, #fff8, transparent), radial-gradient(1px 1px at 5% 52%, #fff6, transparent), radial-gradient(1px 1px at 96% 58%, #fff6, transparent), radial-gradient(ellipse 70% 45% at 50% 30%, #16255e 0%, transparent 70%), var(--bg);flex-direction:column;align-items:center;min-height:100dvh;display:flex;position:relative;overflow:hidden}.hero-globe{left:50%;top:calc(56px + env(safe-area-inset-top));aspect-ratio:1;width:min(118vw,720px);transition:transform .38s ease-in,opacity .38s ease-in;position:absolute;transform:translate(-50%)}.hero-globe .spinning-globe{opacity:0;transition:opacity 1.2s;position:absolute;inset:0}.hero-globe .spinning-globe.ready{opacity:1}.spinning-globe canvas{outline:none}.hero-top{z-index:2;width:100%;max-width:560px;padding:calc(14px + env(safe-area-inset-top)) 16px 0;justify-content:space-between;align-items:center;display:flex;position:relative}.brand{letter-spacing:.02em;color:var(--ink);font-weight:800}.hero-top .premium-badge{position:static}.hero-content{z-index:2;width:100%;max-width:560px;padding:48px 16px calc(24px + env(safe-area-inset-bottom));text-align:center;background:linear-gradient(180deg, transparent 0, #060a1cd9 90px, var(--bg) 180px);flex-direction:column;align-items:center;gap:14px;margin-top:max(38vh,min(52vw,400px));display:flex;position:relative}.hero-title{letter-spacing:-.03em;text-shadow:0 4px 30px #0009;font-size:clamp(2.1rem,8vw,3.2rem);line-height:1.05}.hero-sub{max-width:24em;color:var(--muted);margin:0;font-size:1.05rem;line-height:1.45}.btn.play{padding:18px 28px;font-size:1.25rem}.start-hero.leaving .hero-globe{opacity:0;transform:translate(-50%)scale(1.6)}.start-hero .hero-content,.start-hero .hero-top{transition:opacity .25s}.start-hero.leaving .hero-content,.start-hero.leaving .hero-top{opacity:0}@media (prefers-reduced-motion:reduce){.hero-globe,.spinning-globe{transition:none}}.map-wrap .maplibregl-canvas-container.maplibregl-interactive{cursor:crosshair}.map-wrap .maplibregl-canvas-container.maplibregl-interactive:active{cursor:grabbing}.map-debug{z-index:5;pointer-events:none;color:#9ef59e;white-space:pre-wrap;background:#000000b3;border-radius:8px;max-width:70%;margin:0;padding:6px 8px;font:11px/1.4 ui-monospace,monospace;position:absolute;top:8px;left:8px}:root{--rail-w:160px;--rail-gap:24px;--rail-space:calc(var(--rail-w) + 2 * var(--rail-gap))}.rail{z-index:3;width:var(--rail-w);position:fixed;top:50%;transform:translateY(-50%)}.rail-left{left:var(--rail-gap)}.rail-right{right:var(--rail-gap)}.ad.ad-rail{text-align:center;border:0;min-height:0;margin:0;padding:0}.ad-placeholder{border:2px dashed var(--line);min-height:120px;color:var(--muted);border-radius:8px;place-items:center;font-size:.8rem;display:grid}.ad-rail .ad-placeholder{width:var(--rail-w);height:600px}.has-rails .question{max-width:calc(100vw - 2 * var(--rail-space));margin:0 auto}.anchor-bar{z-index:15;padding:4px 0 calc(4px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 16px #00000073}.ad.ad-anchor{text-align:center;border:0;width:auto;min-height:0;margin:0;padding:0}.ad-anchor .ad-label{margin-bottom:2px;font-size:.6rem}.ad-anchor .ad-placeholder{width:320px;height:50px;min-height:0}.anchor-spacer{width:100%;height:calc(74px + env(safe-area-inset-bottom));flex-shrink:0}.toast{z-index:25;bottom:calc(90px + env(safe-area-inset-bottom))}
