:root{--map-ink:#07394a;--map-coral:#ff684d;--map-gold:#ffd25c}body.race-map-page{overflow:hidden;overscroll-behavior:none;background:#b8edf1}.race-map-page .site-header,.race-map-page .daily-weather,.race-map-page .site-footer,.race-map-page .mobile-bottom-nav{display:none!important}.race-map-page .site-main{max-width:none;margin:0;padding:0}.race-map{position:fixed;z-index:900;inset:0;display:grid;grid-template-rows:auto 1fr;color:var(--map-ink);background:#c8eff0;overscroll-behavior:none}.race-map__bar{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:max(10px,env(safe-area-inset-top)) 18px 10px;background:#fffffff2;box-shadow:0 5px 25px #07394a20}.race-map__bar>div{display:flex;align-items:center;gap:12px}.race-map__bar strong{font-size:.85rem}.race-map__bar small{color:#66818a;font-weight:700}.race-map__live{font-size:.66rem;font-weight:950;letter-spacing:.11em;text-transform:uppercase;color:#168c50}.race-map__live i{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:#24b96a;box-shadow:0 0 0 5px #24b96a22}.race-map__bar-actions button,.race-map__bar-actions a{padding:8px 12px;border:0;border-radius:11px;background:#edf6f5;color:inherit;font:800 .72rem system-ui;text-decoration:none;cursor:pointer}.race-map__bar-actions a{background:var(--map-ink);color:white}.race-map__viewport{position:relative;min-height:0;overflow:hidden;touch-action:none;cursor:grab;background:#087f9b;overscroll-behavior:contain}.race-map__viewport.is-dragging{cursor:grabbing}.race-map__world{position:absolute;left:0;top:0;width:var(--map-w);height:var(--map-h);transform-origin:0 0;overflow:hidden;background:radial-gradient(ellipse at 16% 24%,#51c8d4 0 10%,transparent 28%),radial-gradient(ellipse at 75% 71%,#075f7b 0 8%,transparent 30%),linear-gradient(145deg,#159eb4,#087994 48%,#086580);box-shadow:inset 0 0 140px #003b5866;will-change:transform}.race-map__world:before{content:"";position:absolute;inset:0;opacity:.28;background-image:repeating-radial-gradient(ellipse at 20% 10%,transparent 0 28px,#d9ffff33 30px 32px),repeating-linear-gradient(168deg,transparent 0 75px,#ffffff0a 77px 79px);background-size:270px 170px,420px 300px}.race-map__water i{position:absolute;border:2px solid #d9ffff33;border-width:2px 0 0;border-radius:50%;width:260px;height:70px}.race-map__water i:nth-child(1){left:24%;top:18%;transform:rotate(-8deg)}.race-map__water i:nth-child(2){left:57%;top:43%;transform:scale(1.5) rotate(5deg)}.race-map__water i:nth-child(3){left:40%;top:76%;transform:scale(.8) rotate(-4deg)}.race-map__land{position:absolute;z-index:3;display:grid;place-items:center;min-width:125px;padding:18px 24px;border-radius:48% 52% 55% 45%;background:radial-gradient(ellipse,#e9c777 0 53%,#769e52 55% 70%,transparent 72%);filter:drop-shadow(0 12px 9px #04384966);color:white;text-align:center;text-shadow:0 2px 4px #07394a}.race-map__land span{font-size:2.2rem}.race-map__land b{font-size:.65rem;white-space:nowrap}.race-map__land--port{left:22px;top:46%}.race-map__land--north{left:40%;top:4%}.race-map__land--reef{left:58%;bottom:3%;transform:scale(.82)}.race-map__land--finish{right:24px;top:42%;background:radial-gradient(ellipse,#f5d288 0 53%,#6b9345 55% 70%,transparent 72%)}.race-map__boat{position:absolute;z-index:5;left:var(--boat-x);top:var(--boat-y);width:150px;height:105px;padding:0;border:0;background:transparent;color:white;transform:translate(-50%,-50%);cursor:pointer;animation:mapBoat 3.4s ease-in-out infinite;filter:drop-shadow(0 7px 5px #03384d55)}@keyframes mapBoat{50%{margin-left:var(--drift);margin-top:-6px}}.race-map__boat:hover,.race-map__boat:focus-visible,.race-map__boat.is-selected{z-index:25;outline:0;filter:drop-shadow(0 10px 9px #022f45aa)}.race-map__boat:hover .race-map__boat-art,.race-map__boat:focus-visible .race-map__boat-art,.race-map__boat.is-selected .race-map__boat-art{transform:scale(1.15)}.race-map__boat-art{position:absolute;inset:0;transition:transform .18s}.race-map__boat-art .boat-wrap{left:50%!important;bottom:-14px!important;transform:translateX(-50%) scale(.62);transform-origin:center bottom}.race-map__boat-art .boat-label{display:none}.race-map__rank{position:absolute;z-index:30;left:3px;top:1px;display:none;place-items:center;min-width:29px;height:29px;padding:0 6px;border-radius:50%;background:var(--map-ink);font-size:.62rem;font-weight:950;box-shadow:0 0 0 3px #fff}.race-map__boat.is-podium .race-map__rank,.race-map__boat.is-mine .race-map__rank,.race-map__boat.is-selected .race-map__rank{display:grid}.race-map__boat.is-podium .race-map__rank{background:var(--map-gold);color:var(--map-ink)}.race-map__boat.is-mine .race-map__rank{background:var(--map-coral);color:white}.race-map__name{position:absolute;z-index:22;left:50%;bottom:-10px;max-width:145px;transform:translateX(-50%);overflow:hidden;text-overflow:ellipsis;padding:4px 8px;border-radius:99px;background:#07394add;font-size:.58rem;font-weight:900;white-space:nowrap}.race-map__boat:not(.is-mine):not(.is-selected) .race-map__name{opacity:.78}.race-map__controls{position:fixed;z-index:950;right:max(12px,env(safe-area-inset-right));bottom:max(13px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:4px;padding:5px;border-radius:16px;background:#fffffff2;box-shadow:0 12px 35px #032e4155}.race-map__controls button{height:43px;min-width:43px;border:0;border-radius:11px;background:#edf4f3;color:inherit;font-weight:950;cursor:pointer}.race-map__controls output{width:48px;text-align:center;font-size:.65rem;font-weight:900}.race-map__controls .race-map__mine{padding:0 13px;background:var(--map-coral);color:white}.race-map__card{position:fixed;z-index:960;left:18px;bottom:18px;width:min(410px,calc(100vw - 36px));display:grid;grid-template-columns:54px 1fr;gap:12px;padding:18px;border:2px solid #fff;border-radius:23px;background:#fff9ecf5;box-shadow:0 20px 70px #022d4266;backdrop-filter:blur(14px)}.race-map__card[hidden]{display:none}.race-map__card>button{position:absolute;right:10px;top:10px;width:34px;height:34px;border:0;border-radius:50%;background:#edf4f3;font-size:1.2rem}.race-map__card>span{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--map-gold);font-size:1.2rem;font-weight:950}.race-map__card h2{max-width:260px;overflow:hidden;text-overflow:ellipsis;margin:1px 35px 3px 0;font:800 1.45rem Georgia,serif;white-space:nowrap}.race-map__card small{color:#6c8289}.race-map__card dl{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:5px 0 0}.race-map__card dl div{min-width:0;padding:9px 5px;border-radius:11px;background:white;text-align:center}.race-map__card dt{font-size:.54rem;color:#71868d}.race-map__card dd{overflow:hidden;text-overflow:ellipsis;margin:3px 0 0;font-size:.72rem;font-weight:900;white-space:nowrap}.race-map__empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:white;text-align:center}.race-map__empty span,.race-map__empty b{display:block}.race-map__empty span{font-size:4rem}@media(max-width:650px){.race-map__bar{padding-left:10px;padding-right:10px}.race-map__bar strong,.race-map__bar small,.race-map__bar-actions button{display:none}.race-map__bar-actions a{padding:9px}.race-map__controls{left:50%;right:auto;transform:translateX(-50%)}.race-map__card{left:10px;bottom:75px;width:calc(100vw - 20px)}.race-map__card dl{grid-template-columns:repeat(2,1fr)}.race-map__boat{width:135px}.race-map__boat-art .boat-wrap{transform:translateX(-50%) scale(.56)}}@media(prefers-reduced-motion:reduce){.race-map__boat{animation:none}}
/* Fullscreen reale: nessuna barra globale può coprire il comando di uscita. */
.race-map-page .player-status-bar{display:none!important}.race-map__bar{z-index:1100!important}.race-map__bar-actions{position:relative;z-index:1101}.race-map__bar-actions a{display:inline-flex!important;align-items:center;justify-content:center;min-height:38px;white-space:nowrap}
