:root {
  --bg: #0e0e0e;
  --bg-2: #0b0b0b;
  --panel: #171717;
  --border: #2a2a2a;
  --accent: #A12B10; /* жёлто-оранжевый */
  --accent-2: #d32b2b; /* красный */
  --text: #e7e7e7;
  --muted: #a9a9a9;
}
@font-face {
  font-family: 'Diablo';
  src: url('fonts/diablofont.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}

* { 
  box-sizing: border-box; 
}

/* Плавный скролл для элементов с overflow (программный скролл) */
table,
.activity-table-wrapper,
[style*="overflow"] {
  scroll-behavior: smooth;
}

html { 
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

html, body { height: 100%; }

body {
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);
  background-image: url('data:image/svg+xml;utf8,<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" viewBox="0 0 256 256"><defs><linearGradient id="g-base" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="%230b0b0d"/><stop offset="1" stop-color="%23111015"/></linearGradient><radialGradient id="g-ember" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" fx="0" fy="0" gradientTransform="translate(0 0) scale(160)"><stop offset="0" stop-color="%23b60f1a" stop-opacity="0.28"/><stop offset="0.55" stop-color="%23930912" stop-opacity="0.12"/><stop offset="1" stop-color="%233a070b" stop-opacity="0"/></radialGradient><radialGradient id="g-ember2" xlink:href="%23g-ember" gradientTransform="translate(256 256) scale(170)"/><radialGradient id="g-ember3" xlink:href="%23g-ember" gradientTransform="translate(128 128) scale(120)"/><linearGradient id="g-hot" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="%23ff2b2b" stop-opacity="0.9"/><stop offset="1" stop-color="%238b000a" stop-opacity="0.9"/></linearGradient><filter id="f-crisp" x="-10%" y="-10%" width="120%" height="120%"><feComponentTransfer><feFuncA type="linear" slope="0.9"/></feComponentTransfer></filter><symbol id="spike" viewBox="0 0 12 20"><path d="M6 0 L12 20 H0 Z" fill="url(%23g-hot)" opacity="0.25"/></symbol><symbol id="rune" viewBox="0 0 24 24"><path d="M12 1 L19 8 L12 15 L5 8 Z" fill="none" stroke="url(%23g-hot)" stroke-width="1.6" opacity="0.5"/><path d="M12 5 L15 8 L12 11 L9 8 Z" fill="url(%23g-hot)" opacity="0.18"/></symbol></defs><rect width="256" height="256" fill="url(%23g-base)"/><rect width="256" height="256" fill="url(%23g-ember)"/><rect width="256" height="256" fill="url(%23g-ember2)"/><rect width="256" height="256" fill="url(%23g-ember3)"/><g opacity="0.5"><use href="%23spike" x="8" y="-2" transform="rotate(6 14 8)"/><use href="%23spike" x="64" y="-3" transform="rotate(-4 70 8)"/><use href="%23spike" x="120" y="-1"/><use href="%23spike" x="176" y="-2" transform="rotate(8 182 8)"/><use href="%23spike" x="232" y="-3" transform="rotate(-6 238 8)"/><use href="%23spike" x="36" y="108" transform="scale(1 0.9)"/><use href="%23spike" x="92" y="100" transform="rotate(10 98 110)"/><use href="%23spike" x="148" y="106" transform="rotate(-8 154 116)"/><use href="%23spike" x="204" y="102" transform="scale(0.95 1)"/><use href="%23spike" x="8" y="228" transform="rotate(-174 14 236)"/><use href="%23spike" x="64" y="230" transform="rotate(178 70 238)"/><use href="%23spike" x="120" y="232" transform="rotate(180 126 240)"/><use href="%23spike" x="176" y="230" transform="rotate(-176 182 238)"/><use href="%23spike" x="232" y="228" transform="rotate(179 238 236)"/></g><g><use href="%23rune" x="18" y="18"/><use href="%23rune" x="200" y="22" transform="rotate(15 212 34)"/><use href="%23rune" x="90" y="70" transform="rotate(-12 102 82)"/><use href="%23rune" x="146" y="150" transform="rotate(8 158 162)"/><use href="%23rune" x="40" y="170" transform="rotate(-6 52 182)"/><use href="%23rune" x="206" y="190" transform="rotate(20 218 202)"/></g><g stroke="%23b01219" stroke-opacity="0.25" stroke-width="1" filter="url(%23f-crisp)"><path d="M-10 40 Q 40 28, 78 46 T 150 60 T 260 46" fill="none"/><path d="M-5 180 Q 60 166, 104 184 T 190 198 T 270 186" fill="none"/><path d="M30 -10 Q 42 40, 60 64 T 92 110 T 110 170 T 128 266" fill="none"/><path d="M230 -10 Q 206 40, 188 64 T 168 110 T 150 170 T 136 266" fill="none"/></g><radialGradient id="g-vignette" cx="0.5" cy="0.5" r="0.8"><stop offset="0.7" stop-color="%23000" stop-opacity="0"/><stop offset="1" stop-color="%23000" stop-opacity="0.35"/></radialGradient><rect width="256" height="256" fill="url(%23g-vignette)"/></svg>');
  background-repeat: repeat;
  background-attachment: scroll;            /* изменено с fixed на scroll для лучшей производительности */
  background-size: 256px 256px;            /* можете менять масштаб */
  background-color: var(--bg);
  /* Оптимизация производительности скролла */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

.container {
  width: min(1200px, 92%);
  margin: 0 auto;
  box-sizing: border-box;
}

/* Topbar */
.topbar {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #141414;
  border-bottom: 1px solid #2b1b1b;
  /* Оптимизация для плавного скролла */
  will-change: transform;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.topbar__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 56px;
}
.topbar__brand-section {
  display: flex;
  align-items: center;
  gap: 16px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--accent);
  text-decoration: none;
  font-weight: 700;
}
.brand__icon { display:none; }
.brand__name { display:none; }
.brand__logo { height: 28px; display: block; }

.menu a {
  color: #d0d0d0;
  text-decoration: none;
  margin-left: 22px;
  transition: color .2s ease;
}
.menu a:hover { color: #fff; }
.menu__cabinet {
  margin-left: 32px;
  padding: 6px 18px;
  border-radius: 999px;
  border: 1px solid rgba(255,95,64,0.5);
  font-weight: 600;
  color: #fff;
}
.menu__cabinet:hover {
  background: rgba(255,95,64,0.15);
  border-color: rgba(255,95,64,0.9);
}
.lang-switcher {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 6px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  cursor: pointer;
  transition: all .2s ease;
}
.lang-switcher:hover {
  background: rgba(255,255,255,0.1);
  border-color: rgba(255,255,255,0.2);
}
.lang-switcher__current {
  font-weight: 600;
  color: #fff;
  font-size: 13px;
  text-transform: uppercase;
}
.lang-switcher__icon {
  width: 14px;
  height: 14px;
  opacity: 0.7;
}
.lang-switcher__dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 8px;
  background: #1a1a1a;
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 8px;
  padding: 4px;
  min-width: 120px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.4);
  display: none;
  z-index: 1000;
}
.lang-switcher--open .lang-switcher__dropdown {
  display: block;
}
.lang-switcher__option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 6px;
  color: #d0d0d0;
  font-size: 13px;
  cursor: pointer;
  transition: all .2s ease;
}
.lang-switcher__option > span:first-child {
  font-size: 18px;
  line-height: 1;
  display: inline-block;
  min-width: 24px;
  text-align: center;
  font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji', sans-serif;
}
.lang-switcher__option:hover {
  background: rgba(255,255,255,0.1);
  color: #fff;
}
.lang-switcher__option--active {
  background: rgba(255,95,64,0.2);
  color: #fff;
  font-weight: 600;
}
.lang-switcher__option-flag {
  width: 20px;
  height: 15px;
  border-radius: 2px;
  object-fit: cover;
}

/* Mobile Navigation - Burger Menu */
.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 8px;
  z-index: 101;
}

.menu-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: #fff;
  transition: all 0.3s ease;
  border-radius: 2px;
}

.menu-toggle.active span:nth-child(1) {
  transform: rotate(45deg) translate(8px, 8px);
}

.menu-toggle.active span:nth-child(2) {
  opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
  transform: rotate(-45deg) translate(7px, -7px);
}

/* Mobile/topbar adjustments */
@media (max-width: 900px) {
  .topbar__row {
    flex-wrap: wrap;
    padding: 8px 0;
  }
  
  .menu-toggle {
    display: flex;
    order: 2;
    margin-left: auto;
  }
  
  .topbar .menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #141414;
    border-top: 1px solid #2b1b1b;
    flex-direction: column;
    padding: 16px;
    gap: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  }
  
  .topbar .menu.active {
    display: flex;
  }
  
  .topbar .menu a {
    margin: 0;
    padding: 12px;
    border-radius: 8px;
    text-align: center;
    background: rgba(255,255,255,0.05);
    transition: background 0.2s;
  }
  
  .topbar .menu a:hover {
    background: rgba(255,255,255,0.1);
  }
  
  .topbar .menu__cabinet {
    order: 0;
    flex-basis: auto;
    margin: 0;
  }
  
  .topbar__brand-section {
    flex: 1;
    min-width: 0;
  }
  
  .brand {
    font-size: 14px;
  }
  
  .brand__logo {
    height: 24px;
  }
}

/* Hero */
.hero {
  padding: 72px 0 36px;
  background: linear-gradient(180deg, rgba(255,68,0,0.08), rgba(0,0,0,0));
}
.hero__title {
  font-family: 'Diablo', sans-serif;
  margin: 0 0 12px;
  font-size: clamp(36px, 6vw, 72px);
  line-height: 1.1;
  color: var(--accent);
  text-shadow: 0 0 24px rgba(255,128,0,.35), 0 0 48px rgba(255,128,0,.2);
  text-align: center;
}
.hero__subtitle {
  margin: 0 auto;
  max-width: 900px;
  text-align: center;
  color: var(--muted);
}
.hero__actions {
  margin-top: 18px;
  display: flex;
  justify-content: center;
}
.btn-hero {
  width: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 26px;
  border-radius: 999px;
  border: 1px solid rgba(255, 113, 74, 0.8);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 700;
  background: rgba(255, 113, 74, 0.08);
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.btn-hero:hover {
  background: rgba(255, 113, 74, 0.18);
  border-color: rgba(255, 113, 74, 1);
}

/* Cards */
.cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  padding: 36px 0 8px;
}

.card {
  position: relative;
  background: #111; /* fallback */
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
  min-height: 280px;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.card:hover {
  transform: translateY(-3px);
  border-color: #5b1c1c;
  box-shadow: 0 10px 30px rgba(0,0,0,.4);
}
.card--accent { border-color: #5b1c1c; }

.card__cover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #202020;
}
.card__servise {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #202020;
}
.card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.55) 40%, rgba(0,0,0,.85) 100%);
  z-index: 0;
}
.card__body { 
  position: relative; 
  z-index: 1; 
  padding: 18px; 
  min-height: 280px; 
  display: flex; 
  flex-direction: column; 
  justify-content: flex-end; 
}

.card--featured { grid-column: 1 / -1; min-height: 360px; }
.card--featured .card__body { align-items: center; text-align: center; max-width: 720px; padding: 24px; margin: 0 auto; }
.card--featured .btn { width: auto; padding: 10px 22px; }
.card__icon { color: var(--accent-2); font-size: 22px; margin-bottom: 8px; }
.card__title { margin: 0 0 6px; color: var(--accent);font-family: 'Diablo', sans-serif; font-size: 20px; text-align: center; }
.card__text { margin: 0 0 16px; color: var(--muted); text-align: center; }

.btn {
  display: inline-block;
  width: 100%;
  text-align: center;
  padding: 10px 14px;
  border: 1px solid #8f2020;
  border-radius: 10px;
  color: #fff;
  background: none;
  text-decoration: none;
  transition: background .2s ease, border-color .2s ease;
}
.btn2 {
  display: inline-block;
  width: 30%;
  text-align: center;
  padding: 10px 14px;
  border: 1px solid #8f2020;
  border-radius: 10px;
  color: #fff;
  background: #5b1c1c;
  text-decoration: none;
  transition: background .2s ease, border-color .2s ease;
  box-sizing: border-box;
}
.btn2.btn-hero {
  width: auto;
}
.btn:hover { background: #8f2020; border-color: #8f2020; }
.btn2:hover { background: #8f2020; border-color: #8f2020; }

/* Sections */
.section { padding: 56px 0; border-top: 1px solid #1f1f1f; }
.section h2 { margin: 0 0 10px; color: var(--accent); }
.section p { margin: 0; color: var(--muted); }

/* Footer */
.footer { 
  border-top: 1px solid #2b1b1b; 
  background: #141414; 
  padding: 18px 0; 
  color: #bdbdbd; 
}
.footer .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}
.footer__copyright {
  flex: 1;
  text-align: left;
  min-width: 200px;
}
.footer__author {
  flex: 1;
  text-align: right;
  min-width: 200px;
}
.footer__author a {
  color: #bdbdbd;
  text-decoration: none;
  transition: color 0.2s;
}
.footer__author a:hover {
  color: #e7d2a5;
}
@media (max-width: 768px) {
  .footer .container {
    flex-direction: column;
    text-align: center;
  }
  .footer__copyright,
  .footer__author {
    text-align: center;
    width: 100%;
  }
}

/* Responsiveness */
@media (max-width: 1000px) {
  .cards { grid-template-columns: repeat(2, 1fr); }
  .container {
    width: min(1200px, 95%);
  }
}

@media (max-width: 768px) {
  .container {
    width: min(1200px, 98%);
    padding: 0 12px;
    box-sizing: border-box;
    overflow-x: hidden;
  }
  body {
    overflow-x: hidden;
  }
  
  .hero {
    padding: 48px 0 24px;
  }
  
  .hero__title {
    font-size: clamp(28px, 8vw, 48px);
  }
  
  .hero__subtitle {
    font-size: 14px;
    padding: 0 12px;
  }
  
  .hero__actions {
    padding: 0 12px;
  }
  
  .btn2.btn-hero {
    width: 100%;
    max-width: 280px;
    padding: 12px 24px;
    font-size: 14px;
  }
  
  .cards {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .card {
    padding: 16px;
  }
  
  .card__title {
    font-size: 20px;
  }
  
  .card__text {
    font-size: 14px;
  }
  
  .btn {
    padding: 10px 20px;
    font-size: 14px;
  }
  
  /* Forms */
  .input, .textarea, select {
    font-size: 16px; /* Prevents zoom on iOS */
    padding: 12px;
  }
  
  /* Guide items */
  .guide-item {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .guide-thumb {
    height: 200px;
  }
  
  .guide-title {
    font-size: 22px;
  }
  
  /* Tables */
  table {
    font-size: 12px;
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  /* Footer */
  .footer {
    padding: 24px 0;
    font-size: 13px;
  }
}

@media (max-width: 640px) {
  .topbar__row {
    height: auto;
    padding: 8px 0;
  }
  
  .menu a {
    margin: 0;
  }
  
  .cards {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  
  .card__cover {
    height: 180px;
  }
  
  .hero__title {
    font-size: 32px;
  }
  
  .hero__subtitle {
    font-size: 13px;
  }
  
  .hero__actions {
    padding: 0 8px;
  }
  
  .btn2.btn-hero {
    width: 100%;
    max-width: 100%;
    padding: 12px 20px;
    font-size: 13px;
  }
  
  /* Typography */
  h1 { font-size: 28px; }
  h2 { font-size: 24px; }
  h3 { font-size: 20px; }
  h4 { font-size: 18px; }
  
  /* Buttons */
  .btn {
    width: 100%;
    max-width: 100%;
  }
  
  /* Forms */
  .form-field {
    margin-bottom: 16px;
  }
  
  /* Cards */
  .card--featured {
    padding: 20px;
  }
  
  .card--featured .card__body {
    padding: 16px;
  }
}

@media (max-width: 480px) {
  .container {
    padding: 0 8px;
  }
  
  .hero {
    padding: 32px 0 20px;
  }
  
  .hero__title {
    font-size: 28px;
  }
  
  .hero__actions {
    padding: 0 4px;
  }
  
  .btn2.btn-hero {
    width: 100%;
    max-width: 100%;
    padding: 12px 16px;
    font-size: 12px;
    letter-spacing: 0.04em;
  }
  
  .card {
    padding: 12px;
  }
  
  .card__title {
    font-size: 18px;
  }
  
  .btn {
    padding: 10px 16px;
    font-size: 13px;
  }
  
  /* Lang switcher */
  .lang-switcher {
    padding: 4px 8px;
    font-size: 12px;
  }
  
  .lang-switcher__current {
    font-size: 11px;
  }
}

/* Subpages helpers */
.cards--two { grid-template-columns: repeat(2, 1fr); }
.backbar { padding: 8px 0 0; }
.backbar a { color:#dcdcdc; text-decoration:none; font-weight:600; }
.backbar a:hover { color:#ffffff; }
.note { margin: 8px 0 0; padding-left: 12px; border-left: 3px solid rgba(255,176,32,.6); color: var(--muted); }

/* Guide list (Полезное) */
.guide-list { display: grid; gap: 22px; padding: 24px 0 12px; }
.guide-item {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 20px;
  align-items: center;
  background: linear-gradient(180deg, #1a1a1a, #161616);
  border: 1px solid #5b1c1c;
  border-radius: 12px;
  padding: 14px;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.guide-item:hover { transform: translateY(-2px); border-color: #8f2020; box-shadow: 0 8px 24px rgba(0,0,0,.35); }
.guide-thumb { width: 100%; height: 180px; object-fit: cover; border-radius: 8px; border: 1px solid #2a2a2a; }
.guide-content { padding: 6px 2px; }
.guide-title { margin: 0 0 6px; font-size: 28px; color: var(--accent); }
.guide-desc { margin: 0 0 12px; color: var(--muted); }

@media (max-width: 900px) {
  .guide-item { grid-template-columns: 1fr; }
  .guide-thumb { height: 200px; }
  .guide-title { font-size: 24px; }
}
/* Builds list + filters */
.filters { display:flex; flex-direction:column; gap:16px; }
.panel:has(.filters) { margin-bottom:32px; }
.filter-group { display:flex; flex-direction:column; gap:8px; align-items:center; }
.filter-group--inline { flex-direction:row; gap:24px; align-items:flex-start; flex-wrap:wrap; justify-content:center; }
.filter-subgroup { display:flex; flex-direction:column; gap:8px; flex:1; min-width:200px; align-items:center; box-sizing:border-box; }
.filter-subgroup:last-child { flex:1.5; min-width:300px; }
.filter-label { font-size:12px; color:#999; text-transform:uppercase; letter-spacing:0.05em; font-weight:600; text-align:center; }
.filter-buttons { display:flex; gap:6px; flex-wrap:nowrap; justify-content:center; }
.filter-subgroup:last-child .filter-buttons { flex-wrap:nowrap; }
.filter-subgroup:last-child .filter-btn { padding:6px 10px; font-size:12px; }
.filter-btn { padding:6px 14px; border:1px solid #3a3a3a; border-radius:6px; background:#1f1f1f; color:#d0d0d0; font-size:13px; cursor:pointer; transition:all 0.2s; white-space:nowrap; text-align:center; box-sizing:border-box; min-width:0; }
.filter-btn:hover { background:#2a2a2a; border-color:#5b1c1c; color:#fff; }
.filter-btn.active { background:#5b1c1c; border-color:#8f2020; color:#fff; }
.class-cards-grid { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; }
.class-card { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; border:1px solid #3a3a3a; border-radius:8px; padding:8px 10px; text-align:center; background:#1f1f1f; color:#d0d0d0; cursor:pointer; transition:all 0.2s; font-weight:600; font-size:12px; flex-shrink:0; width:100px; min-height:75px; }
.class-card:hover { border-color:#5b1c1c; color:#fff; background:#2a2a2a; }
.class-card.active { background:#5b1c1c; border-color:#8f2020; color:#fff; }
.class-card__icon { width:40px; height:40px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 1px rgba(255,255,255,0.12); flex-shrink:0; }
.class-card__label { font-size:11px; line-height:1.3; font-family: 'Diablo', sans-serif; color:inherit; text-align:center; word-break:break-word; hyphens:auto; }
@media (max-width:768px) {
  .panel { padding:16px 12px 6px; }
  .filters { gap:12px; }
  .filter-group { align-items:stretch; }
  .filter-group--inline { flex-direction:column; gap:12px; }
  .filter-subgroup { min-width:0 !important; align-items:flex-start; width:100% !important; max-width:100% !important; box-sizing:border-box; overflow:hidden; }
  .filter-subgroup:last-child { min-width:0 !important; flex:1 1 100% !important; }
  .filter-buttons { gap:6px; flex-wrap:wrap !important; justify-content:flex-start; width:100%; max-width:100%; box-sizing:border-box; }
  .filter-subgroup:last-child .filter-buttons { flex-wrap:wrap !important; width:100%; }
  .filter-btn { padding:5px 12px; font-size:12px; white-space:normal; word-wrap:break-word; }
  .class-cards-grid { gap:6px; }
  .class-card { padding:6px 8px; gap:4px; width:60px; min-height:65px; }
  .class-card__icon { width:32px; height:32px; }
  .class-card__label { font-size:10px; }
}
@media (max-width:560px) {
  .filter-buttons { display:flex !important; flex-wrap:wrap !important; gap:6px; width:100% !important; max-width:100% !important; justify-content:flex-start; box-sizing:border-box; }
  .filter-btn { flex:1 0 calc(50% - 6px); max-width:calc(50% - 6px); box-sizing:border-box; white-space:normal; word-wrap:break-word; }
  /* Сортировка — как у Тип/Статус: по одной кнопке в строке */
  .filter-subgroup:last-child .filter-buttons { justify-content:flex-start; width:100% !important; flex-wrap:wrap !important; }
  .filter-subgroup:last-child .filter-btn { flex:0 0 100% !important; width:100% !important; max-width:100% !important; box-sizing:border-box; white-space:normal; }
}
@media (max-width:420px) {
  .filter-buttons { justify-content:flex-start; width:100% !important; max-width:100% !important; box-sizing:border-box; flex-wrap:wrap !important; }
  .filter-btn { flex:1 1 auto; max-width:100%; box-sizing:border-box; white-space:normal; word-wrap:break-word; }
  /* Для очень узких экранов сортировка также занимает всю ширину */
  .filter-subgroup:last-child .filter-buttons { justify-content:stretch; width:100% !important; flex-wrap:wrap !important; }
  .filter-subgroup:last-child .filter-btn { flex:1 0 100% !important; width:100% !important; max-width:100% !important; box-sizing:border-box; white-space:normal; }
}
.input { padding:10px 12px; background:#121212; color:#fff; border:1px solid #333; border-radius:8px; }
.input:focus { outline:none; border-color:#8f2020; box-shadow:0 0 0 2px rgba(143,32,32,.25); }
.builds-list { display:grid; gap:10px; }
.pagination { display:flex; flex-direction:column; gap:16px; align-items:center; margin-top:24px; padding-top:24px; border-top:1px solid #2a2a2a; }
.pagination__info { color:#999; font-size:13px; }
.pagination__controls { display:flex; gap:8px; align-items:center; flex-wrap:wrap; justify-content:center; }
.pagination__btn { padding:8px 14px; border:1px solid #3a3a3a; border-radius:6px; background:#1f1f1f; color:#d0d0d0; font-size:13px; cursor:pointer; transition:all 0.2s; white-space:nowrap; }
.pagination__btn:hover:not(:disabled) { background:#2a2a2a; border-color:#5b1c1c; color:#fff; }
.pagination__btn--active { background:#5b1c1c; border-color:#8f2020; color:#fff; cursor:default; }
.pagination__btn--disabled { opacity:0.5; cursor:not-allowed; }
.pagination__ellipsis { padding:8px 4px; color:#666; }
@media (max-width:768px) {
  .pagination__controls { gap:6px; }
  .pagination__btn { padding:6px 12px; font-size:12px; }
  .pagination__info { font-size:12px; }
}
.build-row { display:grid; grid-template-columns: 56px 1fr auto; align-items:center; gap:12px; padding:12px; border:1px solid #5b1c1c; border-radius:10px; background:#1b1b1b; }
.build-row__icon { width:56px; height:56px; object-fit:contain; border-radius:8px; background:#0f0f0f; border:1px solid #2a2a2a; }
.build-row__title-wrapper { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.build-row__title { font-weight:700; color:#fff; text-decoration:none; cursor:pointer; transition:color 0.2s; display:block; }
.build-row__title:hover { color:#c0392b; }
.build-row__verified-tag { display: inline-flex; align-items: center; padding: 2px 8px; background: linear-gradient(135deg, #f5c842 0%, #d4af37 100%); color: #1a1a1a; border-radius: 4px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; margin-left: 6px; }
.build-row__recommended-tag { display: inline-flex; align-items: center; padding: 2px 8px; background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%); color: #fff; border-radius: 4px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; margin-left: 6px; }
.build-row__meta { color:#bbb; display:flex; gap:12px; margin-top:4px; align-items:center; flex-wrap:wrap; }
.build-row__author { color:#999; font-size:13px; }
.build-row__rating { display:inline-flex; align-items:center; gap:2px; font-size:14px; }
.build-row__rating .star-filled { color:#f5c842; }
.build-row__rating .star-empty { color:#666; }
.build-row__date { display:inline-flex; align-items:center; }
.build-row__date .calendar-icon { flex-shrink:0; }
.build-row__btn { padding:8px 12px; border:1px solid #8f2020; border-radius:8px; text-decoration:none; color:#fff; white-space:nowrap; }
.build-row__btn:hover { background:#8f2020; }
@media (max-width:768px) {
  .build-row { grid-template-columns: 48px 1fr; gap:10px; padding:10px; }
  .build-row__btn { grid-column:1/-1; justify-self:start; margin-top:4px; }
  .build-row__meta { font-size:13px; gap:8px; }
  .build-row__rating { font-size:12px; }
}

/* Builds page */
.builds-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
  padding: 18px 0 40px;
}
.class-panel {
  border: 1px solid #5b1c1c;
  border-radius: 12px;
  padding: 10px 10px 6px;
  background: linear-gradient(180deg, #1a1a1a, #161616);
}
.class-header { display:flex; align-items:center; gap:10px; padding:6px 6px 10px; }
.class-header h2 { margin:0; color: var(--accent); font-size: 22px; }
.class-icon { color: var(--accent-2); }

.build-list-v { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.build-entry { display:flex; align-items: center; justify-content: space-between; gap: 12px; border:1px solid #5b1c1c; border-radius:10px; padding:12px; background:#1b1b1b; }
.build-info h3 { margin:0 0 4px; font-size:16px; color:#fff; }
.build-info p { margin:0; color: var(--muted); font-size: 13px; }
.build-open { white-space: nowrap; padding: 8px 12px; border:1px solid #8f2020; border-radius:8px; text-decoration:none; color:#fff; }
.build-open:hover { background:#8f2020; }

@media (max-width: 900px) {
  .builds-grid { grid-template-columns: 1fr; }
}

/* Contacts page */
.contact-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap: 26px; padding: 20px 0 40px; }
.contact-card { text-align:center; border:1px solid #5b1c1c; border-radius:12px; padding:14px 16px 18px; background: linear-gradient(180deg, #1a1a1a, #161616); }
.contact-title { margin: 0 0 12px; font-size: 22px; color:#eaeaea; }
.contact-img { width: 100%; max-width: 270px; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 6px; border:1px solid #2a2a2a; background:#0f1418; margin: 0 auto; display:block; }
.contact-caption { margin: 10px 0 12px; color:#cfd6db; font-style: italic; }
/* legacy blue button kept for other pages if needed */
.btn-blue { display:inline-block; padding:10px 14px; background:#286a8f; color:#fff; text-decoration:none; border-radius:4px; font-weight:700; }
.btn-blue:hover { background:#1f5673; }

@media (max-width: 1000px){ .contact-grid { grid-template-columns: repeat(2, 1fr);} }
@media (max-width: 640px){ .contact-grid { grid-template-columns: 1fr; } }

/* Download panels */
.dl-container { padding: 16px 0 40px; display: grid; gap: 22px; }
.dl-panel { border:1px solid #5b1c1c; border-radius:12px; background: linear-gradient(180deg,#1b1b1b,#161616); padding:16px; }
.dl-header { display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.dl-header h2 { margin:0; font-size:20px; color:var(--accent); }
.dl-icon { color: var(--accent-2); }
.dl-sub { margin:0 0 10px; color: var(--muted); }
.dl-steps { margin:0 0 10px; padding-left: 18px; color:#e5e5e5; }
.dl-steps li { margin:6px 0; }
.dl-note { margin: 0 0 10px; color:#f3c26f; }
.dl-req { border:1px dashed #3a3a3a; border-radius:10px; padding:10px 12px; color:#cfcfcf; margin: 0 0 12px; background:#141414; }
.dl-actions { display:flex; gap:10px; flex-wrap: wrap; }
.btn-red { display:inline-block; padding:10px 14px; background:#c73636; color:#fff; text-decoration:none; border-radius:8px; font-weight:700; }
.btn-red:hover { background:#a62b2b; }
.btn-dark { display:inline-block; padding:10px 14px; background:#262626; color:#fff; text-decoration:none; border-radius:8px; font-weight:700; border:1px solid #5b1c1c; }
.btn-dark:hover { background:#333; }

.dl-warning { border:1px solid #7b2222; border-radius:12px; padding:14px 16px; background: linear-gradient(180deg,#1a1414,#151111); }
.dl-warning__head { color:var(--accent); font-weight:800; margin:0 0 8px; }
.dl-warning__list { margin:0; padding-left: 18px; color:#d5d5d5; }

/* Donate page */
.donate { padding: 18px 0 40px; }
.donate-grid { display:grid; grid-template-columns: 420px 1fr; gap: 24px; }
.donate-card { border:1px solid #5b1c1c; border-radius:12px; background: linear-gradient(180deg,#1b1b1b,#161616); padding: 16px; }
.donate-qr__img { width:100%; height:auto; border-radius:10px; display:block; background:#0f1418; }
.donate-qr__tag { text-align:center; color:#cfd6db; margin:10px 0 0; font-weight:700; }
.donate-title { margin:0 0 10px; color: var(--accent); }
.donate-text p { margin: 0 0 10px; color:#d9d9d9; }
.donate-actions { 
  margin-top: 12px; 
  text-align: center;
}

@media (max-width: 980px) { .donate-grid { grid-template-columns: 1fr; } }

/* Services page */
.services { padding: 18px 0 44px; }
.services-grid { display:grid; grid-template-columns: 420px 1fr; gap: 24px; align-items: start; }

/* Services content blocks */
.services-content {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.service-block {
  border: 1px solid #5b1c1c;
  border-radius: 12px;
  background: linear-gradient(180deg, #1b1b1b, #161616);
  padding: 20px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.service-block:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(161, 43, 16, 0.2);
}

.service-block__title {
  color: var(--accent);
  margin: 0 0 16px;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.4;
}

.service-block__content {
  color: #d9d9d9;
}

.service-block__content p {
  margin: 0 0 12px;
  line-height: 1.6;
}

.service-block__content p:last-child {
  margin-bottom: 0;
}

.service-block__price {
  margin-top: 16px !important;
  padding-top: 16px;
  border-top: 1px solid #3a2a2a;
  font-size: 1.1rem;
  color: var(--accent) !important;
}

.service-block__list {
  margin: 0 0 12px;
  padding-left: 24px;
  color: #e5e5e5;
  line-height: 1.7;
}

.service-block__list li {
  margin: 8px 0;
}

.service-block__list--numbered {
  list-style-type: decimal;
  padding-left: 28px;
}

.service-block__list--nested {
  list-style-type: disc;
  margin-top: 8px;
  margin-bottom: 8px;
  padding-left: 24px;
}

.service-block__list a {
  color: var(--accent);
  text-decoration: none;
  transition: color 0.2s ease;
}

.service-block__list a:hover {
  color: var(--accent-2);
  text-decoration: underline;
}

.service-block__contacts {
  margin: 0 0 16px;
  padding-left: 24px;
  color: #e5e5e5;
  list-style: none;
  padding-left: 0;
}

.service-block__contacts li {
  margin: 10px 0;
  padding-left: 24px;
  position: relative;
}

.service-block__contacts li::before {
  content: "•";
  color: var(--accent);
  position: absolute;
  left: 0;
  font-size: 1.5rem;
  line-height: 1;
}

.service-block__contacts a {
  color: var(--accent);
  text-decoration: none;
  transition: color 0.2s ease;
}

.service-block__contacts a:hover {
  color: var(--accent-2);
  text-decoration: underline;
}

.service-block__contacts code {
  background: rgba(161, 43, 16, 0.2);
  padding: 2px 6px;
  border-radius: 4px;
  font-family: 'Courier New', monospace;
  color: #f5c842;
}

.service-block .donate-actions {
  margin-top: 20px;
  text-align: center;
}

/* Icon styles */
.icon {
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  vertical-align: middle;
  margin-right: 0.3em;
  fill: currentColor;
  flex-shrink: 0;
}

.icon--accent {
  fill: var(--accent);
}

.service-block__title .icon {
  margin-right: 0.4em;
}

.service-block__list .icon,
.service-block__contacts .icon {
  width: 1em;
  height: 1em;
  margin-right: 0.2em;
}

.icon--small {
  width: 1em;
  height: 1em;
  margin-right: 0.2em;
}

/* Legacy styles for backward compatibility */
.svc h2, .svc-h3 { color: var(--accent); margin: 10px 0 8px; }
.svc p { color:#d9d9d9; margin: 0 0 10px; }
.svc-list { margin: 0 0 10px; padding-left: 18px; color:#e5e5e5; }
.svc-list li { margin: 5px 0; }
.svc-contacts { margin:0 0 10px; padding-left:18px; color:#e5e5e5; }
.svc-contacts a { color: var(--accent); text-decoration: none; }
.svc-contacts a:hover { text-decoration: underline; }

@media (max-width: 980px) {
  .services-grid { 
    grid-template-columns: 1fr; 
  }
  .service-block {
    padding: 16px;
  }
  .service-block__title {
    font-size: 1.1rem;
  }
}

/* Feedback form */
.form-panel { border:1px solid #5b1c1c; border-radius:12px; background: linear-gradient(180deg,#1b1b1b,#161616); padding: 18px; max-width: 820px; margin: 8px auto 40px; }
.form-title { margin: 0 0 12px; color: var(--accent); }
.form { display: grid; gap: 14px; }
.form-field label { display:block; margin: 0 0 6px; color: #d8d8d8; font-weight:600; }
.form-field input,.form-field textarea { width:100%; padding:12px 14px; border:1px solid #333; border-radius:8px; background:#121212; color:#fff; outline:none; }
.form-field input::placeholder,.form-field textarea::placeholder { color:#8f8f8f; }
.form-field input:focus,.form-field textarea:focus { border-color:#8f2020; box-shadow: 0 0 0 2px rgba(143,32,32,.25); }
.field-error { color:#ff9b9b; font-size: 12px; min-height: 14px; }
.form-submit { width:100%; margin-top: 6px; }
.form-hint { text-align:center; color:#cfd6db; margin: 12px 0 0; }
.form-hint a { color: var(--accent); text-decoration: none; }
.form-hint a:hover { text-decoration: underline; }

/* Build page */
.build-back { display:inline-block; margin: 6px 0 6px; color:#cfd6db; text-decoration:none; }
.build-back:hover { color:#fff; }
.build-head { margin: 8px 0 16px; }
.build-title { display:flex; align-items:center; gap:10px; }
.build-title h1 { margin:0; }
.build-icon { color: var(--accent-2); }
.badge { display:inline-block; margin-left:8px; padding:2px 8px; border-radius:999px; background:#8f2020; color:#fff; font-size:12px; vertical-align:middle; }
.build-sub { margin:4px 0 0; color: var(--muted); }

.build-grid { display:grid; grid-template-columns: 1fr 320px; gap: 18px; align-items:start; }
@media (max-width: 980px) { .build-grid { grid-template-columns: 1fr; } }

.build-page .panel { border:1px solid #3a1a1a; border-radius:12px; background: linear-gradient(180deg,#1b1b1b,#161616); padding:16px; }
.build-main .panel { margin-bottom: 16px; }
.build-side .panel { margin-bottom: 12px; }
.panel.mini { padding:14px; }
.panel--gold { background: linear-gradient(180deg,#2a220f,#1a1710); border-color:#6a4a14; }

.video-cover { border:1px solid #5b1c1c; border-radius:12px; padding:16px; background:#121212; }
.video-placeholder { height: 300px; display:grid; place-items:center; color:#bdbdbd; background:#0f0f0f; border:1px dashed #2a2a2a; border-radius:8px; margin-bottom:10px; }
.video-actions { text-align:center; }

.tags { display:flex; flex-wrap:wrap; gap:8px; }
.tag { padding:6px 10px; border:1px solid #5b1c1c; border-radius:999px; background:#1b1b1b; color:#ddd; font-size:13px; }

.tips { margin:0; padding-left: 18px; color:#e5e5e5; }

.other-builds { display:grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.other-card { display:block; padding:12px; border:1px solid #5b1c1c; border-radius:10px; background:#1b1b1b; color:#eaeaea; text-decoration:none; }
.other-card small { display:block; color:#a9a9a9; margin-top:4px; }
.other-card:hover { border-color:#8f2020; }

.build-side .mini-list { margin:0; padding-left: 16px; color:#dcdcdc; }
.build-side .help .stack { display:grid; gap:8px; }

.video-grid { display:grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.video-embed iframe { width:100%; height: 360px; border:0; border-radius:10px; }
@media (max-width: 900px) { .video-grid { grid-template-columns: 1fr; } .video-embed iframe { height: 220px; } }

/* Builds showcase panel */
.builds-showcase { padding: 32px 0 40px; }
.builds-showcase__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.builds-panel { display: flex; flex-direction: column; min-height: auto; }
.builds-panel .panel__title { font-size: 18px;font-family: 'Diablo', sans-serif; margin-bottom: 3px; }
.builds-panel .panel__subtitle { font-size: 11px; margin-bottom: 12px; color: #999; }
.builds-panel__list { display: flex; flex-direction: column; gap: 6px; flex: 1; margin-bottom: 10px; }
.builds-panel__link { color: var(--accent); text-decoration: none; font-size: 12px; font-weight: 600; margin-top: 8px; transition: color 0.2s; }
.builds-panel__link:hover { color: #c0392b; }
.builds-panel__empty { text-align: center; padding: 20px 15px; color: #999; font-size: 12px; }
.build-card { display: flex; flex-direction: column; gap: 6px; padding: 8px; border: 1px solid #3a3a3a; border-radius: 6px; background: linear-gradient(180deg, #1f1f1f, #181818); text-decoration: none; transition: all 0.2s; }
.build-card:hover { border-color: #5b1c1c; background: linear-gradient(180deg, #252525, #1f1f1f); transform: translateY(-1px); box-shadow: 0 2px 6px rgba(0,0,0,0.2); }
.build-card__header { display: flex; gap: 8px; align-items: flex-start; }
.build-card__icon { width: 36px; height: 36px; border-radius: 5px; object-fit: cover; background: #0f0f0f; border: 1px solid #2a2a2a; flex-shrink: 0; }
.build-card__info { flex: 1; min-width: 0; }
.build-card__title-wrapper { display: flex; align-items: center; gap: 4px; margin-bottom: 3px; flex-wrap: wrap; }
.build-card__title { margin: 0; font-size: 12px; font-weight: 700; color: #fff; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; line-clamp: 2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.build-card__verified-tag { display: inline-flex; align-items: center; justify-content: center; width: 14px; height: 14px; border-radius: 50%; background: linear-gradient(135deg, #f5c842 0%, #d4af37 100%); color: #1a1a1a; font-size: 9px; font-weight: 700; flex-shrink: 0; }
.build-card__meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.build-card__type { padding: 2px 5px; background: #2d2d2d; border-radius: 3px; font-size: 9px; color: #d0d0d0; text-transform: uppercase; font-weight: 600; }
.build-card__rating { display: inline-flex; align-items: center; gap: 1px; font-size: 11px; }
.build-card__rating .star-filled { color: #f5c842; }
.build-card__rating .star-empty { color: #666; }
.build-card__footer { display: flex; justify-content: space-between; align-items: center; padding-top: 4px; border-top: 1px solid rgba(255,255,255,0.05); font-size: 10px; color: #999; }
.build-card__author { color: #bbb; }
@media (max-width: 1024px) {
  .builds-showcase__grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (max-width: 768px) {
  .builds-showcase__grid { grid-template-columns: 1fr; gap: 16px; }
  .builds-panel { min-height: auto; }
  .build-card__header { gap: 8px; }
  .build-card__icon { width: 36px; height: 36px; }
  .build-card__title { font-size: 12px; }
  .builds-panel__list { gap: 6px; }
}
.panel {
  background: linear-gradient(180deg, #1b1b1b, #171717);
  border: 1px solid #3a1a1a;
  border-radius: 12px;
  padding: 22px 26px 6px;
}
.builds-panel.panel { padding: 16px 18px 14px; }
.panel__title { color: var(--accent); margin: 0 0 6px; font-size: 24px; }
.panel__subtitle { color: var(--muted); margin: 0 0 10px; font-size: 14px; }

.log { list-style: none; padding: 8px 0 18px; margin: 0; }
.log li {
  position: relative;
  padding: 14px 10px 14px 28px;
  color: #cfcfcf;
  border-top: 1px solid rgba(255,255,255,0.03);
}
.log li:first-child { border-top: none; }
.log li::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 2px;
  height: 18px;
  background: #7b2222;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(139,34,34,0.25);
}
.log .date { color: #b8b8b8; white-space: nowrap; margin-right: 4px; }

.footer { margin-top: 12px; }

/* Helpful content */
.helpful-section { margin: 28px 0 0; display: flex; flex-direction: column; gap: 18px; align-items: center; }
.toc a { color:#e0e0e0; text-decoration:none; margin-right:10px; }
.toc a:hover { color:#fff; }
.article { padding: 18px 22px; }
.article__title { margin: 0 0 8px; color: var(--accent); font-size: 20px; }
.article__lead { margin: 0 0 10px; color: var(--muted); }
.article ul { margin: 0; padding-left: 18px; color: #d5d5d5; }
.article li { margin: 6px 0; }

/* Runes grid (Ибн Фахда) */
.runes-grid {
  display: grid;
  grid-template-columns: repeat(3, 360px);
  gap: 26px;
  justify-content: center;
  margin: 0 auto;
}


.rune-card {
  text-align: center;
  background: linear-gradient(180deg, #1a1a1a, #161616);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 14px 12px 16px;
}
.rune-img { width: 160px; height: 160px; object-fit: contain; margin: 8px auto 10px; display: block; }
.rune-title { margin: 6px 0 6px; font-size: 16px; color: #eaeaea; font-weight: 700; }
.rune-stat { margin: 0 0 8px; color: #d8d8d8; font-weight: 600; font-size: 14px; }
.rune-note { margin: 0; color: var(--muted); font-size: 13px; }

.rune-card--big { grid-column: auto; }
.rune-card--big .rune-img { width: 160px; height: 160px; }
.rune-card--big .rune-title { font-size: 16px; }
.rune-card--big .rune-stat { font-size: 14px; }

@media (max-width: 1150px) {
  .runes-grid { grid-template-columns: repeat(2, 360px); }
}
@media (max-width: 780px) {
  .runes-grid { grid-template-columns: minmax(280px, 1fr); }
}
@media (max-width: 460px) {
  .runes-grid { grid-template-columns: 1fr; }
}
#curseClassChoices {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}
#curseClassChoices .paragon-card {
  flex: 1 1 22%;
}

#curseEffectTiles {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

#curseEffectTiles .tile-add,
#curseEffectTiles .tile-card {
  width: 100%;
  height: auto;
  min-height: 90px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  padding: 12px 16px;
}

#curseEffectTiles .tile-card__caption {
  align-items: flex-start;
  text-align: left;
}

#curseEffectTiles .tile-card__img {
  width: 56px;
  height: 56px;
  margin-right: 14px;
}

#curseEffectTiles .tile-add {
  justify-content: center;
  text-align: center;
  width: 100%;
  min-height: 70px;
  border-radius: 12px;
  border: 1px dashed #5a5a5a;
  background: #181818;
  color: #d7d7d7;
  font-size: 15px;
  font-weight: 600;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}
#curseEffectTiles .tile-add:hover,
#curseEffectTiles .tile-add:focus-visible {
  color: #ffffff;
  border-color: #d7d7d7;
  background: #1f1f1f;
  outline: none;
}
/* Reforge */
.reforge-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.reforge-card {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid #3a3a3a;
  background: linear-gradient(180deg, #1b1b1b 0%, #121212 100%);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}
.reforge-card__img {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.15);
}
.reforge-card__family {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffb258;
  margin-bottom: 2px;
}
.reforge-card__family b {
  font-weight: 600;
  color: #fff;
  margin-left: 6px;
  text-transform: none;
}
.reforge-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.reforge-card__name {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffb258;
}
.reforge-card__name b {
  font-family: 'Diablo', sans-serif;
  font-size: clamp(16px, 4vw, 24px);
  color: var(--accent);
  text-transform: none;
  letter-spacing: normal;
  font-weight: 600;
}
.reforge-card__desc {
  font-size: 13px;
  color: #cfcfcf;
  margin: 0;
  line-height: 1.5;
  font-weight: 600;
}
.reforge-card__desc .reforge-value {
  color: var(--accent-2);
  font-weight: 600;
}
.reforge-card__remove {
  position: absolute;
  top: 10px;
  right: 10px;
  border: 0;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  cursor: pointer;
}
.reforge-card__remove:hover {
  background: #c0392b;
}
.reforge-add {
  width: 100%;
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  border-radius: 12px;
  border: 1px dashed #5a5a5a;
  background: #181818;
  color: #d7d7d7;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}
.reforge-add:hover,
.reforge-add:focus-visible {
  color: #ffffff;
  border-color: #d7d7d7;
  background: #1f1f1f;
  outline: none;
}
/* --- Curse effect cards --- */
#curseEffectTiles { 
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

#setEffectTiles {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

#setEffectTiles .tile-add,
#setEffectTiles .tile-card {
  width: 100%;
  height: auto;
  min-height: 90px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  padding: 12px 16px;
}

#setEffectTiles .tile-card__caption {
  align-items: flex-start;
  text-align: left;
}

#setEffectTiles .tile-card__img {
  width: 56px;
  height: 56px;
  margin-right: 14px;
}

#setEffectTiles .tile-add {
  justify-content: center;
  text-align: center;
  width: 100%;
  min-height: 70px;
  border-radius: 12px;
  border: 1px dashed #5a5a5a;
  background: #181818;
  color: #d7d7d7;
  font-size: 15px;
  font-weight: 600;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}
#setEffectTiles .tile-add:hover,
#setEffectTiles .tile-add:focus-visible {
  color: #ffffff;
  border-color: #d7d7d7;
  background: #1f1f1f;
  outline: none;
}

.curse-effect-card {
  align-items: center; /* центрирует всё по вертикали */
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: linear-gradient(180deg, #181818 0%, #101010 100%);
  border: 1px solid #3a3a3a;
  border-radius: 10px;
  padding: 12px 16px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
  color: #e7e7e7;
}

.curse-effect-card__img {
  width: 64px;
  height: 64px;
  border-radius: 8px;
  object-fit: cover;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.curse-effect-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.curse-effect-card__head {
  font-family: 'Diablo', sans-serif;
  font-size: clamp(6px, 6vw, 25px);
  color: var(--accent);
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

.curse-effect-card__counter {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 700;
  color: var(--accent);
  margin-top: 30px;
  margin-right: 40px; /* <-- Отступ слева */
  height: 100%;
}

.curse-effect-card__counter button {
  width: 26px;
  height: 26px;
  border-radius: 4px;
  background: #222;
  border: 1px solid #444;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s, border 0.2s;
}

.curse-effect-card__counter button:hover {
  background: #8f2020;
  border-color: #8f2020;
}

.curse-effect-card__counter span {
  min-width: 40px;
  text-align: center;
}

.curse-effect-card__desc {
  font-size: 13px;
  line-height: 1.4;
  color: #c9c9c9;
}

.curse-effect-card__remove {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 22px;
  height: 22px;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
}
.curse-effect-card__remove:hover {
  background: #c0392b;
}

/* Account */
.account-page {
  padding: 60px 0;
  max-width: 960px;
}
.account-card {
  background: linear-gradient(180deg, #1b1b1b, #131313);
  border: 1px solid #3a1a1a;
  border-radius: 18px;
  padding: 32px;
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(auto-fit,minmax(280px,1fr));
}
.account-auth {
  border-right: 1px solid rgba(255,255,255,0.05);
  padding-right: 24px;
}
.account-profile {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.tabs {
  display: inline-flex;
  background: rgba(255,255,255,0.05);
  border-radius: 999px;
  padding: 4px;
  margin-bottom: 18px;
}
.tabs__btn {
  border: none;
  background: none;
  color: #c6c6c6;
  padding: 8px 20px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 600;
  transition: background 0.2s,color 0.2s;
}
.tabs__btn--active {
  background: #c0392b;
  color: #fff;
}
.form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.form--hidden {
  display: none;
}
.account-hint {
  margin-top: 12px;
  font-size: 13px;
  color: #b5b5b5;
}
.account-message {
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 14px;
}
.account-message--error {
  background: rgba(192,57,43,0.15);
  border: 1px solid rgba(192,57,43,0.5);
  color: #ffd7cd;
}
.account-message--success {
  background: rgba(39,174,96,0.15);
  border: 1px solid rgba(39,174,96,0.5);
  color: #d9ffeb;
}
.account-message--info {
  background: rgba(79,82,141,0.2);
  border: 1px solid rgba(79,82,141,0.5);
  color: #d9dfff;
}
.account-profile__head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  flex-wrap: wrap;
}
.account-profile__controls {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-end;
  width: 100%;
  max-width: 100%;
}
.account-profile__controls .btn {
  width: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  box-sizing: border-box;
}
.account-profile__controls .btn,
.account-profile__controls .btn--ghost,
.account-profile__moder-btn {
  max-width: 100%;
  box-sizing: border-box;
}
.account-profile__moder-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 220px;
  padding: 12px 28px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 14px;
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,95,64,0.35);
  transition: background 0.2s, border-color 0.2s;
  box-sizing: border-box;
}
.account-profile__moder-btn:hover {
  background: rgba(255,255,255,0.16);
  border-color: rgba(255,95,64,0.8);
}
.account-profile__moder-btn[hidden] {
  display: none !important;
}
@media (min-width: 577px) {
  .account-profile__controls {
    flex-direction: row;
    width: auto;
    flex: 0 0 auto;
  }
  .account-profile__head {
    flex-wrap: nowrap;
  }
}
.account-profile__hello {
  margin: 0;
  color: #bdbdbd;
  font-size: 14px;
}
.account-profile__name {
  margin: 6px 0 0;
  font-size: 28px;
  color: #fff;
}
.account-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(200px,1fr));
  gap: 18px;
  margin: 0;
}
.account-meta dt {
  margin: 0 0 4px;
  color: #aaa;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.account-meta dd {
  margin: 0;
  font-size: 16px;
  color: #fff;
}
.account-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.07);
  font-size: 13px;
}
.account-badge--verified {
  background: rgba(39,174,96,0.15);
  border: 1px solid rgba(39,174,96,0.5);
  color: #7fffba;
}
.account-badge--banned {
  background: rgba(192,57,43,0.2);
  border: 1px solid rgba(192,57,43,0.5);
  color: #ff8a80;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.account-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.account-actions .btn {
  flex: 1 1 auto;
  min-width: 0;
  box-sizing: border-box;
}
@media (max-width: 640px) {
  .account-actions {
    flex-direction: column;
  }
  .account-actions .btn {
    width: 100%;
    max-width: 100%;
  }
}
.verification-card {
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 18px 20px;
  background: rgba(10,10,10,0.6);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.verification-card__head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  flex-wrap: wrap;
}
.verification-card__head .btn {
  flex-shrink: 0;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .verification-card__head {
    flex-direction: column;
    align-items: stretch;
  }
  .verification-card__head .btn {
    width: 100%;
    max-width: 100%;
  }
}
.verification-card__title {
  margin: 0;
  font-size: 20px;
  color: #fff;
}
.verification-card__hint {
  margin: 4px 0 0;
  color: #b5b5b5;
  font-size: 13px;
}
.verification-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(150px,1fr));
  gap: 12px;
  margin: 0;
}
.verification-stats div {
  background: rgba(255,255,255,0.03);
  border-radius: 12px;
  padding: 12px 14px;
}
.verification-stats dt {
  margin: 0 0 6px;
  color: #a8a8a8;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.verification-stats dd {
  margin: 0;
  font-size: 20px;
  color: #fff;
}
.btn--outline {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.3);
  color: #fff;
}
.btn--outline:hover {
  border-color: #fff;
}
.btn--ghost {
  background: rgba(255,255,255,0.08);
  border: 1px solid transparent;
  color: #fff;
}
.btn--ghost:hover {
  background: rgba(255,255,255,0.15);
}
.account-profile[hidden],
.account-auth[hidden],
.account-message[hidden] {
  display: none !important;
}

.account-builds {
  margin-top: 24px;
  padding: 20px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 18px;
  background: rgba(15,15,15,0.7);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.account-builds__head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  align-items: flex-start;
}
.account-builds__head h3 {
  margin: 0;
  color: #fff;
}
.account-builds__head p {
  margin: 4px 0 0;
  color: #a8a8a8;
  font-size: 13px;
}
.account-builds__head .btn {
  flex-shrink: 0;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .account-builds__head {
    flex-direction: column;
    align-items: stretch;
  }
  .account-builds__head .btn {
    width: 100%;
    max-width: 100%;
  }
}
.account-builds__search {
  position: relative;
  margin-top: 8px;
}
.account-builds__search .input--search {
  width: 100%;
  padding: 10px 16px 10px 44px;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  color: #fff;
  font-size: 14px;
  transition: all 0.2s ease;
}
.account-builds__search .input--search:focus {
  outline: none;
  border-color: rgba(255, 68, 0, 0.5);
  background: rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 0 3px rgba(255, 68, 0, 0.1);
}
.account-builds__search .input--search::placeholder {
  color: #666;
}
.account-builds__search .search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #888;
  pointer-events: none;
}
.account-builds__search .input--search:focus + .search-icon {
  color: rgba(255, 68, 0, 0.7);
}
.account-builds__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.account-build-card {
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  padding: 16px 18px;
  background: rgba(0,0,0,0.4);
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.account-build-card__info h4 {
  margin: 0;
  font-size: 18px;
  color: #fff;
}
.account-build-card__meta {
  margin: 6px 0 0;
  color: #bdbdbd;
  font-size: 13px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.account-build-card__status {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .05em;
  border: 1px solid transparent;
}
.account-build-card__status--pending {
  background: rgba(192,57,43,0.15);
  border-color: rgba(192,57,43,0.4);
  color: #ffb27f;
}
.account-build-card__status--approved {
  background: rgba(39,174,96,0.15);
  border-color: rgba(39,174,96,0.4);
  color: #7fffba;
}
.account-build-card__status--rejected {
  background: rgba(255,99,71,0.15);
  border-color: rgba(255,99,71,0.3);
  color: #ff8a80;
}
.account-build-card__actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.account-build-card__actions .btn,
.account-build-card__actions .btn--ghost {
  min-width: 160px;
  text-align: center;
}
.account-builds__empty {
  border: 1px dashed rgba(255,255,255,0.2);
  border-radius: 12px;
  padding: 18px;
  text-align: center;
  color: #a0a0a0;
  font-size: 14px;
}

.account-tabs {
  display: inline-flex;
  align-items: center;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 25px;
  padding: 6px;
  margin-bottom: 24px;
  gap: 6px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.25);
  flex-wrap: nowrap;
}
.account-tab {
  border: 1px solid transparent;
  background: rgba(255,255,255,0.02);
  color: #e0e0e0;
  padding: 10px 18px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 700;
  letter-spacing: .02em;
  font-size: 14px;
  transition: background .2s, color .2s, border-color .2s, box-shadow .2s;
  flex-shrink: 0;
  white-space: nowrap;
}
.account-tab:hover {
  color: #fff;
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.08);
}
.account-tab--active {
  background: linear-gradient(180deg,#c0392b,#8f2020);
  color: #fff;
  border-color: rgba(255,255,255,0.12);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06), 0 6px 16px rgba(192,57,43,0.25);
}
.account-tab-content {
  display: none;
  flex-direction: column;
  gap: 24px;
}
.account-tab-content--active {
  display: flex;
}
.account-tabs--full {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 8px;
  padding: 8px;
  justify-content: flex-start;
}
@media (max-width: 768px) {
  .account-tabs {
    display: flex !important;
    flex-direction: column;
    width: 100%;
    gap: 8px;
    align-items: stretch;
  }
  .account-tab {
    display: block !important;
    width: 100% !important;
    flex: 1 1 100% !important;
    text-align: center;
    padding: 12px 16px;
    min-width: 0;
    box-sizing: border-box;
    font-size: 14px;
  }
}
@media (max-width: 480px) {
  .account-card {
    padding: 16px 12px;
  }
  .account-tabs {
    gap: 6px;
  }
  .account-tab {
    padding: 12px 16px;
    font-size: 13px;
  }
  .account-profile__controls .btn,
  .account-profile__controls .btn--ghost,
  .account-profile__moder-btn {
    padding: 12px 16px;
    font-size: 14px;
  }
}
.account-settings {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.account-settings h3 {
  margin: 0 0 8px;
  font-size: 24px;
  color: #fff;
  font-family: 'Diablo', sans-serif;
}
.settings-section {
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 24px;
  background: rgba(15,15,15,0.6);
}
.settings-section h4 {
  margin: 0 0 20px;
  font-size: 18px;
  color: #f5deb3;
  font-weight: 600;
}
.settings-checkbox {
  margin-bottom: 16px;
}
.settings-checkbox:last-child {
  margin-bottom: 0;
}
.checkbox-wrapper {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  padding: 12px;
  border-radius: 8px;
  transition: background 0.2s;
}
.checkbox-wrapper:hover {
  background: rgba(255,255,255,0.03);
}
.checkbox-wrapper input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}
.checkbox-custom {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid #5b1c1c;
  border-radius: 4px;
  background: #1f1f1f;
  transition: all 0.2s;
  flex-shrink: 0;
}
.checkbox-wrapper:hover .checkbox-custom {
  border-color: #8f2020;
  background: #2a2a2a;
}
.checkbox-wrapper input[type="checkbox"]:checked ~ .checkbox-custom {
  background: #5b1c1c;
  border-color: #8f2020;
}
.checkbox-wrapper input[type="checkbox"]:checked ~ .checkbox-custom::after {
  content: '✓';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
}
.checkbox-wrapper > span:last-of-type {
  color: #d9d9d9;
  font-size: 14px;
  user-select: none;
}
.checkbox-wrapper:hover > span:last-of-type {
  color: #fff;
}
.form-hint {
  margin: 6px 0 0;
  font-size: 12px;
  color: #999;
}
.field-error {
  margin: 4px 0 0;
  font-size: 12px;
  color: #ff8a8a;
  min-height: 16px;
}
.activity-section {
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 24px;
  background: rgba(15,15,15,0.6);
  margin-top: 24px;
}
.activity-section__title {
  margin: 0 0 20px;
  font-size: 20px;
  color: #f5deb3;
  font-weight: 600;
  font-family: 'Diablo', sans-serif;
}
.activity-table-wrapper {
  overflow-x: auto;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.05);
}
.activity-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.activity-table thead {
  background: rgba(0,0,0,0.4);
}
.activity-table th {
  padding: 12px 16px;
  text-align: left;
  font-weight: 600;
  color: #f5deb3;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.activity-table td {
  padding: 12px 16px;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  color: #d9d9d9;
}
.activity-table tbody tr:hover {
  background: rgba(255,255,255,0.03);
}
.activity-table tbody tr:last-child td {
  border-bottom: none;
}
.activity-table__empty {
  text-align: center;
  color: #999;
  padding: 24px;
  font-style: italic;
}
.activity-table__date {
  color: #a8a8a8;
  font-size: 13px;
  white-space: nowrap;
}
.activity-table__action {
  color: #fff;
  font-weight: 500;
}
.activity-table__details {
  color: #c9c9c9;
  font-size: 13px;
}
.activity-table__action-icon {
  display: inline-block;
  margin-right: 6px;
  font-size: 14px;
}
.activity-table__action--build {
  color: #ffb27f;
}
.activity-table__action--comment {
  color: #7be39c;
}
.activity-table__action--login {
  color: #5dade2;
}
.activity-table__action--rating {
  color: #f5c842;
}
.activity-table__action--update {
  color: #a569bd;
}
@media (max-width: 768px) {
  .activity-section {
    padding: 18px;
  }
  .activity-table {
    font-size: 12px;
  }
  .activity-table th,
  .activity-table td {
    padding: 10px 12px;
  }
  .activity-table__date {
    font-size: 11px;
  }
}

@media (max-width: 768px) {
  .account-auth {
    border-right: none;
    padding-right: 0;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    padding-bottom: 24px;
  }
  .account-card {
    padding: 20px 16px;
    box-sizing: border-box;
  }
  .account-page {
    padding: 20px 0;
  }
  .account-profile__head {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
  }
  .account-profile__controls {
    width: 100%;
    max-width: 100%;
    align-items: stretch;
    flex-direction: column;
  }
  .account-profile__controls .btn,
  .account-profile__controls .btn--ghost,
  .account-profile__moder-btn {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    text-align: center;
    box-sizing: border-box;
  }
  .settings-section {
    padding: 18px;
  }
  .account-actions {
    flex-direction: column;
    width: 100%;
    gap: 12px;
  }
  .account-actions .btn {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .verification-card__head {
    flex-direction: column;
    align-items: stretch;
  }
  .verification-card__head .btn {
    width: 100%;
    max-width: 100%;
  }
  .account-builds__head {
    flex-direction: column;
    align-items: stretch;
  }
  .account-builds__head .btn {
    width: 100%;
    max-width: 100%;
  }
}

/* Cookie Banner */
.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: rgba(20, 20, 20, 0.98);
  backdrop-filter: blur(10px);
  border-top: 1px solid var(--border);
  box-shadow: 0 -2px 20px rgba(0, 0, 0, 0.5);
  padding: 16px 20px;
  transform: translateY(100%);
  transition: transform 0.3s ease-out;
}

.cookie-banner--visible {
  transform: translateY(0);
}

.cookie-banner__content {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.cookie-banner__text {
  flex: 1;
  min-width: 280px;
}

.cookie-banner__text p {
  margin: 0;
  color: var(--text);
  font-size: 14px;
  line-height: 1.5;
}

.cookie-banner__actions {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}

.cookie-banner__btn {
  padding: 10px 24px;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.cookie-banner__btn--accept {
  background: var(--accent);
  color: #fff;
}

.cookie-banner__btn--accept:hover {
  background: var(--accent-2);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(161, 43, 16, 0.4);
}

.cookie-banner__btn--accept:active {
  transform: translateY(0);
}

@media (max-width: 768px) {
  .cookie-banner {
    padding: 14px 16px;
  }
  
  .cookie-banner__content {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  
  .cookie-banner__actions {
    width: 100%;
  }
  
  .cookie-banner__btn {
    flex: 1;
    padding: 12px 20px;
  }
  
  .cookie-banner__text {
    min-width: auto;
  }
}

/* Early Access Banner */
.early-access-banner {
  background: linear-gradient(135deg, rgba(161, 43, 16, 0.15) 0%, rgba(211, 43, 43, 0.1) 100%);
  border-bottom: 1px solid rgba(161, 43, 16, 0.3);
  padding: 12px 0;
  position: sticky;
  top: 56px;
  z-index: 99;
  backdrop-filter: blur(5px);
  transform: translateY(-100%);
  transition: transform 0.3s ease-out;
}

.early-access-banner--visible {
  transform: translateY(0);
}

.early-access-banner__content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
}

.early-access-banner__icon {
  font-size: 20px;
  flex-shrink: 0;
  line-height: 1;
}

.early-access-banner__text {
  flex: 1;
  color: var(--text);
  font-size: 13px;
  line-height: 1.5;
}

.early-access-banner__text strong {
  color: var(--accent);
  font-weight: 600;
}

.early-access-banner__close {
  background: transparent;
  border: none;
  color: var(--text);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: all 0.2s ease;
  flex-shrink: 0;
  opacity: 0.7;
}

.early-access-banner__close:hover {
  opacity: 1;
  background: rgba(255, 255, 255, 0.1);
  color: var(--accent);
}

.early-access-banner__close:active {
  transform: scale(0.95);
}

@media (max-width: 768px) {
  .early-access-banner {
    top: 56px;
    padding: 10px 0;
  }
  
  .early-access-banner__content {
    padding: 0 16px;
    gap: 10px;
  }
  
  .early-access-banner__icon {
    font-size: 18px;
  }
  
  .early-access-banner__text {
    font-size: 12px;
  }
  
  .early-access-banner__close {
    width: 20px;
    height: 20px;
    font-size: 20px;
  }
}

/* Новогодний эффект снега */
#snow-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9999;
  overflow: hidden;
}

.snowflake {
  position: absolute;
  background: white;
  border-radius: 50%;
  box-shadow: 0 0 6px rgba(255, 255, 255, 0.8);
  animation: snowfall 3s linear infinite;
}

@keyframes snowfall {
  0% {
    transform: translateY(0) translateX(0) rotate(0deg);
    opacity: 0.7;
  }
  50% {
    transform: translateX(20px) rotate(180deg);
    opacity: 1;
  }
  100% {
    transform: translateY(100vh) translateX(-20px) rotate(360deg);
    opacity: 0.3;
  }
}

/* Новогодний эффект снега (оригинальные стили) */
.snowball-box {
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.snowflakes-box {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  pointer-events: none;
  overflow: hidden;
}

.snowflakes-box .snowflake {
  border-radius: 50%;
  color: #a6e7ff;
  font-family: FontAwesome;
  height: 20px;
  pointer-events: none;
  position: absolute;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  width: 20px;
  top: -20px;
  animation: snowfall-fallback 10s linear infinite;
}

@keyframes snowfall-fallback {
  0% {
    transform: translateY(0) translateX(0) rotate(0deg);
    opacity: 0.7;
  }
  50% {
    transform: translateX(20px) rotate(180deg);
    opacity: 1;
  }
  100% {
    transform: translateY(100vh) translateX(-20px) rotate(360deg);
    opacity: 0.3;
  }
}

.snowball-box .snow-layer {
  background-color: #fff;
  bottom: 0;
  display: flex;
  left: 0;
  position: fixed;
  right: 0;
  width: 100%;
  z-index: 100;
}

.snowball-box .snow-layer .snowball-wrap {
  bottom: 0;
  display: flex;
  height: 0;
  perspective: 100px;
  position: relative;
  transform: translateY(0);
  transition: transform .5s ease-in;
  width: 100%;
  z-index: 50;
}

.snowball-box .snow-layer .snowball-wrap:after {
  background: #f1f9fc;
  bottom: 0;
  content: "";
  display: block;
  height: 7px;
  left: 0;
  position: absolute;
  width: 100%;
}

.snowball-box .snow-layer .snowball-wrap a {
  background-color: #f1f9fc;
  border-radius: 60% 40% 0 0;
  box-shadow: inset -10px 0 14px 0 #c8ebf8;
  display: block;
  flex: auto;
  font-family: FontAwesome;
  max-width: 50%;
  position: relative;
  transform: translateY(-6px);
  transition: all .5s linear;
  z-index: 3;
}

.snowball-box .snow-layer .snowball-wrap a svg:first-child {
  color: #a6e7ff;
  content: "";
  height: 12px !important;
  position: absolute;
  right: 20%;
  top: 10%;
  width: 12px !important;
}

.snowball-box .snow-layer .snowball-wrap a svg:last-child {
  color: #a6e7ff;
  content: "";
  height: 12px !important;
  left: 30%;
  position: absolute;
  top: 15%;
  width: 12px !important;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(2) {
  border-radius: 40% 40% 0 0;
  box-shadow: inset 10px 0 7px 0 #e6fcf9;
  height: 70px;
  margin-top: 10px;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(3) {
  border-radius: 65% 50% 0 0;
  box-shadow: inset 5px 0 7px 0 #c5f2ed;
  height: 90px;
  margin-top: 15px;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(4) {
  box-shadow: inset -10px 0 14px 0 #c8ebf8;
  height: 50px;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(5) {
  border-radius: 40% 46% 0 0;
  height: 70px;
  margin-top: 25px;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(6) {
  border-radius: 66% 45% 0 0;
  box-shadow: inset 5px 0 5px 0 #c5f2ed;
  height: 90px;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(7) {
  border-radius: 40% 45% 0 0;
  height: 90px;
  margin-top: 18px;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(8) {
  box-shadow: inset 7px 0 7px 0 #e6fcf9;
  height: 90px;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(9) {
  border-radius: 40% 40% 0 0;
  box-shadow: inset 5px 0 10px 0 #c5f2ed;
  height: 90px;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(10) {
  box-shadow: inset -10px 0 7px 0 #c5f2ed;
  height: 70px;
}

.snowball-box .snow-layer .snowball-wrap a:only-child {
  border-radius: 45% 15% 0 0;
}

.snowball-box .snow-layer .snowball-wrap a:only-child:before {
  right: 50%;
  top: 0;
  transform: translateX(-50%);
}

.snowball-box .snow-layer .snowball-wrap a:only-child:after {
  border-radius: 63% 25% 0 0;
  height: 45%;
  left: 0;
  top: 0;
  transform: translateY(0);
  transition: all 8s linear;
  width: 31%;
}

.snowball-box .snow-layer .snowball-wrap a:last-child {
  flex: 1;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(3n+3) {
  box-shadow: inset 0 0 20px #f5f5f5, inset 20px 0 20px #c8ebf8, inset -20px 0 20px #c5f2ed, inset 20px 0 10px #c8ebf8, inset -20px 0 20px #c5f2ed, 0 0 20px #fff, -10px 0 20px #c8ebf8, 10px 0 20px #c5f2ed;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(2n) {
  margin-left: -40px;
  z-index: 2;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(2n):after {
  left: 50%;
  top: -2px;
}

.snowball-box .snow-layer .snowball-wrap a:first-child {
  min-width: 145px;
}

.snowball-box .snow-layer .snowball-wrap a:first-child:before {
  animation: falldown-1 19s linear 3s infinite;
  opacity: 1;
}

.snowball-box .snow-layer .snowball-wrap a:first-child:after {
  opacity: 1;
}

@keyframes falldown-1 {
  16.904% {
    opacity: 0;
  }
  to {
    box-shadow: inset -3px 0 10px 0 #c8ebf8;
    opacity: 1;
  }
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(2) {
  min-width: 91px;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(2):before {
  animation: falldown-2 10s linear 22s infinite;
  opacity: 1;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(2):after {
  opacity: 1;
}

@keyframes falldown-2 {
  12.253% {
    opacity: 0;
  }
  to {
    box-shadow: inset -3px 0 10px 0 #c8ebf8;
    opacity: 1;
  }
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(3) {
  min-width: 113px;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(3):before {
  animation: falldown-3 15s linear 2s infinite;
  opacity: 1;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(3):after {
  opacity: 1;
}

@keyframes falldown-3 {
  10.85% {
    opacity: 0;
  }
  to {
    box-shadow: inset -3px 0 10px 0 #c8ebf8;
    opacity: 1;
  }
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(4) {
  min-width: 85px;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(4):before {
  animation: falldown-4 18s linear 12s infinite;
  opacity: .466;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(4):after {
  opacity: 1;
}

@keyframes falldown-4 {
  18.644% {
    opacity: 0;
  }
  to {
    box-shadow: inset -3px 0 10px 0 #c8ebf8;
    opacity: 1;
  }
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(5) {
  min-width: 88px;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(5):before {
  animation: falldown-5 15s linear 16s infinite;
  opacity: 1;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(5):after {
  opacity: 1;
}

@keyframes falldown-5 {
  15.937% {
    opacity: 0;
  }
  to {
    box-shadow: inset -3px 0 10px 0 #c8ebf8;
    opacity: 1;
  }
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(6) {
  min-width: 94px;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(6):before {
  animation: falldown-6 17s linear 5s infinite;
  opacity: 1;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(6):after {
  opacity: 1;
}

@keyframes falldown-6 {
  12.129% {
    opacity: 0;
  }
  to {
    box-shadow: inset -3px 0 10px 0 #c8ebf8;
    opacity: 1;
  }
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(7) {
  min-width: 92px;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(7):before {
  animation: falldown-7 29s linear 22s infinite;
  opacity: 1;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(7):after {
  opacity: 1;
}

@keyframes falldown-7 {
  17.189% {
    opacity: 0;
  }
  to {
    box-shadow: inset -3px 0 10px 0 #c8ebf8;
    opacity: 1;
  }
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(8) {
  min-width: 115px;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(8):before {
  animation: falldown-8 26s linear 21s infinite;
  opacity: 1;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(8):after {
  opacity: 1;
}

@keyframes falldown-8 {
  18.545% {
    opacity: 0;
  }
  to {
    box-shadow: inset -3px 0 10px 0 #c8ebf8;
    opacity: 1;
  }
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(9) {
  min-width: 134px;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(9):before {
  animation: falldown-9 13s linear 17s infinite;
  opacity: .8806;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(9):after {
  opacity: 1;
}

@keyframes falldown-9 {
  12.861% {
    opacity: 0;
  }
  to {
    box-shadow: inset -3px 0 10px 0 #c8ebf8;
    opacity: 1;
  }
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(10) {
  min-width: 126px;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(10):before {
  animation: falldown-10 23s linear 10s infinite;
  opacity: .8694;
}

.snowball-box .snow-layer .snowball-wrap a:nth-child(10):after {
  opacity: 1;
}

@keyframes falldown-10 {
  14.345% {
    opacity: 0;
  }
  to {
    box-shadow: inset -3px 0 10px 0 #c8ebf8;
    opacity: 1;
  }
}

.snowball-box .snow-layer .snowball-wrap a.active-for-one {
  animation: move 2s cubic-bezier(.22, .68, 0, 1.71) forwards;
}

.snowball-box .snow-layer .snowball-wrap a.active {
  animation: move 5s linear forwards;
}

@media screen and (max-width: 1024px) {
  .snowball-box .snow-layer .snowball-wrap a.active {
    animation: move 5s linear 1s forwards;
  }
}

.snowball-box .snow-layer .snowball-wrap a.move-out {
  opacity: 0;
}

.snowball-box .snow-plow-img {
  background-repeat: no-repeat;
  background-size: contain;
  height: 100px;
  opacity: 0;
  position: relative;
  transform: translate(150px, -70px);
  transition: transform 1s linear;
  -moz-transition: transform 5s linear;
  -o-transition: transform 5s linear;
  -webkit-transition: transform 5s linear;
  width: 100px;
  z-index: 5;
}

.snowball-box .snow-plow-img.active {
  animation: move-translate 5s linear forwards;
  opacity: 1;
}

@keyframes move {
  0% {
    left: 0;
  }
  to {
    left: -130vw;
  }
}

@keyframes move-translate {
  0% {
    transform: translateY(-70px);
  }
  to {
    transform: translate(-130vw, -70px);
  }
}

@keyframes animate_grow {
  0% {
    transform: rotate(135deg) scaleX(1);
  }
  50% {
    transform: rotate(135deg) scale3d(1.05, 1.05, 1.05);
  }
  to {
    transform: rotate(135deg) scaleX(1);
  }
}

@media screen and (max-width: 600px) {
  .snowball-box .snow-plow-img {
    height: 70px;
    transform: translate(150px, -57px);
    width: 70px;
  }
  
  @keyframes move-translate {
    0% {
      transform: translate(150px, -57px);
    }
    to {
      transform: translate(-100vw, -57px);
    }
  }
}

/* Снегоуборочная машина */
.snow-plow {
  position: absolute;
  bottom: 20px;
  font-size: 40px;
  z-index: 10000;
  pointer-events: none;
  transition: left 0.1s linear;
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.3));
  animation: snowPlowBounce 0.5s ease-in-out infinite;
}

@keyframes snowPlowBounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}

/* Кнопка переключения снега */
.snow-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.05);
  color: #d0d0d0;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-left: 8px;
  position: relative;
}

.snow-toggle:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
  color: #fff;
  transform: scale(1.05);
}

.snow-toggle--active {
  background: rgba(255, 193, 7, 0.15);
  border-color: rgba(255, 193, 7, 0.4);
  color: #ffc107;
  box-shadow: 0 0 12px rgba(255, 193, 7, 0.3);
}

.snow-toggle--active:hover {
  background: rgba(255, 193, 7, 0.25);
  border-color: rgba(255, 193, 7, 0.6);
  box-shadow: 0 0 16px rgba(255, 193, 7, 0.5);
}

.snow-toggle span {
  display: block;
  font-size: 20px;
  line-height: 1;
  user-select: none;
}

.snow-toggle:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(255, 193, 7, 0.3);
}

@media (max-width: 900px) {
  .snow-toggle {
    width: 32px;
    height: 32px;
    margin-left: 6px;
  }
  
  .snow-toggle span {
    font-size: 18px;
  }
}
