.fleet-map{--accent:255 34 51;--ink-warm:#0c0909;--text:#f4ecec;--muted:#9b8f90;--font:"Helvetica Neue", Helvetica, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, monospace;aspect-ratio:1180/920;width:100%;max-width:1180px;min-height:460px;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;background:radial-gradient(120% 90% at 50% 42%, rgb(var(--accent) / .13) 0%, rgb(var(--accent) / .04) 42%, #0000 72%), radial-gradient(100% 70% at 50% 120%, rgb(var(--accent) / .08), #0000 60%), var(--ink-warm);box-shadow:0 40px 90px -50px rgb(var(--accent) / .35), inset 0 0 120px #0009;isolation:isolate;border:1px solid #ffffff0f;border-radius:22px;margin:0 auto;position:relative;overflow:hidden}.fleet-map svg{width:100%;height:100%;display:block}.fleet-map .land-far{fill:#131011;stroke:#ffffff0b;stroke-width:.6px}.fleet-map .grat{fill:none;stroke:#ffffff0b;stroke-width:.5px}.fleet-map .italy{fill:#17141600;stroke:rgb(var(--accent));stroke-width:2.1px;stroke-linejoin:round}.fleet-map .italy-fill{fill:rgb(var(--accent) / .06);stroke:none}.fleet-map .route{fill:none;stroke:rgb(var(--accent) / .26);stroke-width:1px;stroke-dasharray:3 6}.fleet-map .spark,.fleet-map .dust{fill:rgb(var(--accent))}.fleet-map .halo{fill:rgb(var(--accent) / .16)}.fleet-map .pulse{fill:none;stroke:rgb(var(--accent) / .5);stroke-width:1.2px}.fleet-map .pin-core{fill:rgb(var(--accent));stroke:#fffc;stroke-width:.6px}.fleet-map #dustG stop{stop-color:rgb(var(--accent))}.fleet-map #dustG stop:first-child{stop-opacity:.9}.fleet-map #dustG stop:last-child{stop-opacity:0}.fleet-map .city-label{font:600 12px/1 var(--font);fill:#f4ececcc;paint-order:stroke;stroke:#0a0808e0;stroke-width:3px;pointer-events:none}.fleet-map .city{cursor:pointer}.fleet-map .city .halo,.fleet-map .city .pulse,.fleet-map .city .pin-core,.fleet-map .city .city-label{pointer-events:none}.fleet-map .city .hit{pointer-events:all}.fleet-map .city.dim{opacity:.3}.fleet-map .tip{pointer-events:none;z-index:5;box-shadow:0 18px 40px -18px #000000e6, 0 0 0 1px rgb(var(--accent) / .14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;white-space:nowrap;background:#181314f2;border:1px solid #ffffff17;border-radius:12px;padding:10px 14px 11px;transition:opacity .18s,transform .2s cubic-bezier(.2,.9,.3,1);position:absolute;top:0;left:0;transform:translate(-50%,-118%)scale(.96)}.fleet-map .tip.on{opacity:1;transform:translate(-50%,-124%)scale(1)}.fleet-map .tip-name{letter-spacing:.01em;align-items:center;gap:7px;font-size:14.5px;font-weight:700;display:flex}.fleet-map .tip-name i{background:rgb(var(--accent));width:8px;height:8px;box-shadow:0 0 10px rgb(var(--accent) / .9);border-radius:50%}.fleet-map .tip-sub{color:var(--muted);margin-top:5px;font-size:12.5px}.fleet-map .tip-sub b{color:#fff;font-family:var(--mono);font-weight:600}.fleet-map .tip-region{color:#9b8f90cc;letter-spacing:.04em;margin-top:2px;font-size:11px}.fleet-map .note{z-index:6;width:326px;max-width:calc(100% - 52px);box-shadow:0 30px 70px -30px #000000f2, 0 0 0 1px rgb(var(--accent) / .16);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;pointer-events:none;background:#141011f5;border:1px solid #ffffff1a;border-radius:16px;padding:20px 22px 18px;transition:opacity .28s,transform .34s cubic-bezier(.2,.9,.3,1);position:absolute;top:84px;left:26px;transform:translateY(10px)scale(.98)}.fleet-map .note.on{opacity:1;pointer-events:auto;transform:none}.fleet-map .note-eyebrow{font:600 10px/1 var(--font);letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--accent));align-items:center;gap:7px;display:flex}.fleet-map .note-eyebrow i{background:currentColor;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px}.fleet-map .note h2{letter-spacing:-.01em;color:#fff;margin:11px 0 2px;font-size:20px;font-weight:700}.fleet-map .note .reg{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11.5px}.fleet-map .note p{color:#f4ececc7;text-wrap:pretty;margin:14px 0 0;font-size:13px;line-height:1.55}.fleet-map .note p strong{color:#fff;font-weight:600}.fleet-map .note hr{border:0;border-top:1px solid #ffffff14;margin:16px 0 0}.fleet-map .note-foot{justify-content:space-between;align-items:center;gap:12px;margin-top:13px;display:flex}.fleet-map .note-foot span{color:#9b8f90e6;font-size:11px;line-height:1.45}.fleet-map .note-close{cursor:pointer;background:rgb(var(--accent) / .14);border:1px solid rgb(var(--accent) / .4);color:#fff;font:600 11px/1 var(--font);letter-spacing:.1em;text-transform:uppercase;border-radius:9px;flex:none;padding:8px 14px;transition:background .18s,transform .18s}.fleet-map .note-close:hover{background:rgb(var(--accent) / .26);transform:translateY(-1px)}.fleet-map .hud{z-index:4;pointer-events:none;position:absolute;top:24px;left:26px}.fleet-map .hud h1{letter-spacing:.16em;text-transform:uppercase;color:#f4ecece6;margin:0;font-size:15px}.fleet-map .hud p{color:var(--muted);letter-spacing:.02em;margin:6px 0 0;font-size:12.5px}.fleet-map .stats{z-index:4;gap:26px;display:flex;position:absolute;bottom:24px;left:26px}.fleet-map .stat b{font-family:var(--mono);color:#fff;font-size:26px;font-weight:600;line-height:1;display:block}.fleet-map .stat span{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:5px;font-size:11px;display:block}.fleet-map .ctrl{z-index:4;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;top:22px;right:22px}.fleet-map .ctrl button{cursor:pointer;color:#f4ececd9;width:34px;height:34px;font:400 17px/1 var(--font);background:#181314e6;border:1px solid #ffffff1a;border-radius:10px;place-items:center;transition:background .16s,border-color .16s,transform .16s;display:grid}.fleet-map .ctrl button:hover{background:rgb(var(--accent) / .18);border-color:rgb(var(--accent) / .5);transform:translateY(-1px)}.fleet-map .ctrl button.reset{letter-spacing:.06em;font-size:9.5px}@media (max-width:820px){.fleet-map{aspect-ratio:3/4;border-radius:16px}.fleet-map .hud{top:16px;left:16px}.fleet-map .stats{gap:18px;bottom:18px;left:16px}.fleet-map .stat b{font-size:20px}.fleet-map .note{width:auto;max-width:none;padding:16px 18px 15px;inset:auto 16px 18px}.fleet-map:has(.note.on) .stats{opacity:0;transition:opacity .25s}.fleet-map:has(.note.on) .hud p{opacity:0;transition:opacity .25s}.fleet-map .note h2{font-size:18px}.fleet-map .note p{margin-top:11px;font-size:12.5px}}
