/* ==========================================================================
   Audio Studio — Audio Recorder + Audio Editor (js/audio-recorder/, js/audio-editor/).
   Teal: #2BC4A9 (soft #12302C, border #1F7366, text #5EE0C8).
   Tracks: voice #2BC4A9 · guest #A685FF · music #FFB020 · SFX #4C8DFF.
   Numbers in JetBrains Mono; Arabic text in IBM Plex Sans Arabic (dir="auto").
   Every interactive target ≥ 44 px (sliders get a 44 px hit row).
   ========================================================================== */
.aud-page, .aud-dialog {
  --aud: #2BC4A9; --aud-soft: #12302C; --aud-border: #1F7366; --aud-text: #5EE0C8;
  --trk-voice: #2BC4A9; --trk-guest: #A685FF; --trk-music: #FFB020; --trk-sfx: #4C8DFF;
  --font-ar: "Inter", "IBM Plex Sans Arabic", system-ui, sans-serif;
}
.aud-page { padding: 20px 24px 40px; color: var(--text); font-family: var(--font-ar); }
.aud-page .mono, .aud-dialog .mono { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.aud-layout { display: flex; flex-direction: column; gap: 16px; max-width: 1440px; margin: 0 auto; }
.aud-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.aud-head-main { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.aud-title { margin: 0; font-size: 22px; }
.aud-format { margin: 0; color: var(--muted); font-size: 12.5px; }
.aud-cols { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 16px; align-items: start; }
.aud-main, .aud-side { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.aud-side { position: sticky; top: 80px; max-height: calc(100vh - 96px); overflow-y: auto; }
@media (max-width: 1100px) { .aud-cols { grid-template-columns: minmax(0, 1fr); } .aud-side { position: static; max-height: none; } }

.aud-card { padding: 16px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface-2); }
.aud-card-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.aud-card-title { margin: 0; font-size: 14px; font-weight: 600; }
.aud-hint { margin: 0; color: var(--muted); font-size: 12.5px; }
.aud-error { margin: 0 0 8px; color: var(--danger-text); }
.aud-row-gap { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.aud-ellipsis { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 180px; }
.aud-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.aud-page .btn, .aud-dialog .btn { min-height: 44px; }
.aud-page .btn-primary, .aud-dialog .btn-primary { border-color: var(--aud); background: var(--aud); color: #071512; }
.aud-page .btn-primary:hover:not(:disabled), .aud-dialog .btn-primary:hover:not(:disabled) { filter: brightness(1.08); }
.aud-icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; min-width: 44px; min-height: 44px; border: 1px solid transparent; border-radius: var(--radius-md); background: transparent; color: var(--muted); cursor: pointer; }
.aud-icon-btn:hover:not(:disabled) { border-color: var(--border-strong); color: var(--text); }
.aud-icon-btn:disabled { opacity: 0.35; cursor: default; }
.aud-page :focus-visible, .aud-dialog :focus-visible { outline: 2px solid var(--aud-text); outline-offset: 2px; }
kbd { padding: 1px 6px; border: 1px solid var(--border-strong); border-radius: 4px; font: 11px var(--font-mono); color: var(--muted); }

/* status pill */
.aud-status { display: inline-flex; align-items: center; gap: 8px; height: 30px; padding: 0 12px; border: 1px solid var(--border); border-radius: var(--radius-pill); font: 600 12px/1 var(--font-mono); letter-spacing: 0.06em; color: var(--muted); }
.aud-status-dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.aud-status[data-state="recording"] { border-color: var(--danger-border); background: var(--danger-soft-bg); color: #FF7A7C; }
.aud-status[data-state="recording"] .aud-status-dot { box-shadow: 0 0 8px #F2484B; }
.aud-status[data-state="paused"] { border-color: var(--accent-soft-border); background: var(--accent-soft-bg); color: var(--accent); }
.aud-status[data-state="idle"] { border-color: var(--aud-border); background: var(--aud-soft); color: var(--aud-text); }
.aud-take-name { min-width: 260px; height: 40px; padding: 0 12px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-4); color: var(--text); font: 500 14px var(--font-ar); }

/* stage */
.aud-stage { display: flex; flex-direction: column; gap: 12px; }
.aud-enable:empty { display: none; }
.aud-enable { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 12px; border: 1px dashed var(--aud-border); border-radius: var(--radius-md); background: var(--aud-soft); }
.aud-stage-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.aud-timer { font-size: 44px; font-weight: 600; letter-spacing: 0.02em; }
.aud-levels { display: flex; align-items: center; gap: 10px; min-width: 260px; flex: 1; max-width: 420px; }
.aud-peak { color: var(--muted); font-size: 12px; white-space: nowrap; }
.aud-live-wave { width: 100%; height: 120px; border-radius: var(--radius-md); background: var(--bg-deep); }
.aud-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.aud-rec-btn { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border: 3px solid #fff; border-radius: 50%; background: transparent; cursor: pointer; }
.aud-rec-dot { width: 40px; height: 40px; border-radius: 50%; background: var(--danger); }
.aud-rec-btn:hover .aud-rec-dot { filter: brightness(1.12); }
.aud-round-btn { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border: 1px solid var(--border-strong); border-radius: 50%; background: var(--surface-4); color: var(--text); cursor: pointer; }
.aud-marker-btn kbd { margin-inline-start: 6px; }

/* meters */
.aud-meter { position: relative; flex: 1; height: 10px; overflow: hidden; border-radius: var(--radius-pill); background: var(--bg-deep); }
.aud-meter-fill { position: absolute; inset: 0 auto 0 0; width: 0; background: linear-gradient(90deg, var(--aud) 0%, var(--aud) 70%, var(--meter-warn) 88%, var(--danger) 100%); background-size: var(--meter-span, 100%) 100%; }
.aud-meter-peak { position: absolute; top: 0; bottom: 0; width: 2px; background: #fff; opacity: 0.7; }
.aud-meter.is-vertical { flex: none; width: 10px; height: 120px; }
.aud-meter.is-vertical .aud-meter-fill { inset: auto 0 0 0; width: auto; height: 0; background: linear-gradient(0deg, var(--aud) 0%, var(--aud) 70%, var(--meter-warn) 88%, var(--danger) 100%); }
.aud-meter.is-vertical .aud-meter-peak { top: auto; left: 0; right: 0; width: auto; height: 2px; }
.aud-meter.is-hot .aud-meter-peak { background: var(--danger); opacity: 1; }

/* chips */
.aud-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.aud-chip { min-height: 44px; padding: 0 14px; border: 1px solid var(--border); border-radius: var(--radius-pill); background: var(--surface-inset); color: var(--text-2); font: 500 13px var(--font-ar); cursor: pointer; }
.aud-chip:hover { border-color: var(--aud-border); }
.aud-chip[aria-checked="true"], .aud-chip[aria-pressed="true"] { border-color: var(--aud); background: var(--aud-soft); color: var(--aud-text); }

/* sliders + switches */
.aud-slider { display: grid; grid-template-columns: 110px minmax(0, 1fr) 76px; align-items: center; gap: 10px; min-height: 44px; font-size: 13px; }
.aud-slider-label { color: var(--text-2); }
.aud-val { color: var(--muted); font-size: 12px; text-align: end; }
.aud-page input[type="range"], .aud-dialog input[type="range"] { width: 100%; min-height: 28px; accent-color: var(--aud); }
.aud-switch { position: relative; display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; cursor: pointer; }
.aud-switch input { position: absolute; inset: 0; opacity: 0; cursor: pointer; margin: 0; }
.aud-switch-track { position: relative; width: 36px; height: 20px; border-radius: var(--radius-pill); background: var(--border-strong); transition: background 0.15s; }
.aud-switch-track::after { content: ''; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: #fff; transition: transform 0.15s; }
.aud-switch input:checked + .aud-switch-track { background: var(--aud); }
.aud-switch input:checked + .aud-switch-track::after { transform: translateX(16px); }
.aud-switch input:focus-visible + .aud-switch-track { outline: 2px solid var(--aud-text); outline-offset: 2px; }
.aud-check { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 13px; cursor: pointer; }
.aud-check input { width: 18px; height: 18px; accent-color: var(--aud); }

/* effects panel */
.aud-fx-count { color: var(--aud-text); font-size: 12px; }
.aud-fx-list { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.aud-fx-row { border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-inset); }
.aud-fx-row.is-off .aud-fx-label, .aud-fx-row.is-off .aud-fx-sum { opacity: 0.5; }
.aud-fx-row.is-dragging { opacity: 0.4; }
.aud-fx-row.is-drop { border-color: var(--aud); }
.aud-fx-line { display: flex; align-items: center; gap: 4px; padding-inline-end: 4px; }
.aud-fx-grip { display: inline-flex; padding: 0 2px 0 8px; color: var(--muted); cursor: grab; }
.aud-fx-name { display: flex; flex: 1; align-items: center; gap: 8px; min-width: 0; min-height: 44px; padding: 0 6px; border: 0; background: none; color: var(--text); font: 500 13.5px var(--font-ar); text-align: start; cursor: pointer; }
.aud-fx-label { white-space: nowrap; }
.aud-fx-sum { overflow: hidden; color: var(--muted); font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap; }
.aud-fx-caret { margin-inline-start: auto; display: inline-flex; color: var(--muted); transition: transform 0.15s; }
.aud-fx-name[aria-expanded="true"] .aud-fx-caret { transform: rotate(90deg); }
.aud-fx-order { display: inline-flex; }
.aud-fx-settings { display: flex; flex-direction: column; gap: 2px; padding: 4px 12px 12px; border-top: 1px solid var(--border); }
.aud-fx-foot { position: relative; margin-top: 10px; }
.aud-menu { position: absolute; bottom: calc(100% + 6px); left: 0; z-index: 30; width: 280px; max-height: 360px; overflow-y: auto; padding: 8px; border: 1px solid var(--border-strong); border-radius: var(--radius-md); background: var(--surface-4); box-shadow: var(--shadow-popover); }
.aud-menu-title { margin: 6px 6px 2px; color: var(--muted); font-size: 11.5px; text-transform: uppercase; letter-spacing: 0.05em; }
.aud-menu-item { display: block; width: 100%; min-height: 40px; padding: 0 10px; border: 0; border-radius: var(--radius-sm); background: none; color: var(--text); font: 13.5px var(--font-ar); text-align: start; cursor: pointer; }
.aud-menu-item:hover, .aud-menu-item:focus-visible { background: var(--aud-soft); }
.aud-eq { display: flex; flex-direction: column; gap: 2px; }
.aud-eq-curve { width: 100%; height: 96px; margin: 4px 0 6px; border-radius: var(--radius-sm); background: var(--bg-deep); }
.aud-eq-band { padding: 4px 0; border-top: 1px dashed var(--border); }
.aud-eq-name { font-size: 12px; color: var(--aud-text); }

/* mixer */
.aud-strips { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.aud-strip { display: flex; flex-direction: column; gap: 8px; padding: 10px; border: 1px solid var(--border); border-top: 3px solid var(--strip, var(--aud)); border-radius: var(--radius-md); background: var(--surface-inset); }
.aud-strip.is-selected { border-color: var(--strip); box-shadow: 0 0 0 1px var(--strip) inset; }
.aud-strip.is-empty { opacity: 0.75; }
.aud-strip.is-dimmed { opacity: 0.55; }
.aud-strip.is-master { --strip: #E8EAED; }
.aud-strip-head { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 13px; }
.aud-strip-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--strip); }
.aud-strip-src-row { display: flex; flex-direction: column; gap: 4px; }
.aud-strip-src { width: 100%; min-height: 40px; padding: 0 8px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-4); color: var(--text); font: 13px var(--font-ar); }
.aud-strip-body { display: flex; gap: 10px; }
.aud-strip-ctl { display: flex; flex: 1; flex-direction: column; gap: 4px; min-width: 0; }
.aud-mini { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 0 6px; font-size: 11.5px; color: var(--muted); }
.aud-mini input { grid-column: 1 / -1; }
.aud-mini-val { grid-row: 1; grid-column: 2; font-size: 11px; }
.aud-tog { min-width: 44px; min-height: 36px; border: 1px solid var(--border-strong); border-radius: var(--radius-sm); background: transparent; color: var(--muted); font: 600 12px var(--font-mono); cursor: pointer; }
.aud-tog.is-mute[aria-pressed="true"] { border-color: var(--accent); background: var(--accent-soft-bg); color: var(--accent); }
.aud-tog.is-solo[aria-pressed="true"] { border-color: #4C8DFF; background: #15233B; color: #8FB6FF; }
.aud-tog.is-arm[aria-pressed="true"] { border-color: var(--danger); background: var(--danger-soft-bg); color: #FF7A7C; }
.aud-fx-btn[aria-pressed="true"] { border-color: var(--aud); color: var(--aud-text); }

/* takes */
.aud-takes-list { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.aud-take { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-inset); }
.aud-take-main { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.aud-take-title { font-weight: 600; }
.aud-take-wave { width: 100%; height: 40px; }
.aud-take-actions { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.aud-take-audio { width: 100%; height: 36px; }
@media (max-width: 700px) { .aud-take { grid-template-columns: 1fr; } .aud-take-actions { justify-content: flex-start; } }
@media (prefers-reduced-motion: reduce) { .aud-switch-track, .aud-switch-track::after, .aud-fx-caret { transition: none; } }

/* ==========================================================================
   Audio Editor (aed-*)
   ========================================================================== */
.aud-seg { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 3px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-inset); }
.aud-seg-btn { min-height: 38px; min-width: 44px; padding: 0 12px; border: 0; border-radius: calc(var(--radius-md) - 3px); background: none; color: var(--text-2); font: 500 13px var(--font-ar); cursor: pointer; }
.aud-seg-btn[aria-checked="true"] { background: var(--aud-soft); color: var(--aud-text); box-shadow: inset 0 0 0 1px var(--aud-border); }
.aud-chip.is-small { min-height: 36px; padding: 0 10px; font-size: 12px; }
.aud-icon-btn.is-lg svg { width: 20px; height: 20px; }
.aud-tog.is-muted[aria-pressed="true"] { border-color: var(--accent); background: var(--accent-soft-bg); color: var(--accent); }

.aed-layout { max-width: 1680px; }
.aed-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 8px 10px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface-2); }
.aed-tb-group { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.aed-act { min-height: 38px; padding: 0 10px; display: inline-flex; align-items: center; gap: 6px; }
.aed-act svg { width: 15px; height: 15px; }
.aed-transport { gap: 10px; }
.aed-play { width: 44px; height: 44px; border-color: var(--aud-border); color: var(--aud-text); }
.aed-time { min-width: 92px; font-size: 18px; font-weight: 600; }
.aed-cols { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 16px; align-items: start; }
.aed-main { min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.aed-side { position: sticky; top: 80px; max-height: calc(100vh - 96px); overflow-y: auto; display: flex; flex-direction: column; gap: 12px; }
@media (max-width: 1100px) { .aed-cols { grid-template-columns: minmax(0, 1fr); } .aed-side { position: static; max-height: none; } }

.aed-timeline { border: 1px solid var(--border); border-radius: var(--radius-lg); background: #0F1115; overflow: hidden; }
.aed-tl-grid { display: grid; grid-template-columns: 168px minmax(0, 1fr); max-height: 62vh; overflow-y: auto; }
.aed-heads { border-inline-end: 1px solid var(--border); background: var(--surface-2); }
.aed-head-ruler { border-bottom: 1px solid var(--border); }
.aed-head-words { display: flex; align-items: center; padding: 0 10px; border-bottom: 1px solid var(--border); color: var(--muted); font-size: 11.5px; text-transform: uppercase; letter-spacing: 0.05em; }
.aed-head { box-sizing: border-box; overflow: hidden; display: flex; gap: 8px; padding: 6px 8px 6px 0; border-bottom: 1px solid #1E222A; cursor: pointer; }
.aed-head.is-focus { background: var(--aud-soft); }
.aed-head-color { width: 4px; border-radius: 0 3px 3px 0; background: var(--strip); }
.aed-head-main { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1; }
.aed-head-name { width: 100%; height: 28px; padding: 0 6px; border: 1px solid transparent; border-radius: var(--radius-sm); background: transparent; color: var(--text); font: 600 13px var(--font-ar); }
.aed-head-name:hover, .aed-head-name:focus { border-color: var(--border-strong); background: var(--surface-4); }
.aed-head .aud-row-gap { flex-wrap: nowrap; gap: 4px; }
.aed-head .aud-tog { min-width: 34px; min-height: 30px; }
.aed-head .aud-icon-btn { min-width: 34px; min-height: 30px; width: 30px; height: 30px; }
.aed-badge { padding: 1px 6px; border: 1px solid var(--accent-soft-border); border-radius: var(--radius-pill); color: var(--accent); font-size: 10.5px; }
.aed-body { position: relative; min-width: 0; touch-action: none; }
.aed-canvas { display: block; width: 100%; }
.aed-hscroll { display: block; width: 100%; margin: 0; accent-color: var(--aud); }
.aed-words { position: absolute; left: 0; right: 0; overflow: hidden; border-bottom: 1px solid var(--border); background: #13161B; }
.aed-words-empty { display: block; padding: 9px 10px; color: var(--muted); font-size: 12px; white-space: nowrap; }
.aed-word { position: absolute; top: 4px; height: 26px; padding: 0 3px; overflow: hidden; border: 1px solid #262B34; border-radius: 4px; background: #191D24; color: var(--text-2); font: 12px var(--font-ar); white-space: nowrap; text-overflow: ellipsis; cursor: pointer; }
.aed-word:hover { border-color: var(--aud-border); }
.aed-word[aria-selected="true"] { border-color: var(--aud); background: var(--aud-soft); color: var(--aud-text); }
.aed-word.is-unsure { text-decoration: underline wavy #FFB020; text-underline-offset: 3px; }
.aed-word.is-edited { font-style: italic; border-style: dashed; }
.aed-selbar { position: absolute; z-index: 5; display: flex; align-items: center; gap: 4px; padding: 4px; border: 1px solid var(--aud-border); border-radius: var(--radius-md); background: rgba(21, 24, 30, 0.96); box-shadow: var(--shadow-popover); white-space: nowrap; }
.aed-sel-len { padding: 0 8px; color: var(--aud-text); font-size: 12.5px; }
.aed-sel-btn { display: inline-flex; align-items: center; gap: 4px; min-height: 36px; min-width: 36px; padding: 0 10px; border: 1px solid transparent; border-radius: var(--radius-sm); background: none; color: var(--text); font: 500 12.5px var(--font-ar); cursor: pointer; }
.aed-sel-btn svg { width: 14px; height: 14px; }
.aed-sel-btn:hover { border-color: var(--border-strong); }
.aed-sel-btn.is-accent { color: var(--aud-text); border-color: var(--aud-border); }
.aed-sel-btn.is-danger { color: #FF7A7C; }

.aed-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--border); }
.aed-tab-btn { flex: 1; min-height: 44px; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--muted); font: 600 13.5px var(--font-ar); cursor: pointer; }
.aed-tab-btn[aria-selected="true"] { border-bottom-color: var(--aud); color: var(--aud-text); }
.aed-tab { display: flex; flex-direction: column; gap: 12px; }
.aed-tab .aud-card { padding: 0; border: 0; background: none; }
.aed-tab-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.aed-tab-foot { display: flex; flex-wrap: wrap; gap: 8px; }
.aed-sub { margin: 4px 0 0; font-size: 12px; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: 0.05em; }
.aed-library { display: flex; flex-direction: column; gap: 10px; }
.aed-lib-title { margin: 0 0 6px; font-size: 12.5px; color: var(--text-2); }
.aed-mix-list { display: flex; flex-direction: column; gap: 10px; }
.aed-mix-row { display: flex; flex-direction: column; gap: 6px; padding: 10px; border: 1px solid var(--border); border-inline-start: 3px solid var(--strip); border-radius: var(--radius-md); background: var(--surface-inset); }
.aed-mix-row.is-dimmed { opacity: 0.55; }
.aed-mix-name { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 13px; }
.aed-mix-name .btn { margin-inline-start: auto; }
.aed-empty { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; padding: 28px; }
.aed-recent { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 0; padding: 0; list-style: none; }
.aed-export .modal-body { display: flex; flex-direction: column; gap: 12px; min-width: min(560px, 92vw); }
.aed-export h2 { margin: 0; font-size: 18px; }
.aed-field { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: var(--muted); }
.aed-field input[type="text"] { height: 40px; padding: 0 10px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-4); color: var(--text); font: 14px var(--font-ar); }
.aed-export progress { width: 100%; accent-color: var(--aud); }

/* Fixer (afx-*) */
.afx-list { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.afx-item { display: flex; flex-direction: column; gap: 6px; padding: 10px; border: 1px solid var(--border); border-inline-start: 3px solid var(--border-strong); border-radius: var(--radius-md); background: var(--surface-inset); }
.afx-item.is-high { border-inline-start-color: #F2484B; }
.afx-item.is-medium { border-inline-start-color: #FFB020; }
.afx-item.is-low { border-inline-start-color: var(--aud); }
.afx-item.is-fixed { opacity: 0.6; }
.afx-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.afx-top input { width: 18px; height: 18px; accent-color: var(--aud); }
.afx-sev { padding: 1px 8px; border-radius: var(--radius-pill); font: 600 11px var(--font-mono); text-transform: uppercase; letter-spacing: 0.04em; }
.afx-sev.is-high { background: var(--danger-soft-bg); color: #FF7A7C; }
.afx-sev.is-medium { background: #2A2512; color: #FFE7B0; }
.afx-sev.is-low { background: var(--aud-soft); color: var(--aud-text); }
.afx-title { font-weight: 600; font-size: 13.5px; }
.afx-track { margin-inline-start: auto; }
.afx-detail { margin: 0; color: var(--text-2); font-size: 12px; }
.afx-act { display: flex; align-items: end; gap: 10px; }
.afx-amount { flex: 1; }
.afx-done { color: var(--aud-text); font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.afx-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding-top: 4px; border-top: 1px solid var(--border); }
.afx-fill-list { max-height: 240px; overflow-y: auto; margin: 0; padding-inline-start: 18px; font-size: 13px; }

/* Replacer (arp-*) */
.arp .modal-body { display: flex; flex-direction: column; gap: 10px; width: min(720px, 94vw); max-height: 88vh; overflow-y: auto; }
.arp h2 { margin: 0; font-size: 18px; }
.arp-wave { width: 100%; height: 90px; border-radius: var(--radius-md); background: var(--bg-deep); }
.arp-words { margin: 0; padding: 8px 10px; border-radius: var(--radius-md); background: var(--surface-inset); font-size: 14px; line-height: 1.7; }
.arp-src-body { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 8px; }
.arp-url { flex: 1; min-width: 240px; height: 44px; padding: 0 10px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-4); color: var(--text); font: 13px var(--font-mono); }
.arp-take { margin: 0; color: var(--aud-text); font-size: 12.5px; }
.arp-count { min-width: 90px; font-size: 22px; font-weight: 700; color: var(--aud-text); }
.arp-match { display: flex; flex-direction: column; gap: 4px; }
.arp-opt { display: grid; grid-template-columns: 24px 170px minmax(0, 1fr); align-items: center; gap: 8px; min-height: 40px; cursor: pointer; }
.arp-opt input { width: 18px; height: 18px; accent-color: var(--aud); }
.arp-opt-label { font-size: 13.5px; font-weight: 500; }
.arp-opt-note { font-size: 12px; }
@media (max-width: 640px) { .arp-opt { grid-template-columns: 24px minmax(0, 1fr); } .arp-opt-note { grid-column: 2; } }
.arp-ab { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }

/* Entry points (Files → New, Home cards) — Audio teal, Transcriptor amber */
.menu-icon-audio { color: #5EE0C8; }
.menu-icon-transcribe { color: #FFB020; }
.home-card-icon-audio { border-radius: var(--radius-lg); background: #12302C; color: #5EE0C8; }
.home-card-icon-transcribe { border-radius: var(--radius-lg); background: #2A2512; color: #FFB020; }
.home-card-icon-audio svg, .home-card-icon-transcribe svg { width: 28px; height: 28px; }
