:root{--bg: #0f1420;--card: #1a2233;--card-2: #222c44;--text: #e8edf5;--muted: #8b98ad;--accent: #ffcc4d;--accent-2: #6fb3ff;--ok: #4caf50;--bad: #e55756;--radius: 16px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 -apple-system,Segoe UI,Roboto,sans-serif;overscroll-behavior:none;-webkit-user-select:none;user-select:none}.screen{min-height:100%;padding:18px 16px 90px;max-width:520px;margin:0 auto;animation:fadein .2s ease}@keyframes fadein{0%{opacity:0;transform:translateY(6px)}}h1{font-size:24px;margin:6px 0 14px}h2{font-size:18px;margin:18px 0 10px}.card{background:var(--card);border-radius:var(--radius);padding:16px;margin-bottom:12px}.btn{display:block;width:100%;border:0;border-radius:14px;padding:15px;font:inherit;font-weight:700;cursor:pointer;background:var(--accent);color:#14181f;transition:transform .06s ease}.btn:active{transform:scale(.97)}.btn.secondary{background:var(--card-2);color:var(--text)}.btn.ghost{background:transparent;color:var(--muted)}.btn:disabled{opacity:.45}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.menu-tile{background:var(--card);border-radius:var(--radius);padding:16px 14px;cursor:pointer;border:1px solid transparent;transition:transform .06s ease}.menu-tile:active{transform:scale(.97)}.menu-tile .emoji{font-size:30px}.menu-tile .title{font-weight:700;margin-top:8px}.menu-tile .sub{color:var(--muted);font-size:13px;margin-top:2px}.daily-banner{background:linear-gradient(135deg,#24408f,#0c5c78);border-radius:var(--radius);padding:16px;margin-bottom:12px;cursor:pointer}.topbar{display:flex;align-items:center;gap:10px;margin-bottom:12px}.topbar .back{background:var(--card);border:0;color:var(--text);border-radius:12px;padding:8px 14px;font-size:16px;cursor:pointer}.progressbar{height:8px;background:var(--card-2);border-radius:4px;overflow:hidden}.progressbar>div{height:100%;background:var(--accent);border-radius:4px;transition:width .3s ease}.q-image{width:100%;height:190px;display:flex;align-items:center;justify-content:center;background:var(--card);border-radius:var(--radius);margin:14px 0}.q-image img{max-width:85%;max-height:160px;border-radius:8px}.q-image img.shape{filter:invert(92%) sepia(8%) saturate(340%) hue-rotate(180deg)}.q-prompt{font-size:26px;font-weight:700;text-align:center;margin:26px 0}.options{display:grid;gap:10px}.option{background:var(--card);border:2px solid transparent;color:var(--text);border-radius:14px;padding:14px;font:inherit;font-weight:600;cursor:pointer;text-align:left;transition:transform .06s ease}.option:active{transform:scale(.98)}.option.correct{border-color:var(--ok);background:#4caf502e}.option.wrong{border-color:var(--bad);background:#e557562e}.option.hidden-opt{opacity:.25;pointer-events:none}.hud{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:14px}.hud b{color:var(--text)}.combo{color:var(--accent);font-weight:700}.hints{display:flex;gap:10px;margin-top:14px}.hint-btn{flex:1;background:var(--card-2);border:0;color:var(--text);border-radius:12px;padding:9px 10px;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px}.hint-btn .t{font-weight:600}.hint-btn .n{font-size:12px;color:var(--muted)}.next-btn{margin-top:14px;position:sticky;bottom:10px;box-shadow:0 6px 22px #0f14208c}.screen.with-next{padding-bottom:24px}.hint-btn:disabled{opacity:.4}.fact{background:var(--card-2);border-left:3px solid var(--accent);padding:10px 12px;border-radius:8px;font-size:14px;color:var(--muted);margin-top:12px}.big-score{font-size:56px;font-weight:800;text-align:center;color:var(--accent);margin:10px 0}.guess-row{display:flex;align-items:center;gap:10px;background:var(--card);border-radius:12px;padding:10px 12px;margin-bottom:8px}.guess-row .dist{margin-left:auto;color:var(--muted);white-space:nowrap}.autocomplete{position:relative}.autocomplete input{width:100%;background:var(--card);border:1px solid var(--card-2);color:var(--text);border-radius:12px;padding:13px 14px;font:inherit}.ac-list{position:absolute;left:0;right:0;bottom:100%;margin-bottom:6px;background:var(--card-2);border-radius:12px;max-height:220px;overflow:auto;z-index:5}.ac-item{padding:11px 14px;cursor:pointer}.ac-item:active{background:var(--card)}.lb-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px}.lb-row.me{background:var(--card-2)}.lb-row .rank{width:34px;color:var(--muted)}.lb-row .score{margin-left:auto;font-weight:700}.tabs{display:flex;background:var(--card);border-radius:12px;padding:4px;margin-bottom:12px}.tabs button{flex:1;background:transparent;border:0;color:var(--muted);padding:9px;border-radius:9px;font:inherit;font-weight:600;cursor:pointer}.tabs button.active{background:var(--card-2);color:var(--text)}.stamp-grid{display:flex;flex-wrap:wrap;gap:6px}.stamp{font-size:22px;opacity:.25}.stamp.have{opacity:1}.ach-row{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--card-2)}.ach-row .icon{font-size:26px;width:36px;text-align:center}.ach-row.locked{opacity:.4}.ach-row .t{font-weight:700}.ach-row .d{color:var(--muted);font-size:13px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:24px;background:var(--card-2);color:var(--text);border-radius:12px;padding:12px 18px;z-index:50;box-shadow:0 6px 24px #0006;animation:fadein .2s ease;max-width:90%;text-align:center}.lives{letter-spacing:3px}.timer{font-variant-numeric:tabular-nums;font-weight:800;color:var(--accent)}.timer.low{color:var(--bad)}.center{text-align:center}.muted{color:var(--muted)}.spacer{flex:1}.row{display:flex;align-items:center;gap:10px}.q-image img.shape{max-width:100%;max-height:168px;transition:transform .2s ease}.map-box{background:var(--card);border-radius:var(--radius);margin:12px 0 8px;overflow:hidden}.map-box svg{display:block;width:100%;height:auto}.map-c{stroke:var(--bg);stroke-width:.4;vector-effect:non-scaling-stroke}.map-c.bg{fill:#2a3347}.map-c.neighbor{fill:#4a5d80}.map-c.collected{fill:var(--accent);opacity:.85}.map-c.focus{fill:var(--accent);stroke:#fff;stroke-width:.8}.map-flag{font-size:13px;paint-order:stroke}.map-flag.main{font-size:18px}
