/* LamiOmicsDB secondary-page unification layer.
   Scope: gene/sequence, tree, tools, references and error routes only.
   The approved homepage, species pages and pathway pages intentionally do not
   load this stylesheet and remain byte-for-byte unchanged. */

.unified-secondary-page .app-page {
  padding-bottom: 64px;
}

.unified-secondary-page .page-heading {
  padding-top: 24px;
}

.unified-secondary-page .page-heading h1 {
  max-width: 980px;
}

.unified-secondary-page .page-actions .button {
  white-space: nowrap;
}

/* Generic scientific record language */
.record-identity {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 28px;
  padding: 25px 0 28px;
  border-bottom: 1px solid var(--line-strong);
}
.record-identity h1 {
  margin: 0;
  color: var(--ink);
  font-family: var(--font-editorial);
  font-size: clamp(38px, 4vw, 58px);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
}
.record-identity h1 small {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: 17px;
  font-weight: 400;
  letter-spacing: 0;
}
.record-identity-copy { min-width: 0; }
.record-identity-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 9px;
}
.record-meta-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--line-strong);
}
.record-meta-strip > div {
  min-width: 0;
  padding: 15px 18px;
  border-right: 1px solid var(--line);
}
.record-meta-strip > div:last-child { border-right: 0; }
.record-meta-strip span {
  display: block;
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .055em;
}
.record-meta-strip strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
  overflow-wrap: anywhere;
}
.record-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 30px;
  align-items: start;
  padding-top: 30px;
}
.record-main { min-width: 0; }
.record-aside-unified {
  position: sticky;
  top: calc(var(--header-primary-height) + var(--header-nav-height) + 18px);
  display: grid;
  gap: 16px;
}
.record-copy {
  color: var(--ink-soft);
  font-size: 15px;
  line-height: 1.75;
}
.record-copy p { margin: 0 0 15px; }
.record-fact-list { margin: 0; }
.record-fact-list > div {
  display: grid;
  grid-template-columns: 115px minmax(0, 1fr);
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid var(--line);
}
.record-fact-list > div:first-child { border-top: 0; padding-top: 0; }
.record-fact-list dt { color: var(--muted); font-size: 12px; }
.record-fact-list dd { margin: 0; color: var(--ink-soft); font-size: 13px; overflow-wrap: anywhere; }
.record-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--line);
  background: var(--surface-raised);
}
.record-stat-grid > div {
  min-height: 92px;
  display: grid;
  align-content: center;
  padding: 14px 16px;
  border-right: 1px solid var(--line);
}
.record-stat-grid > div:last-child { border-right: 0; }
.record-stat-grid strong {
  color: var(--gold-700);
  font-family: var(--font-editorial);
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.record-stat-grid span { margin-top: 5px; color: var(--muted); font-size: 12px; }

/* Gene atlas and gene record */
.gene-atlas-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(170px, 240px) minmax(170px, 240px) auto;
  gap: 10px;
  align-items: end;
  padding: 18px 0 14px;
}
.gene-atlas-toolbar .search-field { height: 42px; }
.gene-atlas-toolbar select {
  width: 100%;
  height: 42px;
  padding: 0 10px;
  color: var(--ink);
  background: var(--surface-raised);
  border: 1px solid var(--line-strong);
  border-radius: 6px;
}
.gene-atlas-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 9px 0 13px;
  color: var(--muted);
  font-size: 13px;
}
.gene-atlas-summary strong { color: var(--ink); }
.gene-symbol-cell strong {
  display: block;
  color: var(--ink);
  font-family: var(--font-mono);
  font-size: 13px;
}
.gene-symbol-cell small { display: block; margin-top: 2px; color: var(--muted); }
.gene-evidence-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.copy-distribution {
  min-height: 210px;
  display: flex;
  align-items: end;
  gap: 15px;
  padding: 25px 8px 4px;
}
.copy-distribution-item {
  flex: 1 1 0;
  min-width: 54px;
  display: grid;
  grid-template-rows: 24px 130px auto auto;
  justify-items: center;
  gap: 4px;
}
.copy-distribution-item > strong { color: var(--ink); font-size: 13px; }
.copy-distribution-track {
  width: min(38px, 75%);
  height: 130px;
  display: flex;
  align-items: end;
  background: var(--surface-soft);
  border: 1px solid var(--line);
}
.copy-distribution-track i {
  width: 100%;
  min-height: 4px;
  background: linear-gradient(180deg, var(--lavender-500), var(--gold-600));
}
.copy-distribution-item span { color: var(--ink-soft); font-size: 12px; }
.copy-distribution-item small { color: var(--muted); font-size: 10px; }
.sequence-card-list { display: grid; border-top: 1px solid var(--line-strong); }
.sequence-card-row {
  display: grid;
  grid-template-columns: minmax(210px, 1fr) 92px 120px minmax(170px, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 68px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}
.sequence-card-row code { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Sequence directory and viewer */
.sequence-filter-grid {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(160px, 220px) minmax(160px, 220px) auto;
  gap: 10px;
  align-items: end;
  padding: 18px 0 13px;
}
.sequence-filter-grid select,
.sequence-filter-grid input {
  width: 100%;
  height: 42px;
  padding: 0 10px;
  color: var(--ink);
  background: var(--surface-raised);
  border: 1px solid var(--line-strong);
  border-radius: 6px;
}
.sequence-viewer-frame {
  overflow: hidden;
  background: var(--surface-contrast);
  border: 1px solid var(--line-strong);
  border-radius: 7px;
}
.sequence-viewer-toolbar {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding: 7px 10px;
  color: var(--ink-soft);
  background: var(--surface-soft);
  border-bottom: 1px solid var(--line);
}
.sequence-viewer-toolbar-group { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.sequence-viewer-toolbar .button { min-height: 34px; }
.sequence-viewer-header {
  padding: 14px 16px;
  color: var(--gold-300);
  background: #11101a;
  border-bottom: 1px solid rgba(255,255,255,.12);
  font-family: var(--font-mono);
  font-size: 13px;
  overflow-wrap: anywhere;
}
.sequence-viewer-content {
  max-height: 560px;
  overflow: auto;
  padding: 18px;
  color: #f4edf9;
  background: #0a0910;
  font-family: var(--font-mono);
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: .035em;
  white-space: pre;
  tab-size: 4;
}
.sequence-viewer-content.is-wrapped { white-space: pre-wrap; overflow-wrap: anywhere; }
.sequence-line {
  display: grid;
  grid-template-columns: 70px minmax(max-content, 1fr);
  gap: 14px;
}
.sequence-line-number { color: #9a8da4; text-align: right; user-select: none; }
.sequence-line-bases { color: #f4edf9; }
.sequence-download-note { margin: 10px 0 0; color: var(--muted); font-size: 12px; }

/* References */
.reference-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 220px auto;
  gap: 10px;
  align-items: end;
  padding: 18px 0 14px;
}
.reference-toolbar input,
.reference-toolbar select {
  width: 100%;
  height: 42px;
  padding: 0 10px;
  color: var(--ink);
  background: var(--surface-raised);
  border: 1px solid var(--line-strong);
  border-radius: 6px;
}
.reference-records { border-top: 1px solid var(--line-strong); }
.reference-record {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) 170px;
  gap: 22px;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}
.reference-year {
  color: var(--gold-700);
  font-family: var(--font-editorial);
  font-size: 25px;
  font-weight: 600;
}
.reference-record h2 {
  margin: 0;
  color: var(--ink);
  font-family: var(--font-editorial);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
}
.reference-record p { margin: 6px 0 0; color: var(--muted); line-height: 1.55; }
.reference-record-meta { display: grid; align-content: start; gap: 5px; color: var(--muted); font-size: 12px; }
.reference-record-meta strong { color: var(--ink-soft); }
.reference-copy-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }

/* Phylogeny hub and dedicated viewer */
.tree-layer-list-unified { border-top: 1px solid var(--line-strong); }
.tree-layer-item {
  display: grid;
  grid-template-columns: 46px minmax(260px, 1.25fr) 110px 110px minmax(170px, .8fr) auto;
  align-items: center;
  gap: 15px;
  min-height: 88px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.tree-layer-item > svg { width: 38px; height: 38px; color: var(--lavender-700); }
.tree-layer-item h2 { margin: 0; font-family: var(--font-editorial); font-size: 18px; font-weight: 600; }
.tree-layer-item p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.tree-layer-item > span,
.tree-layer-item > strong { color: var(--ink-soft); font-size: 13px; }
.tree-viewer-page-shell { width: calc(100% - (var(--page-gutter) * 2)); max-width: 1840px; margin-inline: auto; }
.tree-viewer-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--line-strong);
}
.tree-viewer-summary > div { padding: 12px 16px; border-right: 1px solid var(--line); }
.tree-viewer-summary > div:last-child { border-right: 0; }
.tree-viewer-summary span { display: block; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
.tree-viewer-summary strong { display: block; margin-top: 3px; color: var(--ink); font-size: 14px; }
.tree-viewer-primary {
  min-height: 640px;
  margin-top: 18px;
  overflow: hidden;
  background: var(--surface-raised);
  border: 1px solid var(--line-strong);
  border-radius: 7px;
}
.tree-viewer-primary .tree-toolbar { border-radius: 0; }
.tree-viewer-primary .tree-viewer-shell { height: min(72vh, 840px); min-height: 560px; margin: 0; border: 0; border-radius: 0; }
.tree-search-result {
  display: none;
  margin: 12px 0 0;
}
.tree-search-result.is-visible { display: grid; }

/* Tool workbench */
.unified-tool-page .app-shell { max-width: 1360px; }
.tool-page-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  align-items: end;
  gap: 30px;
  padding: 24px 0 28px;
  border-bottom: 1px solid var(--line-strong);
}
.tool-page-intro h1 {
  margin: 0;
  font-family: var(--font-editorial);
  font-size: clamp(38px, 3.8vw, 56px);
  font-weight: 500;
  line-height: 1.03;
  letter-spacing: -.035em;
}
.tool-page-intro p { max-width: 780px; margin: 10px 0 0; color: var(--muted); line-height: 1.55; }
.tool-page-scope {
  padding: 14px 15px;
  color: var(--ink-soft);
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-left: 3px solid var(--gold-600);
  border-radius: 6px;
}
.tool-page-scope strong { display: block; color: var(--ink); }
.tool-page-scope p { margin: 4px 0 0; font-size: 12px; }
.tool-workbench-unified {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 24px;
  align-items: start;
  padding-top: 26px;
}
.tool-workbench-unified > .panel { min-width: 0; }
.tool-sidebar-unified { position: sticky; top: calc(var(--header-primary-height) + var(--header-nav-height) + 18px); }
.unified-tool-form { display: grid; gap: 18px; }
.unified-tool-form .form-field { display: grid; gap: 7px; }
.unified-tool-form label { color: var(--ink-soft); font-size: 13px; font-weight: 600; }
.unified-tool-form input[type="text"],
.unified-tool-form input[type="number"],
.unified-tool-form select,
.unified-tool-form textarea {
  width: 100%;
  min-width: 0;
  color: var(--ink);
  background: var(--surface-raised);
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  outline: none;
}
.unified-tool-form input[type="text"],
.unified-tool-form input[type="number"],
.unified-tool-form select { height: 42px; padding: 0 10px; }
.unified-tool-form textarea {
  min-height: 240px;
  padding: 12px 13px;
  resize: vertical;
  font-family: var(--font-mono);
  font-size: 13px;
  line-height: 1.6;
}
.unified-tool-form input:focus,
.unified-tool-form select:focus,
.unified-tool-form textarea:focus { border-color: var(--focus); box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus) 24%, transparent); }
.tool-form-grid-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.tool-form-grid-three { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.tool-form-check label { min-height: 38px; display: flex; align-items: center; gap: 9px; }
.tool-form-check input { width: 18px; height: 18px; accent-color: var(--gold-700); }
.tool-form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; padding-top: 2px; }
.tool-result-section { padding-top: 34px; }
.tool-result-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid var(--line);
  background: var(--surface-raised);
}
.tool-result-summary > div { padding: 12px 14px; border-right: 1px solid var(--line); }
.tool-result-summary > div:last-child { border-right: 0; }
.tool-result-summary span { display: block; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
.tool-result-summary strong { display: block; margin-top: 3px; color: var(--ink); font-size: 13px; overflow-wrap: anywhere; }
.tool-ready-state {
  min-height: 220px;
  display: grid;
  place-items: center;
  padding: 32px;
  text-align: center;
  color: var(--muted);
  background: linear-gradient(145deg, var(--surface-soft), var(--surface-raised));
  border: 1px dashed var(--line-strong);
}
.tool-ready-state svg { width: 48px; height: 48px; margin-bottom: 10px; color: var(--lavender-700); }
.tool-ready-state h2 { margin: 0 0 5px; font-family: var(--font-editorial); font-size: 24px; }
.tool-ready-state p { max-width: 560px; margin: 0; }
.alignment-viewer-unified {
  overflow: auto;
  padding: 16px;
  color: #f5edf8;
  background: #090810;
  border: 1px solid var(--line-strong);
  border-radius: 7px;
}
.alignment-viewer-unified pre { min-width: 780px; margin: 0 0 16px; color: inherit; font-family: var(--font-mono); font-size: 12px; line-height: 1.65; }
.primer-pair-table code { white-space: nowrap; }

/* Error page */
.unified-error-page {
  min-height: calc(100vh - var(--header-primary-height) - var(--header-nav-height) - 120px);
  display: grid;
  align-items: center;
  padding: 52px 0;
}
.unified-error-card { max-width: 820px; }
.unified-error-code { color: var(--gold-700); font-family: var(--font-editorial); font-size: 86px; font-weight: 500; line-height: .9; }
.unified-error-card h1 { margin: 8px 0 10px; font-family: var(--font-editorial); font-size: clamp(36px, 5vw, 52px); font-weight: 500; }
.unified-error-card > p { max-width: 650px; color: var(--muted); line-height: 1.6; }
.unified-error-search { max-width: 680px; margin-top: 22px; }
.unified-error-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line-strong); }

@media (max-width: 1120px) {
  .record-layout,
  .tool-workbench-unified { grid-template-columns: 1fr; }
  .record-aside-unified,
  .tool-sidebar-unified { position: static; }
  .gene-atlas-toolbar,
  .sequence-filter-grid { grid-template-columns: minmax(240px, 1fr) repeat(2, minmax(150px, 210px)); }
  .gene-atlas-toolbar > :last-child,
  .sequence-filter-grid > :last-child { grid-column: 1 / -1; justify-self: start; }
  .tree-layer-item { grid-template-columns: 42px minmax(250px, 1fr) 90px 100px auto; }
  .tree-layer-item > :nth-child(5) { display: none; }
  .tool-page-intro { grid-template-columns: 1fr; }
  .tool-page-scope { max-width: 660px; }
}

@media (max-width: 760px) {
  .record-identity { grid-template-columns: 1fr; }
  .record-identity-actions { justify-content: flex-start; }
  .record-meta-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .record-meta-strip > div:nth-child(2n) { border-right: 0; }
  .record-meta-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .record-stat-grid { grid-template-columns: 1fr; }
  .record-stat-grid > div { min-height: 72px; border-right: 0; border-bottom: 1px solid var(--line); }
  .record-stat-grid > div:last-child { border-bottom: 0; }
  .record-fact-list > div { grid-template-columns: 1fr; gap: 3px; }
  .gene-atlas-toolbar,
  .sequence-filter-grid,
  .reference-toolbar { grid-template-columns: 1fr; }
  .gene-atlas-toolbar > :last-child,
  .sequence-filter-grid > :last-child { grid-column: auto; }
  .gene-evidence-grid { grid-template-columns: 1fr; }
  .sequence-card-row { grid-template-columns: minmax(0, 1fr) auto; }
  .sequence-card-row > :nth-child(3),
  .sequence-card-row > :nth-child(4) { display: none; }
  .reference-record { grid-template-columns: 66px minmax(0, 1fr); gap: 14px; }
  .reference-record-meta { grid-column: 2; }
  .tree-layer-item { grid-template-columns: 36px minmax(0, 1fr) auto; gap: 10px; }
  .tree-layer-item > :nth-child(3),
  .tree-layer-item > :nth-child(4),
  .tree-layer-item > :nth-child(5) { display: none; }
  .tree-viewer-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tree-viewer-summary > div:nth-child(2) { border-right: 0; }
  .tree-viewer-summary > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .tree-viewer-primary { min-height: 520px; }
  .tree-viewer-primary .tree-viewer-shell { min-height: 460px; height: 68vh; }
  .tool-form-grid-two,
  .tool-form-grid-three { grid-template-columns: 1fr; }
  .tool-result-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tool-result-summary > div { border-bottom: 1px solid var(--line); }
  .tool-result-summary > div:nth-child(2n) { border-right: 0; }
  .tool-result-summary > div:last-child { border-bottom: 0; }
  .sequence-viewer-content { max-height: 460px; padding: 14px 10px; font-size: 12px; }
  .sequence-line { grid-template-columns: 52px minmax(max-content, 1fr); gap: 9px; }
  .unified-error-code { font-size: 68px; }
}

@media (prefers-reduced-motion: reduce) {
  .copy-distribution-track i { transition: none !important; }
}

/* v2 additions for the routes unified against the approved homepage shell. */
.section-block-compact { padding-top: 18px; }
.gene-record-first-section { padding-top: 0; }
.gene-atlas-primary-section { padding-top: 22px; }
.gene-evidence-composition { display: grid; gap: 16px; }
.gene-evidence-bar { display: grid; gap: 7px; }
.gene-evidence-bar > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--ink-soft); font-size: 13px; }
.gene-evidence-bar strong { color: var(--ink); font-variant-numeric: tabular-nums; }
.evidence-meter { height: 9px; overflow: hidden; background: var(--surface-soft); border: 1px solid var(--line); }
.evidence-meter i { display: block; height: 100%; min-width: 2px; background: linear-gradient(90deg, var(--lavender-500), var(--gold-600)); }
.record-section-note { margin: 3px 0 0; padding-top: 11px; color: var(--muted); border-top: 1px solid var(--line); font-size: 12px; line-height: 1.45; }
.tool-ready-state.is-compact { min-height: 150px; padding: 20px; }
.tool-ready-state h3 { margin: 0 0 5px; color: var(--ink); font-family: var(--font-editorial); font-size: 19px; }
.field-error { display: block; color: var(--status-error); font-size: 12px; line-height: 1.4; }
.tool-inline-alert { margin-top: 18px; }
.tool-result-alert { margin-top: 14px; }
.tool-result-table { margin-top: 18px; }
.tool-visual-unified { margin-top: 18px; }
.tool-result-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 22px; align-items: start; margin-top: 18px; }
.panel-body-flush { padding: 0; }
.table-wrap-borderless { border: 0; }
.alignment-preview-code { display: block; max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tool-form-fieldset { min-width: 0; margin: 0; padding: 15px; border: 1px solid var(--line); border-radius: 7px; }
.tool-form-fieldset legend { padding: 0 7px; color: var(--ink-soft); font-size: 12px; font-weight: 700; }
.tool-form-divider { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.tool-form-divider::before, .tool-form-divider::after { content: ""; height: 1px; background: var(--line); }
.alignment-context-line { display: flex; align-items: center; flex-wrap: wrap; gap: 9px 22px; padding: 12px 14px; color: var(--muted); background: var(--surface-soft); border: 1px solid var(--line); border-top: 0; font-size: 12px; }
.alignment-context-line strong { color: var(--ink-soft); }

.tree-viewer-primary .tree-toolbar {
  display: grid;
  grid-template-columns: minmax(230px, 1fr) auto minmax(130px, .45fr) minmax(130px, .45fr) auto auto;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: var(--surface-soft);
  border-bottom: 1px solid var(--line);
}
.tree-viewer-primary .toolbar-search {
  min-width: 0;
  height: 38px;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  background: var(--surface-raised);
  border: 1px solid var(--line-strong);
  border-radius: 5px;
}
.tree-viewer-primary .toolbar-search svg { width: 17px; height: 17px; color: var(--muted); }
.tree-viewer-primary .toolbar-search input { min-width: 0; height: 100%; color: var(--ink); background: transparent; border: 0; outline: 0; }
.tree-viewer-primary .toolbar-field { display: grid; gap: 3px; }
.tree-viewer-primary .toolbar-field span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.tree-viewer-primary .toolbar-field input { width: 100%; accent-color: var(--gold-700); }
.tree-viewer-primary .toolbar-check { display: flex; align-items: center; gap: 6px; color: var(--ink-soft); font-size: 11px; white-space: nowrap; }
.tree-viewer-primary .toolbar-check input { width: 17px; height: 17px; accent-color: var(--gold-700); }
.tree-viewer-primary .tree-action-group { display: inline-flex; align-items: center; gap: 5px; }
.tree-viewer-primary .tree-action {
  min-width: 36px;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 6px 9px;
  color: var(--ink-soft);
  background: var(--surface-raised);
  border: 1px solid var(--line-strong);
  border-radius: 5px;
  font-size: 11px;
  font-weight: 700;
}
.tree-viewer-primary .tree-action:hover { color: var(--gold-700); border-color: var(--gold-500); background: var(--gold-75); }
.tree-viewer-primary .tree-action svg { width: 17px; height: 17px; }
.tree-viewer-primary .tree-boundary { margin: 10px 12px 0; }
.tree-viewer-primary .tree-viewer-meta { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 13px; color: var(--muted); border-bottom: 1px solid var(--line); font-size: 12px; }
.tree-viewer-primary .tree-viewer-meta span { color: var(--ink-soft); font-weight: 600; }

@media (max-width: 1180px) {
  .tree-viewer-primary .tree-toolbar { grid-template-columns: minmax(230px, 1fr) auto 1fr 1fr; }
  .tree-viewer-primary .toolbar-check { display: none; }
  .tool-result-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .tree-viewer-primary .tree-toolbar { grid-template-columns: 1fr auto; overflow-x: auto; }
  .tree-viewer-primary .toolbar-search { grid-column: 1 / -1; }
  .tree-viewer-primary .toolbar-field { display: none; }
  .tree-viewer-primary .tree-action-group:last-child { grid-column: 1 / -1; overflow-x: auto; }
  .tree-viewer-primary .tree-viewer-meta { align-items: flex-start; flex-direction: column; }
  .tool-form-fieldset { padding: 12px; }
  .alignment-context-line { align-items: flex-start; flex-direction: column; gap: 5px; }
}
