:root{--bg: #0b0e14;--bg-raised: #131822;--bg-inset: #0e131b;--border: #232a38;--text: #edf0f5;--text-dim: #8b93a7;--accent: #e0a94a;--accent-dim: #6b5228;--accent-text: #1a1305;--danger: #d9695f;--ok: #6ec9a4;--radius: 14px;--touch: 44px;--map-w: 1000;--map-h: 500}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.45}#app{max-width:640px;margin:0 auto;padding:0 16px 48px;min-height:100dvh}h1,h2,h3{line-height:1.2;margin:0 0 8px}h1{font-size:1.6rem;letter-spacing:-.01em}h2{font-size:1.15rem}p{margin:0 0 12px;color:var(--text-dim)}a{color:var(--accent)}button{font:inherit}.header{padding:24px 0 8px}.tagline{color:var(--text-dim);font-size:.95rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch);padding:0 20px;border-radius:999px;border:none;background:var(--accent);color:var(--accent-text);font-weight:600;font-size:1rem;cursor:pointer;width:100%}.btn:active{transform:scale(.98)}.btn.secondary{background:var(--bg-raised);color:var(--text);border:1px solid var(--border)}.btn:disabled{opacity:.5;cursor:default}input[type=text]{width:100%;min-height:var(--touch);padding:0 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-inset);color:var(--text);font-size:1rem;margin-bottom:12px}input[type=text]:focus{outline:2px solid var(--accent);outline-offset:-1px}.card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.map-wrap{position:relative;width:100%;aspect-ratio:2 / 1;background:var(--bg-inset);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.map-wrap svg{width:100%;height:100%;display:block}.map-wrap path.country{fill:#1b2130;stroke:var(--bg-inset);stroke-width:.4}.map-wrap path.country.visited{fill:var(--accent-dim)}.map-wrap path.country.first{fill:var(--accent)}.route-line{fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round;opacity:.9}.route-line.animated{transition:stroke-dashoffset .9s ease-out}@media (prefers-reduced-motion: reduce){.route-line.animated{transition:none}}.stat-row{display:flex;gap:16px;margin:12px 0;flex-wrap:wrap}.stat{flex:1;min-width:90px}.stat .value{font-size:1.5rem;font-weight:700}.stat .label{font-size:.78rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.arrival-banner{text-align:center;padding:8px 0 4px}.arrival-banner .position{font-size:2rem;font-weight:700;color:var(--accent)}.badge{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--bg-inset);border:1px solid var(--border);font-size:.8rem;color:var(--text-dim);margin:0 6px 6px 0}.badge.first{background:var(--accent-dim);color:var(--accent);border-color:transparent}.journey{list-style:none;margin:0;padding:0}.journey li{display:flex;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:.92rem}.journey li:last-child{border-bottom:none}.journey .pos{color:var(--text-dim);font-variant-numeric:tabular-nums;min-width:1.6em}.near-miss{font-size:.85rem;color:var(--text-dim)}.countdown{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:600}.dormant-notice{color:var(--danger);font-weight:600}.leaderboard{list-style:none;margin:0;padding:0}.leaderboard li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.leaderboard li:last-child{border-bottom:none}.leaderboard a{color:var(--text);text-decoration:none;font-weight:600;flex:1}.leaderboard .score{color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums}.leaderboard .meta{color:var(--text-dim);font-size:.8rem}.share-actions{display:flex;flex-direction:column;gap:10px}.skip-btn{position:absolute;top:10px;right:10px;min-height:32px;padding:0 12px;font-size:.78rem;border-radius:999px;border:1px solid var(--border);background:#0b0e14b3;color:var(--text)}.error{color:var(--danger)}.loading{color:var(--text-dim);padding:40px 0;text-align:center}.footer-link{display:block;text-align:center;margin-top:24px;color:var(--text-dim);font-size:.85rem}
