/* UX-FUNNEL (ветка ux-a): меню на телефоне, полоса «Здесь решено», строка «создано из брифа», свёртки брифа. Без JS. */

/* Шапка: на широком экране — меню строкой и поиск; до 600 px — кнопка «Меню» (details/summary), шапка не выше 64 px. */
.top { position: relative; }
.top details.menu { display: none; }
.top .search-wide { display: contents; }
.top details.menu > summary { list-style: none; cursor: pointer; font-family: var(--pixel); font-size: 9px; color: var(--on-chrome); padding: 8px 10px; border: 2px solid var(--on-chrome); margin: 0; }
.top details.menu > summary::-webkit-details-marker { display: none; }
.top details.menu > summary::before { content: '≡ '; }
.top details.menu[open] > summary { background: var(--paper); color: var(--ink); }
.top .menu-panel { position: absolute; left: 0; right: 0; top: 100%; z-index: 20; background: var(--chrome); padding: 8px 12px 14px; border-top: 1px solid color-mix(in srgb, var(--on-chrome) 25%, var(--chrome)); box-shadow: 0 6px 0 color-mix(in srgb, var(--chrome) 45%, transparent); }
.top nav.nav-menu { display: flex; flex-direction: column; gap: 2px; }
.top nav.nav-menu a { font-size: 10px; padding: 12px 10px; }
.top .menu-panel .top-search { margin-top: 8px; }
/* Пункт «Процесс» (UX-FUNNEL, этап 3): чтобы меню строкой влезало в 1440 без второй строки шапки. */
@media (min-width: 601px) and (max-width: 1600px) { .top nav.nav-wide a { padding: 8px 6px; } }
@media (max-width: 600px) {
  .top { flex-wrap: nowrap; gap: 10px; padding: 8px 10px; }
  .top nav.nav-wide, .top .search-wide { display: none; }
  .top details.menu { display: block; }
  .top .who { gap: 6px; min-width: 0; }
  .top .who span { max-width: 90px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .top .who button { margin: 0; }
}

/* Полоса «Здесь решено»: наверху страницы решения, ссылкой на задачу и результат. */
.solved { margin: 0 0 14px; display: grid; gap: 6px; }
.solved-row { margin: 0; padding: 10px 14px; background: var(--paper); border: 2px solid var(--ink); border-left: 8px solid var(--accent); box-shadow: 3px 3px 0 var(--ink); font-size: 14px; overflow-wrap: anywhere; }
.solved-row.is-done { border-left-color: var(--ok); }
.solved-row.is-open { border-left-color: var(--warn); }
.solved-row > b { font-family: var(--pixel); font-size: 9px; letter-spacing: 1px; margin-right: 4px; }
.solved-p { color: var(--muted); }
.solved-row .tag { margin-left: 4px; }

/* Задача из брифа: одна строка «откуда и что дальше» и факты проблема → решение → страница. */
.from-brief { border: 2px solid var(--accent); }
.fb-line { margin: 0 0 8px; }
dl.fb-facts { margin: 0; }
.fb-problem { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 4px 14px; padding: 8px 0; border-top: 1px solid var(--line); }
.fb-problem dt { color: var(--muted); font-size: 13px; }
.fb-problem dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 560px) { .fb-problem { grid-template-columns: 1fr; gap: 0; } .fb-problem dd { margin-bottom: 6px; } }

/* Бриф: вопрос первым, служебное — свёрнуто. */
.brief.brief-head { padding: 10px 16px; margin-bottom: 12px; box-shadow: 3px 3px 0 var(--ink); }
.brief.brief-head header.row { margin: 0; }
.brief.brief-known { box-shadow: none; border-width: 1px; }
details.brief-fold { max-width: 860px; }
details.brief-fold > summary { margin: 0; font-size: 14px; overflow-wrap: anywhere; }
details.brief-fold[open] > summary { margin-bottom: 10px; }
details.brief-fold > .brief-voice { border: 0; padding: 0; margin: 0; box-shadow: none; }
.brief-gene-t { font-size: 15px; }
.brief-gene-id { color: var(--muted); font-size: 11px; font-family: ui-monospace, Menlo, monospace; }

/* Переключатель языка интерфейса «Менеджер / Лаборатория» (решение владельца 01.10) */
.lang-switch { display: inline-flex; gap: 0; margin: 0; }
.lang-switch button { background: transparent; color: var(--on-chrome); border: 2px solid color-mix(in srgb, var(--on-chrome) 45%, var(--chrome)); padding: 4px 8px; font-family: var(--pixel); font-size: 8px; cursor: pointer; margin: 0; }
.lang-switch button + button { border-left: 0; }
.lang-switch button.on { background: var(--paper); color: var(--ink); border-color: var(--on-chrome); }
.top .menu-panel .lang-switch { margin-top: 10px; }
.top .menu-panel .lang-switch button { font-size: 9px; padding: 10px 12px; }
/* Словарь: два языка, связи, формы правки */
.gl-scroll { overflow-x: auto; }
.gl-langs .gl-sec th { text-align: left; padding-top: 12px; }
.gl-links { margin: 4px 0 12px; padding-left: 18px; }
.gl-links li { margin: 4px 0; }
.gl-edit { margin-top: 8px; }
.gl-edit form { margin-top: 6px; }
.gl-forms input { width: 100%; min-width: 0; }
/* 01.11.2026: полоса «Здесь решено» свёрнута в одну строку */
.solved summary { font-size: 13px; color: var(--muted); cursor: pointer; min-height: 24px; }
.solved details[open] { display: grid; gap: 6px; }
