:root {
  --space-green: #55f0bd;
  --space-cyan: #32cbff;
  --space-blue: #137fd4;
  --space-violet: #a97cff;
  --space-magenta: #ff6fcf;
  --space-amber: #ffc85e;
  --space-red: #ff6578;
  --space-panel: rgba(5, 20, 35, .9);
  --space-line: rgba(116, 197, 240, .22);
}

.space-page-main {
  width: min(1280px, calc(100% - 2rem));
  padding-top: 4.2rem;
}

.space-page-main .eyebrow,
.space-section-heading > div > span,
.space-sources strong,
.space-credit,
.space-hero-meta,
.space-empty-state {
  font-family: "Courier New", monospace;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.space-page-main .eyebrow {
  display: flex;
  align-items: center;
  gap: .65rem;
  color: var(--space-cyan);
  font-size: .7rem;
}

.space-page-main .eyebrow span {
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: var(--space-green);
  box-shadow: 0 0 20px rgba(85, 240, 189, .8);
}

.space-hero {
  position: relative;
  min-height: 470px;
  padding: 2.4rem clamp(0rem, 3vw, 2rem) 5.2rem;
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(300px, .58fr);
  gap: clamp(2rem, 7vw, 6rem);
  align-items: end;
  overflow: hidden;
}

.space-hero::before {
  content: "SPACE";
  position: absolute;
  left: 21%;
  top: -1.6rem;
  color: rgba(50, 203, 255, .034);
  font-size: clamp(11rem, 24vw, 23rem);
  font-weight: 950;
  letter-spacing: -.12em;
  line-height: 1;
  pointer-events: none;
}

.space-hero::after {
  content: "";
  position: absolute;
  width: 48rem;
  height: 48rem;
  right: -18rem;
  top: -23rem;
  border: 1px solid rgba(50, 203, 255, .09);
  border-radius: 50%;
  box-shadow: inset 0 0 120px rgba(41, 130, 220, .04);
}

.space-hero-copy,
.space-hero-status { position: relative; z-index: 1; }

.space-hero h1 {
  max-width: 880px;
  margin: 1.1rem 0 1.45rem;
  font-size: clamp(4.2rem, 8.8vw, 8.4rem);
  line-height: .83;
  letter-spacing: -.085em;
}

.space-hero h1 span {
  display: block;
  color: transparent;
  -webkit-text-stroke: 1px #71889c;
  text-stroke: 1px #71889c;
}

.space-hero-copy > p:not(.eyebrow) {
  max-width: 740px;
  margin: 0;
  color: #adc4d7;
  font-size: 1.06rem;
  line-height: 1.75;
}

.space-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.6rem;
  color: #7393ab;
  font-size: .58rem;
}

.space-hero-meta span {
  padding: .42rem .65rem;
  border: 1px solid rgba(50, 203, 255, .16);
  border-radius: 999px;
  background: rgba(5, 22, 38, .72);
}

.space-hero-status {
  min-height: 300px;
  padding: 2rem;
  border: 1px solid rgba(50, 203, 255, .3);
  border-radius: 1.1rem;
  background: radial-gradient(circle at 70% 15%, rgba(64, 94, 255, .18), transparent 10rem), linear-gradient(150deg, rgba(8, 43, 68, .9), rgba(3, 12, 22, .96));
  box-shadow: 0 34px 80px rgba(0, 0, 0, .35);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
}

.space-orbit {
  position: absolute;
  width: 150px;
  height: 150px;
  right: 1.2rem;
  top: 1.1rem;
  border: 1px solid rgba(50, 203, 255, .19);
  border-radius: 50%;
  transform: rotate(-18deg);
}

.space-orbit::before,
.space-orbit::after {
  content: "";
  position: absolute;
  inset: 20px;
  border: 1px solid rgba(85, 240, 189, .13);
  border-radius: 50%;
}

.space-orbit::after { inset: 46px; background: radial-gradient(circle at 36% 32%, #eefcff 0 8%, #2dbbff 9% 38%, #061b31 72%); box-shadow: 0 0 30px rgba(50, 203, 255, .3); }
.space-orbit i { position: absolute; width: 9px; height: 9px; left: 6px; top: 68px; border-radius: 50%; background: var(--space-green); box-shadow: 0 0 16px var(--space-green); animation: orbit-pulse 2s ease-in-out infinite; }
.space-orbit b { position: absolute; inset: -14px; border: 1px dashed rgba(169, 124, 255, .2); border-radius: 50%; animation: slow-spin 18s linear infinite; }
.space-orbit span { position: absolute; width: 5px; height: 5px; right: -15px; top: 65px; border-radius: 50%; background: var(--space-cyan); }

@keyframes slow-spin { to { transform: rotate(360deg); } }
@keyframes orbit-pulse { 50% { transform: scale(1.55); opacity: .45; } }

.space-hero-status > small {
  color: #7f9db4;
  font-family: "Courier New", monospace;
  font-size: .63rem;
  font-weight: 800;
  letter-spacing: .13em;
}

.space-hero-status > strong {
  max-width: 85%;
  margin: .55rem 0 .65rem;
  color: var(--space-green);
  font-size: clamp(2.2rem, 4vw, 3.8rem);
  line-height: .93;
  letter-spacing: -.055em;
}

.space-hero-status[data-severity="watch"] > strong { color: var(--space-amber); }
.space-hero-status[data-severity="storm"] > strong { color: var(--space-red); }
.space-hero-status p { max-width: 85%; margin: 0 0 .65rem; color: #a4bbce; font-size: .8rem; line-height: 1.55; }
.space-hero-status time { color: #648299; font-family: "Courier New", monospace; font-size: .62rem; letter-spacing: .08em; }

.space-jump-nav {
  position: sticky;
  top: 94px;
  z-index: 25;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  margin-bottom: 1.4rem;
  border: 1px solid var(--space-line);
  border-radius: .95rem;
  background: rgba(3, 14, 25, .94);
  box-shadow: 0 14px 36px rgba(0, 0, 0, .25);
  backdrop-filter: blur(16px);
  overflow: hidden;
}

.space-jump-nav a {
  min-width: 0;
  padding: .95rem .65rem;
  color: #8ba6ba;
  border-right: 1px solid rgba(130, 196, 235, .12);
  font-size: .66rem;
  font-weight: 800;
  text-align: center;
  text-transform: uppercase;
  transition: color .18s ease, background .18s ease;
}

.space-jump-nav a:last-child { border-right: 0; }
.space-jump-nav a span { display: block; margin-bottom: .24rem; color: var(--space-cyan); font-family: "Courier New", monospace; font-size: .56rem; }
.space-jump-nav a:hover,
.space-jump-nav a:focus-visible { color: white; background: rgba(50, 203, 255, .08); outline: none; }

.space-section {
  position: relative;
  margin: 0 0 1.4rem;
  padding: clamp(1.4rem, 4vw, 3rem);
  border: 1px solid var(--space-line);
  border-radius: 1.1rem;
  background: linear-gradient(145deg, rgba(7, 27, 45, .94), rgba(3, 12, 22, .96));
  box-shadow: 0 24px 65px rgba(0, 0, 0, .22);
  overflow: hidden;
}

.space-section::after {
  content: "";
  position: absolute;
  width: 32rem;
  height: 32rem;
  right: -21rem;
  top: -21rem;
  border: 1px solid rgba(50, 203, 255, .07);
  border-radius: 50%;
  pointer-events: none;
}

.space-section-heading {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
  gap: clamp(1.5rem, 5vw, 4rem);
  align-items: end;
  margin-bottom: 2rem;
}

.space-section-heading > div > span { color: var(--space-cyan); font-size: .66rem; }
.space-section-heading h2 { margin: .65rem 0 0; font-size: clamp(2.25rem, 5vw, 4.5rem); line-height: .96; letter-spacing: -.055em; }
.space-section-heading > p { margin: 0; color: #9eb7ca; font-size: .9rem; line-height: 1.7; }

.scale-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .85rem; }
.scale-card { position: relative; min-height: 220px; padding: 1.35rem; border: 1px solid rgba(112, 191, 231, .18); border-radius: .9rem; background: rgba(4, 17, 29, .78); overflow: hidden; }
.scale-card::after { content: attr(data-scale); position: absolute; right: -.05em; bottom: -.38em; color: rgba(50, 203, 255, .045); font-size: 12rem; font-weight: 950; text-transform: uppercase; line-height: 1; }
.scale-card > div { position: relative; z-index: 1; display: flex; align-items: center; gap: .72rem; }
.scale-card > div span { width: 2.3rem; height: 2.3rem; display: grid; place-items: center; border: 1px solid var(--space-cyan); border-radius: 50%; color: var(--space-cyan); font-weight: 950; }
.scale-card > div small { color: #83a2b8; font-family: "Courier New", monospace; font-size: .62rem; font-weight: 800; letter-spacing: .12em; }
.scale-card > strong { position: relative; z-index: 1; display: block; margin: 1.1rem 0 .35rem; color: var(--space-green); font-size: 3.4rem; line-height: 1; letter-spacing: -.07em; }
.scale-card[data-level="1"] > strong,
.scale-card[data-level="2"] > strong { color: var(--space-amber); }
.scale-card[data-level="3"] > strong,
.scale-card[data-level="4"] > strong,
.scale-card[data-level="5"] > strong { color: var(--space-red); }
.scale-card > p { position: relative; z-index: 1; min-height: 2.7em; margin: 0 0 .8rem; color: #94afc3; font-size: .76rem; line-height: 1.45; }
.scale-card meter { position: relative; z-index: 1; width: 100%; height: .42rem; appearance: none; }
.scale-card meter::-webkit-meter-bar { border: 0; border-radius: 99px; background: #102638; }
.scale-card meter::-webkit-meter-optimum-value { border-radius: 99px; background: linear-gradient(90deg, var(--space-green), var(--space-amber), var(--space-red)); }

.space-signal-strip { display: grid; grid-template-columns: repeat(6, 1fr); margin-top: .85rem; border: 1px solid rgba(112, 191, 231, .16); border-radius: .9rem; background: rgba(2, 12, 22, .65); overflow: hidden; }
.space-signal-strip > div { min-width: 0; padding: 1.1rem; border-right: 1px solid rgba(112, 191, 231, .12); }
.space-signal-strip > div:last-child { border: 0; }
.space-signal-strip small { display: block; min-height: 2.4em; color: #718fa7; font-family: "Courier New", monospace; font-size: .55rem; font-weight: 800; letter-spacing: .1em; }
.space-signal-strip strong { display: inline-block; margin-top: .35rem; color: #eefaff; font-size: clamp(1.35rem, 2.4vw, 2.1rem); letter-spacing: -.045em; }
.space-signal-strip span { margin-left: .2rem; color: #68869c; font-size: .65rem; }

.solar-observatory { background: radial-gradient(circle at 18% 45%, rgba(255, 96, 50, .12), transparent 28rem), linear-gradient(145deg, rgba(18, 20, 34, .96), rgba(4, 12, 21, .97)); }
.solar-gallery { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: .9rem; }
.solar-gallery figure { margin: 0; overflow: hidden; border: 1px solid rgba(247, 157, 91, .2); border-radius: .95rem; background: #02060b; }
.solar-image-wrap { position: relative; overflow: hidden; background: radial-gradient(circle, #27110d, #010204 68%); }
.solar-image-wrap img { display: block; width: 100%; height: 100%; object-fit: cover; }
.solar-primary .solar-image-wrap { aspect-ratio: 1.25 / 1; }
.solar-primary .solar-image-wrap img { object-fit: contain; }
.solar-scan { position: absolute; left: 6%; right: 6%; top: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.8), transparent); box-shadow: 0 0 14px #fff; animation: solar-scan 8s ease-in-out infinite; }
@keyframes solar-scan { 50% { top: 100%; opacity: .45; } }
.solar-gallery figcaption { padding: 1rem 1.1rem; }
.solar-primary figcaption { display: grid; grid-template-columns: minmax(200px, .7fr) minmax(260px, 1.3fr); gap: 1.5rem; align-items: center; }
.solar-gallery figcaption small { display: block; margin-bottom: .35rem; color: #ff9c69; font-family: "Courier New", monospace; font-size: .62rem; font-weight: 800; letter-spacing: .12em; }
.solar-gallery figcaption strong { font-size: .95rem; }
.solar-gallery figcaption p { margin: 0; color: #8fa7ba; font-size: .76rem; line-height: 1.55; }
.solar-secondary { display: grid; grid-template-rows: 1fr 1fr; gap: .9rem; }
.solar-secondary figure { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(140px, .9fr); }
.solar-secondary .solar-image-wrap { aspect-ratio: 1 / 1; }
.solar-secondary figcaption { align-self: center; }
.space-credit { margin: 1rem 0 0; color: #6c879c; font-size: .56rem; line-height: 1.55; letter-spacing: .08em; }

.science-dashboard { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(250px, .45fr); gap: .9rem; }
.science-chart-card,
.probability-card,
.active-regions-panel,
.dual-chart-grid > article,
.forecast-chart-card,
.forecast-probabilities,
.alerts-panel { border: 1px solid rgba(112, 191, 231, .17); border-radius: .95rem; background: rgba(2, 13, 24, .7); }
.science-chart-card { padding: 1.2rem; }
.science-chart-card > header,
.dual-chart-grid article > header,
.forecast-chart-card > header,
.active-regions-panel > header,
.alerts-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.science-chart-card small,
.probability-card > small,
.dual-chart-grid small,
.forecast-chart-card small,
.forecast-probabilities > small,
.active-regions-panel small,
.alerts-panel small { color: #7190a7; font-family: "Courier New", monospace; font-size: .58rem; font-weight: 800; letter-spacing: .12em; }
.science-chart-card h3,
.probability-card h3,
.dual-chart-grid h3,
.forecast-chart-card h3,
.forecast-probabilities h3,
.active-regions-panel h3,
.alerts-panel h3 { margin: .28rem 0 0; font-size: 1.35rem; }
.live-value { text-align: right; }
.live-value span { display: block; color: #7190a7; font-size: .55rem; }
.live-value strong { display: block; margin-top: .15rem; color: var(--space-cyan); font-size: 2rem; }

.science-chart { display: block; width: 100%; height: auto; margin-top: 1rem; overflow: visible; }
.chart-grid line { stroke: rgba(124, 194, 231, .13); stroke-width: 1; vector-effect: non-scaling-stroke; }
.chart-grid text,
.chart-labels text { fill: #66859c; font-family: "Courier New", monospace; font-size: 19px; }
.chart-line,
.chart-line-secondary,
.chart-area { fill: none; stroke: var(--space-cyan); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.chart-line-secondary { stroke: var(--space-green); stroke-width: 2; }
.chart-area { fill: url(#chartGradient); stroke: none; opacity: .14; }
.chart-zero { stroke: rgba(255,255,255,.35); stroke-width: 1; stroke-dasharray: 7 7; }
.xray-scale { display: grid; grid-template-columns: repeat(5, 1fr); margin: -.1rem .25rem 0; color: #708da3; font-family: "Courier New", monospace; font-size: .58rem; text-align: center; }
.xray-scale span:nth-child(4) { color: var(--space-amber); }
.xray-scale span:nth-child(5) { color: var(--space-red); }
.chart-note { margin: .8rem 0 0; color: #7f9db2; font-size: .7rem; line-height: 1.5; }

.probability-card { padding: 1.2rem; }
.probability-rings { display: grid; gap: .8rem; margin: 1.25rem 0; }
.probability-rings > div { --p: 0; min-height: 74px; padding: .75rem 1rem .75rem 5.4rem; position: relative; display: flex; flex-direction: column; justify-content: center; border: 1px solid rgba(118, 192, 233, .12); border-radius: .75rem; background: linear-gradient(90deg, color-mix(in srgb, var(--space-cyan) calc(var(--p) * 1%), transparent), rgba(6, 25, 40, .2)); }
.probability-rings > div::before { content: ""; position: absolute; left: .85rem; top: .65rem; width: 3rem; height: 3rem; border-radius: 50%; background: conic-gradient(var(--space-cyan) calc(var(--p) * 1%), #10283a 0); -webkit-mask: radial-gradient(circle, transparent 52%, #000 54%); mask: radial-gradient(circle, transparent 52%, #000 54%); }
.probability-rings strong { font-size: 1.35rem; }
.probability-rings span { color: #7592a8; font-size: .67rem; }
.probability-card > p { margin: 0; color: #7895aa; font-size: .72rem; line-height: 1.55; }

.active-regions-panel { margin-top: .9rem; padding: 1.2rem; }
.active-regions-panel > header > span { color: #69879e; font-family: "Courier New", monospace; font-size: .63rem; }
.active-regions { display: grid; grid-template-columns: repeat(4, 1fr); gap: .65rem; margin-top: 1rem; }
.active-region { padding: .9rem; border: 1px solid rgba(111, 190, 232, .13); border-radius: .72rem; background: rgba(7, 28, 43, .6); }
.active-region header { display: flex; justify-content: space-between; gap: .5rem; }
.active-region header strong { color: var(--space-cyan); }
.active-region header span { color: #7897ad; font-family: "Courier New", monospace; font-size: .62rem; }
.active-region dl { margin: .75rem 0 0; }
.active-region dl div { display: flex; justify-content: space-between; gap: 1rem; margin-top: .3rem; color: #849fb3; font-size: .65rem; }
.active-region dd { margin: 0; color: #dff6ff; font-weight: 700; }
.space-empty-state { grid-column: 1/-1; margin: 0; padding: 2rem; color: #66869d; font-size: .58rem; text-align: center; }

.l1-journey { min-height: 150px; display: grid; grid-template-columns: auto minmax(150px, 1fr) auto minmax(80px, .32fr) auto; align-items: center; gap: .6rem; padding: 1rem 1.4rem; border: 1px solid rgba(112, 191, 231, .16); border-radius: .95rem; background: radial-gradient(circle at 6% 50%, rgba(255, 125, 60, .16), transparent 10rem), rgba(2, 12, 22, .72); overflow: hidden; }
.journey-sun,
.journey-earth,
.journey-l1 { display: grid; place-items: center; gap: .35rem; color: #7996ab; font-family: "Courier New", monospace; font-size: .55rem; text-align: center; }
.journey-sun i { display: block; width: 68px; height: 68px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff6b4, #ff9c34 18%, #ec451e 62%, #33100c); box-shadow: 0 0 45px rgba(255, 99, 40, .45); }
.journey-earth i { display: block; width: 54px; height: 54px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #e8fbff, #2bbafb 20%, #0b3b65 55%, #02080f 75%); box-shadow: 0 0 30px rgba(50, 203, 255, .32); }
.journey-l1 i { display: block; width: 13px; height: 13px; border: 2px solid var(--space-green); border-radius: 50%; box-shadow: 0 0 18px var(--space-green); }
.journey-l1 strong { color: var(--space-green); font-size: .8rem; }
.journey-l1 span { max-width: 95px; }
.journey-stream { position: relative; height: 70px; display: flex; align-items: center; border-top: 1px dashed rgba(50, 203, 255, .18); }
.journey-stream > span { position: absolute; left: 0; right: 0; top: .65rem; color: #5c7a90; font-family: "Courier New", monospace; font-size: .54rem; text-align: center; }
.journey-stream b { position: absolute; left: 0; width: 34px; height: 2px; background: linear-gradient(90deg, transparent, var(--space-cyan)); box-shadow: 0 0 10px var(--space-cyan); animation: solar-flow 3.4s linear infinite; }
.journey-stream b:nth-of-type(2) { top: 45%; animation-delay: -1.1s; }
.journey-stream b:nth-of-type(3) { top: 72%; animation-delay: -2.2s; }
@keyframes solar-flow { from { left: 0; opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } to { left: calc(100% - 34px); opacity: 0; } }

.wind-metrics { display: grid; grid-template-columns: repeat(6, 1fr); gap: .65rem; margin-top: .9rem; }
.wind-metrics article { min-width: 0; padding: 1rem; border: 1px solid rgba(112, 191, 231, .14); border-radius: .78rem; background: rgba(3, 15, 26, .68); }
.wind-metrics small { display: block; min-height: 2.35em; color: #708ea4; font-family: "Courier New", monospace; font-size: .53rem; font-weight: 800; letter-spacing: .1em; }
.wind-metrics strong { display: inline-block; margin-top: .35rem; font-size: clamp(1.45rem, 2.6vw, 2.25rem); letter-spacing: -.055em; }
.wind-metrics span { color: #68869d; font-size: .6rem; }
.wind-metrics p { min-height: 2.5em; margin: .4rem 0 0; color: #68869d; font-size: .62rem; line-height: 1.35; }
.wind-metrics .bz-card[data-south="true"] { border-color: rgba(255, 101, 120, .32); box-shadow: inset 0 0 35px rgba(255, 70, 103, .08); }
.wind-metrics .bz-card[data-south="true"] strong { color: var(--space-red); }

.dual-chart-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; margin-top: .9rem; }
.dual-chart-grid > article { padding: 1.1rem; }
.chart-legend { display: flex; flex-wrap: wrap; gap: 1rem; color: #7794aa; font-size: .62rem; }
.chart-legend span { display: inline-flex; align-items: center; gap: .35rem; }
.chart-legend i { width: 1.4rem; height: 2px; }
.chart-legend .cyan { background: var(--space-cyan); }
.chart-legend .green { background: var(--space-green); }
.chart-legend .magenta { background: var(--space-magenta); }
.chart-legend .amber { background: var(--space-amber); }
.space-data-note { margin: 1rem 0 0; color: #718da2; font-size: .69rem; line-height: 1.55; }

.magnetosphere-section { background: radial-gradient(circle at 65% 45%, rgba(22, 126, 205, .14), transparent 30rem), linear-gradient(145deg, rgba(4, 21, 38, .97), rgba(2, 10, 18, .97)); }
.magnetosphere-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(270px, .45fr); gap: .9rem; }
.magnetosphere-visual { position: relative; min-height: 420px; border: 1px solid rgba(112, 191, 231, .16); border-radius: .9rem; background: radial-gradient(circle at 48% 50%, rgba(30, 138, 211, .12), transparent 14rem), #020b14; overflow: hidden; }
.magnetosphere-visual svg { display: block; width: 100%; height: 100%; }
.magnetosphere-visual text { fill: #5f7e96; font-family: "Courier New", monospace; font-size: 17px; letter-spacing: 3px; }
.earth { fill: url(#earthGlow); filter: drop-shadow(0 0 20px rgba(50,203,255,.52)); }
.field-lines path { fill: none; stroke: url(#fieldGlow); stroke-width: 2; stroke-linecap: round; opacity: .82; stroke-dasharray: 10 12; animation: field-dash 7s linear infinite; }
.field-lines path:nth-child(even) { animation-direction: reverse; opacity: .55; }
@keyframes field-dash { to { stroke-dashoffset: -220; } }
.solar-particles path { fill: none; stroke: rgba(255, 179, 72, .7); stroke-width: 2; stroke-dasharray: 3 28; animation: solar-dash 2.2s linear infinite; }
@keyframes solar-dash { to { stroke-dashoffset: -62; } }
.bow-shock { fill: none; stroke: rgba(255, 199, 93, .4); stroke-width: 2; stroke-dasharray: 6 12; }
.auroral-ring { fill: none; stroke: var(--space-green); stroke-width: 7; filter: drop-shadow(0 0 9px rgba(85,240,189,.75)); }
.magnetosphere-annotations { position: absolute; inset: auto 1rem 1rem; display: flex; flex-wrap: wrap; gap: .45rem; }
.magnetosphere-annotations span { padding: .35rem .55rem; border: 1px solid rgba(109, 190, 233, .14); border-radius: 999px; color: #7593aa; background: rgba(2, 12, 22, .75); font-size: .56rem; }
.magnetosphere-reading { padding: 1.2rem; border: 1px solid rgba(112, 191, 231, .16); border-radius: .9rem; background: rgba(2, 13, 24, .75); }
.kp-gauge { --kp: 0; position: relative; width: 200px; height: 200px; margin: .2rem auto 1.3rem; display: grid; place-content: center; text-align: center; border-radius: 50%; background: conic-gradient(from -135deg, var(--space-green) 0 calc(var(--kp) * 3%), var(--space-amber) calc(var(--kp) * 3%) calc(var(--kp) * 7%), var(--space-red) calc(var(--kp) * 7%) calc(var(--kp) * 11.1%), #10283a 0); -webkit-mask: radial-gradient(circle, #000 0 57%, transparent 58% 68%, #000 69%); mask: radial-gradient(circle, #000 0 57%, transparent 58% 68%, #000 69%); }
.kp-gauge span,
.kp-gauge strong { -webkit-mask: none; mask: none; }
.kp-gauge span { color: #728fa5; font-family: "Courier New", monospace; font-size: .65rem; letter-spacing: .15em; }
.kp-gauge strong { color: white; font-size: 4.2rem; line-height: .9; letter-spacing: -.08em; }
.magnetosphere-reading dl { margin: 0; }
.magnetosphere-reading dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .62rem 0; border-top: 1px solid rgba(111, 190, 232, .12); font-size: .7rem; }
.magnetosphere-reading dt { color: #7895ab; }
.magnetosphere-reading dd { margin: 0; color: #e5f8ff; font-weight: 800; text-align: right; }
.magnetosphere-reading > p { margin: 1rem 0 0; color: #7895ab; font-size: .7rem; line-height: 1.55; }

.aurora-location-search { position: relative; z-index: 4; margin-bottom: .9rem; padding: 1rem; display: grid; grid-template-columns: minmax(240px, .85fr) minmax(380px, 1.15fr); gap: .9rem 1.2rem; align-items: end; border: 1px solid rgba(112,191,231,.17); border-radius: .95rem; background: linear-gradient(135deg, rgba(5,29,46,.92), rgba(2,13,24,.92)); }
.aurora-search-intro label { display: block; color: var(--space-green); font-family: "Courier New", monospace; font-size: .65rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.aurora-search-intro p { margin: .45rem 0 0; color: #7896ac; font-size: .68rem; line-height: 1.5; }
.aurora-search-control { display: flex; gap: .55rem; align-items: stretch; }
.aurora-search-field { position: relative; flex: 1 1 auto; min-width: 0; }
.aurora-search-field input { width: 100%; height: 52px; padding: 0 1rem; border: 1px solid rgba(50,203,255,.28); border-radius: .72rem; color: #ecfbff; background: #031522; font: 700 .8rem/1.2 inherit; outline: none; transition: border-color .18s ease, box-shadow .18s ease; }
.aurora-search-field input::placeholder { color: #6f8ba0; }
.aurora-search-field input:focus { border-color: var(--space-cyan); box-shadow: 0 0 0 3px rgba(50,203,255,.11); }
.aurora-search-control > button { flex: 0 0 auto; min-width: 112px; height: 52px; padding: 0 1rem; border: 1px solid rgba(50,203,255,.5); border-radius: .72rem; color: #02111c; background: var(--space-cyan); font-size: .7rem; font-weight: 900; cursor: pointer; }
.aurora-search-control > button:hover,
.aurora-search-control > button:focus-visible { background: #78ddff; outline: none; box-shadow: 0 0 0 3px rgba(50,203,255,.13); }
.aurora-suggestions { position: absolute; z-index: 20; top: calc(100% + .35rem); left: 0; right: 0; max-height: 270px; margin: 0; padding: .35rem; overflow-y: auto; list-style: none; border: 1px solid rgba(50,203,255,.35); border-radius: .72rem; background: #041a2a; box-shadow: 0 18px 45px rgba(0,0,0,.45); }
.aurora-suggestions[hidden] { display: none; }
.aurora-suggestions li { margin: 0; }
.aurora-suggestions button { width: 100%; padding: .7rem .75rem; border: 0; border-radius: .48rem; color: #cfe8f4; background: transparent; font-size: .7rem; line-height: 1.35; text-align: left; cursor: pointer; }
.aurora-suggestions li[aria-selected="true"] button,
.aurora-suggestions button:hover,
.aurora-suggestions button:focus-visible { color: #fff; background: rgba(50,203,255,.13); outline: none; }
.aurora-search-feedback { grid-column: 1 / -1; min-height: 25px; padding-top: .75rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .45rem 1rem; border-top: 1px solid rgba(112,191,231,.12); }
.aurora-search-feedback strong { color: #e5f9ff; font-size: .72rem; }
.aurora-search-feedback span { color: #718fa5; font-size: .63rem; }
.aurora-search-feedback span[data-state="error"] { color: #ff8f9d; }
.aurora-search-feedback span[data-state="success"] { color: var(--space-green); }

.aurora-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); gap: .9rem; }
.aurora-map-panel,
.aurora-local { border: 1px solid rgba(112, 191, 231, .17); border-radius: .95rem; background: rgba(2, 13, 24, .72); overflow: hidden; }
.aurora-toolbar { min-height: 54px; padding: .85rem 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: #7392a8; font-family: "Courier New", monospace; font-size: .56rem; letter-spacing: .09em; }
.aurora-toolbar strong { color: #dff8ff; }
.aurora-map-frame { position: relative; aspect-ratio: 2 / 1; background: #03101b; overflow: hidden; }
.aurora-map-frame > img,
.aurora-map-frame canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.aurora-map-frame > img { opacity: .72; }
.aurora-map-label { position: absolute; left: 29.7%; top: 31.7%; display: flex; align-items: center; gap: .35rem; color: white; font-family: "Courier New", monospace; font-size: .55rem; text-shadow: 0 1px 3px #000; transform: translate(-50%,-50%); }
.aurora-map-label i { width: 8px; height: 8px; border: 2px solid white; border-radius: 50%; background: var(--space-cyan); box-shadow: 0 0 0 5px rgba(50,203,255,.14), 0 0 18px var(--space-cyan); }
.aurora-scale { padding: .75rem 1rem; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .8rem; color: #718fa5; font-family: "Courier New", monospace; font-size: .55rem; }
.aurora-scale i { height: 7px; border-radius: 99px; background: linear-gradient(90deg, #146e46, #2eff5c 18%, #ebff31 48%, #ff911c 72%, #ff2a3d); box-shadow: 0 0 12px rgba(89,255,92,.16); }
.aurora-local { padding: 1.35rem; }
.aurora-local > small { color: var(--space-green); font-family: "Courier New", monospace; font-size: .61rem; font-weight: 800; letter-spacing: .11em; }
.aurora-local > strong { display: block; margin: 1.1rem 0 0; color: #effcff; font-size: 4.8rem; line-height: .9; letter-spacing: -.08em; }
.aurora-local > span { color: #7390a6; font-size: .66rem; }
.aurora-verdict { margin: 1.3rem 0; padding: .8rem; border-left: 3px solid var(--space-green); color: #b9cfde; background: rgba(85,240,189,.05); font-size: .75rem; line-height: 1.45; }
.aurora-local dl { margin: 0; }
.aurora-local dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .6rem 0; border-top: 1px solid rgba(112,191,231,.12); font-size: .65rem; }
.aurora-local dt { color: #7390a6; }
.aurora-local dd { margin: 0; color: #dff6ff; text-align: right; }
.aurora-local > p { margin: 1rem 0 0; color: #6e8ba1; font-size: .67rem; line-height: 1.55; }
.aurora-science { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; margin-top: .8rem; }
.aurora-science article { display: flex; align-items: flex-start; gap: .85rem; padding: .95rem; border: 1px solid rgba(112,191,231,.13); border-radius: .78rem; background: rgba(2,13,24,.58); }
.aurora-science article > span { flex: 0 0 auto; width: 13px; height: 13px; margin-top: .15rem; border-radius: 50%; }
.oxygen-green { background: #63ff9f; box-shadow: 0 0 15px #63ff9f; }
.oxygen-red { background: #ff5e6d; box-shadow: 0 0 15px #ff5e6d; }
.nitrogen { background: #9174ff; box-shadow: 0 0 15px #9174ff; }
.aurora-science strong { font-size: .78rem; }
.aurora-science p { margin: .35rem 0 0; color: #7693a9; font-size: .65rem; line-height: 1.45; }

.forecast-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(270px, .55fr); gap: .9rem; }
.forecast-chart-card,
.forecast-probabilities { padding: 1.2rem; }
.forecast-chart-card > header > span { color: #69879e; font-family: "Courier New", monospace; font-size: .58rem; }
.forecast-bars { min-height: 270px; margin: 1.3rem 0 .75rem; display: grid; grid-template-columns: repeat(7, 1fr); align-items: end; gap: .55rem; }
.forecast-day { min-width: 0; display: grid; grid-template-rows: 210px auto; gap: .5rem; text-align: center; }
.forecast-day-bars { height: 210px; display: flex; align-items: end; justify-content: center; gap: .25rem; border-bottom: 1px solid rgba(112,191,231,.15); background: repeating-linear-gradient(to top, transparent 0 51px, rgba(112,191,231,.07) 52px 53px); }
.forecast-day-bars i { width: min(32%, 24px); min-height: 3px; border-radius: 5px 5px 0 0; background: linear-gradient(to top, #0b5788, var(--space-cyan)); }
.forecast-day-bars i:last-child { background: linear-gradient(to top, #8f4e1d, var(--space-amber)); }
.forecast-day strong { display: block; color: #a9c0d1; font-family: "Courier New", monospace; font-size: .58rem; text-transform: uppercase; }
.forecast-day span { display: block; margin-top: .2rem; color: #607f96; font-size: .54rem; }
.forecast-probabilities dl { margin: 1.1rem 0 0; }
.forecast-probabilities dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 0; border-top: 1px solid rgba(112,191,231,.13); font-size: .72rem; }
.forecast-probabilities dt { color: #7895aa; }
.forecast-probabilities dd { margin: 0; color: #e9fbff; font-size: 1rem; font-weight: 900; }
.forecast-probabilities > p { margin: 1rem 0 0; color: #708da3; font-size: .66rem; line-height: 1.5; }
.alerts-panel { margin-top: .9rem; padding: 1.2rem; }
.alerts-panel > header a { color: var(--space-cyan); font-size: .66rem; font-weight: 800; }
.space-alerts { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; margin-top: 1rem; }
.space-alert { padding: .9rem; border: 1px solid rgba(112,191,231,.13); border-radius: .72rem; background: rgba(7,28,43,.56); }
.space-alert header { display: flex; justify-content: space-between; gap: .6rem; }
.space-alert header strong { color: var(--space-amber); font-family: "Courier New", monospace; font-size: .65rem; }
.space-alert time { color: #68869c; font-size: .57rem; }
.space-alert h4 { margin: .65rem 0 .4rem; font-size: .86rem; line-height: 1.25; }
.space-alert p { margin: 0; color: #7895aa; font-size: .64rem; line-height: 1.5; }

.impact-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .7rem; }
.impact-grid article { min-height: 230px; padding: 1.1rem; border: 1px solid rgba(112,191,231,.14); border-radius: .8rem; background: linear-gradient(150deg, rgba(8,35,55,.72), rgba(3,13,23,.76)); }
.impact-grid article > span { display: grid; place-items: center; width: 3rem; height: 3rem; margin-bottom: 1.25rem; border: 1px solid rgba(50,203,255,.35); border-radius: 50%; color: var(--space-cyan); font-family: "Courier New", monospace; font-size: .7rem; font-weight: 900; }
.impact-grid h3 { margin: 0 0 .65rem; font-size: 1.2rem; }
.impact-grid p { margin: 0; color: #7896ab; font-size: .72rem; line-height: 1.58; }

.sun-earth-chain { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid rgba(112,191,231,.15); border-radius: .9rem; overflow: hidden; counter-reset: none; }
.sun-earth-chain li { position: relative; min-height: 260px; padding: 1rem; border-right: 1px solid rgba(112,191,231,.13); background: rgba(3,15,26,.65); }
.sun-earth-chain li:last-child { border: 0; }
.sun-earth-chain li > span { display: grid; place-items: center; width: 2rem; height: 2rem; margin-bottom: 2.2rem; border: 1px solid var(--space-cyan); border-radius: 50%; color: var(--space-cyan); font-family: "Courier New", monospace; font-size: .65rem; font-weight: 900; }
.sun-earth-chain li:not(:last-child)::after { content: "→"; position: absolute; right: -.55rem; top: 1.4rem; z-index: 2; color: var(--space-green); font-size: 1rem; }
.sun-earth-chain strong { font-size: .86rem; line-height: 1.3; }
.sun-earth-chain p { margin: .6rem 0 0; color: #7693a9; font-size: .67rem; line-height: 1.55; }
.glossary-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .65rem; margin-top: .8rem; }
.glossary-grid details { border: 1px solid rgba(112,191,231,.14); border-radius: .75rem; background: rgba(3,15,26,.58); }
.glossary-grid summary { padding: .9rem 1rem; color: #dff7ff; font-size: .78rem; font-weight: 900; cursor: pointer; list-style: none; }
.glossary-grid summary::-webkit-details-marker { display: none; }
.glossary-grid summary::after { content: "+"; float: right; color: var(--space-cyan); }
.glossary-grid details[open] summary::after { content: "−"; }
.glossary-grid p { margin: 0; padding: 0 1rem 1rem; color: #7794aa; font-size: .7rem; line-height: 1.58; }

.space-sources { margin: 1.4rem 0 3rem; padding: 1.3rem; border: 1px solid rgba(112,191,231,.16); border-radius: .9rem; color: #718da2; background: rgba(2,12,22,.66); font-size: .66rem; line-height: 1.55; }
.space-sources strong { color: #dff7ff; font-size: .62rem; }
.space-sources p { margin: .5rem 0 0; }
.space-sources nav { display: flex; flex-wrap: wrap; gap: .55rem; margin: .9rem 0; }
.space-sources nav a { padding: .45rem .65rem; border: 1px solid rgba(50,203,255,.2); border-radius: 999px; color: var(--space-cyan); font-weight: 800; }
.space-sources nav a:hover,
.space-sources nav a:focus-visible { color: #02111c; background: var(--space-cyan); outline: none; }

@media (max-width: 1080px) {
  .space-hero { grid-template-columns: 1fr minmax(260px, .45fr); }
  .space-jump-nav { grid-template-columns: repeat(4, 1fr); }
  .space-jump-nav a:nth-child(4) { border-right: 0; }
  .space-jump-nav a:nth-child(-n+4) { border-bottom: 1px solid rgba(130,196,235,.12); }
  .space-signal-strip { grid-template-columns: repeat(3, 1fr); }
  .space-signal-strip > div:nth-child(3) { border-right: 0; }
  .space-signal-strip > div:nth-child(-n+3) { border-bottom: 1px solid rgba(112,191,231,.12); }
  .wind-metrics { grid-template-columns: repeat(3, 1fr); }
  .active-regions,
  .impact-grid { grid-template-columns: repeat(2, 1fr); }
  .sun-earth-chain { grid-template-columns: 1fr; }
  .sun-earth-chain li { min-height: 0; padding: 1rem 1rem 1rem 4.3rem; border-right: 0; border-bottom: 1px solid rgba(112,191,231,.13); }
  .sun-earth-chain li > span { position: absolute; left: 1rem; top: 1rem; margin: 0; }
  .sun-earth-chain li:not(:last-child)::after { content: "↓"; right: auto; left: 1.65rem; top: auto; bottom: -.6rem; }
}

@media (max-width: 820px) {
  .space-page-main { width: min(100% - 1rem, 1280px); padding-top: 2rem; }
  .space-hero { grid-template-columns: 1fr; min-height: auto; padding: 2rem .5rem 3rem; }
  .space-hero h1 { font-size: clamp(3.5rem, 16vw, 6.5rem); }
  .space-hero-status { min-height: 250px; }
  .space-jump-nav { position: static; }
  .space-section { padding: 1.2rem; }
  .space-section-heading { grid-template-columns: 1fr; gap: .85rem; }
  .aurora-location-search { grid-template-columns: 1fr; }
  .aurora-search-feedback { grid-column: auto; }
  .scale-grid,
  .science-dashboard,
  .solar-gallery,
  .magnetosphere-layout,
  .aurora-layout,
  .forecast-grid { grid-template-columns: 1fr; }
  .solar-secondary { grid-template-columns: 1fr 1fr; grid-template-rows: none; }
  .solar-secondary figure { display: block; }
  .dual-chart-grid,
  .aurora-science { grid-template-columns: 1fr; }
  .l1-journey { grid-template-columns: auto 1fr auto; }
  .l1-journey .journey-stream:first-of-type { grid-column: 2; }
  .l1-journey .journey-l1 { grid-column: 3; }
  .l1-journey .journey-stream.is-short { grid-column: 1 / 3; grid-row: 2; }
  .l1-journey .journey-earth { grid-column: 3; grid-row: 2; }
  .magnetosphere-visual { min-height: 330px; }
  .space-alerts { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .space-jump-nav { grid-template-columns: repeat(2, 1fr); }
  .space-jump-nav a { border-bottom: 1px solid rgba(130,196,235,.12); }
  .space-jump-nav a:nth-child(even) { border-right: 0; }
  .space-jump-nav a:nth-last-child(-n+2) { border-bottom: 0; }
  .space-signal-strip,
  .wind-metrics,
  .active-regions,
  .impact-grid,
  .glossary-grid { grid-template-columns: 1fr; }
  .space-signal-strip > div { border-right: 0; border-bottom: 1px solid rgba(112,191,231,.12); }
  .space-signal-strip > div:last-child { border-bottom: 0; }
  .solar-primary figcaption { grid-template-columns: 1fr; gap: .65rem; }
  .solar-secondary { grid-template-columns: 1fr; }
  .aurora-search-control { display: grid; grid-template-columns: 1fr; }
  .aurora-search-control > button { width: 100%; }
  .l1-journey { grid-template-columns: auto 1fr auto; padding: .8rem; }
  .journey-sun i { width: 50px; height: 50px; }
  .journey-earth i { width: 44px; height: 44px; }
  .journey-stream > span { display: none; }
  .forecast-bars { gap: .2rem; }
  .forecast-day-bars i { width: 40%; }
  .aurora-local > strong { font-size: 4rem; }
  .magnetosphere-visual { min-height: 260px; }
  .magnetosphere-annotations { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .space-orbit b,
  .space-orbit i,
  .solar-scan,
  .journey-stream b,
  .field-lines path,
  .solar-particles path { animation: none !important; }
}
