/* ==========================================================
   Единый стиль «Аниме-кел» (cel-shading) — источник всех цветов,
   шрифтов, радиусов и теней. style.css, game/battle.css и admin.css
   берут значения только отсюда. Чтобы перекрасить игру — меняйте
   переменные ниже, а не цвета в отдельных файлах.
   ========================================================== */

/* ---------- Шрифт Nunito (локально, OFL 1.1) ---------- */
@font-face { font-family:'Nunito'; font-style:normal; font-display:swap; font-weight:600; src:url(fonts/nunito-cyrillic-600-normal.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Nunito'; font-style:normal; font-display:swap; font-weight:600; src:url(fonts/nunito-latin-600-normal.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Nunito'; font-style:normal; font-display:swap; font-weight:700; src:url(fonts/nunito-cyrillic-700-normal.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Nunito'; font-style:normal; font-display:swap; font-weight:700; src:url(fonts/nunito-latin-700-normal.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Nunito'; font-style:normal; font-display:swap; font-weight:800; src:url(fonts/nunito-cyrillic-800-normal.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Nunito'; font-style:normal; font-display:swap; font-weight:800; src:url(fonts/nunito-latin-800-normal.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Nunito'; font-style:normal; font-display:swap; font-weight:900; src:url(fonts/nunito-cyrillic-900-normal.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Nunito'; font-style:normal; font-display:swap; font-weight:900; src:url(fonts/nunito-latin-900-normal.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

:root {
  /* Чернила: панели и контур (индиго, как тени в нарисованных фонах) */
  --ink-950: #080b1f;
  --ink-900: #0e1333;
  --ink-800: #161d45;
  --ink-700: #222b5c;
  --ink-600: #313c78;
  --ink-line: #060918;            /* «линия рисовки» — контур кнопок и спрайтов */

  /* Текст */
  --text: #f6f3ff;
  --text-2: #d3d6f5;
  --mute: #a3abdb;                /* вторичный текст, контраст ≥ 4.5:1 на панели */

  /* Акценты (одна насыщенность — «аниме-кел») */
  --sun: #ffd23f;   --sun-rgb: 255,210,63;    --sun-deep: #f5a524;
  --sky: #4cc9f0;   --sky-rgb: 76,201,240;
  --leaf: #5bd17a;  --leaf-rgb: 91,209,122;
  --coral: #ff5d73; --coral-rgb: 255,93,115;
  --violet: #9b7bff;--violet-rgb: 155,123,255;
  --peach: #ffa45b; --peach-rgb: 255,164,91;
  --good-soft: #a6f0b9;
  --bad-soft: #ffb3be;

  /* Поверхности */
  --panel: rgba(22, 29, 69, .88);
  --panel-2: rgba(34, 43, 92, .72);
  --panel-solid: #161d45;
  --panel-border: rgba(255, 255, 255, .16);
  --panel-hi: inset 0 2px 0 rgba(255, 255, 255, .07);
  --chip: rgba(255, 255, 255, .09);
  --chip-border: rgba(255, 255, 255, .16);
  --track: rgba(6, 9, 24, .55);

  /* Кел-тени: жёсткие, без размытия — «нарисованный» объём */
  --shadow-cel: 0 4px 0 rgba(6, 9, 24, .55);
  --shadow-cel-sm: 0 2px 0 rgba(6, 9, 24, .55);
  --shadow-float: 0 4px 0 rgba(6, 9, 24, .55), 0 14px 28px rgba(6, 9, 24, .35);

  /* Радиусы */
  --r-xl: 22px; --r-lg: 18px; --r-md: 12px; --r-sm: 8px; --r-pill: 999px;

  /* Шрифты */
  --font: 'Nunito', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  /* Обводка персонажей и покемонов: тонкая линия + тень на земле */
  --art-outline: drop-shadow(1.5px 0 0 var(--ink-line)) drop-shadow(-1.5px 0 0 var(--ink-line)) drop-shadow(0 1.5px 0 var(--ink-line)) drop-shadow(0 -1.5px 0 var(--ink-line));
  --art-ground: drop-shadow(0 7px 5px rgba(6, 9, 24, .45));

  /* Цвета стихий — одна светлота, белый/чернильный текст по контрасту */
  --t-grass:#4fbf5f; --t-fire:#ff6a3d; --t-water:#3d8bff; --t-electric:#ffd23f; --t-rock:#c2a878; --t-ground:#d9a35b;
  --t-psychic:#ff5fa2; --t-ghost:#7b68d9; --t-dragon:#6a5cff; --t-flying:#7cc7ff; --t-normal:#b5b3c9; --t-bug:#a3c93a;
  --t-fighting:#d9483b; --t-fairy:#ff9ad5; --t-dark:#4a4466; --t-ice:#7ee3f0; --t-poison:#b65fd6; --t-steel:#9fb3c8;
}

/* ---------- База ---------- */
*, *::before, *::after { font-family: var(--font); }
body { font-weight: 600; letter-spacing: .005em; -webkit-font-smoothing: antialiased; }
strong, b, h1, h2, h3 { font-weight: 800; }
h1, h2, h3 { letter-spacing: -.01em; }

/* Заголовок «аниме-тайтл»: жирный, с чернильной подложкой */
.glow, h1.glow {
  font-weight: 900;
  color: var(--text);
  text-shadow: 0 2px 0 var(--ink-line), 0 0 18px rgba(var(--sun-rgb), .25);
}

/* ---------- Спрайты: единая обработка всех картинок персонажей ---------- */
.art, .ash-sprite, .mon-sprite-img {
  filter: var(--art-outline) var(--art-ground) !important;
  image-rendering: auto;
}

/* ---------- Эмодзи → одинаковые картинки на любом устройстве ---------- */
img.emoji {
  display: inline-block;
  width: 1.15em; height: 1.15em;
  margin: 0 .05em;
  vertical-align: -.22em;
  object-fit: contain;
  pointer-events: none;
  -webkit-user-drag: none;
}

/* ---------- Доступность ---------- */
:focus-visible { outline: 3px solid var(--sun); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
