.geo{max-width:1140px;margin:0 auto;padding:28px 20px 80px}.geo-screen[hidden],.geo-game[hidden]{display:none!important}body.og-geo-playing{overflow:hidden}.geo-crumbs{margin-bottom:20px}.geo-crumbs ol{display:flex;gap:8px;list-style:none;margin:0;padding:0;font-size:12.5px;color:var(--color-ink-2)}.geo-crumbs a{color:var(--color-ink-2);text-decoration:none}.geo-crumbs a:hover{color:var(--color-apricot)}.geo-kicker{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--color-ink-2);margin:0 0 12px}.geo h1{font-size:clamp(30px,5vw,46px);font-weight:900;letter-spacing:-.02em;margin:0 0 14px;line-height:1.08}.geo-h1-sub{display:block;font-size:clamp(15px,2vw,19px);font-weight:700;color:var(--color-apricot);margin-top:8px;letter-spacing:.02em}.geo-lede{max-width:640px;font-size:15.5px;line-height:1.75;color:var(--color-ink-2);margin:0 0 28px}.geo-lede strong{color:var(--color-ink)}.geo-rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:var(--color-line-warm);border:1px solid var(--color-line-warm);border-radius:16px;overflow:hidden;margin:0 0 28px}.geo-rule{background:var(--color-paper-card);padding:18px 16px;display:flex;gap:12px}.geo-rule-n{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--color-apricot)}.geo-rule p{margin:0;font-size:13.5px;line-height:1.65;color:var(--color-ink-2)}.geo-rule strong{color:var(--color-ink)}.geo-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 8px}.geo-btn{min-height:48px;padding:0 28px;font-family:var(--font-display);font-weight:700;font-size:15px;cursor:pointer;border-radius:14px;transition:all .15s ease}.geo-btn:active{transform:scale(.97)}.geo-btn-primary{background:var(--color-ink);color:#fff;border:1px solid var(--color-ink)}.geo-btn-primary:hover{background:var(--color-apricot);border-color:var(--color-apricot);color:#fff}.geo-btn-primary:disabled{opacity:.5;cursor:default}.geo-btn-ghost{background:transparent;color:var(--color-ink);border:1px solid var(--color-ink)}.geo-btn-ghost:hover{border-color:var(--color-apricot);color:var(--color-apricot)}.geo-noscript{color:var(--color-error);font-size:14px}.geo-diff{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 0}.geo-diff-label{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--color-ink-3);text-transform:uppercase}.geo-diff-btn{font-size:13px;font-weight:600;padding:8px 16px;cursor:pointer;background:var(--color-paper-card);color:var(--color-ink-2);border:1px solid var(--color-line-warm);border-radius:999px}.geo-diff-btn:hover{border-color:var(--color-apricot);color:var(--color-apricot)}.geo-diff-btn.on{background:var(--color-ink);color:#fff;border-color:var(--color-ink)}.geo-diff-note{font-size:12px;color:var(--color-ink-3)}.geo-my-best{margin:14px 0 0;font-family:var(--font-mono);font-size:12.5px;font-weight:700;color:var(--color-apricot);letter-spacing:.05em}.geo-seo{max-width:640px;margin-top:48px;padding-top:28px;border-top:1px solid var(--color-line-warm)}.geo-seo h2{font-size:20px;margin:0 0 10px}.geo-seo p{font-size:14.5px;line-height:1.8;color:var(--color-ink-2);margin:0}.geo-seo a{color:var(--color-apricot)}.geo-game{position:fixed;inset:0;z-index:2000;background:#101210}.geo-stage{position:absolute;inset:0}.geo-stage-layer{position:absolute;inset:0;width:100%;height:100%}.geo-stage-layer[hidden]{display:none}#sat-map{background:#1c211c}#pano-frame{width:100%;height:100%;border:0;display:block}.geo-embed-cover{position:absolute;background:#101210;z-index:3;display:flex;align-items:center;justify-content:center}.geo-embed-cover-tl{top:0;left:0;width:300px;height:62px;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}.geo-embed-cover-tl span{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.22em;color:#f4b860}.geo-embed-cover-bl{left:0;bottom:0;width:210px;height:30px;opacity:.92}.geo-hud-tl,.geo-hud-tr{position:absolute;top:14px;z-index:2010;display:flex;gap:8px;align-items:center}.geo-hud-tl{left:14px}.geo-hud-tr{right:14px}.geo-pill{display:inline-flex;align-items:center;gap:5px;background:#101210d1;color:#fff;backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.18);padding:8px 14px;border-radius:999px;font-family:var(--font-mono);font-size:12.5px;font-weight:600;letter-spacing:.05em}.geo-pill strong{color:#f4b860;font-size:14px}.geo-pill em{font-style:normal;opacity:.6}.geo-pill-mode{color:#ffffffbf;font-size:11px}.geo-pill-brand{color:#f4b860;letter-spacing:.18em;font-size:10.5px}.geo-pill-btn{cursor:pointer;font-size:14px;line-height:1}.geo-pill-btn:hover{background:#c13815d9}.geo-pill-timer strong{min-width:22px;text-align:center}.geo-pill-timer.urgent{background:#c13815eb;border-color:#f15b43;animation:geo-tick .9s ease-in-out infinite}.geo-pill-timer.urgent strong{color:#fff}@keyframes geo-tick{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}.geo-tip{position:absolute;top:66px;left:50%;transform:translate(-50%);z-index:2015;max-width:min(560px,calc(100vw - 28px));background:#101210eb;color:#fff;border:1px solid #F4B860;border-radius:12px;padding:12px 18px;font-size:13.5px;line-height:1.6;text-align:center;cursor:pointer}.geo-tip[hidden],.geo-tip-mobile{display:none}@media(max-width:767px){.geo-tip-desktop{display:none}.geo-tip-mobile{display:inline}}.geo-widget{position:absolute;right:14px;bottom:14px;z-index:2020;width:300px;display:flex;flex-direction:column;gap:8px;background:#101210e0;backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);border-radius:18px;padding:10px;transition:width .2s ease}.geo-widget:hover,.geo-widget:focus-within{width:min(480px,calc(100vw - 28px))}#guess-map{width:100%;height:200px;transition:height .2s ease;background:#dfe7dd;border-radius:12px;overflow:hidden}.geo-widget:hover #guess-map,.geo-widget:focus-within #guess-map{height:320px}.geo-widget-close,.geo-widget-fab{display:none}.geo-jump{display:flex;gap:5px;flex-wrap:wrap}.geo-jump-btn{font-family:var(--font-mono);font-size:11px;font-weight:600;padding:5px 11px;background:transparent;color:#ffffffd9;border:1px solid rgba(255,255,255,.3);border-radius:999px;cursor:pointer}.geo-jump-btn:hover{border-color:#f4b860;color:#f4b860}.geo-btn-confirm{width:100%;min-height:44px;font-size:14px;background:var(--color-apricot);border-color:var(--color-apricot)}.geo-btn-confirm:hover:not(:disabled){background:#c53815;border-color:#c53815}.geo-reveal-overlay{position:absolute;inset:0;z-index:2030;display:flex;flex-direction:column;background:#101210}.geo-reveal-overlay[hidden]{display:none}#result-map{flex:1;min-height:0}.geo-reveal-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:16px 22px;background:#101210;color:#fff;border-top:2px solid var(--color-apricot)}.geo-reveal-verdict{margin:0 0 2px;font-weight:900;font-size:14px;color:#f15b43;letter-spacing:.04em}.geo-reveal-course{margin:0 0 4px;font-weight:900;font-size:17px;color:#fff}.geo-reveal-stats{margin:0 0 6px;font-size:14px;color:#ffffffb3}.geo-reveal-stats strong{color:#f4b860;font-size:16px;font-family:var(--font-mono)}.geo-scorebar{width:min(420px,100%);height:5px;background:#ffffff26;border-radius:999px;overflow:hidden;margin:2px 0 8px}.geo-scorebar span{display:block;height:100%;width:0;background:linear-gradient(90deg,#f15b43,#f4b860);transition:width .8s ease}.geo-reveal-blurb{margin:0;font-size:13px;line-height:1.6;color:#fff9;max-width:620px}.geo-reveal-link{display:inline-block;margin-top:6px;font-size:13.5px;font-weight:700;color:#f4b860;text-decoration:none}.geo-reveal-link:hover{text-decoration:underline}.geo-btn-next{background:var(--color-apricot);border-color:var(--color-apricot);min-width:160px}.geo-pin-dot{display:block;width:18px;height:18px;border-radius:50%;background:var(--color-apricot);border:3px solid #fff;box-shadow:0 1px 6px #00000073}.geo-flag{font-size:24px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.geo-final-score{font-family:var(--font-mono);font-size:clamp(52px,9vw,88px);font-weight:700;margin:0;line-height:1;color:var(--color-ink)}.geo-final-max{font-size:18px;color:var(--color-ink-3);margin-left:10px}.geo-final-title{font-size:19px;font-weight:900;color:var(--color-apricot);margin:10px 0}.geo-final-emoji{font-size:22px;letter-spacing:3px;margin:0 0 20px}.geo-zen-note{max-width:480px;font-size:13.5px;line-height:1.7;color:var(--color-ink-2);background:var(--color-paper-cream);border:1px solid var(--color-line-warm);border-radius:12px;padding:14px 16px;margin:0 0 24px}.geo-final-rounds{max-width:480px;border:1px solid var(--color-line-warm);border-radius:14px;overflow:hidden;margin-bottom:30px}.geo-final-row{display:flex;justify-content:space-between;padding:10px 16px;font-size:14px;background:var(--color-paper-card)}.geo-final-row+.geo-final-row{border-top:1px solid var(--color-line-warm)}.geo-final-row strong{font-family:var(--font-mono)}.geo-form{max-width:560px;background:var(--color-paper-cream);border:1px solid var(--color-ink);border-radius:16px;padding:22px 20px;margin-bottom:26px}.geo-form h2{margin:0 0 6px;font-size:20px;font-weight:900}.geo-form-hint{margin:0 0 14px;font-size:13.5px;color:var(--color-ink-2)}.geo-form-row{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}@media(min-width:560px){.geo-form-row{flex-direction:row}.geo-form-row input{flex:1}}.geo-form input[type=text],.geo-form input[type=email]{min-height:46px;padding:0 14px;font-size:15px;color:var(--color-ink);background:var(--color-paper-card);border:1px solid var(--color-ink);border-radius:12px;width:100%}.geo-form input:focus{outline:2px solid var(--color-apricot);outline-offset:1px}.geo-form-check{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--color-ink-2);margin-bottom:16px;cursor:pointer}.geo-form-check input{margin-top:3px;accent-color:var(--color-apricot)}.geo-form-status{margin:10px 0 0;font-size:13.5px;color:var(--color-ink-2);min-height:1em}.geo-form-status.is-ok{color:#2f6b3a;font-weight:700}.geo-form-status.is-err{color:var(--color-error)}.geo-form-privacy{margin:12px 0 0;font-size:12px;color:var(--color-ink-3);line-height:1.6}.geo-form-privacy a{color:inherit}.geo-hp{position:absolute!important;left:-9999px!important;opacity:0;height:0;width:0}.geo-home-board{margin-top:48px;padding-top:28px;border-top:1px solid var(--color-line-warm)}.geo-board-h{font-size:clamp(24px,4vw,34px);font-weight:900;margin:0 0 16px}.geo-board-tabs{display:flex;gap:6px;margin:0 0 16px}.geo-tab{font-family:var(--font-mono);font-size:12.5px;font-weight:700;padding:8px 18px;cursor:pointer;background:var(--color-paper-card);color:var(--color-ink-2);border:1px solid var(--color-line-warm);border-radius:999px;letter-spacing:.05em}.geo-tab:hover{border-color:var(--color-apricot);color:var(--color-apricot)}.geo-tab.on{background:var(--color-ink);color:#f4b860;border-color:var(--color-ink)}.geo-board-wrap{max-width:640px;margin-bottom:28px}.geo-board-loading,.geo-board-empty{font-size:14px;color:var(--color-ink-2)}.geo-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--color-paper-card);border:1px solid var(--color-ink);border-radius:14px;overflow:hidden}.geo-table th{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-align:left;padding:10px 14px;background:var(--color-ink);color:#fff}.geo-table td{padding:10px 14px;font-size:14px;border-top:1px solid var(--color-line-warm)}.geo-table td:nth-child(3){font-family:var(--font-mono);font-weight:700}.geo-table tr.top1 td{background:#fbf3e2}.geo-table tr.top1 td:nth-child(3),.geo-table tr.top2 td:nth-child(3),.geo-table tr.top3 td:nth-child(3){color:var(--color-apricot)}@media(max-width:767px){.geo{padding:20px 14px 60px}.geo-cta-row .geo-btn{width:100%;min-height:52px;font-size:16px;border-radius:16px}.geo-widget{right:0;bottom:0;left:0;width:100%!important;border-radius:22px 22px 0 0;padding-top:18px;transform:translateY(calc(100% + 2px));transition:transform .25s ease}.geo-widget:before{content:"";position:absolute;top:7px;left:50%;transform:translate(-50%);width:44px;height:4px;border-radius:999px;background:#ffffff59}.geo-widget.open{transform:translateY(0)}.geo-widget:hover{width:100%!important}#guess-map{height:46vh!important}.geo-widget.open .geo-widget-close{display:block;position:absolute;top:-44px;right:12px;background:#101210e0;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:999px;width:36px;height:36px;font-size:15px;cursor:pointer}.geo-widget-fab{display:block;position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:2015;background:var(--color-apricot);color:#fff;border:none;border-radius:999px;padding:15px 34px;font-weight:900;font-size:16px;font-family:var(--font-display);box-shadow:0 6px 20px #00000073;cursor:pointer}.geo-widget.open~.geo-widget-fab,.geo-reveal-overlay:not([hidden])~.geo-widget-fab{display:none}.geo-hud-tl .geo-pill-mode{display:none}.geo-tip{top:156px}.geo-duel-hud{top:104px}.geo-hud-tr .geo-pill-brand{display:none}.geo-hud-tl{flex-wrap:wrap;max-width:calc(100vw - 90px)}.geo-embed-cover-tl{width:100vw;height:60px;border-right:none}.geo-embed-cover-tl span{display:none}.geo-reveal-bar{padding:16px 16px 20px;border-radius:22px 22px 0 0;margin-top:-18px;position:relative;z-index:1}.geo-btn-next{width:100%}#result-map{min-height:45vh}}.geo-duel-banner{max-width:560px;background:#101210;color:#fff;border-radius:18px;padding:22px;margin:0 0 22px;border:2px solid var(--color-apricot)}.geo-duel-banner-title{margin:0 0 6px;font-size:20px;font-weight:900}.geo-duel-banner-title strong{color:#f4b860}.geo-duel-banner-desc{margin:0 0 14px;font-size:14px;color:#ffffffbf}.geo-duel-banner-desc strong{color:#f15b43;font-family:var(--font-mono)}.geo-duel-banner .geo-btn{background:var(--color-apricot);border-color:var(--color-apricot)}.geo-duel-hud{position:absolute;top:62px;left:14px;z-index:2010;width:min(320px,calc(100vw - 28px));display:flex;flex-direction:column;gap:5px;background:#101210d1;backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:10px 12px}.geo-hp{display:flex;align-items:center;gap:8px}.geo-hp-name{font-family:var(--font-mono);font-size:11px;font-weight:700;color:#ffffffd9;min-width:56px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geo-hp-bar{flex:1;height:10px;border-radius:999px;background:#ffffff26;overflow:hidden}.geo-hp-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#95b17c,#f4b860);transition:width .6s ease}.geo-hp-bar-them span{background:linear-gradient(90deg,#f15b43,#e8b8b8)}.geo-hp-bar.hit{animation:geo-shake .45s ease}@keyframes geo-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}55%{transform:translate(4px)}80%{transform:translate(-2px)}}.geo-reveal-duel{margin:0 0 6px;font-size:13.5px;color:#fffc}.geo-reveal-duel strong{font-family:var(--font-mono)}.geo-dmg-them{color:#95b17c}.geo-dmg-me{color:#f15b43}.geo-duel-verdict{max-width:480px;background:#101210;color:#fff;border-radius:18px;padding:20px;margin:0 0 24px}.geo-duel-verdict .geo-hp{margin-top:8px}.geo-duel-verdict .geo-hp-name{min-width:120px;max-width:160px}.geo-duel-verdict-title{margin:0 0 8px;font-size:24px;font-weight:900}.geo-duel-verdict-title.is-win{color:#f4b860}.geo-duel-verdict-title.is-lose{color:#f15b43}.geo-duel-hint{margin:10px 0 0;font-size:13px;color:var(--color-ink-2)}.geo-duel-verdict .geo-duel-hint{color:#ffffffa6}.geo-round-flash{position:absolute;inset:0;z-index:2025;display:flex;align-items:center;justify-content:center;pointer-events:none}.geo-round-flash span{font-family:var(--font-mono);font-size:clamp(40px,9vw,84px);font-weight:700;letter-spacing:.18em;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.6);opacity:0;transform:scale(1.25)}.geo-round-flash.go span{animation:geo-roundin 1.05s ease forwards}@keyframes geo-roundin{0%{opacity:0;transform:scale(1.25)}18%{opacity:1;transform:scale(1)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}.geo-confetti{position:fixed;inset:0;z-index:3000;pointer-events:none}.leaflet-container{font-family:var(--font-sans)}.leaflet-bar{border-radius:10px!important;overflow:hidden;border:none;box-shadow:0 2px 10px #00000040}.leaflet-control-attribution{font-size:10px}
