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

.radio-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: clamp(2rem, 7vw, 6.5rem);
  align-items: end;
  min-height: 390px;
  padding: 2.4rem clamp(0rem, 3vw, 2rem) 4.6rem;
  overflow: hidden;
}

.radio-hero::before {
  content: "RF";
  position: absolute;
  right: 23%;
  top: -2.6rem;
  color: rgba(50, 203, 255, .035);
  font-size: clamp(12rem, 28vw, 25rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.12em;
  pointer-events: none;
}

.radio-hero > div,
.radio-hero-status { position: relative; z-index: 1; }
.radio-hero h1 {
  max-width: 840px;
  margin: 1.15rem 0 1.4rem;
  font-size: clamp(4.1rem, 9.4vw, 8.8rem);
  line-height: .82;
  letter-spacing: -.08em;
}
.radio-hero h1 span {
  display: block;
  color: transparent;
  -webkit-text-stroke: 1px #71889c;
  text-stroke: 1px #71889c;
}
.radio-hero > div > p:last-child {
  max-width: 720px;
  margin: 0;
  color: #a9bfd2;
  font-size: 1.05rem;
  line-height: 1.75;
}

.radio-hero-status {
  min-height: 250px;
  padding: 2rem;
  border: 1px solid rgba(50, 203, 255, .3);
  border-radius: 1rem;
  background:
    radial-gradient(circle at 100% 0, rgba(50, 203, 255, .16), transparent 14rem),
    linear-gradient(150deg, rgba(8, 41, 65, .88), rgba(3, 12, 22, .94));
  box-shadow: 0 28px 70px rgba(0, 0, 0, .28);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.radio-live-dot {
  position: absolute;
  top: 1.45rem;
  right: 1.45rem;
  width: .72rem;
  height: .72rem;
  border-radius: 50%;
  background: #5de5b0;
  box-shadow: 0 0 0 .42rem rgba(93, 229, 176, .09), 0 0 24px rgba(93, 229, 176, .72);
}
.radio-hero-status small,
.radio-best-window small,
.radio-index-grid small,
.satellite-resource-grid small {
  color: #7e9ab0;
  font-family: "Courier New", monospace;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .13em;
}
.radio-hero-status strong {
  margin: .55rem 0 .8rem;
  color: #5de5b0;
  font-size: clamp(2.3rem, 4vw, 3.8rem);
  line-height: .95;
  letter-spacing: -.05em;
}
.radio-hero-status[data-condition="fair"] strong { color: #f5c86b; }
.radio-hero-status[data-condition="poor"] strong { color: #ff7588; }
.radio-hero-status p { margin: 0; color: #9db2c7; font-size: .8rem; line-height: 1.55; }

.radio-location-search {
  position: relative;
  z-index: 8;
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(320px, 1fr);
  gap: 1.4rem 2.5rem;
  align-items: end;
  margin: 0 0 1rem;
  padding: 1.5rem;
  border: 1px solid rgba(130, 196, 235, .2);
  border-radius: 1rem;
  background: rgba(5, 20, 34, .88);
}
.radio-location-search label { display: block; margin-bottom: .55rem; color: #dff8ff; font-size: .75rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.radio-location-search > div:first-child p { max-width: 550px; margin: 0; color: #7f9ab0; font-size: .78rem; line-height: 1.55; }
.radio-search-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .55rem; }
.radio-search-field { position: relative; }
.radio-search-field input {
  width: 100%;
  min-height: 50px;
  padding: 0 1rem;
  color: #effaff;
  border: 1px solid rgba(90, 174, 224, .34);
  border-radius: .72rem;
  outline: none;
  background: #061726;
  font: inherit;
}
.radio-search-field input:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(50, 203, 255, .08); }
.radio-search-controls button {
  min-height: 50px;
  padding: 0 1.35rem;
  color: #03101a;
  border: 0;
  border-radius: .72rem;
  background: var(--cyan);
  font: inherit;
  font-size: .77rem;
  font-weight: 900;
  cursor: pointer;
}
.radio-search-controls button:hover,
.radio-search-controls button:focus-visible { background: #75dcff; outline: none; }
.radio-suggestions {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + .35rem);
  z-index: 20;
  max-height: 270px;
  margin: 0;
  padding: .3rem;
  overflow-y: auto;
  list-style: none;
  border: 1px solid rgba(50, 203, 255, .38);
  border-radius: .7rem;
  background: #051522;
  box-shadow: 0 20px 55px rgba(0, 0, 0, .58);
}
.radio-suggestions li { margin: 0; }
.radio-suggestions button {
  display: block;
  width: 100%;
  min-height: auto;
  padding: .72rem .8rem;
  color: #d8edf8;
  border: 0;
  border-radius: .45rem;
  background: transparent;
  text-align: left;
  font-weight: 600;
}
.radio-suggestions button:hover,
.radio-suggestions button:focus-visible,
.radio-suggestions button[aria-selected="true"] { color: #03101a; background: var(--cyan); outline: none; }
.radio-suggestions small { display: block; margin-top: .2rem; color: inherit; opacity: .66; font-size: .63rem; }
.radio-search-feedback {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: .4rem 1rem;
  align-items: center;
  padding-top: .25rem;
  color: #7995aa;
  font-size: .68rem;
}
.radio-search-feedback strong { color: #d9f3ff; }
.radio-search-feedback #radio-grid { color: var(--cyan); font-family: "Courier New", monospace; }
.radio-search-feedback #radio-status { margin-left: auto; }
.radio-search-feedback #radio-status.is-error { color: #ff8796; }

.radio-jump-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .45rem;
  margin: 1rem 0 4.8rem;
}
.radio-jump-nav a {
  min-height: 68px;
  padding: .85rem;
  border: 1px solid rgba(130, 196, 235, .16);
  background: rgba(5, 20, 34, .62);
  color: #a7bfd1;
  font-size: .69rem;
  font-weight: 800;
  line-height: 1.35;
  border-radius: .6rem;
}
.radio-jump-nav a:first-child,
.radio-jump-nav a:last-child { border-radius: .6rem; }
.radio-jump-nav a:hover,
.radio-jump-nav a:focus-visible { color: #03101a; border-color: var(--cyan); background: var(--cyan); outline: none; }
.radio-jump-nav span { display: block; margin-bottom: .35rem; color: var(--cyan); font-family: "Courier New", monospace; font-size: .58rem; }
.radio-jump-nav a:hover span,
.radio-jump-nav a:focus-visible span { color: #03101a; }

.radio-section {
  position: relative;
  margin: 0 0 1rem;
  padding: clamp(1.4rem, 4vw, 3rem);
  overflow: hidden;
  border: 1px solid rgba(130, 196, 235, .2);
  border-radius: 1rem;
  background:
    linear-gradient(135deg, rgba(9, 31, 50, .94), rgba(3, 11, 20, .96));
}
.radio-section::before {
  content: "";
  position: absolute;
  width: 26rem;
  height: 26rem;
  right: -17rem;
  top: -17rem;
  border: 1px solid rgba(50, 203, 255, .1);
  border-radius: 50%;
  box-shadow: 0 0 0 5rem rgba(50, 203, 255, .018), 0 0 0 10rem rgba(50, 203, 255, .01);
}
.radio-section-heading {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr);
  gap: 2rem;
  align-items: end;
  margin-bottom: 2rem;
}
.radio-section-heading > div > span {
  color: var(--cyan);
  font-family: "Courier New", monospace;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .15em;
}
.radio-section-heading h2 {
  max-width: 720px;
  margin: .7rem 0 0;
  font-size: clamp(2.1rem, 4.3vw, 4rem);
  line-height: .98;
  letter-spacing: -.055em;
}
.radio-section-heading > p { margin: 0; color: #88a2b7; font-size: .78rem; line-height: 1.65; }
.radio-section-heading > p strong { color: #b9d1e1; }

.radio-best-window {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr .72fr;
  gap: 1px;
  margin-bottom: .75rem;
  overflow: hidden;
  border: 1px solid rgba(50, 203, 255, .19);
  border-radius: .75rem;
  background: rgba(50, 203, 255, .12);
}
.radio-best-window > div { min-height: 104px; padding: 1.15rem; background: rgba(3, 17, 29, .96); }
.radio-best-window strong { display: block; margin-top: .55rem; color: #eaf9ff; font-size: 1.15rem; line-height: 1.35; }

.hf-band-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
}
.hf-band-card {
  min-height: 235px;
  padding: 1.35rem;
  border: 1px solid rgba(130, 196, 235, .18);
  border-radius: .85rem;
  background: rgba(4, 18, 31, .84);
}
.hf-band-card > span { color: #7e9bb1; font-family: "Courier New", monospace; font-size: .68rem; letter-spacing: .1em; }
.hf-band-card > strong { display: block; margin: 2.35rem 0 2rem; color: #5de5b0; font-size: 1.75rem; letter-spacing: -.04em; }
.hf-band-card[data-condition="fair"] > strong { color: #f5c86b; }
.hf-band-card[data-condition="poor"] > strong { color: #ff7588; }
.hf-band-card dl { margin: 0; }
.hf-band-card dl div { display: flex; justify-content: space-between; gap: .7rem; padding: .6rem 0; border-top: 1px solid rgba(130, 196, 235, .14); }
.hf-band-card dt { color: #7590a6; font-size: .68rem; }
.hf-band-card dd { margin: 0; color: #d6ebf6; font-size: .7rem; font-weight: 800; }
.hf-band-card dd.is-good { color: #5de5b0; }
.hf-band-card dd.is-fair { color: #f5c86b; }
.hf-band-card dd.is-poor { color: #ff7588; }

.radio-activity-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: .85rem;
}
.band-activity-chart,
.activity-stats {
  min-height: 315px;
  margin: 0;
  padding: 1.35rem;
  border: 1px solid rgba(130, 196, 235, .18);
  border-radius: .85rem;
  background: rgba(4, 18, 31, .84);
}
.band-activity-chart { display: flex; flex-direction: column; justify-content: center; gap: .72rem; }
.radio-empty-state { margin: auto; color: #7792a8; font-size: .78rem; }
.band-activity-row { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr) 3.2rem; gap: .75rem; align-items: center; }
.band-activity-row > span { color: #cbe0ed; font-family: "Courier New", monospace; font-size: .68rem; }
.band-activity-row > i { height: .62rem; overflow: hidden; border-radius: .15rem; background: rgba(83, 130, 160, .14); }
.band-activity-row > i::before { content: ""; display: block; width: var(--activity); height: 100%; background: linear-gradient(90deg, #117fd5, #32cbff); box-shadow: 0 0 18px rgba(50, 203, 255, .4); }
.band-activity-row > strong { color: #e4f6ff; font-size: .72rem; text-align: right; }
.activity-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; padding: 0; overflow: hidden; background: rgba(50, 203, 255, .13); }
.activity-stats > div { padding: 1.2rem; background: #061523; }
.activity-stats dt { color: #7895aa; font-size: .64rem; line-height: 1.35; }
.activity-stats dd { margin: .6rem 0 0; color: #edfaff; font-size: clamp(1.2rem, 2.5vw, 2rem); font-weight: 900; letter-spacing: -.04em; }
.activity-stats > div:last-child dd { font-size: .82rem; line-height: 1.45; letter-spacing: 0; }
.radio-data-note { position: relative; z-index: 1; margin: 1rem 0 0; color: #708ca2; font-size: .67rem; line-height: 1.5; }

.radio-index-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .7rem;
}
.radio-index-grid article { min-height: 170px; padding: 1.2rem; border: 1px solid rgba(130, 196, 235, .18); border-radius: .8rem; background: rgba(4, 18, 31, .84); }
.radio-index-grid strong { display: block; margin: 1.45rem 0 .55rem; color: #effbff; font-size: clamp(2rem, 4vw, 3.4rem); line-height: .9; letter-spacing: -.055em; }
.radio-index-grid article > span { color: #708da3; font-size: .66rem; }
.noaa-scales {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr) minmax(220px, 1.3fr);
  gap: 1px;
  margin-top: .7rem;
  overflow: hidden;
  border: 1px solid rgba(130, 196, 235, .18);
  border-radius: .8rem;
  background: rgba(50, 203, 255, .13);
}
.noaa-scales > div,
.noaa-scales > p { min-height: 88px; margin: 0; padding: 1rem; background: #061523; }
.noaa-scales > div { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; gap: .1rem .6rem; align-items: center; }
.noaa-scales > div > span { grid-row: 1 / 3; color: var(--cyan); font: 900 1.75rem/1 "Courier New", monospace; }
.noaa-scales strong { color: #e8f9ff; font-size: .86rem; }
.noaa-scales small { color: #7893a8; font-size: .6rem; }
.noaa-scales > p { display: flex; align-items: center; color: #7893a8; font-size: .64rem; line-height: 1.5; }

.vhf-condition-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .7rem;
}
.vhf-condition-grid article { min-height: 112px; padding: 1rem; border: 1px solid rgba(130, 196, 235, .18); border-radius: .8rem; background: rgba(4, 18, 31, .84); display: flex; gap: 1rem; align-items: center; }
.vhf-icon { display: grid; place-items: center; flex: 0 0 58px; height: 58px; color: var(--cyan); border: 1px solid rgba(50, 203, 255, .34); background: rgba(50, 203, 255, .06); font: 800 .75rem/1 "Courier New", monospace; }
.vhf-condition-grid small { display: block; margin-bottom: .5rem; color: #7591a6; font-size: .6rem; letter-spacing: .08em; }
.vhf-condition-grid strong { color: #e4f7ff; font-size: 1rem; }
.vhf-condition-grid strong.is-good { color: #5de5b0; }
.vhf-condition-grid strong.is-closed { color: #f5c86b; }
.radio-inline-link { position: relative; z-index: 1; display: inline-block; margin-top: 1.25rem; color: var(--cyan); font-size: .72rem; font-weight: 800; }
.radio-inline-link:hover,
.radio-inline-link:focus-visible { text-decoration: underline; outline: none; }

.satellite-resource-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .7rem;
}
.satellite-resource-grid a { min-height: 260px; padding: 1.5rem; border: 1px solid rgba(130, 196, 235, .18); border-radius: .85rem; background: radial-gradient(circle at 100% 0, rgba(50, 203, 255, .11), transparent 15rem), rgba(4, 18, 31, .84); display: flex; flex-direction: column; }
.satellite-resource-grid a:hover,
.satellite-resource-grid a:focus-visible { border-color: var(--cyan); transform: translateY(-3px); outline: none; }
.satellite-resource-grid strong { margin: auto 0 .8rem; color: #effaff; font-size: clamp(1.7rem, 3.5vw, 3rem); letter-spacing: -.05em; }
.satellite-resource-grid p { max-width: 540px; margin: 0 0 1.2rem; color: #87a1b6; font-size: .76rem; line-height: 1.6; }
.satellite-resource-grid a > span { color: var(--cyan); font-size: .72rem; font-weight: 900; }

.radio-understand { background: radial-gradient(circle at 82% 30%, rgba(47, 90, 168, .2), transparent 25rem), linear-gradient(135deg, rgba(9, 31, 50, .94), rgba(3, 11, 20, .96)); }
.radio-explainer-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; overflow: hidden; border: 1px solid rgba(130, 196, 235, .17); border-radius: .8rem; background: rgba(50, 203, 255, .13); }
.radio-explainer-grid article { min-height: 160px; padding: 1.3rem; background: #061523; }
.radio-explainer-grid strong { color: #e9f9ff; font-size: 1rem; }
.radio-explainer-grid p { max-width: 540px; margin: .75rem 0 0; color: #849fb3; font-size: .74rem; line-height: 1.65; }

.radio-simulator-section {
  background: radial-gradient(circle at 88% 18%, rgba(50, 203, 255, .14), transparent 24rem), linear-gradient(135deg, rgba(9, 31, 50, .96), rgba(3, 11, 20, .97));
}
.propagation-simulator { position: relative; z-index: 1; }
.simulator-controls {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .7rem;
  padding: .85rem;
  border: 1px solid rgba(130, 196, 235, .18);
  border-radius: .85rem;
  background: rgba(3, 15, 26, .74);
}
.simulator-controls label { display: flex; min-width: 0; flex-direction: column; gap: .5rem; }
.simulator-controls label > span,
.simulator-reading small {
  color: #7f9cb1;
  font-family: "Courier New", monospace;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.simulator-controls select {
  width: 100%;
  min-height: 46px;
  padding: 0 2.2rem 0 .8rem;
  border: 1px solid rgba(130, 196, 235, .24);
  border-radius: .55rem;
  background: #071c2c;
  color: #e7f8ff;
  font: 700 .72rem/1.3 inherit;
}
.simulator-controls select:focus-visible,
.simulator-controls input:focus-visible { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(50, 203, 255, .1); outline: none; }
.simulator-hour { grid-column: 1 / -1; display: grid !important; grid-template-columns: 1fr auto; align-items: center; }
.simulator-hour output { color: #edfaff; font-size: .74rem; font-weight: 900; }
.simulator-hour input { grid-column: 1 / -1; width: 100%; accent-color: var(--cyan); cursor: pointer; }
.simulator-reading {
  display: grid;
  grid-template-columns: minmax(225px, .52fr) minmax(0, 1.48fr);
  gap: .7rem;
  margin-top: .7rem;
}
.simulator-reading > div:first-child,
.simulator-results {
  min-height: 245px;
  padding: 1.25rem;
  border: 1px solid rgba(130, 196, 235, .18);
  border-radius: .85rem;
  background: rgba(4, 18, 31, .86);
}
.simulator-reading > div:first-child { display: flex; flex-direction: column; justify-content: center; }
.simulator-reading > div:first-child strong { display: block; margin: .75rem 0; color: #61e8b4; font-size: clamp(1.9rem, 4vw, 3.5rem); line-height: .95; letter-spacing: -.055em; }
.simulator-reading > div:first-child p { margin: 0; color: #86a2b7; font-size: .72rem; line-height: 1.6; }
.simulator-results { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .55rem; padding: .75rem; }
.simulator-band {
  display: flex;
  min-height: 105px;
  flex-direction: column;
  justify-content: space-between;
  padding: .8rem;
  border: 1px solid rgba(130, 196, 235, .14);
  border-radius: .6rem;
  background: #061523;
}
.simulator-band > div { display: flex; justify-content: space-between; gap: .5rem; align-items: baseline; }
.simulator-band strong { color: #f2fbff; font-size: 1rem; }
.simulator-band span { color: #8ca6b8; font-size: .62rem; font-weight: 800; }
.simulator-band i { display: block; height: .42rem; overflow: hidden; border-radius: 1rem; background: rgba(98, 141, 166, .14); }
.simulator-band i::before { content: ""; display: block; width: var(--score); height: 100%; background: linear-gradient(90deg, #ef637a, #f5c86b 50%, #5de5b0); }
.simulator-band small { color: #718da2; font-size: .58rem; }
.simulator-band[data-rating="excellent"] span,
.simulator-band[data-rating="good"] span { color: #5de5b0; }
.simulator-band[data-rating="possible"] span { color: #f5c86b; }
.simulator-band[data-rating="poor"] span { color: #ff7588; }

.propagation-visualization {
  position: relative;
  z-index: 1;
  margin-top: 1.4rem;
  overflow: hidden;
  border: 1px solid rgba(130, 196, 235, .2);
  border-radius: .85rem;
  background: #04111d;
}
.propagation-map-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, .35fr);
  gap: 1.5rem;
  align-items: end;
  padding: 1.3rem;
  border-bottom: 1px solid rgba(130, 196, 235, .16);
}
.propagation-map-heading small { color: var(--cyan); font: 800 .62rem/1.2 "Courier New", monospace; letter-spacing: .1em; }
.propagation-map-heading h3 { margin: .45rem 0 .35rem; color: #effaff; font-size: clamp(1.45rem, 3vw, 2.3rem); letter-spacing: -.045em; }
.propagation-map-heading p { max-width: 700px; margin: 0; color: #83a0b5; font-size: .7rem; line-height: 1.55; }
.propagation-map-heading label { display: flex; flex-direction: column; gap: .45rem; }
.propagation-map-heading label span { color: #7f9cb1; font: 800 .6rem/1.2 "Courier New", monospace; letter-spacing: .08em; text-transform: uppercase; }
.propagation-map-heading select {
  min-height: 44px;
  padding: 0 2rem 0 .75rem;
  border: 1px solid rgba(130, 196, 235, .24);
  border-radius: .55rem;
  background: #071c2c;
  color: #e7f8ff;
  font: 700 .7rem/1.3 inherit;
}
.propagation-map-heading select:focus-visible { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(50, 203, 255, .1); outline: none; }
.propagation-map-toolbar { display: flex; min-height: 52px; justify-content: space-between; gap: 1rem; align-items: center; padding: .7rem 1rem; }
.propagation-map-toolbar strong { color: #e8f8ff; font-size: .72rem; }
.propagation-map-toolbar span { color: var(--cyan); font: 800 .62rem/1 "Courier New", monospace; }
.propagation-heatmap-frame { position: relative; aspect-ratio: 2 / 1; overflow: hidden; background: #06131f; }
.propagation-heatmap-frame img,
.propagation-heatmap-frame canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.propagation-heatmap-frame img { z-index: 1; }
.propagation-heatmap-frame canvas { z-index: 2; }
.propagation-heatmap-frame::after { content: ""; position: absolute; z-index: 3; inset: 0; pointer-events: none; box-shadow: inset 0 0 70px rgba(0, 0, 0, .48); }
.propagation-scale { display: grid; grid-template-columns: auto minmax(120px, 320px) auto; gap: .65rem; align-items: center; justify-content: center; padding: .9rem 1rem .35rem; }
.propagation-scale span { color: #9bb3c4; font: 800 .58rem/1 "Courier New", monospace; letter-spacing: .08em; }
.propagation-scale i { display: block; width: 100%; height: .58rem; border-radius: 1rem; background: linear-gradient(90deg, #ff3b30 0%, #ffd447 27%, #41d86f 52%, #18c8ff 76%, #2448d8 100%); box-shadow: 0 0 14px rgba(50, 203, 255, .2); }
.propagation-map-note { margin: 0; padding: .55rem 1rem 1rem; color: #718ea3; font-size: .62rem; line-height: 1.5; text-align: center; }

.radio-map-section { background: radial-gradient(circle at 50% 115%, rgba(28, 119, 184, .2), transparent 30rem), linear-gradient(135deg, rgba(9, 31, 50, .96), rgba(3, 11, 20, .98)); }
.reception-map-panel { position: relative; z-index: 1; overflow: hidden; border: 1px solid rgba(130, 196, 235, .2); border-radius: .85rem; background: #04111d; }
.reception-map-toolbar,
.reception-map-footer { display: flex; min-height: 58px; justify-content: space-between; gap: 1rem; align-items: center; padding: .8rem 1rem; }
.reception-map-toolbar { border-bottom: 1px solid rgba(130, 196, 235, .16); }
.reception-map-toolbar strong { color: #e7f8ff; font-size: .75rem; }
.reception-map-toolbar span { color: #7895aa; font-size: .64rem; }
.reception-map-frame { position: relative; aspect-ratio: 2 / 1; overflow: hidden; background: #06131f; }
.reception-map-frame::after { content: ""; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 60px rgba(0, 0, 0, .45); }
#reception-map { display: block; width: 100%; height: 100%; }
.reception-path { fill: none; stroke: var(--path-color); stroke-width: 2.2; stroke-linecap: round; opacity: .68; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 3px var(--path-color)); }
.reception-path:hover { stroke-width: 4; opacity: 1; }
.reception-endpoint { fill: var(--path-color); stroke: #eafaff; stroke-width: 1; vector-effect: non-scaling-stroke; }
.reception-location-ring { fill: rgba(50, 203, 255, .16); stroke: #32cbff; stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.reception-location-dot { fill: #eafaff; stroke: #32cbff; stroke-width: 2; vector-effect: non-scaling-stroke; }
.reception-map-footer { border-top: 1px solid rgba(130, 196, 235, .16); }
.reception-map-footer > div:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .6rem 1rem; }
.reception-map-footer a { color: var(--cyan); font-size: .66rem; font-weight: 800; }
.map-band-legend { display: flex; flex-wrap: wrap; gap: .45rem .8rem; }
.map-band-legend span { color: #8ca6b8; font-size: .6rem; white-space: nowrap; }
.map-band-legend i { display: inline-block; width: .48rem; height: .48rem; margin-right: .3rem; border-radius: 50%; background: var(--legend-color); box-shadow: 0 0 8px var(--legend-color); }

.iss-live-panel { position: relative; z-index: 1; margin-top: 1rem; overflow: hidden; border: 1px solid rgba(130, 196, 235, .2); border-radius: .85rem; background: #04111d; }
.iss-live-heading { display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; padding: 1.35rem; border-bottom: 1px solid rgba(130, 196, 235, .16); }
.iss-live-heading small { color: var(--cyan); font: 800 .62rem/1.2 "Courier New", monospace; letter-spacing: .1em; }
.iss-live-heading h3 { margin: .45rem 0 .35rem; color: #effaff; font-size: clamp(1.55rem, 3.4vw, 2.7rem); letter-spacing: -.05em; }
.iss-live-heading p { max-width: 720px; margin: 0; color: #83a0b5; font-size: .7rem; line-height: 1.55; }
.iss-live-badge { display: inline-flex; flex: 0 0 auto; gap: .45rem; align-items: center; padding: .55rem .75rem; border: 1px solid rgba(93, 229, 176, .28); border-radius: 2rem; color: #5de5b0; background: rgba(93, 229, 176, .06); font: 900 .6rem/1 "Courier New", monospace; letter-spacing: .08em; }
.iss-live-badge i { width: .48rem; height: .48rem; border-radius: 50%; background: #5de5b0; box-shadow: 0 0 12px #5de5b0; animation: iss-live-pulse 1.8s ease-in-out infinite; }
@keyframes iss-live-pulse { 50% { opacity: .35; transform: scale(.72); } }
.iss-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: rgba(50, 203, 255, .13); }
.iss-stat-grid > div { min-height: 86px; padding: 1rem; background: #061523; }
.iss-stat-grid small { display: block; color: #7895aa; font: 800 .58rem/1 "Courier New", monospace; letter-spacing: .08em; }
.iss-stat-grid strong { display: block; margin-top: .6rem; color: #eafaff; font-size: clamp(1rem, 2.3vw, 1.55rem); letter-spacing: -.03em; }
.iss-map-frame { position: relative; aspect-ratio: 2 / 1; overflow: hidden; background: #06131f; }
.iss-map-frame img,
.iss-map-frame canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.iss-map-frame img { z-index: 1; }
.iss-map-frame canvas { z-index: 2; }
.iss-map-frame::after { content: ""; position: absolute; z-index: 3; inset: 0; pointer-events: none; box-shadow: inset 0 0 60px rgba(0, 0, 0, .45); }
.iss-live-footer { display: flex; min-height: 66px; justify-content: space-between; gap: 1rem; align-items: center; padding: .8rem 1rem; border-top: 1px solid rgba(130, 196, 235, .16); }
.iss-live-footer > div { display: flex; flex-wrap: wrap; gap: .55rem 1rem; align-items: center; }
.iss-live-footer span,
.iss-live-footer strong { color: #8ca6b8; font-size: .62rem; }
.iss-live-footer i { display: inline-block; width: 1.5rem; height: .16rem; margin-right: .35rem; vertical-align: middle; }
.iss-track-past { background: #32cbff; }
.iss-track-future { border-top: 2px dashed #5de5b0; }
.iss-live-footer .iss-listening-location { width: .58rem; height: .58rem; border: 2px solid #ffd447; border-radius: 50%; background: rgba(255, 212, 71, .24); box-shadow: 0 0 8px rgba(255, 212, 71, .7); }
.iss-live-footer a { color: var(--cyan); font-size: .64rem; font-weight: 800; }

.radio-sources {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1.25rem 2rem;
  margin-top: 2rem;
  padding: 1.4rem;
  border-top: 1px solid rgba(130, 196, 235, .2);
  color: #7893a8;
  font-size: .66rem;
}
.radio-sources strong { color: #cfe5f1; }
.radio-sources p { margin: .35rem 0 0; line-height: 1.55; }
.radio-sources nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .7rem 1.15rem; }
.radio-sources a { color: var(--cyan); font-weight: 800; }
.radio-sources > p { grid-column: 1 / -1; }

@media (max-width: 1020px) {
  .radio-jump-nav { grid-template-columns: repeat(2, 1fr); }
  .radio-jump-nav a:first-child,
  .radio-jump-nav a:last-child { border-radius: .6rem; }
  .hf-band-grid { grid-template-columns: 1fr 1fr; }
  .radio-activity-layout { grid-template-columns: 1fr; }
  .band-activity-chart,
  .activity-stats { min-height: 270px; }
  .noaa-scales { grid-template-columns: repeat(3, 1fr); }
  .noaa-scales > p { grid-column: 1 / -1; min-height: auto; }
  .simulator-controls { grid-template-columns: 1fr 1fr; }
  .simulator-results { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 800px) {
  .radio-page-main { padding-top: 3rem; }
  .radio-hero { grid-template-columns: 1fr; min-height: 0; padding: 1.5rem 0 3.5rem; }
  .radio-hero::before { right: -3rem; top: 1rem; }
  .radio-hero-status { min-height: 210px; }
  .radio-location-search { grid-template-columns: 1fr; }
  .radio-search-feedback { grid-column: auto; }
  .radio-search-feedback #radio-status { width: 100%; margin-left: 0; }
  .radio-section-heading { grid-template-columns: 1fr; gap: .8rem; }
  .radio-best-window { grid-template-columns: 1fr; }
  .radio-index-grid { grid-template-columns: 1fr 1fr; }
  .simulator-reading { grid-template-columns: 1fr; }
  .simulator-reading > div:first-child { min-height: 190px; }
  .propagation-map-heading { grid-template-columns: 1fr; gap: 1rem; }
}

@media (max-width: 620px) {
  .radio-page-main { width: min(100% - 1rem, 1280px); }
  .radio-hero h1 { font-size: clamp(3.5rem, 20vw, 5.8rem); }
  .radio-location-search { padding: 1rem; }
  .radio-search-controls { grid-template-columns: 1fr; }
  .radio-jump-nav { grid-template-columns: 1fr 1fr; margin-bottom: 3rem; }
  .radio-section { padding: 1rem; border-radius: .8rem; }
  .hf-band-grid,
  .radio-index-grid,
  .vhf-condition-grid,
  .satellite-resource-grid,
  .radio-explainer-grid { grid-template-columns: 1fr; }
  .hf-band-card { min-height: 205px; }
  .activity-stats { grid-template-columns: 1fr; }
  .noaa-scales { grid-template-columns: 1fr; }
  .noaa-scales > p { grid-column: auto; }
  .radio-sources { grid-template-columns: 1fr; }
  .radio-sources nav { justify-content: flex-start; }
  .simulator-controls { grid-template-columns: 1fr; }
  .simulator-results { grid-template-columns: 1fr 1fr; }
  .reception-map-toolbar,
  .reception-map-footer { align-items: flex-start; flex-direction: column; }
  .reception-map-footer > div:last-child { justify-content: flex-start; }
  .propagation-map-toolbar { align-items: flex-start; flex-direction: column; }
  .propagation-scale { grid-template-columns: auto minmax(80px, 1fr) auto; }
  .iss-live-heading,
  .iss-live-footer { align-items: flex-start; flex-direction: column; }
  .iss-stat-grid { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .satellite-resource-grid a { transition: none; }
  .iss-live-badge i { animation: none; }
}
