/* Palette MainTable : toutes les couleurs propres au thème sont centralisées ici. */
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/manrope-400.ttf") format("truetype"); }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/manrope-500.ttf") format("truetype"); }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/manrope-600.ttf") format("truetype"); }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/manrope-700.ttf") format("truetype"); }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 800; font-display: swap; src: url("../fonts/manrope-800.ttf") format("truetype"); }
/* Police chargée depuis l'interface courante : aucun CORS nécessaire sur storage. */
@font-face { font-family: "bootstrap-icons"; font-style: normal; font-weight: 400; font-display: block; src: url("../fonts/bootstrap-icons.woff2") format("woff2"); }
:root, [data-bs-theme="dark"] {
  color-scheme: dark;
  --mt-bg: #0D1424;
  --mt-bg-secondary: #131E32;
  --mt-surface: #19263D;
  --mt-surface-hover: #20304B;
  --mt-border: #293A55;
  --mt-primary: #22D3EE;
  --mt-primary-hover: #67E8F9;
  --mt-primary-active: #06B6D4;
  --mt-text: #F8FAFC;
  --mt-text-secondary: #A8B3C7;
  --mt-text-disabled: #64748B;
  --mt-success: #34D399;
  --mt-info: #38BDF8;
  --mt-warning: #FBBF24;
  --mt-danger: #FB7185;
  --mt-mana-white: #F2E8C8;
  --mt-mana-blue: #88BDE6;
  --mt-mana-black: #5A5267;
  --mt-mana-red: #E3917D;
  --mt-mana-green: #80AF90;
  --mt-mana-colorless: #BEC7D0;
  --mt-game-changer: #EA6A4F;
  --mt-game-changer-ember: #FF9D38;
  --mt-bracket-1: var(--mt-success);
  --mt-bracket-2: #A3D96B;
  --mt-bracket-3: var(--mt-warning);
  --mt-bracket-4: #FB923C;
  --mt-bracket-5: var(--mt-danger);
  --bs-primary: var(--mt-primary);
  --bs-primary-rgb: 34, 211, 238;
  --bs-secondary: var(--mt-text-disabled);
  --bs-secondary-rgb: 100, 116, 139;
  --bs-success: var(--mt-success);
  --bs-success-rgb: 52, 211, 153;
  --bs-info: var(--mt-info);
  --bs-info-rgb: 56, 189, 248;
  --bs-warning: var(--mt-warning);
  --bs-warning-rgb: 251, 191, 36;
  --bs-danger: var(--mt-danger);
  --bs-danger-rgb: 251, 113, 133;
  --bs-light: var(--mt-text);
  --bs-light-rgb: 248, 250, 252;
  --bs-dark: var(--mt-bg);
  --bs-dark-rgb: 13, 20, 36;
  --bs-body-bg: var(--mt-bg);
  --bs-body-bg-rgb: var(--bs-dark-rgb);
  --bs-body-color: var(--mt-text);
  --bs-body-color-rgb: var(--bs-light-rgb);
  --bs-emphasis-color: var(--mt-text);
  --bs-emphasis-color-rgb: var(--bs-light-rgb);
  --bs-secondary-color: var(--mt-text-secondary);
  --bs-secondary-bg: var(--mt-bg-secondary);
  --bs-tertiary-bg: var(--mt-surface);
  --bs-tertiary-color: var(--mt-text-disabled);
  --bs-border-color: var(--mt-border);
  --bs-border-color-translucent: var(--mt-border);
  --bs-link-color: var(--mt-primary);
  --bs-link-color-rgb: var(--bs-primary-rgb);
  --bs-link-hover-color: var(--mt-primary-hover);
  --bs-link-hover-color-rgb: 103, 232, 249;
  --bs-primary-text-emphasis: var(--mt-primary-hover);
  --bs-secondary-text-emphasis: var(--mt-text-secondary);
  --bs-success-text-emphasis: var(--mt-success);
  --bs-info-text-emphasis: var(--mt-info);
  --bs-warning-text-emphasis: var(--mt-warning);
  --bs-danger-text-emphasis: var(--mt-danger);
  --bs-light-text-emphasis: var(--mt-text);
  --bs-dark-text-emphasis: var(--mt-text-secondary);
  --bs-focus-ring-color: color-mix(in srgb, var(--mt-primary) 35%, transparent);
  --bs-font-sans-serif: "Manrope", system-ui, -apple-system, sans-serif;
}
body { background: var(--mt-bg); color: var(--mt-text); }
::selection { background: var(--mt-primary); color: var(--mt-bg); }
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--mt-primary);
  outline-offset: 4px;
}
.btn { --bs-btn-border-radius: .65rem; --bs-btn-font-weight: 600; --bs-btn-padding-x: 1.1rem; --bs-btn-padding-y: .7rem; }
.btn-primary {
  --bs-btn-color: var(--mt-bg);
  --bs-btn-bg: var(--mt-primary);
  --bs-btn-border-color: var(--mt-primary);
  --bs-btn-hover-color: var(--mt-bg);
  --bs-btn-hover-bg: var(--mt-primary-hover);
  --bs-btn-hover-border-color: var(--mt-primary-hover);
  --bs-btn-active-color: var(--mt-bg);
  --bs-btn-active-bg: var(--mt-primary-active);
  --bs-btn-active-border-color: var(--mt-primary-active);
  --bs-btn-disabled-color: var(--mt-text-secondary);
  --bs-btn-disabled-bg: var(--mt-surface);
  --bs-btn-disabled-border-color: var(--mt-border);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
}
.btn-secondary, .btn-outline-secondary, .btn-outline-light, .btn-dark {
  --bs-btn-color: var(--mt-text);
  --bs-btn-bg: var(--mt-surface);
  --bs-btn-border-color: var(--mt-border);
  --bs-btn-hover-color: var(--mt-text);
  --bs-btn-hover-bg: var(--mt-surface-hover);
  --bs-btn-hover-border-color: var(--mt-text-secondary);
  --bs-btn-active-color: var(--mt-text);
  --bs-btn-active-bg: var(--mt-surface-hover);
  --bs-btn-active-border-color: var(--mt-primary);
  --bs-btn-disabled-color: var(--mt-text-disabled);
  --bs-btn-disabled-bg: var(--mt-surface);
  --bs-btn-disabled-border-color: var(--mt-border);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
}
.btn-outline-primary {
  --bs-btn-color: var(--mt-primary);
  --bs-btn-border-color: var(--mt-primary);
  --bs-btn-hover-color: var(--mt-bg);
  --bs-btn-hover-bg: var(--mt-primary-hover);
  --bs-btn-hover-border-color: var(--mt-primary-hover);
  --bs-btn-active-color: var(--mt-bg);
  --bs-btn-active-bg: var(--mt-primary-active);
  --bs-btn-active-border-color: var(--mt-primary-active);
  --bs-btn-disabled-color: var(--mt-text-disabled);
  --bs-btn-disabled-border-color: var(--mt-border);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
}
.btn-success, .btn-info, .btn-warning, .btn-danger {
  --bs-btn-color: var(--mt-bg);
  --bs-btn-hover-color: var(--mt-bg);
  --bs-btn-active-color: var(--mt-bg);
  --bs-btn-bg: var(--mt-status);
  --bs-btn-border-color: var(--mt-status);
  --bs-btn-hover-bg: color-mix(in srgb, var(--mt-status) 80%, var(--mt-text));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in srgb, var(--mt-status) 85%, var(--mt-bg));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--mt-text-disabled);
  --bs-btn-disabled-bg: var(--mt-surface);
  --bs-btn-disabled-border-color: var(--mt-border);
}
.btn-success, .alert-success { --mt-status: var(--mt-success); }
.btn-info, .alert-info { --mt-status: var(--mt-info); }
.btn-warning, .alert-warning { --mt-status: var(--mt-warning); }
.btn-danger, .alert-danger { --mt-status: var(--mt-danger); }
.alert-primary { --mt-status: var(--mt-primary); }
.alert-secondary, .alert-light, .alert-dark { --mt-status: var(--mt-text-secondary); }
.alert {
  --bs-alert-color: var(--mt-text);
  --bs-alert-bg: var(--mt-surface);
  --bs-alert-border-color: var(--mt-status);
  --bs-alert-link-color: var(--mt-status);
}
.text-bg-primary, .text-bg-success, .text-bg-info, .text-bg-warning, .text-bg-danger { color: var(--mt-bg) !important; }
.text-bg-secondary { background: var(--mt-surface) !important; color: var(--mt-text-secondary) !important; }
.card { --bs-card-bg: var(--mt-surface); --bs-card-border-color: var(--mt-border); --bs-card-color: var(--mt-text); --bs-card-cap-bg: var(--mt-bg-secondary); }
.modal { --bs-modal-bg: var(--mt-surface); --bs-modal-color: var(--mt-text); --bs-modal-border-color: var(--mt-border); --bs-modal-header-border-color: var(--mt-border); --bs-modal-footer-border-color: var(--mt-border); }
.dropdown-menu { --bs-dropdown-bg: var(--mt-surface); --bs-dropdown-color: var(--mt-text); --bs-dropdown-link-color: var(--mt-text); --bs-dropdown-link-hover-bg: var(--mt-surface-hover); --bs-dropdown-link-hover-color: var(--mt-text); --bs-dropdown-link-active-bg: var(--mt-primary); --bs-dropdown-link-active-color: var(--mt-bg); --bs-dropdown-link-disabled-color: var(--mt-text-disabled); --bs-dropdown-border-color: var(--mt-border); --bs-dropdown-divider-bg: var(--mt-border); }
.navbar { --bs-navbar-color: var(--mt-text-secondary); --bs-navbar-hover-color: var(--mt-text); --bs-navbar-active-color: var(--mt-primary); --bs-navbar-disabled-color: var(--mt-text-disabled); --bs-navbar-toggler-border-color: var(--mt-border); }
.nav { --bs-nav-link-color: var(--mt-text-secondary); --bs-nav-link-hover-color: var(--mt-primary); --bs-nav-link-disabled-color: var(--mt-text-disabled); }
.nav-tabs { --bs-nav-tabs-border-color: var(--mt-border); --bs-nav-tabs-link-hover-border-color: var(--mt-border); --bs-nav-tabs-link-active-color: var(--mt-primary); --bs-nav-tabs-link-active-bg: var(--mt-surface); --bs-nav-tabs-link-active-border-color: var(--mt-border); }
.nav-pills { --bs-nav-pills-link-active-color: var(--mt-bg); --bs-nav-pills-link-active-bg: var(--mt-primary); }
.pagination { --bs-pagination-color: var(--mt-text); --bs-pagination-bg: var(--mt-surface); --bs-pagination-border-color: var(--mt-border); --bs-pagination-hover-color: var(--mt-primary); --bs-pagination-hover-bg: var(--mt-surface-hover); --bs-pagination-hover-border-color: var(--mt-border); --bs-pagination-focus-color: var(--mt-primary); --bs-pagination-focus-bg: var(--mt-surface-hover); --bs-pagination-focus-box-shadow: 0 0 0 .2rem var(--bs-focus-ring-color); --bs-pagination-active-color: var(--mt-bg); --bs-pagination-active-bg: var(--mt-primary); --bs-pagination-active-border-color: var(--mt-primary); --bs-pagination-disabled-color: var(--mt-text-disabled); --bs-pagination-disabled-bg: var(--mt-surface); --bs-pagination-disabled-border-color: var(--mt-border); }
.form-control, .form-select, .input-group-text { background-color: var(--mt-surface); color: var(--mt-text); border-color: var(--mt-border); }
.form-control:focus, .form-select:focus, .form-check-input:focus { background-color: var(--mt-surface); color: var(--mt-text); border-color: var(--mt-primary); box-shadow: 0 0 0 .2rem var(--bs-focus-ring-color); }
.form-control::placeholder { color: var(--mt-text-secondary); }
.form-control:disabled, .form-select:disabled, .form-check-input:disabled { background-color: var(--mt-bg-secondary); color: var(--mt-text-disabled); }
.form-check-input { background-color: var(--mt-surface); border-color: var(--mt-text-secondary); }
.form-check-input:checked { background-color: var(--mt-primary); border-color: var(--mt-primary); }
.form-control.is-valid, .form-select.is-valid, .was-validated .form-control:valid, .was-validated .form-select:valid { border-color: var(--mt-success); background-image: none; }
.form-control.is-invalid, .form-select.is-invalid, .was-validated .form-control:invalid, .was-validated .form-select:invalid { border-color: var(--mt-danger); background-image: none; }
.valid-feedback, .form-check-input.is-valid ~ .form-check-label { color: var(--mt-success); }
.invalid-feedback, .form-check-input.is-invalid ~ .form-check-label { color: var(--mt-danger); }
.form-check-input:checked[type=checkbox] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m4 8 3 3 5-6'/%3E%3C/svg%3E"); }
.table { --bs-table-bg: var(--mt-surface); --bs-table-color: var(--mt-text); --bs-table-border-color: var(--mt-border); --bs-table-striped-bg: var(--mt-bg-secondary); --bs-table-striped-color: var(--mt-text); --bs-table-hover-bg: var(--mt-surface-hover); --bs-table-hover-color: var(--mt-text); --bs-table-active-bg: var(--mt-surface-hover); --bs-table-active-color: var(--mt-text); }
.modal-body { color: var(--mt-text-secondary); line-height: 1.7; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
/* Habillage commun du front : rythme, typographie et surfaces partagés. */
:root, [data-bs-theme="dark"] {
  --mt-radius-control: .65rem;
  --mt-radius-surface: 1.25rem;
  --mt-space-section: clamp(3.5rem, 7vw, 6.5rem);
  --mt-line-soft: color-mix(in srgb, var(--mt-border) 70%, transparent);
  --mt-accent-soft: color-mix(in srgb, var(--mt-primary) 7%, transparent);
  --mt-shadow-art: 0 1.25rem 2.5rem color-mix(in srgb, var(--mt-bg) 72%, transparent);
}

:root { --mt-rarity-common: #F8FAFC; --mt-rarity-uncommon: #7DB8E8; --mt-rarity-rare: #D8B65C; --mt-rarity-mythic: #B94D0A; --mt-rarity-special: #843BA5; --mt-rarity-bonus: #347E79; }
