/* Scoped to index pages: never loaded by a match, editor, article or admin view. */
.section-polish { --section-accent: var(--accent-2); }
.section-polish.page-tournaments, .section-polish.page-user_decks, .section-polish.page-news { --section-accent: var(--accent); }
.section-polish.page-top8, .section-polish.page-leagues { --section-accent: var(--accent-3); }
.section-banner {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  align-items: center;
  min-height: 184px;
  padding: 24px 28px;
  margin-bottom: 22px;
  color: #fff7e9;
  background: #14221d;
}
.section-banner-decks { background: #25171a; }
.section-banner-trophy .section-banner-art { object-fit: contain; }
.section-banner-art {
  position: absolute;
  inset: 0 0 0 auto;
  z-index: -2;
  width: min(720px, 75%);
  height: 100%;
  object-fit: cover;
  object-position: right center;
  pointer-events: none;
}
.section-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(90deg, #14221d 22%, #14221de8 42%, #14221d24 76%, transparent);
}
.section-banner-decks::after { background: linear-gradient(90deg, #25171a 22%, #25171ae8 42%, #25171a24 76%, transparent); }
.page-tournaments .section-banner { background: #211d1b; }
.page-tournaments .section-banner::after { background: linear-gradient(90deg, #211d1b 22%, #211d1be8 42%, #211d1b24 76%, transparent); }
.page-tournaments .section-banner-art { filter: grayscale(.65) sepia(.28); }
.page-tournaments .section-banner .section-banner-meta { color: #ded3c8; }
.section-polish.page-tournaments .tournament-list-item { border-inline-start-color: var(--section-accent); }
.section-banner-copy { max-width: 65%; min-width: 0; }
.section-banner h1 { margin: 5px 0 7px; font-size: 34px; line-height: 1.15; letter-spacing: 0; overflow-wrap: anywhere; }
.section-banner .section-banner-kicker { margin: 0; font-size: 11px; text-transform: uppercase; letter-spacing: 0; color: #e7cd96; font-weight: 500; }
.section-banner .section-banner-meta { margin: 0; font-size: 14px; line-height: 1.5; color: #dbe3da; font-weight: 400; }
.section-banner-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.section-banner-actions .button { min-height: 40px; padding: 9px 14px; font-size: 13px; font-weight: 500; }
.section-banner-actions .button.ghost { color: #fff7e9; background: #14221dde; border-color: #92ab9a; }
.section-polish .breadcrumbs { font-size: 13px; }
.section-polish .breadcrumbs a { font-weight: 400; }
.section-polish .filters label { font-weight: 500; min-width: 0; }
.section-polish .filters :is(input:not([type="checkbox"]):not([type="radio"]), select) {
  border-radius: 6px;
  min-height: 40px;
  background: var(--panel);
  font-weight: 400;
  max-width: 100%;
}
.section-polish .filters .button { border-radius: 6px; min-height: 40px; font-weight: 500; }
.section-polish :is(.tournament-filters, .guide-filters-panel, .user-deck-controls, .matchup-filters, .metagame-controls) {
  padding: 16px 0;
  border: 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  margin-bottom: 20px;
}
.section-polish .metagame-control-label { font-weight: 500; }
.section-polish .metagame-format-tabs { padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.section-polish .metagame-format-tabs a {
  border-radius: 0;
  border-bottom: 2px solid transparent;
  color: var(--muted);
  font-weight: 500;
  background: transparent;
  box-shadow: none;
  min-height: 42px;
}
.section-polish .metagame-format-tabs a.active { border-bottom-color: var(--section-accent); color: var(--text); background: transparent; box-shadow: none; }
.section-polish .metagame-format-tabs a:hover { color: var(--text); background: var(--panel-soft); }
.section-polish :is(.tournament-list-item, .league-card, .guide-card, .top8-card, .news-list-card, .user-deck-card) {
  box-shadow: none;
  background: var(--panel);
  transition: border-color .15s ease, background-color .15s ease;
}
.section-polish :is(.tournament-list-item, .league-card, .guide-card, .top8-card, .news-list-card, .user-deck-card):is(:hover, :focus-within) {
  border-color: var(--section-accent);
  transform: none;
  box-shadow: none;
}
.section-polish :is(.tournament-list-item, .league-card, .top8-card) { border-inline-start: 3px solid var(--section-accent); padding: 18px 20px; }
.section-polish .item-title { gap: 10px; flex-wrap: wrap; }
.section-polish .item-title > a { color: var(--text); font-size: 18px; }
.section-polish .tournament-meta-line { font-size: 13px; gap: 12px; }
.section-polish .badge { font-weight: 500; }
.section-polish .tournament-card-grid { align-items: start; }
.section-polish .tournament-card-grid .list-item { min-height: 0; }
html.js .section-polish :is(.player-filter-stack, .date-filter-stack):not(.is-active) { display: none; }
.section-polish .guide-card-author, .section-polish .guide-card-excerpt { font-size: 14px; line-height: 1.5; }
.section-polish .guide-card h2 { line-height: 1.3; }
.section-polish .guide-cover-placeholder { background: #14221d url('/assets/home-guides-640.webp') right center / cover; font-size: 0; }
.section-polish .news-index { padding: 0; border: 0; background: transparent; box-shadow: none; }
.section-polish .news-list-card strong { font-size: 20px; line-height: 1.3; }
.section-polish .news-list-card small { line-height: 1.6; }
.section-polish .news-list-card .news-cover-placeholder { background: #14221d url('/assets/home-guides-640.webp') right center / cover; font-size: 0; }
.section-polish.page-leagues .shell > .grid > .panel { padding: 0; border: 0; box-shadow: none; background: transparent; }
.section-polish.page-leagues .shell > .grid > .panel > h2 { font-size: 22px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.section-polish .user-deck-create-card { border-style: dashed; border-color: var(--line); background: transparent; }
.section-polish :is(a, button, input, select):focus-visible { outline: 2px solid var(--section-accent); outline-offset: 3px; }
.section-polish .section-banner :is(a, button):focus-visible { outline-color: #f1d795; }
@media(max-width:760px) {
  .section-banner { min-height: 166px; padding: 20px; margin-bottom: 16px; }
  .section-banner-art { width: 100%; object-position: 72% center; }
  .section-banner-copy { max-width: 78%; }
  .section-banner h1 { font-size: 28px; }
  .section-banner::after { background: linear-gradient(90deg, #14221df7, #14221de0 46%, #14221d50); }
  .section-banner-decks::after { background: linear-gradient(90deg, #25171af7, #25171ae0 46%, #25171a50); }
  .page-tournaments .section-banner::after { background: linear-gradient(90deg, #211d1bf7, #211d1be0 46%, #211d1b50); }
  .section-polish .filters :is(input:not([type="checkbox"]):not([type="radio"]), select) { font-size: 16px; min-height: 44px; }
  .section-polish .filters .button, .section-banner-actions .button { min-height: 44px; white-space: normal; }
  .section-polish :is(.tournament-list-item, .league-card, .top8-card) { padding: 14px 16px; }
  .section-polish .tournament-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .section-polish .tournament-filters > :is(label:first-of-type, .button, .player-filter-stack, .date-filter-stack) { grid-column: 1 / -1; }
}
@media(max-width:400px) {
  .section-banner { padding: 18px 16px; }
  .section-banner-copy { max-width: 90%; }
  .section-banner h1 { font-size: 26px; }
  .section-polish .guide-grid { grid-template-columns: minmax(0, 1fr); }
}
@media(prefers-reduced-motion:reduce) {
  .section-polish :is(.tournament-list-item, .league-card, .guide-card, .top8-card, .news-list-card, .user-deck-card) { transition: none; }
}
