/** @fileoverview Общие токены и состояния интерфейса публичного сайта и админки TorLink. */
:root {
  --ui-bg: #07060c;
  --ui-panel: #0f0e18;
  --ui-raised: #12101c;
  --ui-hover: #1a1528;
  --ui-border: #211f33;
  --ui-control-border: #383047;
  --ui-text: #f3f1fa;
  --ui-muted: #a6a0b8;
  --ui-accent: #9b6bff;
  --ui-accent-text: #d5bdff;
  --ui-accent-fill: rgba(155, 107, 255, 0.12);
  --ui-danger: #ffa7ad;
  --ui-danger-border: #80545a;
  --ui-ticker: #2b1d43;
  --ui-ticker-text: #e5d8fa;
  --ui-ticker-border: #493465;
  --ui-font: "Manrope", system-ui, sans-serif;
  --ui-radius-control: 8px;
  --ui-radius-panel: 16px;
  --ui-motion: cubic-bezier(0.22, 1, 0.36, 1);
  --bg: var(--ui-bg);
  --panel: var(--ui-panel);
  --panel-border: var(--ui-border);
  --text: var(--ui-text);
  --muted: var(--ui-muted);
  --violet-bright: var(--ui-accent);
  --header-bg: var(--ui-bg);
  --header-border: var(--ui-border);
  --header-text: var(--ui-text);
  --header-control-bg: var(--ui-raised);
  --header-control-border: var(--ui-control-border);
}
body { font-family: var(--ui-font); color: var(--text); background: var(--bg); }
body :is(button, input, textarea, select) { font-family: inherit; }
body :is(h1, h2, h3) { font-weight: 700; font-style: normal; text-wrap: balance; }
body p { text-wrap: pretty; }
body :is(a, button, input, textarea, select, summary):focus-visible {
  outline: 2px solid var(--ui-accent);
  outline-offset: 4px;
}
body :is(button, a) {
  transition: opacity 300ms var(--ui-motion), transform 300ms var(--ui-motion);
}
body button:active:not(:disabled) { transform: scale(0.98); }
body button:disabled { opacity: 0.45; cursor: not-allowed; }
body :is(.btn, .btn-primary) {
  background: var(--ui-accent-fill); color: var(--ui-accent-text);
  border: 1px solid var(--ui-accent); border-radius: var(--ui-radius-control);
  padding: 8px 12px; font-size: 16px; line-height: 24px; font-weight: 600;
  box-shadow: none;
}
body :is(.btn, .btn-primary):hover:not(:disabled) { background: var(--ui-hover); box-shadow: none; }
body .btn--ghost { background: var(--ui-raised); color: var(--text); border-color: var(--ui-control-border); }
body .btn--danger { color: var(--ui-danger); border-color: var(--ui-danger-border); background: var(--ui-raised); }
body .btn--compact { font-size: 14px; line-height: 20px; }
body :is(.support-field, .field) :is(input, textarea, select) {
  background-color: var(--bg); color: var(--text); border-color: var(--ui-control-border);
  border-radius: var(--ui-radius-control); font-size: 14px; line-height: 20px;
}
body :is(input, textarea)::placeholder { color: var(--muted); }
/** Поиск, контакты и переписка получают ту же поверхность без смены раскладки. */
body :is(.search-bar__field, .search-result, .contact-card, .support-chat-compose) {
  background-color: var(--panel); border-color: var(--panel-border); border-radius: var(--ui-radius-panel);
}
body .error-msg { color: var(--ui-danger); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
