/* ELIE v5.2.5 — Map-01…Map-10 precision pass.
   Reference geometry is based on the supplied 1920×1080 layouts.
   Duplet remains the sole interface typeface. */
:root{
  --map-green:#32f33f;
  --map-green-soft:rgba(50,243,63,.48);
  --map-green-dim:rgba(50,243,63,.24);
  --map-safe-left:max(3.15vw,env(safe-area-inset-left));
  --map-safe-right:max(3.15vw,env(safe-area-inset-right));
}

/* Keep every map view on the supplied visual system. */
.map-screen,.map-screen button,.map-detail-overlay,.map-detail-overlay button,
.map-planet-detail-overlay,.map-planet-detail-overlay button{
  font-family:Duplet,Arial,sans-serif!important;
}
.map-stage,.map-detail-stage,.map-planet-detail-stage{
  background:#000 url('../assets/images/New-Zemin.png') center/cover no-repeat!important;
}
.map-stage::after,.map-detail-stage::after,.map-planet-detail-stage::after{
  background:radial-gradient(circle at 50% 50%,transparent 0 61%,rgba(0,0,0,.08) 82%,rgba(0,0,0,.34) 100%)!important;
}

/* The old opaque black pseudo-gradients caused floating black rectangles.
   Fades now belong to the scrolling viewport itself and follow its content. */
.map-scroll-shell::before,.map-scroll-shell::after,
.map-detail-copy-shell::before,.map-detail-copy-shell::after,
.map-planet-copy-shell::before,.map-planet-copy-shell::after{
  display:none!important;
}
.map-world-rail-viewport,.map-world-index-viewport,.map-archive-content-viewport,.map-level-rail-viewport{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3.4%,#000 96.6%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 3.4%,#000 96.6%,transparent 100%);
  -webkit-mask-size:100% 100%;mask-size:100% 100%;
}
.map-scroll-shell.map-x-at-start .map-world-rail-viewport,
.map-scroll-shell.map-x-at-start .map-world-index-viewport,
.map-scroll-shell.map-x-at-start .map-archive-content-viewport,
.map-scroll-shell.map-x-at-start .map-level-rail-viewport{
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 96.6%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0,#000 96.6%,transparent 100%);
}
.map-scroll-shell.map-x-at-end .map-world-rail-viewport,
.map-scroll-shell.map-x-at-end .map-world-index-viewport,
.map-scroll-shell.map-x-at-end .map-archive-content-viewport,
.map-scroll-shell.map-x-at-end .map-level-rail-viewport{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3.4%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 3.4%,#000 100%);
}
.map-scroll-shell.map-x-at-start.map-x-at-end .map-world-rail-viewport,
.map-scroll-shell.map-x-at-start.map-x-at-end .map-world-index-viewport,
.map-scroll-shell.map-x-at-start.map-x-at-end .map-archive-content-viewport,
.map-scroll-shell.map-x-at-start.map-x-at-end .map-level-rail-viewport{
  -webkit-mask-image:none;mask-image:none;
}
.map-detail-copy,.map-planet-copy-scroll{
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 7%,#000 93%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0,#000 7%,#000 93%,transparent 100%);
  -webkit-mask-size:100% 100%;mask-size:100% 100%;
}
.map-scroll-shell.map-y-at-start .map-detail-copy,
.map-scroll-shell.map-y-at-start .map-planet-copy-scroll{
  -webkit-mask-image:linear-gradient(180deg,#000 0,#000 93%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 0,#000 93%,transparent 100%);
}
.map-scroll-shell.map-y-at-end .map-detail-copy,
.map-scroll-shell.map-y-at-end .map-planet-copy-scroll{
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 7%,#000 100%);
  mask-image:linear-gradient(180deg,transparent 0,#000 7%,#000 100%);
}
.map-scroll-shell.map-y-at-start.map-y-at-end .map-detail-copy,
.map-scroll-shell.map-y-at-start.map-y-at-end .map-planet-copy-scroll{
  -webkit-mask-image:none;mask-image:none;
}

/* True point-to-point paths: SVG sits behind the visual centres. */
.map-connection-layer{
  position:absolute!important;inset:0!important;z-index:0!important;
  pointer-events:none!important;overflow:visible!important;
}
.map-connection-layer path{
  fill:none!important;stroke:rgba(50,243,63,.48)!important;stroke-width:1!important;
  vector-effect:non-scaling-stroke!important;stroke-linecap:round!important;stroke-linejoin:round!important;
  filter:drop-shadow(0 0 2px rgba(50,243,63,.16));
}
.map-world-rail-track::before,.map-level-rail-track::before{display:none!important}
.map-world-card,.map-level-node{z-index:2!important}

/* Shared fixed chrome — Map references: 61px back, 783px heading at 1920. */
.map-back-button{
  top:5.2%!important;left:3.25%!important;gap:1vw!important;
  font:900 clamp(22px,2.02vw,39px)/1 Duplet,Arial,sans-serif!important;
  letter-spacing:-.035em!important;
}
.map-back-button img{width:clamp(70px,4.3vw,84px)!important}
.map-selection-heading{top:5.4%!important;left:50%!important;transform:translateX(-50%)!important}
.map-selection-heading h1{
  font:900 clamp(24px,2.05vw,40px)/.98 Duplet,Arial,sans-serif!important;
  letter-spacing:-.035em!important;
}
.map-selection-heading strong{
  margin-top:.32em!important;font:900 clamp(27px,2.23vw,43px)/1 Duplet,Arial,sans-serif!important;
}
.map-corner-title{
  top:5.2%!important;right:4.2%!important;
  font:900 clamp(26px,2.25vw,44px)/1 Duplet,Arial,sans-serif!important;
  letter-spacing:-.045em!important;
}

/* Exact lower guide line and supplied thumb. */
.map-scrollbar-x{left:3.35%!important;right:3.35%!important;bottom:2.2%!important;height:30px!important}
.map-scrollbar-x::before{top:14px!important;height:1px!important;background:rgba(50,243,63,.68)!important}
.map-scrollbar-x img{width:145px!important;height:29px!important}
.map-scrollbar-y{top:0!important;bottom:0!important;right:0!important;width:29px!important}
.map-scrollbar-y::before{left:14px!important;width:1px!important;background:rgba(50,243,63,.68)!important}
.map-scrollbar-y img{width:29px!important;height:145px!important}

/* --------------------------------------------------------------------------
   MAP-01 — START GAME / WORLD SELECTION
   Four fixed-width worlds; the art alone changes scale, never the card on drag.
   -------------------------------------------------------------------------- */
.map-world-select-screen .map-world-rail-shell{
  left:0!important;right:0!important;top:14.2%!important;bottom:5.2%!important;
}
.map-world-select-screen .map-world-rail-viewport{inset:0 0 3.4%!important;scroll-snap-type:x proximity}
.map-world-select-screen .map-world-rail-track{
  height:100%!important;padding:0 3.6vw 1%!important;gap:1.15vw!important;align-items:stretch!important;
}
.map-world-select-screen .map-world-card{
  flex:0 0 23.75vw!important;width:23.75vw!important;height:100%!important;
  transform:none!important;grid-template-rows:19% 56% 25%!important;
  flex-shrink:0!important;contain:layout style;
}
.map-world-select-screen .map-world-logo{
  width:62%!important;height:100%!important;object-fit:contain!important;align-self:end!important;
}
.map-world-select-screen .map-world-globe{overflow:visible!important;isolation:isolate}
.map-world-select-screen .map-world-globe>img:first-child{
  width:20.6vw!important;height:20.6vw!important;max-width:none!important;max-height:none!important;
  transform:none!important;object-fit:contain!important;
}
.map-world-select-screen .map-world-card:nth-of-type(4n+1) .map-world-globe>img:first-child{width:16.7vw!important;height:16.7vw!important;transform:translateY(-1.8%)!important}
.map-world-select-screen .map-world-card:nth-of-type(4n+2) .map-world-globe>img:first-child{width:22.6vw!important;height:22.6vw!important;transform:translateY(3.2%)!important}
.map-world-select-screen .map-world-card:nth-of-type(4n+3) .map-world-globe>img:first-child{width:18.7vw!important;height:18.7vw!important;transform:translateY(-.8%)!important}
.map-world-select-screen .map-world-card:nth-of-type(4n) .map-world-globe>img:first-child{width:22.4vw!important;height:22.4vw!important;transform:translateY(3.8%)!important}
.map-world-select-screen .map-world-stats{
  width:54%!important;align-self:start!important;margin:.2% 0 0!important;padding:0!important;
  font:800 clamp(7px,.625vw,12px)/1.48 Duplet,Arial,sans-serif!important;
  color:rgba(50,243,63,.66)!important;
}
.map-world-select-screen .map-world-stats li{padding:.12em 0!important;gap:.8em!important}
.map-world-select-screen .map-world-stats b{font-size:1.05em!important}
.map-world-card[data-selected="1"] .map-world-globe::before,
.map-world-card[data-selected="1"] .map-world-globe::after{
  content:"";position:absolute;left:50%;top:50%;border:1px solid rgba(50,243,63,.62);border-radius:50%;
  pointer-events:none;z-index:-1;transform:translate(-50%,-50%);animation:mapSelectedWorldPulse 3.8s ease-in-out infinite;
}
.map-world-card[data-selected="1"] .map-world-globe::before{
  width:84%;aspect-ratio:1;box-shadow:0 0 0 9px rgba(50,243,63,.16),0 0 0 25px rgba(50,243,63,.28),0 0 0 39px rgba(50,243,63,.12);
}
.map-world-card[data-selected="1"] .map-world-globe::after{width:94%;aspect-ratio:1;animation-delay:-1.9s;opacity:.45}
@keyframes mapSelectedWorldPulse{0%,100%{opacity:.38;transform:translate(-50%,-50%) scale(.97)}50%{opacity:.9;transform:translate(-50%,-50%) scale(1.025)}}
.map-world-select-screen .map-lock-image{
  width:12.5vw!important;height:12.5vw!important;max-width:245px!important;max-height:245px!important;z-index:4!important;
}
.map-world-select-screen .map-mission-dock{display:none!important}

/* --------------------------------------------------------------------------
   MAP-06 — PLANETS ARCHIVE
   -------------------------------------------------------------------------- */
.map-planets-screen .map-planets-rail-shell{left:0!important;right:0!important;top:15.1%!important;bottom:5.3%!important}
.map-planets-screen .map-world-rail-viewport{inset:0 0 3.4%!important}
.map-planets-screen .map-world-rail-track{height:100%!important;padding:0 3.5vw 1%!important;gap:1.2vw!important}
.map-planets-screen .map-world-card{
  flex:0 0 23.8vw!important;width:23.8vw!important;height:100%!important;transform:none!important;
  grid-template-rows:21% 70% 9%!important;flex-shrink:0!important;
}
.map-planets-screen .map-world-logo{width:64%!important;height:100%!important;align-self:end!important}
.map-planets-screen .map-world-globe>img:first-child{width:21.6vw!important;height:21.6vw!important;max-width:none!important;max-height:none!important;transform:none!important}
.map-planets-screen .map-world-card:nth-of-type(4n+1) .map-world-globe>img:first-child{width:18.2vw!important;height:18.2vw!important;transform:translateY(-2%)!important}
.map-planets-screen .map-world-card:nth-of-type(4n+2) .map-world-globe>img:first-child{width:23.3vw!important;height:23.3vw!important;transform:translateY(3%)!important}
.map-planets-screen .map-world-card:nth-of-type(4n+3) .map-world-globe>img:first-child{width:19.8vw!important;height:19.8vw!important;transform:translateY(-1%)!important}
.map-planets-screen .map-world-card:nth-of-type(4n) .map-world-globe>img:first-child{width:23.5vw!important;height:23.5vw!important;transform:translateY(3.5%)!important}
.map-planets-screen .map-world-stats{display:none!important}

/* --------------------------------------------------------------------------
   MAP-02 — LEVEL MAP. Perfect circles, markers, stars and animated current ring.
   -------------------------------------------------------------------------- */
.map-level-heading{top:6.1%!important}
.map-level-world-logo{
  right:4.9%!important;top:4.3%!important;width:17.8vw!important;height:10.7vw!important;
  max-width:none!important;max-height:none!important;
}
.map-level-world-globe{
  left:50%!important;top:52.7%!important;width:48.5vw!important;height:48.5vw!important;
  max-width:none!important;max-height:none!important;opacity:.39!important;
}
.map-level-rail-shell{left:0!important;right:0!important;top:15.1%!important;bottom:5.1%!important}
.map-level-rail-viewport{inset:0 0 3.5%!important}
.map-level-rail-track{height:100%!important;padding:0 3.4vw!important;align-items:flex-start!important}
.map-level-node{
  --node-d:clamp(118px,8.45vw,162px);
  flex:0 0 var(--node-d)!important;width:var(--node-d)!important;height:var(--node-d)!important;
  min-width:var(--node-d)!important;min-height:var(--node-d)!important;max-width:var(--node-d)!important;max-height:var(--node-d)!important;
  aspect-ratio:1/1!important;box-sizing:border-box!important;margin-inline:2.38vw!important;padding:0!important;
  border-radius:50%!important;transform:translateY(-50%) scale(var(--node-scale))!important;
  background:rgba(0,58,8,.72)!important;flex-shrink:0!important;
}
.map-level-node:hover:not(:disabled),.map-level-node:focus-visible:not(:disabled){transform:translateY(-50%) scale(calc(var(--node-scale) + .045))!important}
.map-level-node>span{font:900 clamp(42px,4.3vw,83px)/1 Duplet,Arial,sans-serif!important}
.map-level-node em{
  top:108%!important;font:900 clamp(18px,1.65vw,32px)/1 Duplet,Arial,sans-serif!important;gap:.1em!important;
}
.map-level-node em i{color:rgba(50,243,63,.08)!important;-webkit-text-stroke:1px var(--map-green)!important}
.map-level-node em i.is-filled{color:var(--map-green)!important;text-shadow:0 0 6px rgba(50,243,63,.35)}
.map-level-markers{
  position:absolute!important;left:50%!important;top:-31%!important;transform:translateX(-50%)!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:.28em!important;
  width:max-content!important;z-index:6!important;
}
.level-unlock-marker{
  width:1.42em!important;height:1.42em!important;border:1px solid var(--map-green)!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;background:rgba(0,18,3,.86)!important;
  font:900 clamp(9px,.82vw,16px)/1 Duplet,Arial,sans-serif!important;color:var(--map-green)!important;
}
.map-level-node.is-current{
  color:#001603!important;background:var(--map-green)!important;border-color:var(--map-green)!important;
  box-shadow:0 0 32px rgba(50,243,63,.45),inset 0 0 24px rgba(255,255,255,.12)!important;
}
.map-level-node.is-current::before,.map-level-node.is-current::after{
  content:"";position:absolute;left:50%;top:50%;border:1px solid rgba(50,243,63,.58);border-radius:50%;
  width:122%;height:122%;transform:translate(-50%,-50%);pointer-events:none;animation:mapCurrentLevelRing 2.8s ease-in-out infinite;
}
.map-level-node.is-current::before{box-shadow:0 0 0 10px rgba(50,243,63,.16),0 0 0 25px rgba(50,243,63,.08)}
.map-level-node.is-current::after{width:142%;height:142%;animation-delay:-1.4s;opacity:.55}
@keyframes mapCurrentLevelRing{0%,100%{opacity:.25;transform:translate(-50%,-50%) scale(.95)}50%{opacity:.9;transform:translate(-50%,-50%) scale(1.035)}}
.map-level-node.is-locked{opacity:.22!important;filter:none!important;background:rgba(0,30,5,.42)!important}

/* --------------------------------------------------------------------------
   MAP-03 / 04 / 05 — CATEGORY ARCHIVES
   Index and art are independent fixed-size rails; nothing scales while scrolling.
   -------------------------------------------------------------------------- */
.map-archive-screen .map-world-index-shell{
  left:1.2%!important;right:1.2%!important;top:11.7%!important;height:12.1%!important;
  grid-template-columns:2.4% 1fr 2.4%!important;
}
.map-archive-screen .map-world-index-viewport{height:100%!important}
.map-archive-screen .map-world-index-track{height:100%!important;gap:.72vw!important;padding:0 .75vw!important}
.map-archive-screen .map-world-index-button{
  flex:0 0 clamp(70px,5.2vw,100px)!important;width:clamp(70px,5.2vw,100px)!important;height:clamp(70px,5.2vw,100px)!important;
  min-width:clamp(70px,5.2vw,100px)!important;min-height:clamp(70px,5.2vw,100px)!important;
  aspect-ratio:1!important;border-radius:50%!important;font:900 clamp(29px,2.72vw,52px)/1 Duplet,Arial,sans-serif!important;
  transform:none!important;flex-shrink:0!important;
}
.map-archive-screen .map-index-arrow img{width:clamp(28px,2.2vw,43px)!important}
.map-archive-world-header{
  left:3.75%!important;right:4.25%!important;top:26.2%!important;height:10.5%!important;
}
.map-archive-world-header h2{font:900 clamp(29px,2.7vw,52px)/1 Duplet,Arial,sans-serif!important}
.map-archive-world-header strong{font:900 clamp(29px,2.6vw,50px)/1 Duplet,Arial,sans-serif!important;margin-top:.28em!important}
.map-archive-world-header small{display:none!important}
.map-archive-world-header>img{width:16.8vw!important;height:100%!important;max-width:none!important}
.map-archive-content-shell{left:0!important;right:0!important;top:36.2%!important;bottom:5.1%!important}
.map-archive-content-viewport{inset:0 0 3.5%!important}
.map-archive-content-track{
  height:100%!important;align-items:stretch!important;gap:2.4vw!important;padding:0 4.2vw .5%!important;
  transform:none!important;
}
.map-archive-item{
  height:100%!important;min-height:0!important;transform:none!important;flex-shrink:0!important;
  grid-template-rows:minmax(0,82%) minmax(44px,18%)!important;gap:0!important;padding:0!important;
  contain:layout style!important;
}
.map-archive-item-species{
  flex:0 0 21.6vw!important;width:21.6vw!important;min-width:21.6vw!important;max-width:21.6vw!important;
}
.map-archive-item-bosses,.map-archive-item-objects{
  flex:0 0 29.2vw!important;width:29.2vw!important;min-width:29.2vw!important;max-width:29.2vw!important;
}
.map-archive-visual{width:100%!important;height:100%!important;padding:0!important;overflow:visible!important}
.map-archive-image{
  width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  min-width:0!important;min-height:0!important;object-fit:contain!important;transform:none!important;
}
.map-archive-item:hover .map-archive-image,.map-archive-item:focus-visible .map-archive-image{transform:translateY(-.6%) scale(1.012)!important}
.map-archive-item strong{
  font:900 clamp(25px,2.12vw,41px)/1 Duplet,Arial,sans-serif!important;
  width:100%!important;max-width:100%!important;white-space:nowrap!important;
}
.map-archive-item .map-lock-image{
  width:14.1vw!important;height:14.1vw!important;max-width:270px!important;max-height:270px!important;
  position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
}
.map-archive-item.is-locked .map-archive-image{filter:brightness(.34) saturate(.52)!important;opacity:.72!important}

/* --------------------------------------------------------------------------
   MAP-07 / 08 / 09 — DETAILS
   -------------------------------------------------------------------------- */
.map-detail-visual{left:2.8%!important;top:15.2%!important;bottom:7.2%!important;width:43.2%!important}
.map-detail-rings{inset:0!important}
.map-detail-rings i:nth-child(1){width:91%!important}.map-detail-rings i:nth-child(2){width:75%!important}.map-detail-rings i:nth-child(3){width:59%!important}
.map-detail-visual>img{width:88%!important;height:86%!important;object-fit:contain!important}
.map-detail-panel{
  right:4.65%!important;top:10.15%!important;bottom:8.2%!important;width:47.2%!important;
  padding:4.3% 5.2% 4.1%!important;border-width:2px 2px 10px 10px!important;
  border-radius:4.15vw 2.25vw 5.25vw 5.25vw!important;
}
.map-detail-panel h1{
  font:900 clamp(42px,4.13vw,79px)/.95 Duplet,Arial,sans-serif!important;
  letter-spacing:-.04em!important;
}
.map-detail-panel header small{font:800 clamp(7px,.62vw,12px)/1 Duplet,Arial,sans-serif!important}
.map-detail-copy-shell{position:relative!important;min-height:0!important;margin-top:4.3%!important;padding-right:42px!important;overflow:hidden!important}
.map-detail-copy{
  padding:2.8% 2.6% 8%!important;text-align:center!important;overflow-x:hidden!important;
}
.map-detail-copy .map-detail-lead{
  font:900 clamp(24px,2.08vw,40px)/1.05 Duplet,Arial,sans-serif!important;
  letter-spacing:-.025em!important;margin:0 0 1.08em!important;
}
.map-detail-copy p{
  font:800 clamp(15px,1.26vw,24px)/1.12 Duplet,Arial,sans-serif!important;
  letter-spacing:-.018em!important;margin:0 0 1.2em!important;
}
.map-detail-close{right:4.05%!important;top:7.8%!important;width:5.05vw!important;height:5.05vw!important;max-width:97px!important;max-height:97px!important}

/* --------------------------------------------------------------------------
   MAP-10 — PLANET DOSSIER
   -------------------------------------------------------------------------- */
.map-planet-detail-stage{grid-template-columns:38.3% 23.4% 38.3%!important}
.map-planet-globe{left:-2.7%!important;top:7.1%!important;width:108%!important;height:79%!important}
.map-planet-facts{
  left:2.45%!important;bottom:5.8%!important;width:59.5%!important;min-width:0!important;height:48.5%!important;
  padding:1.7% 7% 3%!important;border-width:1px 1px 9px 7px!important;border-radius:4.1vw!important;
}
.map-planet-facts-logo{width:100%!important;height:100%!important}
.map-planet-navigation{
  padding:6.45vh 4.2% 6%!important;grid-template-rows:13% 59% 22%!important;gap:2.25%!important;
}
.map-planet-memory small{font:800 clamp(7px,.62vw,12px)/1 Duplet,Arial,sans-serif!important}
.map-planet-memory strong{font:900 clamp(18px,1.62vw,31px)/1 Duplet,Arial,sans-serif!important}
.map-planet-detail-overlay .planet-codex-tabs{gap:clamp(10px,1.18vh,17px)!important}
.map-planet-detail-overlay .planet-codex-tabs button{
  height:clamp(54px,6.05vh,66px)!important;font:900 clamp(19px,1.72vw,33px)/1 Duplet,Arial,sans-serif!important;
}
.map-planet-artworks{align-self:end!important}
.map-planet-artworks>small{font:800 clamp(7px,.64vw,12px)/1 Duplet,Arial,sans-serif!important}
.map-planet-detail-overlay .planet-artwork-buttons{
  display:grid!important;grid-template-columns:repeat(5,clamp(39px,2.72vw,52px))!important;
  grid-auto-rows:clamp(39px,2.72vw,52px)!important;justify-content:center!important;align-content:center!important;
  gap:clamp(5px,.45vw,9px)!important;margin-top:10px!important;width:100%!important;
}
.map-planet-detail-overlay .planet-artwork-button{
  width:clamp(39px,2.72vw,52px)!important;height:clamp(39px,2.72vw,52px)!important;
  min-width:clamp(39px,2.72vw,52px)!important;min-height:clamp(39px,2.72vw,52px)!important;
  padding:0!important;border-radius:50%!important;font:900 clamp(15px,1.35vw,26px)/1 Duplet,Arial,sans-serif!important;
  display:grid!important;place-items:center!important;box-sizing:border-box!important;
}
.map-planet-copy-panel{padding:12.1% 5.4% 6% 2.6%!important}
.map-planet-copy-shell{position:relative!important;height:100%!important;padding-right:42px!important;overflow:hidden!important}
.map-planet-copy-scroll{padding:5.2% 4.6% 12%!important;overflow-x:hidden!important}
.map-planet-copy-scroll .planet-intro,.map-planet-copy-scroll .planet-copy-section p{
  font:800 clamp(16px,1.45vw,28px)/1.12 Duplet,Arial,sans-serif!important;
  letter-spacing:-.018em!important;margin:0 0 1.12em!important;
}
.map-planet-copy-scroll .planet-copy-section h3{
  font:900 clamp(24px,2.12vw,41px)/1 Duplet,Arial,sans-serif!important;margin:0 0 .52em!important;
}

/* Pointer and touch behaviour remains independent of visual size. */
.map-world-rail-viewport,.map-world-index-viewport,.map-archive-content-viewport,.map-level-rail-viewport{touch-action:pan-x!important;overscroll-behavior-x:contain!important}
.map-detail-copy,.map-planet-copy-scroll{touch-action:pan-y!important;overscroll-behavior-y:contain!important}

/* Compact landscape: preserve the same composition, only reduce scale. */
@media (max-width:1100px),(max-height:620px){
  .map-back-button{top:4.4%!important;left:2.6%!important;font-size:clamp(15px,2.25vw,24px)!important;gap:.7vw!important}.map-back-button img{width:clamp(42px,5.2vw,58px)!important}
  .map-selection-heading{top:4.5%!important}.map-selection-heading h1{font-size:clamp(17px,2.55vw,27px)!important}.map-selection-heading strong{font-size:clamp(19px,2.55vw,28px)!important}.map-corner-title{top:4.4%!important;right:3%!important;font-size:clamp(18px,2.8vw,30px)!important}
  .map-scrollbar-x{bottom:1.4%!important;height:20px!important}.map-scrollbar-x::before{top:9px!important}.map-scrollbar-x img{width:100px!important;height:20px!important}.map-scrollbar-y{width:20px!important}.map-scrollbar-y::before{left:9px!important}.map-scrollbar-y img{width:20px!important;height:100px!important}

  .map-world-select-screen .map-world-rail-shell,.map-planets-screen .map-planets-rail-shell{top:12.8%!important;bottom:4.3%!important}
  .map-world-select-screen .map-world-card,.map-planets-screen .map-world-card{flex-basis:32vw!important;width:32vw!important;min-width:32vw!important}
  .map-world-select-screen .map-world-rail-track,.map-planets-screen .map-world-rail-track{gap:1.4vw!important;padding-inline:3vw!important}
  .map-world-select-screen .map-world-globe>img:first-child{width:27vw!important;height:27vw!important}.map-world-select-screen .map-world-card:nth-of-type(4n+1) .map-world-globe>img:first-child{width:23vw!important;height:23vw!important}.map-world-select-screen .map-world-card:nth-of-type(4n+2) .map-world-globe>img:first-child,.map-world-select-screen .map-world-card:nth-of-type(4n) .map-world-globe>img:first-child{width:30vw!important;height:30vw!important}.map-world-select-screen .map-world-card:nth-of-type(4n+3) .map-world-globe>img:first-child{width:25.5vw!important;height:25.5vw!important}.map-world-select-screen .map-world-stats{width:68%!important;font-size:5.3px!important}
  .map-planets-screen .map-world-globe>img:first-child{width:29vw!important;height:29vw!important}.map-planets-screen .map-world-card:nth-of-type(4n+1) .map-world-globe>img:first-child{width:25vw!important;height:25vw!important}.map-planets-screen .map-world-card:nth-of-type(4n+2) .map-world-globe>img:first-child,.map-planets-screen .map-world-card:nth-of-type(4n) .map-world-globe>img:first-child{width:31vw!important;height:31vw!important}.map-planets-screen .map-world-card:nth-of-type(4n+3) .map-world-globe>img:first-child{width:27vw!important;height:27vw!important}

  .map-level-world-logo{right:3%!important;top:2.8%!important;width:22vw!important;height:11vw!important}.map-level-world-globe{width:56vw!important;height:56vw!important}.map-level-rail-shell{top:13.5%!important;bottom:4.2%!important}
  .map-level-node{--node-d:clamp(78px,11.5vw,126px);margin-inline:3.1vw!important}.map-level-node>span{font-size:5.2vw!important}.map-level-node em{font-size:2vw!important}.level-unlock-marker{font-size:1.25vw!important}

  .map-archive-screen .map-world-index-shell{top:10.5%!important;height:13.2%!important}.map-archive-screen .map-world-index-button{flex-basis:8.3vw!important;width:8.3vw!important;height:8.3vw!important;min-width:8.3vw!important;min-height:8.3vw!important;font-size:3.55vw!important}.map-archive-world-header{top:25.2%!important;height:10.2%!important}.map-archive-world-header h2,.map-archive-world-header strong{font-size:2.9vw!important}.map-archive-world-header>img{width:19vw!important}.map-archive-content-shell{top:35.5%!important;bottom:4.1%!important}.map-archive-content-track{gap:3.3vw!important;padding-inline:4vw!important}.map-archive-item-species{flex-basis:27vw!important;width:27vw!important;min-width:27vw!important;max-width:27vw!important}.map-archive-item-bosses,.map-archive-item-objects{flex-basis:36vw!important;width:36vw!important;min-width:36vw!important;max-width:36vw!important}.map-archive-item strong{font-size:2.35vw!important}.map-archive-item .map-lock-image{width:15vw!important;height:15vw!important}

  .map-detail-visual{left:1.8%!important;top:13.5%!important;bottom:4.5%!important;width:44.5%!important}.map-detail-panel{right:2.8%!important;top:8%!important;bottom:4.8%!important;width:50%!important;padding:4.5% 5%!important;border-width:1px 1px 6px 6px!important}.map-detail-panel h1{font-size:4.35vw!important}.map-detail-copy-shell{margin-top:3.3%!important;padding-right:28px!important}.map-detail-copy .map-detail-lead{font-size:2.18vw!important}.map-detail-copy p{font-size:1.48vw!important}.map-detail-close{right:2.2%!important;top:5.2%!important;width:6.1vw!important;height:6.1vw!important}

  .map-planet-detail-stage{grid-template-columns:38% 25% 37%!important}.map-planet-globe{left:-5%!important;top:5%!important;width:115%!important;height:79%!important}.map-planet-facts{left:1.6%!important;bottom:3.2%!important;width:68%!important;height:51%!important;border-width:1px 1px 6px 5px!important}.map-planet-navigation{padding:5vh 3% 4%!important;grid-template-rows:12% 62% 22%!important;gap:1%!important}.map-planet-detail-overlay .planet-codex-tabs{gap:5px!important}.map-planet-detail-overlay .planet-codex-tabs button{height:8.1vh!important;font-size:1.72vw!important}.map-planet-detail-overlay .planet-artwork-buttons{grid-template-columns:repeat(5,5.1vh)!important;grid-auto-rows:5.1vh!important;gap:3px!important;margin-top:4px!important}.map-planet-detail-overlay .planet-artwork-button{width:5.1vh!important;height:5.1vh!important;min-width:5.1vh!important;min-height:5.1vh!important;font-size:1.25vw!important}.map-planet-copy-panel{padding:9.2% 3.2% 4% 2%!important}.map-planet-copy-shell{padding-right:26px!important}.map-planet-copy-scroll{padding:5% 4% 11%!important}.map-planet-copy-scroll .planet-intro,.map-planet-copy-scroll .planet-copy-section p{font-size:1.45vw!important}.map-planet-copy-scroll .planet-copy-section h3{font-size:2vw!important}
}

@media (max-height:420px){
  .map-world-select-screen .map-world-card,.map-planets-screen .map-world-card{flex-basis:30vw!important;width:30vw!important;min-width:30vw!important}
  .map-world-select-screen .map-world-stats{font-size:4.6px!important}
  .map-archive-content-shell{top:34.8%!important}.map-archive-item-species{flex-basis:25.5vw!important;width:25.5vw!important;min-width:25.5vw!important}.map-archive-item-bosses,.map-archive-item-objects{flex-basis:33vw!important;width:33vw!important;min-width:33vw!important}.map-detail-copy .map-detail-lead{font-size:1.95vw!important}.map-detail-copy p{font-size:1.32vw!important}
}

html[dir="rtl"] .map-back-button{left:auto!important;right:3.25%!important}
html[dir="rtl"] .map-corner-title{right:auto!important;left:4.2%!important}

@media (prefers-reduced-motion:reduce){
  .map-world-card[data-selected="1"] .map-world-globe::before,.map-world-card[data-selected="1"] .map-world-globe::after,
  .map-level-node.is-current::before,.map-level-node.is-current::after{animation:none!important}
}

/* v5.2.5 visual calibration against Map-01 and Map-06 coordinates. */
.map-world-select-screen .map-world-rail-shell{top:19%!important}
.map-world-select-screen .map-world-card{grid-template-rows:16% 57% 27%!important}
.map-world-select-screen .map-world-globe>img:first-child{width:20.4vw!important;height:20.4vw!important}
.map-world-select-screen .map-world-card:nth-of-type(4n+1) .map-world-globe>img:first-child{width:13.8vw!important;height:13.8vw!important;transform:translateY(-7%)!important}
.map-world-select-screen .map-world-card:nth-of-type(4n+2) .map-world-globe>img:first-child{width:21.8vw!important;height:21.8vw!important;transform:translateY(6%)!important}
.map-world-select-screen .map-world-card:nth-of-type(4n+3) .map-world-globe>img:first-child{width:16.8vw!important;height:16.8vw!important;transform:translateY(-1%)!important}
.map-world-select-screen .map-world-card:nth-of-type(4n) .map-world-globe>img:first-child{width:22.6vw!important;height:22.6vw!important;transform:translateY(7%)!important}
.map-world-select-screen .map-world-card:nth-of-type(4n+1) .map-world-logo{transform:translateY(-5%)}
.map-world-select-screen .map-world-card:nth-of-type(4n+2) .map-world-logo{transform:translateY(8%)}
.map-world-select-screen .map-world-card:nth-of-type(4n+3) .map-world-logo{transform:translateY(0)}
.map-world-select-screen .map-world-card:nth-of-type(4n) .map-world-logo{transform:translateY(8%)}
.map-world-select-screen .map-world-stats{position:absolute!important;left:50%!important;transform:translateX(-50%)!important;top:62%!important}
.map-world-select-screen .map-world-card:nth-of-type(4n+1) .map-world-stats{top:55%!important}
.map-world-select-screen .map-world-card:nth-of-type(4n+2) .map-world-stats{top:76%!important}
.map-world-select-screen .map-world-card:nth-of-type(4n+3) .map-world-stats{top:68%!important}
.map-world-select-screen .map-world-card:nth-of-type(4n) .map-world-stats{top:77%!important}

.map-planets-screen .map-planets-rail-shell{top:19%!important}
.map-planets-screen .map-world-card{grid-template-rows:17% 77% 6%!important}
.map-planets-screen .map-world-globe>img:first-child{width:20.4vw!important;height:20.4vw!important}
.map-planets-screen .map-world-card:nth-of-type(4n+1) .map-world-globe>img:first-child{width:13.8vw!important;height:13.8vw!important;transform:translateY(-7%)!important}
.map-planets-screen .map-world-card:nth-of-type(4n+2) .map-world-globe>img:first-child{width:21.8vw!important;height:21.8vw!important;transform:translateY(6%)!important}
.map-planets-screen .map-world-card:nth-of-type(4n+3) .map-world-globe>img:first-child{width:16.8vw!important;height:16.8vw!important;transform:translateY(-1%)!important}
.map-planets-screen .map-world-card:nth-of-type(4n) .map-world-globe>img:first-child{width:22.6vw!important;height:22.6vw!important;transform:translateY(7%)!important}
.map-planets-screen .map-world-card:nth-of-type(4n+1) .map-world-logo{transform:translateY(-5%)}
.map-planets-screen .map-world-card:nth-of-type(4n+2) .map-world-logo{transform:translateY(8%)}
.map-planets-screen .map-world-card:nth-of-type(4n+3) .map-world-logo{transform:translateY(0)}
.map-planets-screen .map-world-card:nth-of-type(4n) .map-world-logo{transform:translateY(8%)}
.map-world-rail-viewport,.map-world-index-viewport,.map-archive-content-viewport,.map-level-rail-viewport{scroll-snap-type:none!important}
.map-world-card,.map-world-index-button,.map-archive-item,.map-level-node{scroll-snap-align:none!important}

.map-level-node{margin-inline:1.98vw!important}

.map-planet-artworks{transform:translateY(-6.8vh)!important}
.map-planet-copy-panel{padding-top:19.6%!important}

/* Thin reference rings: no filled dark bands. */
.map-world-card[data-selected="1"] .map-world-globe::before{
  width:76%!important;border:5px solid rgba(50,243,63,.9)!important;
  outline:1px solid rgba(50,243,63,.38)!important;outline-offset:14px!important;box-shadow:none!important;
}
.map-world-card[data-selected="1"] .map-world-globe::after{
  width:91%!important;border:1px solid rgba(50,243,63,.55)!important;
  outline:1px solid rgba(50,243,63,.24)!important;outline-offset:13px!important;box-shadow:none!important;
}
.map-world-select-screen .map-world-card:nth-of-type(4n+3) .map-world-stats{top:59%!important}
.map-world-select-screen .map-world-card[data-selected="1"] .map-world-stats{top:73%!important}
.map-level-node.is-current::before{
  box-shadow:none!important;border:4px solid rgba(50,243,63,.72)!important;
  outline:1px solid rgba(50,243,63,.32)!important;outline-offset:11px!important;
}
.map-level-node.is-current::after{
  border:1px solid rgba(50,243,63,.45)!important;outline:1px solid rgba(50,243,63,.2)!important;outline-offset:10px!important;
}
