/* ── Tapecut · warm studio dark ─────────────────────────────── */

:root {
  --bg: #141210;
  --bg-deep: #100E0C;
  --raised: #1C1917;
  --raised-hover: #242019;
  --line: #2A2622;
  --line-strong: #3A342C;
  --text: #E8E3DA;
  --dim: #8A8378;
  --accent: #E8A33D;
  --accent-bright: #F5C982;
  --accent-ink: #1A1408;
  --wave: #A97B34;
  --danger: #C96A50;
  --radius: 5px;
  --mono: "JetBrains Mono", ui-monospace, Consolas, monospace;
  --sans: system-ui, "Segoe UI", sans-serif;
}

/* Fonts ship inside this stylesheet (subset + base64) — they exist before the
   first paint with no network fetch, so text can never swap, resize, or vary
   between page loads. */
@font-face {
  font-family: "JetBrains Mono";
  src: url(data:font/woff2;base64,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) format("woff2");
  font-weight: 400;
}
@font-face {
  font-family: "JetBrains Mono";
  src: url(data:font/woff2;base64,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) format("woff2");
  font-weight: 500;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

/* the hidden attribute has no effect on SVG elements without this */
[hidden] { display: none !important; }

html { height: 100%; }

body {
  min-height: 100dvh;
  overflow-x: hidden;
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}

/* The editor is sized by its content — toolbars, stage, overview strip. With
   few tracks the learn content (#learn) peeks in right below; adding tracks
   grows the stage and slides it down naturally. */
#app { display: block; }

.mono { font-family: var(--mono); font-variant-numeric: tabular-nums; }
.accent { color: var(--accent); }
.dim { color: var(--dim); }
.spacer { flex: 1; }

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: var(--radius);
}

::selection { background: rgba(232, 163, 61, .3); }

/* ── Top bar ────────────────────────────────────────────────── */

.topbar {
  display: flex;
  align-items: center;
  gap: 16px;
  height: 54px;
  padding: 0 20px;
  border-bottom: 1px solid var(--line);
  background: var(--bg-deep);
}

.brand {
  display: flex;
  align-items: center;
  gap: 9px;
  user-select: none;
}
.brand-mark { width: 22px; height: 22px; color: var(--accent); }
.brand-name {
  font-family: var(--mono);
  font-weight: 500;
  font-size: 15px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.topbar-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
}

.top-nav {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-left: 14px;
}
.top-nav a {
  color: var(--dim);
  text-decoration: none;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.top-nav a:hover { color: var(--text); }
.top-nav a.active { color: var(--accent); }

a.btn { text-decoration: none; }

/* ── Buttons ────────────────────────────────────────────────── */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  height: 36px;
  padding: 0 10px;
  background: var(--raised);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--text);
  font-family: var(--sans);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
}
.btn svg { width: 15px; height: 15px; flex: none; }
.btn:hover:not(:disabled) { background: var(--raised-hover); border-color: var(--line-strong); }
.btn:active:not(:disabled) { transform: translateY(1px); }
.btn:disabled { opacity: .32; cursor: default; }
.btn[aria-pressed="true"], .btn.active {
  color: var(--accent-bright);
  border-color: rgba(232, 163, 61, .55);
  background: rgba(232, 163, 61, .1);
}

.btn.primary {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--accent-ink);
}
.btn.primary:hover:not(:disabled) { background: var(--accent-bright); border-color: var(--accent-bright); }

.btn.icon-btn { width: 40px; padding: 0; }
.btn.icon-btn svg { width: 17px; height: 17px; }
.btn.subtle { background: transparent; border-color: transparent; color: var(--dim); }
.btn.subtle:hover:not(:disabled) { color: var(--text); background: var(--raised); border-color: var(--line); }

.btn.recording {
  border-color: var(--danger);
  color: var(--danger);
}
.btn.recording svg { display: none; }
.btn.recording::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--danger);
  animation: rec-pulse 1.2s ease-in-out infinite;
}
@keyframes rec-pulse { 50% { opacity: .35; } }

.linkish {
  background: none;
  border: none;
  padding: 0;
  color: var(--accent);
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.linkish:hover { color: var(--accent-bright); }

/* ── Waveform stage ─────────────────────────────────────────── */

#stage-wrap {
  position: relative;
  margin: 14px 20px 0;
  width: calc(100% - 40px);
  /* CSS default matches the empty-state height so the first paint (before
     main.js runs) isn't a collapsed strip; JS then drives the height from
     the lane count, capped to the viewport. */
  height: 300px;
}

#wave-stage {
  position: relative;
  width: 100%;
  height: 100%;
  background: var(--bg-deep);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden auto;
  scrollbar-width: thin;
  scrollbar-color: var(--line-strong) transparent;
}
#wave-stage.dragging { border-color: var(--accent); }
#wave-stage.dragging #empty-state svg,
#wave-stage.dragging #empty-state p { color: var(--accent); }

#stage-inner { position: relative; width: 100%; }

#wave-canvas, #overlay-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%; /* height set from JS to match the lane content */
}
#overlay-canvas { touch-action: none; cursor: text; }
#wave-stage:not(.has-clip) #overlay-canvas { display: none; }

/* ── Project overview strip ─────────────────────────────────── */

#overview-wrap {
  position: relative;
  margin: 10px 20px 14px;
  height: 64px;
  background: var(--bg-deep);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}
#overview-wrap canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
#overview-overlay { touch-action: none; }

/* ── Add-track slot (below the last track header; top set from JS) ── */

#btn-add-track {
  position: absolute;
  left: 10px;
  width: calc(var(--header-w, 148px) - 20px); /* header column minus breathing room */
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius);
  background: transparent;
  color: var(--accent);
  font: 600 10.5px var(--mono);
  letter-spacing: .08em;
  cursor: pointer;
  transition: border-color .15s, background .15s, color .15s;
}
#btn-add-track:hover:not(:disabled) {
  border-color: var(--accent);
  background: rgba(232, 163, 61, .08);
  color: var(--accent-bright);
}
#btn-add-track:disabled { opacity: .4; cursor: default; }
#btn-add-track svg { width: 12px; height: 12px; }

/* ── Track headers ──────────────────────────────────────────── */

#track-headers {
  position: absolute;
  top: 0;
  left: 0;
  width: var(--header-w, 148px);
}
.track-header {
  position: absolute;
  left: 0;
  width: var(--header-w, 148px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 6px 10px;
  background: var(--bg-deep);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  box-shadow: inset 2px 0 0 transparent;
  cursor: default;
  overflow: hidden;
}
.track-header.active {
  background: #17140F;
  box-shadow: inset 2px 0 0 var(--accent);
}
.th-name {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--dim);
}
.track-header.active .th-name { color: var(--text); }
.th-controls { display: flex; gap: 4px; }
.th-btn {
  width: 24px;
  height: 20px;
  padding: 0;
  background: var(--raised);
  border: 1px solid var(--line);
  border-radius: 3px;
  color: var(--dim);
  font: 600 10px/1 var(--sans);
  cursor: pointer;
}
.th-btn:hover:not(:disabled) { color: var(--text); border-color: var(--line-strong); }
.th-btn:disabled { opacity: .32; cursor: default; }
.th-btn.mute.on { background: var(--danger); border-color: var(--danger); color: #1A0E08; }
.th-btn.solo.on { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.th-btn.remove:hover:not(:disabled) { color: var(--danger); border-color: var(--danger); }
.th-vol { width: 100%; }
input[type="range"].th-vol { height: 14px; }
input[type="range"].th-vol::-webkit-slider-runnable-track { height: 2px; }
input[type="range"].th-vol::-webkit-slider-thumb { width: 9px; height: 13px; margin-top: -5.5px; }
input[type="range"].th-vol::-moz-range-track { height: 2px; }
input[type="range"].th-vol::-moz-range-thumb { width: 9px; height: 13px; }

/* ── Timeline scrollbar (shown while zoomed) ────────────────── */

#timeline-scroll {
  position: absolute;
  left: 149px;
  right: 1px;
  bottom: 1px;
  height: 14px;
  background: var(--raised);
  border-top: 1px solid var(--line-strong);
  border-radius: 0 0 var(--radius) 0;
  z-index: 5;
  display: none;
  touch-action: none;
}
#timeline-scroll.visible { display: block; }
#timeline-thumb {
  position: absolute;
  top: 3px;
  bottom: 3px;
  min-width: 26px;
  background: var(--accent);
  border-radius: 4px;
  cursor: grab;
}
#timeline-thumb:hover { background: var(--accent-bright); }
#timeline-thumb:active { cursor: grabbing; background: var(--accent-bright); }
.btn.zoom-btn {
  width: 34px;
  padding: 0;
}
.btn.zoom-btn svg { width: 15px; height: 15px; }

#empty-state {
  position: absolute;
  inset: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius);
  color: var(--dim);
  pointer-events: auto;
  cursor: pointer;
  transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}
#empty-state:hover,
#empty-state:focus-visible {
  color: var(--text);
  border-color: var(--accent);
  background: rgba(232, 163, 61, .025);
  outline: none;
}
#empty-state:hover svg,
#empty-state:focus-visible svg { color: var(--accent); opacity: .85; }
#empty-state svg { width: 54px; height: 54px; opacity: .6; }
#empty-state p { font-size: 19px; letter-spacing: .02em; }
#empty-state .empty-sub { font-size: 15.5px; color: var(--dim); }
#wave-stage.has-clip #empty-state { display: none; }

#processing-overlay {
  position: absolute;
  inset: 0;
  z-index: 40;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 180px;
  background: rgba(16, 14, 12, .88);
  backdrop-filter: blur(3px);
}
.processing-ring {
  --progress: 0;
  position: relative;
  display: grid;
  place-items: center;
  width: 82px;
  height: 82px;
  margin-bottom: 4px;
  border-radius: 50%;
  background: conic-gradient(var(--accent) calc(var(--progress) * 1turn), var(--line-strong) 0);
  box-shadow: 0 0 28px rgba(232, 163, 61, .12);
  transition: background .15s linear;
}
.processing-ring::before {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: inherit;
  background: var(--bg-deep);
  box-shadow: inset 0 0 0 1px var(--line);
}
.processing-ring span {
  position: relative;
  z-index: 1;
  color: var(--accent-bright);
  font-size: 15px;
  font-weight: 500;
}
#processing-label { font-size: 13px; letter-spacing: .04em; }
#processing-detail {
  max-width: min(360px, 80%);
  overflow: hidden;
  color: var(--dim);
  font-size: 11.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ── Command bar (transport + tools, top-center hotspot) ────── */

.commandbar, .transportbar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 9px 12px;
  border-bottom: 1px solid var(--line);
  background: var(--bg-deep);
}
.transportbar { padding: 7px 12px; }

.cluster {
  display: flex;
  align-items: center;
  gap: 6px;
}

.divider {
  width: 1px;
  height: 22px;
  background: var(--line-strong);
  margin: 0 4px;
}

.readout {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin-left: 6px;
  font-size: 13.5px;
}
.readout-tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--dim);
}

/* ── Sliders ────────────────────────────────────────────────── */

/* The two persistent dials get their own centered row below the edit tools —
   button family above, settings family below, on every screen size. */
.slider-row {
  flex: 1 1 100%;
  justify-content: center;
  gap: 34px; /* clear air between one group's readout and the next group's label */
}

.slider-group {
  display: flex;
  align-items: center;
  gap: 9px;
}
.slider-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--dim);
}
.slider-group output {
  font-size: 12px;
  color: var(--text);
  /* reserved width so the row doesn't shift as the value's length changes
     while dragging; left-aligned so the value stays snug to its slider */
  min-width: 50px;
  text-align: left;
}
.slider-group:has(input:disabled) output,
.slider-group:has(input:disabled) .slider-label { opacity: .32; }

input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  width: 96px;
  height: 22px;
  background: transparent;
  cursor: pointer;
}
input[type="range"]:disabled { cursor: default; }

input[type="range"]::-webkit-slider-runnable-track {
  height: 3px;
  background: var(--line-strong);
  border-radius: 2px;
}
input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 12px;
  height: 19px;
  margin-top: -8px;
  background: linear-gradient(var(--accent), var(--accent)) center / 100% 100% no-repeat, var(--accent);
  border: 1px solid var(--accent-ink);
  border-radius: 3px;
  box-shadow: inset 0 -6px 0 -4px rgba(0,0,0,.35), inset 0 6px 0 -4px rgba(255,255,255,.25);
}
input[type="range"]::-moz-range-track {
  height: 3px;
  background: var(--line-strong);
  border-radius: 2px;
}
input[type="range"]::-moz-range-thumb {
  width: 12px;
  height: 19px;
  background: var(--accent);
  border: 1px solid var(--accent-ink);
  border-radius: 3px;
  box-shadow: inset 0 -6px 0 -4px rgba(0,0,0,.35), inset 0 6px 0 -4px rgba(255,255,255,.25);
}

/* ── Popovers ───────────────────────────────────────────────── */

.popover-anchor { position: relative; }

.popover {
  position: absolute;
  right: 0;
  z-index: 30;
  min-width: 168px;
  background: var(--raised);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .5);
  padding: 5px;
}
.topbar .popover, .commandbar .popover { top: calc(100% + 7px); }

.popover-item {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  padding: 9px 11px;
  background: none;
  border: none;
  border-radius: 3px;
  color: var(--text);
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .04em;
  cursor: pointer;
}
.popover-item:hover { background: var(--raised-hover); color: var(--accent-bright); }
.popover-hint { font-size: 10.5px; color: var(--dim); font-family: var(--sans); }
.popover-label {
  padding: 8px 11px 3px;
  color: var(--dim);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}
#export-popover { min-width: 228px; }

.fade-editor { width: 286px; padding: 8px; }
.fade-field {
  display: grid;
  gap: 7px;
  padding: 8px 9px;
  color: var(--dim);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.fade-field select {
  width: 100%;
  height: 32px;
  padding: 0 9px;
  border: 1px solid var(--line-strong);
  border-radius: 3px;
  background: var(--bg-deep);
  color: var(--text);
  font: 12px var(--sans);
  text-transform: none;
  outline: none;
}
.fade-field select:focus { border-color: var(--accent); }
.fade-field input[type="number"] {
  width: 100%;
  height: 32px;
  padding: 0 9px;
  border: 1px solid var(--line-strong);
  border-radius: 3px;
  background: var(--bg-deep);
  color: var(--text);
  font: 12px var(--mono);
  outline: none;
}
.fade-field input[type="number"]:focus { border-color: var(--accent); }
.fade-range-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.fade-range-row input[type="range"] { flex: 1; width: auto; }
.fade-range-row output {
  width: 58px;
  color: var(--text);
  font-size: 11.5px;
  text-align: right;
}
.fade-editor .danger-item {
  margin-top: 5px;
  border-top: 1px solid var(--line);
  color: var(--danger);
}

.popover.keys { min-width: 230px; padding: 9px; }
.key-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 4px 3px;
  font-size: 12px;
  color: var(--dim);
}
.key-row kbd {
  font-family: var(--mono);
  font-size: 10.5px;
  color: var(--text);
  background: var(--bg);
  border: 1px solid var(--line-strong);
  border-bottom-width: 2px;
  border-radius: 4px;
  padding: 2px 6px;
  min-width: 52px;
  text-align: center;
}

/* ── Toast ──────────────────────────────────────────────────── */

#toast-region {
  position: fixed;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 50;
  pointer-events: none;
}
.toast {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--raised);
  border: 1px solid var(--line-strong);
  border-left: 3px solid var(--accent);
  border-radius: var(--radius);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .5);
  padding: 11px 15px;
  font-size: 13px;
  max-width: min(440px, calc(100vw - 40px));
  pointer-events: auto;
  animation: toast-in .18s ease-out;
}
.toast.error { border-left-color: var(--danger); }
.toast .linkish { white-space: nowrap; font-size: 12.5px; }
@keyframes toast-in {
  from { opacity: 0; transform: translateY(8px); }
}

/* ── Encode progress ────────────────────────────────────────── */

#encode-progress {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 3px;
  z-index: 60;
  background: rgba(232, 163, 61, .15);
}
#encode-progress-fill {
  height: 100%;
  width: 100%;
  background: var(--accent);
  transform-origin: left;
  transform: scaleX(0);
  transition: transform .15s linear;
}

/* ── Responsive ─────────────────────────────────────────────── */

/* Tablets: ten labeled editing buttons overflow — go icon-only early. */
@media (max-width: 1140px) {
  .commandbar .btn:not(.icon-btn):not(.zoom-btn) .btn-label { display: none; }
  .commandbar .btn:not(.icon-btn):not(.zoom-btn) { width: 40px; padding: 0; }
  .commandbar .divider { display: none; }
}

/* Small tablets: the topbar (brand + nav + history + file actions) overflows
   with labels. Editor page only — content pages keep their single button. */
@media (max-width: 900px) {
  body:not(.page) .topbar .btn .btn-label { display: none; }
  body:not(.page) .topbar .btn { width: 40px; padding: 0; }
  body:not(.page) .btn.recording { width: auto; padding: 0 11px; }
  .topbar .divider { display: none; }
}

@media (max-width: 700px) {
  .topbar { padding: 0 12px; height: 50px; gap: 10px; }
  /* About/Help live in the footer below the editor — the topbar needs the room */
  body:not(.page) .top-nav { display: none; }
  .topbar .cluster { flex-wrap: nowrap; }
  #stage-wrap { margin: 10px 12px 0; width: calc(100% - 24px); }
  #overview-wrap { margin: 8px 12px 12px; height: 48px; }
  .commandbar, .transportbar { padding: 7px 10px; gap: 7px 8px; }
  .commandbar .keys-anchor { display: none; } /* keyboard shortcuts are meaningless on touch */
  .fade-editor { width: min(286px, calc(100vw - 24px)); }
  .transportbar #btn-marker { width: 40px; padding: 0; }
  .transportbar #btn-marker .btn-label { display: none; }
  .transportbar .divider { display: none; }
  .cluster { flex-wrap: wrap; justify-content: center; }
  .topbar .cluster { flex-wrap: nowrap; }
  .slider-group { flex: 1 1 40%; justify-content: center; }
  .slider-group input[type="range"] { flex: 1; max-width: 160px; }
  #sel-readout { display: none; }
}

@media (pointer: coarse) {
  .btn { height: 44px; }
  .btn.icon-btn { width: 44px; }
}

/* ── Site pages (about, help) ───────────────────────────────── */

body.page {
  display: block;
  height: auto;
  min-height: 100dvh;
  overflow: auto;
}
body.page .topbar { position: sticky; top: 0; z-index: 20; }
.brand-link { text-decoration: none; color: inherit; }

.page-main {
  max-width: 1100px; /* barely wider than the 1020px prose, so centering is true */
  margin: 0 auto;
  padding: 0 clamp(20px, 3vw, 48px);
}

.hero { padding: 46px 0 26px; }
.eyebrow {
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 12px;
}
.hero h1 {
  font-size: clamp(34px, 5.5vw, 54px);
  line-height: 1.06;
  letter-spacing: -.015em;
  max-width: 900px;
  margin-bottom: 14px;
}
.hero .lede {
  font-size: 18.5px;
  line-height: 1.65;
  color: var(--dim);
  max-width: 780px;
  margin-bottom: 24px;
}
.hero .lede strong { color: var(--text); font-weight: 500; }
.hero-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.hero-actions .btn { height: 42px; padding: 0 20px; font-size: 12px; }

#hero-wave {
  display: block;
  width: 100%;
  height: 110px;
  margin: 26px 0 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--bg-deep);
}

.section-title {
  font-family: var(--mono);
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--dim);
  border-bottom: 1px solid var(--line);
  padding-bottom: 10px;
  margin: 38px 0 20px;
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
}
.feature {
  background: var(--raised);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 26px 24px;
}
.feature svg { width: 22px; height: 22px; color: var(--accent); margin-bottom: 16px; }
.feature h3 { font-size: 17px; font-weight: 600; margin-bottom: 10px; }
.feature p { font-size: 15px; line-height: 1.65; color: var(--dim); }

.steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; }
.step { display: flex; gap: 14px; align-items: baseline; }
.step-num {
  font-family: var(--mono);
  font-size: 14px;
  color: var(--accent);
  border: 1px solid var(--line-strong);
  border-radius: 4px;
  padding: 3px 9px;
  flex: none;
}
.step p { font-size: 15px; line-height: 1.65; color: var(--dim); }
.step p strong { color: var(--text); font-weight: 500; }

/* ── Learn section under the editor (index page) ────────────── */

#learn { padding-bottom: 26px; }
#learn .section-title:first-child { margin-top: 26px; }
/* Once audio is loaded the working surface should finish with quiet space
   instead of running straight into the prose; the empty state keeps the
   tighter default so the content stays in view. */
body:has(#wave-stage.has-clip) #learn { padding-top: 56px; }

.faq {
  display: grid;
  gap: 10px;
  max-width: 1020px;
}
.faq details {
  background: var(--raised);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 0 18px;
}
.faq summary {
  cursor: pointer;
  list-style: none;
  padding: 15px 0;
  font-size: 15.5px;
  font-weight: 550;
  color: var(--text);
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::before {
  content: "+";
  font-family: var(--mono);
  color: var(--accent);
  margin-right: 12px;
}
.faq details[open] summary::before { content: "−"; }
.faq details p {
  padding: 0 0 16px 26px;
  font-size: 15px;
  line-height: 1.65;
  color: var(--dim);
}

.prose { max-width: 1020px; }
.prose h2 {
  font-size: 22px;
  letter-spacing: -.01em;
  margin: 30px 0 10px;
}
.prose h2:first-child { margin-top: 0; }
.prose p, .prose li { font-size: 16px; line-height: 1.7; color: var(--dim); }
.prose p + p { margin-top: 10px; }
.prose strong { color: var(--text); font-weight: 500; }
.prose a { color: var(--accent); text-underline-offset: 3px; }
.prose ul { padding-left: 20px; margin: 10px 0; }
.prose kbd {
  font-family: var(--mono);
  font-size: 12.5px;
  color: var(--text);
  background: var(--bg-deep);
  border: 1px solid var(--line-strong);
  border-bottom-width: 2px;
  border-radius: 4px;
  padding: 1px 6px;
}

.shortcut-table { max-width: 460px; }
.shortcut-table .key-row { padding: 9px 3px; border-bottom: 1px solid var(--line); font-size: 14.5px; }
.shortcut-table .key-row kbd { font-size: 12px; min-width: 60px; }

/* ── Contact form ───────────────────────────────────────────── */

.contact-form { max-width: 640px; display: flex; flex-direction: column; gap: 16px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-field { display: flex; flex-direction: column; gap: 6px; }
.form-field label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--dim);
}
.form-field input,
.form-field select,
.form-field textarea {
  background: var(--raised);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--text);
  font: 15px/1.5 var(--sans);
  padding: 10px 12px;
}
.form-field textarea { min-height: 150px; resize: vertical; }
.form-field input:focus-visible,
.form-field select:focus-visible,
.form-field textarea:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 0;
  border-color: var(--accent);
}
.form-actions { display: flex; align-items: center; gap: 14px; }
.form-actions .btn { height: 42px; padding: 0 22px; font-size: 12px; }
.form-hint { font-size: 13px; color: var(--dim); }
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.banner {
  max-width: 640px;
  padding: 13px 16px;
  border: 1px solid var(--line-strong);
  border-left: 3px solid var(--accent);
  border-radius: var(--radius);
  background: var(--raised);
  font-size: 14.5px;
  margin-bottom: 20px;
}
.banner.error { border-left-color: var(--danger); }

@media (max-width: 560px) {
  .form-row { grid-template-columns: 1fr; }
}

.site-footer {
  border-top: 1px solid var(--line);
  margin-top: 52px;
  padding: 20px 0 32px;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 14px;
  color: var(--dim);
}
.site-footer a { color: var(--dim); text-decoration: none; }
.site-footer a:hover { color: var(--text); }

@media (max-width: 700px) {
  .hero { padding: 34px 0 22px; }
  body.page .topbar .btn { width: auto; padding: 0 13px; }
  body.page .topbar .btn .btn-label { display: inline; }
}
@media (max-width: 480px) {
  body.page .topbar .btn { padding: 0 10px; font-size: 10.5px; }
  body.page .top-nav { gap: 10px; margin-left: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}
