/* ──────────────────────────────────────────────────────────────────────
   «Решение» — стили раздела. Палитра и типографика — из main.css (:root).
   ────────────────────────────────────────────────────────────────────── */

.solve-crumbs {
  display: flex; gap: 8px; align-items: baseline;
  font-size: 13px; color: var(--ink-muted); margin-bottom: 18px;
}
.solve-crumbs a { color: var(--ink-muted); }
.solve-crumbs a:hover { color: var(--integral); }

.solve-stats { font-family: var(--font-mono); font-size: 13px; margin-top: 16px; }

/* Легенда меток */
.solve-legend { max-width: 860px; font-size: 14px; color: var(--ink-soft); }
.solve-legend dt { font-weight: 600; margin-top: 10px; }
.solve-legend dd { margin: 2px 0 0 0; }

/* Карточки задач */
.solve-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 18px; margin-top: 20px;
}
.solve-card { color: inherit; display: flex; flex-direction: column; gap: 10px; }
.solve-card:hover { color: inherit; border-color: var(--ink); }
.solve-card__id { font-family: var(--font-mono); font-size: 12px; color: var(--ink-muted); }
.solve-card__eq {
  font-family: var(--font-mono); font-size: 14px; line-height: 1.45;
  color: var(--ink); overflow-wrap: anywhere; flex: 1;
}

/* Метки */
.solve-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.solve-badge {
  display: inline-block; font-size: 12px; line-height: 1.3;
  padding: 3px 8px; border: 1px solid var(--rule); background: var(--paper);
  color: var(--ink-soft); white-space: nowrap;
}
.solve-badge--good    { background: var(--verify-soft); border-color: var(--verify); color: var(--ink); }
.solve-badge--ok      { background: var(--primary-soft); border-color: var(--primary); color: var(--ink); }
.solve-badge--warn    { background: var(--integral-soft); border-color: var(--integral); color: var(--ink); }
.solve-badge--bad     { background: #f1d6d6; border-color: var(--error); color: var(--ink); }
.solve-badge--neutral { background: var(--paper-warm); }

/* Отчёт */
.solve-facts { display: grid; grid-template-columns: max-content 1fr; gap: 6px 18px; font-size: 15px; }
.solve-facts dt { color: var(--ink-muted); }
.solve-facts dd { margin: 0; }
.solve-statement h3 { font-size: 18px; margin: 18px 0 6px; }
.solve-statement code, .solve-card__eq code { font-family: var(--font-mono); }
.solve-statement code { white-space: pre-wrap; overflow-wrap: anywhere; }
.solve-statement .katex-display, .solve-text .katex-display { overflow-x: auto; overflow-y: hidden; }
.solve-lean, .solve-code {
  font-family: var(--font-mono); font-size: 13px; line-height: 1.5;
  background: var(--surface); border: 1px solid var(--rule);
  padding: 12px 14px; overflow-x: auto; white-space: pre; max-height: 480px;
}
.solve-lean code, .solve-code code {
  background: none; border: none; padding: 0; font-size: inherit; color: inherit;
}
.solve-col { max-width: var(--content); }
.solve-solution {
  border: 1px solid var(--rule); background: var(--surface);
  padding: 16px 18px; margin-top: 14px;
}
.solve-solution__idea { font-style: italic; color: var(--ink-soft); margin-bottom: 10px; }
.solve-text { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 15px; line-height: 1.6; }
.solve-solution details { margin-top: 10px; }
.solve-solution summary { cursor: pointer; font-size: 13px; color: var(--ink-muted); }
.solve-note { font-size: 13px; color: var(--ink-muted); max-width: 860px; }
.solve-dead li { margin: 6px 0; color: var(--ink-soft); }

/* Пространство графа */
.solve-graph-shell {
  display: grid; grid-template-columns: minmax(260px, 30%) 1fr;
  border: 1.5px solid var(--rule); background: var(--surface); min-height: 72vh;
}
.solve-panel {
  border-right: 1px solid var(--rule); padding: 16px 18px;
  overflow-y: auto; max-height: 78vh; font-size: 14px;
}
.solve-panel__type { font-family: var(--font-mono); font-size: 12px; color: var(--ink-muted); }
.solve-panel h3 { font-size: 17px; margin: 6px 0 10px; overflow-wrap: anywhere; }
.solve-canvas { position: relative; min-height: 72vh; }
.solve-canvas__msg { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--ink-muted); }
.solve-toolbar { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; font-size: 13px; margin: 12px 0; }
.solve-swatch { display: inline-block; width: 12px; height: 12px; border: 1px solid var(--ink-soft); vertical-align: -1px; margin-right: 4px; }

@media (max-width: 860px) {
  .solve-graph-shell { grid-template-columns: 1fr; }
  .solve-panel { border-right: none; border-bottom: 1px solid var(--rule); max-height: none; }
  .solve-facts { grid-template-columns: 1fr; }
}

/* Граф v2: подсказка, сводка, панель (заключение, схема поддерева) */
.solve-howto { margin: 14px 0 4px; max-width: 900px; font-size: 14px; color: var(--ink-soft); }
.solve-howto summary { cursor: pointer; font-weight: 500; color: var(--ink); }
.solve-howto p { margin: 8px 0 0; line-height: 1.55; }
.solve-summary { font-family: var(--font-mono); font-size: 13px; color: var(--ink-soft); margin: 10px 0 0; }
.solve-btn { padding: 4px 10px; font-size: 13px; }
.solve-legend-row { margin-top: -4px; color: var(--ink-muted); }
.solve-panel__role { font-size: 13px; margin: 4px 0 10px; }
.solve-panel__block { margin-top: 14px; padding-top: 10px; border-top: 1px solid var(--rule-soft); }
.solve-panel__block h3 { font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-muted); margin: 0 0 8px; }
.solve-tree { list-style: none; margin: 4px 0 0; padding-left: 14px; border-left: 1px solid var(--rule); font-size: 13px; }
.solve-tree li { margin: 4px 0; }
.solve-tree li.is-dead > a { color: var(--ink-muted); text-decoration: line-through; }
.solve-link { color: var(--primary); cursor: pointer; }
.solve-link:hover { color: var(--integral); }
