*{box-sizing:border-box}:root{--navy:#063c75;--blue:#087bc2;--sky:#63d9ff;--ink:#173c58;--muted:#6a8396;--yellow:#ffd63c;--green:#2cba73;--red:#ed533f}
[hidden]{display:none!important}body.mission-map-page{margin:0;min-height:100vh;font-family:Inter,system-ui,"Segoe UI",sans-serif;color:var(--ink);background:linear-gradient(#dff6ff,#f9fdff 42%,#eaf8ff)}
.gamebar{min-height:72px;padding:7px 3vw;display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#063a72,#087bc2 72%,#079bd0);border-bottom:4px solid #67ddff;box-shadow:0 7px 22px #073d7540;position:sticky;top:0;z-index:100}.game-logo{width:175px}.game-logo img{width:100%;display:block}.gamebar nav{display:flex;margin:auto;gap:4px}.gamebar nav a{color:#e5f8ff;text-decoration:none;text-align:center;padding:7px 10px;border-radius:13px;font-size:19px;font-weight:900}.gamebar nav small{display:block;font-size:9px}.gamebar nav a.active,.gamebar nav a:hover{background:#ffffff1d;box-shadow:inset 0 0 0 2px #72ddff}.profile-chip,.stats span,.gear{background:#063c75;border:2px solid #62d4fc;color:#fff;border-radius:13px}.profile-chip{display:flex;gap:7px;align-items:center;padding:5px 9px}.profile-chip b,.profile-chip small{display:block}.profile-chip small{font-size:9px}.stats{display:flex;gap:4px}.stats span{padding:7px}.gear{width:40px;height:40px;font-size:18px}
.map-shell{width:min(1500px,96vw);margin:18px auto 38px}.map-hero{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:20px 26px;margin-bottom:14px;border-radius:24px;color:#fff;background:linear-gradient(115deg,#063d76,#0784c8);box-shadow:0 14px 30px #0b5b8130;overflow:hidden;position:relative}.map-hero:after{content:"🚁";position:absolute;right:42%;top:-8px;font-size:70px;opacity:.08}.eyebrow{font-size:10px;font-weight:1000;letter-spacing:1px;color:#9be9ff}.map-hero h1{margin:5px 0;font-size:clamp(26px,3vw,45px);line-height:1}.map-hero h1 em{font-style:normal;color:#ffdc40}.map-hero p{margin:7px 0 0;color:#dff6ff;font-weight:650}.hero-progress{min-width:230px;background:#fff;color:var(--ink);border:3px solid #72ddff;border-radius:17px;padding:13px}.hero-progress span,.hero-progress b{display:block}.hero-progress span{font-size:10px;font-weight:900}.hero-progress b{font-size:17px;margin:4px 0}.hero-progress div{height:10px;border-radius:99px;background:#e3eff6;overflow:hidden}.hero-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#2bbb73,#ffd638);transition:.5s}
.map-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px}.map-side{display:flex;flex-direction:column;gap:10px}.dog-card,.map-legend,.municipality-list{background:#fff;border:1px solid #d8eaf4;border-radius:19px;box-shadow:0 7px 18px #0a527315}.dog-card{display:flex;gap:10px;align-items:center;padding:13px}.dog{font-size:42px;position:relative}.dog span{font-size:19px;position:absolute;left:20px;top:-5px}.dog-card b{font-size:11px;color:#e35b32}.dog-card p{font-size:11px;line-height:1.35;margin:3px 0;color:var(--muted)}.map-legend{padding:13px}.map-legend h3{font-size:13px;margin:0 0 8px}.map-legend span{display:flex;align-items:center;gap:7px;font-size:10px;margin:5px 0}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot.ready{background:#ff8a2d}.dot.done{background:#2cba73}.dot.locked{background:#b9c8d2}.municipality-list{padding:8px;max-height:520px;overflow:auto}.municipality-list button{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;padding:8px 9px;border-radius:10px;text-align:left;color:var(--ink);font-weight:800;font-size:10px;cursor:pointer}.municipality-list button:hover{background:#eef8ff}.municipality-list button.done{color:#19875a}.municipality-list button.locked{opacity:.5}
.map-stage-card{background:#fff;border-radius:23px;border:1px solid #d5e9f4;box-shadow:0 10px 28px #0a52731c;overflow:hidden}.map-toolbar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#f6fbfe;border-bottom:1px solid #dcecf5}.map-toolbar b,.map-toolbar small{display:block}.map-toolbar small{font-size:9px;color:var(--muted)}.map-toolbar button{border:0;border-radius:10px;background:#087bc2;color:#fff;padding:8px 11px;font-weight:900;cursor:pointer}.map-stage{position:relative;isolation:isolate;overflow:hidden;background:#86dafa;min-height:500px}.map-stage>img{display:block;width:100%;height:auto;user-select:none}.map-pin{position:absolute;transform:translate(-50%,-100%);z-index:8;border:0;background:none;cursor:pointer;padding:0;filter:drop-shadow(0 5px 5px #0038);animation:pinBob 2s ease-in-out infinite}.map-pin .marker{display:grid;place-items:center;width:36px;height:36px;border:4px solid #fff;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);background:#ff762c}.map-pin .marker span{transform:rotate(45deg);font-size:17px}.map-pin.done .marker{background:#2cba73}.map-pin.locked .marker{background:#94a9b7;filter:grayscale(1)}.map-pin label{display:block;white-space:nowrap;margin-top:5px;background:#063c75;color:#fff;border:2px solid #fff;border-radius:9px;padding:3px 6px;font-size:9px;font-weight:1000;box-shadow:0 3px 8px #0035}.map-pin:hover{z-index:20;transform:translate(-50%,-100%) scale(1.14)}@keyframes pinBob{50%{margin-top:-6px}}.map-cloud{position:absolute;z-index:3;font-size:50px;opacity:.8;pointer-events:none;animation:cloud 16s linear infinite}.c1{top:5%;left:-10%}.c2{top:26%;left:-25%;animation-duration:23s}@keyframes cloud{to{left:105%}}.map-truck{position:absolute;z-index:7;left:7%;bottom:8%;font-size:34px;filter:drop-shadow(0 4px 3px #0035);pointer-events:none;animation:truckBounce .7s ease-in-out infinite alternate}@keyframes truckBounce{to{transform:translateY(-3px) rotate(-2deg)}}
.mission-drawer{position:sticky;z-index:50;bottom:12px;margin:14px auto 0;width:min(950px,96%);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;background:#fff;border:3px solid #62d5fb;border-radius:22px;padding:14px 18px;box-shadow:0 15px 38px #063c7545}.drawer-close{position:absolute;right:7px;top:5px;border:0;background:transparent;font-size:21px;color:#7b94a5}.drawer-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:18px;background:#e9f8ff;font-size:34px}.drawer-copy small{font-size:9px;color:#0780c4;font-weight:1000}.drawer-copy h2{font-size:19px;margin:2px 0}.drawer-copy p{font-size:10px;color:var(--muted);margin:2px 0}.drawer-reward{display:flex;gap:7px;margin-top:6px}.drawer-reward span{font-size:9px;font-weight:900;background:#f1f7fa;border-radius:8px;padding:4px 7px}.start-mission{text-decoration:none;color:#fff;background:linear-gradient(#ff8b2d,#f25b28);border-radius:13px;padding:13px 18px;font-size:11px;font-weight:1000;box-shadow:inset 0 -4px #b93b1d}.mission-footer{text-align:center;background:#063c75;color:#d9f5ff;border-top:4px solid #5ed7ff;padding:18px;font-size:9px;font-weight:900}
@media(max-width:900px){.map-layout{grid-template-columns:1fr}.map-side{display:grid;grid-template-columns:1fr 1fr}.municipality-list{grid-column:1/3;display:flex;overflow-x:auto;max-height:none}.municipality-list button{min-width:125px}.map-stage{min-height:0}.mission-drawer{grid-template-columns:auto 1fr}.start-mission{grid-column:1/3;text-align:center}}
@media(max-width:680px){.gamebar{padding:5px 7px;gap:5px;flex-wrap:wrap}.game-logo{width:120px}.gamebar nav{order:3;width:100%;margin:0 -7px -5px;background:#053d75}.gamebar nav a{flex:1;padding:5px 2px;font-size:16px}.profile-chip div{display:none}.stats{margin-left:auto}.map-shell{width:97vw;margin-top:9px}.map-hero{grid-template-columns:1fr;padding:17px;border-radius:18px}.map-hero h1{font-size:29px}.hero-progress{min-width:0}.map-side{grid-template-columns:1fr}.map-legend{display:none}.municipality-list{grid-column:auto}.map-toolbar{padding:8px}.map-toolbar button{font-size:9px}.map-pin .marker{width:29px;height:29px;border-width:3px}.map-pin .marker span{font-size:13px}.map-pin label{font-size:7px;padding:2px 4px}.map-cloud{font-size:30px}.map-truck{font-size:25px}.mission-drawer{bottom:6px;padding:11px;gap:8px}.drawer-icon{width:48px;height:48px;font-size:27px}.drawer-copy h2{font-size:15px}}
