:root {
  color-scheme:light;
  --paper:#f3f3ed;
  --ink:#203d36;
  --muted:#6d786f;
  --orange:#d76d42;
  --line:#d7dcd2;
  --mono:ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --sans:Arial,Helvetica,sans-serif
}
* {
  box-sizing:border-box
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased
}
button,a {
  -webkit-tap-highlight-color:transparent
}
button {
  font:inherit
}
button:focus-visible,a:focus-visible {
  outline:3px solid var(--orange);
  outline-offset:5px
}
button[hidden],[hidden] {
  display:none!important
}
.page {
  width:min(1192px,calc(100% - 96px));
  margin:auto
}
.site-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:27px 0 25px;
  border-bottom:1px solid var(--line)
}
.wordmark {
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  color:var(--ink);
  flex:none
}
.wordmark-logo {
  display:block;
  width:212px;
  height:40px
}
.header-location {
  display:flex;
  align-items:center;
  gap:16px;
  font-family:var(--mono);
  font-size:11px
}
.airport-code {
  font-size:13px;
  letter-spacing:1px;
  border:1px solid #c3cbbf;
  padding:6px 8px;
  border-radius:3px
}
.location-name {
  color:var(--muted)
}
.section-nav {
  position:sticky;
  top:0;
  z-index:10;
  border-bottom:1px solid var(--line);
  background:var(--paper)
}
.section-nav-links {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:2px 15px;
  list-style:none;
  margin:0;
  padding:7px 0
}
.section-nav-links a {
  display:flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:8px 5px;
  border-radius:3px;
  color:var(--muted);
  font:11px/1.4 var(--mono);
  text-decoration:none;
  white-space:nowrap
}
.section-nav-links a:before {
  content:"";
  width:4px;
  height:4px;
  flex:none;
  border-radius:50%;
  background:transparent
}
.section-nav-links a:hover {
  color:var(--ink);
  background:#e5eadd
}
.section-nav-links a[aria-current="location"] {
  color:var(--ink)
}
.section-nav-links a[aria-current="location"]:before {
  background:var(--orange)
}
.section-nav-toggle {
  display:none;
  align-items:center;
  gap:10px;
  width:100%;
  min-height:52px;
  border:0;
  padding:12px 2px;
  background:transparent;
  color:var(--ink);
  text-align:left;
  font:11px/1.5 var(--mono);
  cursor:pointer
}
.section-nav-icon,.section-nav-chevron {
  width:18px;
  height:18px;
  flex:none;
  fill:none;
  stroke:currentColor;
  stroke-width:1.3;
  stroke-linecap:round;
  stroke-linejoin:round
}
.section-nav-current {
  margin-left:auto;
  color:var(--muted)
}
.section-nav[data-expanded="true"] .section-nav-chevron {
  transform:rotate(180deg)
}
#camera,#metar-sock,#weather,#taf-details,#night-flying,#camera-location,#why {
  scroll-margin-top:calc(var(--section-nav-height,53px) + 18px)
}
@media(max-width:760px) {
  .section-nav-links {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:2px 6px
  }
  .section-nav-links a {
    min-height:44px;
    padding:11px 10px
  }
  .section-nav-toggle {
    display:flex
  }
  .section-nav[data-ready="true"] .section-nav-links {
    position:absolute;
    top:100%;
    left:0;
    right:0;
    padding:8px;
    border:1px solid var(--line);
    border-top:0;
    border-radius:0 0 5px 5px;
    background:var(--paper);
    box-shadow:0 10px 18px #203d3612
  }
  .section-nav[data-ready="true"][data-expanded="false"] .section-nav-links {
    display:none
  }
}
.intro {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  padding:64px 0 41px
}
.eyebrow {
  margin:0 0 17px;
  font:11px var(--mono);
  text-transform:uppercase;
  letter-spacing:1.6px;
  display:flex;
  align-items:center;
  gap:10px
}
.small-cross {
  color:var(--orange);
  font-size:19px;
  line-height:12px;
  font-weight:normal
}
h1 {
  font-size:clamp(44px,6.5vw,76px);
  font-weight:500;
  letter-spacing:-3.8px;
  line-height:1.02;
  margin:0
}
.heading-dot {
  color:var(--orange)
}
.intro-note {
  margin:0 0 5px;
  color:var(--muted);
  font-size:14px;
  line-height:1.7
}
.camera {
  border:1px solid #bdc7bc;
  border-radius:7px;
  overflow:hidden;
  background:var(--paper);
  box-shadow:0 4px 10px #233b2c06
}
.camera-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:15px 20px;
  gap:10px
}
.camera-label {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:12px;
  font-weight:600
}
.camera-number {
  margin-left:1px;
  font:10px var(--mono);
  color:#859083
}
.camera-symbol {
  height:9px;
  width:13px;
  border:1.2px solid var(--ink);
  border-radius:2px;
  position:relative
}
.camera-symbol:after {
  content:"";
  position:absolute;
  left:12px;
  top:1px;
  width:4px;
  height:5px;
  background:var(--ink);
  clip-path:polygon(100% 0,100% 100%,0 75%,0 25%)
}
.stream-status {
  font:10px var(--mono);
  text-transform:uppercase;
  letter-spacing:1px;
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--muted)
}
.status-dot {
  width:6px;
  height:6px;
  display:inline-block;
  flex-shrink:0;
  border-radius:50%;
  background:#89928b
}
.stream-status[data-state="live"] {
  color:#427a48
}
.stream-status[data-state="live"] .status-dot {
  background:#64a35e;
  box-shadow:0 0 0 3px #64a35e16
}
.stream-status[data-state="test"] {
  color:#ad683e
}
.stream-status[data-state="test"] .status-dot {
  background:var(--orange)
}
.stream-status[data-state="timelapse"] {
  color:#aa5c36
}
.stream-status[data-state="timelapse"] .status-dot {
  background:var(--orange)
}
.stream-status[data-state="connecting"] .status-dot {
  animation:blink 1.5s ease-in-out infinite
}
.viewport {
  aspect-ratio:16/9;
  position:relative;
  background:#182c28;
  overflow:hidden;
  isolation:isolate
}
.viewport:before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 50% 45%,#29423a 0%,#192c27 70%);
  z-index:-2
}
.viewport:after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:linear-gradient(#b0c5ae06 1px,transparent 1px),linear-gradient(90deg,#b0c5ae06 1px,transparent 1px);
  background-size:48px 48px
}
.video {
  display:block;
  height:100%;
  width:100%;
  object-fit:contain;
  background:#15251f;
  opacity:0;
  transition:opacity .2s ease
}
.viewport[data-state="live"] .video,.viewport[data-state="test"] .video {
  opacity:1
}
.viewport[data-state="timelapse"] .video {
  opacity:1
}
.timelapse-video {
  position:absolute;
  inset:0;
  z-index:2;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#15251f
}
.timelapse-overlay {
  position:absolute;
  inset:0;
  z-index:3;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:16px 18px;
  color:#f3f3ed;
  background:linear-gradient(#071a2499,transparent 25%,transparent 75%,#071a24c9);
  pointer-events:none
}
.timelapse-overlay-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px
}
.timelapse-badge {
  margin:0;
  font:10px/1.7 var(--mono);
  letter-spacing:.3px
}
.return-live-button {
  flex-shrink:0;
  min-height:36px;
  margin-top:-5px;
  padding:7px 10px;
  border:1px solid #c8d7c36b;
  border-radius:3px;
  background:#15251fba;
  color:#f3f3ed;
  font:10px/1.5 var(--mono);
  cursor:pointer;
  pointer-events:auto
}
.return-live-button:hover {
  background:#2f493ee6
}
.return-live-button span {
  color:#f09b70;
  margin-left:6px
}
.timelapse-range {
  margin:0;
  font:10px/1.7 var(--mono);
  text-wrap:pretty
}
.timelapse-progress {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:3px;
  background:#c8d7c32b
}
.timelapse-progress span {
  display:block;
  width:0;
  height:100%;
  background:#e68a59;
  transition:width .2s linear
}
.timelapse-controls {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  padding:14px 20px;
  border-bottom:1px solid var(--line);
  background:#edf0e7
}
.timelapse-controls-label {
  margin-right:5px;
  font:9px/1.6 var(--mono);
  letter-spacing:.8px;
  text-transform:uppercase;
  color:var(--muted)
}
.timelapse-button {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  min-height:48px;
  padding:8px 11px;
  border:1px solid #b9c6b4;
  border-radius:4px;
  background:var(--paper);
  color:var(--ink);
  text-align:left;
  font:11px/1.4 var(--sans);
  cursor:pointer
}
.timelapse-button:hover,.timelapse-button[aria-pressed="true"] {
  border-color:#9fae96;
  background:#e2ead9
}
.timelapse-button:disabled {
  border-color:#d1d9ca;
  background:#edf0e7;
  color:#87927f;
  cursor:default
}
.timelapse-play {
  margin-left:8px;
  color:var(--orange);
  font-size:8px
}
.timelapse-button:disabled .timelapse-play {
  color:inherit
}
.timelapse-button-detail {
  color:var(--muted);
  font:9px/1.6 var(--mono)
}
.timelapse-status {
  flex:1;
  min-width:160px;
  margin:0 0 0 auto;
  color:var(--muted);
  text-align:right;
  font:10px/1.7 var(--sans)
}
.placeholder {
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:30px;
  text-align:center;
  color:#dee5d9
}
.placeholder-icon {
  width:60px;
  height:60px;
  margin-bottom:16px;
  color:#88a592
}
.placeholder-icon svg {
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.4;
  stroke-linejoin:round;
  stroke-linecap:round
}
.placeholder-sock {
  stroke:#c3906a
}
.placeholder-title {
  font-size:19px;
  font-weight:400;
  letter-spacing:-.2px;
  margin:0 0 10px
}
.placeholder-detail {
  font:11px/1.7 var(--mono);
  color:#9caea0;
  margin:0;
  max-width:360px
}
.retry-button {
  border:1px solid #748b78;
  background:transparent;
  color:#dce6d9;
  padding:9px 13px;
  border-radius:3px;
  font:11px var(--mono);
  cursor:pointer;
  margin-top:20px
}
.retry-button:hover {
  background:#dce6d90d
}
.retry-button span {
  margin-left:14px;
  color:#d89b73
}
.fullscreen-button {
  display:grid;
  place-items:center;
  flex-shrink:0;
  border:1px solid var(--line);
  border-radius:3px;
  background:transparent;
  color:var(--muted);
  width:26px;
  height:26px;
  padding:3px;
  cursor:pointer
}
.fullscreen-button:hover {
  background:#e6eade;
  color:var(--ink)
}
.fullscreen-button svg {
  height:19px;
  width:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.4;
  stroke-linecap:round
}
.sock-dispatch {
  padding:20px;
  border-top:1px solid var(--line);
  background:linear-gradient(100deg,#e7ecdf80,transparent)
}
.sock-dispatch-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px 18px
}
.sock-dispatch h2 {
  display:flex;
  align-items:center;
  gap:9px;
  margin:0;
  font:10px/1.6 var(--mono);
  letter-spacing:1px;
  text-transform:uppercase
}
.sock-dispatch h2 span {
  color:var(--orange);
  font-size:18px;
  line-height:1
}
.sock-dispatch-state {
  color:var(--muted);
  font:10px/1.6 var(--mono)
}
.sock-dispatch-line {
  margin:10px 0 0;
  min-height:1.5em;
  max-width:54ch;
  font-size:clamp(18px,2.5vw,24px);
  line-height:1.5;
  letter-spacing:-.35px;
  overflow-wrap:anywhere
}
.camera-caption {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:15px 20px;
  font:10px var(--mono);
  color:#69766b;
  letter-spacing:.3px
}
.camera-orientation {
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
  flex:1
}
@media(min-width:1101px) {
  .camera-caption:has(.metar-sock[data-source="test"]) .camera-orientation {
    align-self:flex-start;
    margin-top:36px
  }
  .camera-caption:has(.metar-sock[data-source="test"]) .fullscreen-button {
    align-self:flex-start;
    margin-top:60px
  }
}
.camera-compass {
  width:88px;
  height:88px;
  flex-shrink:0;
  overflow:visible
}
.camera-compass text {
  fill:var(--muted);
  font:15px var(--mono);
  text-anchor:middle;
  dominant-baseline:central
}
.camera-compass .compass-north {
  fill:var(--ink);
  font-weight:700
}
.compass-rim {
  fill:#e9ede3;
  stroke:#bdc9b7;
  stroke-width:1
}
.compass-ticks {
  fill:none;
  stroke:#82947c;
  stroke-width:1.4
}
.compass-minor-ticks {
  stroke:#b0bfaa;
  stroke-width:1
}
.compass-north-line {
  stroke:var(--ink)
}
.compass-view-line {
  fill:none;
  stroke:var(--orange);
  stroke-width:2.5
}
.compass-view-arrow {
  fill:var(--orange)
}
.compass-center {
  fill:var(--paper);
  stroke:var(--ink);
  stroke-width:1.5
}
.orientation-copy {
  min-width:0
}
.orientation-copy p {
  margin:0
}
.orientation-title {
  font-size:9px;
  letter-spacing:1px;
  text-transform:uppercase
}
.orientation-copy .orientation-facing {
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:4px 14px;
  margin-top:6px;
  color:var(--ink);
  font:12px/1.6 var(--sans);
  letter-spacing:0
}
.orientation-facing strong {
  font-weight:600
}
.orientation-bearings {
  display:inline-flex;
  flex-wrap:wrap;
  gap:0 5px;
  color:var(--muted);
  font:10px/1.8 var(--mono)
}
.orientation-bearings>span {
  white-space:nowrap
}
.orientation-copy .orientation-sides {
  display:flex;
  flex-wrap:wrap;
  gap:3px 18px;
  margin-top:4px;
  font-size:10px;
  line-height:1.6
}
.orientation-copy .orientation-key {
  margin-top:5px;
  color:var(--muted);
  font:10px/1.6 var(--sans);
  letter-spacing:0
}
.metar-sock {
  display:grid;
  grid-template-columns:minmax(160px,1fr) minmax(145px,.9fr);
  align-items:center;
  gap:16px;
  flex:1.35;
  min-width:0;
  margin:0;
  padding-left:22px;
  border-left:1px solid var(--line)
}
.metar-sock-stage {
  position:relative;
  display:block;
  width:100%;
  min-width:0;
  padding:0;
  aspect-ratio:3/2;
  overflow:hidden;
  border:1px solid #dce3d4;
  border-radius:5px;
  background:#e9ede3;
  color:inherit;
  appearance:none;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent
}
.metar-sock-stage:enabled:hover {
  border-color:#a0b28e
}
.metar-sock-stage:focus-visible {
  outline:3px solid var(--orange);
  outline-offset:3px
}
.metar-sock-stage:disabled {
  cursor:default
}
.metar-sock-stage:disabled .metar-sock-view-hint {
  display:none
}
.metar-sock-stage canvas {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%
}
.metar-sock-badge {
  position:absolute;
  left:9px;
  top:8px;
  font:8px var(--mono);
  text-transform:uppercase;
  letter-spacing:.6px;
  color:#7b8b76
}
.metar-sock-view-hint {
  position:absolute;
  left:7px;
  bottom:6px;
  padding:3px 5px;
  border-radius:3px;
  background:rgba(244,245,237,.86);
  color:#617158;
  font:8px/1.3 var(--mono);
  pointer-events:none
}
.metar-sock-copy {
  min-width:0;
  font:11px/1.6 var(--sans);
  letter-spacing:0
}
.metar-sock-copy p {
  margin:0
}
.metar-sock-copy .metar-sock-title {
  font:9px/1.7 var(--mono);
  text-transform:uppercase;
  letter-spacing:1px
}
.metar-sock-title:focus-visible {
  outline:3px solid var(--orange);
  outline-offset:4px
}
.metar-sock-copy .metar-sock-wind {
  margin-top:5px;
  color:var(--ink);
  font-weight:600
}
.metar-sock-time {
  display:inline-block;
  margin-top:4px;
  color:var(--muted);
  font:9px/1.6 var(--mono);
  text-underline-offset:3px;
  text-decoration-color:#a9b6a5
}
.metar-sock-controls {
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:8px
}
.metar-sock-controls button {
  padding:4px 6px;
  border:1px solid #bbc9b4;
  border-radius:3px;
  background:transparent;
  color:var(--ink);
  font:9px/1.4 var(--mono);
  cursor:pointer
}
.metar-sock-controls button:hover,.metar-sock-controls button[aria-pressed="true"] {
  background:#e4ebdc;
  border-color:#9caf91
}
.metar-sock-copy .metar-sock-note {
  margin-top:7px;
  color:var(--muted);
  font-size:9px;
  line-height:1.6
}
.metar-sock[data-state="stale"] canvas {
  filter:saturate(.3);
  opacity:.7
}
.metar-sock[data-source="test"] .metar-sock-stage {
  border-color:#ce9e73
}
.metar-sock[data-source="test"] .metar-sock-badge {
  color:#a1502d;
  font-weight:700
}
.sock-test-controls {
  grid-column:1/-1;
  min-width:0;
  margin:0;
  padding:12px;
  border:1px solid #ceac8c;
  border-radius:4px;
  background:#efeee3;
  font:10px/1.6 var(--mono);
  letter-spacing:0
}
.sock-test-controls legend {
  padding:0 5px;
  color:#9b5836
}
.sock-test-fields {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 16px
}
.sock-test-fields label {
  display:block;
  min-width:0;
  color:var(--muted)
}
.sock-test-fields output {
  float:right;
  margin-left:5px;
  color:var(--ink)
}
.sock-test-fields input,.sock-test-fields select {
  display:block;
  width:100%;
  margin:7px 0 0;
  accent-color:var(--orange)
}
.sock-test-fields input {
  cursor:pointer
}
.sock-test-fields select {
  padding:5px;
  border:1px solid #bdc7b5;
  border-radius:3px;
  background:var(--paper);
  color:var(--ink);
  font:10px var(--mono)
}
.sock-test-fields input[type="date"],.sock-test-fields input[type="time"],.sock-test-fields input[type="number"],.sock-test-clouds input,.sock-test-clouds select {
  box-sizing:border-box;
  min-width:0;
  padding:5px;
  border:1px solid #bdc7b5;
  border-radius:3px;
  background:var(--paper);
  color:var(--ink);
  font:10px var(--mono)
}
.sock-test-environment {
  margin-top:16px;
  padding-top:12px;
  border-top:1px solid #d7cabb
}
.sock-test-subheading {
  margin:0 0 5px;
  color:var(--ink);
  font-weight:600
}
.sock-test-help,.sock-test-sun-info {
  margin:5px 0 12px;
  color:var(--muted);
  font-size:9px
}
.sock-test-sun-info {
  margin-bottom:0;
  color:var(--ink)
}
.sock-test-comparison {
  margin:12px 0 5px
}
.sock-test-presets.sock-test-coverage-presets {
  margin-top:0
}
.sock-test-clouds {
  display:grid;
  grid-template-columns:minmax(35px,.6fr) minmax(0,1.5fr) minmax(0,1fr);
  align-items:center;
  gap:7px;
  margin-top:16px;
  color:var(--muted);
  font-size:9px
}
.sock-test-clouds input,.sock-test-clouds select {
  width:100%;
  padding:5px 3px
}
.sock-test-clouds input:focus-visible,.sock-test-clouds select:focus-visible {
  outline:3px solid var(--orange);
  outline-offset:3px
}
.sock-test-fields input:focus-visible,.sock-test-fields select:focus-visible {
  outline:3px solid var(--orange);
  outline-offset:3px
}
.sock-test-presets,.sock-test-actions {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:14px
}
.sock-test-controls button {
  padding:5px 8px;
  border:1px solid #bdc7b5;
  border-radius:3px;
  background:var(--paper);
  color:var(--ink);
  font:10px/1.5 var(--mono);
  cursor:pointer
}
.sock-test-controls button:hover,.sock-test-controls button[aria-pressed="true"] {
  border-color:#bc8c66;
  background:#eee0ce
}
.sock-test-actions {
  padding-top:12px;
  border-top:1px solid #d7cabb
}
.below-camera {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px 15px;
  margin-top:18px;
  font-size:12px;
  color:#738071
}
.below-camera p {
  margin:0
}
.location-jump {
  font:10px var(--mono);
  color:var(--muted);
  text-decoration-color:#a9b6a5;
  text-underline-offset:3px
}
.location-jump span {
  color:var(--orange);
  margin-left:5px
}
.location-jump:hover {
  color:var(--ink)
}
.night-flying {
  margin-top:48px;
  padding-top:30px;
  border-top:1px solid var(--line);
  scroll-margin-top:24px;
  --night-label-width:182px;
  --night-lane-gap:24px
}
.night-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px 24px
}
.night-heading .eyebrow {
  margin-bottom:12px;
  font-size:10px
}
.night-heading h2 {
  margin:0;
  font-size:30px;
  font-weight:500;
  letter-spacing:-.8px
}
.night-location {
  margin:0 0 2px;
  color:var(--muted);
  font:10px/1.8 var(--mono);
  text-align:right
}
.night-day-label {
  margin:25px 0 12px;
  color:var(--muted);
  font:11px/1.6 var(--mono)
}
.night-solar-cards {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px
}
.night-solar-card {
  display:flex;
  align-items:center;
  gap:18px;
  padding:21px 24px;
  border:1px solid var(--line);
  border-radius:5px;
  background:#e9ede330
}
.night-solar-icon {
  display:grid;
  place-items:center;
  flex:none;
  width:42px;
  height:42px;
  border:1px solid #d7ab83;
  border-radius:50%;
  color:var(--orange);
  font-size:27px;
  font-weight:400
}
.night-solar-card h3 {
  margin:0 0 5px;
  font:10px var(--mono);
  text-transform:uppercase;
  letter-spacing:1.1px
}
.night-solar-time {
  margin:0;
  font-size:clamp(21px,2.4vw,29px);
  font-weight:500;
  letter-spacing:-.7px;
  font-variant-numeric:tabular-nums
}
.night-solar-detail {
  margin:7px 0 0;
  color:var(--muted);
  font:10px/1.6 var(--mono)
}
.night-time-zone {
  font:11px var(--mono);
  letter-spacing:0;
  color:var(--muted)
}
.night-timeline-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin:28px 0 23px
}
.night-timeline-heading h3 {
  margin:0 0 6px;
  font-size:15px;
  font-weight:500
}
.night-timeline-heading p {
  margin:0;
  font:10px/1.6 var(--mono);
  color:var(--muted)
}
.night-date-controls {
  display:flex;
  align-items:flex-end;
  flex-wrap:wrap;
  gap:5px;
  flex:none
}
.night-date-picker {
  display:grid;
  gap:5px;
  min-width:0;
  color:var(--muted);
  font:10px var(--mono)
}
.night-date-picker input {
  display:block;
  width:145px;
  min-width:0;
  height:33px;
  border:1px solid #c8d1c4;
  border-radius:3px;
  padding:5px 7px;
  background:var(--paper);
  color:var(--ink);
  font:11px var(--mono)
}
.night-date-picker input:focus-visible {
  outline:2px solid var(--orange);
  outline-offset:3px
}
.night-date-picker input::-webkit-calendar-picker-indicator { cursor:pointer }
.night-date-controls button {
  min-height:33px;
  min-width:33px;
  border:1px solid #c8d1c4;
  border-radius:3px;
  padding:6px 9px;
  background:transparent;
  color:var(--ink);
  cursor:pointer;
  font:10px var(--mono)
}
.night-date-controls button:hover:not(:disabled) {
  background:#e4e9df;
  border-color:#98ab94
}
.night-date-controls button:disabled {
  color:#8d978b;
  cursor:default
}
.night-timeline {
  position:relative;
  isolation:isolate
}
.night-axis-row,.night-lane {
  display:grid;
  grid-template-columns:var(--night-label-width) minmax(0,1fr);
  column-gap:var(--night-lane-gap);
  align-items:center
}
.night-axis-row {
  min-height:32px;
  align-items:start
}
.night-axis {
  position:relative;
  min-width:0;
  height:30px;
  border-bottom:1px solid var(--line)
}
.night-axis>span {
  position:absolute;
  top:0;
  transform:translateX(-50%);
  color:var(--muted);
  font:10px/1.3 var(--mono);
  white-space:nowrap;
  text-align:center
}
.night-axis>.night-axis-start {
  transform:none;
  text-align:left
}
.night-axis>.night-axis-end {
  transform:translateX(-100%);
  text-align:right
}
.night-axis small {
  display:block;
  font-size:8px
}
.night-lane {
  min-height:64px
}
.night-lane-label {
  min-width:0
}
.night-lane-label strong {
  display:block;
  font-size:12px;
  font-weight:500;
  line-height:1.4
}
.night-lane-label>span {
  display:block;
  margin-top:5px;
  font:9px/1.65 var(--mono);
  color:var(--muted)
}
.night-lane-label>.night-duration {
  display:inline-block;
  padding:1px 5px;
  border-radius:3px;
  background:#e5eadd;
  color:var(--ink);
  font:10px/1.5 var(--mono);
  font-variant-numeric:tabular-nums;
  white-space:nowrap
}
.night-lane-label>.night-duration+span { margin-top:4px }
.night-lane-label time {
  white-space:nowrap
}
.night-track {
  position:relative;
  touch-action:pan-y;
  height:20px;
  border-radius:3px;
  background:#e3e8dd;
  cursor:crosshair;
  overflow:hidden
}
.night-window-fill {
  position:absolute;
  top:0;
  height:100%;
  border-radius:2px;
  background:#c07b4e;
  box-shadow:inset 0 0 0 1px #203d3610
}
.night-glare-lane[data-glare-runway="06"] { --glare-color:#c88725 }
.night-glare-lane[data-glare-runway="24"] { --glare-color:#8264a6 }
.night-glare-lane .night-lane-label strong:before {
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin-right:6px;
  border-radius:2px;
  background:var(--glare-color)
}
.night-glare-segment {
  position:absolute;
  top:0;
  height:100%;
  background:var(--glare-color);
  opacity:.42
}
.night-glare-segment[data-level="2"] { opacity:.68 }
.night-glare-segment[data-level="3"] { opacity:.96 }
.night-glare-segment[data-weather-mode="partial-cloud"],
.night-glare-segment[data-weather-mode="cloud-muted"],
.night-glare-segment[data-weather-mode="obscured"] {
  background-image:repeating-linear-gradient(135deg,transparent 0 3px,#f3f3edaa 3px 5px)
}
.night-glare-key {
  display:flex;
  flex-wrap:wrap;
  gap:7px 18px;
  margin-top:19px;
  color:var(--muted);
  font:10px/1.7 var(--mono)
}
.night-glare-key strong { color:var(--ink); font-weight:500 }
.night-glare-pattern-key:before {
  content:"";
  display:inline-block;
  vertical-align:middle;
  width:17px;
  height:10px;
  margin-right:6px;
  border:1px solid #8a9585;
  background:repeating-linear-gradient(135deg,#8a9585 0 2px,transparent 2px 4px)
}
.night-glare-basis,.night-glare-method {
  color:var(--muted);
  font:10px/1.8 var(--mono);
  margin:9px 0 0
}
.night-glare-method a { color:var(--ink); text-underline-offset:3px }
.night-glare-inspection {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 20px;
  color:var(--muted);
  font:10px/1.7 var(--mono)
}
.night-glare-inspection p { margin:0 }
.night-glare-inspection strong { color:var(--ink); font-weight:500 }
.night-glare-context { grid-column:1/-1 }
@media(max-width:760px) {
  .night-glare-inspection { grid-template-columns:1fr }
}
[data-night-window="logging"] .night-window-fill {
  background:#82988a
}
[data-night-window="currency"] .night-window-fill {
  background:#244b40
}
.night-lane[data-active="true"] .night-lane-label strong:after {
  content:"";
  display:inline-block;
  width:5px;
  height:5px;
  margin:0 0 2px 6px;
  border-radius:50%;
  background:var(--orange)
}
.night-glare-lane[data-active="true"] .night-lane-label strong:after { display:none }
.night-glare-lane[data-active="true"] .night-lane-label strong:before {
  outline:1px solid var(--glare-color);
  outline-offset:2px
}
.night-markers {
  position:absolute;
  z-index:2;
  left:calc(var(--night-label-width) + var(--night-lane-gap));
  right:0;
  top:22px;
  bottom:10px;
  pointer-events:none
}
.night-now-marker,.night-inspect-marker {
  position:absolute;
  width:1px;
  height:100%;
  background:var(--ink)
}
.night-now-marker>span {
  position:absolute;
  bottom:-12px;
  left:4px;
  color:var(--ink);
  font:8px var(--mono)
}
.night-now-marker[data-edge="end"]>span {
  left:auto;
  right:4px
}
.night-inspect-marker {
  width:0;
  border-left:1px dashed var(--orange);
  background:transparent
}
.night-inspector {
  display:grid;
  grid-template-columns:var(--night-label-width) minmax(0,1fr);
  column-gap:var(--night-lane-gap);
  row-gap:8px;
  align-items:center;
  margin:18px 0 0
}
.night-inspector label {
  font:10px var(--mono);
  color:var(--muted)
}
.night-inspector input {
  width:100%;
  min-width:0;
  height:24px;
  margin:0;
  accent-color:var(--ink);
  cursor:ew-resize
}
.night-inspector input:focus-visible {
  outline:2px solid var(--orange);
  outline-offset:3px
}
.night-inspector output {
  grid-column:2;
  min-height:32px;
  color:var(--muted);
  font:10px/1.6 var(--mono)
}
.night-live-status {
  margin:18px 0 12px;
  padding:11px 13px;
  border-left:2px solid var(--orange);
  background:#e5eadd70;
  font:10px/1.8 var(--mono)
}
.night-timeline-note,.night-calculation-note {
  margin:12px 0 0;
  color:var(--muted);
  font:10px/1.8 var(--mono)
}
.night-definitions {
  display:grid;
  grid-template-columns:1fr 1fr 1.8fr;
  gap:23px;
  margin-top:22px;
  padding-top:17px;
  border-top:1px solid var(--line)
}
.night-definitions p {
  margin:0;
  color:var(--muted);
  font-size:11px;
  line-height:1.8
}
.night-definitions strong {
  color:var(--ink);
  font-weight:500
}
.night-definitions a,.night-calculation-note a {
  color:var(--ink);
  text-decoration-color:#a9b6a5;
  text-underline-offset:3px
}
.night-definitions a {
  white-space:nowrap;
  font:10px var(--mono)
}
@media(max-width:760px) {
  .night-flying {
    margin-top:36px;
    padding-top:24px;
    --night-label-width:126px;
    --night-lane-gap:14px
  }
  .night-heading {
    align-items:start;
    flex-direction:column;
    gap:12px
  }
  .night-heading h2 {
    font-size:27px
  }
  .night-location {
    text-align:left
  }
  .night-solar-card {
    gap:11px;
    padding:17px 14px
  }
  .night-solar-icon {
    width:31px;
    height:31px;
    font-size:21px
  }
  .night-solar-time {
    font-size:21px
  }
  .night-definitions {
    grid-template-columns:1fr;
    gap:12px
  }
  .night-timeline-heading {
    flex-wrap:wrap;
    gap:12px
  }
}
@media(max-width:480px) {
  .night-date-controls {
    display:grid;
    grid-template-columns:33px minmax(0,1fr) 33px;
    width:100%;
    align-items:end;
    row-gap:8px
  }
  .night-date-picker input {
    width:100%;
    height:38px;
    font-size:16px
  }
  .night-date-controls button { min-height:38px }
  #night-current {
    grid-column:1/-1;
    justify-self:end
  }
  .night-flying {
    --night-label-width:106px;
    --night-lane-gap:11px
  }
  .night-solar-cards {
    gap:9px
  }
  .night-solar-card {
    align-items:flex-start;
    gap:0;
    padding:16px 13px
  }
  .night-solar-icon {
    display:none
  }
  .night-solar-time {
    font-size:20px;
    line-height:1.4
  }
  .night-time-zone {
    display:block;
    margin-top:3px;
    font-size:9px
  }
  .night-solar-detail {
    font-size:9px
  }
  .night-lane {
    min-height:80px
  }
  .night-lane-label strong {
    font-size:11px
  }
  .night-lane-label>span {
    font-size:8px
  }
  .night-inspector {
    margin-top:15px
  }
  .night-inspector output {
    grid-column:1/-1;
    min-height:48px
  }
  .night-inspector label {
    font-size:9px
  }
}
.camera-location {
  margin-top:48px;
  padding-top:30px;
  border-top:1px solid var(--line);
  scroll-margin-top:24px
}
.location-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:18px 24px
}
.location-heading .eyebrow {
  margin-bottom:12px;
  font-size:10px
}
.camera-location h2 {
  margin:0;
  font-size:30px;
  font-weight:500;
  letter-spacing:-.8px
}
.location-fullsize {
  color:var(--muted);
  font:11px/1.7 var(--mono);
  text-decoration-color:#a9b6a5;
  text-underline-offset:3px
}
.location-fullsize span,.location-source a span {
  color:var(--orange)
}
.location-fullsize:hover,.location-source a:hover {
  color:var(--ink)
}
.location-figure {
  margin:24px 0 0
}
.location-map {
  display:block;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:7px;
  background:#e6eadd;
  cursor:zoom-in
}
.location-map:hover {
  border-color:#a6b69f
}
.location-map img {
  display:block;
  width:100%;
  height:auto
}
.location-caption {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:12px 32px;
  margin-top:16px;
  color:var(--muted);
  font-size:12px;
  line-height:1.8
}
.location-caption p {
  margin:0
}
.location-context .location-bearing {
  margin-top:7px
}
.location-caption strong {
  font-weight:500;
  color:var(--ink);
  white-space:nowrap
}
.location-caption .location-source {
  font-size:11px
}
.location-source a {
  color:inherit;
  text-decoration-color:#a9b6a5;
  text-underline-offset:3px
}
.location-caption .location-wind-note {
  grid-column:1/-1;
  padding:13px 16px;
  background:#e9ede3;
  border-left:2px solid var(--orange);
  border-radius:0 4px 4px 0
}
.location-note-label {
  display:block;
  margin-bottom:3px;
  color:var(--ink);
  font:10px/1.7 var(--mono);
  letter-spacing:.5px
}
.weather {
  margin-top:48px;
  border-top:1px solid var(--line);
  padding-top:30px
}
.weather-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px
}
.weather-heading .eyebrow {
  margin-bottom:12px;
  font-size:10px
}
.weather h2 {
  margin:0;
  font-size:30px;
  font-weight:500;
  letter-spacing:-.8px
}
.flight-category {
  border:1px solid #a8bba3;
  border-radius:3px;
  padding:7px 9px;
  color:#346c43;
  background:#e8eee3;
  font:11px var(--mono);
  letter-spacing:.7px
}
.flight-category[data-category="MVFR"] {
  color:#355c8a;
  border-color:#aabccf;
  background:#e6ebee
}
.flight-category[data-category="IFR"],.flight-category[data-category="LIFR"] {
  color:#93513e;
  border-color:#cbb2a5;
  background:#f0e6de
}
.weather-update-status {
  color:var(--muted);
  font-size:11px;
  line-height:1.6;
  margin:12px 0 22px
}
.weather[data-delayed="true"] .weather-update-status {
  color:#a25c36
}
.weather-report-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px 16px
}
.weather h3 {
  margin:0;
  font:11px var(--mono);
  letter-spacing:1px;
  text-transform:uppercase
}
.weather-age {
  font:11px var(--mono);
  color:var(--muted)
}
.weather-report-time,.weather-validity {
  margin:10px 0 0;
  font-size:12px;
  color:var(--muted);
  line-height:1.7
}
.weather-report-time time,.weather-validity time {
  color:var(--ink)
}
.weather-notice {
  margin:10px 0;
  font-size:12px;
  color:#a25c36;
  line-height:1.6
}
.weather-raw {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  font:11px/1.9 var(--mono);
  color:#46594a;
  background:#e9ede3;
  border:1px solid #dce2d5;
  border-radius:4px;
  padding:14px 16px;
  margin:16px 0 0
}
.weather-conditions {
  margin:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:28px
}
.weather-condition {
  padding:19px 0 16px;
  border-bottom:1px solid var(--line);
  min-width:0
}
.weather-condition dt {
  color:var(--muted);
  font:10px var(--mono);
  margin-bottom:8px;
  text-transform:uppercase;
  letter-spacing:.6px
}
.weather-condition dd {
  font-size:14px;
  line-height:1.6;
  margin:0;
  overflow-wrap:anywhere
}
.weather-condition-note {
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:11px;
  line-height:1.7
}
.weather-check {
  margin:12px 0 0;
  font:10px/1.7 var(--mono);
  color:var(--muted)
}
.weather-extras {
  margin-top:22px
}
.weather-extras h4,.forecast-period h4 {
  margin:0;
  font:11px var(--mono);
  letter-spacing:.6px;
  text-transform:uppercase
}
.weather-extras-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 28px;
  margin:8px 0 0
}
.weather-extras-list > div {
  padding:12px 0;
  border-bottom:1px solid var(--line);
  min-width:0
}
.weather-extras-list dt {
  color:var(--muted);
  font-size:12px;
  line-height:1.7
}
.weather-extras-list code {
  display:inline-block;
  font:10px/1.6 var(--mono);
  overflow-wrap:anywhere
}
.weather-extras-list dd {
  margin:5px 0 0;
  font-size:13px;
  line-height:1.7;
  overflow-wrap:anywhere
}
.runway-wind {
  margin-top:22px
}
.runway-wind h4 {
  margin:0;
  font:11px var(--mono);
  letter-spacing:.6px;
  text-transform:uppercase
}
.runway-wind-basis,.runway-wind-note {
  margin:8px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.7
}
.runway-wind-cards {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:800px;
  gap:14px;
  margin-top:12px
}
.runway-wind-card {
  min-width:0;
  padding:15px 17px;
  border:1px solid var(--line);
  border-radius:4px
}
.runway-wind-card[data-favored="true"] {
  border-color:#a6bea0;
  background:#e8eee3
}
.runway-wind-card-heading {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px 10px
}
.runway-wind-card h5 {
  margin:0;
  font:500 13px var(--mono)
}
.runway-wind-card[data-favored="true"] h5 {
  font-weight:700
}
.runway-wind-bearing {
  color:var(--muted);
  font:10px var(--mono)
}
.runway-wind-favored {
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#346c43;
  font:10px var(--mono);
  margin-left:auto
}
.runway-wind-favored:before {
  content:"";
  width:5px;
  height:5px;
  border-radius:50%;
  background:#4f8d54
}
.runway-wind-components {
  margin:13px 0 0
}
.runway-wind-components>div {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:3px 12px;
  margin-top:8px;
  font-size:11px;
  line-height:1.6
}
.runway-wind-components dt {
  color:var(--muted)
}
.runway-wind-components dd {
  margin:0;
  font-variant-numeric:tabular-nums
}
.runway-wind-components .runway-wind-primary {
  font-size:13px
}
.runway-wind-source {
  margin:8px 0 0;
  font:9px/1.8 var(--mono);
  color:var(--muted)
}
.runway-wind-source a {
  color:inherit;
  text-decoration-color:#a9b6a5;
  text-underline-offset:3px
}
.runway-wind-source a:hover {
  color:var(--ink)
}
.weather-forecast {
  margin-top:25px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.weather-forecast summary {
  display:flex;
  align-items:center;
  gap:10px 16px;
  padding:18px 0;
  cursor:pointer;
  list-style:none
}
.weather-forecast summary::-webkit-details-marker {
  display:none
}
.weather-forecast summary:before {
  content:"+";
  color:var(--orange);
  font:20px/1 var(--mono);
  width:14px;
  flex-shrink:0
}
.weather-forecast[open] summary:before {
  content:"−"
}
.weather-forecast summary:focus-visible {
  outline:3px solid var(--orange);
  outline-offset:4px
}
.forecast-summary-title {
  font-size:13px
}
.forecast-acronym {
  color:var(--muted);
  font:10px var(--mono);
  padding-left:5px
}
.forecast-summary-age {
  font:10px/1.6 var(--mono);
  color:var(--muted);
  margin-left:auto;
  text-align:right
}
.forecast-body {
  padding:0 0 20px 30px
}
.forecast-body .weather-report-time {
  margin-top:0
}
.forecast-body .weather-raw {
  line-height:2
}
.forecast-periods {
  display:grid;
  gap:16px;
  margin-top:18px
}
.forecast-period {
  min-width:0;
  padding:18px;
  border:1px solid var(--line);
  border-left:3px solid #829379;
  border-radius:4px
}
.forecast-period-time {
  margin:8px 0 0;
  font-size:12px;
  line-height:1.8
}
.weather-decode-note {
  margin:8px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.7
}
.forecast-period .weather-condition {
  padding:14px 0 10px
}
.forecast-period .weather-condition dd {
  font-size:13px
}
.weather-source {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px 20px;
  margin-top:16px;
  font:10px/1.8 var(--mono);
  color:var(--muted)
}
.weather-source a {
  color:var(--muted);
  text-decoration-color:#a9b6a5;
  text-underline-offset:3px
}
.weather-source a:hover {
  color:var(--ink)
}
.weather-source a span {
  color:var(--orange)
}
.why {
  margin-top:48px;
  padding-top:30px;
  border-top:1px solid var(--line);
  scroll-margin-top:24px
}
.why h2 {
  margin:0;
  font-size:30px;
  font-weight:500;
  letter-spacing:-.8px
}
.why-copy {
  margin-top:24px;
  font-size:15px;
  line-height:1.85
}
.why-copy p {
  margin:0 0 18px
}
.why-copy p:first-child {
  color:var(--muted)
}
.why-copy p:last-child {
  margin-bottom:0
}
.site-footer {
  margin-top:64px;
  padding:24px 0 28px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#7d877a;
  font:10px/1.6 var(--mono)
}
.site-footer>span:first-child {
  color:var(--ink)
}
.footer-notice {
  margin:0;
  max-width:72ch;
  text-align:right;
  color:var(--muted);
  font:11px/1.7 var(--sans)
}
.noscript-note {
  position:absolute;
  inset:auto 20px 15px;
  text-align:center;
  color:#fff;
  font-size:13px
}
.viewport:fullscreen {
  width:100vw;
  height:100vh;
  aspect-ratio:auto
}
.viewport:-webkit-full-screen {
  width:100vw;
  height:100vh;
  aspect-ratio:auto
}
@keyframes blink {
  50% {
    opacity:.35
  }
}
@media(min-width:1500px) {
  .intro {
    padding-top:76px
  }
}
@media(max-width:1100px) {
  .camera-caption {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto
  }
  .camera-caption .fullscreen-button {
    grid-column:2;
    grid-row:1
  }
  .metar-sock {
    grid-column:1/-1;
    grid-template-columns:minmax(180px,.9fr) minmax(0,1fr);
    padding:16px 0 0;
    border-left:0;
    border-top:1px solid var(--line)
  }
}
@media(max-width:760px) {
  .page {
    width:calc(100% - 40px)
  }
  .site-header {
    padding:21px 0
  }
  .wordmark-logo {
    width:190.8px;
    height:36px
  }
  .location-name {
    display:none
  }
  .intro {
    padding:41px 0 29px;
    gap:20px;
    align-items:flex-start;
    flex-direction:column
  }
  h1 {
    font-size:58px;
    letter-spacing:-2.9px
  }
  .eyebrow {
    font-size:9px;
    letter-spacing:1.2px;
    margin-bottom:15px
  }
  .intro-note {
    font-size:12px;
    line-height:1.6;
    margin:0
  }
  .intro-note br {
    display:none
  }
  .camera-toolbar,.camera-caption {
    padding:13px 14px
  }
  .timelapse-controls {
    padding:12px 14px;
    gap:9px
  }
  .sock-dispatch {
    padding:16px 14px
  }
  .sock-dispatch-line {
    min-height:3em
  }
  .timelapse-controls-label {
    flex-basis:100%
  }
  .timelapse-button {
    flex:1;
    min-width:0
  }
  .timelapse-status {
    flex-basis:100%;
    min-width:0;
    text-align:left
  }
  .timelapse-overlay {
    padding:11px 12px
  }
  .timelapse-badge,.timelapse-range {
    font-size:9px
  }
  .return-live-button {
    min-height:40px;
    max-width:105px;
    margin-top:0;
    font-size:9px
  }
  .camera-label {
    font-size:11px;
    gap:7px
  }
  .camera-number {
    font-size:9px
  }
  .stream-status {
    font-size:9px;
    letter-spacing:.6px
  }
  .placeholder {
    padding:24px
  }
  .placeholder-icon {
    width:45px;
    height:45px;
    margin-bottom:12px
  }
  .placeholder-title {
    font-size:16px
  }
  .placeholder-detail {
    font-size:10px
  }
  .camera-caption {
    font-size:9px;
    gap:8px
  }
  .camera-orientation {
    gap:12px
  }
  .camera-compass {
    width:72px;
    height:72px
  }
  .orientation-copy .orientation-facing {
    column-gap:10px
  }
  .orientation-bearings {
    flex-basis:100%;
    font-size:9px
  }
  .orientation-copy .orientation-sides {
    font-size:9px;
    gap:2px 10px
  }
  .orientation-copy .orientation-key {
    font-size:9px
  }
  .below-camera {
    font-size:11px;
    margin-top:14px
  }
  .camera-location {
    margin-top:34px;
    padding-top:25px
  }
  .camera-location h2 {
    font-size:26px
  }
  .location-heading {
    gap:14px
  }
  .location-figure {
    margin-top:18px
  }
  .location-caption {
    grid-template-columns:1fr;
    gap:9px;
    font-size:11px
  }
  .location-caption .location-source {
    font-size:10px
  }
  .weather {
    margin-top:34px;
    padding-top:25px
  }
  .weather h2 {
    font-size:26px
  }
  .weather-conditions {
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:20px
  }
  .weather-condition dd {
    font-size:13px
  }
  .weather-extras-list {
    grid-template-columns:1fr
  }
  .forecast-period {
    padding:14px
  }
  .forecast-period .weather-conditions {
    grid-template-columns:1fr
  }
  .runway-wind-cards {
    grid-template-columns:1fr;
    gap:10px
  }
  .runway-wind-card {
    padding:14px
  }
  .weather-forecast summary {
    flex-wrap:wrap
  }
  .forecast-summary-age {
    flex-basis:100%;
    text-align:left;
    margin:-3px 0 0 30px
  }
  .forecast-body {
    padding-left:0
  }
  .weather-raw {
    padding:12px;
    font-size:10px
  }
  .weather-source {
    font-size:9px
  }
  .why {
    margin-top:34px;
    padding-top:25px
  }
  .why h2 {
    font-size:26px
  }
  .why-copy {
    margin-top:18px
  }
  .site-footer {
    margin-top:42px;
    padding:20px 0;
    flex-wrap:wrap;
    gap:10px;
    font-size:9px
  }
  .footer-notice {
    flex-basis:100%;
    text-align:left
  }
}
@media(max-width:480px) {
  .metar-sock {
    grid-template-columns:minmax(0,1fr);
    gap:12px
  }
  .metar-sock-stage {
    aspect-ratio:2/1
  }
  .metar-sock-copy {
    font-size:12px
  }
  .metar-sock-controls button {
    padding:6px 9px;
    font-size:10px
  }
}
@media(max-width:360px) {
  .page {
    width:calc(100% - 28px)
  }
  h1 {
    font-size:50px
  }
  .camera-number {
    display:none
  }
  .camera-caption {
    font-size:8px
  }
  .placeholder-detail {
    font-size:9px
  }
}
@media(prefers-reduced-motion:reduce) {
  * {
    animation:none!important;
    transition:none!important
  }
}
