/* CobbleWinds wiki theme — Pokedex tech.
   Values from site/blueprints/cobblemon-server-site.md (approved 2026-09-16).
   Discipline (minecraft.wiki): chrome stays clean; game flavor lives ONLY in
   content components (.type-*, .mc-panel, .mc-slot, .stat-bar). */

/* ---------- fonts handled by mkdocs.yml (Lexend / DM Mono) ---------- */

:root{
  /* violet-indigo ramp */
  --cw-bg0:#12121c; --cw-bg1:#191927; --cw-surface:#1f1f33; --cw-surface2:#2a2947;
  --cw-line:#34324f; --cw-line2:#4d4b78;
  --cw-ink:#eceaf6; --cw-muted:#9a97c0;
  --cw-red:#ee1515; --cw-red-dk:#b91111;
  --cw-green:#23cd5e;
  /* type colors (pokemondb) */
  --type-normal:#aa9; --type-fire:#f42; --type-water:#39f; --type-electric:#fc3;
  --type-grass:#7c5; --type-ice:#6cf; --type-fighting:#b54; --type-poison:#a59;
  --type-ground:#db5; --type-flying:#89f; --type-psychic:#f59; --type-bug:#ab2;
  --type-rock:#ba6; --type-ghost:#66b; --type-dragon:#76e; --type-dark:#754;
  --type-steel:#aab; --type-fairy:#e9e;
}

/* ---------- dark scheme: the ramp replaces stock slate ---------- */
[data-md-color-scheme="slate"]{
  --md-default-bg-color:      var(--cw-bg0);
  --md-default-fg-color:      var(--cw-ink);
  --md-default-fg-color--light: #c9c6e2;
  --md-default-fg-color--lighter: var(--cw-muted);
  --md-default-fg-color--lightest: #34324f66;
  --md-primary-fg-color:      var(--cw-bg1);
  --md-primary-bg-color:      var(--cw-ink);
  --md-accent-fg-color:       var(--cw-red);
  --md-typeset-a-color:       #857eff;
  --md-code-bg-color:         var(--cw-surface);
  --md-code-fg-color:         #d8d5f2;
  --md-footer-bg-color:       var(--cw-bg1);
  --md-footer-bg-color--dark: var(--cw-bg0);
  --md-typeset-table-color:   #34324f80;
  --md-admonition-bg-color:   var(--cw-surface);
}
[data-md-color-scheme="slate"] .md-typeset a:hover{color:#9d98ff}
[data-md-color-scheme="slate"] .md-header,
[data-md-color-scheme="slate"] .md-tabs{
  background-color:var(--cw-bg1);
  border-bottom:1px solid var(--cw-line);
}
[data-md-color-scheme="slate"] .md-search__form{background-color:var(--cw-surface)}
[data-md-color-scheme="slate"] .md-typeset code{border:1px solid var(--cw-line)}

/* ---------- light scheme: warm neutrals (pokemondb), same brand chrome ---------- */
[data-md-color-scheme="default"]{
  --md-primary-fg-color:      var(--cw-bg1);
  --md-primary-bg-color:      #f4f3fb;
  --md-accent-fg-color:       var(--cw-red);
  --md-typeset-a-color:       #5b53c9;
  --md-default-bg-color:      #fdfdfa;
  --md-code-bg-color:         #f4f2ec;
}
[data-md-color-scheme="default"] .md-typeset a:hover{color:var(--cw-red-dk)}
[data-md-color-scheme="default"] .md-typeset table:not([class]) th{background:#ebebe5}
[data-md-color-scheme="default"] .md-typeset table:not([class]) tbody tr:hover{
  background:#fff9e0;
}

/* ---------- header polish: red pokeball dot before the site name ---------- */
.md-header__topic .md-ellipsis::before,
.md-header__title .md-header__topic:first-child .md-ellipsis::before{
  content:"";display:inline-block;width:.7em;height:.7em;border-radius:50%;
  margin-right:.45em;vertical-align:-6%;
  background:linear-gradient(to bottom, var(--cw-red) 0 45%, #fff 45% 55%, #f2f2f6 55% 100%);
  border:2px solid #0e0e16;
}

/* ---------- tables: wiki.cobblemon behaviors ---------- */
.md-typeset table:not([class]) tbody tr{transition:background-color .3s}
[data-md-color-scheme="slate"] .md-typeset table:not([class]) th{
  background:var(--cw-surface2);
}
[data-md-color-scheme="slate"] .md-typeset table:not([class]) tbody tr:hover{
  background:var(--cw-surface);box-shadow:none;
}
/* opt-in striping from named ramp steps: add {: .striped } */
[data-md-color-scheme="slate"] .md-typeset table.striped tbody tr:nth-child(odd){
  background:var(--cw-bg1);
}
[data-md-color-scheme="default"] .md-typeset table.striped tbody tr:nth-child(odd){
  background:#f6f5f0;
}

/* ---------- type badges (pokemondb shell) ---------- */
.md-typeset .type{
  display:inline-block;min-width:66px;text-align:center;border-radius:4px;
  border:1px solid rgba(0,0,0,.2);color:#fff;text-transform:uppercase;
  font-size:.68rem;font-weight:600;letter-spacing:.5px;line-height:1.7;
  padding:1px 10px;text-shadow:1px 1px 2px rgba(0,0,0,.7);
}
.type.grass{background:var(--type-grass)} .type.fire{background:var(--type-fire)}
.type.water{background:var(--type-water)} .type.psychic{background:var(--type-psychic)}
.type.dragon{background:var(--type-dragon)} .type.ghost{background:var(--type-ghost)}
.type.ice{background:var(--type-ice)} .type.fighting{background:var(--type-fighting)}
.type.poison{background:var(--type-poison)} .type.ground{background:var(--type-ground)}
.type.flying{background:var(--type-flying)} .type.bug{background:var(--type-bug)}
.type.rock{background:var(--type-rock)} .type.dark{background:var(--type-dark)}
.type.steel{background:var(--type-steel)} .type.normal{background:var(--type-normal)}
.type.electric{background:var(--type-electric);color:#3a3000;text-shadow:none}
.type.fairy{background:var(--type-fairy);color:#5c1a4c;text-shadow:none}

/* ---------- Minecraft GUI primitives (minecraft.wiki four-value border trick) ---------- */
.md-typeset .mc-panel{
  background:#C6C6C6;color:#3f3f3f;
  border:3px solid;border-color:#FFF #555 #555 #FFF;outline:2px solid #000;
  padding:12px;border-radius:0;image-rendering:pixelated;
}
.md-typeset .mc-panel *{color:#3f3f3f}
.md-typeset .mc-slot{
  display:inline-block;width:36px;height:36px;background:#8B8B8B;
  border:3px solid;border-color:#373737 #FFF #FFF #373737;
  vertical-align:middle;margin:1px;
}
.md-typeset .mc-slot img{width:100%;height:100%;image-rendering:pixelated}

/* ---------- pixel-perfect sprites ---------- */
.md-typeset img.pixel, .md-typeset .pixel img{
  image-rendering:optimizeSpeed;
  image-rendering:-webkit-optimize-contrast;
  image-rendering:-moz-crisp-edges;
  image-rendering:crisp-edges;
  image-rendering:pixelated;
  -ms-interpolation-mode:nearest-neighbor;
  vertical-align:text-top;
}

/* ---------- stat bars (pokemondb rank ramp) ---------- */
.md-typeset .stat-bar{
  display:inline-block;height:.7rem;border-radius:4px;vertical-align:middle;
  min-width:8px;max-width:100%;
}
.stat-bar.rank-1{background:#f34444} .stat-bar.rank-2{background:#ff7f0f}
.stat-bar.rank-3{background:#ffdd57} .stat-bar.rank-4{background:#a0e515}
.stat-bar.rank-5{background:#23cd5e} .stat-bar.rank-6{background:#00c2b8}

/* ---------- data readout (dex-screen flavored inline stats) ---------- */
.md-typeset .readout{
  font-family:"DM Mono",monospace;font-size:.8rem;letter-spacing:1px;
  color:var(--cw-green);text-transform:uppercase;
}

/* ---------- admonitions: keep Material, align the tip color to LED green ---------- */
.md-typeset .admonition.tip, .md-typeset details.tip{border-color:var(--cw-green)}
.md-typeset .tip > .admonition-title, .md-typeset .tip > summary{
  background-color:#23cd5e1a;
}
.md-typeset .tip > .admonition-title::before, .md-typeset .tip > summary::before{
  background-color:var(--cw-green);
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  .md-typeset table:not([class]) tbody tr{transition:none}
}
