:root{--font-main: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", monospace;--bg-void: #06080e;--bg-card: rgba(13, 18, 30, .82);--bg-card-hover: rgba(20, 27, 44, .9);--bg-glass-blur: blur(16px);--border-subtle: rgba(255, 255, 255, .08);--border-glow: rgba(6, 182, 212, .35);--neon-cyan: #06b6d4;--neon-cyan-glow: rgba(6, 182, 212, .4);--gold-primary: #f59e0b;--gold-glow: rgba(245, 158, 11, .35);--emerald-green: #10b981;--emerald-glow: rgba(16, 185, 129, .35);--rose-alert: #ef4444;--rose-glow: rgba(239, 68, 68, .4);--purple-accent: #a855f7;--text-pure: #ffffff;--text-dim: #94a3b8;--text-muted: #64748b;--ease-spring: cubic-bezier(.16, 1, .3, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent!important}button,[role=button],a,input,select,textarea{-webkit-tap-highlight-color:transparent!important;-webkit-touch-callout:none;outline:none;touch-action:manipulation}button:focus:not(:focus-visible),[role=button]:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}html,body{width:100%;height:100%;height:100dvh;overflow:hidden;background-color:var(--bg-void);color:var(--text-pure);font-family:var(--font-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:pan-x pan-y}#root{width:100%;height:100%;height:100dvh;position:relative;overflow:hidden;touch-action:pan-x pan-y}.app-container{width:100%;height:100%;height:100dvh;position:relative;overflow:hidden;display:flex;flex-direction:column;touch-action:pan-x pan-y}.practice-settings-modal,.leaderboard-modal,.party-scoreboard-scroll,.city-explore-modal-body,.legal-modal-content,.podium-screen,[style*="overflow-y: auto"]{touch-action:pan-y}.globe-viewport-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;overflow:hidden;background:radial-gradient(circle at center,#0e172a,#06080e 85%);touch-action:none;user-select:none;-webkit-user-select:none}.globe-canvas-container,.globe-canvas-container .scene-container,.globe-canvas-container canvas{width:100%;height:100%;outline:none;touch-action:none;user-select:none;-webkit-user-select:none}.globe-canvas-container.non-interactive,.globe-canvas-container.non-interactive canvas{pointer-events:none!important;cursor:default!important}.center-reticle-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:15;display:flex;align-items:center;justify-content:center}.reticle-outer-ring{position:absolute;width:76px;height:76px;border:1px dashed rgba(6,182,212,.4);border-radius:50%;transition:all .3s var(--ease-spring);animation:reticleSpin 24s linear infinite}@keyframes reticleSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.reticle-tick{position:absolute;background-color:var(--neon-cyan)}.tick-top{top:-6px;left:50%;transform:translate(-50%);width:2px;height:6px}.tick-bottom{bottom:-6px;left:50%;transform:translate(-50%);width:2px;height:6px}.tick-left{left:-6px;top:50%;transform:translateY(-50%);width:6px;height:2px}.tick-right{right:-6px;top:50%;transform:translateY(-50%);width:6px;height:2px}.reticle-corner{position:absolute;width:8px;height:8px;border-color:var(--neon-cyan);border-style:solid;opacity:.8}.corner-tl{top:-2px;left:-2px;border-width:2px 0 0 2px}.corner-tr{top:-2px;right:-2px;border-width:2px 2px 0 0}.corner-bl{bottom:-2px;left:-2px;border-width:0 0 2px 2px}.corner-br{bottom:-2px;right:-2px;border-width:0 2px 2px 0}.reticle-impact-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--neon-cyan);border:1.5px solid #ffffff;box-shadow:0 0 12px var(--neon-cyan-glow),0 0 4px #fff;z-index:2;transition:all .25s var(--ease-spring)}.center-reticle-container.is-locked .reticle-outer-ring{border-color:var(--emerald-green);box-shadow:0 0 20px var(--emerald-glow)}.center-reticle-container.is-locked .reticle-tick{background-color:var(--emerald-green)}.center-reticle-container.is-locked .reticle-corner{border-color:var(--emerald-green)}.center-reticle-container.is-locked .reticle-impact-dot{background:var(--emerald-green);border-color:#fff;box-shadow:0 0 16px var(--emerald-glow),0 0 4px #fff}.game-top-header{position:absolute;top:0;left:0;width:100%;z-index:20;padding:max(20px,calc(16px + env(safe-area-inset-top,0px))) 16px 0;pointer-events:none;display:flex;flex-direction:column;align-items:center}.header-meta-row{width:100%;max-width:580px;display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;pointer-events:auto}.hud-badge{background:#06080eeb;backdrop-filter:var(--bg-glass-blur);-webkit-backdrop-filter:var(--bg-glass-blur);border:1px solid rgba(255,255,255,.14);padding:7px 15px;min-height:38px;box-sizing:border-box;border-radius:9999px;display:flex;align-items:center;gap:8px;box-shadow:0 4px 20px #000000a6,0 0 1px #ffffff1a;cursor:default}.hud-badge.rank-badge{cursor:pointer;transition:all .2s var(--ease-smooth)}.hud-badge.rank-badge:hover,.hud-badge.rank-badge:active{border-color:var(--gold-primary);background:var(--bg-card-hover);transform:translateY(-1px)}.badge-label{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--text-dim)}.badge-val{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--text-pure)}.badge-total{font-size:11px;color:var(--text-muted)}.trophy-icon{color:var(--gold-primary)}.hud-timer{background:#06080eeb;backdrop-filter:var(--bg-glass-blur);-webkit-backdrop-filter:var(--bg-glass-blur);border:1px solid var(--border-subtle);padding:6px 16px;border-radius:9999px;display:flex;align-items:center;gap:6px;box-shadow:0 4px 20px #000000a6;font-family:var(--font-mono);font-size:15px;font-weight:700;color:var(--neon-cyan);transition:all .25s ease}.timer-urgent{border-color:var(--rose-alert);background:#ef444433;color:#ff6b6b;box-shadow:0 0 20px var(--rose-glow);animation:timerPulse .6s infinite alternate}.timer-infinity-icon{display:inline-block;vertical-align:middle;color:var(--neon-cyan)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes timerPulse{0%{transform:scale(1)}to{transform:scale(1.08)}}.hud-timer.timer-practice{border-color:#06b6d473;background:#060a12f0;color:var(--neon-cyan);box-shadow:0 4px 20px #000000a6}.settings-practice-badge{background:linear-gradient(135deg,#06b6d4,#2563eb);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid rgba(255,255,255,.25);color:#fff;cursor:pointer;box-shadow:0 6px 20px #06b6d466;transition:all .2s var(--ease-smooth)}.settings-practice-badge:hover,.settings-practice-badge:focus-visible{background:linear-gradient(135deg,#22d3ee,#3b82f6);border-color:#ffffff73;color:#fff;transform:translateY(-1px);box-shadow:0 8px 26px #06b6d48c}.settings-practice-badge:active{transform:translateY(1px);background:linear-gradient(135deg,#0891b2,#1d4ed8)}.settings-practice-badge .settings-icon,.settings-practice-badge .badge-label{color:#fff}.exit-practice-badge{background:linear-gradient(135deg,#ef4444,#dc2626);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid rgba(255,255,255,.25);color:#fff;cursor:pointer;box-shadow:0 6px 20px #ef444466;transition:all .2s var(--ease-smooth)}.exit-practice-badge:hover,.exit-practice-badge:focus-visible{background:linear-gradient(135deg,#f87171,#ef4444);border-color:#ffffff73;color:#fff;transform:translateY(-1px);box-shadow:0 8px 26px #ef44448c}.exit-practice-badge:active{transform:translateY(1px);background:linear-gradient(135deg,#dc2626,#b91c1c)}.exit-practice-badge .exit-icon,.exit-practice-badge .badge-label{color:#fff}.exit-only-header{z-index:1001;pointer-events:none}.exit-only-row{justify-content:flex-end}.timer-progress-track{width:100%;max-width:580px;height:4px;background:#ffffff14;border-radius:9999px;overflow:hidden;margin-bottom:12px}.timer-progress-track.practice-track{background:linear-gradient(90deg,transparent,rgba(6,182,212,.3),transparent);height:2px}.timer-progress-fill{height:100%;background:linear-gradient(90deg,#06b6d4,#3b82f6);border-radius:9999px;transition:width .2s linear}.timer-progress-fill.fill-urgent{background:linear-gradient(90deg,#f59e0b,#ef4444)}.target-city-card{width:100%;max-width:440px;background:var(--bg-card);backdrop-filter:var(--bg-glass-blur);-webkit-backdrop-filter:var(--bg-glass-blur);border:1px solid rgba(6,182,212,.3);border-radius:16px;padding:12px 18px;box-shadow:0 8px 32px #00000080,0 0 15px #06b6d426;display:flex;flex-direction:column;align-items:center;text-align:center;animation:slideDown .4s var(--ease-spring)}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.target-card-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap;justify-content:center}.target-tag{font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--neon-cyan)}.target-tags-row{display:inline-flex;align-items:center;gap:6px}.continent-tag{font-size:9px;font-weight:700;letter-spacing:.04em;color:var(--text-dim);background:#ffffff0f;border:1px solid rgba(255,255,255,.08);padding:2px 7px;border-radius:4px}.difficulty-tag{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:2px 7px;border-radius:4px;display:inline-flex;align-items:center;line-height:1.2}.difficulty-tier-1{color:#38bdf8;background:#38bdf81f;border:1px solid rgba(56,189,248,.3)}.difficulty-tier-2{color:#34d399;background:#34d3991f;border:1px solid rgba(52,211,153,.3)}.difficulty-tier-3{color:#fbbf24;background:#fbbf241f;border:1px solid rgba(251,191,36,.3)}.difficulty-tier-4{color:#c084fc;background:#c084fc24;border:1px solid rgba(192,132,252,.35);box-shadow:0 0 10px #c084fc33}.target-city-identity{display:flex;align-items:center;justify-content:center;gap:10px;margin:2px 0}.target-flag{font-size:28px;line-height:1}.target-name-group{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.target-city-name{font-size:22px;font-weight:800;letter-spacing:-.01em;line-height:1.15;color:var(--text-pure);text-transform:uppercase}.target-country-name{font-size:12px;font-weight:500;color:var(--text-dim)}.target-hint{font-size:11px;font-style:italic;color:var(--text-muted);margin-top:4px;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-bottom-action{position:absolute;bottom:0;left:0;width:100%;z-index:20;padding:0 16px max(16px,env(safe-area-inset-bottom,16px));pointer-events:none;display:flex;justify-content:center}.bottom-action-dock{width:100%;max-width:430px;background:var(--bg-card);backdrop-filter:var(--bg-glass-blur);-webkit-backdrop-filter:var(--bg-glass-blur);border:1px solid rgba(6,182,212,.28);border-radius:20px;padding:12px 14px;box-shadow:0 12px 36px #000000a6,0 0 20px #06b6d41f;display:flex;flex-direction:column;gap:10px;pointer-events:auto;touch-action:none;animation:dockSlideUp .35s cubic-bezier(.16,1,.3,1)}@keyframes dockSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.city-identity-target,.bottom-city-target{display:flex;align-items:center;justify-content:center;gap:14px;padding:4px 8px 2px;width:100%;max-width:100%;min-width:0;overflow:hidden;box-sizing:border-box}.city-identity-flag,.bottom-city-flag{font-size:38px;line-height:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5));flex-shrink:0}.city-identity-text,.bottom-city-text{display:flex;flex-direction:column;align-items:flex-start;min-width:0;max-width:100%;overflow:hidden}.city-identity-name,.bottom-city-name{display:block;max-width:100%;font-size:21px;font-weight:800;letter-spacing:-.01em;line-height:1.15;color:#fff;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 4px rgba(0,0,0,.6)}.city-identity-country,.bottom-city-country{display:block;max-width:100%;font-size:13px;font-weight:600;color:var(--neon-cyan);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.02em}.lock-guess-btn{position:relative;width:100%;height:48px;border-radius:12px;border:none;background:linear-gradient(135deg,#06b6d4,#2563eb);color:#fff;font-family:var(--font-main);font-size:15px;font-weight:800;letter-spacing:.06em;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;touch-action:none;box-shadow:0 4px 18px #06b6d459,0 2px 6px #0006;transition:all .25s var(--ease-smooth);overflow:visible}.lock-guess-btn .btn-icon,.lock-guess-btn .btn-label{position:relative;z-index:2}.lock-guess-btn .btn-label{display:inline-flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.lock-guess-btn .btn-timer-container{position:relative;display:inline-flex;align-items:center;justify-content:center;margin-left:6px;vertical-align:middle}.lock-guess-btn .invisible-text{visibility:hidden;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:0;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;white-space:nowrap}.lock-guess-btn .static-position{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;white-space:nowrap}.lock-guess-pulse-ring{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:14px;pointer-events:none;z-index:1}.lock-guess-btn.pulse-calm{animation:lockBtnPulseCalm 2s infinite ease-in-out}.lock-guess-btn.pulse-calm .lock-guess-pulse-ring{border:1.5px solid rgba(6,182,212,.6);animation:lockRingRippleCalm 2s infinite cubic-bezier(.2,.8,.2,1)}@keyframes lockBtnPulseCalm{0%,to{box-shadow:0 4px 18px #06b6d459,0 2px 6px #0006}50%{box-shadow:0 4px 26px #06b6d4a6,0 0 12px #06b6d466}}@keyframes lockRingRippleCalm{0%{transform:scale(1);opacity:.8}to{transform:scale(1.06,1.15);opacity:0}}.lock-guess-btn.pulse-warning{background:linear-gradient(135deg,#f59e0b,#ea580c);animation:lockBtnPulseWarning 1s infinite ease-in-out}.lock-guess-btn.pulse-warning .lock-guess-pulse-ring{border:2px solid rgba(245,158,11,.8);animation:lockRingRippleWarning 1s infinite cubic-bezier(.2,.8,.2,1)}@keyframes lockBtnPulseWarning{0%,to{transform:scale(1);box-shadow:0 4px 20px #f59e0b66,0 2px 6px #0006}50%{transform:scale(1.018);box-shadow:0 6px 30px #f59e0bbf,0 0 18px #f59e0b80}}@keyframes lockRingRippleWarning{0%{transform:scale(1);opacity:.9}to{transform:scale(1.08,1.2);opacity:0}}.lock-guess-btn.pulse-critical{background:linear-gradient(135deg,#ef4444,#dc2626);animation:lockBtnPulseCritical .45s infinite ease-in-out}.lock-guess-btn.pulse-critical .lock-guess-pulse-ring{border:2.5px solid rgba(239,68,68,.95);animation:lockRingRippleCritical .45s infinite cubic-bezier(.1,.9,.2,1)}@keyframes lockBtnPulseCritical{0%,to{transform:scale(1);box-shadow:0 4px 24px #ef444499,0 2px 6px #0006}50%{transform:scale(1.035);box-shadow:0 6px 38px #ef4444f2,0 0 24px #ef4444bf}}@keyframes lockRingRippleCritical{0%{transform:scale(1);opacity:1}to{transform:scale(1.12,1.25);opacity:0}}.lock-guess-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px #06b6d480,0 2px 8px #00000080;background:linear-gradient(135deg,#22d3ee,#3b82f6)}.lock-guess-btn.pulse-warning:hover:not(:disabled){background:linear-gradient(135deg,#fbbf24,#f97316)}.lock-guess-btn.pulse-critical:hover:not(:disabled){background:linear-gradient(135deg,#f87171,#ef4444)}.lock-guess-btn:active:not(:disabled){transform:translateY(1px)}.lock-guess-btn.btn-locked{background:linear-gradient(135deg,#059669,#10b981);box-shadow:0 4px 18px #10b98159;cursor:default;animation:none}.reveal-intermission-card{--card-bottom: max(20px, env(safe-area-inset-bottom, 20px));--card-peek-height: calc(88px + env(safe-area-inset-bottom, 0px)) ;position:absolute;bottom:var(--card-bottom);left:50%;transform:translate(-50%);width:calc(100% - 32px);max-width:420px;background:var(--bg-card);backdrop-filter:var(--bg-glass-blur);-webkit-backdrop-filter:var(--bg-glass-blur);border:1px solid var(--border-glow);border-radius:20px;padding:10px 20px 16px;box-shadow:0 12px 40px #000000b3,0 0 25px #06b6d433;z-index:30;pointer-events:auto;display:flex;flex-direction:column;gap:10px;animation:slideUp .35s var(--ease-spring);transition:opacity .25s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1);touch-action:none;overflow:hidden;-webkit-user-select:none;user-select:none}.reveal-intermission-card.is-dragging-card{cursor:grabbing}.reveal-intermission-card .city-factoid-scroller-wrap{max-height:48px;opacity:1;overflow:hidden;margin-top:0;padding:2px 0 6px;transition:max-height .35s cubic-bezier(.16,1,.3,1),opacity .25s ease,margin-top .35s cubic-bezier(.16,1,.3,1),padding .35s cubic-bezier(.16,1,.3,1)}.reveal-intermission-card.is-collapsed:not(.is-dragging-card) .city-factoid-scroller-wrap{max-height:0!important;opacity:0!important;margin-top:-10px!important;padding-top:0!important;padding-bottom:0!important;overflow:hidden!important;pointer-events:none;visibility:hidden}.reveal-intermission-card .city-slideshow-card{max-height:148px;opacity:1;overflow:hidden;margin-top:0;transition:max-height .35s cubic-bezier(.16,1,.3,1),opacity .25s ease,margin-top .35s cubic-bezier(.16,1,.3,1),border-color .2s ease}.reveal-intermission-card.is-collapsed:not(.is-dragging-card) .city-slideshow-card{max-height:0!important;opacity:0!important;margin-top:-10px!important;border-width:0!important;overflow:hidden!important;pointer-events:none;visibility:hidden}.reveal-drag-handle-zone{order:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;padding:2px 0 6px;cursor:grab;outline:none;border-radius:12px;transition:background .2s ease;user-select:none;-webkit-user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent}.reveal-drag-handle-zone:active{cursor:grabbing}.reveal-drag-handle-zone,.reveal-drag-handle-zone:focus,.reveal-drag-handle-zone:focus-visible,.reveal-drag-handle-zone:focus-within,.reveal-drag-handle-zone:active{outline:none!important;outline-style:none!important;box-shadow:none!important;border:none!important;-webkit-tap-highlight-color:transparent!important}.reveal-drag-pill{width:34px;height:3px;background:#ffffff59;border-radius:9999px;box-shadow:none!important}.reveal-drag-handle-zone:hover .reveal-drag-pill,.reveal-drag-handle-zone:focus .reveal-drag-pill,.reveal-drag-handle-zone:focus-visible .reveal-drag-pill,.reveal-drag-handle-zone:focus-within .reveal-drag-pill,.reveal-drag-handle-zone:active .reveal-drag-pill{width:34px!important;background:#ffffff59!important;box-shadow:none!important;outline:none!important}.reveal-intermission-card.is-globe-manipulating,.app-container.globe-manipulating .reveal-intermission-card{opacity:.2;pointer-events:none}.reveal-col-results,.reveal-col-media,.reveal-col-details{display:contents}.reveal-header{order:1}.reveal-compact-telemetry{order:2}.reveal-telemetry-divider{order:3}.reveal-city-identity{order:4}.city-factoid-scroller-wrap{order:5}.reveal-col-media .city-slideshow-card{order:6}.reveal-points-banner{order:7}.reveal-action-row{order:8}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.reveal-header{display:flex;align-items:center;justify-content:space-between}.reveal-rating-badge{font-family:var(--font-main);font-size:20px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:1}.badge-gold{color:#fbbf24;text-shadow:0 0 16px rgba(245,158,11,.35)}.badge-emerald{color:#34d399;text-shadow:0 0 16px rgba(16,185,129,.35)}.badge-cyan{color:#22d3ee;text-shadow:0 0 16px rgba(6,182,212,.35)}.badge-amber{color:#fb923c;text-shadow:0 0 16px rgba(249,115,22,.35)}.badge-rose{color:#f87171;text-shadow:0 0 16px rgba(239,68,68,.35)}.reveal-countdown{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--text-dim)}.reveal-compact-telemetry{display:flex;align-items:center;justify-content:space-between;padding:0 2px 2px}.reveal-telemetry-divider{width:100%;height:1px;background:#ffffff1a;margin:-2px 0 0}.telemetry-distance-val{display:flex;align-items:center;gap:8px}.dist-num{font-family:var(--font-mono);font-size:30px;font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1}.dist-unit{display:flex;flex-direction:column;justify-content:space-between;height:28px;font-family:var(--font-mono);font-size:12px;font-weight:800;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;line-height:1}.reveal-city-showcase{display:flex;flex-direction:column;gap:8px}.reveal-city-identity{margin:2px 0;padding:4px 6px}.city-slideshow-card{position:relative;width:100%;height:148px;background:#0f172ab3;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #00000040}.city-photo-gallery{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:flex;overflow-x:hidden;overflow-y:hidden;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:default}.city-photo-gallery.is-draggable,.has-multiple-photos .city-photo-gallery{overflow-x:auto;scroll-snap-type:x mandatory;cursor:grab}.city-photo-gallery.is-draggable:active,.has-multiple-photos .city-photo-gallery:active{cursor:grabbing}.city-photo-gallery::-webkit-scrollbar{display:none}.photo-slide{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:center;scroll-snap-stop:always;position:relative;overflow:hidden}.photo-slide-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;pointer-events:none;transition:transform .3s var(--ease-smooth)}.gallery-pagination-dots{position:absolute;bottom:8px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:5px;z-index:5;background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:4px 8px;border-radius:9999px;border:1px solid rgba(255,255,255,.15);pointer-events:auto}.gallery-dot{width:6px;height:6px;border-radius:9999px;background:#ffffff59;border:none;padding:0;cursor:pointer;transition:all .25s var(--ease-smooth)}.gallery-dot:hover{background:#ffffffb3}.gallery-dot.active{width:16px;background:#fff;box-shadow:0 0 8px #ffffffb3}.slideshow-media-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:6px;background:radial-gradient(circle at center,#1e293bbf,#0f172af2);border:1px dashed rgba(6,182,212,.25);border-radius:12px}.placeholder-sparkle{color:var(--neon-cyan)}.placeholder-text{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--text-dim)}.reveal-points-banner{display:flex;align-items:center;justify-content:space-between;background:#ffffff0a;border-radius:10px;padding:8px 12px}.points-primary{display:flex;align-items:center;gap:6px}.points-icon{color:var(--emerald-green, #10b981)}.points-number{font-family:var(--font-mono);font-size:20px;font-weight:800;color:var(--emerald-green, #10b981)}.points-label{font-size:11px;font-weight:700;color:var(--text-muted)}.points-speed-bonus{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--neon-cyan)}.reveal-action-row{display:flex;align-items:center;gap:10px;width:100%}.reveal-deals-btn{flex:1;height:44px;padding:0 14px;border-radius:12px;border:1px solid rgba(6,182,212,.45);background:linear-gradient(135deg,#06b6d41f,#0ea5e90f);color:#38bdf8;font-family:var(--font-main);font-size:13.5px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;cursor:pointer;transition:all .2s var(--ease-spring);white-space:nowrap;box-shadow:0 2px 10px #06b6d426}.reveal-deals-btn:hover{background:linear-gradient(135deg,#06b6d440,#0ea5e926);border-color:#38bdf8;color:#fff;box-shadow:0 4px 16px #06b6d459;transform:translateY(-1px)}.explore-btn-icon{color:var(--neon-cyan)}.explore-ext-icon{opacity:.7}.reveal-skip-btn{flex:1;width:100%;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#ffffff14;color:var(--text-pure);font-family:var(--font-main);font-size:13.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .2s ease}.reveal-skip-btn:hover{background:#ffffff26;border-color:#ffffff40;transform:translateY(-1px)}.reveal-scores-btn{flex:1;height:44px;border-radius:12px;border:1px solid rgba(168,85,247,.5);background:linear-gradient(135deg,#a855f733,#8b5cf61a);color:#f3e8ff;font-family:var(--font-main);font-size:13.5px;font-weight:700;letter-spacing:.05em;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;transition:all .2s var(--ease-spring);box-shadow:0 2px 10px #a855f733}.reveal-scores-btn:hover{background:linear-gradient(135deg,#a855f759,#8b5cf640);border-color:#c084fc;color:#fff;transform:translateY(-1px);box-shadow:0 4px 18px #a855f766}.reveal-scores-btn:active{transform:translateY(0)}.reveal-next-badge,.reveal-next-btn{flex:1;height:44px;border-radius:12px;border:1px solid rgba(6,182,212,.35);background:linear-gradient(135deg,#06b6d41f,#0ea5e90d);color:#38bdf8;font-family:var(--font-main);font-size:13px;font-weight:700;letter-spacing:.04em;font-variant-numeric:tabular-nums;display:flex;align-items:center;justify-content:center;gap:6px;cursor:default;-webkit-user-select:none;user-select:none;pointer-events:none;box-shadow:0 2px 10px #06b6d41a;white-space:nowrap}button.reveal-next-badge{cursor:pointer;pointer-events:auto;transition:all .2s cubic-bezier(.16,1,.3,1)}button.reveal-next-badge:hover{background:linear-gradient(135deg,#06b6d438,#0ea5e91f);border-color:#38bdf8a6;box-shadow:0 0 16px #06b6d44d;transform:translateY(-1px)}button.reveal-next-badge:active{transform:translateY(0)}.reveal-next-badge.is-ready,button.reveal-next-badge.is-ready{border-color:#10b9818c;background:linear-gradient(135deg,#10b98133,#0596691a);color:#6ee7b7;box-shadow:0 0 16px #10b9814d}button.reveal-next-badge.is-ready:hover{background:linear-gradient(135deg,#10b9814d,#05966929);border-color:#34d399;box-shadow:0 0 20px #10b98173}.reveal-explore-btn{flex:1;height:44px;border-radius:12px;border:1px solid rgba(6,182,212,.4);background:#06b6d41a;color:var(--neon-cyan);font-family:var(--font-main);font-size:13.5px;font-weight:700;letter-spacing:.05em;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:all .2s cubic-bezier(.16,1,.3,1)}.reveal-explore-btn:hover:not(:disabled):not(.disabled){background:#06b6d438;border-color:var(--neon-cyan);box-shadow:0 0 16px #06b6d459;transform:translateY(-1px)}.reveal-explore-btn:active:not(:disabled):not(.disabled){transform:translateY(0)}.reveal-explore-btn.disabled,.reveal-explore-btn:disabled{border-color:#ffffff24;background:#ffffff0a;color:#ffffff61;opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none;transform:none}.reveal-round-nav{display:inline-flex;align-items:center;gap:6px}.reveal-round-nav-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:#ffffff14;border:1px solid rgba(255,255,255,.16);color:#e2e8f0;cursor:pointer;padding:0;transition:all .18s var(--ease-spring)}.reveal-round-nav-btn:hover:not(:disabled){background:#06b6d433;border-color:#06b6d48c;color:#38bdf8;transform:translateY(-1px)}.reveal-round-nav-btn:active:not(:disabled){transform:translateY(0)}.reveal-round-nav-btn:disabled{opacity:.22;cursor:not-allowed;pointer-events:none}@media screen and (orientation:landscape)and (max-height:560px)and (min-width:480px),screen and (max-height:500px)and (min-width:520px){.reveal-intermission-card{--card-bottom: max(6px, env(safe-area-inset-bottom, 6px));--card-peek-height: calc(78px + env(safe-area-inset-bottom, 0px)) ;bottom:var(--card-bottom);display:grid;grid-template-columns:minmax(130px,auto) auto minmax(210px,1fr);grid-template-rows:auto 1fr;column-gap:14px;row-gap:0;padding:6px 16px 10px;width:calc(100% - max(24px,env(safe-area-inset-left) + env(safe-area-inset-right)));max-width:min(860px,calc(100vw - 24px));border-radius:16px;box-shadow:0 8px 30px #000000bf,0 0 20px #06b6d426}.reveal-intermission-card .reveal-drag-handle-zone{grid-column:1 / -1;padding:0 0 4px}.reveal-intermission-card.is-collapsed:not(.is-dragging-card){grid-template-columns:minmax(130px,auto) minmax(210px,1fr);max-width:min(620px,calc(100vw - 24px));padding:6px 16px 10px;row-gap:4px}.reveal-intermission-card.is-collapsed:not(.is-dragging-card) .reveal-col-media,.reveal-intermission-card.is-collapsed:not(.is-dragging-card) .city-factoid-scroller-wrap{display:none!important}.reveal-intermission-card .reveal-col-results{display:flex;flex-direction:column;justify-content:space-between;gap:4px;min-width:0;border-right:1px solid rgba(255,255,255,.08);padding-right:12px}.reveal-intermission-card.is-practice .reveal-col-results{justify-content:center;gap:8px}.reveal-intermission-card .reveal-header{min-height:0;margin:0}.reveal-intermission-card .reveal-round-nav{gap:4px}.reveal-intermission-card .reveal-round-nav-btn{width:22px;height:22px;padding:0}.reveal-intermission-card .reveal-round-nav-btn svg{width:13px;height:13px}.reveal-intermission-card .round-progress-tag,.reveal-intermission-card .reveal-countdown{font-size:10.5px;letter-spacing:.05em}.reveal-intermission-card .reveal-compact-telemetry{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:0}.reveal-intermission-card .telemetry-distance-val{display:flex;align-items:center;gap:6px}.reveal-intermission-card .dist-num{font-size:24px;font-weight:800;line-height:1;letter-spacing:-.02em}.reveal-intermission-card .dist-unit{display:flex;flex-direction:column;justify-content:space-between;height:22px;font-family:var(--font-mono);font-size:9.5px;font-weight:800;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;line-height:1}.reveal-intermission-card .reveal-rating-badge{font-size:14.5px;line-height:1}.reveal-intermission-card .reveal-telemetry-divider{display:none}.reveal-intermission-card .reveal-points-banner{display:flex;align-items:center;justify-content:space-between;padding:3px 8px;border-radius:8px;background:#ffffff0a}.reveal-intermission-card .points-primary{gap:4px}.reveal-intermission-card .points-icon{width:14px;height:14px}.reveal-intermission-card .points-number{font-size:15px}.reveal-intermission-card .points-label{font-size:9.5px}.reveal-intermission-card .points-speed-bonus{font-size:9.5px;gap:3px}.reveal-intermission-card .bonus-icon{width:10px;height:10px}.reveal-intermission-card .reveal-col-media{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;height:100%;width:auto}.reveal-intermission-card .reveal-col-media .city-slideshow-card{height:100%;min-height:90px;max-height:120px;aspect-ratio:var(--photo-aspect-ratio, 1.5);width:auto;border-radius:10px;margin:auto 0;flex-shrink:0}.reveal-intermission-card .gallery-pagination-dots{bottom:3px;padding:2px 5px;gap:3px}.reveal-intermission-card .gallery-dot{width:4px;height:4px}.reveal-intermission-card .gallery-dot.active{width:10px}.reveal-intermission-card .reveal-col-details{display:flex;flex-direction:column;justify-content:space-between;gap:5px;min-width:0;height:100%}.reveal-intermission-card .reveal-city-identity,.reveal-intermission-card .reveal-col-details .city-identity-target{display:flex;align-items:center;justify-content:flex-start;padding:0;margin:0;gap:8px}.reveal-intermission-card .city-identity-flag{font-size:24px}.reveal-intermission-card .city-identity-name{font-size:15px;line-height:1.1}.reveal-intermission-card .city-identity-country{font-size:11px;line-height:1.1}.reveal-intermission-card .city-factoid-scroller-wrap{padding:1px 0}.reveal-intermission-card .factoid-chip{padding:2px 7px;gap:4px;font-size:9.5px}.reveal-intermission-card .factoid-icon{font-size:10px}.reveal-intermission-card .factoid-label{font-size:7.5px}.reveal-intermission-card .factoid-value{font-size:9.5px}.reveal-intermission-card .reveal-action-row{display:flex;align-items:center;gap:8px;width:100%;margin:0}.reveal-intermission-card .reveal-scores-btn,.reveal-intermission-card .reveal-next-badge,.reveal-intermission-card button.reveal-next-badge,.reveal-intermission-card .reveal-skip-btn,.reveal-intermission-card .reveal-explore-btn,.reveal-intermission-card .reveal-deals-btn{height:34px;font-size:12px;padding:0 10px;border-radius:10px;gap:5px}.reveal-intermission-card .reveal-scores-btn svg,.reveal-intermission-card .reveal-next-badge svg,.reveal-intermission-card .reveal-skip-btn svg,.reveal-intermission-card .reveal-explore-btn svg{width:13px;height:13px}}.reveal-intermission-card.layout-landscape{--card-bottom: 8px;--card-peek-height: 78px;bottom:var(--card-bottom);display:grid;grid-template-columns:minmax(130px,auto) auto minmax(210px,1fr);grid-template-rows:auto 1fr;column-gap:14px;row-gap:0;padding:6px 16px 10px;width:calc(100% - 24px);max-width:860px;border-radius:16px;box-shadow:0 8px 30px #000000bf,0 0 20px #06b6d426}.reveal-intermission-card.layout-landscape .reveal-drag-handle-zone{grid-column:1 / -1;padding:0 0 4px}.reveal-intermission-card.layout-landscape.is-collapsed:not(.is-dragging-card){grid-template-columns:minmax(130px,auto) minmax(210px,1fr);max-width:620px;padding:6px 16px 10px;row-gap:4px}.reveal-intermission-card.layout-landscape.is-collapsed:not(.is-dragging-card) .reveal-col-media,.reveal-intermission-card.layout-landscape.is-collapsed:not(.is-dragging-card) .city-factoid-scroller-wrap{display:none!important}.reveal-intermission-card.layout-landscape .reveal-col-results{display:flex;flex-direction:column;justify-content:space-between;gap:4px;min-width:0;border-right:1px solid rgba(255,255,255,.08);padding-right:12px}.reveal-intermission-card.layout-landscape.is-practice .reveal-col-results{justify-content:center;gap:8px}.reveal-intermission-card.layout-landscape .reveal-header{min-height:0;margin:0}.reveal-intermission-card.layout-landscape .reveal-round-nav{gap:4px}.reveal-intermission-card.layout-landscape .reveal-round-nav-btn{width:22px;height:22px;padding:0}.reveal-intermission-card.layout-landscape .reveal-round-nav-btn svg{width:13px;height:13px}.reveal-intermission-card.layout-landscape .round-progress-tag,.reveal-intermission-card.layout-landscape .reveal-countdown{font-size:10.5px;letter-spacing:.05em}.reveal-intermission-card.layout-landscape .reveal-compact-telemetry{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:0}.reveal-intermission-card.layout-landscape .telemetry-distance-val{display:flex;align-items:center;gap:6px}.reveal-intermission-card.layout-landscape .dist-num{font-size:24px;font-weight:800;line-height:1;letter-spacing:-.02em}.reveal-intermission-card.layout-landscape .dist-unit{display:flex;flex-direction:column;justify-content:space-between;height:22px;font-family:var(--font-mono);font-size:9.5px;font-weight:800;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;line-height:1}.reveal-intermission-card.layout-landscape .reveal-rating-badge{font-size:14.5px;line-height:1}.reveal-intermission-card.layout-landscape .reveal-telemetry-divider{display:none}.reveal-intermission-card.layout-landscape .reveal-points-banner{display:flex;align-items:center;justify-content:space-between;padding:3px 8px;border-radius:8px;background:#ffffff0a}.reveal-intermission-card.layout-landscape .points-primary{gap:4px}.reveal-intermission-card.layout-landscape .points-icon{width:14px;height:14px}.reveal-intermission-card.layout-landscape .points-number{font-size:15px}.reveal-intermission-card.layout-landscape .points-label{font-size:9.5px}.reveal-intermission-card.layout-landscape .points-speed-bonus{font-size:9.5px;gap:3px}.reveal-intermission-card.layout-landscape .bonus-icon{width:10px;height:10px}.reveal-intermission-card.layout-landscape .reveal-col-media{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;height:100%;width:auto}.reveal-intermission-card.layout-landscape .reveal-col-media .city-slideshow-card{height:100%;min-height:90px;max-height:120px;aspect-ratio:var(--photo-aspect-ratio, 1.5);width:auto;border-radius:10px;margin:auto 0;flex-shrink:0}.reveal-intermission-card.layout-landscape .gallery-pagination-dots{bottom:3px;padding:2px 5px;gap:3px}.reveal-intermission-card.layout-landscape .gallery-dot{width:4px;height:4px}.reveal-intermission-card.layout-landscape .gallery-dot.active{width:10px}.reveal-intermission-card.layout-landscape .reveal-col-details{display:flex;flex-direction:column;justify-content:space-between;gap:5px;min-width:0;height:100%}.reveal-intermission-card.layout-landscape .reveal-city-identity,.reveal-intermission-card.layout-landscape .reveal-col-details .city-identity-target{display:flex;align-items:center;justify-content:flex-start;padding:0;margin:0;gap:8px}.reveal-intermission-card.layout-landscape .city-identity-flag{font-size:24px}.reveal-intermission-card.layout-landscape .city-identity-name{font-size:15px;line-height:1.1}.reveal-intermission-card.layout-landscape .city-identity-country{font-size:11px;line-height:1.1}.reveal-intermission-card.layout-landscape .city-factoid-scroller-wrap{padding:1px 0}.reveal-intermission-card.layout-landscape .factoid-chip{padding:2px 7px;gap:4px;font-size:9.5px}.reveal-intermission-card.layout-landscape .factoid-icon{font-size:10px}.reveal-intermission-card.layout-landscape .factoid-label{font-size:7.5px}.reveal-intermission-card.layout-landscape .factoid-value{font-size:9.5px}.reveal-intermission-card.layout-landscape .reveal-action-row{display:flex;align-items:center;gap:8px;width:100%;margin:0}.reveal-intermission-card.layout-landscape .reveal-scores-btn,.reveal-intermission-card.layout-landscape .reveal-next-badge,.reveal-intermission-card.layout-landscape button.reveal-next-badge,.reveal-intermission-card.layout-landscape .reveal-skip-btn,.reveal-intermission-card.layout-landscape .reveal-explore-btn,.reveal-intermission-card.layout-landscape .reveal-deals-btn{height:34px;font-size:12px;padding:0 10px;border-radius:10px;gap:5px}.reveal-intermission-card.layout-landscape .reveal-scores-btn svg,.reveal-intermission-card.layout-landscape .reveal-next-badge svg,.reveal-intermission-card.layout-landscape .reveal-skip-btn svg,.reveal-intermission-card.layout-landscape .reveal-explore-btn svg{width:13px;height:13px}.scoreboard-modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#030508bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:50;display:flex;align-items:center;justify-content:center;padding:16px}.scoreboard-drawer-panel{width:100%;max-width:440px;max-height:80vh;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:20px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 16px 48px #000c;animation:scaleIn .25s var(--ease-spring)}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.scoreboard-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}.scoreboard-title-group{display:flex;align-items:center;gap:10px}.scoreboard-title-group h2{font-size:16px;font-weight:800;letter-spacing:.05em}.scoreboard-round-tag{font-size:11px;color:var(--text-dim)}.scoreboard-trophy{color:var(--gold-primary)}.scoreboard-close-btn{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.scoreboard-list{padding:12px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.scoreboard-row{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:12px;background:#ffffff08;border:1px solid transparent;transition:all .2s ease}.scoreboard-row.is-self{border-color:var(--neon-cyan);background:#06b6d41f}.podium-rank-1{border-color:#f59e0b66}.podium-rank-2{border-color:#94a3b84d}.podium-rank-3{border-color:#d977064d}.player-rank-cell{width:28px;display:flex;align-items:center;justify-content:center}.rank-num{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--text-muted)}.rank-medal{font-size:16px}.player-avatar-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:#fff;box-shadow:0 2px 8px #0006}.player-info-cell{flex:1;display:flex;flex-direction:column;overflow:hidden}.player-name{font-size:14px;font-weight:700;color:var(--text-pure);display:flex;align-items:center;gap:6px}.self-tag{font-size:9px;font-weight:800;background:var(--neon-cyan);color:#041018;padding:1px 5px;border-radius:4px}.player-last-stat{font-size:10px;font-family:var(--font-mono);color:var(--text-dim)}.player-score-cell{display:flex;align-items:baseline;gap:4px}.player-total-pts{font-family:var(--font-mono);font-size:15px;font-weight:700;color:var(--gold-primary)}.player-pts-label{font-size:10px;color:var(--text-muted)}.landing-screen-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:40;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(circle at center,#0e172a4d,#06080e8c);overflow-y:auto}.landing-glass-card{width:100%;max-width:460px;container-type:inline-size;background:var(--bg-card);backdrop-filter:var(--bg-glass-blur);-webkit-backdrop-filter:var(--bg-glass-blur);border:1px solid var(--border-glow);border-radius:24px;padding:32px 28px;box-shadow:0 20px 60px #000c,0 0 30px #06b6d433;display:flex;flex-direction:column;gap:24px;text-wrap:balance}.landing-glass-card h1,.landing-glass-card h2,.landing-tagline,.landing-glass-card span,.landing-glass-card label,.landing-glass-card button{text-wrap:balance}.landing-brand{text-align:center;display:flex;flex-direction:column;align-items:center;width:100%}.landing-badge{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;border-radius:999px;background:#06b6d414;border:1px solid rgba(6,182,212,.28);color:var(--neon-cyan);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px;box-shadow:0 0 16px #06b6d426}.landing-badge .badge-dot{width:6px;height:6px;border-radius:50%;background:var(--neon-cyan);box-shadow:0 0 8px var(--neon-cyan);animation:pulse-dot 2s infinite ease-in-out}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.landing-title{font-size:38px;font-weight:900;letter-spacing:.14em;line-height:1.05;text-transform:uppercase;background:linear-gradient(135deg,#ffffff 25%,#e0f2fe 60%,var(--neon-cyan) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:6px;filter:drop-shadow(0 0 20px rgba(6,182,212,.35))}.landing-tagline{font-size:11.5px;font-weight:700;letter-spacing:.18em;line-height:1.4;text-transform:uppercase;color:#e0f2febf;width:100%;max-width:100%;text-align:center;margin-bottom:4px}.landing-form{display:flex;flex-direction:column;gap:18px}.form-field-group{display:flex;flex-direction:column;gap:8px}.field-label{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--neon-cyan)}.nickname-input-wrap{position:relative;display:flex;align-items:center}.nickname-input{width:100%;height:48px;border-radius:12px;border:1px solid var(--border-subtle);background:#ffffff0a;color:#fff;font-family:var(--font-mono);font-size:16px;font-weight:600;padding:0 48px 0 16px;outline:none;transition:all .2s ease}.nickname-input:focus{border-color:var(--neon-cyan);box-shadow:0 0 16px var(--neon-cyan-glow);background:#ffffff12}.dice-random-btn{position:absolute;right:6px;width:36px;height:36px;border-radius:8px;border:none;background:#ffffff14;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.dice-random-btn:hover{color:var(--neon-cyan);background:#06b6d426}.dice-random-btn:active{transform:scale(.92)}.color-swatches-row{display:flex;gap:8px;flex-wrap:wrap}.color-swatch-btn{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s var(--ease-spring)}.color-swatch-btn:hover{transform:scale(1.15)}.color-swatch-btn.is-selected{border-color:#fff;box-shadow:0 0 12px #fffc;transform:scale(1.2)}.landing-actions-group{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:6px}.play-now-primary-btn{width:100%;height:54px;border-radius:14px;border:none;background:linear-gradient(135deg,#06b6d4,#2563eb);color:#fff;font-family:var(--font-main);font-size:16px;font-weight:800;letter-spacing:.05em;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;box-shadow:0 8px 28px #06b6d466;transition:all .2s var(--ease-smooth)}.play-now-primary-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 36px #06b6d48c}.play-now-primary-btn:active:not(:disabled){transform:translateY(1px)}.practice-alone-btn{width:100%;height:48px;border-radius:14px;border:1px solid rgba(6,182,212,.4);background:#0d121ea6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#e2e8f0;font-family:var(--font-main);font-size:15px;font-weight:700;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 4px 16px #0006;transition:all .2s var(--ease-smooth)}.practice-alone-btn:hover{background:#06b6d426;border-color:var(--neon-cyan);color:#fff;box-shadow:0 6px 24px #06b6d44d;transform:translateY(-1px)}.practice-alone-btn:active{transform:translateY(1px)}.practice-icon{color:var(--neon-cyan)}.play-now-primary-btn .practice-icon,.play-now-primary-btn .friends-play-icon,.play-now-primary-btn .daily-play-icon{color:#fff}.practice-alone-btn .friends-play-icon,.practice-alone-btn .daily-play-icon{color:var(--neon-cyan)}.online-soon-btn,.friends-soon-btn{width:100%;height:54px;border-radius:14px;border:1px dashed rgba(255,255,255,.16);background:#0d121e73;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#94a3b8a6;font-family:var(--font-main);font-size:16px;font-weight:800;letter-spacing:.05em;display:flex;align-items:center;justify-content:center;gap:12px;cursor:not-allowed;-webkit-user-select:none;user-select:none;box-shadow:0 2px 10px #0003}.online-soon-icon,.friends-soon-icon{color:#94a3b88c;flex-shrink:0}.friends-play-btn{width:100%;height:48px;border-radius:14px;border:1px solid rgba(6,182,212,.4);background:#0d121ea6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#e2e8f0;font-family:var(--font-main);font-size:15px;font-weight:700;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 4px 16px #0006;transition:all .2s var(--ease-smooth)}.friends-play-btn:hover{background:#06b6d426;border-color:var(--neon-cyan);color:#fff;box-shadow:0 6px 24px #06b6d44d;transform:translateY(-1px)}.friends-play-btn:active{transform:translateY(1px)}.friends-play-icon{color:var(--neon-cyan);flex-shrink:0}.install-app-btn{width:100%;height:44px;border-radius:14px;border:1px solid rgba(6,182,212,.35);background:#0d121ea6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#e2e8f0;font-family:var(--font-main);font-size:14px;font-weight:800;letter-spacing:.05em;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 4px 16px #00000059;transition:all .2s var(--ease-smooth)}@media(hover:hover)and (pointer:fine){.install-app-btn:hover{background:#06b6d429;border-color:var(--neon-cyan);color:#fff;box-shadow:0 6px 22px #06b6d447;transform:translateY(-1px)}}.install-app-btn:active{transform:translateY(1px)}.install-app-icon{color:var(--neon-cyan);flex-shrink:0}.pwa-install-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2200;background:#030508d1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .2s ease-out forwards}.pwa-install-modal-card{width:100%;max-width:390px;background:#0d121ef5;border:1px solid var(--border-glow);border-radius:20px;padding:20px;box-shadow:0 24px 60px #000000d9;display:flex;flex-direction:column;gap:16px;animation:scaleIn .25s var(--ease-spring)}.pwa-install-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.pwa-install-modal-title{margin:0;font-family:var(--font-main);font-size:16px;font-weight:800;letter-spacing:.06em;color:#fff}.pwa-install-close-btn{width:30px;height:30px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#94a3b8;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.pwa-install-steps{display:flex;flex-direction:column;gap:12px;background:#0f172a8c;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px 16px}.pwa-install-step{display:flex;align-items:center;gap:12px;text-align:left}.pwa-install-step p{margin:0;font-family:var(--font-main);font-size:13.5px;color:#cbd5e1;line-height:1.4}.pwa-install-step p strong{color:#fff}.pwa-inline-icon{display:inline-block;vertical-align:-2px;color:var(--neon-cyan)}.pwa-install-got-it-btn{margin-top:2px;height:44px}.how-to-play-guide{display:flex;flex-direction:column;gap:12px;background:#0f172a73;border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:16px 18px;box-sizing:border-box;text-wrap:wrap}.guide-title{font-family:var(--font-main);font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--neon-cyan);text-transform:uppercase;margin:0;text-align:center}.guide-steps-list,.guide-steps-grid{display:flex;flex-direction:column;gap:10px}.guide-step-row,.guide-step{display:flex;align-items:center;gap:12px;text-align:left}.step-num{width:24px;height:24px;border-radius:50%;background:#06b6d426;border:1px solid rgba(6,182,212,.35);color:var(--neon-cyan);font-family:var(--font-mono);font-size:12px;font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:0;box-shadow:0 0 10px #06b6d426}.guide-step-row p,.guide-step p{font-family:var(--font-main);font-size:13.5px;font-weight:500;color:#cbd5e1;line-height:1.4;margin:0;text-align:left;text-wrap:wrap}.guide-step-row p strong,.guide-step p strong{color:#fff;font-weight:700}.matchmaking-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:40;display:flex;align-items:center;justify-content:center;padding:16px;background:#06080ee0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.matchmaking-card{width:100%;max-width:480px;background:var(--bg-card);border:1px solid var(--border-glow);border-radius:24px;padding:32px 24px;box-shadow:0 20px 60px #000c;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}.radar-sweep-container{width:110px;height:110px;position:relative;display:flex;align-items:center;justify-content:center}.radar-circle{position:absolute;border:1px solid rgba(6,182,212,.3);border-radius:50%}.circle-1{width:100%;height:100%}.circle-2{width:60%;height:60%}.radar-sweep{position:absolute;width:50%;height:50%;top:0;right:0;background:conic-gradient(from 0deg,rgba(6,182,212,.5) 0deg,transparent 90deg);transform-origin:bottom left;border-radius:100% 0 0;animation:radarRotate 2s linear infinite}@keyframes radarRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.radar-center-ping{width:10px;height:10px;background:var(--neon-cyan);border-radius:50%;box-shadow:0 0 14px var(--neon-cyan)}.matchmaking-title{font-size:20px;font-weight:800;letter-spacing:.05em;margin-bottom:4px}.matchmaking-subtitle{font-size:13px;color:var(--text-dim)}.launch-countdown-box{background:#06b6d41a;border:1px solid rgba(6,182,212,.3);padding:8px 20px;border-radius:12px;display:flex;align-items:baseline;gap:8px}.launch-label{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--neon-cyan)}.launch-timer-digits{font-family:var(--font-mono);font-size:22px;font-weight:800;color:#fff}.lobby-players-section{width:100%;display:flex;flex-direction:column;gap:12px}.lobby-players-header{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--text-dim)}.lobby-players-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:220px;overflow-y:auto}.lobby-player-chip{display:flex;align-items:center;gap:8px;background:#ffffff0a;border:1px solid var(--border-subtle);padding:6px 10px;border-radius:10px}.lobby-player-chip.is-self{border-color:var(--neon-cyan);background:#06b6d41f}.chip-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff}.chip-name{font-size:12px;font-weight:600;color:var(--text-pure);flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-you-tag{font-size:9px;font-weight:800;color:var(--neon-cyan)}.chip-waiting{opacity:.5;border-style:dashed}.chip-waiting-text{font-size:11px;color:var(--text-muted)}.spin-icon{animation:spin 1.5s linear infinite;color:var(--text-muted)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.podium-screen-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:45;display:flex;align-items:center;justify-content:center;padding:16px;background:#06080eeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow-y:auto}.podium-glass-card{width:100%;max-width:500px;background:var(--bg-card);border:1px solid var(--border-glow);border-radius:24px;padding:28px 24px;box-shadow:0 24px 70px #000000d9;display:flex;flex-direction:column;gap:20px;animation:scaleIn .35s var(--ease-spring)}.podium-header{text-align:center;display:flex;flex-direction:column;align-items:center}.podium-trophy-burst{width:64px;height:64px;border-radius:50%;background:#f59e0b26;border:1px solid var(--gold-primary);display:flex;align-items:center;justify-content:center;box-shadow:0 0 30px var(--gold-glow);margin-bottom:12px}.podium-giant-trophy{color:var(--gold-primary)}.podium-title{font-size:26px;font-weight:900;letter-spacing:-.01em}.podium-subtitle{font-size:13px;color:var(--text-dim)}.self-summary-banner{background:#ffffff0d;border:1px solid var(--border-subtle);border-radius:14px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between}.self-summary-banner.is-winner{border-color:var(--gold-primary);background:#f59e0b1f}.summary-left{display:flex;flex-direction:column;gap:2px}.summary-rank-badge{font-size:11px;font-weight:800;color:var(--gold-primary)}.summary-player-name{font-size:16px;font-weight:800}.summary-right{display:flex;flex-direction:column;align-items:flex-end}.summary-score-val{font-family:var(--font-mono);font-size:22px;font-weight:800;color:var(--gold-primary)}.summary-score-lbl{font-size:9px;font-weight:700;color:var(--text-muted)}.podium-stage-container{display:flex;align-items:flex-end;justify-content:center;gap:12px;height:180px;margin:10px 0}.podium-pillar{display:flex;flex-direction:column;align-items:center;flex:1;max-width:110px}.podium-crown{font-size:20px;margin-bottom:-4px;animation:bounce 1.5s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.podium-avatar-bubble{position:relative;margin-bottom:6px}.podium-avatar-face{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#fff;box-shadow:0 4px 12px #00000080}.podium-medal-badge{position:absolute;top:-6px;right:-6px;font-size:16px}.podium-player-name{font-size:12px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:95px}.podium-player-pts{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text-dim);margin-bottom:6px}.pillar-block{width:100%;border-radius:12px 12px 0 0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:900}.pillar-rank-num{font-size:24px;color:#ffffffd9}.pillar-first .pillar-block{height:90px;background:linear-gradient(to top,#b45309,#f59e0b);box-shadow:0 0 20px var(--gold-glow)}.pillar-second .pillar-block{height:65px;background:linear-gradient(to top,#475569,#94a3b8)}.pillar-third .pillar-block{height:45px;background:linear-gradient(to top,#78350f,#d97706)}.podium-full-list{display:flex;flex-direction:column;gap:8px}.full-list-heading{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--text-muted)}.full-list-scroll{max-height:140px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.full-list-row{display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:8px;background:#ffffff08}.full-list-row.is-self{border:1px solid var(--neon-cyan);background:#06b6d41a}.full-rank-num{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--text-dim);width:24px}.full-avatar-dot{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff}.full-player-name{flex:1;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px}.full-player-pts{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--gold-primary)}.play-again-btn{width:100%;height:52px;border-radius:14px;border:none;background:linear-gradient(135deg,#06b6d4,#2563eb);color:#fff;font-family:var(--font-main);font-size:16px;font-weight:800;letter-spacing:.05em;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 8px 24px #06b6d466;transition:all .2s ease}.play-again-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px #06b6d48c}@media(max-width:480px){.landing-glass-card{padding:24px 20px}.landing-title{font-size:30px;letter-spacing:.1em}.target-city-card{padding:10px 14px}.target-city-name{font-size:19px}.target-flag{font-size:24px}.metric-val{font-size:22px}.lock-guess-btn{height:50px;font-size:15px}}.landing-top-bar{position:absolute;top:max(20px,calc(16px + env(safe-area-inset-top,0px)));right:20px;z-index:45}.user-badge-guest-container{display:flex;align-items:center;gap:8px}.guest-rating-pill{background:#0d121ed9;-webkit-backdrop-filter:var(--bg-glass-blur);backdrop-filter:var(--bg-glass-blur);border:1px solid var(--border-subtle);border-radius:9999px;padding:6px 12px;display:flex;align-items:center;gap:6px;font-size:12px}.guest-icon{color:var(--text-dim)}.guest-label{color:var(--text-muted);font-size:11px}.guest-unranked-tag{font-family:var(--font-mono);font-size:10px;font-weight:700;color:#fbbf24;background:#f59e0b26;border:1px solid rgba(245,158,11,.3);padding:1px 7px;border-radius:9999px;letter-spacing:.04em}.sign-in-prompt-btn{background:linear-gradient(135deg,#f59e0b40,#d9770640);border:1px solid var(--gold-primary);color:#fbbf24;border-radius:9999px;padding:6px 14px;font-size:12px;font-weight:800;display:flex;align-items:center;gap:6px;cursor:pointer;box-shadow:0 0 14px var(--gold-glow);transition:all .2s ease}.ranked-trophy-btn-icon{color:var(--gold-primary)}.sign-in-prompt-btn:hover{background:var(--gold-primary);color:#041018;transform:translateY(-1px);box-shadow:0 0 20px var(--gold-glow)}.sign-in-prompt-btn:hover .ranked-trophy-btn-icon{color:#041018}.user-badge-auth-container{background:#0d121ed9;-webkit-backdrop-filter:var(--bg-glass-blur);backdrop-filter:var(--bg-glass-blur);border:1px solid var(--border-glow);border-radius:9999px;padding:4px 12px 4px 5px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 20px #00000059}.auth-user-identity{display:flex;align-items:center;gap:10px}.auth-avatar-fallback,.auth-avatar-img{width:34px;height:34px;border-radius:50%;flex-shrink:0}.auth-avatar-img{object-fit:cover;border:1.5px solid rgba(6,182,212,.4);box-shadow:0 0 10px #06b6d440}.auth-avatar-fallback{background:linear-gradient(135deg,var(--neon-cyan),#0284c7);color:#041018;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;border:1.5px solid rgba(6,182,212,.5);box-shadow:0 0 10px #06b6d44d}.auth-meta-column{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0}.auth-username{font-size:13px;font-weight:700;color:#f8fafc;line-height:1.2;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em}.auth-tier-badge{font-family:var(--font-mono);font-size:11px;font-weight:600;line-height:1.2;white-space:nowrap}.auth-signout-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:color .15s ease,background-color .15s ease}.auth-signout-btn:hover{color:var(--rose-alert);background:#ef44441f}.landing-guest-incentive{background:#06b6d414;border:1px dashed rgba(6,182,212,.35);border-radius:12px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;transition:all .2s ease}.landing-guest-incentive:hover{background:#06b6d424;border-color:var(--neon-cyan)}.incentive-info{display:flex;flex-direction:column;text-align:left}.incentive-title{font-size:12px;font-weight:800;color:var(--neon-cyan)}.incentive-desc{font-size:10px;color:var(--text-dim);text-wrap:balance}.incentive-action-btn{background:var(--neon-cyan);color:#041018;border:none;border-radius:8px;padding:6px 12px;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}.auth-modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#030508d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:60;display:flex;align-items:center;justify-content:center;padding:16px}.auth-modal-card{width:100%;max-width:400px;background:var(--bg-card);border:1px solid var(--border-glow);border-radius:24px;padding:28px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;box-shadow:0 20px 60px #000000e6;animation:scaleIn .25s var(--ease-spring)}.auth-modal-close-btn{position:absolute;top:16px;right:16px;background:transparent;border:none;color:var(--text-muted);cursor:pointer}.auth-modal-close-btn:hover{color:var(--text-pure)}.auth-trophy-halo{width:60px;height:60px;border-radius:50%;background:#f59e0b26;border:1px solid var(--gold-primary);display:flex;align-items:center;justify-content:center;margin-bottom:12px;box-shadow:0 0 24px var(--gold-glow)}.auth-trophy-icon{color:var(--gold-primary)}.auth-modal-title{font-size:20px;font-weight:900;letter-spacing:-.01em;margin-bottom:6px}.auth-modal-subtitle{font-size:12px;color:var(--text-dim);line-height:1.45;margin-bottom:16px}.sso-buttons-group{width:100%;display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.sso-btn{width:100%;height:48px;border-radius:12px;border:1px solid var(--border-subtle);background:#fff;color:#1f2937;font-family:var(--font-main);font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:all .2s ease}.sso-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #ffffff40}.sso-facebook{background:#1877f2;color:#fff;border-color:#1877f2}.sso-facebook:hover{box-shadow:0 4px 16px #1877f266}.auth-perks-list{width:100%;border-top:1px solid var(--border-subtle);padding-top:14px;display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.auth-perk-item{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-dim);text-align:left}.perk-icon{color:var(--emerald-green);flex-shrink:0}.guest-skip-btn{background:transparent;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;text-decoration:underline}.guest-skip-btn:hover{color:var(--text-dim)}.podium-rating-card{background:#ffffff0a;border:1px solid var(--border-subtle);border-radius:14px;padding:10px 16px;display:flex;align-items:center;justify-content:space-between}.rating-card-title{font-size:9px;font-weight:800;letter-spacing:.1em;color:var(--text-muted)}.rating-delta-row{display:flex;align-items:baseline;gap:8px;margin-top:2px}.rating-delta-val{font-family:var(--font-mono);font-size:18px;font-weight:800;color:var(--emerald-green)}.rating-current-val{font-size:12px;color:var(--text-dim)}.rating-tier-pill{font-family:var(--font-mono);font-size:13px;font-weight:800;background:#ffffff0f;padding:4px 10px;border-radius:8px}.podium-guest-upgrade-banner{background:linear-gradient(135deg,#f59e0b1f,#06b6d41f);border:1px solid rgba(245,158,11,.4);border-radius:14px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;transition:all .2s ease}.podium-guest-upgrade-banner:hover{border-color:var(--gold-primary);background:linear-gradient(135deg,#f59e0b2e,#06b6d42e)}.upgrade-content{display:flex;flex-direction:column;text-align:left}.upgrade-title-row{display:flex;align-items:center;gap:6px}.upgrade-sparkle{color:var(--gold-primary)}.upgrade-headline{font-size:13px;font-weight:800;color:var(--gold-primary)}.upgrade-desc{font-size:10px;color:var(--text-dim);line-height:1.35;margin-top:2px}.upgrade-cta-btn{background:linear-gradient(135deg,#f59e0b,#ea580c);color:#fff;border:none;border-radius:10px;padding:8px 14px;font-size:12px;font-weight:800;display:flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap;box-shadow:0 4px 14px #f59e0b59}.city-factoid-scroller-wrap{width:100%;overflow-x:scroll;overflow-y:hidden;position:relative;padding:2px 0 6px;mask-image:linear-gradient(to right,transparent,black 16px,black calc(100% - 16px),transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 16px,black calc(100% - 16px),transparent);scrollbar-width:none;-ms-overflow-style:none;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none;-webkit-user-drag:none}.city-factoid-track,.city-factoid-set,.factoid-chip{touch-action:none;-webkit-user-drag:none}.city-factoid-scroller-wrap::-webkit-scrollbar{display:none}.city-factoid-scroller-wrap:active,.city-factoid-scroller-wrap.is-dragging{cursor:grabbing}.city-factoid-scroller-wrap,.city-factoid-scroller-wrap:focus,.city-factoid-scroller-wrap:focus-visible,.city-factoid-track,.city-factoid-track:focus,.city-factoid-track:focus-visible,.factoid-chip,.factoid-chip:focus,.factoid-chip:focus-visible,.factoid-chip:active{outline:none!important;box-shadow:none!important}.city-factoid-track{display:flex;width:max-content;will-change:scroll-position}.city-factoid-set{display:flex;align-items:center;gap:8px;padding-right:8px;flex-shrink:0}.factoid-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#0d121eb3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);font-family:var(--font-main);white-space:nowrap;user-select:none;-webkit-user-select:none;pointer-events:auto;cursor:inherit}.city-factoid-scroller-wrap.is-dragging .factoid-chip{cursor:grabbing}.factoid-icon{font-size:12px;line-height:1}.factoid-label{font-size:9px;font-weight:800;letter-spacing:.08em;color:var(--neon-cyan);text-transform:uppercase}.factoid-value{font-size:11px;font-weight:700;color:#fff;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.party-setup-container,.party-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:72px 24px 24px;z-index:40;pointer-events:none;overflow-y:auto;box-sizing:border-box}.party-setup-glass-card,.party-modal-card{position:relative;width:100%;max-width:440px;background:#0a0e1ae0;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(6,182,212,.35);border-radius:24px;padding:32px 28px 28px;box-shadow:0 24px 70px #000c,0 0 50px #06b6d426;display:flex;flex-direction:column;align-items:center;text-align:center;pointer-events:auto;box-sizing:border-box;animation:scaleIn .25s var(--ease-out)}.party-modal-header{display:flex;flex-direction:column;align-items:center;margin-bottom:24px}.party-modal-title{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:0 auto 8px;max-width:100%}.party-title-emoji{font-size:28px;line-height:1;flex-shrink:0;filter:drop-shadow(0 0 14px rgba(245,158,11,.45))}.party-title-text{font-family:var(--font-main);font-size:24px;font-weight:900;letter-spacing:.04em;color:#fff;text-align:left;line-height:1.15;text-shadow:0 2px 14px rgba(0,0,0,.8),0 0 28px rgba(6,182,212,.4)}@media(max-width:480px){.party-setup-container,.party-modal-backdrop{padding:64px 16px 16px}.party-setup-glass-card,.party-modal-card{padding:24px 16px 20px;max-width:calc(100vw - 32px)}.party-modal-title{gap:8px;align-items:center;justify-content:center}.party-title-emoji{font-size:26px;flex-shrink:0}.party-title-text{font-size:22px;text-align:left;line-height:1.15}.party-avatar-selector-section{margin-bottom:38px}.party-player-name-label{font-size:19px}}.party-modal-subtitle{font-family:var(--font-main);font-size:13px;color:#94a3b8;line-height:1.5;margin-bottom:24px;text-wrap:balance}.party-avatar-selector-section{width:100%;max-width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:44px}.party-avatar-carousel-row{display:flex;align-items:center;justify-content:center;gap:16px;width:100%}.avatar-nav-arrow-btn{width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#94a3b8;display:flex;align-items:center;justify-content:center;cursor:pointer;transform:none;box-shadow:none;transition:background .15s ease,color .15s ease,border-color .15s ease}@media(hover:hover)and (pointer:fine){.avatar-nav-arrow-btn:hover{background:#ffffff1a;border-color:#ffffff40;color:#fff;transform:none;box-shadow:none}}.avatar-nav-arrow-btn:focus,.avatar-nav-arrow-btn:focus-visible{outline:none;box-shadow:none;transform:none}.avatar-nav-arrow-btn:active{background:#ffffff1f;color:#fff;transform:none;box-shadow:none}.party-avatar-preview-box{display:flex;flex-direction:column;align-items:center;justify-content:center}.party-avatar-glow-showcase{width:120px;height:120px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 16px rgba(6,182,212,.5)) drop-shadow(0 0 32px rgba(6,182,212,.25)) drop-shadow(0 6px 16px rgba(0,0,0,.5));transform:none;transition:filter .25s ease}.party-avatar-glow-showcase:hover{transform:none}.party-avatar-glow-showcase svg,.party-avatar-glow-showcase img{width:100%;height:100%;display:block}.party-player-name-label{width:100%;max-width:100%;box-sizing:border-box;font-family:var(--font-mono);font-size:22px;font-weight:800;letter-spacing:.06em;color:#fff;text-align:center;padding:4px 6px;-webkit-user-select:none;user-select:none;text-shadow:0 2px 10px rgba(0,0,0,.9),0 0 20px rgba(6,182,212,.35);animation:fadeIn .2s ease-out;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0;overflow-wrap:break-word;word-break:break-word}.party-name-word{display:inline-block;white-space:nowrap;max-width:100%;text-align:center}.party-identity-form{width:100%;display:flex;flex-direction:column;gap:20px}.party-primary-submit-btn{width:100%;height:52px;border-radius:14px;border:none;background:linear-gradient(135deg,#06b6d4,#2563eb);color:#fff;font-family:var(--font-main);font-size:16px;font-weight:800;letter-spacing:.06em;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 28px #06b6d473;transition:all .2s var(--ease-smooth)}.party-primary-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 36px #06b6d499}.party-primary-submit-btn:active:not(:disabled){transform:translateY(1px)}.party-primary-submit-btn:disabled{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#ffffff73;box-shadow:none;cursor:not-allowed;transform:none;pointer-events:none}.party-btn-spinner{animation:spin 1s linear infinite;margin-right:8px;flex-shrink:0}.party-dual-actions{display:flex;flex-direction:column;align-items:center;width:100%}.party-form-divider{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;margin:14px 0;color:#ffffff73;font-family:var(--font-main);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:lowercase}.party-form-divider:before,.party-form-divider:after{content:"";flex:1;height:1px;background:#ffffff1f}.party-join-input-group{display:flex;align-items:stretch;gap:10px;width:100%}.party-room-code-input{flex:1;min-width:0;height:52px;background:#0f172ab3;border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:0 14px;color:#fff;font-family:var(--font-mono);font-size:18px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;text-align:center;outline:none;transition:all .2s var(--ease-smooth);box-sizing:border-box}.party-room-code-input:focus{border-color:var(--neon-cyan);box-shadow:0 0 16px #06b6d459;background:#0f172af2}.party-room-code-input::placeholder{color:#ffffff4d;font-size:13px;letter-spacing:.08em;font-family:var(--font-main);font-weight:700}.party-secondary-join-btn{flex:1;min-width:125px;height:52px;border-radius:14px;border:none;background:linear-gradient(135deg,#06b6d4,#2563eb);color:#fff;font-family:var(--font-main);font-size:16px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 28px #06b6d473;transition:all .2s var(--ease-smooth);white-space:nowrap;box-sizing:border-box}.party-secondary-join-btn:disabled{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#ffffff59;box-shadow:none;cursor:not-allowed;transform:none;pointer-events:none}@media(hover:hover)and (pointer:fine){.party-secondary-join-btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 12px 36px #06b6d499}}.party-secondary-join-btn:not(:disabled):active{transform:translateY(1px)}.party-lobby-container{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;padding:72px 24px 24px;z-index:40;pointer-events:none;overflow-y:auto;box-sizing:border-box}@media(max-width:768px){.party-lobby-container{padding:56px 12px 14px}}.party-lobby-glass-card{margin:auto 0;width:100%;max-width:860px;max-height:calc(100vh - 96px);background:#0a0e1ae0;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(6,182,212,.35);border-radius:24px;padding:28px;box-shadow:0 24px 70px #000c,0 0 50px #06b6d426;display:flex;flex-direction:column;gap:20px;pointer-events:auto;overflow:hidden;box-sizing:border-box;animation:scaleIn .3s var(--ease-out)}@media(max-width:768px){.party-lobby-glass-card{padding:16px 14px;gap:12px;border-radius:20px;max-height:calc(100dvh - 70px);margin:auto 0}}.party-lobby-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:18px;flex-wrap:wrap;gap:16px;flex-shrink:0}@media(max-width:768px){.party-lobby-header{padding-bottom:12px;gap:10px}.party-room-badge-group .room-label{font-size:9px}.room-code-display{font-size:22px;letter-spacing:.12em}.party-share-btn,.party-copy-btn{padding:8px 14px;font-size:12px;border-radius:10px}}.party-room-badge-group{display:flex;flex-direction:column;gap:4px}.party-room-badge-group .room-label{font-family:var(--font-main);font-size:10px;font-weight:800;letter-spacing:.12em;color:#94a3b8;text-transform:uppercase}.room-code-display{font-family:var(--font-mono);font-size:26px;font-weight:900;letter-spacing:.16em;color:var(--neon-amber);text-shadow:0 0 20px rgba(245,158,11,.5)}.party-share-btn,.party-copy-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:12px;background:#06b6d426;border:1px solid rgba(6,182,212,.4);color:var(--neon-cyan);font-family:var(--font-main);font-size:13px;font-weight:800;letter-spacing:.06em;cursor:pointer;transition:all .2s ease}.party-share-btn:hover,.party-copy-btn:hover{background:#06b6d447;border-color:var(--neon-cyan);box-shadow:0 0 16px #06b6d459;transform:translateY(-1px)}.party-share-btn.is-copied,.party-copy-btn.is-copied{background:#10b98133;border-color:#10b981;color:#10b981}.party-mobile-tab-selector{display:none;flex-shrink:0}@media(max-width:768px){.party-mobile-tab-selector{display:flex;gap:8px;width:100%;background:#0f172aa6;padding:4px;border-radius:14px;border:1px solid rgba(255,255,255,.08);box-sizing:border-box}.party-tab-pill-btn{flex:1;height:38px;border-radius:10px;border:1px solid transparent;background:transparent;color:#94a3b8;font-family:var(--font-main);font-size:12px;font-weight:800;letter-spacing:.06em;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:all .2s ease}.party-tab-pill-btn.is-active{background:#06b6d42e;border-color:var(--neon-cyan);color:#fff;box-shadow:0 0 14px #06b6d44d}}.party-lobby-body-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:24px;min-height:320px;overflow:hidden;flex:1}@media(max-width:768px){.party-lobby-body-grid{grid-template-columns:1fr;min-height:0;max-height:none;flex:1;overflow-y:auto;gap:10px}.party-roster-column.is-mobile-hidden,.party-settings-column.is-mobile-hidden{display:none!important}.party-roster-column.is-mobile-active,.party-settings-column.is-mobile-active{display:flex!important}.party-roster-column,.party-settings-column{padding:12px;border-radius:14px;min-height:0}.party-players-list{max-height:none;gap:6px}}.party-roster-column,.party-settings-column{display:flex;flex-direction:column;background:#0f172a8c;border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:18px;overflow:hidden}.party-players-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:280px;padding-right:4px}.party-player-card{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);transition:all .2s ease}.party-player-card.is-self{background:#06b6d414;border-color:#06b6d459}.player-pixel-avatar{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent;border:none}.player-pixel-avatar svg,.player-pixel-avatar img{width:100%;height:100%;display:block;filter:drop-shadow(0 2px 8px rgba(0,0,0,.45))}.player-meta{display:flex;flex-direction:column;gap:2px;overflow:hidden}.player-callsign{font-family:var(--font-main);font-size:14px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-badges-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.host-badge{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:800;color:#fbbf24;background:#f59e0b26;padding:2px 6px;border-radius:4px;border:1px solid rgba(245,158,11,.3)}.you-badge{font-size:9px;font-weight:800;color:var(--neon-cyan);background:#06b6d426;padding:2px 6px;border-radius:4px;border:1px solid rgba(6,182,212,.3)}.player-ready-badge{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:800;color:#10b981;background:#10b98126;padding:2px 6px;border-radius:4px;border:1px solid rgba(16,185,129,.35);box-shadow:0 0 8px #10b98133}.player-not-ready-badge{font-size:9px;font-weight:700;color:#94a3b8;background:#94a3b81a;padding:2px 6px;border-radius:4px;border:1px solid rgba(148,163,184,.2)}.party-settings-scroll-area{display:flex;flex-direction:column;gap:16px;overflow-y:auto;max-height:380px;padding-right:6px;box-sizing:border-box}.party-settings-scroll-area::-webkit-scrollbar{width:5px}.party-settings-scroll-area::-webkit-scrollbar-track{background:#ffffff05;border-radius:4px}.party-settings-scroll-area::-webkit-scrollbar-thumb{background:#06b6d447;border-radius:4px}.party-settings-scroll-area::-webkit-scrollbar-thumb:hover{background:#06b6d480}.setting-group{display:flex;flex-direction:column;gap:8px}.setting-label{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-main);font-size:10px;font-weight:800;letter-spacing:.08em;color:#94a3b8;text-transform:uppercase}.setting-options-pills{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.setting-options-pills.wrap{flex-wrap:wrap}.setting-pill-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#94a3b8;font-family:var(--font-main);font-size:11px;font-weight:700;letter-spacing:.05em;cursor:pointer;transition:all .15s ease;white-space:nowrap;-webkit-user-select:none;user-select:none;outline:none}.setting-pill-btn:focus,.setting-pill-btn:focus-visible{outline:none}.setting-pill-btn:not(.is-active):hover:not(:disabled),.setting-pill-btn:not(.is-active):focus:not(:disabled),.setting-pill-btn:not(.is-active):focus-visible:not(:disabled){background:#ffffff0a;border-color:#ffffff14;color:#94a3b8;box-shadow:none;outline:none}.setting-pill-btn.is-active,.setting-pill-btn.is-active:hover:not(:disabled),.setting-pill-btn.is-active:focus:not(:disabled),.setting-pill-btn.is-active:focus-visible:not(:disabled){background:#06b6d438;border-color:var(--neon-cyan);color:#67e8f9;box-shadow:none;text-shadow:none;outline:none}.setting-pill-btn:active:not(:disabled){transform:scale(.97)}.setting-pill-btn:disabled{cursor:default;opacity:.75}.party-lobby-footer{display:flex;align-items:center;justify-content:center;border-top:1px solid rgba(255,255,255,.08);padding-top:18px;width:100%;flex-shrink:0}@media(max-width:768px){.party-lobby-footer{padding-top:10px}.party-start-btn,.party-ready-btn{height:46px;font-size:14px;padding:10px 24px}}.party-ready-action-group{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:360px}.party-ready-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;height:52px;padding:12px 32px;border-radius:14px;border:1px solid rgba(6,182,212,.4);background:linear-gradient(135deg,#06b6d433,#3b82f640);color:#fff;font-family:var(--font-main);font-size:15px;font-weight:800;letter-spacing:.06em;cursor:pointer;box-shadow:0 8px 24px #06b6d440;transition:all .2s var(--ease-smooth)}.party-ready-btn:hover{transform:translateY(-2px);background:linear-gradient(135deg,#06b6d44d,#3b82f659);border-color:#06b6d499;box-shadow:0 12px 32px #06b6d466}.party-ready-btn.is-ready{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b98199;box-shadow:0 8px 28px #10b98166;color:#fff}.party-ready-btn.is-ready:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 12px 36px #10b9818c}.party-ready-btn:active{transform:translateY(1px)}.party-ready-btn:disabled,.party-ready-btn.is-disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none!important;border-color:#ef444459;background:#1e293bb3;box-shadow:none;color:#94a3b8}.party-ready-status-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 4px;box-sizing:border-box}.party-filter-cities-count,.party-ready-status-text{font-family:var(--font-main);font-size:11px;font-weight:700;letter-spacing:.08em;color:#94a3b8;text-transform:uppercase}.party-filter-cities-count.is-empty{color:#f87171;text-shadow:0 0 10px rgba(248,113,113,.4)}.party-countdown-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:440px;padding:12px 20px;border-radius:14px;background:linear-gradient(135deg,#10b98126,#06b6d433);border:1px solid rgba(16,185,129,.45);box-shadow:0 8px 30px #10b9814d;box-sizing:border-box}.countdown-content{display:flex;flex-direction:column;gap:2px}.countdown-label{font-family:var(--font-main);font-size:11px;font-weight:800;letter-spacing:.08em;color:#34d399;text-transform:uppercase}.countdown-digits{font-family:var(--font-mono);font-size:18px;font-weight:900;letter-spacing:.05em;color:#fff;text-shadow:0 0 12px rgba(16,185,129,.6)}.party-cancel-ready-btn{padding:8px 14px;border-radius:8px;border:1px solid rgba(239,68,68,.4);background:#ef444426;color:#f87171;font-family:var(--font-main);font-size:11px;font-weight:800;letter-spacing:.06em;cursor:pointer;transition:all .2s ease}.party-cancel-ready-btn:hover{background:#ef444440;border-color:#ef444499;color:#fff;transform:translateY(-1px)}.intermission-return-lobby-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-main);font-size:12px;font-weight:800;letter-spacing:.05em;color:#fff;background:linear-gradient(135deg,#06b6d440,#3b82f64d);border:1px solid rgba(6,182,212,.45);padding:0 14px;height:32px;box-sizing:border-box;line-height:1;border-radius:8px;cursor:pointer;box-shadow:0 4px 16px #06b6d440;transition:all .2s var(--ease-smooth)}.intermission-return-lobby-btn:hover{background:linear-gradient(135deg,#06b6d466,#3b82f673);border-color:#06b6d4b3;box-shadow:0 6px 20px #06b6d466;transform:translateY(-1px)}.intermission-return-lobby-btn:active{transform:translateY(1px)}.party-start-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:360px;height:52px;padding:12px 32px;border-radius:14px;border:none;background:linear-gradient(135deg,#10b981,#06b6d4);color:#fff;font-family:var(--font-main);font-size:15px;font-weight:800;letter-spacing:.06em;cursor:pointer;box-shadow:0 8px 24px #10b98166;transition:all .2s var(--ease-smooth)}.party-start-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px #10b9818c}.party-start-btn:active{transform:translateY(1px)}.guest-waiting-indicator{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-main);font-size:13px;font-weight:700;letter-spacing:.05em;color:#06b6d4}.waiting-spinner{width:16px;height:16px;border:2px solid rgba(6,182,212,.2);border-top-color:var(--neon-cyan);border-radius:50%;animation:spin .8s linear infinite}.party-intermission-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;z-index:50;pointer-events:none}.party-intermission-overlay.map-view-overlay{align-items:flex-end;justify-content:center;padding-bottom:max(24px,env(safe-area-inset-bottom,24px))}.party-reveal-compact-dock{margin:0 auto;width:calc(100% - 32px);max-width:780px;background:#0a0e1aeb;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(6,182,212,.45);border-radius:20px;padding:12px 20px;box-shadow:0 16px 50px #000c,0 0 35px #06b6d433;display:flex;align-items:center;justify-content:space-between;gap:16px;pointer-events:auto;animation:dockSlideUp .3s var(--ease-spring);box-sizing:border-box;transition:opacity .25s cubic-bezier(.16,1,.3,1)}.party-reveal-compact-dock.is-globe-manipulating,.app-container.globe-manipulating .party-reveal-compact-dock{opacity:.2;pointer-events:none}@keyframes dockSlideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.compact-dock-city-info{display:flex;align-items:center;justify-content:center;gap:10px;flex-shrink:0}.compact-dock-flag{font-size:26px;line-height:1}.compact-dock-city-text{display:flex;align-items:baseline;justify-content:center;gap:6px}.compact-dock-city-name{font-family:var(--font-main);font-size:15px;font-weight:800;color:#fff;letter-spacing:.02em}.compact-dock-country-name{font-family:var(--font-main);font-size:14px;font-weight:700;color:var(--neon-cyan)}.compact-dock-divider{width:1px;height:28px;background:#ffffff1f;flex-shrink:0}.compact-dock-telemetry{display:flex;align-items:center;gap:18px;flex:1 1 auto;justify-content:center}.compact-dock-telemetry .telemetry-stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.compact-dock-telemetry .stat-label{font-family:var(--font-mono);font-size:9px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.compact-dock-telemetry .stat-val{font-family:var(--font-main);font-weight:800;font-size:14px;line-height:1.1}.compact-dock-telemetry .stat-distance{color:#fff}.compact-dock-telemetry .stat-score{color:#34d399;text-shadow:0 0 10px rgba(52,211,153,.3)}.compact-dock-telemetry .stat-time{color:var(--neon-cyan)}.compact-dock-telemetry .telemetry-missed{font-family:var(--font-mono);font-size:12px;font-weight:800;color:#f87171;letter-spacing:.05em}.compact-dock-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.compact-dock-countdown{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--text-dim);letter-spacing:.05em}.compact-dock-toggle-btn{background:linear-gradient(135deg,#06b6d440,#3b82f64d);border:1px solid rgba(6,182,212,.6);color:#fff;font-family:var(--font-main);font-size:12px;font-weight:800;letter-spacing:.05em;border-radius:12px;padding:8px 16px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease}.compact-dock-toggle-btn:hover{background:linear-gradient(135deg,#06b6d473,#3b82f680);border-color:var(--neon-cyan);box-shadow:0 0 16px #06b6d459;transform:translateY(-1px)}.party-intermission-card{width:100%;max-width:680px;max-height:calc(100dvh - 48px);background:#0a0e1aeb;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(6,182,212,.4);border-radius:24px;padding:28px;box-shadow:0 24px 70px #000c,0 0 50px #06b6d433;display:flex;flex-direction:column;gap:20px;pointer-events:auto;animation:scaleIn .3s var(--ease-out);box-sizing:border-box;transition:opacity .25s cubic-bezier(.16,1,.3,1)}.party-intermission-card.is-globe-manipulating,.app-container.globe-manipulating .party-intermission-card{opacity:.2;pointer-events:none}.intermission-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:16px;gap:12px;flex-shrink:0}.round-progress-tag{display:flex;align-items:center;gap:8px;font-family:var(--font-main);font-size:13px;font-weight:800;letter-spacing:.06em;color:#e2e8f0}.next-round-timer-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-mono);font-size:12px;font-weight:700;color:#38bdf8;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);padding:0 12px;height:32px;border-radius:8px;box-sizing:border-box;line-height:1}button.next-round-timer-badge{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s cubic-bezier(.16,1,.3,1)}button.next-round-timer-badge:hover{background:#38bdf83d;border-color:#38bdf8a6;box-shadow:0 0 14px #38bdf84d;transform:translateY(-1px)}button.next-round-timer-badge:active{transform:translateY(0)}.next-round-timer-badge.is-ready,button.next-round-timer-badge.is-ready{background:linear-gradient(135deg,#10b98133,#0596691a);border-color:#10b9818c;color:#6ee7b7;box-shadow:0 0 14px #10b9814d}button.next-round-timer-badge.is-ready:hover{background:linear-gradient(135deg,#10b9814d,#05966929);border-color:#34d399;box-shadow:0 0 18px #10b98173}.intermission-header-actions{display:flex;align-items:center;gap:10px}.intermission-view-map-btn{background:linear-gradient(135deg,#a855f733,#8b5cf61a);border:1px solid rgba(168,85,247,.5);border-radius:8px;padding:0 14px;height:32px;font-family:var(--font-main);font-size:12px;font-weight:800;letter-spacing:.04em;color:#f3e8ff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;line-height:1;transition:all .2s var(--ease-spring);box-shadow:0 2px 10px #a855f733}.intermission-view-map-btn:hover{background:linear-gradient(135deg,#a855f759,#8b5cf640);border-color:#c084fc;color:#fff;transform:translateY(-1px);box-shadow:0 4px 18px #a855f766}.intermission-view-map-btn:active{transform:translateY(0)}.intermission-table-container{display:flex;flex-direction:column;gap:8px;max-height:340px;overflow-y:auto;padding-right:4px;flex:1 1 auto;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(6,182,212,.3) rgba(255,255,255,.02)}.intermission-table-container::-webkit-scrollbar{width:5px}.intermission-table-container::-webkit-scrollbar-track{background:#ffffff05;border-radius:4px}.intermission-table-container::-webkit-scrollbar-thumb{background:#06b6d447;border-radius:4px}.intermission-table-container::-webkit-scrollbar-thumb:hover{background:#06b6d480}.table-header-row{display:grid;grid-template-columns:46px minmax(100px,1fr) 130px 90px;gap:8px;padding:6px 14px;font-family:var(--font-main);font-size:10px;font-weight:800;letter-spacing:.1em;color:#94a3b8;text-transform:uppercase;border:1px solid transparent;border-bottom:1px solid rgba(255,255,255,.05);box-sizing:border-box;position:sticky;top:0;z-index:2;background:#0a0e1af5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.table-header-row>*,.standing-row>*{min-width:0}.table-header-row .th-rank{display:flex;align-items:center;justify-content:center;text-align:center}.table-header-row .th-total{text-align:right;display:block}.th-label-short{display:none}.table-body-rows{display:flex;flex-direction:column;gap:6px}.standing-row{display:grid;grid-template-columns:46px minmax(100px,1fr) 130px 90px;gap:8px;align-items:center;padding:10px 14px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:12px;transition:all .15s ease;box-sizing:border-box}.standing-row.is-self{background:#06b6d414;border-color:#06b6d466}.standing-row.rank-1{background:#f59e0b14;border-color:#f59e0b59}.td-rank{display:flex;align-items:center;justify-content:center;text-align:center}.trophy-gold{color:#fbbf24;display:block}.rank-num{font-family:var(--font-mono);font-size:13px;font-weight:700;color:#94a3b8;text-align:center;display:block}.td-player{display:flex;align-items:center;gap:10px;overflow:hidden;min-width:0}.player-avatar-mini{width:32px;height:32px;border-radius:8px;background:#00000080;border:1px solid rgba(255,255,255,.15);overflow:hidden;flex-shrink:0}.player-avatar-mini svg,.player-avatar-mini img{width:100%;height:100%;display:block}.standing-row .player-meta{display:flex;flex-direction:column;gap:2px;overflow:hidden;min-width:0;justify-content:center}.standing-row .player-badges-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.player-name-text{font-family:var(--font-main);font-size:13px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.you-pill,.host-pill,.latecomer-pill{font-size:8px;font-weight:800;padding:1px 5px;border-radius:4px;letter-spacing:.05em;line-height:1.2}.you-pill{background:#06b6d433;color:var(--neon-cyan)}.host-pill{background:#f59e0b33;color:#fbbf24}.latecomer-pill{background:#94a3b833;color:#cbd5e1}.td-round{display:flex;flex-direction:column;min-width:0}.round-pts{font-family:var(--font-mono);font-size:13px;font-weight:700;color:#10b981}.round-km{font-family:var(--font-mono);font-size:10px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.round-time{font-family:var(--font-mono);font-size:10px;color:#38bdf8;font-weight:600}.round-missed{font-family:var(--font-mono);font-size:13px;color:#64748b}.td-total{text-align:right}.total-pts{font-family:var(--font-mono);font-size:14px;font-weight:800;color:#fff}@media(max-width:640px){.party-intermission-overlay{padding:16px}.party-intermission-card{padding:20px 16px;border-radius:20px;gap:16px}.table-header-row,.standing-row{grid-template-columns:36px minmax(80px,1fr) 110px 76px;padding:8px 10px;gap:6px}.party-reveal-compact-dock{padding:10px 16px;gap:10px 14px;flex-wrap:wrap}.compact-dock-city-info{width:100%;justify-content:center;text-align:center;gap:8px}.compact-dock-divider{display:none}.compact-dock-telemetry{gap:14px;width:auto}.compact-dock-actions{margin-left:auto}}@media(max-width:480px){.party-intermission-overlay{padding:10px}.party-intermission-card{padding:14px 10px;border-radius:18px;gap:12px;max-height:calc(100dvh - 24px);overflow:hidden}.intermission-header{padding-bottom:10px;gap:8px}.round-progress-tag{font-size:11px;letter-spacing:.04em}.next-round-timer-badge{font-size:11px;height:28px;padding:0 8px}.intermission-table-container{max-height:calc(100dvh - 180px);gap:6px;overflow-x:hidden}.table-header-row,.standing-row{grid-template-columns:28px minmax(60px,1fr) 92px 62px;padding:8px;gap:4px}.table-header-row{font-size:9px}.player-avatar-mini{width:26px;height:26px;border-radius:6px}.td-player{gap:6px}.player-name-text{font-size:12px}.you-pill,.host-pill,.latecomer-pill{font-size:7.5px;padding:1px 3px}.round-pts{font-size:12px}.round-km,.round-time{font-size:9px}.total-pts{font-size:13px}.th-label-full{display:none}.th-label-short{display:inline}.party-intermission-overlay.map-view-overlay{padding-bottom:max(16px,env(safe-area-inset-bottom,16px))}.party-reveal-compact-dock{padding:10px 14px;border-radius:16px;gap:8px;flex-wrap:wrap}.compact-dock-city-info{width:100%;justify-content:center;text-align:center;gap:8px}.compact-dock-divider{display:none}.compact-dock-telemetry{width:auto;gap:12px}.compact-dock-actions{margin-left:auto}.compact-dock-toggle-btn{padding:6px 12px;font-size:11px}.intermission-view-map-btn,.intermission-return-lobby-btn{padding:0 8px;height:28px;font-size:11px;box-sizing:border-box;line-height:1}}.party-placement-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:#04070fc7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:fadeIn .25s ease-out;pointer-events:auto}.party-placement-card{position:relative;width:100%;max-width:420px;background:#0d1424f0;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:28px;padding:32px 28px 24px;box-shadow:0 24px 80px #000000d9;display:flex;flex-direction:column;align-items:center;text-align:center;animation:placementScaleIn .35s cubic-bezier(.16,1,.3,1)}@keyframes placementScaleIn{0%{opacity:0;transform:scale(.88) translateY(14px)}to{opacity:1;transform:scale(1) translateY(0)}}.party-placement-card.is-rank-1{border:1.5px solid rgba(245,158,11,.55);box-shadow:0 24px 80px #000000d9,0 0 50px #f59e0b4d;background:radial-gradient(circle at 50% 0%,rgba(245,158,11,.18),transparent 70%),#0d1424f0}.party-placement-card.is-rank-2{border:1.5px solid rgba(226,232,240,.45);box-shadow:0 24px 80px #000000d9,0 0 40px #e2e8f033;background:radial-gradient(circle at 50% 0%,rgba(226,232,240,.14),transparent 70%),#0d1424f0}.party-placement-card.is-rank-3{border:1.5px solid rgba(249,115,22,.5);box-shadow:0 24px 80px #000000d9,0 0 40px #f9731633;background:radial-gradient(circle at 50% 0%,rgba(249,115,22,.14),transparent 70%),#0d1424f0}.party-placement-card.is-rank-other{border:1.5px solid rgba(6,182,212,.4);box-shadow:0 24px 80px #000000d9,0 0 35px #06b6d42e;background:radial-gradient(circle at 50% 0%,rgba(6,182,212,.12),transparent 70%),#0d1424f0}.party-placement-close-btn{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#94a3b8;cursor:pointer;transition:all .2s var(--ease-spring)}.party-placement-close-btn:hover{background:#ffffff24;color:#fff;border-color:#06b6d466;transform:scale(1.08)}.party-placement-crest{display:flex;align-items:center;justify-content:center;margin-bottom:8px}.is-rank-1 .placement-rank-icon{color:#f59e0b;filter:drop-shadow(0 0 12px rgba(245,158,11,.7))}.is-rank-2 .placement-rank-icon{color:#cbd5e1;filter:drop-shadow(0 0 10px rgba(203,213,225,.6))}.is-rank-3 .placement-rank-icon{color:#fb923c;filter:drop-shadow(0 0 10px rgba(251,146,60,.6))}.is-rank-other .placement-rank-icon{color:#06b6d4;filter:drop-shadow(0 0 10px rgba(6,182,212,.6))}.party-placement-avatar-wrapper{position:relative;width:86px;height:86px;margin-bottom:14px}.party-placement-avatar{width:86px;height:86px;border-radius:50%;overflow:hidden;border:3px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;background:#0f172a}.party-placement-avatar svg,.party-placement-avatar img{width:100%;height:100%;display:block}.is-rank-1 .party-placement-avatar{border-color:#f59e0b;box-shadow:0 0 28px #f59e0b80}.is-rank-2 .party-placement-avatar{border-color:#cbd5e1;box-shadow:0 0 22px #cbd5e166}.is-rank-3 .party-placement-avatar{border-color:#f97316;box-shadow:0 0 22px #f9731666}.is-rank-other .party-placement-avatar{border-color:#06b6d4;box-shadow:0 0 22px #06b6d459}.party-placement-badge{position:absolute;bottom:-8px;left:50%;transform:translate(-50%);padding:3px 10px;border-radius:9999px;font-family:var(--font-main);font-size:10px;font-weight:800;letter-spacing:.06em;white-space:nowrap}.party-placement-badge.badge-gold{background:linear-gradient(135deg,#f59e0b,#d97706);color:#000;box-shadow:0 2px 10px #f59e0b80}.party-placement-badge.badge-silver{background:linear-gradient(135deg,#f1f5f9,#94a3b8);color:#0f172a;box-shadow:0 2px 10px #94a3b866}.party-placement-badge.badge-bronze{background:linear-gradient(135deg,#fed7aa,#ea580c);color:#fff;box-shadow:0 2px 10px #ea580c73}.party-placement-badge.badge-cyan{background:linear-gradient(135deg,#06b6d4,#0284c7);color:#fff;box-shadow:0 2px 10px #06b6d473}.party-placement-identity{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;margin-bottom:6px}.party-placement-name{font-size:21px;font-weight:800;color:#f8fafc;letter-spacing:-.01em;margin:0}.party-placement-host-pill{font-size:9.5px;font-weight:800;padding:2px 7px;border-radius:6px;background:#f59e0b33;border:1px solid rgba(245,158,11,.5);color:#fbbf24;letter-spacing:.05em}.party-placement-headline{margin:6px 0 14px}.placement-rank-title{font-size:34px;font-weight:900;line-height:1.1;letter-spacing:-.02em;margin:0 0 4px}.is-rank-1 .placement-rank-title{background:linear-gradient(135deg,#fef08a,#f59e0b,#d97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.is-rank-2 .placement-rank-title{background:linear-gradient(135deg,#fff,#cbd5e1,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.is-rank-3 .placement-rank-title{background:linear-gradient(135deg,#fed7aa,#fb923c,#ea580c);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.is-rank-other .placement-rank-title{background:linear-gradient(135deg,#67e8f9,#06b6d4,#0284c7);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.placement-rank-sub{font-size:13px;color:#94a3b8;font-weight:500;margin:0}.party-placement-score-box{width:100%;display:flex;align-items:center;justify-content:space-between;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px 18px;margin:12px 0 20px}.placement-score-label{font-family:var(--font-mono);font-size:11px;font-weight:700;color:#94a3b8;letter-spacing:.05em}.placement-score-value{font-family:var(--font-mono);font-size:20px;font-weight:800;color:#10b981;display:flex;align-items:baseline;gap:4px}.placement-score-unit{font-size:11px;color:#6ee7b7;font-weight:700}.party-placement-actions{display:flex;gap:10px;width:100%}.party-placement-btn{flex:1;height:46px;border-radius:14px;font-family:var(--font-main);font-size:13px;font-weight:800;letter-spacing:.03em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s var(--ease-spring)}.party-placement-btn.btn-scores{background:linear-gradient(135deg,#06b6d4,#0284c7);color:#fff;border:none;box-shadow:0 4px 18px #06b6d459}.party-placement-btn.btn-scores:hover{transform:translateY(-2px);box-shadow:0 6px 24px #06b6d480}.party-placement-btn.btn-globe{background:#ffffff0f;border:1px solid rgba(255,255,255,.15);color:#f1f5f9}.party-placement-btn.btn-globe:hover{background:#ffffff1f;border-color:#06b6d480;color:#38bdf8;transform:translateY(-2px)}.party-placement-btn.btn-close{background:linear-gradient(135deg,#06b6d4,#0284c7);color:#fff;border:none;font-size:14px;font-weight:800;letter-spacing:.06em;box-shadow:0 4px 20px #06b6d459}.party-placement-btn.btn-close:hover{transform:translateY(-2px);box-shadow:0 6px 26px #06b6d48c;filter:brightness(1.08)}.is-rank-1 .party-placement-btn.btn-close{background:linear-gradient(135deg,#f59e0b,#d97706);color:#000;box-shadow:0 4px 20px #f59e0b66}.is-rank-1 .party-placement-btn.btn-close:hover{box-shadow:0 6px 26px #f59e0b99;filter:brightness(1.06)}.intermission-view-placement-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f59e0b26;border:1px solid rgba(245,158,11,.4);border-radius:10px;color:#fbbf24;font-family:var(--font-main);font-size:12px;font-weight:800;letter-spacing:.04em;cursor:pointer;transition:all .18s var(--ease-spring)}.intermission-view-placement-btn:hover{background:#f59e0b47;border-color:#f59e0b;transform:translateY(-1px);box-shadow:0 0 15px #f59e0b4d}.intermission-view-placement-btn svg{color:#f59e0b}.round-prep-container{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:50;pointer-events:none;-webkit-user-select:none;user-select:none}.round-prep-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 48px;background:#0a0e1abf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.15);border-radius:28px;box-shadow:0 20px 60px #0009,0 0 40px #06b6d433;pointer-events:none;text-align:center;max-width:90vw;width:360px;animation:prep-card-appear .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes prep-card-appear{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.round-prep-badge{display:inline-flex;align-items:center;padding:6px 16px;border-radius:9999px;background:#06b6d426;border:1px solid rgba(6,182,212,.4);color:var(--neon-cyan);font-family:var(--font-mono);font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}.round-prep-badge.final-round-badge{background:#f59e0b33;border-color:#f59e0b80;color:#fbbf24;box-shadow:0 0 20px #f59e0b40}.round-prep-title{margin:0 0 16px;font-family:var(--font-main);font-size:20px;font-weight:900;letter-spacing:.2em;color:#ffffffe6;text-transform:uppercase}.round-prep-numeral-wrapper{height:110px;display:flex;align-items:center;justify-content:center;margin-bottom:0}.round-prep-numeral{font-family:var(--font-mono);font-size:96px;font-weight:900;line-height:1;color:#fff;text-shadow:0 0 30px rgba(6,182,212,.8),0 0 60px rgba(6,182,212,.4);animation:prep-numeral-pop .6s cubic-bezier(.16,1,.3,1) forwards}.round-prep-numeral.round-prep-go{font-size:72px;letter-spacing:.08em;background:linear-gradient(135deg,#06b6d4,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 0 30px rgba(16,185,129,.8))}@keyframes prep-numeral-pop{0%{transform:scale(1.45);opacity:.3}50%{transform:scale(.96);opacity:1}to{transform:scale(1);opacity:1}}@media(max-width:480px){.round-prep-card{padding:24px 28px;width:300px}.round-prep-numeral-wrapper{height:90px}.round-prep-numeral{font-size:76px}.round-prep-numeral.round-prep-go{font-size:56px}.round-prep-title{font-size:17px}}.practice-settings-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#030508bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .2s ease-out}.practice-settings-modal-panel{width:100%;max-width:480px;max-height:85vh;background:linear-gradient(165deg,#0f172af0,#030712f5);border:1px solid rgba(6,182,212,.35);border-radius:20px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 50px #000000d9,0 0 30px #06b6d426;animation:scaleIn .25s var(--ease-spring)}.practice-settings-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.practice-settings-title-group{display:flex;align-items:center;gap:10px}.practice-settings-title-group h2{font-family:var(--font-main);font-size:15px;font-weight:800;letter-spacing:.05em;color:#fff;margin:0}.practice-settings-icon{color:var(--neon-cyan)}.practice-settings-close-btn{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.practice-settings-close-btn:hover{background:#ffffff14;color:#fff}.practice-settings-modal-body{padding:20px;overflow-y:auto;max-height:calc(85vh - 70px);scrollbar-width:thin;scrollbar-color:rgba(6,182,212,.3) transparent}.practice-settings-modal-body::-webkit-scrollbar{width:6px}.practice-settings-modal-body::-webkit-scrollbar-thumb{background:#06b6d44d;border-radius:4px}.match-settings-panel{display:flex;flex-direction:column;gap:16px}.practice-settings-modal-footer{display:flex;align-items:center;justify-content:center;padding:12px 20px;border-top:1px solid rgba(255,255,255,.08);background:#0f172a80;flex-shrink:0}.city-explore-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#030508d1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));animation:fadeIn .2s ease-out forwards;pointer-events:auto}.city-explore-modal-card{width:100%;max-width:480px;max-height:min(calc(100dvh - 32px),92vh,640px);background:linear-gradient(165deg,#0f172af5,#030712fa);border:1px solid rgba(6,182,212,.35);border-radius:20px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 60px #000000e0,0 0 40px #06b6d42e;animation:scaleIn .25s var(--ease-spring) forwards;pointer-events:auto}.city-explore-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid rgba(255,255,255,.08);position:relative;gap:12px}.city-explore-identity{justify-content:flex-start;padding:0;flex:1;min-width:0;overflow:hidden;text-align:left}.city-explore-identity .city-identity-text{flex:1;min-width:0;overflow:hidden}.city-explore-identity .city-identity-flag{margin-left:6px}.city-explore-close-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#94a3b8;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;transition:all .2s ease;flex-shrink:0}.city-explore-close-btn:hover{background:#ffffff1f;color:#fff;border-color:#ffffff40}.city-explore-close-btn:focus,.city-explore-close-btn:focus-visible,.city-explore-close-btn:focus:not(:hover){outline:none;background:#ffffff0f;border-color:#ffffff1f;color:#94a3b8}.city-explore-options-list{padding:16px 20px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.city-explore-option-card{display:flex;align-items:center;gap:14px;height:52px;padding:0 18px;border-radius:14px;border:none;background:linear-gradient(135deg,#06b6d4,#2563eb);color:#fff;box-shadow:0 8px 28px #06b6d466;text-decoration:none;transition:all .2s var(--ease-smooth);cursor:pointer;pointer-events:auto}.city-explore-option-card:hover{transform:translateY(-2px);box-shadow:0 12px 36px #06b6d494;filter:brightness(1.06)}.city-explore-option-card:hover .explore-ext-link-icon{color:#fff;opacity:1;transform:translate(2px) translateY(-2px)}.city-explore-option-card:active{transform:translateY(1px);box-shadow:0 4px 14px #06b6d466}.explore-card-icon{color:#fff;flex-shrink:0;transition:transform .2s ease}.city-explore-option-card:hover .explore-card-icon{transform:scale(1.06)}.explore-card-content{flex:1;min-width:0}.explore-card-title-row{display:flex;align-items:center;gap:8px}.explore-card-title{font-family:var(--font-main);font-size:15px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fff}.explore-card-pill{font-family:var(--font-main);font-size:10px;font-weight:800;padding:1px 6px;border-radius:5px;background:#ffffff3d;border:1px solid rgba(255,255,255,.45);color:#fff;letter-spacing:.04em;text-transform:uppercase}.city-explore-option-card:focus,.city-explore-option-card:focus-visible,.city-explore-option-card:focus:not(:hover),.city-explore-option-card:focus-visible:not(:hover){outline:none;background:linear-gradient(135deg,#06b6d4,#2563eb);box-shadow:0 8px 28px #06b6d466;transform:none;filter:none}.city-explore-option-card:focus:not(:hover) .explore-ext-link-icon,.city-explore-option-card:focus-visible:not(:hover) .explore-ext-link-icon{color:#fff;opacity:.95;transform:none}.explore-card-action{flex-shrink:0;display:flex;align-items:center;justify-content:center}.explore-ext-link-icon{color:#fff;opacity:.95;transition:all .2s ease}.city-explore-footer{padding:12px 20px 14px;border-top:1px solid rgba(255,255,255,.06);background:#0f172a66;display:flex;align-items:center;justify-content:center;font-family:var(--font-main);font-size:11px;color:#64748b;text-align:center;line-height:1.45;flex-shrink:0}.city-explore-footer-text{text-align:center;text-wrap:balance;width:100%}@media(max-height:640px){.city-explore-header{padding:14px 18px 10px}.city-explore-options-list{padding:12px 16px;gap:8px}.city-explore-option-card{padding:10px 14px;gap:12px}}.landing-footer{display:flex;align-items:center;justify-content:center;gap:8px 10px;padding:8px 12px 2px;margin-top:4px;font-family:var(--font-main);font-size:11.5px;color:#64748b;flex-wrap:wrap;text-align:center}.landing-footer-copy{color:#64748b;font-weight:500;letter-spacing:.02em;white-space:nowrap;flex-shrink:0}.landing-footer-links{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;flex-shrink:0}.landing-footer-sep{color:#ffffff26;-webkit-user-select:none;user-select:none}.landing-footer-link{background:none;border:none;padding:2px 4px;color:var(--neon-cyan);text-decoration:none;font-family:var(--font-main);font-size:11.5px;font-weight:600;cursor:pointer;transition:color .15s ease,text-shadow .15s ease;border-radius:4px}.landing-footer-link:hover{color:#67e8f9;text-decoration:underline;text-shadow:0 0 8px rgba(6,182,212,.4)}.landing-footer-company-link:focus-visible,.landing-footer-link:focus-visible{outline:2px solid var(--neon-cyan);outline-offset:2px}@container (max-width: 380px){.landing-footer{flex-direction:column;gap:4px}.landing-footer-sep-main{display:none}}@media(max-width:440px){.landing-footer{flex-direction:column;gap:4px}.landing-footer-sep-main{display:none}}.legal-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#030508d6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:2100;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));animation:fadeIn .2s ease-out forwards;pointer-events:auto}.legal-modal-card{width:100%;max-width:580px;max-height:min(calc(100dvh - 32px),90vh,720px);background:linear-gradient(165deg,#0f172af7,#030712fc);border:1px solid rgba(6,182,212,.35);border-radius:20px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 60px #000000eb,0 0 40px #06b6d42e;animation:scaleIn .25s var(--ease-spring) forwards;pointer-events:auto}.legal-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 14px;border-bottom:1px solid rgba(255,255,255,.08);gap:12px;flex-shrink:0}.legal-modal-title-group{display:flex;flex-direction:column;gap:3px}.legal-modal-title{font-family:var(--font-main);font-size:17px;font-weight:800;letter-spacing:.04em;color:#f8fafc;margin:0}.legal-modal-company-tag{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--neon-cyan);text-transform:uppercase}.legal-modal-close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#94a3b8;cursor:pointer;transition:all .15s ease;flex-shrink:0}.legal-modal-close-btn:hover{background:#ef44442e;border-color:#ef444466;color:#f87171}.legal-modal-close-btn:focus-visible{outline:2px solid var(--neon-cyan);outline-offset:2px}.legal-modal-tabs{display:flex;align-items:center;padding:10px 18px;background:#0a0f1c99;border-bottom:1px solid rgba(255,255,255,.06);gap:8px;flex-shrink:0}.legal-tab-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:34px;padding:0 12px;border-radius:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#94a3b8;font-family:var(--font-main);font-size:11.5px;font-weight:700;letter-spacing:.06em;cursor:pointer;transition:all .18s ease}.legal-tab-btn:hover{background:#ffffff14;color:#f1f5f9;border-color:#ffffff29}.legal-tab-btn.is-active{background:#06b6d42e;border-color:#06b6d480;color:#e0f2fe;box-shadow:0 0 14px #06b6d433}.legal-tab-icon{flex-shrink:0}.legal-tab-btn.is-active .legal-tab-icon{color:var(--neon-cyan)}.legal-modal-body{padding:20px 24px;overflow-y:auto;flex:1;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(6,182,212,.4) transparent}.legal-modal-body::-webkit-scrollbar{width:6px}.legal-modal-body::-webkit-scrollbar-track{background:transparent}.legal-modal-body::-webkit-scrollbar-thumb{background-color:#06b6d459;border-radius:9999px}.legal-document-pane{display:flex;flex-direction:column;gap:20px;text-align:left}.legal-meta-text{font-family:var(--font-mono);font-size:11.5px;font-weight:500;color:#64748b;margin:0;line-height:1.4}.legal-section{display:flex;flex-direction:column;gap:8px}.legal-section-heading{font-family:var(--font-main);font-size:13.5px;font-weight:800;letter-spacing:.03em;color:#e2e8f0;margin:0;text-transform:uppercase}.legal-section p{font-family:var(--font-main);font-size:13px;font-weight:400;line-height:1.6;color:#94a3b8;margin:0}.legal-section strong{color:#f1f5f9;font-weight:600}.legal-section code{font-family:var(--font-mono);font-size:11.5px;padding:1px 5px;background:#06b6d41f;border:1px solid rgba(6,182,212,.25);border-radius:4px;color:#67e8f9}.legal-highlight{color:var(--neon-cyan);font-weight:700}.legal-list{display:flex;flex-direction:column;gap:8px;padding-left:18px;margin:0}.legal-list li{font-family:var(--font-main);font-size:13px;font-weight:400;line-height:1.55;color:#94a3b8}.legal-contact-box{display:inline-flex;align-items:center;gap:8px;margin-top:4px;padding:8px 12px;background:#06b6d414;border:1px solid rgba(6,182,212,.25);border-radius:8px;align-self:flex-start}.legal-contact-icon{color:var(--neon-cyan);flex-shrink:0}.legal-link{color:#38bdf8;font-family:var(--font-mono);font-size:12.5px;font-weight:600;text-decoration:none;transition:color .15s ease}.legal-link:hover{color:#7dd3fc;text-decoration:underline}.legal-highlight-link,.legal-meta-link,.legal-badge-link,.legal-footer-company-link,.landing-footer-company-link,.landing-footer-link{color:var(--neon-cyan);text-decoration:none;font-weight:600;transition:color .15s ease,text-shadow .15s ease}.legal-highlight-link:hover,.legal-meta-link:hover,.legal-badge-link:hover,.legal-footer-company-link:hover,.landing-footer-company-link:hover,.landing-footer-link:hover{color:#67e8f9;text-decoration:underline;text-shadow:0 0 8px rgba(6,182,212,.4)}.legal-modal-footer{padding:12px 20px;background:#0a0f1c80;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;text-align:center;flex-shrink:0}.legal-modal-footer-copy{font-family:var(--font-main);font-size:11px;font-weight:500;color:#64748b;text-align:center}@media(max-width:480px){.legal-modal-card{max-height:calc(100dvh - 20px);border-radius:16px}.legal-modal-header{padding:14px 16px 12px}.legal-modal-tabs{padding:8px 12px;gap:6px}.legal-tab-btn{font-size:10.5px;gap:5px;padding:0 6px}.legal-modal-body{padding:16px}}.landing-daily-status-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-family:var(--font-mono);font-size:11px;font-weight:800;letter-spacing:.04em;background:#fbbf242e;border:1px solid rgba(251,191,36,.4);color:#fde68a;margin-left:4px}.landing-daily-status-pill.is-done{background:#10b98133;border-color:#10b98173;color:#6ee7b7}.daily-intro-glass-card{max-width:440px;gap:24px}.daily-intro-simple-header{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}.daily-intro-date-heading{margin:0 auto 10px}.daily-intro-theme-subheading{font-family:var(--font-main);font-size:19px;font-weight:800;color:var(--neon-cyan);margin:0 0 12px;letter-spacing:.01em;line-height:1.25}.daily-intro-theme-description{font-family:var(--font-main);font-size:15px;font-weight:500;color:#cbd5e1;line-height:1.5;margin:0;text-wrap:balance}.daily-primary-start-btn{gap:10px}.daily-summary-theme-eyebrow{font-family:var(--font-mono);font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--neon-cyan);text-transform:uppercase}.daily-ghost-rival-banner,.daily-summary-ghost-outcome{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 14px;border-radius:14px;background:#f43f5e24;border:1px solid rgba(244,63,94,.42);text-align:center}.daily-summary-ghost-outcome.is-victory{background:#10b98124;border-color:#10b9816b}.daily-ghost-info,.daily-ghost-outcome-text{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;text-align:center}.daily-ghost-label,.daily-ghost-eyebrow{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-family:var(--font-mono);font-size:10px;font-weight:800;letter-spacing:.08em;color:#fda4af}.daily-summary-ghost-outcome.is-victory .daily-ghost-eyebrow{color:#6ee7b7}.daily-ghost-text,.daily-ghost-headline{font-size:12.5px;color:#f1f5f9;line-height:1.35}.daily-ghost-score{font-family:var(--font-mono);font-weight:800;color:#fbbf24}.daily-intro-stats-strip{width:100%;display:flex;justify-content:center}.daily-completed-status-pill,.daily-best-score-pill{width:100%;padding:10px 14px;border-radius:12px;background:#10b9811f;border:1px solid rgba(16,185,129,.38);display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:#d1fae5}.daily-best-score-pill{background:#f59e0b1f;border-color:#f59e0b59;color:#fde68a}.daily-intro-actions{width:100%;display:flex;flex-direction:column;gap:8px}.daily-secondary-replay-btn{width:100%;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:#cbd5e1;font-family:var(--font-main);font-size:12.5px;font-weight:800;letter-spacing:.05em;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .18s ease}.daily-secondary-replay-btn:hover{background:#ffffff1a;color:#fff}.daily-summary-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:48;background:#06080edb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;padding:72px 16px 24px;overflow:hidden;box-sizing:border-box}.daily-summary-glass-card{width:100%;max-width:520px;max-height:calc(100dvh - 96px);overflow:hidden;box-sizing:border-box;background:#0d121ef0;border:1px solid var(--border-glow);border-radius:24px;padding:24px 20px 22px;box-shadow:0 24px 70px #000000d9;display:flex;flex-direction:column;gap:16px;animation:scaleIn .3s var(--ease-spring)}.daily-summary-simple-header{flex-shrink:0}.daily-summary-simple-header .daily-intro-theme-subheading{margin-bottom:0}.daily-summary-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;flex-shrink:0}.daily-kpi-box{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}.daily-kpi-val{font-family:var(--font-mono);font-size:16px;font-weight:900;color:#fff}.daily-kpi-label{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:9px;font-weight:800;letter-spacing:.06em;color:#94a3b8;white-space:nowrap}.daily-cities-section{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px;overflow:hidden}.daily-cities-section-header{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:10px;font-weight:800;letter-spacing:.08em;color:#94a3b8;flex-shrink:0}.daily-cities-inspect-hint{color:#64748b;font-weight:600}.daily-cities-results-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding-right:4px}.daily-cities-results-list::-webkit-scrollbar{width:5px}.daily-cities-results-list::-webkit-scrollbar-track{background:#ffffff05;border-radius:4px}.daily-cities-results-list::-webkit-scrollbar-thumb{background:#06b6d447;border-radius:4px}.daily-cities-results-list::-webkit-scrollbar-thumb:hover{background:#06b6d480}.daily-city-result-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:#ffffff09;border:1px solid rgba(255,255,255,.07);color:#fff;font-family:var(--font-main);text-align:left;cursor:pointer;touch-action:pan-y;outline:none;transition:all .15s ease}@media(hover:hover)and (pointer:fine){.daily-city-result-row:hover{background:#06b6d41a;border-color:#06b6d459}}.daily-city-row-left{display:flex;align-items:center;flex:1;min-width:0;overflow:hidden}.daily-row-city-identity{padding:0;gap:10px;justify-content:flex-start;width:100%;max-width:100%;min-width:0;overflow:hidden}.daily-row-city-identity .city-identity-text{flex:1;min-width:0;overflow:hidden}.daily-row-city-identity .city-identity-flag{font-size:26px}.daily-row-city-identity .city-identity-name{font-size:16px}.daily-row-city-identity .city-identity-country{font-size:12px}.daily-city-row-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.daily-city-telemetry-line,.daily-city-score-line{display:flex;align-items:center;gap:8px}.daily-city-rating-label{font-family:var(--font-main);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:1}.daily-city-speed-pill{display:inline-flex;align-items:center;gap:2px;padding:1px 6px;border-radius:6px;background:#f59e0b33;border:1px solid rgba(245,158,11,.45);color:#fbbf24;font-family:var(--font-mono);font-size:10px;font-weight:800}.daily-city-dist{font-family:var(--font-mono);font-size:11.5px;font-weight:700;color:#cbd5e1}.daily-city-pts{font-family:var(--font-mono);font-size:12px;font-weight:900;color:var(--neon-cyan)}.daily-summary-footer-actions{display:flex;align-items:center;gap:10px;margin-top:2px;flex-shrink:0}.daily-inspect-globe-btn{height:48px;padding:0 16px;border-radius:14px;border:1px solid rgba(168,85,247,.5);background:linear-gradient(135deg,#a855f733,#8b5cf61a);color:#f3e8ff;font-family:var(--font-main);font-size:13.5px;font-weight:800;letter-spacing:.05em;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .2s var(--ease-spring);box-shadow:0 2px 10px #a855f733}.daily-inspect-globe-btn svg,.daily-share-results-btn svg{flex-shrink:0}.daily-inspect-globe-btn:hover{background:linear-gradient(135deg,#a855f759,#8b5cf640);border-color:#c084fc;color:#fff;transform:translateY(-1px);box-shadow:0 4px 18px #a855f766}.daily-inspect-globe-btn:active{transform:translateY(0)}.daily-share-results-btn{flex:1;min-width:0;height:48px;padding:0 16px;border-radius:14px;border:none;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-family:var(--font-main);font-size:13.5px;font-weight:800;letter-spacing:.05em;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 6px 22px #10b98159;transition:all .2s ease}.daily-share-results-btn:hover{box-shadow:0 8px 28px #10b98180;transform:translateY(-1px)}@media(max-width:480px){.daily-summary-glass-card{padding:18px 14px}.daily-kpi-box{padding:8px 6px}.daily-kpi-val{font-size:14px}.daily-summary-footer-actions{gap:8px}.daily-inspect-globe-btn,.daily-share-results-btn{height:44px;padding:0 12px;font-size:12.5px;gap:6px}}.daily-reminder-toggle-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}.daily-reminder-toggle-wrap.is-summary-reminder{margin-top:2px}.daily-reminder-toggle-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;height:38px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#cbd5e1;font-family:var(--font-main);font-size:11.5px;font-weight:800;letter-spacing:.06em;cursor:pointer;transition:all .2s var(--ease-smooth)}.daily-reminder-toggle-btn:hover:not(:disabled){border-color:#06b6d473;background:#06b6d41f;color:#fff}.daily-reminder-toggle-btn.is-enabled{border-color:#10b98180;background:#10b98124;color:#6ee7b7}.daily-reminder-toggle-btn.is-enabled:hover:not(:disabled){border-color:#10b981b3;background:#10b98138;color:#a7f3d0}.daily-reminder-toggle-btn.is-denied{border-color:#f43f5e4d;background:#f43f5e14;color:#fda4af;cursor:not-allowed;opacity:.8}.daily-reminder-icon{flex-shrink:0;color:var(--neon-cyan)}.daily-reminder-toggle-btn.is-enabled .daily-reminder-icon{color:#34d399}.daily-reminder-toggle-btn.is-denied .daily-reminder-icon{color:#fb7185}.daily-reminder-feedback{margin:0;font-size:11px;line-height:1.35;color:#94a3b8;text-align:center}
