/* ==========================================================================
   Rotorcast's pages on the app page kit (15 October 2026).

   The app's Headroom look: SF Pro at standard width, the twilight violet, and its verdict
   colours (Go, Marginal, No-go, Night) from Shared/Theme. Every drawn screen is rebuilt from
   the SwiftUI with the -demoData forecast at Kestrel Down, 09:41 on Wednesday 14 October 2026,
   judged by the app's own engine. Drawn objects are sized from their own width: --u is one
   unit of their design grid (set where each object starts).
   ========================================================================== */

.k-rotorcast {
  --k-bg: #FFFFFF;
  --k-bg-2: #F1EAF6;              /* the App Store screenshots' pale violet */
  --k-ink: #1C1C1E;
  --k-ink-2: #55525E;
  --k-accent: #813FAA;            /* twilight violet, the app's tint */
  --k-accent-ink: #FFFFFF;
  --k-card: #FFFFFF;
  --k-line: rgba(40, 24, 60, .12);
  --k-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", system-ui, "Segoe UI", Roboto, sans-serif;
  --k-text: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", Roboto, sans-serif;

  --rc-deep: #1A1124;             /* twilight */
  --rc-deep-2: #251832;
  --rc-violet-l: #BE8CE1;         /* the tint in dark mode */
  --rc-go: #34C759; --rc-go-t: #1E7F3A;
  --rc-marg: #FF9500; --rc-marg-t: #B25000;
  --rc-nogo: #FBB9B4; --rc-nogo-t: #D70015;
  --rc-night: #D1D1D6;
  --rc-go-d: #30D158; --rc-marg-d: #FF9F0A; --rc-nogo-d: #A63431; --rc-nogo-td: #FF6961; --rc-night-d: #3A3A3C;
}
.k-rotorcast main :where(h1, h2, h3) { font-weight: 700; letter-spacing: -0.022em; }
.k-rotorcast .k-h1 { font-size: clamp(44px, min(5vw, 8.4svh), 76px); line-height: 1.0; }
.k-rotorcast .k-eyebrow { color: var(--k-accent); }
.k-rotorcast .k-btn-primary { background: var(--k-accent); color: #fff; }
.k-rotorcast .k-btn-primary.k-soon::before { background: #fff; box-shadow: 0 0 0 3px rgba(255, 255, 255, .3); }
.v-go { color: var(--rc-go-t); } .v-marg { color: var(--rc-marg-t); } .v-nogo { color: var(--rc-nogo-t); } .v-night { color: #6E6A76; }

/* Deep grounds: the wind band, the widget band, the close */
.rc-deepground { background: var(--rc-deep); color: #EDE8F3; --k-ink: #FFFFFF; --k-ink-2: #C9C0D4; --k-line: rgba(255,255,255,.16); }
.rc-deepground .k-eyebrow { color: var(--rc-violet-l); }

/* Bands fill a screen on a desktop, with their visual first */
@media (min-width: 900px) {
  .k-rotorcast .rc-forecast, .k-rotorcast .rc-height, .k-rotorcast .rc-widget { padding: 72px 0; }
  .k-rotorcast .k-scene.k-section { padding: 0; }
  .rc-forecast .k-band-grid, .rc-height .k-band-grid, .rc-widget .k-band-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .rc-band-copy { order: 2; }
}
@media (max-width: 899px) {
  .k-rotorcast .k-band.k-section, .k-rotorcast .k-section:not(.k-scene) { padding: 72px 0; }
  .k-rotorcast .k-scene.k-section { padding: 0; }
  html:not(.k-motion) .k-rotorcast .k-scene.k-section { padding: 56px 0; }
}

/* ---------- Hero: a short headline over the ten-day board ---------- */
.rc-hero-run { position: relative; background: var(--k-bg-2); overflow-x: clip; }
.rc-price { font-size: 17px; color: var(--k-ink); max-width: 44ch; }
.rc-price b { font-weight: 600; }
@media (min-width: 900px) {
  .rc-hero { padding: 100px 0 26px; }
  .rc-hero .k-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .rc-hero .k-hero-copy { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px clamp(32px, 4vw, 64px); align-items: end; }
  .rc-hero .k-hero-copy > * + * { margin-top: 0; }
  .rc-hero .k-hero-head > * + * { margin-top: 14px; }
  .rc-hero .k-hero-more > * + * { margin-top: 12px; }
  .rc-hero .k-h1 { font-size: clamp(44px, min(5vw, 8svh), 72px); }
  .rc-hero .k-lead { max-width: none; font-size: 17px; line-height: 1.45; }
  .rc-hero .rc-price { max-width: none; font-size: 16px; }
  .rc-hero .k-meta { font-size: 14px; }
  .rc-hero .k-actions { flex-wrap: nowrap; }
}
@media (min-width: 900px) and (min-height: 820px) {   /* Kit.pinHero */
  html.k-motion .rc-hero-run { height: 190svh; }
  html.k-motion .rc-hero-run > .rc-hero { position: sticky; top: 0; height: 100svh; min-height: 0; overflow: hidden; }
}

/* The board: 1u = 1/1150 of its width on a desktop, 1/360 on a phone */
.rc-board-wrap { container-type: inline-size; min-width: 0; }
.rc-board { --u: calc(100cqw / 1150); font-size: calc(15 * var(--u)); position: relative; margin: 0; color: #F2EEF6;
  background: var(--rc-deep); border-radius: calc(30 * var(--u)); padding: calc(20 * var(--u)) calc(26 * var(--u)) calc(22 * var(--u));
  box-shadow: 0 1px 0 rgba(255,255,255,.08) inset, 0 50px 90px -40px rgba(38, 14, 64, .55), 0 18px 40px -22px rgba(26, 17, 36, .5); }
.rc-board-head { display: flex; align-items: center; justify-content: space-between; gap: calc(16 * var(--u)); }
.rc-board-place > b { display: block; font: 700 calc(24 * var(--u))/1.1 var(--k-display); letter-spacing: -0.01em; }
.rc-board-place > span { display: block; font: 500 calc(13.5 * var(--u))/1.3 var(--k-text); color: #B7AEC3; margin-top: calc(2 * var(--u)); }
.rc-board-key { text-align: right; }
.rc-key { display: flex; justify-content: flex-end; gap: calc(14 * var(--u)); font: 500 calc(13 * var(--u))/1 var(--k-text); color: #CFC7DA; }
.rc-key > span { display: inline-flex; align-items: center; gap: calc(6 * var(--u)); }
.rc-key i { width: calc(11 * var(--u)); height: calc(11 * var(--u)); border-radius: calc(3 * var(--u)); display: inline-block; }
.rc-key .go { background: var(--rc-go-d); } .rc-key .marg { background: var(--rc-marg-d); }
.rc-key .nogo { background: var(--rc-nogo-d); } .rc-key .night { background: var(--rc-night-d); }
.rc-key .none { background: transparent; box-shadow: inset 0 0 0 calc(1.3 * var(--u)) rgba(255,255,255,.35); }
.rc-legend { font: 500 calc(13 * var(--u))/1.3 var(--k-text) !important; color: #E9E4EF !important; margin-top: calc(7 * var(--u)) !important; }

.rc-judge { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr) auto; gap: calc(30 * var(--u)); align-items: end;
  margin: calc(16 * var(--u)) 0 calc(14 * var(--u)); padding: calc(14 * var(--u)) calc(20 * var(--u)); border-radius: calc(20 * var(--u)); background: var(--rc-deep-2); }
.rc-judge-for > span:first-child, .rc-limit > span, .rc-tally > span { display: block; font: 500 calc(13 * var(--u))/1.2 var(--k-text); color: #B7AEC3; }
.rc-presets { display: flex; gap: calc(8 * var(--u)); margin-top: calc(8 * var(--u)); }
.rc-presets b { font: 600 calc(16 * var(--u))/1 var(--k-text); padding: calc(9 * var(--u)) calc(13 * var(--u)); border-radius: 99px; color: #B7AEC3;
  box-shadow: inset 0 0 0 calc(1.5 * var(--u)) rgba(255,255,255,.18); white-space: nowrap; transition: background-color .25s ease, color .25s ease, box-shadow .25s ease; }
.rc-presets b.is-on { background: var(--rc-violet-l); color: var(--rc-deep); box-shadow: none; }
.rc-limit { min-width: 0; }
.rc-limit > b { display: block; font: 700 calc(32 * var(--u))/1.05 var(--k-display); color: #fff; margin-top: calc(4 * var(--u)); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; white-space: nowrap; }
.rc-track { position: relative; height: calc(6 * var(--u)); margin-top: calc(10 * var(--u)); border-radius: calc(6 * var(--u)); background: rgba(255,255,255,.12); }
.rc-track .rc-zone { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; border-radius: calc(6 * var(--u)); background: rgba(190, 140, 225, .6); transform-origin: 0 50%; }
.rc-track .rc-knobrail { position: absolute; inset: 0; }
.rc-track .rc-knob { position: absolute; top: 50%; left: 0; width: calc(16 * var(--u)); height: calc(16 * var(--u)); margin: calc(-8 * var(--u)) 0 0 calc(-8 * var(--u));
  border-radius: 50%; background: #fff; box-shadow: 0 0 0 calc(3 * var(--u)) var(--k-accent); }
.rc-tally { text-align: right; }
.rc-tally > b { display: block; font: 700 calc(46 * var(--u))/1 var(--k-display); color: var(--rc-go-d); margin-top: calc(4 * var(--u)); font-variant-numeric: tabular-nums; }

.rc-grid { --label: calc(96 * var(--u)); --best: calc(300 * var(--u)); }
.rc-axis { display: grid; grid-template-columns: var(--label) minmax(0, 1fr) var(--best); gap: calc(16 * var(--u)); margin-bottom: calc(6 * var(--u)); }
.rc-axis-h { display: grid; grid-template-columns: repeat(4, 1fr); font: 500 calc(12 * var(--u))/1 var(--k-text); color: #9F95AD; font-variant-numeric: tabular-nums; }
.rc-days { list-style: none; margin: 0; padding: 0; display: grid; gap: calc(5 * var(--u)); }
.rc-days > li { display: grid; grid-template-columns: var(--label) minmax(0, 1fr) var(--best); gap: calc(16 * var(--u)); align-items: center; }
.rc-day { font: 600 calc(15 * var(--u))/1.1 var(--k-text); color: #fff; }
.rc-best { font: 500 calc(15 * var(--u))/1.15 var(--k-text); color: #E9E4EF; font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; }
.rc-best .go { color: var(--rc-go-d); font-weight: 600; }
.rc-best .marg { color: var(--rc-marg-d); font-weight: 600; }
.rc-best .none { color: #A79DB6; }
.rc-strip { display: grid; grid-template-columns: repeat(24, 1fr); gap: calc(3 * var(--u)); }
.rc-strip i { height: calc(15 * var(--u)); border-radius: calc(4 * var(--u)); background: transparent; transition: background-color .22s ease; }
.rc-strip i.g { background: var(--rc-go-d); }
.rc-strip i.m { background: var(--rc-marg-d); }
.rc-strip i.x { background: var(--rc-nogo-d); }
.rc-strip i.n { background: var(--rc-night-d); }

@media (max-width: 899px) {
  .rc-hero .k-hero-grid { gap: 24px; }
  .rc-hero .k-h1 { font-size: clamp(40px, 11.4vw, 56px); }
  .rc-board-wrap { margin: 0 calc(var(--k-gutter) * -0.5); }
  .rc-board { --u: calc(100cqw / 360); border-radius: calc(24 * var(--u)); padding: calc(16 * var(--u)) calc(15 * var(--u)) calc(16 * var(--u)); }
  .rc-board-head { flex-direction: column; align-items: flex-start; gap: calc(8 * var(--u)); }
  .rc-board-place > b { font-size: calc(20 * var(--u)); }
  .rc-board-key { text-align: left; }
  .rc-key { justify-content: flex-start; gap: calc(11 * var(--u)); font-size: calc(12 * var(--u)); }
  .rc-legend { font-size: calc(12.5 * var(--u)) !important; margin-top: calc(6 * var(--u)) !important; }
  .rc-judge { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: calc(12 * var(--u)) calc(16 * var(--u)); padding: calc(12 * var(--u)) calc(13 * var(--u)); margin: calc(12 * var(--u)) 0 calc(10 * var(--u)); border-radius: calc(16 * var(--u)); }
  .rc-judge-for { grid-column: 1; grid-row: 1; }
  .rc-tally { grid-column: 2; grid-row: 1; }
  .rc-presets { flex-wrap: wrap; gap: calc(5 * var(--u)); }
  .rc-presets b { font-size: calc(12 * var(--u)); padding: calc(6 * var(--u)) calc(8 * var(--u)); }
  .rc-tally > b { font-size: calc(34 * var(--u)); }
  .rc-judge-for > span:first-child, .rc-limit > span, .rc-tally > span { font-size: calc(12 * var(--u)); }
  .rc-limit > b { font-size: calc(24 * var(--u)); }
  .rc-grid { --label: 0px; --best: 0px; }
  .rc-axis { display: block; }
  .rc-axis > span:not(.rc-axis-h) { display: none; }
  .rc-axis-h { font-size: calc(11 * var(--u)); }
  .rc-days { gap: calc(6 * var(--u)); }
  .rc-days > li { grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "day best" "strip strip"; gap: calc(3 * var(--u)) calc(8 * var(--u)); }
  .rc-day { grid-area: day; font-size: calc(13 * var(--u)); }
  .rc-best { grid-area: best; font-size: calc(13 * var(--u)); }
  .rc-strip { grid-area: strip; gap: calc(1.5 * var(--u)); }
  .rc-strip i { height: calc(8 * var(--u)); border-radius: calc(2 * var(--u)); }
}

/* ---------- Chapter 1: the Forecast (white band) ---------- */
.rc-forecast { background: #fff; }
.rc-fc { container-type: inline-size; min-width: 0; }
.rc-fc-card { --u: calc(100cqw / 640); background: #F2F2F7; border-radius: calc(32 * var(--u)); padding: calc(28 * var(--u)) calc(30 * var(--u)) calc(26 * var(--u));
  box-shadow: 0 0 0 1px var(--k-line), 0 40px 80px -46px rgba(60, 20, 90, .35); color: var(--k-ink); }
.rc-now-cap { font: 500 calc(16 * var(--u))/1 var(--k-text) !important; color: #8A8592; }
.rc-now-row { display: flex; align-items: flex-end; justify-content: space-between; gap: calc(12 * var(--u)); margin-top: calc(6 * var(--u)); }
.rc-now-word { font: 700 calc(84 * var(--u))/0.95 var(--k-display); color: var(--rc-go-t); letter-spacing: -0.02em; }
.rc-now-left { font: 500 calc(21 * var(--u))/1.2 var(--k-text); font-variant-numeric: tabular-nums; padding-bottom: calc(8 * var(--u)); }
.rc-now-sent { font: 500 calc(21 * var(--u))/1.3 var(--k-text) !important; margin-top: calc(10 * var(--u)) !important; }
.rc-now-figs { font: 400 calc(17 * var(--u))/1.45 var(--k-text) !important; color: #8A8592; margin-top: calc(6 * var(--u)) !important; font-variant-numeric: tabular-nums; }
.rc-chart { margin-top: calc(22 * var(--u)); border-radius: calc(24 * var(--u)); background: #fff; padding: calc(18 * var(--u)) calc(20 * var(--u)) calc(14 * var(--u)); }
.rc-chart-head { display: flex; justify-content: space-between; align-items: baseline; gap: calc(10 * var(--u)); }
.rc-chart-head > b { font: 700 calc(20 * var(--u))/1.2 var(--k-text); }
.rc-chart-head > span { font: 400 calc(15 * var(--u))/1.2 var(--k-text); color: #8A8592; }
.rc-plot { position: relative; margin-top: calc(6 * var(--u)); padding-top: calc(40 * var(--u)); }
.rc-plot svg { display: block; width: 100%; height: auto; overflow: visible; }
.rc-plot .lbl { font: 400 14px var(--k-text); fill: #8A8592; }
.rc-plot .lbl-b { font-weight: 600; fill: #55525E; }
.rc-rail { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; pointer-events: none; }
.rc-rule { position: absolute; top: calc(34 * var(--u)); bottom: calc(22 * var(--u)); left: 0; width: 2px; margin-left: -1px; background: #55525E; opacity: .6; }
.rc-callout { position: absolute; top: 0; left: 0; white-space: nowrap; background: #fff; border-radius: calc(12 * var(--u)); padding: calc(7 * var(--u)) calc(12 * var(--u));
  font: 500 calc(16 * var(--u))/1.2 var(--k-text); box-shadow: 0 0 0 1px rgba(0,0,0,.08), 0 8px 20px -8px rgba(0,0,0,.25); font-variant-numeric: tabular-nums; }
.rc-callout em { font-style: normal; font-weight: 600; }
@media (max-width: 899px) {
  .rc-fc-card { --u: calc(100cqw / 380); padding: calc(18 * var(--u)) calc(16 * var(--u)) calc(16 * var(--u)); border-radius: calc(22 * var(--u)); }
  .rc-now-word { font-size: calc(56 * var(--u)); }
  .rc-now-left, .rc-now-sent { font-size: calc(16 * var(--u)) !important; }
  .rc-now-figs { font-size: calc(14 * var(--u)) !important; }
  .rc-chart { padding: calc(13 * var(--u)) calc(12 * var(--u)) calc(10 * var(--u)); margin-top: calc(14 * var(--u)); }
  .rc-chart-head > b { font-size: calc(15 * var(--u)); }
  .rc-chart-head > span { font-size: calc(12 * var(--u)); }
  .rc-callout { font-size: calc(13 * var(--u)); }
  .rc-plot .lbl { font-size: 22px; }
}

/* ---------- Scenes ---------- */
.rc-hour { background: var(--k-bg-2); }
.rc-visual { position: relative; }
@media (min-width: 900px) {
  .k-scene:not(.k-flip) .rc-visual { justify-content: flex-end; }
  .k-scene.k-flip .rc-visual { justify-content: flex-start; }
}
.rc-side { position: absolute; z-index: 2; background: #fff; border-radius: 26px; padding: 22px 24px 20px;
  box-shadow: 0 0 0 1px var(--k-line), 0 30px 60px -30px rgba(40, 20, 70, .45); width: 330px; box-sizing: border-box; }
.rc-side-gauge { left: 0; top: 50%; transform: translateY(-36%); }
@media (max-width: 1180px) { .rc-side { width: 280px; padding: 18px 20px; } }
@media (max-width: 899px) { .rc-side { display: none; } }

/* The gusts gauge (drawn after Hour detail's LimitGauge: a track, the limit's tick, the value's dot) */
.rc-g-cap { font: 600 14px/1.2 var(--k-text) !important; color: var(--k-ink-2); }
.rc-g-big { font: 700 32px/1.1 var(--k-display) !important; margin-top: 6px !important; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rc-g-sub { font: 400 15px/1.35 var(--k-text) !important; color: var(--k-ink-2); margin-top: 4px !important; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rc-gauge { position: relative; height: 12px; margin: 22px 0 6px; border-radius: 6px; background: #E5E5EA; }
.rc-gz { position: absolute; top: 0; bottom: 0; transform-origin: 0 50%; }
.rc-gz.g { left: 0; width: 64%; background: var(--rc-go); border-radius: 6px 0 0 6px; }
.rc-gz.m { left: 64%; width: 16%; background: var(--rc-marg); }
.rc-gz.x { left: 80%; width: 20%; background: var(--rc-nogo); border-radius: 0 6px 6px 0; }
.rc-gauge .rc-tick { position: absolute; top: -6px; bottom: -6px; left: 0; width: 2px; margin-left: -1px; background: #8E8E93; }
.rc-gauge .rc-dotrail { position: absolute; inset: 0; transition: transform .3s ease; }
.rc-gauge { transition: opacity .25s ease; }
.rc-gauge .rc-tickrail { position: absolute; inset: 0; transition: transform .3s ease; }
.rc-gauge .rc-dot { position: absolute; top: 50%; left: 0; width: 18px; height: 18px; margin: -9px 0 0 -9px; border-radius: 50%; background: var(--dot, #D70015); box-shadow: 0 0 0 3px #fff, 0 1px 4px rgba(0,0,0,.25); transition: background-color .3s ease; }
.rc-gauge-marks { position: relative; height: 18px; font: 500 12.5px/1 var(--k-text); color: var(--k-ink-2); font-variant-numeric: tabular-nums; }
.rc-gauge-marks span { position: absolute; top: 4px; transform: translateX(-50%); transition: opacity .3s ease; }
.rc-strip-gauge { flex-direction: column; align-items: stretch !important; width: 100%; max-width: 340px; }
.rc-g-strip { font: 600 15px/1.2 var(--k-text) !important; color: var(--k-ink); }
.rc-strip-gauge .rc-gauge { margin: 10px 0 2px; height: 9px; }
.rc-strip-gauge .rc-gauge .rc-dot { width: 14px; height: 14px; margin: -7px 0 0 -7px; }
.rc-g-fac { font: 400 17px/1.3 var(--k-text) !important; margin-top: 14px !important; display: flex; justify-content: space-between; gap: 10px; }
.rc-g-fac b { font-weight: 600; }
.rc-g-fac span { font-weight: 600; }
.rc-g-fac .v-go { color: #8A8592; }
.rc-strip-factors { flex-direction: column; align-items: stretch !important; max-width: 360px; }
.rc-fchips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.rc-fchip { font: 600 13px/1 var(--k-text); padding: 7px 10px; border-radius: 99px; background: #fff; color: #8A8592; box-shadow: inset 0 0 0 1.5px var(--k-line); transition: background-color .25s ease, color .25s ease; }
.rc-fchip.is-on[data-v="nogo"] { background: #D70015; color: #fff; box-shadow: none; }
.rc-fchip.is-on[data-v="marg"] { background: #FF9500; color: #1C1C1E; box-shadow: none; }
.rc-fchip.is-on[data-v="go"] { background: #34C759; color: #0B3B19; box-shadow: none; }
.rc-strip-gauge .rc-g-cap, .rc-strip-gauge .rc-g-sub { display: none; }

/* Drawn screens inside the device: 1u = 1/402 of the screen (the iPhone's points) */
.rc-screen { position: absolute; inset: 0; container-type: inline-size; }
.rc-screen-in { --u: calc(100cqw / 402); font-size: calc(15 * var(--u)); position: absolute; inset: 0; }
.rc-device-html { background: #F2F2F7; }
.rc-sb { position: absolute; top: calc(16 * var(--u)); left: calc(46 * var(--u)); font: 600 calc(17 * var(--u))/1 var(--k-text) !important; color: #1C1C1E; }
/* The checklist, from ChecklistSheet */
.rc-cl .rc-screen-in { background: #F2F2F7; color: #1C1C1E; }
.rc-cl-bar { position: absolute; top: calc(62 * var(--u)); left: calc(16 * var(--u)); right: calc(16 * var(--u)); height: calc(46 * var(--u)); display: flex; align-items: center; justify-content: space-between; }
.rc-pill { font: 500 calc(17 * var(--u))/1 var(--k-text); padding: calc(13 * var(--u)) calc(16 * var(--u)); border-radius: 99px; background: #fff; color: var(--k-accent); box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.rc-pill-on { background: var(--k-accent); color: #fff; font-weight: 600; }
.rc-cl-title { text-align: center; }
.rc-cl-title b { display: block; font: 600 calc(17 * var(--u))/1.2 var(--k-text); }
.rc-cl-title span { display: block; font: 400 calc(13 * var(--u))/1.2 var(--k-text); color: #8A8592; }
.rc-cl-sec { font: 500 calc(15 * var(--u))/1 var(--k-text) !important; color: #6E6A76; margin: 0 calc(36 * var(--u)) calc(8 * var(--u)) !important; }
.rc-cl-sec[data-rc-count] { margin-top: calc(126 * var(--u)) !important; font-size: calc(17 * var(--u)) !important; font-variant-numeric: tabular-nums; }
.rc-cl-card { margin: 0 calc(16 * var(--u)) calc(26 * var(--u)); background: #fff; border-radius: calc(26 * var(--u)); padding: 0 calc(16 * var(--u)); }
.rc-cl-row { display: flex; align-items: center; gap: calc(14 * var(--u)); height: calc(54 * var(--u)); font: 400 calc(17 * var(--u))/1 var(--k-text) !important; border-bottom: 1px solid #E5E5EA; }
.rc-cl-row:last-child { border-bottom: 0; }
.rc-cl-row i { flex: none; position: relative; width: calc(27 * var(--u)); height: calc(27 * var(--u)); border-radius: 50%; box-shadow: inset 0 0 0 calc(2 * var(--u)) #8E8E93; transition: background-color .2s ease, box-shadow .2s ease; }
.rc-cl-row i::after { content: ""; position: absolute; left: calc(8 * var(--u)); top: calc(8 * var(--u)); width: calc(10 * var(--u)); height: calc(5 * var(--u)); border: solid #fff; border-width: 0 0 calc(2.5 * var(--u)) calc(2.5 * var(--u)); transform: rotate(-45deg); opacity: 0; transition: opacity .2s ease; }
.rc-cl-row.is-on i { background: var(--k-accent); box-shadow: none; }
.rc-cl-row.is-on i::after { opacity: 1; }
.rc-cl-links { padding: 0; }
.rc-cl-link { display: flex; justify-content: space-between; align-items: center; height: calc(52 * var(--u)); padding: 0 calc(18 * var(--u)) 0 calc(20 * var(--u)); font: 400 calc(17 * var(--u))/1 var(--k-text) !important; color: var(--k-accent); border-bottom: 1px solid #E5E5EA; border-radius: calc(26 * var(--u)); transition: background-color .2s ease; }
.rc-cl-link:last-child { border-bottom: 0; }
.rc-cl-link i { position: relative; width: calc(11 * var(--u)); height: calc(11 * var(--u)); border: solid #8E8E93; border-width: calc(1.6 * var(--u)) calc(1.6 * var(--u)) 0 0; }
.rc-cl-link i::after { content: ""; position: absolute; right: calc(-1.2 * var(--u)); top: calc(-1.6 * var(--u)); width: calc(15 * var(--u)); height: calc(1.6 * var(--u)); background: #8E8E93; transform-origin: 100% 50%; transform: rotate(-45deg); }
.rc-cl-link.is-pressed { background: #E5E5EA; }
.rc-cl-foot { font: 400 calc(13 * var(--u))/1.3 var(--k-text) !important; color: #6E6A76; margin: calc(-18 * var(--u)) calc(36 * var(--u)) 0 !important; }

/* ---------- Chapter 3: wind at height (deep band) ---------- */
.rc-quote { font: 500 17px/1.4 var(--k-text); color: #fff; border-left: 3px solid var(--rc-violet-l); padding-left: 14px; max-width: 40ch; }
.rc-wh { container-type: inline-size; min-width: 0; }
.rc-wh-card { --u: calc(100cqw / 640); border-radius: calc(32 * var(--u)); background: var(--rc-deep-2); padding: calc(24 * var(--u)) calc(26 * var(--u)) calc(22 * var(--u)); box-shadow: 0 1px 0 rgba(255,255,255,.07) inset; }
.rc-wh-head { display: flex; justify-content: space-between; align-items: baseline; gap: calc(10 * var(--u)); }
.rc-wh-head > b { font: 700 calc(20 * var(--u))/1.2 var(--k-text); color: #fff; }
.rc-wh-head > span { font: 400 calc(15 * var(--u))/1.2 var(--k-text); color: #B7AEC3; }
.rc-wh svg { display: block; width: 100%; height: auto; margin-top: calc(10 * var(--u)); overflow: visible; }
.rc-wh .lbl { font: 400 14px var(--k-text); fill: #A79DB6; }
.rc-wh .lbl-w { font: 600 15px var(--k-text); }
.rc-wh-alt { font: 600 calc(16 * var(--u))/1.2 var(--k-text) !important; color: #fff; margin-top: calc(12 * var(--u)) !important; font-variant-numeric: tabular-nums; }
.rc-wh-read { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(10 * var(--u)); margin-top: calc(10 * var(--u)); }
.rc-wh-read div { display: flex; flex-direction: column; justify-content: flex-end; border-radius: calc(16 * var(--u)); background: rgba(255,255,255,.06); padding: calc(12 * var(--u)) calc(14 * var(--u)); }
.rc-wh-read span { display: block; font: 500 calc(14 * var(--u))/1.2 var(--k-text); color: #B7AEC3; }
.rc-wh-read b { display: block; font: 700 calc(26 * var(--u))/1.15 var(--k-display); color: #fff; margin-top: calc(4 * var(--u)); font-variant-numeric: tabular-nums; white-space: nowrap; }
.rc-wh-read em { display: block; font: 600 calc(15 * var(--u))/1.2 var(--k-text); font-style: normal; margin-top: calc(3 * var(--u)); }
.rc-wh-read .v-go { color: var(--rc-go-d); } .rc-wh-read .v-marg { color: var(--rc-marg-d); } .rc-wh-read .v-nogo { color: var(--rc-nogo-td); }
@media (max-width: 899px) {
  .rc-wh-card { --u: calc(100cqw / 380); padding: calc(16 * var(--u)) calc(14 * var(--u)) calc(14 * var(--u)); border-radius: calc(22 * var(--u)); }
  .rc-wh-read { gap: calc(6 * var(--u)); }
  .rc-wh-read b { font-size: calc(19 * var(--u)); }
  .rc-wh-read span { font-size: calc(12 * var(--u)); }
  .rc-wh .lbl { font-size: 23px; }
  .rc-wh .lbl-w { font-size: 24px; }
}

/* ---------- Chapter 5: the widgets on the Home Screen (deep band) ---------- */
.rc-wd { container-type: inline-size; min-width: 0; }
.rc-wd-stage { --u: calc(100cqw / 640); max-width: 640px; margin: 0 auto; }
.rc-wd-status { display: flex; justify-content: space-between; align-items: center; padding: 0 calc(30 * var(--u)) calc(18 * var(--u)); }
.rc-wd-status > span:first-child { font: 600 calc(26 * var(--u))/1 var(--k-text); color: #fff; font-variant-numeric: tabular-nums; }
.rc-wd-sicons { display: flex; align-items: flex-end; gap: calc(4 * var(--u)); }
.rc-wd-sicons i { width: calc(5 * var(--u)); border-radius: 1px; background: #fff; }
.rc-wd-sicons i:nth-child(1) { height: calc(9 * var(--u)); } .rc-wd-sicons i:nth-child(2) { height: calc(13 * var(--u)); } .rc-wd-sicons i:nth-child(3) { height: calc(17 * var(--u)); }
.rc-wd-sicons b { margin-left: calc(10 * var(--u)); width: calc(36 * var(--u)); height: calc(17 * var(--u)); border-radius: calc(5 * var(--u)); background: #fff; }
.rc-wd-card { background: #fff; color: #1C1C1E; border-radius: calc(44 * var(--u)); padding: calc(30 * var(--u)) calc(34 * var(--u)) calc(26 * var(--u)); box-shadow: 0 40px 80px -40px rgba(0,0,0,.6); }
.rc-wd-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: calc(20 * var(--u)); }
.rc-wd-spot, .rc-wd-day { font: 600 calc(22 * var(--u))/1.2 var(--k-text) !important; color: #8A8592; }
.rc-wd-line, .rc-wd-win { font: 400 calc(26 * var(--u))/1.25 var(--k-text) !important; margin-top: calc(4 * var(--u)) !important; white-space: nowrap; font-variant-numeric: tabular-nums; }
.rc-wd-line b, .rc-wd-win b { font-weight: 600; color: var(--rc-go-t); }
.rc-wd-time { font: 700 calc(62 * var(--u))/1.05 var(--k-display) !important; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }
.rc-wd-tail { font: 400 calc(24 * var(--u))/1.25 var(--k-text) !important; color: #8A8592; margin-top: calc(4 * var(--u)) !important; }
.rc-wd-axis { position: relative; height: calc(22 * var(--u)); margin-top: calc(18 * var(--u)); font: 500 calc(20 * var(--u))/1 var(--k-text); color: #8A8592; font-variant-numeric: tabular-nums; }
.rc-wd-axis span { position: absolute; top: 0; transform: translateX(-50%); }
.rc-wd-axis span.is-day { font-weight: 600; color: #3A3A3C; }
.rc-wd-strip { display: grid; grid-template-columns: repeat(24, 1fr); gap: calc(3 * var(--u)); margin-top: calc(8 * var(--u)); }
.rc-wd-strip i { height: calc(16 * var(--u)); border-radius: calc(3 * var(--u)); background: transparent; transition: background-color .25s ease; }
.rc-wd-strip i.g { background: var(--rc-go); } .rc-wd-strip i.m { background: var(--rc-marg); }
.rc-wd-strip i.x { background: var(--rc-nogo); } .rc-wd-strip i.n { background: var(--rc-night); }
.rc-wd-foot { font: 400 calc(21 * var(--u))/1.2 var(--k-text) !important; color: #8A8592; margin-top: calc(16 * var(--u)) !important; }
.rc-wd-label { font: 500 calc(20 * var(--u))/1 var(--k-text) !important; color: rgba(255,255,255,.9); text-align: center; margin: calc(12 * var(--u)) 0 calc(22 * var(--u)) !important; }
.rc-wd-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: calc(40 * var(--u)); }
.rc-wd-card-s { aspect-ratio: 1; padding: calc(28 * var(--u)) calc(30 * var(--u)); display: flex; flex-direction: column; }
.rc-wd-card-s .rc-wd-foot { margin-top: auto !important; }
.rc-wd-card-s .rc-wd-time { font-size: calc(50 * var(--u)) !important; }
.rc-wd-card-s .rc-wd-line, .rc-wd-card-s .rc-wd-tail, .rc-wd-card-s .rc-wd-foot { font-size: calc(21 * var(--u)) !important; }
.rc-wd-small .rc-wd-label { margin-bottom: 0 !important; }
@media (max-width: 899px) {
  .rc-wd-stage { --u: calc(100cqw / 420); }
  .rc-wd-top { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: calc(14 * var(--u)); }
  .rc-wd-line, .rc-wd-win { font-size: calc(20 * var(--u)) !important; }
  .rc-wd-card { padding: calc(26 * var(--u)) calc(26 * var(--u)) calc(22 * var(--u)); }
  .rc-wh .lbl-w { font-size: 21px; }
}

/* ---------- Tiles ---------- */
.rc-tiles-sec .k-h2 { max-width: 18ch; }
.rc-tile-art { margin-top: auto; padding-top: 10px; }
.rc-art-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.rc-art-chips span { font: 500 15px/1 var(--k-text); padding: 10px 14px; border-radius: 99px; background: var(--k-bg-2); color: var(--k-ink); }
.rc-art-chips span.is-on { background: var(--k-accent); color: #fff; }
.rc-art-banner { font: 500 15px/1.3 var(--k-text); background: #F2F2F7; border-radius: 14px; padding: 12px 14px; color: #3A3A3C; }
.rc-art-hist { background: #F2F2F7; border-radius: 16px; padding: 12px 14px; }
.rc-art-hist b { display: block; font: 600 15px/1.3 var(--k-text); color: var(--k-ink); }
.rc-art-hist span { display: block; font: 400 14px/1.35 var(--k-text); color: #6E6A76; }
.k-rotorcast .k-tile { min-width: 0; }
.rc-art-file { font: 500 clamp(10px, 3.05vw, 13px)/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; background: #F2F2F7; border-radius: 12px; padding: 10px 10px; color: #3A3A3C; white-space: nowrap; }
.rc-art-file + .rc-art-file { margin-top: 6px; }
.k-tile p.rc-art-file { font-size: clamp(10px, 3.05vw, 13px); color: #3A3A3C; }
.rc-wide-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 22px; align-items: center; height: 100%; }
@media (max-width: 899px) {
  .rc-wide-grid { grid-template-columns: minmax(0, 1fr); }
  .k-rotorcast .k-tiles { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Questions on the pale ground, the close on twilight ---------- */
.rc-faq-sec { background: var(--k-bg-2); }
.rc-close { background: var(--rc-deep); color: #fff; --k-ink: #FFFFFF; --k-ink-2: #C9C0D4; --k-line: rgba(255,255,255,.2); }
.rc-close .k-lockup b { color: #fff; }
.rc-close .k-lockup span { color: #C9C0D4; }
.rc-close .k-h2 { max-width: 18ch; }
.rc-close .k-subnav { justify-content: center; margin-top: 40px; }
.rc-close .k-subnav a { color: #fff; }
.rc-close .k-subnav a[aria-current="page"] { background: #fff; color: var(--rc-deep); }
.rc-close .k-lead { margin: 20px auto 0; color: #C9C0D4; max-width: 44ch; }

/* Rails move by their own width: clip them to their parts, so nothing reaches past the screen */
.rc-judge, .rc-plot, .rc-side, .rc-strip-gauge { overflow-x: clip; }

/* Plans in the app's colours */
.k-rotorcast .k-plan.k-plus { background: var(--rc-deep); color: #fff; }
.k-rotorcast .k-plan.k-plus li::before { border-color: var(--rc-violet-l); }
.rc-plan-note { margin-top: 22px !important; color: var(--k-ink-2); font-size: 16px; max-width: 70ch; }

/* ---------- Child pages ---------- */
.k-rotorcast .k-sub-hero { background: var(--k-bg-2); }
.k-rotorcast .k-doc .k-faq summary { font-weight: 600; }
.rc-doc-grid { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 56px; align-items: start; }
.rc-toc { position: sticky; top: 110px; font-size: 15px; }
.rc-toc p { font: 600 13px/1 var(--k-text) !important; letter-spacing: .08em; text-transform: uppercase; color: var(--k-ink-2) !important; margin-bottom: 12px !important; }
.rc-toc ol { margin: 0 !important; padding-left: 1.3em !important; gap: 6px !important; }
.rc-toc a { color: var(--k-ink-2) !important; text-decoration: none; }
.rc-toc a:hover { color: var(--k-ink) !important; text-decoration: underline; }
.k-doc:has(.rc-doc-grid) .k-wrap, .k-doc:has(.rc-help-grid) .k-wrap { max-width: 1120px; }
.k-rotorcast .k-doc ul { list-style: disc; }
.k-rotorcast .k-doc ol { list-style: decimal; }
.k-rotorcast .k-doc li::marker { color: var(--k-ink-2); }
.rc-help-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; align-items: start; }
.rc-contact { background: var(--k-card); border-radius: 26px; padding: 28px; box-shadow: 0 0 0 1px var(--k-line); }
.rc-contact h2:first-child { margin-top: 0 !important; }
.k-doc .rc-faq-group { font-size: clamp(24px, 2.2vw, 30px) !important; margin-top: 44px !important; }
.k-doc .rc-faq > .rc-faq-group:first-child { margin-top: 0 !important; }
.k-doc .rc-faq details { border-bottom: 1px solid var(--k-line); }
.k-doc .rc-faq summary { cursor: pointer; padding: 18px 36px 18px 0; position: relative; font: 600 18px/1.35 var(--k-text); color: var(--k-ink); list-style: none; }
.k-doc .rc-faq summary::-webkit-details-marker { display: none; }
.k-doc .rc-faq summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font-size: 26px; font-weight: 300; color: var(--k-ink-2); }
.k-doc .rc-faq details[open] summary::after { content: "–"; }
.k-doc .rc-faq-a { padding: 0 0 18px; }
.k-doc .rc-faq-a p + p { margin-top: 10px; }
.k-doc .rc-links { display: flex; gap: 18px; margin-top: 18px !important; }
.em-ui { font-weight: 600; color: var(--k-ink); }
.k-rotorcast .k-doc :is(p, li) { overflow-wrap: break-word; }
.k-rotorcast .rc-legal p { overflow-wrap: anywhere; }
.k-doc .rc-links a { display: inline-flex; align-items: center; min-height: 44px; }
.k-doc .k-note h2 { margin-top: 0 !important; font-size: 22px !important; }
@media (max-width: 899px) {
  .rc-doc-grid, .rc-help-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .rc-toc { position: static; order: -1; }
  .k-rotorcast.k-child-page .k-doc { padding-bottom: 56px; }
  .rc-contact { padding: 22px 20px; }
}
