/* GS V31.6 — Encyclopédie publique Pokémon Champions */
.gs-pcdex{position:relative;margin-top:8px;padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:radial-gradient(circle at 12% 0,rgba(196,18,48,.14),transparent 32%),linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));box-shadow:0 18px 50px rgba(0,0,0,.25)}
.gs-pcdex-empty{padding:20px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(0,0,0,.22);color:rgba(255,255,255,.72)}
.gs-pcdex-empty strong{display:block;color:#fff;margin-bottom:6px}
.gs-pcdex-topline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-bottom:12px}
.gs-pcdex-search{position:relative;display:flex;align-items:center;gap:10px;min-width:0;padding:12px 14px;border:1px solid rgba(196,18,48,.35);border-radius:14px;background:linear-gradient(180deg,rgba(20,10,13,.72),rgba(9,8,9,.92));transition:border-color .18s ease,box-shadow .18s ease}
.gs-pcdex-search:focus-within{border-color:rgba(255,81,101,.68);box-shadow:0 0 0 3px rgba(196,18,48,.15),0 12px 30px rgba(0,0,0,.32)}
.gs-pcdex-search svg{width:18px;height:18px;fill:none;stroke:rgba(255,132,150,.92);stroke-width:2;stroke-linecap:round;flex:0 0 auto}
.gs-pcdex-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#fff;font-size:14px;caret-color:#ff5165}
.gs-pcdex-search input::placeholder{color:rgba(255,255,255,.38)}
.gs-pcdex-count{display:flex;align-items:baseline;gap:7px;padding:10px 13px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(0,0,0,.24);white-space:nowrap}
.gs-pcdex-count strong{color:#fff;font-size:24px;line-height:1;font-family:'Bebas Neue',Impact,'Arial Narrow',sans-serif;font-weight:400;letter-spacing:.03em}
.gs-pcdex-count span{color:rgba(255,255,255,.58);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.gs-pcdex-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.gs-pcdex-filters button{appearance:none;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.035);color:rgba(255,255,255,.68);font-size:12.5px;font-weight:850;padding:8px 12px;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.gs-pcdex-filters button:hover,.gs-pcdex-filters button.is-active{color:#fff;border-color:rgba(255,81,101,.58);background:linear-gradient(180deg,rgba(255,81,101,.2),rgba(196,18,48,.15))}
.gs-pcdex-filters button:hover{transform:translateY(-1px)}
.gs-pcdex-result-note{min-height:18px;margin:0 0 10px;color:rgba(255,255,255,.5);font-size:12.5px}
.gs-pcdex-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:620px;overflow:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(196,18,48,.55) rgba(255,255,255,.08)}
.gs-pcdex-card{appearance:none;position:relative;overflow:hidden;text-align:left;width:100%;min-height:108px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.015));color:inherit;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}
.gs-pcdex-card:before{content:"";position:absolute;inset:auto -18px -32px auto;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle,rgba(196,18,48,.16),transparent 68%);pointer-events:none}
.gs-pcdex-card:hover,.gs-pcdex-card:focus-visible{transform:translateY(-2px);border-color:rgba(255,81,101,.48);background:linear-gradient(160deg,rgba(196,18,48,.12),rgba(255,255,255,.02));box-shadow:0 14px 34px rgba(0,0,0,.26);outline:none}
.gs-pcdex-card small{display:block;margin-bottom:6px;color:rgba(255,255,255,.38);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.gs-pcdex-card strong{display:block;color:#fff;font-size:15px;line-height:1.15;margin-bottom:9px;word-break:break-word}
.gs-pcdex-types{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.gs-pcdex-type{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;font-size:10.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.gs-pcdex-type-normal{background:rgba(180,180,160,.18)}.gs-pcdex-type-feu{background:rgba(255,90,48,.24)}.gs-pcdex-type-eau{background:rgba(50,145,255,.22)}.gs-pcdex-type-electrik{background:rgba(255,210,64,.24);color:#fff6cb}.gs-pcdex-type-plante{background:rgba(74,190,90,.22)}.gs-pcdex-type-glace{background:rgba(120,220,255,.22)}.gs-pcdex-type-combat{background:rgba(214,72,48,.22)}.gs-pcdex-type-poison{background:rgba(180,88,220,.22)}.gs-pcdex-type-sol{background:rgba(206,150,72,.22)}.gs-pcdex-type-vol{background:rgba(130,170,255,.22)}.gs-pcdex-type-psy{background:rgba(255,88,150,.22)}.gs-pcdex-type-insecte{background:rgba(168,190,40,.22)}.gs-pcdex-type-roche{background:rgba(180,145,75,.24)}.gs-pcdex-type-spectre{background:rgba(120,90,190,.24)}.gs-pcdex-type-dragon{background:rgba(105,105,255,.24)}.gs-pcdex-type-tenebres{background:rgba(80,70,70,.36)}.gs-pcdex-type-acier{background:rgba(170,185,205,.22)}.gs-pcdex-type-fee{background:rgba(255,135,210,.22)}
.gs-pcdex-help{margin:12px 0 0;color:rgba(255,255,255,.48);font-size:12.5px;line-height:1.45}
.gs-pcdex-modal[hidden]{display:none!important}
.gs-pcdex-modal{position:fixed;inset:0;z-index:100050;display:grid;place-items:center;padding:18px}
.gs-pcdex-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.gs-pcdex-modal-card{position:relative;z-index:1;width:min(1060px,96vw);max-height:min(86vh,860px);overflow:auto;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:radial-gradient(circle at 20% 0,rgba(196,18,48,.24),transparent 38%),linear-gradient(180deg,#141014,#08080a);box-shadow:0 32px 90px rgba(0,0,0,.68);color:#fff}
.gs-pcdex-close{position:sticky;top:12px;float:right;z-index:2;margin:12px 12px 0 0;width:38px;height:38px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(0,0,0,.44);color:#fff;font-size:25px;line-height:1;cursor:pointer}
.gs-pcdex-close:hover,.gs-pcdex-close:focus-visible{border-color:rgba(255,81,101,.65);background:rgba(196,18,48,.22);outline:none}
.gs-pcdex-modal-body{padding:26px}
.gs-pcdex-detail-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;margin-bottom:18px}
.gs-pcdex-detail-head small{display:block;margin-bottom:6px;color:#e53935;font-size:10.5px;font-weight:950;letter-spacing:.16em;text-transform:uppercase}
.gs-pcdex-detail-head h3{margin:0 0 9px;color:#fff;font-family:'Bebas Neue',Impact,'Arial Narrow',sans-serif;font-size:clamp(34px,6vw,58px);font-weight:400;line-height:.9;letter-spacing:.02em;text-transform:uppercase}
.gs-pcdex-detail-meta{padding:12px 14px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(0,0,0,.24);color:rgba(255,255,255,.56);font-size:12px;text-align:right;min-width:140px}
.gs-pcdex-detail-meta b{display:block;color:#fff;font-size:23px;font-family:'Bebas Neue',Impact,'Arial Narrow',sans-serif;font-weight:400;letter-spacing:.04em}
.gs-pcdex-detail-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:14px;align-items:stretch}
.gs-pcdex-panel{border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(255,255,255,.025);padding:16px;min-width:0}
.gs-pcdex-panel h4{margin:0 0 12px;color:#fff;font-size:12px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}
.gs-pcdex-statgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.gs-pcdex-stat{padding:10px;border:1px solid rgba(255,255,255,.075);border-radius:13px;background:rgba(0,0,0,.24)}
.gs-pcdex-stat span{display:block;color:rgba(255,255,255,.48);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.gs-pcdex-stat b{display:block;margin-top:2px;color:#fff;font-size:22px;line-height:1}
.gs-pcdex-svg-wrap{display:grid;place-items:center;min-height:236px}
.gs-pcdex-radar{width:min(300px,100%);height:auto;overflow:visible}.gs-pcdex-radar .grid{fill:none;stroke:rgba(255,255,255,.09);stroke-width:1}.gs-pcdex-radar .axis{stroke:rgba(255,255,255,.10);stroke-width:1}.gs-pcdex-radar .shape{fill:rgba(229,57,53,.26);stroke:rgba(255,81,101,.9);stroke-width:2}.gs-pcdex-radar .label{fill:rgba(255,255,255,.66);font-size:9px;font-weight:800}.gs-pcdex-radar .dot{fill:#fff;stroke:#e53935;stroke-width:1}
.gs-pcdex-type-radar .shape{fill:rgba(255,185,80,.20);stroke:rgba(255,205,110,.86)}.gs-pcdex-type-radar .dot-hit{fill:transparent;stroke:none;pointer-events:all}.gs-pcdex-type-radar .dot{transition:transform .18s ease,fill .18s ease,stroke .18s ease,filter .18s ease}.gs-pcdex-type-radar .dot.dot-immune{fill:#0b0b0d;stroke:#f1f1f1;stroke-width:1.1}.gs-pcdex-type-radar .dot.dot-resist{fill:#f4f4f4;stroke:#44d88a;stroke-width:1.3}.gs-pcdex-type-radar .dot.dot-neutral{fill:#ffffff;stroke:#c94747;stroke-width:1.3}.gs-pcdex-type-radar .dot.dot-danger{fill:#ffe2a2;stroke:#f0923c;stroke-width:1.35}.gs-pcdex-type-radar .dot.dot-danger4{fill:#ffd0d0;stroke:#ff4f72;stroke-width:1.45}.gs-pcdex-type-radar .type-label.is-clickable{cursor:pointer;transition:fill .18s ease,filter .18s ease,opacity .18s ease}.gs-pcdex-type-radar .type-label.tone-immune{fill:rgba(245,245,245,.82)}.gs-pcdex-type-radar .type-label.is-active,.gs-pcdex-type-radar [data-gs-type-node].is-active .dot,.gs-pcdex-type-radar [data-gs-type-target].is-active{filter:drop-shadow(0 0 8px rgba(255,214,117,.55))}.gs-pcdex-type-radar [data-gs-type-node].is-active .dot{r:5.1;stroke-width:1.9;transform:none!important}.gs-pcdex-type-radar .type-label.is-active{fill:#fff}
.gs-pcdex-type-inspector{margin-top:12px;padding:12px 13px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));transition:border-color .18s ease,box-shadow .18s ease}.gs-pcdex-type-inspector-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.gs-pcdex-type-inspector-name{display:block;color:#fff;font-size:17px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.gs-pcdex-type-inspector-mult{display:inline-flex;align-items:center;justify-content:center;min-width:56px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.24);color:#fff;font-size:13px;font-weight:900}.gs-pcdex-type-inspector-status{color:rgba(255,255,255,.74);font-size:12.5px;line-height:1.45}.gs-pcdex-type-inspector.tone-immune{border-color:rgba(255,255,255,.2);box-shadow:0 0 0 2px rgba(255,255,255,.04)}.gs-pcdex-type-inspector.tone-resist{border-color:rgba(79,216,138,.34);box-shadow:0 0 0 2px rgba(79,216,138,.08)}.gs-pcdex-type-inspector.tone-neutral{border-color:rgba(255,255,255,.14)}.gs-pcdex-type-inspector.tone-danger{border-color:rgba(240,146,60,.34);box-shadow:0 0 0 2px rgba(240,146,60,.08)}.gs-pcdex-type-inspector.tone-danger4{border-color:rgba(255,79,114,.38);box-shadow:0 0 0 2px rgba(255,79,114,.09)}
.gs-pcdex-type-scale{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:10px;color:rgba(255,255,255,.52);font-size:10.5px;font-weight:850;text-transform:uppercase}.gs-pcdex-type-scale span{padding:4px 7px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(0,0,0,.2)}
.gs-pcdex-matchups{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.gs-pcdex-matchups strong{display:block;margin-bottom:7px;color:#fff;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.gs-pcdex-chipline{display:flex;flex-wrap:wrap;gap:6px}.gs-pcdex-mult{display:inline-flex;gap:5px;align-items:center;padding:5px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);font-size:11px;font-weight:850;color:rgba(255,255,255,.8)}.gs-pcdex-mult b{color:#fff}.gs-pcdex-mult.danger{border-color:rgba(255,81,101,.32);background:rgba(196,18,48,.13)}.gs-pcdex-mult.safe{border-color:rgba(99,220,140,.24);background:rgba(55,180,95,.10)}.gs-pcdex-mult.immune{border-color:rgba(120,200,255,.24);background:rgba(80,160,255,.10)}
.gs-pcdex-source{margin-top:12px;color:rgba(255,255,255,.42);font-size:11.5px;line-height:1.45}.gs-pcdex-source a{color:#ff7a7a;text-decoration:none;border-bottom:1px solid rgba(255,122,122,.35)}
body.gs-pcdex-lock{overflow:hidden}
@media(max-width:980px){.gs-pcdex-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gs-pcdex-detail-grid{grid-template-columns:1fr}.gs-pcdex-svg-wrap{min-height:auto}}
@media(max-width:680px){.gs-pcdex{padding:14px;border-radius:16px}.gs-pcdex-topline{grid-template-columns:1fr}.gs-pcdex-count{justify-content:space-between}.gs-pcdex-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:560px}.gs-pcdex-card{min-height:98px;padding:12px}.gs-pcdex-modal{padding:10px}.gs-pcdex-modal-card{width:100%;max-height:90vh;border-radius:18px}.gs-pcdex-modal-body{padding:18px}.gs-pcdex-detail-head{grid-template-columns:1fr}.gs-pcdex-detail-meta{text-align:left}.gs-pcdex-statgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.gs-pcdex-matchups{grid-template-columns:1fr}.gs-pcdex-radar{width:min(260px,100%)}.gs-pcdex-type-inspector-head{align-items:flex-start}.gs-pcdex-type-inspector-name{font-size:15px}}


/* GS V31.8 — fiche Pokémon : fermeture mobile + points radar stables */
.gs-pcdex-modal{z-index:2147483000!important;isolation:isolate}
.gs-pcdex-modal-backdrop{z-index:0}
.gs-pcdex-modal-card{z-index:1}
.gs-pcdex-close{position:fixed!important;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:2147483647!important;float:none!important;display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:44px;height:44px;padding:0 13px;border-color:rgba(255,255,255,.22);background:rgba(8,8,10,.84);box-shadow:0 12px 34px rgba(0,0,0,.44);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.gs-pcdex-close::after{content:'Fermer';margin-left:7px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.gs-pcdex-close:hover,.gs-pcdex-close:focus-visible{background:rgba(196,18,48,.86);border-color:rgba(255,255,255,.34)}
.gs-pcdex-type-radar [data-gs-type-node].is-active .dot{transform:none!important;transform-origin:center!important}
@media(max-width:680px){.gs-pcdex-close{top:max(12px,env(safe-area-inset-top));right:12px;height:42px;min-width:42px;padding:0 11px}.gs-pcdex-close::after{font-size:10px}}


/* GS V31.9 — modal réellement globale, fermeture mobile et empilement durci */
html.gs-pcdex-lock,body.gs-pcdex-lock{overflow:hidden!important;overscroll-behavior:none!important}
body>.gs-pcdex-modal{position:fixed!important;inset:0!important;z-index:2147483600!important;display:flex;align-items:flex-start;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 66px) 14px calc(env(safe-area-inset-bottom,0px) + 14px);overflow:hidden;isolation:isolate;transform:none!important;filter:none!important;opacity:1!important}
body>.gs-pcdex-modal[hidden]{display:none!important}
body>.gs-pcdex-modal .gs-pcdex-modal-backdrop{position:absolute;inset:0;z-index:0;background:rgba(0,0,0,.84);pointer-events:auto}
body>.gs-pcdex-modal .gs-pcdex-modal-card{position:relative!important;inset:auto!important;z-index:1!important;width:min(1060px,100%);height:auto;max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 84px);overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;transform:none!important;contain:layout paint}
body>.gs-pcdex-modal .gs-pcdex-close{position:fixed!important;top:calc(env(safe-area-inset-top,0px) + 10px)!important;right:12px!important;z-index:2147483647!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
body>.gs-pcdex-modal .gs-pcdex-modal-body{position:relative;z-index:1;overflow:visible}
@media(max-width:680px){
  /* GS V31.24 — la liste reste contenue sur mobile au lieu d'allonger la page sur 307 cartes. */
  .gs-pcdex-grid{
    max-height:min(62dvh,560px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
    scrollbar-gutter:stable;
    padding-right:6px;
    padding-bottom:8px;
    border-bottom:1px solid rgba(255,81,101,.16);
  }
  body>.gs-pcdex-modal{padding-left:8px;padding-right:8px;padding-top:calc(env(safe-area-inset-top,0px) + 60px)}
  body>.gs-pcdex-modal .gs-pcdex-modal-card{max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 70px);border-radius:16px}
  body>.gs-pcdex-modal .gs-pcdex-close{min-width:92px!important;height:42px!important}
}


/* GS V31.11 — cartes Pokédex premium colorées par type
   Mono-type : teinte complète. Double type : découpe diagonale nette. */
.gs-pcdex-card{
  --gs-type-1:72,72,78;
  --gs-type-2:var(--gs-type-1);
  --gs-type-glow:196,18,48;
  isolation:isolate;
  border-color:rgba(255,255,255,.18);
  background:
    linear-gradient(180deg,rgba(5,5,8,.06),rgba(5,5,8,.56)),
    radial-gradient(circle at 16% 5%,rgba(255,255,255,.18),transparent 38%),
    linear-gradient(145deg,rgba(var(--gs-type-1),.96),rgba(var(--gs-type-1),.70));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -28px 42px rgba(0,0,0,.18),
    0 12px 28px rgba(0,0,0,.22);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease;
}
.gs-pcdex-card--dual{
  background:
    linear-gradient(180deg,rgba(5,5,8,.05),rgba(5,5,8,.57)),
    radial-gradient(circle at 16% 5%,rgba(255,255,255,.16),transparent 36%),
    linear-gradient(135deg,
      rgba(var(--gs-type-1),.97) 0%,
      rgba(var(--gs-type-1),.88) 48.3%,
      rgba(var(--gs-type-2),.88) 51.7%,
      rgba(var(--gs-type-2),.97) 100%);
}
.gs-pcdex-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  width:auto;
  height:auto;
  border-radius:inherit;
  background:
    repeating-linear-gradient(125deg,rgba(255,255,255,.026) 0 1px,transparent 1px 8px),
    radial-gradient(circle at 90% 105%,rgba(var(--gs-type-glow),.20),transparent 42%);
  opacity:.85;
  pointer-events:none;
}
.gs-pcdex-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.055),transparent 42%,rgba(0,0,0,.10));
  pointer-events:none;
}
.gs-pcdex-card--dual::after{
  background:
    linear-gradient(135deg,
      transparent calc(50% - 1.4px),
      rgba(255,255,255,.34) calc(50% - .5px),
      rgba(7,7,10,.48) 50%,
      rgba(255,255,255,.20) calc(50% + .8px),
      transparent calc(50% + 1.7px)),
    linear-gradient(180deg,rgba(255,255,255,.05),transparent 42%,rgba(0,0,0,.12));
}
.gs-pcdex-card>*{position:relative;z-index:2}
.gs-pcdex-card small{
  color:rgba(255,255,255,.68);
  text-shadow:0 1px 7px rgba(0,0,0,.48);
}
.gs-pcdex-card strong{
  color:#fff;
  font-size:clamp(16px,1.7vw,19px);
  text-shadow:0 2px 12px rgba(0,0,0,.58);
}
.gs-pcdex-card .gs-pcdex-type{
  border-color:rgba(255,255,255,.26);
  background:rgba(7,7,10,.34);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 4px 10px rgba(0,0,0,.14);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  text-shadow:0 1px 5px rgba(0,0,0,.45);
}
.gs-pcdex-card:hover,.gs-pcdex-card:focus-visible{
  transform:translateY(-3px);
  border-color:rgba(255,255,255,.42);
  filter:saturate(1.12) brightness(1.07);
  background:
    linear-gradient(180deg,rgba(5,5,8,.01),rgba(5,5,8,.46)),
    radial-gradient(circle at 16% 5%,rgba(255,255,255,.24),transparent 40%),
    linear-gradient(145deg,rgba(var(--gs-type-1),1),rgba(var(--gs-type-1),.76));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.17),
    inset 0 -30px 48px rgba(0,0,0,.16),
    0 17px 38px rgba(0,0,0,.34),
    0 0 0 1px rgba(var(--gs-type-glow),.18),
    0 0 24px rgba(var(--gs-type-glow),.12);
}
.gs-pcdex-card--dual:hover,.gs-pcdex-card--dual:focus-visible{
  background:
    linear-gradient(180deg,rgba(5,5,8,.01),rgba(5,5,8,.46)),
    radial-gradient(circle at 16% 5%,rgba(255,255,255,.22),transparent 38%),
    linear-gradient(135deg,
      rgba(var(--gs-type-1),1) 0%,
      rgba(var(--gs-type-1),.94) 48.3%,
      rgba(var(--gs-type-2),.94) 51.7%,
      rgba(var(--gs-type-2),1) 100%);
}
.gs-pcdex-card:active{transform:translateY(-1px) scale(.992);filter:saturate(1.06) brightness(.98)}
.gs-pcdex-card:focus-visible{outline:3px solid rgba(255,255,255,.86);outline-offset:3px}

/* Palette des 18 types — les variables RGB alimentent les fonds dynamiques. */
.gs-pcdex-card[data-gs-type-1="normal"]{--gs-type-1:126,126,132;--gs-type-glow:188,188,194}
.gs-pcdex-card[data-gs-type-1="feu"]{--gs-type-1:207,57,33;--gs-type-glow:255,91,52}
.gs-pcdex-card[data-gs-type-1="eau"]{--gs-type-1:31,103,190;--gs-type-glow:75,157,255}
.gs-pcdex-card[data-gs-type-1="electrik"]{--gs-type-1:190,139,12;--gs-type-glow:255,207,57}
.gs-pcdex-card[data-gs-type-1="plante"]{--gs-type-1:39,126,54;--gs-type-glow:87,201,104}
.gs-pcdex-card[data-gs-type-1="glace"]{--gs-type-1:43,145,172;--gs-type-glow:112,218,241}
.gs-pcdex-card[data-gs-type-1="combat"]{--gs-type-1:151,43,35;--gs-type-glow:232,86,64}
.gs-pcdex-card[data-gs-type-1="poison"]{--gs-type-1:119,47,151;--gs-type-glow:190,95,223}
.gs-pcdex-card[data-gs-type-1="sol"]{--gs-type-1:151,99,38;--gs-type-glow:221,161,78}
.gs-pcdex-card[data-gs-type-1="vol"]{--gs-type-1:70,103,179;--gs-type-glow:126,170,255}
.gs-pcdex-card[data-gs-type-1="psy"]{--gs-type-1:190,42,102;--gs-type-glow:255,91,155}
.gs-pcdex-card[data-gs-type-1="insecte"]{--gs-type-1:111,127,16;--gs-type-glow:178,199,48}
.gs-pcdex-card[data-gs-type-1="roche"]{--gs-type-1:126,94,37;--gs-type-glow:191,155,80}
.gs-pcdex-card[data-gs-type-1="spectre"]{--gs-type-1:76,48,126;--gs-type-glow:137,97,205}
.gs-pcdex-card[data-gs-type-1="dragon"]{--gs-type-1:62,50,176;--gs-type-glow:119,104,255}
.gs-pcdex-card[data-gs-type-1="tenebres"]{--gs-type-1:49,42,50;--gs-type-glow:125,103,128}
.gs-pcdex-card[data-gs-type-1="acier"]{--gs-type-1:84,103,129;--gs-type-glow:171,194,220}
.gs-pcdex-card[data-gs-type-1="fee"]{--gs-type-1:186,69,137;--gs-type-glow:255,139,210}
.gs-pcdex-card[data-gs-type-1="generic"]{--gs-type-1:72,72,78;--gs-type-glow:196,18,48}

.gs-pcdex-card[data-gs-type-2="normal"]{--gs-type-2:126,126,132}
.gs-pcdex-card[data-gs-type-2="feu"]{--gs-type-2:207,57,33}
.gs-pcdex-card[data-gs-type-2="eau"]{--gs-type-2:31,103,190}
.gs-pcdex-card[data-gs-type-2="electrik"]{--gs-type-2:190,139,12}
.gs-pcdex-card[data-gs-type-2="plante"]{--gs-type-2:39,126,54}
.gs-pcdex-card[data-gs-type-2="glace"]{--gs-type-2:43,145,172}
.gs-pcdex-card[data-gs-type-2="combat"]{--gs-type-2:151,43,35}
.gs-pcdex-card[data-gs-type-2="poison"]{--gs-type-2:119,47,151}
.gs-pcdex-card[data-gs-type-2="sol"]{--gs-type-2:151,99,38}
.gs-pcdex-card[data-gs-type-2="vol"]{--gs-type-2:70,103,179}
.gs-pcdex-card[data-gs-type-2="psy"]{--gs-type-2:190,42,102}
.gs-pcdex-card[data-gs-type-2="insecte"]{--gs-type-2:111,127,16}
.gs-pcdex-card[data-gs-type-2="roche"]{--gs-type-2:126,94,37}
.gs-pcdex-card[data-gs-type-2="spectre"]{--gs-type-2:76,48,126}
.gs-pcdex-card[data-gs-type-2="dragon"]{--gs-type-2:62,50,176}
.gs-pcdex-card[data-gs-type-2="tenebres"]{--gs-type-2:49,42,50}
.gs-pcdex-card[data-gs-type-2="acier"]{--gs-type-2:84,103,129}
.gs-pcdex-card[data-gs-type-2="fee"]{--gs-type-2:186,69,137}
.gs-pcdex-card[data-gs-type-2="generic"]{--gs-type-2:72,72,78}

/* Types naturellement clairs : assombrissement supplémentaire pour le contraste. */
.gs-pcdex-card[data-gs-type-1="electrik"],
.gs-pcdex-card[data-gs-type-1="glace"],
.gs-pcdex-card[data-gs-type-1="normal"],
.gs-pcdex-card[data-gs-type-1="acier"]{text-shadow:0 2px 9px rgba(0,0,0,.45)}

@media(max-width:680px){
  .gs-pcdex-card{min-height:112px;padding:13px;border-radius:16px}
  .gs-pcdex-card strong{font-size:18px;margin-bottom:11px}
  .gs-pcdex-card small{font-size:10.5px}
  .gs-pcdex-card .gs-pcdex-type{min-height:27px;padding:5px 9px;font-size:10.5px}
}
@media(prefers-reduced-motion:reduce){
  .gs-pcdex-card{transition:none!important}
  .gs-pcdex-card:hover,.gs-pcdex-card:focus-visible{transform:none!important}
}
