/* Harmonic results share the heat calculator's ruled surfaces and full-page views. */
.hc-workspace[data-view="results"] .hc-center { width: min(100%, 900px); justify-self: center; border-inline: 1px solid var(--line-default); }
.hc-workspace[data-view="results"] .hc-summary__grid,
.hc-workspace[data-view="results"] .hc-waves__grid,
.hc-workspace[data-view="results"] .hc-power { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; }
.hc-workspace[data-view="results"] .hc-waves__cell .hc-chartbox { flex: none; height: 320px; min-height: 320px; }
.hc-bus-waves { display: grid; gap: 12px; margin-top: 16px; min-width: 0; }
.hc-bus-waves h4 { margin: 0 0 4px; font: var(--type-body-sm); font-weight: 600; }
.hc-bus-waves svg { width: 100%; height: auto; }
.hc-bus-waves p { margin: 0; font: var(--type-body-sm); color: var(--text-secondary); }
.hc-hovercard:has(.hc-bus-hover) { width: min(380px, calc(100vw - 16px)); max-width: 380px; max-height: calc(100vh - 16px); overflow: hidden; }
.hc-kpis [hidden], .hc-dock [hidden] { display: none !important; }

/* Compact, readable figures on both workspaces. */
.hc-kpis { position: relative; z-index: 4; container: hc-kpis / inline-size; }
.hc-kpis__row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); min-width: 0; }
.hc-kpi { position: relative; min-width: 0; display: grid; gap: 4px; padding: 12px 16px; background: var(--surface-card); border-right: 1px solid var(--line-default); transition: var(--transition-control); }
.hc-kpi:last-child { border-right: 0; }
.hc-workspace[data-view="results"] .hc-kpi { padding: 8px 16px; gap: 2px; }
.hc-workspace[data-view="results"] .hc-kpi__value { font-size: 22px; }
.hc-kpi:hover { background: var(--surface-hover); }
.hc-kpi > :not(.hc-kpi__hit) { position: relative; z-index: 1; pointer-events: none; min-width: 0; }
.hc-kpi__hit { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; min-height: 44px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; cursor: pointer; }
.hc-kpi__hit:focus-visible { outline: 2px solid var(--red-500); outline-offset: -2px; box-shadow: none; }
.hc-kpi__top { display: flex; min-width: 0; }
.hc-kpi__label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: var(--type-label); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--text-secondary); }
.hc-kpi__label-short { display: none; }
.hc-lc { text-transform: none; }
.hc-kpi__main { display: flex; align-items: baseline; gap: 6px; min-width: 0; overflow: hidden; }
.hc-kpi__value { display: inline-flex; align-items: baseline; flex: 0 1 auto; min-width: 0; white-space: nowrap; font: 600 24px/1.3 var(--font-mono); font-variant-numeric: tabular-nums; color: var(--text-primary); }
.hc-kpi__num { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.hc-kpi__prefix:not(:empty) { flex: none; margin-right: 6px; font-size: 13px; font-weight: 500; color: var(--text-secondary); }
.hc-kpi__unit:not(:empty) { flex: none; margin-left: 4px; font-size: 13px; font-weight: 500; color: var(--text-secondary); }
.hc-kpi__value[data-kind="text"] { align-items: center; gap: 8px; font: 600 20px/1.55 var(--font-sans); letter-spacing: var(--tracking-tight); }
.hc-kpi[data-tone] .hc-kpi__value[data-kind="text"]::before { content: ''; flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--ink-300); }
.hc-kpi[data-tone="pass"] .hc-kpi__value::before { background: var(--green-500); }
.hc-kpi[data-tone="fail"] .hc-kpi__value::before { background: var(--red-500); }
.hc-kpi[data-tone="warn"] .hc-kpi__value::before { background: var(--amber-500); }
.hc-kpi[data-tone="info"] .hc-kpi__value::before { background: var(--blue-500); }
.hc-kpi__delta { flex: none; margin-left: auto; color: var(--text-secondary); white-space: nowrap; }
.hc-kpi__delta[data-tone="danger"] { color: var(--text-danger); }
.hc-kpi__sub { display: flex; align-items: center; gap: 6px; min-height: 18px; min-width: 0; font: 500 12px/1.5 var(--font-mono); font-variant-numeric: tabular-nums; color: var(--text-secondary); white-space: nowrap; }
.hc-kpi__status { flex: none; font: 500 12px/1.4 var(--font-sans); }
.hc-kpi__subtext { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.hc-kpi .hc-kpi__action { position: relative; flex: none; pointer-events: auto; min-height: 44px; height: 44px; margin: -13px 0 -13px -6px; padding: 0 6px; font-size: 12px; white-space: nowrap; }
@container hc-kpis (max-width: 700px) {
  .hc-kpi { padding: 10px; }
  .hc-kpi__value { font-size: 20px; }
  .hc-kpi__value[data-kind="text"] { font-size: 16px; }
  .hc-kpi[data-short] .hc-kpi__label-full { display: none; }
  .hc-kpi[data-short] .hc-kpi__label-short { display: inline; }
}
@container hc-kpis (max-width: 520px) {
  .hc-kpis__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hc-kpi:nth-child(2n) { border-right: 0; }
  .hc-kpi:nth-child(-n + 2) { border-bottom: 1px solid var(--line-default); }
}
@keyframes hc-kpi-flash-a { from { background-color: var(--surface-hover); } to { background-color: var(--surface-card); } }
@keyframes hc-kpi-flash-b { from { background-color: var(--surface-hover); } to { background-color: var(--surface-card); } }
.hc-kpi--flash-a { animation: hc-kpi-flash-a var(--dur-slow) var(--ease-out); }
.hc-kpi--flash-b { animation: hc-kpi-flash-b var(--dur-slow) var(--ease-out); }

/* A full results workspace, with the same 44px underline tabs as heat results. */
.hc-dock { display: flex; flex-direction: column; min-height: 0; min-width: 0; container: hc-dock / inline-size; background: var(--surface-page); }
.hc-dock__head { flex: none; display: flex; flex-wrap: wrap; align-items: center; min-height: 44px; gap: 0 var(--space-4); padding: 0 var(--space-5); background: var(--surface-card); border-bottom: 1px solid var(--line-default); }
.hc-dock__tabs { flex: 1 1 auto; min-width: 0; display: flex; flex-wrap: wrap; align-items: stretch; overflow: visible; }
.hc-dock__tab { flex: 0 0 auto; min-height: 44px; height: 44px; padding: 0 14px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: var(--text-secondary); white-space: nowrap; font: 600 13px/1 var(--font-sans); transition: var(--transition-control); }
.hc-dock__tab:hover { background: var(--surface-hover); color: var(--text-primary); }
.hc-dock__tab[aria-selected="true"] { border-bottom-color: var(--red-500); color: var(--text-primary); background: var(--surface-sunken); }
.hc-dock__tab:focus-visible { outline: 2px solid var(--red-500); outline-offset: -3px; box-shadow: none; }
.hc-dock__select { display: none; }
.hc-dock__tools { flex: none; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.hc-dock__tools .ar-btn { min-height: 44px; }
.hc-dock__units { padding: 0; }
.hc-dock__units > button { min-height: 44px; padding: 0 12px; }
.hc-dock__compare { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.hc-dock__baseline { color: var(--text-secondary); padding-left: 4px; }
.hc-dock__body { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.hc-dock__panel { position: relative; flex: 1 1 auto; min-height: 0; min-width: 0; display: flex; flex-direction: column; overflow: auto; overscroll-behavior: contain; }
.hc-dock__foot { flex: none; min-height: 44px; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); padding: 0 var(--space-5); border-top: 1px solid var(--line-default); background: var(--surface-card); font: 400 12px/1.5 var(--font-sans); color: var(--text-secondary); }
.hc-dock__notesbtn { flex: none; display: inline-flex; align-items: center; min-height: 44px; margin: 0; padding: 0 8px; border: 0; border-radius: var(--radius-1); background: transparent; cursor: pointer; font: var(--type-body-sm); color: var(--text-primary); transition: var(--transition-control); }
.hc-dock__notesbtn:hover, .hc-dock__notesbtn[aria-expanded="true"] { background: var(--surface-hover); }
.hc-dock__notesbtn:focus-visible { outline: 2px solid var(--red-500); outline-offset: -2px; }
.hc-dock__notes { flex: 0 1 auto; max-height: 45%; min-height: 0; display: flex; flex-direction: column; border-top: 1px solid var(--line-default); background: var(--surface-sunken); animation: ar-rise var(--dur-base) var(--ease-out); }
.hc-dock__noteshead { flex: none; display: flex; align-items: center; min-height: 44px; padding: 0 var(--space-5); }
.hc-dock__noteshead .ar-btn { min-width: 44px; min-height: 44px; }
.hc-dock__notestitle { margin: 0; font: var(--type-label); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--text-secondary); }
.hc-dock__noteslist { flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; margin: 0; padding: 0 24px 16px 36px; font: var(--type-body-sm); color: var(--text-body); user-select: text; }
.hc-dock__noteslist li { margin: 0 0 8px; }
.hc-dock__errors { flex: 1 1 auto; min-height: 0; overflow: auto; padding: var(--space-7); color: var(--text-body); }
.hc-dock__errors ul { margin: var(--space-3) 0; padding-left: 18px; }
.hc-dock__errtitle { font: var(--type-h4); color: var(--text-primary); }
.hc-dock__errhint { color: var(--text-secondary); }

/* Charts keep their useful physical height; short windows scroll the results page. */
.hc-view { flex: 1 0 auto; min-width: 0; display: flex; flex-direction: column; container-type: inline-size; }
.hc-view--chart { flex: 1 0 292px; padding: var(--space-5); min-height: 292px; }
.hc-view--chart > .hc-chartbox { flex: 1 1 auto; height: auto; min-height: 260px; }
.hc-view--scroll { padding: var(--space-7); }
.hc-view__stack { display: flex; flex-direction: column; gap: var(--space-5); min-width: 0; }
.hc-view__bar { flex: none; min-height: 44px; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); padding: 4px var(--space-5); border-bottom: 1px solid var(--line-default); }
.hc-view__bar .ar-btn { min-height: 44px; }
.hc-view__meta { margin: 0; font: 500 12px/1.6 var(--font-mono); font-variant-numeric: tabular-nums; color: var(--text-secondary); min-width: 0; }
.hc-view__bar .hc-view__meta { flex: 1 1 480px; }
.hc-view__title { margin: 0 0 12px; font: 600 14px/1.5 var(--font-sans); color: var(--text-primary); }
.hc-view__title--section { margin-top: 8px; }
.hc-view__verdict { display: flex; align-items: center; gap: var(--space-4); margin: 0; color: var(--text-primary); }
.hc-results__empty { flex: 1 1 auto; min-height: 240px; }
.hc-results__empty p { margin: 0; }
.hc-callout { display: flex; align-items: center; gap: var(--space-4); flex-wrap: wrap; padding: 12px 16px; background: var(--surface-sunken); border: 1px solid var(--line-default); border-radius: var(--radius-2); color: var(--text-body); }
.hc-callout .ar-btn { min-height: 44px; }
.hc-chartbox { position: relative; flex: 1 0 auto; height: clamp(340px, 48vh, 560px); min-height: 340px; min-width: 0; overflow: hidden; }
.hc-chartbox > svg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
.hc-waves { flex: 1 0 314px; min-height: 314px; padding: var(--space-5); }
.hc-waves__grid { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); gap: var(--space-5); align-items: stretch; }
.hc-waves__cell { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 0; padding: 12px; border: 1px solid var(--line-default); border-radius: var(--radius-2); background: var(--surface-card); }
.hc-waves__cell .hc-view__title { margin-bottom: 8px; }
.hc-waves__cell .hc-chartbox { flex: 1 1 auto; height: auto; min-height: 230px; }

/* Summary drawing sheet. */
.hc-results-heading { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: var(--space-5); margin-bottom: var(--space-7); }
.hc-results-heading h2 { margin: 0 0 8px; font: 600 22px/1.3 var(--font-sans); letter-spacing: var(--tracking-tight); color: var(--text-primary); }
.hc-results-heading p { margin: 0; font: var(--type-body-sm); color: var(--text-secondary); }
.hc-results-heading .ar-btn { min-height: 44px; }
.hc-summary__metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: var(--space-7); border: 1px solid var(--line-default); border-radius: var(--radius-2); overflow: hidden; }
.hc-summary__metric { text-align: left; border: 0; border-right: 1px solid var(--line-default); background: var(--surface-card); padding: var(--space-5); display: flex; flex-direction: column; gap: 8px; min-width: 0; cursor: pointer; color: var(--text-secondary); font: 500 12px/1.5 var(--font-mono); font-variant-numeric: tabular-nums; }
.hc-summary__metric:last-child { border-right: 0; }
.hc-summary__metric:hover { background: var(--surface-hover); }
.hc-summary__metric:focus-visible { outline: 2px solid var(--red-500); outline-offset: -3px; }
.hc-summary__metric strong { font: 600 22px/1.3 var(--font-mono); color: var(--text-primary); }
.hc-summary__metric-label { font: var(--type-label); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.hc-summary__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: var(--space-7); align-items: stretch; }
.hc-result-card { min-width: 0; background: var(--surface-card); border: 1px solid var(--line-default); border-radius: var(--radius-2); padding: var(--space-5); }
.hc-result-card h3 { margin: 0 0 16px; color: var(--text-primary); font: 600 14px/1.5 var(--font-sans); }
.hc-result-card__head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; margin: -8px 0 8px; }
.hc-result-card__head h3 { margin: 0; }
.hc-result-card__head .ar-btn { min-height: 44px; }
.hc-result-card__note { margin: 20px 0 0; font: var(--type-body-sm); color: var(--text-secondary); }
.hc-summary__facts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 12px; margin: 0; font: var(--type-body-sm); }
.hc-summary__facts dt { color: var(--text-secondary); }
.hc-summary__facts dd { margin: 0; text-align: right; font: var(--type-mono); font-variant-numeric: tabular-nums; color: var(--text-primary); overflow-wrap: anywhere; }
.hc-summary__comparison { margin-top: var(--space-7); }
.hc-summary__reading { display: block; margin: 0 0 12px; font: 600 36px/1.3 var(--font-mono); font-variant-numeric: tabular-nums; color: var(--text-primary); }
/* The generator sheet also fits a laptop viewport; its detailed spectrum remains one tab away. */
.hc-generator { flex: 1 0 332px; min-height: 332px; padding: var(--space-5); }
.hc-generator .hc-results-heading { flex: none; align-items: center; margin-bottom: 12px; gap: 8px; }
.hc-generator .hc-results-heading h2 { margin: 0; font-size: 20px; }
.hc-generator .hc-summary__grid { flex: 1 1 auto; min-height: 0; grid-template-rows: minmax(0, 1fr); gap: var(--space-5); }
.hc-generator .hc-result-card { display: flex; flex-direction: column; padding: 12px; min-height: 0; }
.hc-generator .hc-result-card h3 { flex: none; margin-bottom: 8px; }
.hc-generator .hc-chartbox { flex: 1 1 auto; height: auto; min-height: 200px; }
.hc-generator .hc-summary__reading { flex: none; margin-bottom: 12px; font-size: 30px; }
.hc-generator .hc-summary__facts { flex: none; margin-top: 0; gap: 8px 12px; font-size: 12px; line-height: 1.5; }
.hc-generator .hc-summary__facts dd { font-size: 12px; line-height: 1.5; }
.hc-generator .hc-result-card__note { margin-top: 12px; font-size: 12px; line-height: 1.5; }
@container hc-dock (max-width: 950px) {
  .hc-dock__head { padding: 0 var(--space-3); }
  .hc-dock__tab { padding: 0 10px; }
  .hc-dock__tabs { flex-basis: 100%; }
  .hc-dock__tools { padding-left: 4px; }
  .hc-summary__grid { grid-template-columns: minmax(0, 1fr); }
  .hc-waves, .hc-generator { flex: 1 0 auto; min-height: 0; }
  .hc-waves__grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
  .hc-waves__cell .hc-chartbox { flex: none; height: 300px; min-height: 280px; }
  .hc-generator .hc-summary__grid { grid-template-rows: none; }
  .hc-generator .hc-chartbox { flex: none; height: 300px; min-height: 280px; }
}
@container hc-dock (max-width: 600px) {
  .hc-view--scroll, .hc-view--chart, .hc-waves { padding: var(--space-5); }
  .hc-dock__tabs { display: none; }
  .hc-dock__select { display: block; flex: 1 1 160px; min-height: 44px; margin: 4px 0; }
  .hc-dock__tools { flex: 1 1 auto; justify-content: space-between; padding: 0; }
  .hc-summary__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hc-summary__metric:nth-child(2n) { border-right: 0; }
  .hc-summary__metric:nth-child(-n + 2) { border-bottom: 1px solid var(--line-default); }
  .hc-dock__foot { gap: 4px 8px; padding: 4px 12px; }
  .hc-dock__foot .hc-grow { display: none; }
}
@container hc-dock (min-width: 760px) {
  .hc-dock__tabs { flex-basis: auto; }
}

/* Tables: Manager .ar-table, numbers right aligned in mono. Values can be
   selected and copied (the vendored chrome turns selection off in tbody). */
.hc-tablewrap { flex: 0 0 auto; min-height: 0; overflow-x: auto; }
.hc-table { width: 100%; }
.hc-table tbody { user-select: text; }
.hc-table td.ar-cell--mono { font: var(--type-mono); font-variant-numeric: tabular-nums; }
.hc-table th.ar-cell--num { text-align: right; }
.hc-table th.ar-cell--num .hc-sortbtn { flex-direction: row-reverse; }
.hc-view__stack .hc-tablewrap { flex: none; overflow-x: auto; border: 1px solid var(--line-default); }
.hc-view__stack .hc-table { table-layout: auto; }
.hc-sortbtn__icon { display: inline-flex; width: 14px; height: 14px; }
.hc-table thead th .hc-sortbtn:hover { color: var(--text-primary); }
.hc-table thead th .hc-sortbtn:focus-visible { outline: 2px solid var(--red-500); outline-offset: 1px; box-shadow: none; }
.hc-drives tbody tr { cursor: pointer; }
.hc-rowbtn {
  max-width: 100%; margin: 0; padding: 0; border: 0; background: none; cursor: pointer;
  font: inherit; color: var(--text-primary); text-align: left;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.hc-rowbtn:hover { text-decoration: underline; text-decoration-color: var(--line-strong); }
.hc-rowbtn:focus-visible { outline: 2px solid var(--red-500); outline-offset: 1px; box-shadow: none; }
.hc-rowbtn[aria-current="true"] { font-weight: 600; }

/* Power */
.hc-power { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: var(--space-7); align-items: start; }
@container (max-width: 640px) { .hc-power { grid-template-columns: minmax(0, 1fr); } }
.hc-power__kv { grid-template-columns: 148px minmax(0, 1fr); gap: 6px 12px; margin: 0; }
.hc-power__kv dd { font: var(--type-mono); font-variant-numeric: tabular-nums; }
.hc-pbars { display: grid; gap: 8px; }
.hc-pbar { display: grid; grid-template-columns: 36px minmax(0, 1fr) 92px; align-items: center; gap: var(--space-3); }
.hc-pbar__label { color: var(--text-secondary); }
.hc-pbar__value { text-align: right; color: var(--text-primary); }
.hc-pbar__track { position: relative; height: 12px; }
.hc-pbar__fill { height: 100%; width: 0; transition: width var(--dur-slow) var(--ease-out); }
.hc-pbar__fill--s1 { background: var(--ink-500); }
.hc-pbar__fill--s { background: var(--ink-900); }
.hc-pbar__fill--s.is-over { background: var(--red-500); }
.hc-pbar__fill--rating { background: transparent; border: 1px solid var(--blue-500); }

/* ---- Charts --------------------------------------------------------------------------- */
.hc-chart { display: block; overflow: hidden; user-select: none; font-family: var(--font-sans); }
.hc-chart text { font-family: var(--font-sans); }
.hc-chart .hc-chart__tick, .hc-chart .hc-chart__value {
  font-family: var(--font-mono); font-size: 11px; font-weight: 500; font-variant-numeric: tabular-nums; fill: var(--text-secondary);
}
.hc-chart .hc-chart__value { fill: var(--text-primary); }
.hc-chart .hc-chart__title { font-size: 11px; font-weight: 600; letter-spacing: 0.09em; fill: var(--text-secondary); }
.hc-chart .hc-chart__legend, .hc-chart .hc-chart__note { font-size: 12px; fill: var(--text-secondary); }
.hc-chart__grid { stroke: var(--line-default); stroke-width: 1; shape-rendering: crispEdges; }
.hc-chart__axis, .hc-chart__zero { stroke: var(--line-strong); stroke-width: 1; shape-rendering: crispEdges; }

.hc-spec__bar { fill: var(--ink-500); transition: fill var(--dur-fast) var(--ease-out); }
.hc-spec__bar.is-over { fill: var(--red-500); }
.hc-spec__bar.is-active { fill: var(--ink-900); }
.hc-spec__bar.is-over.is-active { fill: var(--red-700); }
.hc-spec__ghost { fill: none; stroke: var(--ink-300); stroke-width: 1; shape-rendering: crispEdges; }
.hc-spec__ieee { stroke: var(--line-strong); stroke-width: 1.25; stroke-dasharray: 4 2; }
/* Caret at the top of the plot: this order's limit is above the scale. */
.hc-spec__cap { fill: none; stroke: var(--line-strong); stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; }
.hc-spec__ref { stroke: var(--line-strong); stroke-width: 1.25; stroke-dasharray: 4 3; }
.hc-spec__hit { fill: transparent; stroke: none; }
.hc-spec__hit:focus { outline: none; }
.hc-spec__hit:focus-visible { stroke: var(--red-500); stroke-width: 2px; box-shadow: none; }

.hc-wave__dist { fill: none; stroke: var(--ink-900); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.hc-wave__fund { fill: none; stroke: var(--blue-500); stroke-width: 1.25; stroke-dasharray: 5 3; }
.hc-wave__base { fill: none; stroke: var(--ink-300); stroke-width: 1; }
.hc-wave__cross { stroke: var(--line-strong); stroke-width: 1; shape-rendering: crispEdges; }
.hc-wave__dot { stroke: var(--surface-card); stroke-width: 2; }
.hc-wave__dot--dist { fill: var(--ink-900); }
.hc-wave__dot--fund { fill: var(--blue-500); }
.hc-wave__timebg { fill: var(--surface-card); stroke: var(--line-default); stroke-width: 1; }
.hc-wave__overlay { fill: transparent; cursor: crosshair; }
.hc-wave__overlay:focus { outline: none; }
.hc-wave__overlay:focus-visible { stroke: var(--red-500); stroke-width: 2px; box-shadow: none; }

/* Dark theme: data ink steps up the ramp so marks read on the dark card. */
[data-theme="dark"] .hc-spec__bar { fill: var(--ink-200); }
[data-theme="dark"] .hc-spec__bar.is-active { fill: var(--ink-50); }
[data-theme="dark"] .hc-spec__bar.is-over { fill: var(--red-400); }
[data-theme="dark"] .hc-spec__bar.is-over.is-active { fill: var(--red-300); }
[data-theme="dark"] .hc-spec__ghost, [data-theme="dark"] .hc-wave__base { stroke: var(--ink-400); }
[data-theme="dark"] .hc-wave__dist { stroke: var(--ink-50); }
[data-theme="dark"] .hc-wave__dot--dist { fill: var(--ink-50); }
[data-theme="dark"] .hc-pbar__fill--s1 { background: var(--ink-300); }
[data-theme="dark"] .hc-pbar__fill--s { background: var(--ink-50); }
[data-theme="dark"] .hc-pbar__fill--s.is-over { background: var(--red-400); }

