/* Общие цвета тёмной темы для хаба (index.html), входа (auth.html), админки
   (server/pages/admin.html) и гостевой страницы (tp.html). Включает theme.js
   классом dark на <html>. Значения — те же, что у тёмной темы карты
   (body.dark в shemy.html), чтобы переход между страницами не мигал.
   html.dark специфичнее :root — порядок подключения не важен.
   *-ink — цвет текста статусов на их светлой плашке (*-50); в светлой теме
   страницы берут запасное значение из var(--x-ink,#…). */
html.dark{
  color-scheme:dark;
  --panel:#1b1e21; --panel2:#24282c; --line:#3a3f45; --soft:#24282c;
  --text:#f1f3f5; --muted:#9aa3ab; --paper:#111315;
  --accent:#f1f3f5; --on-accent:#111315; --accent-50:#2a2e33;
  --err:#ff6b7f; --err-50:#3a1420; --danger:#ff5c8a; --danger-50:#3a1420;
  --ok:#30d158; --ok-50:#123021; --ok-ink:#4cd67e;
  --warn:#f5a524; --warn-50:#35280f; --warn-ink:#f2b64a;
  --blue-50:#14253d; --blue-ink:#7ab0ff; --violet-50:#261d3a; --violet-ink:#b79cf0;
  --glass-ctl:rgba(27,30,33,.92); --glass-brd:rgba(255,255,255,.1); --glass-hi:inset 0 1px 0 rgba(255,255,255,.07);
  --shadow:0 1px 2px rgba(0,0,0,.45),0 6px 18px -8px rgba(0,0,0,.6);
  --seg-track:rgba(118,118,128,.24); --seg-thumb:#5f666e;
}
/* логотип разметкой (хаб, вход): у картинки logo-h.png подпись выходила ~4 px, а в тёмной
   теме был бы белый прямоугольник. Значок — тот же, что favicon.svg, цветом текста */
.brandmark{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}
.brandmark svg{flex:none;width:40px;height:40px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.brandmark b{display:block;font-size:1.375rem;font-weight:800;letter-spacing:.14em;line-height:1}
.brandmark small{display:block;font-size:.75rem;font-weight:600;color:var(--muted);letter-spacing:.02em;margin-top:4px;line-height:1.2}

/* значки-маски вместо текстовых символов (✕ › ▾ ✎ …): рисуются цветом текста и не зависят от шрифта телефона */
.ic{display:inline-block;flex:none;width:1em;height:1em;vertical-align:-.14em;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.ic-x{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E")}
.ic-chev{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E")}
.ic-back{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 5-7 7 7 7'/%3E%3C/svg%3E")}
.ic-down{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}
.ic-edit{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 15.5-1 4.5 4.5-1L19.6 7.9a2.1 2.1 0 0 0-3-3L5 15.5Z'/%3E%3C/svg%3E")}
.ic-check{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7'/%3E%3C/svg%3E")}
.ic-undo{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12a8 8 0 1 0 2.4-5.7'/%3E%3Cpath d='M4 4v4h4'/%3E%3C/svg%3E")}
.ic-out{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7'/%3E%3Cpath d='M9 7h8v8'/%3E%3C/svg%3E")}
.ic-in{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 7 7 17'/%3E%3Cpath d='M7 9v8h8'/%3E%3C/svg%3E")}
.ic-up{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");transform:rotate(180deg)}
