@font-face{font-family:Nunito;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/nunito-700i-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/nunito-700i-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/nunito-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/nunito-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nunito-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nunito-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/nunito-800-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/nunito-800-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/nunito-900-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/nunito-900-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--sky-top: #eef7fc;--sky-bottom: #dcedf6;--card: #ffffff;--ink: #23415a;--ink-soft: #5b7893;--ink-faint: #93aabd;--ocean: #9fd3ef;--ocean-deep: #7fc2e8;--land: #b9e194;--land-line: #7cb35e;--blue: #2e7cf6;--blue-deep: #1b62d6;--coral: #ff5a5f;--coral-deep: #e04347;--green: #23b573;--green-deep: #189b60;--gold: #f6a821;--radius: 16px;--shadow: 0 8px 24px rgba(35, 65, 90, .14);--shadow-soft: 0 3px 10px rgba(35, 65, 90, .1);--font: "Nunito", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:linear-gradient(180deg,var(--sky-top),var(--sky-bottom));color:var(--ink);font-family:var(--font)}.screen{display:flex;flex-direction:column;min-height:100%;max-width:760px;margin:0 auto;padding:16px;gap:12px}.game{height:100dvh;max-height:100dvh;overflow:hidden}.home{justify-content:center;align-items:center;text-align:center}.home-card{background:var(--card);border-radius:24px;box-shadow:var(--shadow);padding:44px 36px 38px;max-width:440px;width:100%;animation:pop .42s cubic-bezier(.2,1.4,.4,1) both}.logo{font-size:clamp(2.4rem,9vw,3.2rem);font-weight:900;line-height:1;letter-spacing:-.02em;margin:0}.logo span{color:var(--blue)}.logo-pin{display:inline-block;width:.82em;height:1.02em;vertical-align:-.12em;animation:bounce 1.6s ease infinite}.mode-btns{display:flex;flex-direction:column;gap:12px;margin:6px 0 4px}.mode-main{display:flex;flex-direction:column;gap:4px;padding:16px 24px;letter-spacing:.08em}.mode-main small{font-size:.72rem;font-weight:700;letter-spacing:.04em;opacity:.85;text-transform:none}.mode-btn{font-family:var(--font);background:var(--sky-top);color:var(--ink);border:2px solid #dbe6ef;border-radius:16px;padding:14px 24px;font-size:.95rem;font-weight:900;letter-spacing:.08em;cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:border-color .12s ease,transform .12s ease}.mode-btn:hover{border-color:var(--blue);transform:translateY(-1px)}.mode-btn small{font-size:.72rem;font-weight:700;letter-spacing:.02em;color:var(--ink-soft);text-transform:none}.streak-chip{align-self:center;background:#fff3d6;color:#8a6210;border-radius:999px;font-size:.8rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:7px 16px;margin:0 auto 14px;width:fit-content}.strikes{display:flex;gap:5px}.strike{width:16px;height:16px}.strike line{stroke:#d5e1ec;stroke-width:2.6;stroke-linecap:round}.strike.hit line{stroke:var(--coral)}.waves-reached{margin:0;color:var(--ink-soft);font-weight:800}.lang-select{display:block;margin:20px auto 0;font-family:var(--font);font-weight:800;font-size:.9rem;color:var(--ink);background:var(--sky-top);border:2px solid #dbe6ef;border-radius:999px;padding:10px 18px;cursor:pointer;text-align:center}.tagline{color:var(--ink-soft);font-size:1.08rem;font-weight:700;margin:12px 0 26px}.how{list-style:none;counter-reset:passo;text-align:left;margin:0 auto 28px;padding:0;max-width:300px;display:flex;flex-direction:column;gap:12px}.how li{counter-increment:passo;display:flex;align-items:center;gap:12px;color:var(--ink-soft);font-weight:700;font-size:.98rem}.how li:before{content:counter(passo);flex:0 0 32px;height:32px;background:var(--sky-bottom);color:var(--blue);border-radius:50%;display:grid;place-items:center;font-weight:900}.meta{color:var(--ink-faint);font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:16px 0 0}.cta{font-family:var(--font);background:var(--blue);color:#fff;border:none;border-radius:999px;font-size:1.02rem;font-weight:900;letter-spacing:.06em;padding:16px 46px;cursor:pointer;box-shadow:0 4px 0 var(--blue-deep),var(--shadow-soft);transition:transform .1s ease,box-shadow .1s ease,filter .1s ease}.cta:hover:enabled{filter:brightness(1.06)}.cta:active:enabled{transform:translateY(3px);box-shadow:0 1px 0 var(--blue-deep)}.cta:disabled{background:#dbe6ef;color:var(--ink-faint);box-shadow:0 4px #c3d2e0;cursor:default}.secondary{font-family:var(--font);background:var(--card);color:var(--ink);border:2px solid #dbe6ef;border-radius:999px;padding:14px 28px;font-size:.95rem;font-weight:800;cursor:pointer;transition:border-color .12s ease}.secondary:hover{border-color:var(--ink-faint)}.hud{display:flex;justify-content:space-between;align-items:center;font-variant-numeric:tabular-nums}.hud-progress{font-size:.85rem;font-weight:900;letter-spacing:.14em;color:var(--ink-soft);background:var(--card);border-radius:999px;padding:6px 14px;box-shadow:var(--shadow-soft)}.hud-timer{font-size:1.35rem;font-weight:900;color:var(--ink);background:var(--card);border-radius:999px;padding:4px 16px;box-shadow:var(--shadow-soft);min-width:74px;text-align:center}.hud-timer.urgent{color:#fff;background:var(--coral);animation:pulse .5s ease infinite alternate}.hud-streak{font-size:1.05rem;font-weight:900;color:var(--gold)}.timer-track{height:8px;background:#ffffffb3;border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 3px #23415a1f}.timer-fill{height:100%;background:var(--green);border-radius:999px;transition:width .12s linear,background .3s ease}.timer-fill.urgent{background:var(--coral)}.question{margin:2px 0 0;font-size:clamp(1.15rem,4.5vw,1.45rem);font-weight:900;line-height:1.3}.map-wrap{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:4px solid var(--card);flex:1;min-height:180px;display:flex;background:var(--ocean)}.map-svg{width:100%;height:100%;touch-action:none;cursor:crosshair;display:block}.map-graticule{stroke:#fff;stroke-width:1;opacity:.3;vector-effect:non-scaling-stroke}.map-graticule line{vector-effect:non-scaling-stroke}.map-coast path{fill:none;stroke:#ffffffa6;stroke-width:4;vector-effect:non-scaling-stroke}.map-land{fill:var(--land);stroke:var(--land-line);stroke-width:.8;vector-effect:non-scaling-stroke}.map-labels text{fill:#3e6a3a;font-family:var(--font);font-weight:800;letter-spacing:.04em;paint-order:stroke;stroke:#ffffffbf;stroke-width:.25em;pointer-events:none;-webkit-user-select:none;user-select:none}.map-line{stroke:#23415a;fill:none;opacity:.75;animation:dashMarch .8s linear infinite}@keyframes dashMarch{to{stroke-dashoffset:-22}}.pin-guess{fill:var(--coral);stroke:#fff;stroke-width:1.2}.pin-answer{fill:var(--green);stroke:#fff;stroke-width:1.2}.pin-dot{fill:#fff}.pin-drop{animation:pinDrop .34s cubic-bezier(.2,1.5,.4,1) both}.pin-reveal{animation:pinDrop .34s .14s cubic-bezier(.2,1.5,.4,1) both}@keyframes pinDrop{0%{transform:translateY(-16px);opacity:0}}.zoom-controls{position:absolute;right:10px;bottom:10px;display:flex;flex-direction:column;gap:8px}.zoom-controls button{width:44px;height:44px;border-radius:50%;border:none;background:var(--card);color:var(--ink);font-size:1.4rem;font-weight:900;cursor:pointer;box-shadow:var(--shadow-soft)}.zoom-controls button:active{transform:scale(.94)}.zoom-hint{position:absolute;left:10px;bottom:10px;background:#ffffffeb;color:var(--ink-soft);padding:7px 12px;border-radius:999px;font-size:.78rem;font-weight:800;pointer-events:none;box-shadow:var(--shadow-soft)}.actions{display:flex;justify-content:center}.result-overlay{position:fixed;inset:0;display:flex;align-items:flex-end;justify-content:center;z-index:10;pointer-events:none}.result-card{pointer-events:auto;background:var(--card);border-radius:24px 24px 0 0;box-shadow:0 -14px 44px #0f23374d;width:min(560px,100%);max-height:56dvh;overflow:hidden auto;display:flex;flex-direction:column;position:relative;animation:slideUp .32s cubic-bezier(.2,1.25,.4,1) both}@keyframes slideUp{0%{transform:translateY(100%)}}.rating{position:absolute;top:-16px;left:50%;transform:translate(-50%);border-radius:999px;padding:7px 22px;font-weight:900;font-size:.95rem;letter-spacing:.1em;color:#fff;box-shadow:var(--shadow-soft);animation:ratingPop .38s .12s cubic-bezier(.2,1.6,.4,1) both;z-index:2}@keyframes ratingPop{0%{transform:translate(-50%) scale(.4);opacity:0}}.rating-perfect{background:var(--green)}.rating-great{background:#7cb832}.rating-close{background:var(--gold)}.rating-region{background:#e0662f}.rating-far{background:var(--coral)}.rating-miss{background:#8fa3b5}.result-figure{margin:0;position:relative;flex:none}.result-figure img{display:block;width:100%;height:170px;object-fit:contain;background:linear-gradient(180deg,#dcedf6,#c3dded)}.result-figure figcaption{position:absolute;bottom:0;right:0;max-width:100%;background:#0f1e2d9e;color:#ffffffe6;font-size:.62rem;padding:3px 10px;border-top-left-radius:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-body{padding:14px 20px 18px;display:flex;flex-direction:column;gap:6px}.result-card>.result-body:first-of-type{padding-top:22px}.confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden}.confetti span{position:absolute;top:-14px;width:9px;height:14px;border-radius:2px;animation:confettiFall linear both}@keyframes confettiFall{to{transform:translateY(105vh) rotate(var(--spin, 180deg))}}.xp-gain{color:var(--blue);font-weight:900;font-size:1rem;animation:fadeUp .4s .5s ease both}.rankup{background:linear-gradient(120deg,#3fb7e8,#7c6bf0);color:#fff;border-radius:999px;padding:8px 20px;font-weight:900;font-size:.9rem;letter-spacing:.06em;animation:ratingPop .42s .65s cubic-bezier(.2,1.5,.4,1) both;transform-origin:center}.rank-box{margin:0 auto 18px;width:min(280px,100%);display:flex;flex-direction:column;gap:5px}.rank-line{display:flex;justify-content:space-between;align-items:baseline}.rank-name{font-weight:900;font-size:.95rem;color:var(--blue);letter-spacing:.04em;text-transform:uppercase}.rank-xp{font-size:.75rem;font-weight:800;color:var(--ink-faint);font-variant-numeric:tabular-nums}.rank-track{height:8px;background:var(--sky-bottom);border-radius:999px;overflow:hidden}.rank-fill{height:100%;background:linear-gradient(90deg,var(--blue),#6ea8ff);border-radius:999px;transition:width .6s ease}.rank-next{align-self:flex-end;font-size:.7rem;font-weight:800;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em}.tile-pop{animation:tilePop .36s cubic-bezier(.2,1.6,.4,1) both}@keyframes tilePop{0%{transform:scale(0)}}.result-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.result-answer{font-weight:900;font-size:1.2rem}.result-score{color:var(--green);font-weight:900;font-size:1.5rem;font-variant-numeric:tabular-nums;white-space:nowrap}.result-dist{color:var(--ink-soft);font-size:.92rem;font-weight:800}.fact{margin:8px 0 10px;color:var(--ink-soft);line-height:1.5;font-size:.95rem;font-weight:600;background:var(--sky-top);border-radius:12px;padding:10px 14px}.result-card .cta{align-self:center}.final{justify-content:center;align-items:center;text-align:center;gap:12px}.final-card{background:var(--card);border-radius:24px;box-shadow:var(--shadow);padding:34px 30px;max-width:480px;width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;animation:pop .42s cubic-bezier(.2,1.4,.4,1) both}.final h2{font-weight:900;font-size:1.7rem;margin:0}.tiles{display:flex;gap:8px}.tiles .tile{width:30px;height:30px;border-radius:8px}.tile{display:inline-block;width:18px;height:18px;border-radius:5px;flex:none}.tile-great{background:var(--green)}.tile-good{background:#a8d539}.tile-mid{background:var(--gold)}.tile-region{background:#e0662f}.tile-miss{background:#c3d2e0}.total{font-size:2.7rem;font-weight:900;color:var(--blue);font-variant-numeric:tabular-nums;line-height:1}.total small{display:block;font-size:.72rem;font-weight:900;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint);margin-top:8px}.medal{font-weight:900;font-size:.88rem;letter-spacing:.14em;text-transform:uppercase;border-radius:999px;padding:8px 22px;color:#fff;box-shadow:var(--shadow-soft)}.medal-bronze{background:#b3773e}.medal-silver{background:#8fa3b5}.medal-gold{background:var(--gold)}.medal-diamond{background:linear-gradient(120deg,#3fb7e8,#7c6bf0)}.record{color:var(--ink-soft);font-weight:800;font-size:.9rem}.record-new{color:var(--green);animation:pulse .6s ease 2 alternate}.near-miss{color:var(--coral);font-weight:800;font-size:.92rem}.lb{width:100%;display:flex;flex-direction:column;gap:10px}.lb h3{margin:6px 0 0;font-size:1.05rem;font-weight:800;color:var(--ink)}.lb-join{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.lb-join input{flex:1;min-width:140px;font:inherit;font-weight:700;padding:12px 14px;border-radius:14px;border:2px solid var(--sky-top);background:#fff;color:var(--ink)}.lb-join input:focus{outline:none;border-color:var(--blue)}.lb-invalid{width:100%;color:var(--coral);font-size:.85rem;font-weight:700}.lb-empty,.lb-footer{font-size:.9rem;color:var(--ink-soft);font-weight:700}.lb-list{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.lb-list li{display:grid;grid-template-columns:2.2em 1fr auto;gap:10px;align-items:center;background:var(--sky-top);border-radius:12px;padding:8px 12px;font-size:.92rem}.lb-list li.lb-me{background:var(--blue);color:#fff}.lb-rank{font-weight:900;opacity:.7}.lb-list li.lb-me .lb-rank{opacity:1}.lb-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-score{font-weight:900;font-variant-numeric:tabular-nums}.breakdown{list-style:none;padding:0;margin:4px 0;width:100%;display:flex;flex-direction:column;gap:8px}.breakdown li{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;background:var(--sky-top);border-radius:12px;padding:10px 14px;font-size:.92rem}.breakdown-label{text-align:left;font-weight:800}.breakdown-dist{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-weight:700;font-size:.85rem}.breakdown-score{font-weight:900;font-variant-numeric:tabular-nums}.final-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:4px}@keyframes rise{0%{transform:translateY(16px);opacity:0}}@keyframes pop{0%{transform:scale(.94);opacity:0}}@keyframes pulse{to{transform:scale(1.08)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
