/* Harmonic calculator shell: toolbar, preview banner, status bar, phone view
   bar, file drop hint, the shell's dialogs (share, examples, about, shortcuts)
   and the printable report. Tokens only; state is drawn from aria-* attributes. */

/* ---- Toolbar ----------------------------------------------------------------------- */
.hc-toolbar { flex-wrap: nowrap; gap: var(--space-3); overflow: hidden; overflow: clip; }
.hc-toolbar > * { flex-shrink: 0; }

.hc-tb__brand { display: flex; align-items: baseline; gap: var(--space-3); white-space: nowrap; }
.hc-tb__eyebrow {
  font: var(--type-mono-sm); letter-spacing: var(--tracking-label); text-transform: uppercase;
  color: var(--text-secondary);
}
.hc-tb__name { font: var(--type-h4); font-weight: var(--fw-bold); letter-spacing: var(--tracking-tight); color: var(--text-primary); }
.hc-tb__divider { align-self: stretch; width: 1px; margin: var(--space-4) 0; background: var(--line-default); }

.hc-tb__title { display: flex; align-items: center; flex: 0 1 auto; min-width: 72px; max-width: 320px; }
.hc-titlebtn {
  display: inline-flex; align-items: center; gap: var(--space-2); min-width: 0; max-width: 100%;
  height: var(--control-h); padding: 0 var(--space-3);
  border: 1px solid transparent; border-radius: var(--radius-1);
  background: transparent; color: var(--text-primary); cursor: text;
  font: var(--type-body-sm); font-weight: var(--fw-semibold);
  transition: var(--transition-control);
}
.hc-titlebtn:hover { background: var(--surface-hover); border-color: var(--line-default); }
.hc-titlebtn:active { transform: translateY(1px); }
.hc-titlebtn__text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hc-titlebtn__icon { color: var(--text-secondary); }
.hc-titleinput { width: clamp(140px, 26vw, 320px); font-weight: var(--fw-semibold); }

.hc-tb__space { flex: 1 1 0; min-width: var(--space-2); }
.hc-tb__group { display: flex; align-items: center; gap: var(--space-1); }
.hc-tb__props, .hc-tb__more { display: none; }
.hc-tb__report .hc-icon { color: currentColor; }

/* Generator scenario unavailable: still clickable (it points to the setting), drawn disabled. */
.hc-seg > button[aria-disabled="true"],
.hc-seg > button[aria-disabled="true"]:hover { color: var(--text-muted); background: transparent; cursor: not-allowed; }

@media (max-width: 1180px) {
  .hc-tb__props { display: inline-flex; }
  .hc-tb__brand, .hc-tb__divider { display: none; }
}
@media (max-width: 1080px) {
  .hc-tb__long { display: none; }
}
@media (max-width: 900px) {
  .hc-tb__wide { display: none; }
  .hc-tb__more { display: inline-flex; }
}
@media (max-width: 760px) {
  .hc-toolbar { gap: var(--space-2); padding: 0 var(--space-3); }
  .hc-tb__history, .hc-tb__report, .hc-tb__props { display: none; }
  .hc-tb__title { max-width: none; }
}

/* ---- Preview banner -------------------------------------------------------------------- */
.hc-bannerbar { gap: var(--space-3); padding: var(--space-2) var(--space-4); }
.hc-bannerbar__dot { flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--amber-500); }
.hc-bannerbar__text { flex: 1 1 auto; min-width: 0; margin: 0; font: var(--type-body-sm); color: var(--text-primary); }
.hc-bannerbar__text strong { font-weight: var(--fw-semibold); }
.hc-bannerbar__x { flex: none; }

.hc-linkbtn {
  flex: none; display: inline-flex; align-items: center; min-height: 26px; padding: 0 var(--space-1);
  background: none; border: 0; border-radius: 0; cursor: pointer;
  font: var(--type-body-sm); font-weight: var(--fw-semibold); color: var(--text-link);
  text-decoration: underline; text-decoration-color: var(--red-200); text-underline-offset: 3px;
  transition: var(--transition-control);
}
.hc-linkbtn:hover { color: var(--text-link-hover); text-decoration-color: var(--red-500); }
@media (pointer: coarse) { .hc-linkbtn { min-height: 44px; } }

/* ---- Status bar -------------------------------------------------------------------------- */
.hc-statusbar { min-width: 0; }
.hc-sb__left { display: flex; align-items: center; gap: var(--space-4); min-width: 0; overflow: hidden; }
.hc-sb__left > span { flex: none; }
.hc-sb__sep { color: var(--ink-400); flex: none; }
.hc-sb__engine { flex: none; }
.hc-statusbar .hc-status { color: var(--text-inverse); }
.hc-sb__btn {
  flex: none; display: inline-grid; place-items: center; height: 18px; min-width: 18px; padding: 0 var(--space-2);
  border: 1px solid var(--line-chrome); border-radius: var(--radius-1);
  background: transparent; color: var(--text-inverse); cursor: pointer;
  font: var(--type-mono-sm); transition: var(--transition-control);
}
.hc-sb__btn:hover { background: var(--surface-hover-inverse); }
.hc-sb__btn:focus-visible { outline: none; box-shadow: var(--focus-ring-inverse); }
/* Storage failed: a warning and a Save file button, which never yield. */
.hc-sb__unsaved { display: inline-flex; align-items: center; gap: var(--space-3); }
@media (max-width: 1080px) {
  .hc-sb__left > .hc-sb__yield { display: none; }  /* calc time, saved time and their separators yield first */
}

/* ---- Recent projects (File menu) ------------------------------------------------------------ */
.hc-recent { display: flex; flex-direction: column; gap: 1px; min-width: 0; max-width: 300px; padding: 3px 0; text-align: left; }
.hc-recent__title, .hc-recent__meta { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hc-recent__title { color: var(--text-primary); }
.hc-recent__meta { font: var(--type-caption); font-variant-numeric: tabular-nums; color: var(--text-secondary); }

/* ---- Phone view bar ------------------------------------------------------------------------ */
.hc-mb__btn {
  position: relative; flex: 1 1 0; min-width: 0; min-height: 52px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-1);
  padding: var(--space-2); border: 0; background: transparent; cursor: pointer;
  color: var(--ink-200); font: var(--type-caption); font-weight: var(--fw-semibold);
  transition: var(--transition-control);
}
.hc-mb__btn:hover { background: var(--surface-hover-inverse); color: var(--text-inverse); }
.hc-mb__btn[aria-pressed="true"] { background: var(--ink-700); color: var(--text-inverse); }
.hc-mb__btn[aria-pressed="true"]::before {
  content: ''; position: absolute; top: 0; left: 24%; right: 24%; height: 2px; background: var(--red-500);
}
.hc-mb__btn:focus-visible { outline: none; box-shadow: inset 0 0 0 2px var(--red-400); }
.hc-mb__label { white-space: nowrap; }

/* ---- File drop hint -------------------------------------------------------------------------- */
.hc-drophint { z-index: 140; pointer-events: none; animation: ar-fade var(--dur-base) var(--ease-out); }
.hc-drophint__card {
  padding: var(--space-8) var(--space-9); text-align: center;
  background: var(--surface-card); border: 1px dashed var(--red-500); border-radius: var(--radius-2);
  box-shadow: var(--shadow-3); animation: ar-rise var(--dur-base) var(--ease-out);
}
.hc-drophint__title { font: var(--type-h3); color: var(--text-primary); }
.hc-drophint__sub { margin-top: var(--space-2); font: var(--type-mono); font-size: 12px; color: var(--text-secondary); }

/* ---- Share dialog ------------------------------------------------------------------------------ */
.hc-share__url { font: var(--type-mono); font-variant-numeric: tabular-nums; color: var(--text-primary); }
.hc-share__meta, .hc-share__note { margin: 0; }
.hc-share__meta { font: var(--type-mono); font-size: 12px; font-variant-numeric: tabular-nums; color: var(--text-secondary); }
.hc-share__note { color: var(--text-secondary); }
.hc-share__warn { margin: 0; white-space: normal; align-items: flex-start; }
.hc-share__warn::before { margin-top: 7px; }
.hc-share__warn[hidden] { display: none; }

/* ---- Examples gallery ---------------------------------------------------------------------------- */
.hc-gallerydlg .hc-dialog__body { background: var(--surface-page); gap: var(--space-4); }
.hc-gallery__intro { margin: 0; color: var(--text-secondary); }
.hc-gallery {
  list-style: none; margin: 0; padding: 0; min-height: 200px;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr)); gap: var(--space-5);
}
.hc-gallery__item { display: flex; min-width: 0; }
.hc-excard {
  display: flex; flex-direction: column; width: 100%; padding: 0; text-align: left;
  background: var(--paper-0); color: var(--text-body); cursor: pointer;
  border: 1px solid var(--line-default); border-radius: var(--radius-2); box-shadow: var(--shadow-1);
  transition: border-color var(--dur-fast) var(--ease-out);
}
.hc-excard:hover { border-color: var(--line-strong); }
.hc-excard:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.hc-excard:active { transform: translateY(1px); }
.hc-excard__thumb {
  display: block; aspect-ratio: 260 / 150; overflow: hidden;
  background: var(--surface-canvas); border-bottom: 1px solid var(--line-default);
  border-radius: var(--radius-2) var(--radius-2) 0 0;
}
.hc-excard__thumb > svg { display: block; width: 100%; height: 100%; }
.hc-excard__placeholder {
  display: grid; place-items: center; height: 100%;
  font: var(--type-mono); font-variant-numeric: tabular-nums; color: var(--text-secondary);
}
.hc-excard__body { flex: 1 1 auto; display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-4) var(--space-5) var(--space-5); }
.hc-excard__title { font: var(--type-h4); color: var(--text-primary); }
.hc-excard__desc { font: var(--type-body-sm); color: var(--text-body); }
.hc-excard__nums { margin-top: auto; padding-top: var(--space-2); font: var(--type-mono); font-variant-numeric: tabular-nums; color: var(--text-primary); }
.hc-excard__foot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); font: var(--type-caption); color: var(--text-secondary); }
.hc-excard__foot .hc-status { font: var(--type-caption); }

/* ---- About and shortcuts -------------------------------------------------------------------------- */
.hc-aboutdlg .hc-dialog__body p { margin: 0; }
.hc-about__label { margin: var(--space-3) 0 0; }
.hc-about__list { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: var(--space-2); }
.hc-about__meta {
  padding-top: var(--space-3); border-top: 1px solid var(--line-default);
  font: var(--type-mono); font-size: 12px; font-variant-numeric: tabular-nums; color: var(--text-secondary);
}

.hc-keysdlg .hc-dialog__body { gap: var(--space-5); }
.hc-keys__label { margin: 0 0 var(--space-3); }
.hc-keys__group + .hc-keys__group { padding-top: var(--space-4); border-top: 1px solid var(--line-default); }
.hc-keys { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: var(--space-3) var(--space-5); align-items: center; margin: 0; }
.hc-keys__keys { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin: 0; }
.hc-keys__combo { display: inline-flex; align-items: center; gap: var(--space-1); }
.hc-keys__plus, .hc-keys__or { font: var(--type-caption); color: var(--text-secondary); }
.hc-keys__action { margin: 0; color: var(--text-body); }
@media (max-width: 520px) { .hc-keys { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); } .hc-keys__action { margin-bottom: var(--space-3); } }

/* ---- Report: preview sheet ------------------------------------------------------------------------ */
.hc-reportdlg .hc-dialog__body { padding: 0; gap: 0; background: var(--surface-canvas); }
.hc-report-preview { display: flex; justify-content: center; min-height: 240px; padding: var(--space-7); }
@media (max-width: 760px) { .hc-report-preview { padding: var(--space-3); } }

.hc-report {
  width: min(210mm, 100%); flex: none; align-self: flex-start;
  display: flex; flex-direction: column; gap: var(--space-6);
  padding: 14mm 12mm;
  background: var(--paper-0); color: var(--text-body);
  border: 1px solid var(--line-default); border-radius: var(--radius-2); box-shadow: var(--shadow-1);
  font: var(--type-body-sm);
}
@media (max-width: 760px) { .hc-report { padding: var(--space-5); } }

.hc-report__head { display: flex; align-items: flex-end; gap: var(--space-6); padding-bottom: var(--space-4); border-bottom: 1px solid var(--line-strong); }
.hc-report__logo { display: block; height: 22px; width: auto; flex: none; }
.hc-report__titles { flex: 1 1 auto; min-width: 0; }
.hc-report__h1 { margin: 0; font: var(--type-h2); letter-spacing: var(--tracking-tight); color: var(--text-primary); }
.hc-report__sub { margin: var(--space-1) 0 0; color: var(--text-secondary); }
.hc-report__date { margin: 0; flex: none; font: var(--type-mono); font-variant-numeric: tabular-nums; color: var(--text-secondary); white-space: nowrap; }

.hc-report__sec { display: flex; flex-direction: column; gap: var(--space-3); }
.hc-report__h2 { margin: 0; padding-bottom: var(--space-2); border-bottom: 1px solid var(--line-default); font: var(--type-h4); color: var(--text-primary); }
.hc-report__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--space-3) var(--space-6); align-items: start; }
.hc-report__note { margin: 0; font: var(--type-caption); color: var(--text-secondary); }
.hc-report__figline { margin: 0; font: var(--type-mono); font-size: 12px; font-variant-numeric: tabular-nums; color: var(--text-secondary); }
.hc-report__errors, .hc-report__notes { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-2); }
.hc-report__errors .hc-status, .hc-report__notes .hc-status { white-space: normal; align-items: flex-start; color: var(--text-primary); }
.hc-report__errors .hc-status::before, .hc-report__notes .hc-status::before { margin-top: 6px; }
.hc-report__verdict { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); color: var(--text-primary); }
.hc-report__verdict .hc-status { font-weight: var(--fw-semibold); }

.hc-report__notice {
  display: flex; flex-direction: column; gap: var(--space-1);
  padding: var(--space-3) var(--space-4);
  background: var(--amber-100); border: 1px solid var(--line-default); border-radius: var(--radius-1);
}
.hc-report__notice .hc-status { font-weight: var(--fw-semibold); }
.hc-report__notice p { margin: 0; color: var(--text-primary); }

.hc-report__kv { width: 100%; border-collapse: collapse; }
.hc-report__kv th, .hc-report__kv td { padding: var(--space-2) 0; border-bottom: 1px solid var(--line-hairline); text-align: left; vertical-align: top; }
.hc-report__kv th { width: 42%; padding-right: var(--space-3); font-weight: var(--fw-regular); color: var(--text-secondary); }
.hc-report__kv td { color: var(--text-primary); overflow-wrap: anywhere; }
.hc-report__fig { font: var(--type-mono); font-size: 12px; font-variant-numeric: tabular-nums; }

.hc-report__tablewrap { overflow-x: auto; }
.hc-report__table { width: 100%; border-collapse: collapse; }
.hc-report__table th {
  padding: var(--space-2) var(--space-3); text-align: left; white-space: nowrap;
  font: var(--type-caption); font-weight: var(--fw-semibold); color: var(--text-primary);
  background: var(--surface-sunken); border-bottom: 1px solid var(--line-strong);
}
.hc-report__table td { padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--line-hairline); color: var(--text-body); vertical-align: top; }
.hc-report__table .hc-report__num { text-align: right; }
.hc-report__table td.hc-report__num { font: var(--type-mono); font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.hc-report__table--dense th, .hc-report__table--dense td { padding: 3px var(--space-2); }
.hc-report__table--key td:first-child { color: var(--text-primary); }
.hc-report__table .hc-status { font: var(--type-caption); }
.hc-report__table tr { break-inside: avoid; }

.hc-report__figure { margin: 0; display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }
.hc-report__figure figcaption { font: var(--type-caption); color: var(--text-secondary); }
.hc-report__svg { display: block; width: 100%; max-width: 100%; height: auto; }
.hc-report__pair { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--space-4); }

.hc-report__foot {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-1) var(--space-5);
  padding-top: var(--space-3); border-top: 1px solid var(--line-default);
  font: var(--type-mono); font-size: 12px; font-variant-numeric: tabular-nums; color: var(--text-secondary);
}

/* ---- Report: print --------------------------------------------------------------------------------- */
@page { size: A4; margin: 12mm; }
@media print {
  .hc-print { print-color-adjust: exact; -webkit-print-color-adjust: exact; color: var(--text-body); }
  .hc-print .hc-report { width: auto; padding: 0; gap: 14px; border: 0; border-radius: 0; box-shadow: none; }
  .hc-print .hc-report__tablewrap { overflow: visible; }
  .hc-print .hc-report__cols { grid-template-columns: 1fr 1fr; }
  .hc-print .hc-report__pair { grid-template-columns: 1fr 1fr; }
  .hc-report__head, .hc-report__notice, .hc-report__figure, .hc-report__kv, .hc-report__foot { break-inside: avoid; }
  .hc-report__h2 { break-after: avoid; }
}

/* Phones: the notice keeps its first clause only. */
@media (max-width: 760px) {
  .hc-bannerbar__more { display: none; }
}

/* Shared tool chrome, matching the heat calculator. */
.hc-toolbar { min-height: 64px; padding: 8px var(--space-5); gap: var(--space-3); }
.hc-toolbar .ar-btn, .hc-titlebtn { min-height: 44px; height: 44px; border-radius: 0; }
.hc-toolbar .ar-iconbtn { min-width: 44px; }
.hc-toolbar .ar-btn { gap: 8px; font: var(--type-body-sm); font-weight: var(--fw-semibold); }
.hc-tb__title { max-width: 240px; min-width: 0; flex-shrink: 1; }
.hc-tb__name { font: var(--type-body-sm); font-weight: var(--fw-bold); }
.hc-tb__brand { display: flex; }
.hc-tb__direct { gap: var(--space-3); }
.hc-tb__group { gap: var(--space-3); }
.hc-tb__scenario > button { min-height: 36px; height: 36px; }
.hc-bannerbar { border: 0; background: transparent; padding: 0; min-height: 36px; }
.hc-bannerbar__text { font: var(--type-caption); color: var(--text-secondary); }
.hc-bannerbar__x { display: none; }
.hc-bannerbar .hc-linkbtn { margin-left: auto; font: var(--type-caption); color: var(--text-secondary); }
.hc-other-tool { display: inline-flex; align-items: center; gap: 12px; padding: 12px 8px 12px 20px; border-left: 1px solid var(--line-chrome); color: var(--ink-100); font: var(--type-body-sm); white-space: nowrap; }
.hc-other-tool:hover { color: var(--text-inverse); }
@media (max-width: 1180px) { .hc-tb__direct { display: none; } .hc-tb__title { max-width: 220px; } }
@media (max-width: 1080px) { .hc-tb__brand { display: none; } .hc-bannerbar__more { display: none; } }
@media (max-width: 760px) {
  .hc-toolbar { padding: 8px; flex-wrap: wrap; gap: 8px; }
  .hc-tb__title { flex: 1; max-width: none; }
  .hc-tb__space { display: none; }
  .hc-tb__view, .hc-tb__calculate { flex-shrink: 0; }
  .hc-titlebtn { padding: 0; }
  .hc-other-tool { display: none; }
  .hc-bannerbar__text, .hc-bannerbar .hc-linkbtn { font-size: 11px; }
}

/* Diagram tools and network navigation use the same ruled hierarchy as Heat. */
.hc-rail.ar-rail { width: auto; display: flex; flex-direction: row; align-items: center; gap: 4px; padding: 4px 12px; background: var(--surface-card); border: 0; border-bottom: 1px solid var(--line-default); overflow-x: auto; overflow-y: hidden; }
.hc-rail .ar-rail__btn { display: inline-flex; flex-direction: row; justify-content: center; gap: 8px; width: auto; min-width: 68px; min-height: 44px; height: 44px; margin: 0; padding: 0 8px; color: var(--text-primary); border-radius: 0; }
.hc-rail .ar-rail__label { font: var(--type-body-sm); }
.hc-rail .ar-rail__btn:hover { background: var(--surface-hover); color: var(--text-primary); }
.hc-rail .ar-rail__btn[aria-pressed="true"] { background: var(--surface-sunken); color: var(--text-primary); }
.hc-rail .ar-rail__btn[aria-pressed="true"]::before { left: 0; right: 0; top: auto; bottom: 0; width: auto; height: 2px; }
.hc-rail .ar-rail__btn:focus-visible { box-shadow: var(--focus-ring); }
.hc-rail .hc-rail__sep { width: 1px; height: 24px; margin: 0 8px; background: var(--line-default); }
.hc-rail .ar-rail__spacer { flex: 1; }
.hc-outline .hc-ol__head { min-height: 52px; height: auto; background: var(--ink-800); border-color: var(--line-chrome); }
.hc-outline .ar-label, .hc-outline .hc-ol__name { color: var(--text-inverse); }
.hc-outline .hc-ol__count, .hc-outline .hc-ol__fig, .hc-outline .hc-ol__glyph { color: var(--ink-100); }
.hc-outline .hc-ol__close { color: var(--ink-100); min-height: 44px; min-width: 32px; }
.hc-outline .hc-ol__row { min-height: 48px; border-bottom: 1px solid var(--line-chrome); }
.hc-outline .hc-ol__row:hover, .hc-outline .hc-ol__row[data-hover="true"], .hc-outline .hc-ol__row[aria-selected="true"] { background: var(--ink-700); }
.hc-outline .hc-ol__row[aria-selected="true"] .hc-ol__glyph { color: var(--text-inverse); }
.hc-outline .hc-ol__row.is-off .hc-ol__name, .hc-outline .hc-ol__row.is-off .hc-ol__fig { color: var(--ink-200); }
@media (max-width:760px) {
  .hc-rail.ar-rail { padding: 2px 8px; }
  .hc-rail .ar-rail__btn { min-width: 60px; }
  .hc-rail .hc-rail__outline, .hc-rail .hc-rail__sep { display: none; }
  .hc-workspace[data-pane="properties"] { grid-template-rows: 0 minmax(0,1fr); }
  .hc-workspace[data-pane="properties"] .hc-rail { display: none; }
}

.hc-report-body { min-width: 0; }
.hc-report-allowance { margin: 0; padding: 12px 24px 0; font: var(--type-body-sm); color: var(--text-secondary); }

/* Calculator workspace alignment: shared red rules and quiet view controls. */
.hc-siteheader { border-bottom-color: var(--red-500) !important; }
.hc-statusbar { border-top: 1px solid var(--red-500); }
.hc-outline .hc-ol__head { border-bottom: 2px solid var(--red-500); }
.hc-outline .hc-ol__head .ar-label { color: var(--red-400); }
.hc-insp__head { border-bottom: 2px solid var(--red-500); }
.hc-insp-sec { border-bottom-color: var(--red-200); }
.hc-insp-sec__head.hc-panelhead { border-bottom-color: var(--red-200); }
.hc-insp-sec__toggle .ar-label, .hc-insp-sec__toggle:hover .ar-label { color: var(--red-500); font-weight: 700; }
.hc-insp-sec__toggle { border-left: 3px solid var(--red-500); }
.hc-canvas { box-shadow: inset 0 0 0 1px var(--red-500); }
.hc-rail.ar-rail { min-height: 54px; padding: 5px 10px; }
.hc-rail .hc-sld__zoom { position: static; flex: none; padding: 0; border: 0; border-radius: 0; box-shadow: none; gap: 3px; }
.hc-rail .hc-sld__zoom button { min-height: 44px; height: 44px; border: 0; border-radius: 0; background: transparent; }
.hc-rail .hc-sld__zoom button:hover { background: var(--surface-hover); }
.hc-rail .hc-sld__zoom .ar-iconbtn { min-width: 44px; }
.hc-seg > button { border-radius: 0; border: 0; min-height: 36px; }
.hc-seg > button[aria-pressed="true"] { background: var(--surface-sunken); box-shadow: inset 0 -2px var(--red-500); }
.hc-seg > button:hover:not(:disabled) { background: var(--surface-hover); }
.hc-seg { border-radius: 0; }
.hc-tb__view.ar-btn, .hc-tb__view.ar-btn--primary { background: var(--surface-card); color: var(--text-primary); border: 0; border-bottom: 2px solid var(--red-500); }
.hc-tb__view.ar-btn:hover { background: var(--surface-hover); }
@media (max-width: 1100px) { .hc-rail .hc-sld__zoomval { display: none; } }


.hc-workspace:not([data-view="results"]) { grid-template-rows: 54px minmax(0,1fr); }
.hc-rail .ar-rail__btn { flex-shrink: 0; }
@media (max-width: 1400px) {
  .hc-rail .hc-sld__zoomval { display: none; }
  .hc-rail .hc-rail__outline { min-width: 44px; }
  .hc-rail .hc-rail__outline .ar-rail__label { display: none; }
  .hc-rail .hc-rail__sep { margin: 0 3px; }
}
@media (max-width: 760px) {
  .hc-rail .ar-rail__btn { min-width: 44px; padding: 0 8px; }
  .hc-rail .ar-rail__label { display: none; }
}
