/* mc-theme.css v2: Minecraft-слой для mcawp.ru. Грузится ПОСЛЕ icons.css (header.php). Только перекрашивает/переформовывает: РАЗМЕРЫ, отступы, межстрочные и раскладка остаются как в ds.css.
   ОТКАТ: убрать один <link ... mc-theme.css> из header.php (и preload шрифта). Шрифт Monocraft (SIL OFL 1.1, Idrees Hassan): тонкий Light (400) + Regular (700), подмножество latin+кириллица.
   Правила: не менять width/height/padding/border-width/font-size компонентов; форма = ступенчатые углы (clip-path --mc-clip), грани = inset box-shadow; фокус у clip-path элементов внутри (outline-offset < 0). */

/* ===== 1. ШРИФТ ===== */
@font-face { font-family: "Monocraft"; src: url("/asset.php?f=fonts/mc-l.woff2") format("woff2"); font-weight: 100 499; font-style: normal; font-display: swap; size-adjust: 96%; ascent-override: 96%; descent-override: 19%; line-gap-override: 0%; }
@font-face { font-family: "Monocraft"; src: url("/asset.php?f=fonts/mc-r.woff2") format("woff2"); font-weight: 500 900; font-style: normal; font-display: swap; size-adjust: 96%; ascent-override: 96%; descent-override: 19%; line-gap-override: 0%; }
/* запасной шрифт с метрикой под Monocraft: без скачка вёрстки при swap */
@font-face { font-family: "Monocraft Fallback"; src: local("Arial"), local("Liberation Sans"), local("Helvetica"); size-adjust: 108%; ascent-override: 96%; descent-override: 19%; line-gap-override: 0%; }

:root {
  --mc-font: "Monocraft", "Monocraft Fallback", "Segoe UI", system-ui, Arial, "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
  --ds-font: var(--mc-font);
  --ds-mono: var(--mc-font);
  /* палитра §-цветов Minecraft */
  --mc-green: #55ff55; --mc-gold: #ffaa00; --mc-red: #ff5555; --mc-aqua: #55ffff; --mc-yellow: #ffff55; --mc-gray: #aaaaaa;
  /* цвета режимов (фон кнопок/карточек; белый текст >= 4.5:1) */
  --mc-vanilla: #2f7a2a; --mc-anarchy: #a8322d; --mc-pvp: #9a5a0a; --mc-lobby: #17697c; --mc-donate: #6d3fa8;
  /* камень: кнопки, чипы */
  --mc-stone: #3c3c40; --mc-stone-t: #f2f2f2;
  --mc-edge: rgba(0, 0, 0, .75); --mc-ring: rgba(255, 255, 255, .14);
  --mc-focus: #ffff55;
  --mc-tip-bg: rgba(16, 0, 16, .96); --mc-tip-b: #3a0a8a; --mc-tip-b2: #5a1fc0;
  /* ступенчатый угол 3 px (как в референсах владельца) */
  --mc-clip: polygon(0 3px, 1px 3px, 1px 1px, 3px 1px, 3px 0, calc(100% - 3px) 0, calc(100% - 3px) 1px, calc(100% - 1px) 1px, calc(100% - 1px) 3px, 100% 3px, 100% calc(100% - 3px), calc(100% - 1px) calc(100% - 3px), calc(100% - 1px) calc(100% - 1px), calc(100% - 3px) calc(100% - 1px), calc(100% - 3px) 100%, 3px 100%, 3px calc(100% - 1px), 1px calc(100% - 1px), 1px calc(100% - 3px), 0 calc(100% - 3px));
  /* токены ds: только форма и смысловые цвета, размеры не трогаем */
  --ds-r-sm: 0; --ds-r-md: 0; --ds-r-lg: 0; --ds-r-pill: 0;
  --ds-danger: var(--mc-red); --ds-info-t: var(--mc-aqua); --ds-info: var(--mc-aqua); --ds-warn: var(--mc-gold); --ds-warn-t: var(--mc-gold);
  --ds-code-bg: rgba(0, 0, 0, .62); --ds-code-fg: var(--mc-yellow);
}
:root[data-theme="light"] {
  /* светлая тема: серый каменный интерфейс, тёмный зелёный акцент (контраст AA) */
  --ds-accent: #044a24; --ds-accent-hover: #03371a; --ds-accent-2: #064a7d; --ds-link: #044a24;
  --ds-text: #101810; --ds-text-2: #1c281f; --ds-muted: #2f4338;
  --ds-danger: #9c1c15; --ds-warn: #6e3b00; --ds-warn-t: #6e3b00; --ds-info-t: #064a7d; --ds-info: #064a7d; --ds-success: #044a24;
  --ds-surface: rgba(198, 198, 198, .95); --ds-surface-solid: #c6c6c6; --ds-footer-bg: rgba(198, 198, 198, .95); --ds-nav-bg: #c6c6c6;
  --ds-border: rgba(0, 0, 0, .35); --ds-border-strong: rgba(0, 0, 0, .65); --ds-border-accent: rgba(4, 74, 36, .6);
  --ds-code-bg: #373737; --ds-code-fg: var(--mc-yellow);
  --mc-stone: #e2e2e2; --mc-stone-t: #101810; --mc-edge: rgba(0, 0, 0, .55); --mc-ring: rgba(255, 255, 255, .8);
  --mc-focus: #0b3fb0;
  --mc-green: #0b6a0b; --mc-gold: #6e3b00; --mc-red: #9c1c15; --mc-aqua: #064a7d;
}

/* ===== 2. ТИПОГРАФИКА (тонкая) ===== */
html { -webkit-font-smoothing: none; font-synthesis: none; }
body, button, input, select, textarea { font-family: var(--mc-font); font-feature-settings: "liga" 0, "calt" 0; font-variant-ligatures: none; letter-spacing: -.05em; }
body { font-weight: 400; word-spacing: -.1em; }
:root[data-theme="light"] body { font-weight: 500; }
.sub-page h1, .ds-h1, .home .hero-title, .hero-title, .nav-logo__text { letter-spacing: -.05em; }
:root { --ds-reading: 45.8rem; }
/* только лёгкая тень заголовков, как в игре (тёмная тема) */
.sub-page h1, .ds-h1, .tab-content h1, .sub-page h2, .ds-h2, .tab-content h2, .sub-page h3, .ds-h3, .tab-content h3 { text-shadow: 1px 1px 0 rgba(0, 0, 0, .4); }
:root[data-theme="light"] :is(.sub-page, .tab-content) :is(h2, h3) { text-shadow: none; }
b, strong { font-weight: 700; }
em, i { font-style: normal; }
::selection { background: var(--mc-green); color: #000; }
.ds-prose a, .tab-content a { color: var(--mc-aqua); }
:root[data-theme="light"] .ds-prose a, :root[data-theme="light"] .tab-content a { color: var(--ds-accent-2); }
.breadcrumbs a { color: var(--mc-aqua); }
:root[data-theme="light"] .breadcrumbs a { color: var(--ds-accent-2); }
/* команды и код: жёлтое на тёмной плашке, как чат */
.ds-code, .tab-content code, .ds-prose code, code, kbd { font-family: var(--mc-font); background: var(--ds-code-bg); color: var(--ds-code-fg); box-shadow: inset 1px 1px 0 rgba(0, 0, 0, .5), inset -1px -1px 0 rgba(255, 255, 255, .12); letter-spacing: -.05em; }
.ds-price, .ds-coin, .shop-price, .md-c { color: var(--mc-gold); }
.ds-price small, .ds-price s { color: var(--ds-muted); }
.ds-stat__value { color: var(--mc-green); }
.ds-badge--accent { color: var(--mc-green); } .ds-badge--info { color: var(--mc-aqua); } .ds-badge--warn { color: var(--mc-gold); } .ds-badge--danger { color: var(--mc-red); }
/* маленькая серая подпись раздела (как «РЕЖИМЫ ИГРЫ» в референсе): класс .mc-label */
.mc-label { text-transform: uppercase; letter-spacing: .02em; color: var(--ds-muted); font-size: .8125rem; }

/* ===== 3. ФОКУС ===== */
:focus-visible { outline: 3px solid var(--mc-focus); outline-offset: 2px; border-radius: 0; }
/* у элементов со ступенчатым clip-path кольцо рисуем внутри, иначе его обрежет */
:is(.ds-btn, .tab-content .btn, .ds-tab, .nav-link, .shop-chip, .shop-preset, .shop-more, a.ds-card):focus-visible { outline: 2px solid var(--mc-focus); outline-offset: -5px; }
.ds-input:focus-visible, .ds-select:focus-visible, .ds-textarea:focus-visible { outline: 3px solid var(--mc-focus); outline-offset: 1px; border-color: #fff; }

/* ===== 4. ФОРМА: ступенчатые углы, грани внутри (размеры не меняются) ===== */
:is(.ds-btn, .tab-content .btn, .sub-page .cta-row .btn, .ds-actions .btn, .ds-tab, .shop-chip, .shop-preset, .shop-more, .nav-link, .ds-badge, .ds-panel, .tab-content, .ds-card, .ds-box, .ds-stat, .ds-alert, .tab-content .note, .ds-avp, .ds-table-wrap, .tab-content .tw, .nav-online, .ds-theme-btn) { clip-path: var(--mc-clip); }

/* ===== 5. КНОПКИ И ЧИПЫ: цвет задаёт --mc-c, текст --mc-ct ===== */
:is(.ds-btn, .tab-content .btn, .sub-page .cta-row .btn, .ds-actions .btn, .ds-tab, .shop-chip, .shop-preset, .shop-more) {
  --mc-c: var(--mc-stone); --mc-ct: var(--mc-stone-t);
  background: var(--mc-c); color: var(--mc-ct) !important; text-shadow: none; transition: none;
  border-color: color-mix(in srgb, var(--mc-c), #000 55%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--mc-c), #fff 30%), inset 0 -3px 0 color-mix(in srgb, var(--mc-c), #000 30%);
}
:is(.ds-btn, .tab-content .btn, .sub-page .cta-row .btn, .ds-actions .btn, .ds-tab, .shop-chip, .shop-preset, .shop-more):hover { background: color-mix(in srgb, var(--mc-c), #fff 16%); border-color: color-mix(in srgb, var(--mc-c), #000 55%); transform: none; color: var(--mc-ct) !important; }
:is(.ds-btn, .tab-content .btn, .sub-page .cta-row .btn, .ds-actions .btn, .ds-tab, .shop-chip, .shop-preset):active { transform: translateY(1px); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--mc-c), #fff 20%), inset 0 3px 0 color-mix(in srgb, var(--mc-c), #000 35%); }
/* главная (зелёная) и активная вкладка/чип */
:is(.ds-btn--primary, .tab-content .btn.p, .ds-tab[aria-selected="true"], .ds-tab.is-active, .shop-chip[aria-pressed="true"], .shop-chip.is-active, .shop-preset[aria-pressed="true"]) { --mc-c: var(--ds-accent); --mc-ct: var(--ds-on-accent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--mc-c), #fff 45%), inset 0 -3px 0 color-mix(in srgb, var(--mc-c), #000 28%); }
:is(.ds-btn--primary, .tab-content .btn.p):hover { background: var(--ds-accent-hover); }
:root:not([data-theme="light"]) :is(.ds-btn--primary, .tab-content .btn.p):hover { background: #7dffb4; }
/* цвет по режиму (по ссылке, без правки разметки): ваниль зелёный, анархия красный, PvP оранжевый, лобби голубой, донат фиолетовый */
:is(.ds-btn, .tab-content .btn, .ds-tab, .shop-chip)[href*="vanilla"] { --mc-c: var(--mc-vanilla); --mc-ct: #fff; }
:is(.ds-btn, .tab-content .btn, .ds-tab, .shop-chip)[href*="anarch"] { --mc-c: var(--mc-anarchy); --mc-ct: #fff; }
:is(.ds-btn, .tab-content .btn, .ds-tab, .shop-chip)[href*="pvp"] { --mc-c: var(--mc-pvp); --mc-ct: #fff; }
:is(.ds-btn, .tab-content .btn, .ds-tab, .shop-chip)[href*="lobby"] { --mc-c: var(--mc-lobby); --mc-ct: #fff; }
:is(.ds-btn, .tab-content .btn, .ds-tab)[href*="donate"] { --mc-c: var(--mc-donate); --mc-ct: #fff; }
.ds-btn--vanilla { --mc-c: var(--mc-vanilla); --mc-ct: #fff; } .ds-btn--anarchy { --mc-c: var(--mc-anarchy); --mc-ct: #fff; } .ds-btn--pvp { --mc-c: var(--mc-pvp); --mc-ct: #fff; } .ds-btn--lobby { --mc-c: var(--mc-lobby); --mc-ct: #fff; } .ds-btn--donate { --mc-c: var(--mc-donate); --mc-ct: #fff; }
.ds-btn--ghost { --mc-c: transparent; background: transparent; box-shadow: inset 0 0 0 1px var(--ds-border-strong); }
.ds-btn--ghost:hover { background: var(--ds-surface-3); }
.ds-btn--danger { --mc-c: #7a1f1f; --mc-ct: #fff; }
:root[data-theme="light"] .ds-btn--danger { --mc-c: #e0a0a0; --mc-ct: #5a0a0a; }
.ds-btn[disabled], .ds-btn[aria-disabled="true"] { opacity: .55; }
/* чипы-теги: маленькие тёмные прямоугольники (референс «Теги сервера») */
.ds-badge { background: var(--mc-stone); color: var(--mc-stone-t); border-color: color-mix(in srgb, var(--mc-stone), #000 55%); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--mc-stone), #fff 22%); }
.ds-badge--accent { background: color-mix(in srgb, var(--mc-stone), var(--mc-vanilla) 40%); }
.ds-badge--info { background: color-mix(in srgb, var(--mc-stone), var(--mc-lobby) 40%); }
.ds-badge--warn { background: color-mix(in srgb, var(--mc-stone), var(--mc-pvp) 40%); }
.ds-badge--danger { background: color-mix(in srgb, var(--mc-stone), var(--mc-anarchy) 40%); }
:root[data-theme="light"] .ds-badge--accent, :root[data-theme="light"] .ds-badge--info, :root[data-theme="light"] .ds-badge--warn, :root[data-theme="light"] .ds-badge--danger { color: #101810; }

/* ===== 6. НАВИГАЦИЯ: хотбар ===== */
.site-nav { box-shadow: 0 2px 0 rgba(0, 0, 0, .55), 0 3px 0 var(--ds-border-accent); }
.nav-link { letter-spacing: -.05em; }
.nav-link:hover { background: var(--ds-surface-3); }
.nav-link.active { background: var(--ds-accent); color: var(--ds-on-accent); box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .75), inset 0 -3px 0 rgba(0, 0, 0, .25); }
.nav-link.nav-cta { box-shadow: inset 0 0 0 1px var(--ds-border-accent); }
.nav-link.nav-cta.active { box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .75), inset 0 -3px 0 rgba(0, 0, 0, .25); }
.nav-dd-menu { box-shadow: inset 0 0 0 1px var(--mc-ring), 3px 3px 0 rgba(0, 0, 0, .45); }
:root[data-theme="light"] .nav-dd-menu { background: #c6c6c6; }
.ds-theme-btn { box-shadow: inset 0 0 0 1px var(--mc-ring), inset 0 -3px 0 rgba(0, 0, 0, .25); }
.nav-online { background: rgba(0, 0, 0, .55); color: var(--mc-green); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); }
.nav-online .dot { border-radius: 0; background: var(--mc-green); }
:root[data-theme="light"] .nav-online { background: #373737; color: #55ff55; }
:root[data-theme="light"] .nav-online .dot { background: #55ff55; }

/* ===== 7. ПАНЕЛИ, КАРТОЧКИ, АЛЕРТЫ ===== */
.ds-panel, .tab-content, .ds-table-wrap, .tab-content .tw { box-shadow: inset 0 0 0 1px var(--mc-ring); }
.ds-card, .ds-box, .ds-stat, .ds-step, .ds-avp, .ds-alert, .tab-content .note { box-shadow: inset 0 1px 0 var(--mc-ring), inset 0 0 0 1px rgba(0, 0, 0, .25); }
/* карточки режимов: цвет по ссылке, лёгкая тонировка и цветная верхняя грань */
a.ds-card { --mc-c: transparent; box-shadow: inset 0 3px 0 var(--mc-c), inset 0 0 0 1px var(--mc-ring); }
a.ds-card[href*="vanilla"] { --mc-c: var(--mc-vanilla); } a.ds-card[href*="anarch"] { --mc-c: var(--mc-anarchy); } a.ds-card[href*="pvp"] { --mc-c: var(--mc-pvp); } a.ds-card[href*="lobby"] { --mc-c: var(--mc-lobby); } a.ds-card[href*="donate"] { --mc-c: var(--mc-donate); }
a.ds-card:is([href*="vanilla"], [href*="anarch"], [href*="pvp"], [href*="lobby"], [href*="donate"]) { background: color-mix(in srgb, var(--mc-c) 22%, var(--ds-surface-2)); }
a.ds-card:hover { box-shadow: inset 0 3px 0 var(--mc-c), inset 0 0 0 2px rgba(255, 255, 255, .55); }
.ds-step__n { display: grid; place-items: center; line-height: 1; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55), inset 0 -3px 0 rgba(0, 0, 0, .25); }
.ds-alert, .tab-content .note { border-left-color: var(--ds-accent); }
.ds-alert--info { border-left-color: var(--mc-aqua); } .ds-alert--warn { border-left-color: var(--mc-gold); } .ds-alert--danger { border-left-color: var(--mc-red); }
.ds-input, .ds-select, .ds-textarea { border-color: #a0a0a0; background: #000; color: #fff; box-shadow: inset 1px 1px 0 #3a3a3a; }
:root[data-theme="light"] .ds-input, :root[data-theme="light"] .ds-select, :root[data-theme="light"] .ds-textarea { background: #fff; color: #101810; border-color: #373737; box-shadow: inset 1px 1px 0 #aaa; }
.ds-table tbody tr:nth-child(even) { background: rgba(255, 255, 255, .04); }
:root[data-theme="light"] .ds-table tbody tr:nth-child(even) { background: rgba(0, 0, 0, .05); }
.ds-accordion details, .tab-content details { box-shadow: inset 0 0 0 1px var(--mc-ring); }

/* ===== 8. ЗАГОЛОВКИ И XP-БАР (в пределах прежних отступов) ===== */
.sub-page h2, .ds-h2, .tab-content h2 { position: relative; }
.sub-page h2::after, .ds-h2::after, .tab-content h2::after { content: ""; position: absolute; left: 0; bottom: -7px; width: 3.5rem; height: 3px; background: var(--ds-accent); box-shadow: 3.5rem 0 0 var(--ds-border-accent); }
:is(.ds-card, .ds-step, .ds-box, .ds-alert, .ds-avp, summary, .ds-page-head, .ds-center) h2::after { display: none; }
.ds-section { position: relative; border-top-color: transparent; }
.ds-section::before { content: ""; position: absolute; left: 0; right: 0; top: 8px; height: 6px; background: linear-gradient(90deg, #7dff3a 0 30%, #1c1c1c 30%); box-shadow: 0 0 0 1px #000; }
.ds-section::after { content: ""; position: absolute; left: 0; right: 0; top: 8px; height: 6px; background: repeating-linear-gradient(90deg, transparent 0 18px, rgba(0, 0, 0, .55) 18px 20px); pointer-events: none; }
.ds-page-head + .ds-section::before, .ds-page-head + .ds-section::after, .ds-section:first-child::before, .ds-section:first-child::after { display: none; }

/* ===== 9. ПОДСКАЗКА-ТУЛТИП ПРЕДМЕТА: .mc-tip или data-mc-tip="текст" ===== */
.mc-tip, .ds-pop { background: var(--mc-tip-bg); color: #fff; border: 2px solid var(--mc-tip-b); box-shadow: 0 0 0 2px #100010, inset 0 0 0 2px var(--mc-tip-b2); }
[data-mc-tip] { position: relative; }
[data-mc-tip]::after { content: attr(data-mc-tip); position: absolute; left: 50%; bottom: calc(100% + 8px); transform: translateX(-50%); width: max-content; max-width: min(18rem, 80vw); z-index: 200; padding: 8px 12px; background: var(--mc-tip-bg); color: #fff; border: 2px solid var(--mc-tip-b); box-shadow: 0 0 0 2px #100010, inset 0 0 0 2px var(--mc-tip-b2); font-size: .875rem; line-height: 1.4; pointer-events: none; opacity: 0; visibility: hidden; clip-path: none; }
[data-mc-tip]:hover::after, [data-mc-tip]:focus-visible::after { opacity: 1; visibility: visible; }

/* ===== 10. ПРОЧЕЕ, ДОСТУПНОСТЬ ===== */
.lc-btn, .lc-badge, .shop-sheet, .shop-bar { border-radius: 0; }
.ds-pixel { image-rendering: pixelated; }
@media (prefers-reduced-motion: reduce) { .ds-btn, .ds-tab, a.ds-card, .nav-link { transition: none !important; } }
@media (forced-colors: active) { :is(.ds-btn, .ds-panel, .tab-content, .ds-card, .nav-link, .ds-badge) { clip-path: none; border: 2px solid ButtonText; } }
