/* Pokemon NNN 2026 — shared design tokens (light = "day", dark = "night").
   Loaded before every other NNN stylesheet. Never hard-code these values elsewhere. */
@font-face{font-family:'PKMN';src:url('fonts/pkmn.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'PokemonSolid';src:url('fonts/pokemon-solid.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}

:root{
  /* brand */
  --nnn-red:#E8402A; --nnn-red2:#B8281A; --nnn-blue:#2E5BB8; --nnn-blue2:#1D3F8A;
  --nnn-yellow:#FFD24A; --nnn-orange:#FF9900; --nnn-gold:#F0B830;
  /* surfaces (day) */
  --nnn-bg:#F4EBD3; --nnn-bg2:#EADFC0; --nnn-card:#FFFFFF; --nnn-card2:#FFF8E6;
  --nnn-text:#202020; --nnn-muted:#5A5A5A; --nnn-line:#D8CFB6;
  --nnn-frame:#2A2A2A; --nnn-frame2:#FFFFFF;
  --nnn-hdr:#D93025; --nnn-hdr-line:#7A1810; --nnn-hdr-text:#FFFFFF;
  --nnn-shadow:0 6px 18px rgba(32,32,32,.10);
  /* HP / EXP */
  --nnn-hp-hi:#58D080; --nnn-hp-mid:#F8D038; --nnn-hp-lo:#F85838; --nnn-hp-track:#587058; --nnn-exp:#40A0F8;
  /* status pills */
  --nnn-st-psn:#A868C0; --nnn-st-tox:#7A3FA0; --nnn-st-brn:#F08848; --nnn-st-par:#F0C848; --nnn-st-par-text:#4A3A00;
  --nnn-st-slp:#B89CE8; --nnn-st-frz:#78B8E8; --nnn-st-fnt:#686868; --nnn-st-cnf:#F088A8; --nnn-st-lov:#F060A0;
  /* Pokemon types */
  --type-normal:#A8A878; --type-fire:#F08030; --type-water:#6890F0; --type-electric:#F8D030; --type-grass:#78C850;
  --type-ice:#98D8D8; --type-fighting:#C03028; --type-poison:#A040A0; --type-ground:#E0C068; --type-flying:#A890F0;
  --type-psychic:#F85888; --type-bug:#A8B820; --type-rock:#B8A038; --type-ghost:#705898; --type-dragon:#7038F8;
  --type-dark:#705848; --type-steel:#B8B8D0; --type-fairy:#EE99AC;
  /* elite four badge colours (boss) */
  --nnn-elite-1:#FFD24A; --nnn-elite-2:#E8402A; --nnn-elite-3:#A040A0; --nnn-elite-4:#3F8CFF;
  /* fonts */
  --nnn-font-pixel:'PKMN','Courier New',monospace; --nnn-font-logo:'PokemonSolid','Arial Black',sans-serif;
  --nnn-radius:8px; --nnn-radius-pill:4px;
}
html[data-jg-theme="dark"]{
  --nnn-bg:#0E1626; --nnn-bg2:#0A111E; --nnn-card:#182238; --nnn-card2:#1E2B47;
  --nnn-text:#E8EEF8; --nnn-muted:#A9B4C8; --nnn-line:#2C3A58;
  --nnn-frame:#0A0F1C; --nnn-frame2:#3C4C6E;
  --nnn-hdr:#142038; --nnn-hdr-line:#FFD24A; --nnn-hdr-text:#FFFFFF;
  --nnn-shadow:0 6px 18px rgba(0,0,0,.35);
  --nnn-hp-track:#2A3A2A;
}
/* Gen-3 frame helpers (opt-in classes) */
.jg-nnn-frame{border:3px solid var(--nnn-frame);box-shadow:inset 0 0 0 2px var(--nnn-frame2);border-radius:var(--nnn-radius);background:var(--nnn-card);color:var(--nnn-text)}
.jg-nnn-pixel{font-family:var(--nnn-font-pixel);letter-spacing:.5px;text-transform:uppercase}
.jg-nnn-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:2px solid var(--nnn-frame);border-radius:6px;background:var(--nnn-red);color:#fff;font-weight:800;text-decoration:none;box-shadow:0 3px 0 var(--nnn-red2);cursor:pointer;line-height:1}
.jg-nnn-btn:hover{transform:translateY(1px);box-shadow:0 2px 0 var(--nnn-red2)}
.jg-nnn-btn.is-blue{background:var(--nnn-blue);box-shadow:0 3px 0 var(--nnn-blue2)}
.jg-nnn-btn.is-blue:hover{box-shadow:0 2px 0 var(--nnn-blue2)}
.jg-nnn-pill{display:inline-block;padding:2px 8px;border-radius:var(--nnn-radius-pill);font-family:var(--nnn-font-pixel);font-size:11px;line-height:16px;color:#fff;text-transform:uppercase;border:1px solid rgba(0,0,0,.35)}
.jg-nnn-st-PSN{background:var(--nnn-st-psn)} .jg-nnn-st-TOX{background:var(--nnn-st-tox)} .jg-nnn-st-BRN{background:var(--nnn-st-brn)}
.jg-nnn-st-PAR{background:var(--nnn-st-par);color:var(--nnn-st-par-text)} .jg-nnn-st-SLP{background:var(--nnn-st-slp)} .jg-nnn-st-FRZ{background:var(--nnn-st-frz)}
.jg-nnn-st-FNT{background:var(--nnn-st-fnt)} .jg-nnn-st-CNF{background:var(--nnn-st-cnf)} .jg-nnn-st-LOV{background:var(--nnn-st-lov)}
[hidden].jg-nnn-hidden,.jg-nnn-hidden[hidden]{display:none!important}
