/* ══ SOCLE D'ÉTATS DES BOUTONS — généré le 19/08/2026 ══════════════════════════════════
   Mesure : 686 règles de boutons dans le jeu, dont **14 seulement** définissaient un focus
   clavier et 36 un retour à l'appui. Ce n'est pas une affaire de style, c'est un trou
   d'accessibilité : la majorité des boutons ne se voyaient pas au clavier.

   Ce fichier ne redessine RIEN. Il pose, sur les 315 classes de boutons du jeu, les seuls
   états qui manquaient. Tout est en `:where()` donc de spécificité ZÉRO : n'importe quelle
   déclaration maison (fond, bordure, couleur, typo, rayon) l'emporte, toujours. Un bouton qui
   définissait déjà son `:active` ou son `:focus` garde le sien.

   ⚠️ Les règles sont restreintes aux vrais elements interactifs :
   sans ca, un <span> DANS un bouton matchait aussi :active et l'on obtenait un double
   scale(.97). Ne pas y ajouter de peinture. Ce socle traite le COMPORTEMENT ; l'identité visuelle reste
   dans la feuille de chaque écran, et la bascule vers .sgc-btn se fait écran par écran. */

:where(
.ach-pop-btn,
.adm-broadcast-btn,
.adm-btn,
.adm-btn-danger,
.adm-btn-gold,
.adm-btn-primary,
.adm-btn-purple,
.adm-btn-refresh,
.adm-btn-sm,
.aec-btn-ghost,
.al-dash-edit-btn,
.al-diplo-btn,
.al-diplo-btn-cancel,
.al-diplo-btn-nap,
.al-diplo-btn-war,
.al-join-btn,
.al-leave-btn,
.al-motd-btn,
.al-motd-btn-ghost,
.al-motd-btn-primary,
.al-nt-inv-btn,
.al-submit-btn,
.alc-btn,
.alc-btns,
.alhq-action-btn,
.alhq-fill-btn,
.alhq-found-btn,
.alhq-fund-btn,
.alhq-max-btn,
.alhq-recall-btn,
.alhq-res-launch-btn,
.alhq-role-ico-btn,
.alhq-tax-btn,
.alhq-train-btn,
.alhq-upgrade-btn,
.alr-cta,
.alvg-cta,
.amb-btn,
.ap-btn-primary,
.ap-card-btn,
.art-discovery-btn,
.art-frag-craft-btn,
.asc-btn,
.asc-hero-cta,
.asc-perk-card-btn,
.atk-btn,
.atk-btn-cancel,
.atk-btn-go,
.atk-btn-launch,
.atk-mode-btn,
.auth-btn,
.auth-passkey-btn,
.auth-social-btn,
.banner-btn,
.bdd-btn,
.bld-upgrade-btn,
.bp-btn,
.bp-claim-all-btn,
.bp-promo-cta-btn,
.bp-promo-cta-hint,
.bp-promo-cta-label,
.bp-promo-cta-price,
.bqp-btn,
.brd-all-btn,
.brd-btn,
.brd-btn-cancel,
.brd-btn-confirm,
.brd-max-btn,
.brd-reset-btn,
.btn,
.btn--,
.btn--block,
.btn--danger,
.btn--ghost,
.btn--gold,
.btn--icon,
.btn--lg,
.btn--primary,
.btn--secondary,
.btn--sm,
.btn-disabled,
.btn-loading,
.btn-no-prereq,
.btn-primary,
.btn-step-mini,
.camp-btn,
.cdx-fav-btn,
.cdx-fav-btn-inline,
.cdx-nav-btn,
.cfm-btn,
.cfm-btn-cancel,
.cfm-btn-confirm,
.chat-emote-btn,
.city-btn,
.city-btn-primary,
.city-btn-small,
.city-relique-btn,
.city-tech-btn,
.cityb-up-btn,
.cmd-btn,
.cmd-btn-ascend,
.cmd-reassign-cta,
.cmd-reassign-cta-glow,
.cmd-reassign-cta-price,
.cmd-reassign-cta-text,
.conv-btn,
.conv-max-btn,
.cos-card-btn-v2,
.cos-inv-btn,
.cos-inv-btn-eq,
.cos-unequip-btn,
.cr-accel-btn,
.def-alert-btn,
.diplo-btn-ally,
.diplo-btn-cancel,
.diplo-btn-claim,
.diplo-btn-emi,
.diplo-btn-fav,
.diplo-btn-pact,
.diplo-max-btn,
.dist-claim-btn,
.dist-claimall-btn,
.dst-btn,
.dst-btn-primary,
.dst-choice-btn,
.dst-dock-btn,
.dst-dock-btn-active,
.emp-btn,
.emp-btn-danger,
.emp-btn-ghost,
.emp-btn-primary,
.emp-win-btn,
.event-popup-btn,
.evt-close-btn,
.evt-engage-btn,
.exp-btn,
.exp-btn-cancel,
.exp-btn-launch,
.exp-fleet-empty-cta,
.explore-launch-btn,
.faction-info-btn,
.fam-replay-btn,
.fb-btn,
.fes-cta,
.fes-cta-btn,
.fleet-recall-btn,
.flo-btn,
.fms-action-btn,
.fms-cta,
.fms-loadout-btn,
.fms-new-btn,
.fms-station-btn,
.fms-transport-btn,
.fr-btn,
.fr-btn-accept,
.fr-btn-danger,
.gal-act-btn,
.gal-act-menu-btn,
.gal-action-btn,
.gal-arrow-btn,
.gal-evt-atk-btn,
.gal-fav-btn,
.gal-info-btn,
.gal-nav-btn,
.gal-qn-btn,
.galcb-fav-btn,
.gap-launch-btn,
.gap-max-btn,
.gate-btns,
.gate-launch-btn,
.gbtn,
.gbtn-a,
.gbtn-d,
.gbtn-e,
.gbtn-icon,
.gj-recover-btn,
.gmt-tools-btn,
.gts-card-max-btn,
.inv-b-cta,
.inv-btn,
.lb-btn,
.lib-card-btn,
.lnav-more-btn,
.login-bonus-btn,
.logout-btn,
.lp-btn,
.lp-btn-cta-ghost,
.lp-btn-cta-primary,
.lp-btn-disc,
.lp-btn-ghost,
.lp-btn-primary,
.lp-community-cta,
.lp-cta-note,
.lp-footer-link-btn,
.lp-hero-cta,
.lp-hero-cta-alt,
.lp-nav-cta,
.lp-srv-btn,
.lp-srv-btn-new,
.mkt-accept-btn,
.mkt-action-btn,
.mkt-cancel-btn,
.mkt-filter-btn,
.mkt-submit-btn,
.mon-up-btn,
.msg-compose-btn,
.nri-cta,
.offline-btn,
.og-btn-primary,
.og-cancel-btn,
.og-rec-btn,
.ops-card-btn,
.ops-card-btn--dim,
.ops-card-btn--warn,
.ori-crusade-btn,
.ov-empty-event-cta,
.ovc-btn,
.ovc-btn-ghost,
.ovc-btn-warn,
.pass-daily-btn,
.pass-plan-cta,
.peEdit-btn-cancel,
.peEdit-btn-save,
.pog-bld-btn,
.prof2-btn,
.prof2-btn-atk,
.prof2-btn-disabled,
.prof2-btn-friend,
.prof2-btn-friend-ok,
.prof2-btn-msg,
.prof2-btn-spy,
.prof2-btn-warn,
.pubrep-cta,
.pvp-spy-btn,
.pvp-target-btn,
.qa-btn,
.qp2-empty-cta,
.qty-max-btn,
.quest-action-btn,
.quest-claim-btn,
.quest-claimall-btn,
.quest-pop-btn,
.ra-btn,
.raid-popup-btn,
.rep-counter-btn,
.rep-empty-cta,
.rep-share-btn,
.res-upgrade-btn,
.rnk-atk-btn,
.rnk-diplo-btn,
.rnk-spy-btn,
.rnk-tab-btn,
.rp-back-btn,
.rp-colony-banner-btn,
.rp-fac-btn,
.rp-upgrade-btn,
.rst-btn,
.sgc-cta-gold,
.sgc-empty-cta,
.sgc-st-skeleton--btn,
.sgc-xpromo-btn,
.sim-load-pvp-btn,
.sim-max-btn,
.sim-npc-btn,
.sim-pvp-btn,
.sim-type-btn,
.sos-accept-btn,
.spy-hist-btn,
.spy-hist-btns,
.sq-btn,
.sq-btn-close,
.sq-dirbtn,
.sq-dirbtn-go,
.sq-dirbtn-ico,
.stg-btn,
.stg-close-btn,
.surv-act-btn,
.surv-btn-cancel,
.surv-btn-confirm,
.surv-btn-launch,
.surv-cta-row-multi,
.surv-pick-btns,
.surv-s1-archive-cta,
.sv-rate-btn,
.tab-btn,
.tal-respec-btn,
.tb2-btn,
.tb2-btn-kbd,
.tb2-destiny-btn,
.tb2-shop-btn,
.tc-btn,
.tc-btn-avail,
.tc-btn-done,
.tc-btn-locked,
.tc-btn-poor,
.tt-reco-cta,
.tut-btn,
.tut-btn-go,
.tut-btn-locate,
.tut-btn-skip,
.tut-complete-btn,
.tut-toggle-btn,
.tut2-btn,
.tut2-btn-ghost,
.tut2-btn-primary,
.ut-qty-btn,
.ut-rec-btn,
.ut-rec-btn-main,
.war-atk-btn,
.war-btn,
.war-roster-btn,
.wr-ann-cta,
.wr-banner-cta,
.wr-btn,
.wr-cta-mute
):is(button, a, input, summary, [role="button"]) {
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

/* Focus clavier — l'anneau du design system, identique partout. */
:where(
.ach-pop-btn,
.adm-broadcast-btn,
.adm-btn,
.adm-btn-danger,
.adm-btn-gold,
.adm-btn-primary,
.adm-btn-purple,
.adm-btn-refresh,
.adm-btn-sm,
.aec-btn-ghost,
.al-dash-edit-btn,
.al-diplo-btn,
.al-diplo-btn-cancel,
.al-diplo-btn-nap,
.al-diplo-btn-war,
.al-join-btn,
.al-leave-btn,
.al-motd-btn,
.al-motd-btn-ghost,
.al-motd-btn-primary,
.al-nt-inv-btn,
.al-submit-btn,
.alc-btn,
.alc-btns,
.alhq-action-btn,
.alhq-fill-btn,
.alhq-found-btn,
.alhq-fund-btn,
.alhq-max-btn,
.alhq-recall-btn,
.alhq-res-launch-btn,
.alhq-role-ico-btn,
.alhq-tax-btn,
.alhq-train-btn,
.alhq-upgrade-btn,
.alr-cta,
.alvg-cta,
.amb-btn,
.ap-btn-primary,
.ap-card-btn,
.art-discovery-btn,
.art-frag-craft-btn,
.asc-btn,
.asc-hero-cta,
.asc-perk-card-btn,
.atk-btn,
.atk-btn-cancel,
.atk-btn-go,
.atk-btn-launch,
.atk-mode-btn,
.auth-btn,
.auth-passkey-btn,
.auth-social-btn,
.banner-btn,
.bdd-btn,
.bld-upgrade-btn,
.bp-btn,
.bp-claim-all-btn,
.bp-promo-cta-btn,
.bp-promo-cta-hint,
.bp-promo-cta-label,
.bp-promo-cta-price,
.bqp-btn,
.brd-all-btn,
.brd-btn,
.brd-btn-cancel,
.brd-btn-confirm,
.brd-max-btn,
.brd-reset-btn,
.btn,
.btn--,
.btn--block,
.btn--danger,
.btn--ghost,
.btn--gold,
.btn--icon,
.btn--lg,
.btn--primary,
.btn--secondary,
.btn--sm,
.btn-disabled,
.btn-loading,
.btn-no-prereq,
.btn-primary,
.btn-step-mini,
.camp-btn,
.cdx-fav-btn,
.cdx-fav-btn-inline,
.cdx-nav-btn,
.cfm-btn,
.cfm-btn-cancel,
.cfm-btn-confirm,
.chat-emote-btn,
.city-btn,
.city-btn-primary,
.city-btn-small,
.city-relique-btn,
.city-tech-btn,
.cityb-up-btn,
.cmd-btn,
.cmd-btn-ascend,
.cmd-reassign-cta,
.cmd-reassign-cta-glow,
.cmd-reassign-cta-price,
.cmd-reassign-cta-text,
.conv-btn,
.conv-max-btn,
.cos-card-btn-v2,
.cos-inv-btn,
.cos-inv-btn-eq,
.cos-unequip-btn,
.cr-accel-btn,
.def-alert-btn,
.diplo-btn-ally,
.diplo-btn-cancel,
.diplo-btn-claim,
.diplo-btn-emi,
.diplo-btn-fav,
.diplo-btn-pact,
.diplo-max-btn,
.dist-claim-btn,
.dist-claimall-btn,
.dst-btn,
.dst-btn-primary,
.dst-choice-btn,
.dst-dock-btn,
.dst-dock-btn-active,
.emp-btn,
.emp-btn-danger,
.emp-btn-ghost,
.emp-btn-primary,
.emp-win-btn,
.event-popup-btn,
.evt-close-btn,
.evt-engage-btn,
.exp-btn,
.exp-btn-cancel,
.exp-btn-launch,
.exp-fleet-empty-cta,
.explore-launch-btn,
.faction-info-btn,
.fam-replay-btn,
.fb-btn,
.fes-cta,
.fes-cta-btn,
.fleet-recall-btn,
.flo-btn,
.fms-action-btn,
.fms-cta,
.fms-loadout-btn,
.fms-new-btn,
.fms-station-btn,
.fms-transport-btn,
.fr-btn,
.fr-btn-accept,
.fr-btn-danger,
.gal-act-btn,
.gal-act-menu-btn,
.gal-action-btn,
.gal-arrow-btn,
.gal-evt-atk-btn,
.gal-fav-btn,
.gal-info-btn,
.gal-nav-btn,
.gal-qn-btn,
.galcb-fav-btn,
.gap-launch-btn,
.gap-max-btn,
.gate-btns,
.gate-launch-btn,
.gbtn,
.gbtn-a,
.gbtn-d,
.gbtn-e,
.gbtn-icon,
.gj-recover-btn,
.gmt-tools-btn,
.gts-card-max-btn,
.inv-b-cta,
.inv-btn,
.lb-btn,
.lib-card-btn,
.lnav-more-btn,
.login-bonus-btn,
.logout-btn,
.lp-btn,
.lp-btn-cta-ghost,
.lp-btn-cta-primary,
.lp-btn-disc,
.lp-btn-ghost,
.lp-btn-primary,
.lp-community-cta,
.lp-cta-note,
.lp-footer-link-btn,
.lp-hero-cta,
.lp-hero-cta-alt,
.lp-nav-cta,
.lp-srv-btn,
.lp-srv-btn-new,
.mkt-accept-btn,
.mkt-action-btn,
.mkt-cancel-btn,
.mkt-filter-btn,
.mkt-submit-btn,
.mon-up-btn,
.msg-compose-btn,
.nri-cta,
.offline-btn,
.og-btn-primary,
.og-cancel-btn,
.og-rec-btn,
.ops-card-btn,
.ops-card-btn--dim,
.ops-card-btn--warn,
.ori-crusade-btn,
.ov-empty-event-cta,
.ovc-btn,
.ovc-btn-ghost,
.ovc-btn-warn,
.pass-daily-btn,
.pass-plan-cta,
.peEdit-btn-cancel,
.peEdit-btn-save,
.pog-bld-btn,
.prof2-btn,
.prof2-btn-atk,
.prof2-btn-disabled,
.prof2-btn-friend,
.prof2-btn-friend-ok,
.prof2-btn-msg,
.prof2-btn-spy,
.prof2-btn-warn,
.pubrep-cta,
.pvp-spy-btn,
.pvp-target-btn,
.qa-btn,
.qp2-empty-cta,
.qty-max-btn,
.quest-action-btn,
.quest-claim-btn,
.quest-claimall-btn,
.quest-pop-btn,
.ra-btn,
.raid-popup-btn,
.rep-counter-btn,
.rep-empty-cta,
.rep-share-btn,
.res-upgrade-btn,
.rnk-atk-btn,
.rnk-diplo-btn,
.rnk-spy-btn,
.rnk-tab-btn,
.rp-back-btn,
.rp-colony-banner-btn,
.rp-fac-btn,
.rp-upgrade-btn,
.rst-btn,
.sgc-cta-gold,
.sgc-empty-cta,
.sgc-st-skeleton--btn,
.sgc-xpromo-btn,
.sim-load-pvp-btn,
.sim-max-btn,
.sim-npc-btn,
.sim-pvp-btn,
.sim-type-btn,
.sos-accept-btn,
.spy-hist-btn,
.spy-hist-btns,
.sq-btn,
.sq-btn-close,
.sq-dirbtn,
.sq-dirbtn-go,
.sq-dirbtn-ico,
.stg-btn,
.stg-close-btn,
.surv-act-btn,
.surv-btn-cancel,
.surv-btn-confirm,
.surv-btn-launch,
.surv-cta-row-multi,
.surv-pick-btns,
.surv-s1-archive-cta,
.sv-rate-btn,
.tab-btn,
.tal-respec-btn,
.tb2-btn,
.tb2-btn-kbd,
.tb2-destiny-btn,
.tb2-shop-btn,
.tc-btn,
.tc-btn-avail,
.tc-btn-done,
.tc-btn-locked,
.tc-btn-poor,
.tt-reco-cta,
.tut-btn,
.tut-btn-go,
.tut-btn-locate,
.tut-btn-skip,
.tut-complete-btn,
.tut-toggle-btn,
.tut2-btn,
.tut2-btn-ghost,
.tut2-btn-primary,
.ut-qty-btn,
.ut-rec-btn,
.ut-rec-btn-main,
.war-atk-btn,
.war-btn,
.war-roster-btn,
.wr-ann-cta,
.wr-banner-cta,
.wr-btn,
.wr-cta-mute
):is(button, a, input, summary, [role="button"]):focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(var(--accent-rgb), .35);
  border-color: var(--accent);
  z-index: 1;
}

/* Appui — même retour dans tout le jeu. Un bouton qui a déjà son propre :active le garde
   (sa règle est plus spécifique que ce :where). */
:where(
.ach-pop-btn,
.adm-broadcast-btn,
.adm-btn,
.adm-btn-danger,
.adm-btn-gold,
.adm-btn-primary,
.adm-btn-purple,
.adm-btn-refresh,
.adm-btn-sm,
.aec-btn-ghost,
.al-dash-edit-btn,
.al-diplo-btn,
.al-diplo-btn-cancel,
.al-diplo-btn-nap,
.al-diplo-btn-war,
.al-join-btn,
.al-leave-btn,
.al-motd-btn,
.al-motd-btn-ghost,
.al-motd-btn-primary,
.al-nt-inv-btn,
.al-submit-btn,
.alc-btn,
.alc-btns,
.alhq-action-btn,
.alhq-fill-btn,
.alhq-found-btn,
.alhq-fund-btn,
.alhq-max-btn,
.alhq-recall-btn,
.alhq-res-launch-btn,
.alhq-role-ico-btn,
.alhq-tax-btn,
.alhq-train-btn,
.alhq-upgrade-btn,
.alr-cta,
.alvg-cta,
.amb-btn,
.ap-btn-primary,
.ap-card-btn,
.art-discovery-btn,
.art-frag-craft-btn,
.asc-btn,
.asc-hero-cta,
.asc-perk-card-btn,
.atk-btn,
.atk-btn-cancel,
.atk-btn-go,
.atk-btn-launch,
.atk-mode-btn,
.auth-btn,
.auth-passkey-btn,
.auth-social-btn,
.banner-btn,
.bdd-btn,
.bld-upgrade-btn,
.bp-btn,
.bp-claim-all-btn,
.bp-promo-cta-btn,
.bp-promo-cta-hint,
.bp-promo-cta-label,
.bp-promo-cta-price,
.bqp-btn,
.brd-all-btn,
.brd-btn,
.brd-btn-cancel,
.brd-btn-confirm,
.brd-max-btn,
.brd-reset-btn,
.btn,
.btn--,
.btn--block,
.btn--danger,
.btn--ghost,
.btn--gold,
.btn--icon,
.btn--lg,
.btn--primary,
.btn--secondary,
.btn--sm,
.btn-disabled,
.btn-loading,
.btn-no-prereq,
.btn-primary,
.btn-step-mini,
.camp-btn,
.cdx-fav-btn,
.cdx-fav-btn-inline,
.cdx-nav-btn,
.cfm-btn,
.cfm-btn-cancel,
.cfm-btn-confirm,
.chat-emote-btn,
.city-btn,
.city-btn-primary,
.city-btn-small,
.city-relique-btn,
.city-tech-btn,
.cityb-up-btn,
.cmd-btn,
.cmd-btn-ascend,
.cmd-reassign-cta,
.cmd-reassign-cta-glow,
.cmd-reassign-cta-price,
.cmd-reassign-cta-text,
.conv-btn,
.conv-max-btn,
.cos-card-btn-v2,
.cos-inv-btn,
.cos-inv-btn-eq,
.cos-unequip-btn,
.cr-accel-btn,
.def-alert-btn,
.diplo-btn-ally,
.diplo-btn-cancel,
.diplo-btn-claim,
.diplo-btn-emi,
.diplo-btn-fav,
.diplo-btn-pact,
.diplo-max-btn,
.dist-claim-btn,
.dist-claimall-btn,
.dst-btn,
.dst-btn-primary,
.dst-choice-btn,
.dst-dock-btn,
.dst-dock-btn-active,
.emp-btn,
.emp-btn-danger,
.emp-btn-ghost,
.emp-btn-primary,
.emp-win-btn,
.event-popup-btn,
.evt-close-btn,
.evt-engage-btn,
.exp-btn,
.exp-btn-cancel,
.exp-btn-launch,
.exp-fleet-empty-cta,
.explore-launch-btn,
.faction-info-btn,
.fam-replay-btn,
.fb-btn,
.fes-cta,
.fes-cta-btn,
.fleet-recall-btn,
.flo-btn,
.fms-action-btn,
.fms-cta,
.fms-loadout-btn,
.fms-new-btn,
.fms-station-btn,
.fms-transport-btn,
.fr-btn,
.fr-btn-accept,
.fr-btn-danger,
.gal-act-btn,
.gal-act-menu-btn,
.gal-action-btn,
.gal-arrow-btn,
.gal-evt-atk-btn,
.gal-fav-btn,
.gal-info-btn,
.gal-nav-btn,
.gal-qn-btn,
.galcb-fav-btn,
.gap-launch-btn,
.gap-max-btn,
.gate-btns,
.gate-launch-btn,
.gbtn,
.gbtn-a,
.gbtn-d,
.gbtn-e,
.gbtn-icon,
.gj-recover-btn,
.gmt-tools-btn,
.gts-card-max-btn,
.inv-b-cta,
.inv-btn,
.lb-btn,
.lib-card-btn,
.lnav-more-btn,
.login-bonus-btn,
.logout-btn,
.lp-btn,
.lp-btn-cta-ghost,
.lp-btn-cta-primary,
.lp-btn-disc,
.lp-btn-ghost,
.lp-btn-primary,
.lp-community-cta,
.lp-cta-note,
.lp-footer-link-btn,
.lp-hero-cta,
.lp-hero-cta-alt,
.lp-nav-cta,
.lp-srv-btn,
.lp-srv-btn-new,
.mkt-accept-btn,
.mkt-action-btn,
.mkt-cancel-btn,
.mkt-filter-btn,
.mkt-submit-btn,
.mon-up-btn,
.msg-compose-btn,
.nri-cta,
.offline-btn,
.og-btn-primary,
.og-cancel-btn,
.og-rec-btn,
.ops-card-btn,
.ops-card-btn--dim,
.ops-card-btn--warn,
.ori-crusade-btn,
.ov-empty-event-cta,
.ovc-btn,
.ovc-btn-ghost,
.ovc-btn-warn,
.pass-daily-btn,
.pass-plan-cta,
.peEdit-btn-cancel,
.peEdit-btn-save,
.pog-bld-btn,
.prof2-btn,
.prof2-btn-atk,
.prof2-btn-disabled,
.prof2-btn-friend,
.prof2-btn-friend-ok,
.prof2-btn-msg,
.prof2-btn-spy,
.prof2-btn-warn,
.pubrep-cta,
.pvp-spy-btn,
.pvp-target-btn,
.qa-btn,
.qp2-empty-cta,
.qty-max-btn,
.quest-action-btn,
.quest-claim-btn,
.quest-claimall-btn,
.quest-pop-btn,
.ra-btn,
.raid-popup-btn,
.rep-counter-btn,
.rep-empty-cta,
.rep-share-btn,
.res-upgrade-btn,
.rnk-atk-btn,
.rnk-diplo-btn,
.rnk-spy-btn,
.rnk-tab-btn,
.rp-back-btn,
.rp-colony-banner-btn,
.rp-fac-btn,
.rp-upgrade-btn,
.rst-btn,
.sgc-cta-gold,
.sgc-empty-cta,
.sgc-st-skeleton--btn,
.sgc-xpromo-btn,
.sim-load-pvp-btn,
.sim-max-btn,
.sim-npc-btn,
.sim-pvp-btn,
.sim-type-btn,
.sos-accept-btn,
.spy-hist-btn,
.spy-hist-btns,
.sq-btn,
.sq-btn-close,
.sq-dirbtn,
.sq-dirbtn-go,
.sq-dirbtn-ico,
.stg-btn,
.stg-close-btn,
.surv-act-btn,
.surv-btn-cancel,
.surv-btn-confirm,
.surv-btn-launch,
.surv-cta-row-multi,
.surv-pick-btns,
.surv-s1-archive-cta,
.sv-rate-btn,
.tab-btn,
.tal-respec-btn,
.tb2-btn,
.tb2-btn-kbd,
.tb2-destiny-btn,
.tb2-shop-btn,
.tc-btn,
.tc-btn-avail,
.tc-btn-done,
.tc-btn-locked,
.tc-btn-poor,
.tt-reco-cta,
.tut-btn,
.tut-btn-go,
.tut-btn-locate,
.tut-btn-skip,
.tut-complete-btn,
.tut-toggle-btn,
.tut2-btn,
.tut2-btn-ghost,
.tut2-btn-primary,
.ut-qty-btn,
.ut-rec-btn,
.ut-rec-btn-main,
.war-atk-btn,
.war-btn,
.war-roster-btn,
.wr-ann-cta,
.wr-banner-cta,
.wr-btn,
.wr-cta-mute
):is(button, a, input, summary, [role="button"]):not(:disabled):not(.is-loading):active {
  transform: scale(.97);
}

/* Inactif — un bouton désactivé ne survole pas, ne s'enfonce pas, et le dit. */
:where(
.ach-pop-btn,
.adm-broadcast-btn,
.adm-btn,
.adm-btn-danger,
.adm-btn-gold,
.adm-btn-primary,
.adm-btn-purple,
.adm-btn-refresh,
.adm-btn-sm,
.aec-btn-ghost,
.al-dash-edit-btn,
.al-diplo-btn,
.al-diplo-btn-cancel,
.al-diplo-btn-nap,
.al-diplo-btn-war,
.al-join-btn,
.al-leave-btn,
.al-motd-btn,
.al-motd-btn-ghost,
.al-motd-btn-primary,
.al-nt-inv-btn,
.al-submit-btn,
.alc-btn,
.alc-btns,
.alhq-action-btn,
.alhq-fill-btn,
.alhq-found-btn,
.alhq-fund-btn,
.alhq-max-btn,
.alhq-recall-btn,
.alhq-res-launch-btn,
.alhq-role-ico-btn,
.alhq-tax-btn,
.alhq-train-btn,
.alhq-upgrade-btn,
.alr-cta,
.alvg-cta,
.amb-btn,
.ap-btn-primary,
.ap-card-btn,
.art-discovery-btn,
.art-frag-craft-btn,
.asc-btn,
.asc-hero-cta,
.asc-perk-card-btn,
.atk-btn,
.atk-btn-cancel,
.atk-btn-go,
.atk-btn-launch,
.atk-mode-btn,
.auth-btn,
.auth-passkey-btn,
.auth-social-btn,
.banner-btn,
.bdd-btn,
.bld-upgrade-btn,
.bp-btn,
.bp-claim-all-btn,
.bp-promo-cta-btn,
.bp-promo-cta-hint,
.bp-promo-cta-label,
.bp-promo-cta-price,
.bqp-btn,
.brd-all-btn,
.brd-btn,
.brd-btn-cancel,
.brd-btn-confirm,
.brd-max-btn,
.brd-reset-btn,
.btn,
.btn--,
.btn--block,
.btn--danger,
.btn--ghost,
.btn--gold,
.btn--icon,
.btn--lg,
.btn--primary,
.btn--secondary,
.btn--sm,
.btn-disabled,
.btn-loading,
.btn-no-prereq,
.btn-primary,
.btn-step-mini,
.camp-btn,
.cdx-fav-btn,
.cdx-fav-btn-inline,
.cdx-nav-btn,
.cfm-btn,
.cfm-btn-cancel,
.cfm-btn-confirm,
.chat-emote-btn,
.city-btn,
.city-btn-primary,
.city-btn-small,
.city-relique-btn,
.city-tech-btn,
.cityb-up-btn,
.cmd-btn,
.cmd-btn-ascend,
.cmd-reassign-cta,
.cmd-reassign-cta-glow,
.cmd-reassign-cta-price,
.cmd-reassign-cta-text,
.conv-btn,
.conv-max-btn,
.cos-card-btn-v2,
.cos-inv-btn,
.cos-inv-btn-eq,
.cos-unequip-btn,
.cr-accel-btn,
.def-alert-btn,
.diplo-btn-ally,
.diplo-btn-cancel,
.diplo-btn-claim,
.diplo-btn-emi,
.diplo-btn-fav,
.diplo-btn-pact,
.diplo-max-btn,
.dist-claim-btn,
.dist-claimall-btn,
.dst-btn,
.dst-btn-primary,
.dst-choice-btn,
.dst-dock-btn,
.dst-dock-btn-active,
.emp-btn,
.emp-btn-danger,
.emp-btn-ghost,
.emp-btn-primary,
.emp-win-btn,
.event-popup-btn,
.evt-close-btn,
.evt-engage-btn,
.exp-btn,
.exp-btn-cancel,
.exp-btn-launch,
.exp-fleet-empty-cta,
.explore-launch-btn,
.faction-info-btn,
.fam-replay-btn,
.fb-btn,
.fes-cta,
.fes-cta-btn,
.fleet-recall-btn,
.flo-btn,
.fms-action-btn,
.fms-cta,
.fms-loadout-btn,
.fms-new-btn,
.fms-station-btn,
.fms-transport-btn,
.fr-btn,
.fr-btn-accept,
.fr-btn-danger,
.gal-act-btn,
.gal-act-menu-btn,
.gal-action-btn,
.gal-arrow-btn,
.gal-evt-atk-btn,
.gal-fav-btn,
.gal-info-btn,
.gal-nav-btn,
.gal-qn-btn,
.galcb-fav-btn,
.gap-launch-btn,
.gap-max-btn,
.gate-btns,
.gate-launch-btn,
.gbtn,
.gbtn-a,
.gbtn-d,
.gbtn-e,
.gbtn-icon,
.gj-recover-btn,
.gmt-tools-btn,
.gts-card-max-btn,
.inv-b-cta,
.inv-btn,
.lb-btn,
.lib-card-btn,
.lnav-more-btn,
.login-bonus-btn,
.logout-btn,
.lp-btn,
.lp-btn-cta-ghost,
.lp-btn-cta-primary,
.lp-btn-disc,
.lp-btn-ghost,
.lp-btn-primary,
.lp-community-cta,
.lp-cta-note,
.lp-footer-link-btn,
.lp-hero-cta,
.lp-hero-cta-alt,
.lp-nav-cta,
.lp-srv-btn,
.lp-srv-btn-new,
.mkt-accept-btn,
.mkt-action-btn,
.mkt-cancel-btn,
.mkt-filter-btn,
.mkt-submit-btn,
.mon-up-btn,
.msg-compose-btn,
.nri-cta,
.offline-btn,
.og-btn-primary,
.og-cancel-btn,
.og-rec-btn,
.ops-card-btn,
.ops-card-btn--dim,
.ops-card-btn--warn,
.ori-crusade-btn,
.ov-empty-event-cta,
.ovc-btn,
.ovc-btn-ghost,
.ovc-btn-warn,
.pass-daily-btn,
.pass-plan-cta,
.peEdit-btn-cancel,
.peEdit-btn-save,
.pog-bld-btn,
.prof2-btn,
.prof2-btn-atk,
.prof2-btn-disabled,
.prof2-btn-friend,
.prof2-btn-friend-ok,
.prof2-btn-msg,
.prof2-btn-spy,
.prof2-btn-warn,
.pubrep-cta,
.pvp-spy-btn,
.pvp-target-btn,
.qa-btn,
.qp2-empty-cta,
.qty-max-btn,
.quest-action-btn,
.quest-claim-btn,
.quest-claimall-btn,
.quest-pop-btn,
.ra-btn,
.raid-popup-btn,
.rep-counter-btn,
.rep-empty-cta,
.rep-share-btn,
.res-upgrade-btn,
.rnk-atk-btn,
.rnk-diplo-btn,
.rnk-spy-btn,
.rnk-tab-btn,
.rp-back-btn,
.rp-colony-banner-btn,
.rp-fac-btn,
.rp-upgrade-btn,
.rst-btn,
.sgc-cta-gold,
.sgc-empty-cta,
.sgc-st-skeleton--btn,
.sgc-xpromo-btn,
.sim-load-pvp-btn,
.sim-max-btn,
.sim-npc-btn,
.sim-pvp-btn,
.sim-type-btn,
.sos-accept-btn,
.spy-hist-btn,
.spy-hist-btns,
.sq-btn,
.sq-btn-close,
.sq-dirbtn,
.sq-dirbtn-go,
.sq-dirbtn-ico,
.stg-btn,
.stg-close-btn,
.surv-act-btn,
.surv-btn-cancel,
.surv-btn-confirm,
.surv-btn-launch,
.surv-cta-row-multi,
.surv-pick-btns,
.surv-s1-archive-cta,
.sv-rate-btn,
.tab-btn,
.tal-respec-btn,
.tb2-btn,
.tb2-btn-kbd,
.tb2-destiny-btn,
.tb2-shop-btn,
.tc-btn,
.tc-btn-avail,
.tc-btn-done,
.tc-btn-locked,
.tc-btn-poor,
.tt-reco-cta,
.tut-btn,
.tut-btn-go,
.tut-btn-locate,
.tut-btn-skip,
.tut-complete-btn,
.tut-toggle-btn,
.tut2-btn,
.tut2-btn-ghost,
.tut2-btn-primary,
.ut-qty-btn,
.ut-rec-btn,
.ut-rec-btn-main,
.war-atk-btn,
.war-btn,
.war-roster-btn,
.wr-ann-cta,
.wr-banner-cta,
.wr-btn,
.wr-cta-mute
):is(button, a, input, summary, [role="button"]):disabled,
:where(
.ach-pop-btn,
.adm-broadcast-btn,
.adm-btn,
.adm-btn-danger,
.adm-btn-gold,
.adm-btn-primary,
.adm-btn-purple,
.adm-btn-refresh,
.adm-btn-sm,
.aec-btn-ghost,
.al-dash-edit-btn,
.al-diplo-btn,
.al-diplo-btn-cancel,
.al-diplo-btn-nap,
.al-diplo-btn-war,
.al-join-btn,
.al-leave-btn,
.al-motd-btn,
.al-motd-btn-ghost,
.al-motd-btn-primary,
.al-nt-inv-btn,
.al-submit-btn,
.alc-btn,
.alc-btns,
.alhq-action-btn,
.alhq-fill-btn,
.alhq-found-btn,
.alhq-fund-btn,
.alhq-max-btn,
.alhq-recall-btn,
.alhq-res-launch-btn,
.alhq-role-ico-btn,
.alhq-tax-btn,
.alhq-train-btn,
.alhq-upgrade-btn,
.alr-cta,
.alvg-cta,
.amb-btn,
.ap-btn-primary,
.ap-card-btn,
.art-discovery-btn,
.art-frag-craft-btn,
.asc-btn,
.asc-hero-cta,
.asc-perk-card-btn,
.atk-btn,
.atk-btn-cancel,
.atk-btn-go,
.atk-btn-launch,
.atk-mode-btn,
.auth-btn,
.auth-passkey-btn,
.auth-social-btn,
.banner-btn,
.bdd-btn,
.bld-upgrade-btn,
.bp-btn,
.bp-claim-all-btn,
.bp-promo-cta-btn,
.bp-promo-cta-hint,
.bp-promo-cta-label,
.bp-promo-cta-price,
.bqp-btn,
.brd-all-btn,
.brd-btn,
.brd-btn-cancel,
.brd-btn-confirm,
.brd-max-btn,
.brd-reset-btn,
.btn,
.btn--,
.btn--block,
.btn--danger,
.btn--ghost,
.btn--gold,
.btn--icon,
.btn--lg,
.btn--primary,
.btn--secondary,
.btn--sm,
.btn-disabled,
.btn-loading,
.btn-no-prereq,
.btn-primary,
.btn-step-mini,
.camp-btn,
.cdx-fav-btn,
.cdx-fav-btn-inline,
.cdx-nav-btn,
.cfm-btn,
.cfm-btn-cancel,
.cfm-btn-confirm,
.chat-emote-btn,
.city-btn,
.city-btn-primary,
.city-btn-small,
.city-relique-btn,
.city-tech-btn,
.cityb-up-btn,
.cmd-btn,
.cmd-btn-ascend,
.cmd-reassign-cta,
.cmd-reassign-cta-glow,
.cmd-reassign-cta-price,
.cmd-reassign-cta-text,
.conv-btn,
.conv-max-btn,
.cos-card-btn-v2,
.cos-inv-btn,
.cos-inv-btn-eq,
.cos-unequip-btn,
.cr-accel-btn,
.def-alert-btn,
.diplo-btn-ally,
.diplo-btn-cancel,
.diplo-btn-claim,
.diplo-btn-emi,
.diplo-btn-fav,
.diplo-btn-pact,
.diplo-max-btn,
.dist-claim-btn,
.dist-claimall-btn,
.dst-btn,
.dst-btn-primary,
.dst-choice-btn,
.dst-dock-btn,
.dst-dock-btn-active,
.emp-btn,
.emp-btn-danger,
.emp-btn-ghost,
.emp-btn-primary,
.emp-win-btn,
.event-popup-btn,
.evt-close-btn,
.evt-engage-btn,
.exp-btn,
.exp-btn-cancel,
.exp-btn-launch,
.exp-fleet-empty-cta,
.explore-launch-btn,
.faction-info-btn,
.fam-replay-btn,
.fb-btn,
.fes-cta,
.fes-cta-btn,
.fleet-recall-btn,
.flo-btn,
.fms-action-btn,
.fms-cta,
.fms-loadout-btn,
.fms-new-btn,
.fms-station-btn,
.fms-transport-btn,
.fr-btn,
.fr-btn-accept,
.fr-btn-danger,
.gal-act-btn,
.gal-act-menu-btn,
.gal-action-btn,
.gal-arrow-btn,
.gal-evt-atk-btn,
.gal-fav-btn,
.gal-info-btn,
.gal-nav-btn,
.gal-qn-btn,
.galcb-fav-btn,
.gap-launch-btn,
.gap-max-btn,
.gate-btns,
.gate-launch-btn,
.gbtn,
.gbtn-a,
.gbtn-d,
.gbtn-e,
.gbtn-icon,
.gj-recover-btn,
.gmt-tools-btn,
.gts-card-max-btn,
.inv-b-cta,
.inv-btn,
.lb-btn,
.lib-card-btn,
.lnav-more-btn,
.login-bonus-btn,
.logout-btn,
.lp-btn,
.lp-btn-cta-ghost,
.lp-btn-cta-primary,
.lp-btn-disc,
.lp-btn-ghost,
.lp-btn-primary,
.lp-community-cta,
.lp-cta-note,
.lp-footer-link-btn,
.lp-hero-cta,
.lp-hero-cta-alt,
.lp-nav-cta,
.lp-srv-btn,
.lp-srv-btn-new,
.mkt-accept-btn,
.mkt-action-btn,
.mkt-cancel-btn,
.mkt-filter-btn,
.mkt-submit-btn,
.mon-up-btn,
.msg-compose-btn,
.nri-cta,
.offline-btn,
.og-btn-primary,
.og-cancel-btn,
.og-rec-btn,
.ops-card-btn,
.ops-card-btn--dim,
.ops-card-btn--warn,
.ori-crusade-btn,
.ov-empty-event-cta,
.ovc-btn,
.ovc-btn-ghost,
.ovc-btn-warn,
.pass-daily-btn,
.pass-plan-cta,
.peEdit-btn-cancel,
.peEdit-btn-save,
.pog-bld-btn,
.prof2-btn,
.prof2-btn-atk,
.prof2-btn-disabled,
.prof2-btn-friend,
.prof2-btn-friend-ok,
.prof2-btn-msg,
.prof2-btn-spy,
.prof2-btn-warn,
.pubrep-cta,
.pvp-spy-btn,
.pvp-target-btn,
.qa-btn,
.qp2-empty-cta,
.qty-max-btn,
.quest-action-btn,
.quest-claim-btn,
.quest-claimall-btn,
.quest-pop-btn,
.ra-btn,
.raid-popup-btn,
.rep-counter-btn,
.rep-empty-cta,
.rep-share-btn,
.res-upgrade-btn,
.rnk-atk-btn,
.rnk-diplo-btn,
.rnk-spy-btn,
.rnk-tab-btn,
.rp-back-btn,
.rp-colony-banner-btn,
.rp-fac-btn,
.rp-upgrade-btn,
.rst-btn,
.sgc-cta-gold,
.sgc-empty-cta,
.sgc-st-skeleton--btn,
.sgc-xpromo-btn,
.sim-load-pvp-btn,
.sim-max-btn,
.sim-npc-btn,
.sim-pvp-btn,
.sim-type-btn,
.sos-accept-btn,
.spy-hist-btn,
.spy-hist-btns,
.sq-btn,
.sq-btn-close,
.sq-dirbtn,
.sq-dirbtn-go,
.sq-dirbtn-ico,
.stg-btn,
.stg-close-btn,
.surv-act-btn,
.surv-btn-cancel,
.surv-btn-confirm,
.surv-btn-launch,
.surv-cta-row-multi,
.surv-pick-btns,
.surv-s1-archive-cta,
.sv-rate-btn,
.tab-btn,
.tal-respec-btn,
.tb2-btn,
.tb2-btn-kbd,
.tb2-destiny-btn,
.tb2-shop-btn,
.tc-btn,
.tc-btn-avail,
.tc-btn-done,
.tc-btn-locked,
.tc-btn-poor,
.tt-reco-cta,
.tut-btn,
.tut-btn-go,
.tut-btn-locate,
.tut-btn-skip,
.tut-complete-btn,
.tut-toggle-btn,
.tut2-btn,
.tut2-btn-ghost,
.tut2-btn-primary,
.ut-qty-btn,
.ut-rec-btn,
.ut-rec-btn-main,
.war-atk-btn,
.war-btn,
.war-roster-btn,
.wr-ann-cta,
.wr-banner-cta,
.wr-btn,
.wr-cta-mute
):is(button, a, input, summary, [role="button"])[aria-disabled="true"] {
  opacity: .5;
  cursor: not-allowed;
  transform: none;
}
