/* RMRP-WIKI — оформление «Графит» (10.11.2026). Подключается на всех страницах ПОСЛЕДНИМ, после wiki.css, pages.css, home.css и map.css,
   и перекрашивает их: нейтральный серый вместо тёмно-бирюзового, шрифт Inter, без свечений, градиентов, стекла и «прыгающих» карточек.
   Раскладка и разметка не меняются. Логотип остаётся шрифтом Jost. Убрать оформление — удалить ссылку на этот файл в страницах.
   Селекторы начинаются с html:root, чтобы перебивать правила исходных файлов той же силы. Копии страниц до переноса —
   «Старые версии/до Графита 2026-11-10». Черновик и варианты для сравнения — design/style-variants.css. */

/* Inter (SIL Open Font License 1.1) — на нашем сервере, как и Jost: IP посетителей не уходят в Google */
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("fonts/inter-normal-cyrillic-ext.woff2") format("woff2"); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("fonts/inter-normal-cyrillic.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("fonts/inter-normal-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("fonts/inter-normal-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ================= Основа: без свечений, градиентов и стекла ================= */
html:root {
  --panel: var(--bg-muted);                 /* панели непрозрачные: текст не спорит с тем, что под ним */
  --plate: #0d222d;                         /* плашки поверх карты */
  --text-soft: rgba(255, 255, 255, .86);
  --text-muted: #a9b8bf;                    /* серый текст светлее: был #a0a0a0 */
  --border: rgba(255, 255, 255, .11);
  --border-strong: rgba(255, 255, 255, .22);
  --ease: .12s ease-out;
}

/* --- Фон: без топографических линий и цветных пятен --- */
html:root .topo { display: none; }
html:root :is(.home, .page-hero, .hero) { background: var(--bg); }
html:root .header { background: var(--bg-deep); backdrop-filter: none; }

/* --- Заголовки: обычное начертание вместо курсива прописными (логотип остаётся как был) --- */
html:root :is(.h-display, .h-section, .eyebrow, .hero__sub, .cat h3, .server h3, .box h3, .fgroup__title, .fhead h2, .fp__head h2, .fp__sec h3,
  .ed-props h4, .modal__card h2, .pick b, .action__text b, .legal h2, .doc-head h2, .chap, .rules__group h4, .faq summary, .stat-card b, .stat b,
  .online__total b, .faction__mark, .pt__num, .steps > li::before, .chat__bar b, .upd-main h3, .upd__date b, .tile b) {
  font-style: normal; text-transform: none; letter-spacing: -.01em;
}
html:root .h-section { font-weight: 700; font-size: clamp(26px, 3vw, 36px); }
html:root .fgroup__title { font-size: 19px; font-weight: 700; }
html:root .fp__sec h3 { font-size: 13px; font-weight: 600; color: var(--text-muted); letter-spacing: 0; }
html:root .fp__head h2 { font-size: 22px; font-weight: 700; line-height: 1.2; }
html:root .action__text b { font-weight: 700; font-size: clamp(19px, 2.1vw, 24px); }
html:root .pick b { font-weight: 700; font-size: 18px; }
html:root .faction__mark { font-weight: 700; }

/* --- Мелкий текст: не меньше 13px --- */
html:root :is(.fact, .fcard small, .faction small, .pick small, .pick > span, .fp__head small, .fp__link span, .server__num, .online__when, .online__total small, .stat-card small, .chart-hint, .ed-tip, .ed-sync, .plan-new small, .plan-open small,
  .disclaimer, .legal-links, .wish-count, .wish-note, .mcoords, .msrv) { font-size: 13px; }
html:root .fact { padding: 4px 9px; }
html:root .nav { font-size: 15px; }
html:root .nav a.active { box-shadow: 0 3px 0 var(--accent); padding-bottom: 4px; }
html:root :is(.footer ul, .fp__sec p) { font-size: 14.5px; }
html:root :is(.pick small, .fp__head small, .server__num) { color: var(--text-muted); }

html:root :is(.ed-row small, .ed-props h4 small) { font-size: 12px; white-space: nowrap; }   /* в узкой панели редактора 13px переносится */

/* --- Кнопки: плоские, без свечения и градиента; наведение — просто светлее --- */
html:root .btn { background: var(--accent); border: 1px solid var(--accent); box-shadow: none; transition: background var(--ease), border-color var(--ease); }
html:root .btn:hover { filter: none; transform: none; background: var(--accent-bright); border-color: var(--accent-bright); }
html:root .btn--ghost { background: transparent; color: #fff; border-color: var(--border-strong); }
html:root .btn--ghost:hover { background: rgba(255, 255, 255, .08); border-color: #fff; }
html:root .tab.active { background: var(--accent); box-shadow: none; }
html:root .bar i { background: var(--accent); box-shadow: none; }

/* --- Фокус с клавиатуры виден везде одинаково --- */
html:root :is(a, button, select, summary, [tabindex]):focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
html:root :is(.action, .pick):focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
html:root :is(.ed-top input.ed-title, .ed-row input, .ed-row textarea, .wish-form textarea, .wish-form input, .share-row input):focus {
  border-color: var(--accent); box-shadow: 0 0 0 2px rgba(var(--accent-rgb), .35); }
html:root .search:focus-within { border-color: var(--accent); box-shadow: 0 0 0 2px rgba(var(--accent-rgb), .35); }

/* --- Карточки: при наведении меняются рамка и фон, но ничего не «подпрыгивает» --- */
html:root :is(.cat, .fcard, .action, .server, .upd, .faction, .pick) { transition: border-color var(--ease), background var(--ease); }
html:root :is(.cat, .fcard, .action):hover { transform: none; box-shadow: none; }
html:root :is(.fcard, .faction, .pick) { background: var(--bg-muted); border-color: var(--border-strong); }
html:root :is(.fcard, .faction, .pick, .cat, .server):hover { border-color: var(--accent); background: var(--bg-accent); }
html:root :is(.online, .faq, .chat, .search) { box-shadow: none; }
html:root .action { background: var(--bg-muted); border-color: var(--border-strong); box-shadow: none; }
html:root .action:hover, html:root .action:focus-visible { border-color: var(--accent); background: var(--bg-accent); box-shadow: none; transform: none; }
html:root .action:hover .action__go { transform: none; }
html:root .action__icon { background: rgba(var(--accent-rgb), .14); border-color: transparent; }
html:root .pick--last { border-color: var(--accent); }

/* --- Переключатели и поля --- */
html:root .seg button { transition: border-color var(--ease), color var(--ease); }
html:root .seg button:not(.active) { background: var(--bg-deep); }
html:root .seg button:not(.active):hover { border-color: #fff; }
html:root .seg button.legend:not(.active) { opacity: .7; }
html:root .tabs { background: var(--bg-deep); }
html:root :is(.wish-form textarea, .wish-form input, .share-row input, .ed-top input.ed-title, .ed-row input[type="text"], .ed-row input[type="number"], .ed-row textarea) { background: var(--bg-deep); }
html:root .tip { background: var(--bg-deep); box-shadow: 0 4px 14px rgba(0, 0, 0, .45); }
html:root .live-dot { box-shadow: none; animation-duration: 3s; }

/* --- Окна --- */
html:root .modal { background: rgba(0, 0, 0, .72); backdrop-filter: none; }
html:root .modal__card { box-shadow: 0 12px 32px rgba(0, 0, 0, .5); }
html:root .modal__card h2 { font-size: 22px; font-weight: 700; }
html:root .modal__card > p { font-size: 15px; }
html:root :is(.modal__x, .fp__x):hover { border-color: #fff; color: #fff; background: rgba(255, 255, 255, .08); }

/* ================= Карта и редактор ================= */
/* плашки поверх карты — непрозрачные, без размытия: карта под ними не «шумит» */
html:root :is(.glass, .msrv, .layers button, .fpanel, .sbanner, .ed-top, .ed-tools, .ed-props, .ed-hint) {
  background: var(--plate); backdrop-filter: none; box-shadow: 0 4px 14px rgba(0, 0, 0, .45); }
html:root .leaflet-bar { box-shadow: 0 4px 14px rgba(0, 0, 0, .45) !important; }
html:root .leaflet-bar a { background: var(--plate) !important; }
html:root .leaflet-bar a:hover { color: #fff !important; }
html:root :is(.leaflet-control-attribution, .mcoords) { background: rgba(0, 0, 0, .7) !important; }

/* слои: выключенный не бледнеет целиком, а явно показан пунктиром и серым */
html:root .layers button { color: #fff; transition: border-color var(--ease); }
html:root .layers button:hover { border-color: #fff; }
html:root .layers button i { box-shadow: none; }
html:root .layers button[aria-pressed="false"] { opacity: 1; color: var(--text-muted); border-style: dashed; }

/* значки: без цветного свечения, выбранный — белое кольцо; волна и наклон карты убраны */
html:root .fmark { box-shadow: 0 0 0 2px rgba(0, 0, 0, .75), 0 2px 6px rgba(0, 0, 0, .6); transition: transform var(--ease); }
html:root .fmark:hover { box-shadow: 0 0 0 2px #fff, 0 2px 6px rgba(0, 0, 0, .6); }
html:root .fmark.on { box-shadow: 0 0 0 3px #fff, 0 0 0 5px rgba(0, 0, 0, .75), 0 4px 10px rgba(0, 0, 0, .6); }
html:root .fmark-wrap.on .fring { animation: none; opacity: 0; }
html:root #map.swoop { transform: none; }
/* подписи под значками: обычные буквы на тёмной плашке вместо прописных с обводкой */
html:root .flabel { font: 600 12px/1.2 var(--font-ui); letter-spacing: 0; text-transform: none; color: #fff; text-shadow: none;
  background: rgba(0, 0, 0, .78); padding: 2px 7px; border-radius: 5px; transition: opacity var(--ease); }
html:root .fmark-wrap.on .flabel { background: #fff; color: #0a1216; }

/* сводка по фракции */
html:root .fp__link { background: var(--bg-deep); border-color: var(--border-strong); transition: border-color var(--ease); }
html:root .fp__link:hover { border-color: #fff; }
html:root .fp__link--off { opacity: 1; color: var(--text-muted); background: none; border-style: dashed; }
html:root .fp__goto button { background: var(--bg-deep); }

/* редактор: кнопки и инструменты белым по тёмному, а не серым */
html:root .ed-btn { color: #fff; background: var(--bg-deep); transition: border-color var(--ease); }
html:root .ed-btn:hover:not(:disabled) { border-color: #fff; }
html:root .ed-btn--main { color: var(--on-accent); background: var(--accent); }
html:root .ed-btn--main:hover:not(:disabled) { border-color: var(--accent-bright); }
html:root .ed-top select { color: #fff; background: var(--bg-deep); }
html:root .ed-tool { color: #fff; }
html:root .ed-tool:hover { background: rgba(255, 255, 255, .12); }
html:root .ed-tool.on { color: var(--on-accent); }
html:root .ed-tool .tt { background: #000; font-size: 13px; transition: none; }
html:root .ed-hint { color: #fff; font-size: 14px; }
html:root .ed-seg button { background: var(--bg-deep); color: #fff; }
html:root .ed-seg button.on { color: var(--on-accent); background: var(--accent); }
html:root .sw.on { box-shadow: 0 0 0 2px var(--plate), 0 0 0 4px #fff; border-color: transparent; }
html:root .toast { box-shadow: 0 4px 14px rgba(0, 0, 0, .45); font-size: 14px; }
html:root .plan, html:root .plan-new { background: var(--bg-deep); }

/* телефон: шапка блока онлайна остаётся в две строки, как сейчас */
@media (max-width: 640px) {
  html:root .online__head .h-section { font-size: 23px; white-space: nowrap; }
  html:root :is(.online__when, .online__total small) { font-size: 12px; }
  html:root .online__total b { font-size: 28px; }
}

/* ================= Палитра и шрифт «Графит» ================= */
html:root {
  --bg: #15171b; --bg-deep: #0e1013; --bg-muted: #1c1f24; --bg-accent: #2a2e35; --plate: #1a1d22;
  --accent: #19c98a; --accent-rgb: 25, 201, 138; --accent-bright: #3ddba0; --accent-bright-rgb: 61, 219, 160; --accent-hover: #12a871;
  --on-accent: #04130d; --second: #8fb8d8; --live: #3ddba0;
  --text-muted: #a2abb4;
  --font: "Inter", "Segoe UI", system-ui, sans-serif;
  --font-ui: "Inter", "Segoe UI", system-ui, sans-serif;
}
html:root body { letter-spacing: -.006em; }
html:root .logo { font-family: "Jost", system-ui, sans-serif; }           /* логотип — прежним шрифтом */
html:root :is(.h-section, .fgroup__title, .fp__head h2, .action__text b, .pick b, .modal__card h2, .box h3) { letter-spacing: -.02em; }
html:root .mapapp, html:root #map, html:root .leaflet-container { background: #1b1b1b; }
html:root :is(.fact--ok, .cite a) { color: var(--accent-bright); }
/* зелёный — только у действий и состояний: в заголовках и подвале он просто украшал */
html:root :is(.h-section, .h-display) .hl { color: inherit; }
html:root .footer h5 { color: #fff; font-weight: 600; }
html:root :is(.fp__more a, .meta-row a, .note a, .crumbs a:hover) { text-decoration: underline; text-underline-offset: 3px; }
/* Inter шире Jost: верхняя строка редактора должна по-прежнему помещаться в один ряд */
html:root .ed-top { gap: 6px; }
html:root .ed-btn { font-size: 12.5px; padding: 0 8px; gap: 5px; }
html:root .ed-top select { font-size: 12.5px; max-width: 275px; padding: 0 4px; }
html:root .ed-top input.ed-title { flex-basis: 130px; font-size: 13.5px; }
html:root .ed-props { font-size: 13px; }
html:root :is(.online__total b, .stat-card b, .tip__row b, .server__online b) { font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
html:root .fp__link--discord svg { color: #a5b0ff; }
