/* سيادة — الخريطة الجديدة (map2.css). Night Gold. Animations are transform/opacity/dashoffset only. */
.smap{position:relative;width:100%;height:100%;min-height:320px;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;
  background:radial-gradient(120% 90% at 50% 35%,#10285a 0%,#0a1a3e 45%,#050d22 100%);border-radius:inherit;contain:strict}
.sm-sea{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.sm-sea i{position:absolute;inset:-60px -260px;background:url(map2/waves.svg) repeat;background-size:240px 60px;opacity:.9;will-change:transform;animation:smWave 14s linear infinite}
.sm-sea i+i{inset:-40px -260px;background-size:330px 82px;opacity:.55;animation-duration:22s;animation-direction:reverse}
@keyframes smWave{from{transform:translate3d(0,0,0)}to{transform:translate3d(240px,8px,0)}}
.smap::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(130% 100% at 50% 45%,transparent 55%,rgba(2,6,18,.75) 100%)}
.sm-stage{position:absolute;inset:0;transform-origin:0 0;will-change:transform}
.sm-svg{width:100%;height:100%;display:block}
.sm-others path{fill:#0f1c38;stroke:#24365e;stroke-width:.8px;vector-effect:non-scaling-stroke}
.sm-inset{fill:rgba(10,22,50,.55);stroke:rgba(242,193,78,.35);stroke-width:1px;vector-effect:non-scaling-stroke;stroke-dasharray:4 4}
.sm-ct{stroke:none;cursor:pointer;transition:filter .2s}
.sm-ct.on{filter:brightness(1.55) saturate(1.2)}
.sm-relief{fill:url(#smRelief);pointer-events:none;opacity:.5}
.sm-glow{fill:none;stroke:rgba(242,193,78,.22);stroke-width:5px;vector-effect:non-scaling-stroke;pointer-events:none;stroke-linejoin:round}
.sm-bord{fill:none;stroke:#e9bd55;stroke-width:.9px;vector-effect:non-scaling-stroke;pointer-events:none;stroke-linejoin:round;opacity:.9}
.sm-mine{fill:rgba(242,193,78,.16);stroke:#ffe08a;stroke-width:2.2px;vector-effect:non-scaling-stroke;pointer-events:none;animation:smMine 2.4s ease-in-out infinite}
@keyframes smMine{50%{stroke-opacity:.45;fill-opacity:.55}}
.sm-sel{fill:rgba(255,236,170,.12);stroke:#fff3c4;stroke-width:2.6px;vector-effect:non-scaling-stroke;pointer-events:none;stroke-linejoin:round}
.sm-rg{fill:#f2c14e;stroke:#0a1530;stroke-width:1px;vector-effect:non-scaling-stroke;opacity:.85;pointer-events:none}
.sm-rg.cap{fill:#fff1b8}
.sm-rg.occ{fill:#ff5a5a;stroke:#fff}
.sm-lb{fill:#f6dc97;font-family:inherit;font-weight:700;paint-order:stroke;stroke:rgba(5,12,30,.9);stroke-width:3px;vector-effect:non-scaling-stroke;stroke-linejoin:round;pointer-events:none}
.sm-lb.on{fill:#fff6d6}
.moving .sm-lb,.moving .sm-heads,.moving .sm-war-glow{transition:none}
/* wars */
.sm-war-glow{fill:none;stroke:rgba(255,60,60,.25);stroke-width:7px;vector-effect:non-scaling-stroke;stroke-linecap:round}
.sm-war-line{fill:none;stroke:#ff4d4d;stroke-width:2.6px;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:10 8;animation:smMarch .9s linear infinite}
@keyframes smMarch{to{stroke-dashoffset:-18}}
.sm-head path{fill:#ff4d4d;stroke:#2a0505;stroke-width:1px;vector-effect:non-scaling-stroke}
.sm-bt{cursor:pointer}
.sm-bt-core{fill:#3a0b0b;stroke:#ff4d4d;stroke-width:1.5px;vector-effect:non-scaling-stroke}
.sm-bt-ring{fill:none;stroke:#ff4d4d;stroke-width:2px;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:smPulse 1.8s ease-out infinite}
.sm-bt-ring.r2{animation-delay:.9s}
@keyframes smPulse{from{transform:scale(1);opacity:.9}to{transform:scale(2.3);opacity:0}}
/* you are here */
.sm-here-dot{fill:url(#smPin);stroke:#2b1d00;stroke-width:1.2px;vector-effect:non-scaling-stroke}
.sm-here-pulse{fill:rgba(255,215,106,.35);transform-box:fill-box;transform-origin:center;animation:smPulse 2s ease-out infinite}
.sm-ping{fill:none;stroke:#ffd76a;stroke-width:2px;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:smPing .7s ease-out forwards}
@keyframes smPing{from{transform:scale(.2);opacity:1}to{transform:scale(1.4);opacity:0}}
/* travel */
.sm-trip-ghost{fill:none;stroke:rgba(255,231,160,.18);stroke-width:1.4px;vector-effect:non-scaling-stroke;stroke-dasharray:3 5}
.sm-trip-glow{fill:none;stroke:rgba(242,193,78,.35);stroke-width:9px;vector-effect:non-scaling-stroke;stroke-linecap:round}
.sm-trip-line{fill:none;stroke:url(#smGold);stroke-width:3px;vector-effect:non-scaling-stroke;stroke-linecap:round}
.sm-plane path{fill:#fff3c4;stroke:#7a5300;stroke-width:1px;vector-effect:non-scaling-stroke}
.sm-plane-halo{fill:rgba(255,215,106,.28)}
.sm-dest-r{fill:none;stroke:#ffd76a;stroke-width:2px;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:smPulse 1.4s ease-out infinite}
.sm-dest-d{fill:#ffd76a}
.sm-trip.landed .sm-dest-d{fill:#fff}
/* controls + legend */
.sm-ctl{position:absolute;inset-inline-start:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 14px);display:flex;flex-direction:column;gap:8px;z-index:3}
.fm .sm-ctl{bottom:auto;top:calc(env(safe-area-inset-top,0px) + 74px)}
.sm-btn{width:42px;height:42px;border-radius:14px;border:1px solid rgba(242,193,78,.45);background:rgba(8,18,44,.82);color:#f6dc97;font-size:1.25rem;font-weight:700;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 18px rgba(0,0,0,.35)}
.sm-btn:active{transform:scale(.94)}
.sm-legend{position:absolute;inset-inline-end:12px;top:calc(env(safe-area-inset-top,0px) + 74px);z-index:3;font-size:.75rem;color:#ffd0d0;background:rgba(40,6,10,.7);border:1px solid rgba(255,77,77,.5);border-radius:999px;padding:4px 10px;display:flex;align-items:center;gap:6px}
.sm-legend i{width:18px;height:0;border-top:2px dashed #ff4d4d;display:inline-block}
.sm-presets{position:relative;z-index:2}
/* country card */
.sm-card{margin:-14px -14px 0;border-radius:20px;overflow:hidden}
.sm-hero{position:relative;height:150px;background:#0a1530;overflow:hidden}
.sm-hero>img{width:100%;height:100%;object-fit:cover;display:block;animation:smKen 18s ease-in-out infinite alternate}
.sm-hero-sh{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,12,30,.05) 30%,rgba(9,20,48,.96) 100%)}
.sm-hero-t{position:absolute;inset-inline:14px;bottom:10px;display:flex;align-items:flex-end;gap:10px}
.sm-hero-t h2{margin:0;font-size:1.35rem;color:#fff3c4;text-shadow:0 2px 10px rgba(0,0,0,.7)}
.sm-flag{width:44px;height:30px;object-fit:cover;border-radius:6px;border:1px solid rgba(242,193,78,.6);box-shadow:0 2px 10px rgba(0,0,0,.5)}
.sm-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.sm-tag{font-size:.7rem;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.12);color:#e9eefc}
.sm-tag.gold{background:rgba(242,193,78,.22);color:#ffe08a;border:1px solid rgba(242,193,78,.45)}
.sm-tag.red{background:rgba(255,77,77,.2);color:#ffb3b3;border:1px solid rgba(255,77,77,.5)}
.sm-line{margin:10px 14px 0;font-size:.85rem;color:#d9c48f;line-height:1.7}
.sm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 14px 0}
.sm-st{background:rgba(255,255,255,.05);border:1px solid rgba(242,193,78,.18);border-radius:12px;padding:6px 4px;text-align:center;min-width:0}
.sm-st span{display:block;font-size:.66rem;color:#9fb0d6}
.sm-st b{display:block;font-size:.85rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sm-war{margin:8px 14px 0;font-size:.82rem;color:#ffb3b3}
.sm-war a{color:#ff9e9e}
.sm-acts{display:flex;gap:6px;margin:12px 14px 14px;flex-wrap:wrap}
.sm-acts .btn{flex:1 1 auto;text-align:center}
.fm-sheet:has(.sm-card){padding:14px;overflow:hidden}
.fm-sheet .fm-x{z-index:2}
@keyframes smKen{from{transform:scale(1.02)}to{transform:scale(1.12) translate3d(-2%,-1%,0)}}
/* journey + arrival */
.sm-journey{position:fixed;inset:0;z-index:60;background:#050d22;opacity:0;transition:opacity .35s}
.sm-journey.in{opacity:1}
.sm-jmap{position:absolute;inset:0}
.sm-journey .smap{border-radius:0}
.sm-eta{position:absolute;inset-inline:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 22px);z-index:4;margin:0 auto;max-width:420px;display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:12px 16px;border-radius:18px;background:rgba(8,18,44,.86);border:1px solid rgba(242,193,78,.5);color:#f6dc97;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 10px 30px rgba(0,0,0,.5)}
.sm-eta b{color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.sm-arrive{position:fixed;inset:0;z-index:61;overflow:hidden;background:#050d22;opacity:0;transition:opacity .45s}
.sm-arrive.in{opacity:1}
.sm-arrive.out{opacity:0}
.sm-a-bg{position:absolute;inset:-40px;background-size:cover;background-position:center;filter:blur(26px) brightness(.55) saturate(1.2);transform:scale(1.1)}
.sm-a-scene{position:absolute;inset-inline:0;top:0;height:min(64vh,118vw);overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 72%,transparent)}
.sm-a-scene img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.16);transition:transform 9s cubic-bezier(.2,.6,.2,1)}
.sm-arrive.in .sm-a-scene img{transform:scale(1.02)}
@media (orientation:landscape){.sm-a-scene{top:0;bottom:0;max-height:none;aspect-ratio:auto;border:0}}
.sm-a-tint{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(5,12,30,.25) 0%,transparent 25%,transparent 50%,rgba(5,12,30,.9) 85%),linear-gradient(0deg,color-mix(in srgb,var(--tint) 30%,transparent),transparent 60%);mix-blend-mode:normal}
.sm-a-dust{position:absolute;inset:0;pointer-events:none}
.sm-a-dust i{position:absolute;bottom:-10px;left:var(--x);width:3px;height:3px;border-radius:50%;background:#ffe9a3;box-shadow:0 0 6px #ffd76a;opacity:0;animation:smDust var(--d) linear var(--l) infinite}
@keyframes smDust{0%{transform:translate3d(0,0,0);opacity:0}15%{opacity:.8}100%{transform:translate3d(-30px,-80vh,0);opacity:0}}
.sm-a-txt{position:absolute;inset-inline:18px;bottom:calc(env(safe-area-inset-bottom,0px) + 26px);max-width:520px;margin:0 auto;text-align:center;transform:translate3d(0,24px,0);opacity:0;transition:transform .6s .25s,opacity .6s .25s}
.sm-arrive.in .sm-a-txt{transform:none;opacity:1}
.sm-a-ban{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;font-size:1.15rem;font-weight:800;color:#2b1d00;background:linear-gradient(135deg,#fff1b8,#f2c14e 55%,#c9971c);box-shadow:0 8px 30px rgba(242,193,78,.45)}
.sm-a-ban img{width:30px;height:20px;border-radius:4px;object-fit:cover}
.sm-a-txt p{margin:14px 0 0;color:#fff6dc;font-size:1rem;line-height:1.8;text-shadow:0 2px 10px rgba(0,0,0,.8)}
.sm-a-acts{display:flex;gap:8px;justify-content:center;margin-top:16px}
.sm-a-acts .btn{min-width:120px}
@media (prefers-reduced-motion:reduce){.sm-sea i,.sm-war-line,.sm-bt-ring,.sm-here-pulse,.sm-mine,.sm-hero>img,.sm-a-dust i,.sm-dest-r{animation:none}.sm-a-scene img{transition:none}}

/* inside the existing full-screen map screen + the sign-up picker */
.smap{aspect-ratio:4/3;height:auto}
.fm-map .smap{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;aspect-ratio:auto;border-radius:0;z-index:1}
.sm-jmap .smap{height:100%;aspect-ratio:auto}
.fm-map .sm-ctl{position:fixed;left:10px;right:auto;top:50%;bottom:auto;transform:translateY(-50%);z-index:5}
.fm-map .sm-legend{position:fixed;top:calc(env(safe-area-inset-top,0px) + 104px);z-index:5}

/* desktop & mouse (Oct 24) */
@media (hover:hover){.sm-ct.hov{filter:brightness(1.35) saturate(1.15)}}
.sm-tip{position:absolute;left:0;top:0;z-index:6;pointer-events:none;display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;background:rgba(8,18,42,.94);border:1px solid rgba(242,193,78,.45);color:#f6dc97;font-size:14px;white-space:nowrap;box-shadow:0 6px 18px rgba(0,0,0,.4)}
.sm-tip[hidden]{display:none}
.sm-tip img{width:20px;height:14px;border-radius:2px;object-fit:cover}
.sm-tip .tiny{margin-inline-start:6px}
.fm-map .sm-ctl{top:calc(env(safe-area-inset-top,0px) + 104px);left:50%;transform:translateX(-50%);flex-direction:row}
@media (min-width:1024px){
  .fm-sheet:has(.sm-card){inset-inline:auto;inset-inline-start:24px;top:118px;bottom:auto;width:440px;max-width:440px;max-height:calc(100vh - 140px);overflow:auto;margin:0}
  .sm-a-scene{max-width:min(1600px,92vw);margin-inline:auto}
}
