/* НейроМиша — таблица-справочник на странице материала (tools/magnet-ref-table.mjs).
   Подключается только там, где у материала есть refTable. Токены цвета —
   из materialy.css; свои здесь только цвета знаков растворимости. */

:root{
  --ref-r:#E3F1E2; --ref-r-ink:#1D5A2A;
  --ref-m:#FBEEC8; --ref-m-ink:#7A5608;
  --ref-n:#F6D5CC; --ref-n-ink:#8C2F1C;
  --ref-d:#EEEAE3; --ref-d-ink:#4B5563;
  --ref-hl:rgba(223,153,91,.18); --ref-found:rgba(73,111,130,.2);
  --ref-border:rgba(31,41,55,.12);
}
[data-theme="dark"]{
  --ref-r:#1F3A25; --ref-r-ink:#A8E0B2;
  --ref-m:#44381A; --ref-m-ink:#F3D58A;
  --ref-n:#4A2620; --ref-n-ink:#F4B4A6;
  --ref-d:#2E2A25; --ref-d-ink:#CBBFA9;
  --ref-hl:rgba(240,185,100,.2); --ref-found:rgba(120,170,195,.25);
  --ref-border:rgba(245,237,224,.14);
}

/* Страница-таблица: шапка короче, чтобы таблица попадала в первый экран. */
.mat-ref-page .mat-hero{padding:150px 0 20px}
.mat-ref-page .mat-hero .tag{display:none}
.mat-ref-page .mat-hero .crumbs{margin-bottom:14px}
.mat-ref-page .mat-hero .lede{font-size:16.5px;line-height:1.55;margin-top:12px}
.mat-ref-page .mat-meta{margin-top:10px;font-size:13px}

.mat-ref{padding:10px 0 30px;position:relative;background:var(--bg-warm)}
.mat-ref .wrap{position:relative;max-width:1180px}
.ref-h{font-family:'Unbounded',sans-serif;font-weight:700;font-size:21px;line-height:1.25;margin:0 0 14px;color:var(--ink)}
.ref-tools{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 16px;margin-bottom:10px}
.ref-find{display:flex;flex-direction:column;gap:5px;flex:1 1 240px;max-width:380px}
.ref-find-l{font-size:13px;font-weight:700;color:var(--ink-3)}
.ref-find input{
  font:inherit;font-size:16px;padding:11px 14px;border-radius:12px;
  border:1px solid var(--line-2);background:var(--surface);color:var(--ink);width:100%;
}
.ref-find input:focus{outline:2px solid var(--brand);outline-offset:1px}
.ref-actions{display:flex;flex-wrap:wrap;gap:10px}
.ref-actions .btn{min-height:46px}
.ref-empty{margin:0 0 10px;font-weight:600;color:var(--brand-ink)}
.ref-hint{font-size:13.5px;color:var(--ink-3);margin:0 0 8px}

.ref-scroll{
  overflow:auto;max-height:min(78vh,1000px);-webkit-overflow-scrolling:touch;
  border:1px solid var(--line-2);border-radius:14px;background:var(--surface);
  box-shadow:var(--shadow-sm);overscroll-behavior-x:contain;
}
.ref-scroll:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.ref-table{border-collapse:separate;border-spacing:0;width:100%;font-size:15px;color:var(--ink)}
.ref-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ref-table th,.ref-table td{border-right:1px solid var(--ref-border);border-bottom:1px solid var(--ref-border);padding:6px 5px;line-height:1.25}
.ref-table thead th{
  position:sticky;top:0;z-index:2;background:var(--surface-2);font-weight:800;
  white-space:nowrap;font-size:14px;
}
.ref-table tbody th{
  position:sticky;left:0;z-index:1;background:var(--surface-2);font-weight:800;
  text-align:left;white-space:nowrap;padding-left:10px;padding-right:8px;
}
.ref-table thead th:first-child{left:0;z-index:3}
.ref-table sub,.ref-table sup{font-size:.7em;line-height:0}

.ref-grid{min-width:880px;table-layout:fixed}
.ref-grid thead th.corner{width:92px}
.ref-grid thead th{text-align:center;min-width:40px}
.ref-grid thead th.corner{font-size:11.5px;font-weight:700;color:var(--ink-3);text-align:left;padding-left:10px;white-space:normal;min-width:78px;line-height:1.2}
.ref-grid td{text-align:center;font-weight:700;cursor:pointer;min-width:40px;height:34px}
.ref-grid td.s-r{background:var(--ref-r);color:var(--ref-r-ink)}
.ref-grid td.s-m{background:var(--ref-m);color:var(--ref-m-ink)}
.ref-grid td.s-n{background:var(--ref-n);color:var(--ref-n-ink)}
.ref-grid td.s-d,.ref-grid td.s-q{background:var(--ref-d);color:var(--ref-d-ink)}
.ref-grid td.s-x{background:var(--surface);cursor:default}

.ref-rows{min-width:1000px;font-size:14.5px}
.ref-rows thead th{text-align:left;padding:9px 10px}
.ref-rows td{padding:8px 10px;vertical-align:top;cursor:pointer}
.ref-rows tbody th{vertical-align:top;padding-top:8px}
.ref-rows td:nth-child(3){text-align:center}
.ref-rows tbody tr:nth-child(even) td{background:var(--surface-2)}
.ref-rows tbody tr:nth-child(even) th{background:var(--bg-warm)}

/* Подсветка: тень поверх собственного цвета ячейки, чтобы знак не терял цвет. */
.ref-table .hl{box-shadow:inset 0 0 0 999px var(--ref-hl)}
.ref-table .hl-x{outline:2px solid var(--brand);outline-offset:-2px}
.ref-table .found{box-shadow:inset 0 0 0 999px var(--ref-found)}
.ref-table thead th.found{color:var(--sec-ink)}
[data-theme="dark"] .ref-table thead th.found{color:#9FD0E6}

.ref-legend{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;color:var(--ink-2)}
.ref-legend b{display:inline-block;min-width:24px;text-align:center;border-radius:6px;margin-right:4px;padding:1px 5px}
.ref-legend .s-r b{background:var(--ref-r);color:var(--ref-r-ink)}
.ref-legend .s-m b{background:var(--ref-m);color:var(--ref-m-ink)}
.ref-legend .s-n b{background:var(--ref-n);color:var(--ref-n-ink)}
.ref-legend .s-d b,.ref-legend .s-q b{background:var(--ref-d);color:var(--ref-d-ink)}
.ref-exam{
  margin:14px 0 0;padding:10px 14px;border-radius:12px;background:var(--brand-soft);
  color:var(--ink);font-weight:600;font-size:15px;line-height:1.5;max-width:860px;
}
.ref-src{font-size:13px;color:var(--ink-3);margin:8px 0 0;max-width:860px}

.ref-pop{
  position:absolute;z-index:20;background:var(--surface);color:var(--ink);
  border:1px solid var(--line-2);border-radius:14px;box-shadow:var(--shadow-lg);
  padding:14px 40px 12px 16px;font-size:14.5px;line-height:1.5;
}
.ref-pop p{margin:0 0 6px}
.ref-pop p:last-child{margin-bottom:0}
.ref-pop-f{font-weight:800;font-size:19px}
.ref-pop-name{font-weight:600;color:var(--ink-2)}
.ref-pop-sign b{display:inline-block;min-width:24px;text-align:center;border-radius:6px;padding:0 5px;margin-right:4px}
.ref-pop-sign.s-r b{background:var(--ref-r);color:var(--ref-r-ink)}
.ref-pop-sign.s-m b{background:var(--ref-m);color:var(--ref-m-ink)}
.ref-pop-sign.s-n b{background:var(--ref-n);color:var(--ref-n-ink)}
.ref-pop-sign.s-d b,.ref-pop-sign.s-q b{background:var(--ref-d);color:var(--ref-d-ink)}
.ref-pop-h{font-size:13.5px;color:var(--ink-3)}
.ref-pop sub,.ref-pop sup{font-size:.7em;line-height:0}
.ref-pop-x{
  position:absolute;top:6px;right:6px;width:32px;height:32px;border:0;border-radius:10px;
  background:transparent;color:var(--ink-3);font-size:22px;line-height:1;cursor:pointer;
}
.ref-pop-x:hover{background:var(--surface-2);color:var(--ink)}

.ref-img{margin:34px 0 0}
.ref-img h2{margin-top:0}
.ref-img-link{display:block;border:1px solid var(--line-2);border-radius:14px;overflow:hidden;background:#FFFDF8}
.ref-img img{width:100%;height:auto}

@media(max-width:760px){
  .mat-ref-page .mat-hero{padding:112px 0 14px}
  .mat-ref-page .mat-hero h1{font-size:25px}
  .mat-ref-page .mat-hero .lede{font-size:15px;padding-left:14px}
  .ref-h{font-size:17px;margin-bottom:10px}
  .ref-hint{display:none}
  .ref-table{font-size:14px}
  .ref-grid td{min-width:36px;height:34px}
  .ref-actions{width:100%;flex-wrap:nowrap;gap:8px}
  .ref-actions .btn{flex:1 1 auto;justify-content:center;min-height:44px;padding:0 12px;font-size:14px;white-space:nowrap}
  .ref-actions .ref-print{flex:0 0 auto}
  .ref-find{max-width:none}
}

/* ── Печать: только таблица, на одном листе А4 ──
   Ориентацию листа задаёт @page в голове страницы (refPrintHead). */
@media print{
  body > :not(main){display:none !important}
  main > .mat > :not(.mat-ref){display:none !important}
  html,body{background:#fff !important;padding:0 !important;margin:0 !important;min-height:0 !important}
  .mat-ref{padding:0;background:#fff}
  .mat-ref .wrap{max-width:none;padding:0}
  .ref-tools,.ref-hint,.ref-empty,.ref-pop,.ref-src{display:none !important}
  .ref-h{font-size:13pt;margin:0 0 2mm;color:#000}
  .ref-scroll{overflow:visible;max-height:none;border:0;box-shadow:none;background:#fff;border-radius:0}
  .ref-table{min-width:0 !important;width:100%;font-size:9pt;color:#000}
  .ref-table thead th,.ref-table tbody th{position:static;background:#f3ece0 !important;color:#000}
  .ref-table th,.ref-table td{border-right:.6pt solid #b9ad97;border-bottom:.6pt solid #b9ad97;padding:.75mm .6mm;height:auto;line-height:1.15;box-shadow:none !important;outline:0 !important}
  .ref-table tr > :first-child{border-left:.6pt solid #b9ad97}
  .ref-table thead th{border-top:.6pt solid #b9ad97}
  .ref-rows{font-size:7.4pt}
  .ref-rows td,.ref-rows tbody th,.ref-rows thead th{padding:.5mm 1mm}
  .ref-rows tbody tr:nth-child(even) td,.ref-rows tbody tr:nth-child(even) th{background:#faf6ef !important}
  .ref-grid td.s-r{background:#e3f1e2 !important;color:#1d5a2a}
  .ref-grid td.s-m{background:#fbeec8 !important;color:#7a5608}
  .ref-grid td.s-n{background:#f6d5cc !important;color:#8c2f1c}
  .ref-grid td.s-d,.ref-grid td.s-q{background:#eeeae3 !important;color:#333}
  .ref-grid td.s-x{background:#fff !important}
  .ref-table tbody tr[hidden]{display:table-row}
  .ref-legend{font-size:8pt;color:#000;margin-top:1.5mm;gap:1mm 5mm}
  .ref-exam{background:none;padding:0;margin-top:1mm;font-size:8pt;font-weight:600;color:#000;max-width:none}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
