/* ═══ Hyperfurion VK — obsidian glass, dune spice ═════════════════════════
   One stylesheet for the landing page and the comparison page. Obsidian
   carries the structure, spice marks the molten text and the one primary
   action, sand is what you read, consent gold is reserved for the Enter
   key and the words about it. Nothing on the page moves until you do. */

:root {
  color-scheme: dark;
  /* obsidian — the ground */
  --obsidian-0: #07060a; --obsidian-1: #0c0b11; --obsidian-2: #121018; --obsidian-3: #1a1720;
  --key-hi: #2b262f; --key-top: #201c25; --key-lo: #141118; --key-side: #060509;
  --plate: #0e0c12; --plate-edge: #26202a;
  /* glass */
  --glass: rgba(255,243,224,.04); --glass-2: rgba(255,243,224,.07);
  --glass-line: rgba(255,243,224,.10); --glass-line-2: rgba(255,243,224,.22); --glass-hi: rgba(255,243,224,.08);
  /* spice — the accent family, used sparingly */
  --cinnamon: #b4511f; --saffron: #e9a23b; --amber: #c7731e; --spice-deep: #6e2a10; --spice-glow: rgba(233,162,59,.22);
  /* sand — neutrals and text */
  --sand-50: #f3ead9; --sand-100: #e6d8c0; --sand-300: #c9b899; --sand-500: #9e8f74; --sand-700: #6b604f;
  /* semantic */
  --molten: var(--saffron); --molten-soft: rgba(233,162,59,.16);
  --repair: #d9552b; --repair-soft: rgba(217,85,43,.18);
  --frozen: var(--sand-50);
  --consent: #d9b86a; --consent-glow: rgba(217,184,106,.30);
  --live: #7fb58a; --rec: #e0542e;
  /* shape, rhythm, motion */
  --max: 1180px; --r-sm: 8px; --r-md: 14px; --r-lg: 22px; --r-pill: 999px;
  --u: clamp(23px, 2.45vw, 36px); --r-key: calc(var(--u) * .13);
  --d-1: 60ms; --d-2: 140ms; --d-3: 240ms; --d-4: 420ms;
  --ease-out: cubic-bezier(.2,.8,.2,1); --ease-spring: cubic-bezier(.34,1.56,.64,1);
  --serif: "Fraunces", "Fraunces-fallback", Georgia, "Times New Roman", serif;
  --mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --nav-h: 64px;
}
@media (max-width: 900px) { :root { --nav-h: 56px; --u: calc((100vw - 32px - 60px - 20px) / 16 * .95); } }

/* ─── base ─────────────────────────────────────────────────────────────── */
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--nav-h) + 12px); -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--obsidian-0); color: var(--sand-50); font: 17px/1.55 var(--sans); overflow-x: hidden; font-variant-numeric: tabular-nums; }
h1, h2, h3 { font-family: var(--serif); font-weight: 500; letter-spacing: -.02em; margin: 0 0 .4em; color: var(--sand-50); text-wrap: balance; }
h1 { font-size: clamp(42px, 5.6vw, 76px); line-height: .98; font-variation-settings: "opsz" 144, "wght" 560, "SOFT" 30; }
h1 em { font-style: italic; font-variation-settings: "opsz" 144, "wght" 440, "SOFT" 60;
  background: linear-gradient(100deg, var(--sand-100) 0%, var(--saffron) 55%, var(--cinnamon) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
h2 { font-size: clamp(28px, 3.4vw, 44px); line-height: 1.06; font-variation-settings: "opsz" 96, "wght" 540, "SOFT" 20; }
h3 { font-size: clamp(20px, 2vw, 26px); line-height: 1.15; font-variation-settings: "opsz" 40, "wght" 560; }
p { margin: 0 0 1em; }
a { color: var(--sand-100); text-decoration-color: var(--glass-line-2); text-underline-offset: 3px; }
a:hover { color: var(--saffron); }
code, kbd, pre { font-family: var(--mono); font-feature-settings: "zero" 1; }
code { font-size: .9em; color: var(--sand-100); background: var(--glass); border: 1px solid var(--glass-line); border-radius: 6px; padding: .05em .4em; }
/* a code block is one surface, not a pill per line */
pre code { font-size: inherit; color: inherit; background: none; border: 0; border-radius: 0; padding: 0; }
kbd { display: inline-block; font: 600 .78em/1 var(--mono); color: var(--sand-100); padding: .42em .6em .5em; margin: 0 2px;
  background: linear-gradient(165deg, var(--key-hi), var(--key-top) 45%, var(--key-lo)); border: 1px solid var(--plate-edge); border-radius: 6px;
  box-shadow: 0 2px 0 var(--key-side), inset 0 1px 0 var(--glass-hi); vertical-align: .15em; }
.wrap { width: min(var(--max), 100% - 32px); margin: 0 auto; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: 16px; top: -60px; z-index: 50; padding: 10px 14px; background: var(--obsidian-3); border-radius: var(--r-sm); }
.skip:focus { top: 12px; }
:focus-visible { outline: 2px solid var(--saffron); outline-offset: 3px; border-radius: 4px; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; font: 500 11px/1 var(--mono); letter-spacing: .14em; color: var(--sand-500); margin-bottom: 18px; }
.eyebrow.consent { color: var(--consent); }
.eyebrow .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--saffron); }
.eyebrow .dot.live { background: var(--live); }
.sigcap { font: 12px/1.6 var(--mono); letter-spacing: .02em; color: var(--sand-500); }
.muted { color: var(--sand-300); }
.lead { font-size: clamp(17px, 1.3vw, 19px); color: var(--sand-100); max-width: min(40ch, 100%); }

/* buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer;
  font: 600 15px/1 var(--sans); color: var(--sand-50); text-decoration: none; padding: 14px 22px 15px; border-radius: var(--r-md);
  background: linear-gradient(180deg, var(--obsidian-3), var(--obsidian-2)); border: 1px solid var(--glass-line-2);
  box-shadow: 0 3px 0 var(--key-side), inset 0 1px 0 var(--glass-hi); transition: transform var(--d-2) var(--ease-out), box-shadow var(--d-2) var(--ease-out); }
.btn:hover { color: var(--sand-50); border-color: var(--sand-700); }
.btn:active { transform: translateY(3px); box-shadow: 0 0 0 var(--key-side), inset 0 1px 0 var(--glass-hi); }
.btn.primary { color: #1a0d05; background: linear-gradient(180deg, var(--saffron), var(--amber) 70%, #a85f16); border-color: rgba(233,162,59,.6); box-shadow: 0 3px 0 var(--spice-deep); }
.btn.primary:active { box-shadow: 0 0 0 var(--spice-deep); }
.btn.small { font-size: 13px; padding: 9px 14px 10px; border-radius: 10px; box-shadow: 0 2px 0 var(--key-side); }
.btn.primary.small { box-shadow: 0 2px 0 var(--spice-deep); }
.btn.quiet { background: transparent; box-shadow: none; }
.btn:disabled { opacity: .5; cursor: default; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0 14px; }

/* ─── nav ──────────────────────────────────────────────────────────────── */
.nav { position: sticky; top: 0; z-index: 40; height: var(--nav-h); background: rgba(7,6,10,.92); border-bottom: 1px solid var(--glass-line); }
.nav-inner { display: flex; align-items: center; justify-content: space-between; height: 100%; }
.brand { display: inline-flex; align-items: center; gap: 12px; font: 600 17px var(--serif); color: var(--sand-50); text-decoration: none; letter-spacing: -.01em; }
.brand-key { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; font: 700 11px var(--mono); color: var(--sand-100);
  background: linear-gradient(165deg, var(--key-hi), var(--key-top) 45%, var(--key-lo)); border: 1px solid var(--plate-edge); box-shadow: 0 2px 0 var(--key-side), inset 0 1px 0 var(--glass-hi); }
.nav-links { display: flex; align-items: center; gap: 22px; font: 500 13px var(--mono); letter-spacing: .02em; }
.nav-links a { color: var(--sand-300); text-decoration: none; }
.nav-links a:hover { color: var(--sand-50); }
.nav-links .btn { color: #1a0d05; }
@media (max-width: 760px) { .nav-links a:not(.btn) { display: none; } .nav-links { gap: 14px; } }

/* ─── hero: copy beside a working instance ─────────────────────────────── */
.hero { padding: 48px 0 56px; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px; align-items: start; }
.hero-copy { padding-top: 28px; }
.hero-copy .hint { font: 13px/1.6 var(--mono); color: var(--sand-500); max-width: 42ch; }
.stage { display: grid; gap: 14px; min-width: 0; }
.stage > * { min-width: 0; }
.stage-note { margin: 0; }
.stage-note a { color: var(--sand-300); }
@media (max-width: 900px) {
  .hero { padding: 28px 0 56px; }
  .hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .hero-copy { padding-top: 0; }
  .hero-copy .hint { display: none; }
}

/* ─── the keyboard ─────────────────────────────────────────────────────── */
.stage-3d { perspective: 1400px; perspective-origin: 50% 0%; }
.board { position: relative; width: calc(var(--u) * 16 + 15 * 4px + 20px); margin: 0 auto; padding: 10px;
  transform-style: preserve-3d; transform-origin: 50% 0%; transform: rotateX(26deg); display: grid; gap: 4px; }
.plate { position: absolute; inset: 0; border-radius: calc(var(--r-key) + 8px); background: linear-gradient(160deg, #15121a, var(--plate) 50%, #0a090d); border: 1px solid var(--plate-edge);
  box-shadow: inset 0 1px 0 rgba(255,243,224,.06), 0 24px 40px -12px rgba(0,0,0,.8), 0 2px 0 var(--key-side), 0 14px 0 -6px #040306; transform: translateZ(-1px); }
.row { display: grid; grid-template-columns: repeat(64, 1fr); gap: 4px; height: var(--u); }
.row:first-child { height: calc(var(--u) * .78); margin-bottom: calc(var(--u) * .12); }
.gap { grid-column: span calc(var(--w) * 4); }
.key { position: relative; grid-column: span calc(var(--w) * 4); border-radius: var(--r-key);
  background: linear-gradient(165deg, var(--key-hi) 0%, var(--key-top) 45%, var(--key-lo) 100%);
  box-shadow: 0 5px 0 var(--key-side), 0 12px 14px -6px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,243,224,.07);
  transform: translateZ(8px); transition: transform var(--d-2) var(--ease-spring);
  display: flex; align-items: flex-end; padding: 0 0 calc(var(--u) * .14) calc(var(--u) * .16); }
.key.down { transform: translateZ(2px); transition: transform 50ms var(--ease-out); box-shadow: 0 1px 0 var(--key-side), 0 4px 8px -4px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,243,224,.05); }
.legend { font: 500 max(11px, calc(var(--u) * .3))/1 var(--mono); letter-spacing: .01em; color: var(--sand-50); transition: color var(--d-3); }
.key.down .legend { color: var(--saffron); transition: none; }
.key.down.repair .legend { color: var(--repair); }
.key.down.navkey .legend, .key.down.navkey .sub { color: var(--live); }
.key.mod .legend, .key.edit .legend, .key.consent .legend { font-size: max(9px, calc(var(--u) * .22)); color: var(--sand-300); }
.key .sub { position: absolute; right: calc(var(--u) * .14); top: calc(var(--u) * .14); font: 500 max(7px, calc(var(--u) * .16))/1 var(--mono); letter-spacing: .06em; color: var(--sand-500); }
.key.consent { box-shadow: 0 5px 0 var(--key-side), 0 12px 14px -6px rgba(0,0,0,.5), inset 0 0 0 1px var(--consent), inset 0 1px 0 rgba(255,243,224,.07);
  transition: transform var(--d-2) var(--ease-spring), box-shadow var(--d-4) var(--ease-out); }
.key.consent .legend, .key.consent .sub { color: var(--consent); }
.key.consent.ring { box-shadow: 0 5px 0 var(--key-side), 0 12px 14px -6px rgba(0,0,0,.5), inset 0 0 0 2px #fff7e8; transition: box-shadow 0s; }
@media (max-width: 640px) {
  .key[data-opt] .legend, .key .sub { display: none; }
  .key { padding: 0 0 calc(var(--u) * .1) calc(var(--u) * .12); }
}
/* the top row is the board's second child (the plate comes first) */
@media (max-width: 360px) { .key[data-opt] { display: none; } .plate + .row { display: none; } }
/* a phone: a one-unit key is narrower than "ctrl" at the legend size —
   smaller mod legends, a one-unit key's legend centered, nothing spills
   onto the next key */
@media (max-width: 480px) {
  .key { overflow: hidden; }
  .key.mod .legend, .key.edit .legend { font-size: min(8px, calc(var(--u) * .46)); letter-spacing: -.02em; }
  .key[data-code="ControlRight"], .key[data-code="Delete"] { justify-content: center; padding-left: 0; }
  .key[data-code="ControlRight"] .legend, .key[data-code="Delete"] .legend { font-size: min(7px, calc(var(--u) * .42)); letter-spacing: -.05em; }
}
@media (max-width: 640px) {
  .row:first-child .gap { display: none; }
  .key[data-code^="Arrow"] .legend, .key[data-code="PageUp"] .legend, .key[data-code="PageDown"] .legend, .key[data-code="Home"] .legend, .key[data-code="End"] .legend { font-size: 0; }
  .key[data-code^="Arrow"] .legend::after, .key[data-code="PageUp"] .legend::after, .key[data-code="PageDown"] .legend::after, .key[data-code="Home"] .legend::after, .key[data-code="End"] .legend::after { font: 500 max(8px, calc(var(--u) * .3))/1 var(--sans); color: var(--sand-300); }
  .key[data-code="ArrowLeft"] .legend::after { content: "\2190"; } .key[data-code="ArrowUp"] .legend::after { content: "\2191"; }
  .key[data-code="ArrowRight"] .legend::after { content: "\2192"; } .key[data-code="ArrowDown"] .legend::after { content: "\2193"; }
  .key[data-code="PageUp"] .legend::after { content: "\21E7"; } .key[data-code="PageDown"] .legend::after { content: "\21E9"; }
  .key[data-code="Home"] .legend::after { content: "\21E4"; } .key[data-code="End"] .legend::after { content: "\21E5"; }
}

/* ─── the focused window ───────────────────────────────────────────────── */
.fwin { display: grid; grid-template-rows: auto 1fr auto; background: var(--obsidian-1); border: 1px solid var(--glass-line); border-radius: var(--r-md);
  font-family: var(--mono); font-size: 14px; line-height: 1.5; color: var(--sand-100); contain: layout paint; height: 212px; }
.fwin-bar { display: flex; align-items: center; gap: 10px; padding: 9px 14px; border-bottom: 1px solid var(--glass-line); font-size: 12px; color: var(--sand-500); flex-wrap: wrap; }
.fwin-dots { display: inline-flex; gap: 5px; }
.fwin-dots i { width: 8px; height: 8px; border-radius: 50%; background: var(--glass-line-2); }
.fwin-title { color: var(--sand-100); }
.fwin-app::before { content: "— "; }
.fwin-tabs { display: flex; gap: 2px; margin-left: auto; }
.fwin-tabs [role=tab] { font: 500 11px/1 var(--mono); letter-spacing: .06em; color: var(--sand-500); background: transparent; border: 1px solid transparent; border-radius: var(--r-pill); padding: 5px 9px; cursor: pointer; }
.fwin-tabs [role=tab][aria-selected="true"] { color: var(--sand-50); background: var(--glass-2); border-color: var(--glass-line); }
.fwin-body { padding: 10px 16px 6px; overflow: hidden; min-height: 0; display: flex; flex-direction: column; justify-content: flex-end; }
.fwin-doc { white-space: pre-wrap; word-break: break-word; tab-size: 4; color: var(--sand-100); max-height: 100%; overflow: hidden; }
.fwin-doc .text { color: var(--frozen); }
.fwin-doc .sel { background: rgba(217,184,106,.28); color: var(--sand-50); box-shadow: 0 0 0 1px rgba(217,184,106,.35); border-radius: 2px; }
.fwin[data-register="terminal"] .prompt::before, .fwin[data-register="shell"] .prompt::before { content: "$ "; color: var(--live); }
.fwin[data-register="python"] .prompt::before { content: ">>> "; color: var(--sand-500); }
.frozen { color: var(--frozen); }
.molten { color: var(--molten); }
.molten.repair { color: var(--repair); }
.caret { display: inline-block; width: 2px; height: 1.1em; vertical-align: -.15em; margin-left: 1px; background: var(--saffron); }
.caret.moved { background: var(--live); }
.placeholder { color: var(--sand-700); margin-left: 8px; }
.fwin.typing .placeholder, .recording .placeholder, .autopilot .placeholder, .fwin.has-text .placeholder { display: none; }
.recording .caret { animation: blink 1.1s steps(1) infinite; }
.fwin-instr { font-size: 12px; color: var(--saffron); margin: 6px 0 0; }
.fwin-status { height: 34px; display: flex; align-items: center; padding: 0 14px; border-top: 1px solid var(--glass-line); font-size: 11px; color: var(--sand-500); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fwin-status .msg { min-width: 0; overflow: hidden; white-space: normal; line-height: 1.3; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
.fwin-status .yours { flex: none; white-space: nowrap; }
.fwin-status.live { color: var(--live); }
.fwin-status.sim { color: var(--saffron); }
.fwin-status.err { color: var(--rec); }
.fwin-status.consent { color: var(--consent); }
.fwin-status.nav { color: var(--live); }
.fwin-status .yours { color: var(--consent); margin-left: 10px; }
@keyframes blink { 50% { opacity: 0; } }

/* ─── stage bar: mic and controls ──────────────────────────────────────── */
.stage-bar { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.spacer { flex: 1; }
.mic { width: 56px; height: 56px; flex: none; border-radius: 50%; cursor: pointer; display: grid; place-items: center; color: var(--sand-50);
  background: linear-gradient(180deg, var(--obsidian-3), var(--obsidian-2)); border: 1px solid var(--glass-line-2);
  box-shadow: 0 4px 0 var(--key-side), inset 0 1px 0 var(--glass-hi); transition: transform var(--d-2) var(--ease-out), box-shadow var(--d-2); }
.mic svg { width: 22px; height: 22px; fill: currentColor; }
.mic:hover { border-color: var(--saffron); }
.mic:active { transform: translateY(3px); box-shadow: 0 1px 0 var(--key-side); }
.mic.live { color: #1a0d05; background: linear-gradient(180deg, var(--saffron), var(--amber)); border-color: var(--saffron); box-shadow: 0 4px 0 var(--spice-deep); }
.mic-cap { font: 600 15px/1.3 var(--sans); color: var(--sand-100); }
.recording .mic-cap { color: var(--live); }
.textbtn { font: 500 13px/1 var(--mono); color: var(--sand-300); background: none; border: 0; padding: 8px 0; cursor: pointer; white-space: nowrap; text-decoration: underline; text-decoration-color: var(--glass-line-2); text-underline-offset: 4px; }
.textbtn:hover { color: var(--saffron); }
.textbtn[aria-pressed="true"] { color: var(--saffron); }
.linkbtn { font: inherit; color: var(--sand-100); background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-decoration-color: var(--glass-line-2); text-underline-offset: 3px; }
.linkbtn:hover { color: var(--saffron); }
.sbtn { font: 500 12px/1 var(--mono); letter-spacing: .02em; color: var(--sand-300); background: transparent; border: 1px solid var(--glass-line); border-radius: var(--r-pill); padding: 9px 14px; cursor: pointer; }
.sbtn:hover { color: var(--sand-50); border-color: var(--glass-line-2); }
.sbtn[aria-pressed="true"] { color: var(--saffron); border-color: rgba(233,162,59,.4); }
.sbtn.stop { color: var(--rec); border-color: rgba(224,84,46,.5); }
@media (max-width: 900px) {
  .fwin { height: 160px; }
  .stage-3d { perspective: 2400px; }
  .mic-cap { font-size: 14px; }
  .textbtn { font-size: 12px; }
  .sbtn { padding: 8px 10px; font-size: 11px; }
}

/* ─── hints: what to say ───────────────────────────────────────────────── */
.hints { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -4px 0 0; }
.hints-lead { font: 500 11px/1 var(--mono); letter-spacing: .12em; color: var(--sand-500); margin-right: 4px; }
.chip { font: 500 12px/1 var(--mono); color: var(--sand-300); background: var(--glass); border: 1px solid var(--glass-line); border-radius: var(--r-pill); padding: 7px 11px; cursor: pointer;
  transition: color var(--d-2), border-color var(--d-2), background var(--d-2), box-shadow var(--d-3) var(--ease-out); }
.chip:hover { color: var(--sand-50); border-color: var(--glass-line-2); }
.hints.live .chip { cursor: default; }
.chip.lit { color: #1a0d05; background: linear-gradient(180deg, var(--saffron), var(--amber)); border-color: var(--saffron); box-shadow: 0 0 0 4px var(--spice-glow); }
@media (max-width: 640px) { .chip { font-size: 11px; padding: 6px 9px; } }

/* ─── rows: copy beside a figure ───────────────────────────────────────── */
.section { padding: 64px 0; }
.section + .section { border-top: 1px solid var(--glass-line); }
@media (max-width: 640px) { .section { padding: 44px 0; } }
.row-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.row-grid > div p { color: var(--sand-300); }
@media (max-width: 900px) { .row-grid { grid-template-columns: 1fr; gap: 24px; } }
.fig { margin: 0; padding: 22px 24px; background: var(--obsidian-1); border: 1px solid var(--glass-line); border-radius: var(--r-md); font-family: var(--mono); font-size: 15px; display: grid; gap: 12px; }
.sample { margin: 0; font-size: 18px; line-height: 1.5; }
.sample.term::before { content: "$ "; color: var(--live); }
.legend-dots { display: flex; gap: 12px; font-size: 11px; color: var(--sand-500); }
.legend-dots i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 5px; }
.legend-dots .m { background: var(--molten); } .legend-dots .r { background: var(--repair); } .legend-dots .f { background: var(--frozen); }
.held { color: var(--consent); border: 1px solid rgba(217,184,106,.4); border-radius: var(--r-pill); padding: 2px 8px; margin-right: 8px; }
.pane { display: grid; gap: 4px; padding: 10px 12px; border: 1px solid var(--glass-line); border-radius: 10px; background: var(--glass); }
.pane-title { font-size: 11px; color: var(--sand-500); letter-spacing: .04em; }
.pane-text { color: var(--sand-50); white-space: pre-wrap; word-break: break-word; min-height: 1.4em; }
.pane[data-register="terminal"] .pane-text::before { content: "$ "; color: var(--live); }
.pane[data-register="shell"] .pane-text::before { content: "$ "; color: var(--live); }
.pane[data-register="python"] .pane-text::before { content: ">>> "; color: var(--sand-500); }
.conf { margin: 0; font-size: 14px; line-height: 1.7; color: var(--sand-100); white-space: pre-wrap; }
.conf .c { color: var(--sand-500); } .conf .s { color: var(--saffron); }
.aphorism { font-family: var(--serif); font-style: italic; font-size: clamp(20px, 2vw, 26px); color: var(--consent) !important; font-variation-settings: "opsz" 60, "wght" 420; margin-top: 10px; }

/* ─── install, features, compare, edges ────────────────────────────────── */
.install-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 40px; align-items: start; }
@media (max-width: 900px) { .install-grid { grid-template-columns: 1fr; } }
.install-copy p { color: var(--sand-300); }
.disclosure { margin-top: 18px; border: 1px solid var(--glass-line); border-radius: var(--r-md); padding: 0 16px; }
.disclosure summary { cursor: pointer; padding: 12px 0; font: 500 13px var(--mono); color: var(--sand-100); letter-spacing: .02em; }
.disclosure ul { margin: 0 0 14px; padding-left: 18px; color: var(--sand-300); font-size: 15px; }
.disclosure li + li { margin-top: 8px; }
.install-terminals { display: grid; gap: 16px; }
.terminal { background: #0a090e; border: 1px solid var(--glass-line); border-radius: var(--r-md); overflow: hidden; }
.terminal-bar { display: flex; justify-content: space-between; align-items: center; padding: 8px 14px; border-bottom: 1px solid var(--glass-line); font: 11px var(--mono); letter-spacing: .06em; color: var(--sand-500); }
/* long commands wrap softly: what you select and copy is still one line */
.terminal pre { margin: 0; padding: 16px; font-size: 13px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--sand-100); }
.terminal .c { color: var(--sand-700); } .terminal .a { color: var(--saffron); }
.copy { font: 500 11px var(--mono); color: var(--sand-300); background: transparent; border: 1px solid var(--glass-line); border-radius: var(--r-pill); padding: 4px 10px; cursor: pointer; }
.copy.ok { color: var(--live); border-color: var(--live); }
.feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
@media (max-width: 900px) { .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .feature-grid { grid-template-columns: 1fr; } }
.feature { padding: 22px 22px 18px; border-radius: var(--r-md); background: var(--glass); border: 1px solid var(--glass-line); }
.feature small { font: 500 11px var(--mono); letter-spacing: .14em; color: var(--saffron); }
.feature h3 { margin: 10px 0 8px; }
.feature p { color: var(--sand-300); font-size: 15px; margin: 0; }
.tblwrap { margin-top: 28px; overflow-x: auto; border-radius: var(--r-md); background: var(--glass); border: 1px solid var(--glass-line); }
table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 640px; }
th, td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--glass-line); }
thead th { font: 500 11px var(--mono); letter-spacing: .1em; color: var(--sand-500); }
thead th:nth-child(2) { color: var(--saffron); }
tbody th { font-weight: 500; color: var(--sand-100); }
tbody tr:last-child td, tbody tr:last-child th { border-bottom: 0; }
td.yes { color: var(--live); } td.mid { color: var(--sand-300); } td.no { color: var(--sand-700); }
td:nth-child(2) { font-weight: 600; }
/* narrow screens scroll the table sideways: keep each row's name in view */
@media (max-width: 1000px) { tbody th { position: sticky; left: 0; z-index: 1; background: var(--obsidian-1); min-width: 9em; } }
.also { margin: 18px 0 10px; color: var(--sand-300); font-size: 15px; }
.honest-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 40px; }
@media (max-width: 900px) { .honest-grid { grid-template-columns: 1fr; gap: 10px; } }
.edges { margin: 0; padding: 0; list-style: none; display: grid; gap: 14px; color: var(--sand-300); }
.edges li { padding-left: 18px; position: relative; }
.edges li::before { content: ""; position: absolute; left: 0; top: .6em; width: 7px; height: 7px; border-radius: 50%; background: var(--saffron); }

/* ─── footer ───────────────────────────────────────────────────────────── */
footer { padding: 40px 0 60px; border-top: 1px solid var(--glass-line); }
.footer-grid { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-top: 14px; font: 13px/1.6 var(--mono); color: var(--sand-500); }
.footer-links { display: flex; gap: 18px; flex-wrap: wrap; }
.footer-links a { color: var(--sand-300); text-decoration: none; }
.footer-links a:hover { color: var(--saffron); }

/* ─── the relay sheet ──────────────────────────────────────────────────── */
.sheet { width: min(560px, 100% - 32px); padding: 26px 28px; color: var(--sand-100); margin: auto; background: var(--obsidian-2); border: 1px solid var(--glass-line-2); border-radius: var(--r-lg); }
.sheet::backdrop { background: rgba(4,3,6,.7); }
.sheet h3 { margin-bottom: 10px; }
.sheet p { color: var(--sand-300); font-size: 15px; }
.switch { display: flex; gap: 10px; align-items: center; font-size: 14px; margin: 14px 0; color: var(--sand-100); }
.switch input { accent-color: var(--saffron); width: 18px; height: 18px; }
.ask { display: flex; gap: 8px; }
.ask input { flex: 1; font: 14px var(--sans); color: var(--sand-50); background: var(--glass); border: 1px solid var(--glass-line-2); border-radius: 10px; padding: 9px 12px; }
.answer { font-size: 14px; color: var(--sand-100); min-height: 1em; margin-top: 12px; }
.sheet .actions { margin: 14px 0 0; }

/* ─── compare page ─────────────────────────────────────────────────────── */
.page { padding-top: 64px; }
.page .wrap > h2 { margin-top: 56px; }
.page .num { font: 500 12px var(--mono); color: var(--saffron); letter-spacing: .14em; margin-right: 12px; vertical-align: middle; }
.shine { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 24px 0; }
@media (max-width: 640px) { .shine { grid-template-columns: 1fr; } }
.shine > div { padding: 18px 20px; border-radius: var(--r-md); background: var(--glass); border: 1px solid var(--glass-line); }
.shine h3 { color: var(--saffron); font-size: 20px; }
.shine p { color: var(--sand-300); font-size: 15px; margin: 0; }
.cmp-hero { text-align: center; max-width: 760px; margin: 0 auto; }
.cmp-hero .actions { justify-content: center; }

/* ─── no JS, no motion ─────────────────────────────────────────────────── */
html:not(.js) .board, html:not(.js) .stage-bar, html:not(.js) .fwin-status { display: none; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
