/* Reusable World field, celestial and horizon surfaces. */
.world-survey-grid{--world-grid-size:180px;--world-grid-glow:.7;position:absolute;inset:0;pointer-events:none;opacity:var(--world-grid-glow);background-image:linear-gradient(rgba(50,112,190,.34) 1px,transparent 1px),linear-gradient(90deg,rgba(50,112,190,.34) 1px,transparent 1px);background-size:var(--world-grid-size) var(--world-grid-size);background-position:50% 50%;-webkit-mask-image:radial-gradient(ellipse 72% 76% at 48% 48%,#000 0 32%,rgba(0,0,0,.83) 52%,rgba(0,0,0,.25) 78%,transparent 100%);mask-image:radial-gradient(ellipse 72% 76% at 48% 48%,#000 0 32%,rgba(0,0,0,.83) 52%,rgba(0,0,0,.25) 78%,transparent 100%)}
.world-survey-grid::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 47% 48%,rgba(43,112,211,.18),transparent 36%),radial-gradient(circle at 78% 22%,rgba(43,112,211,.11),transparent 23%),radial-gradient(circle at 15% 63%,rgba(43,112,211,.1),transparent 23%)}

.world-procedural-planet{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 9px rgba(116,166,200,.16))}

.world-terrain{position:relative;isolation:isolate;min-height:680px;overflow:hidden;background:
  radial-gradient(circle at 14% 20%,rgba(179,199,211,.12) 0 1px,transparent 1.5px),
  radial-gradient(circle at 72% 13%,rgba(179,199,211,.11) 0 1px,transparent 1.4px),
  radial-gradient(circle at 87% 29%,rgba(179,199,211,.09) 0 1px,transparent 1.4px),
  radial-gradient(circle at 32% 34%,rgba(179,199,211,.08) 0 1px,transparent 1.4px),
  radial-gradient(ellipse at 50% 74%,rgba(107,65,47,.17),transparent 48%),
  linear-gradient(180deg,transparent 0,rgba(5,13,19,.22) 14%,rgba(7,18,26,.82) 52%,#091116 100%)}
.world-terrain::before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:radial-gradient(ellipse 58% 26% at 50% 75%,rgba(180,92,57,.08),transparent 72%)}

.world-terrain-moon{position:absolute;z-index:0;width:clamp(440px,48vw,620px);aspect-ratio:1;border-radius:50%;left:50%;top:56px;transform:translateX(-50%);background:
  radial-gradient(circle at 66% 31%,rgba(12,16,20,.42) 0 5%,rgba(189,197,199,.08) 5.5% 7%,transparent 7.6%),
  radial-gradient(circle at 36% 52%,rgba(12,16,20,.34) 0 8%,rgba(206,210,208,.06) 8.5% 10%,transparent 10.7%),
  radial-gradient(circle at 72% 63%,rgba(12,16,20,.38) 0 3.5%,rgba(206,210,208,.06) 4% 5%,transparent 5.6%),
  radial-gradient(circle at 26% 27%,rgba(255,255,255,.3) 0 1.2%,transparent 4%),
  radial-gradient(circle at 35% 31%,#878c8e 0,#50575c 34%,#252c31 61%,#0b1014 82%);
  box-shadow:0 0 70px rgba(132,166,190,.12),0 0 150px rgba(65,107,139,.08),inset -88px -54px 100px rgba(0,0,0,.68),inset 24px 16px 38px rgba(255,255,255,.035);filter:saturate(.72) contrast(1.08)}
.world-terrain-moon::before{content:"";position:absolute;inset:7%;border-radius:50%;background:
  radial-gradient(circle at 19% 60%,rgba(0,0,0,.18) 0 2%,transparent 2.5%),
  radial-gradient(circle at 47% 18%,rgba(255,255,255,.05) 0 4%,transparent 5%),
  radial-gradient(circle at 59% 76%,rgba(0,0,0,.16) 0 5%,transparent 6%),
  radial-gradient(circle at 80% 45%,rgba(255,255,255,.04) 0 3%,transparent 4%);
  mix-blend-mode:soft-light}
.world-terrain-moon::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:1px solid rgba(185,212,227,.12);box-shadow:inset 10px 5px 18px rgba(232,245,250,.035),-10px -2px 24px rgba(117,173,209,.08)}

.world-terrain-title{position:relative;z-index:3;text-align:center;padding:72px 20px 0;margin:auto;max-width:760px;text-shadow:0 3px 24px rgba(0,0,0,.56)}
.world-terrain-title small{font-size:9px;letter-spacing:.2em;color:#a8b6bf;text-transform:uppercase}
.world-terrain-title h3{font:600 clamp(36px,4vw,58px)/.96 var(--serif);letter-spacing:-.035em;margin:13px auto;max-width:15ch}
.world-terrain-title p{font:italic 16px/1.4 var(--serif);color:#b1bec4;margin:16px auto 0}

.world-terrain-ridges{position:absolute;bottom:-2px;left:0;width:100%;height:465px;z-index:2;filter:drop-shadow(0 -8px 22px rgba(0,0,0,.12))}

@media(max-width:760px){
  .world-survey-grid{--world-grid-size:180px}
  .world-terrain{min-height:590px}
  .world-terrain-moon{width:min(88vw,440px);top:94px}
  .world-terrain-ridges{height:355px}
  .world-terrain-title{padding-top:38px}
  .world-terrain-title h3{font-size:clamp(36px,9vw,48px);max-width:12ch}
  .world-terrain-title p{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.world-procedural-planet,.world-terrain-ridges{animation:none}}

/* Astronomical Atlas: shared atmosphere and instrument roles. */
.world-shell{--world-instrument:"PP Right Grotesk Wide Medium","Arial",sans-serif;--world-canvas-deep:#06111a;--world-brass:#c6aa72}
.world-instrument,.world-section-kicker{font-family:var(--world-instrument);font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.world-survey-grid{background-image:linear-gradient(rgba(61,127,205,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(61,127,205,.4) 1px,transparent 1px);box-shadow:inset 0 0 110px 90px rgba(5,16,24,.48)}
.world-procedural-planet{filter:drop-shadow(0 0 12px rgba(116,166,200,.15))}
.world-horizon-art{position:absolute;z-index:2;inset:0;pointer-events:none;background-color:#091116;background-image:linear-gradient(90deg,rgba(3,11,18,.67),rgba(3,11,18,.18) 49%,transparent 74%),url("/world-edge-desktop.webp");background-position:center,center 55%;background-size:cover,cover;background-repeat:no-repeat;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 11%,#000 89%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 11%,#000 89%,transparent 100%)}
.world-terrain:has(.world-horizon-art) .world-terrain-ridges{z-index:0}
.world-terrain:has(.world-horizon-art) .world-terrain-moon{z-index:0}
.world-terrain:has(.world-horizon-art) .world-terrain-title{z-index:3;max-width:none;width:min(52%,650px);margin:0;text-align:left;padding:clamp(62px,7vw,112px) 0 0 clamp(32px,5vw,80px);box-sizing:border-box}
.world-terrain:has(.world-horizon-art) .world-terrain-title h3{font:500 clamp(35px,4.2vw,60px)/1.04 var(--serif);letter-spacing:-.042em;max-width:13ch;margin:20px 0 14px}
.world-terrain:has(.world-horizon-art) .world-terrain-title p{font:500 11px/1.5 var(--world-instrument);font-style:normal;text-transform:uppercase;letter-spacing:.22em;color:#cbbda8;margin:0}
@media(max-width:760px){
  .world-horizon-art{background-image:linear-gradient(180deg,rgba(3,11,18,.74),rgba(3,11,18,.15) 41%,transparent 64%),url("/world-edge-mobile.webp");background-position:center,center 54%}
  .world-terrain:has(.world-horizon-art){min-height:620px}
  .world-terrain:has(.world-horizon-art) .world-terrain-title{width:100%;padding:48px 22px 0}
  .world-terrain:has(.world-horizon-art) .world-terrain-title h3{font-size:clamp(35px,9vw,48px);max-width:12ch;margin:15px 0 12px}
  .world-terrain:has(.world-horizon-art) .world-terrain-title p{font-size:9px}
}
