/* Topic 94 2026-08-28: federation palette from the logo, replacing IOC-like decorative color use. */
:root {
  --font-body: 'Manrope', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  --font-display: 'IBM Plex Sans Condensed', 'Manrope', Arial, sans-serif;
  --fed-display: var(--font-display);
  --mn-display: var(--font-display);
  --mn-font-display: var(--font-display);
  --mn-sans: var(--font-body);
  --faces-font: var(--font-body);
  --fmr-font-body: var(--font-body);
  --fmr-font-display: var(--font-display);
  --fmr-brand-ink: #050605;
  --fmr-brand-ink-2: #151512;
  --fmr-brand-accent: #B89A5E;
  --fmr-brand-accent-strong: #8F7138;
  --fmr-brand-platinum: #D8D6CF;
  --fmr-brand-platinum-soft: #ECE9E1;
  --fmr-brand-paper: #ffffff;
  --fmr-brand-soft: #F6F2E8;
  --fmr-brand-line: rgba(5, 6, 5, .16);
  --fmr-brand-muted: #5f6874;
  --fmr-service-success: #2f7d59;
  --fmr-service-error: #b42335;
  color-scheme: light;

  --primary: var(--fmr-brand-ink);
  --primary-dark: #000000;
  --primary-light: var(--fmr-brand-accent);
  --success: var(--fmr-service-success);
  --success-dark: #236142;
  --ioc-black: var(--fmr-brand-ink);
  --ioc-blue: var(--fmr-brand-ink);
  --ioc-yellow: var(--fmr-brand-accent);
  --ioc-green: var(--fmr-service-success);
  --ioc-red: var(--fmr-service-error);
  --topic94-page-blue: var(--fmr-brand-ink);
  --faces-accent: var(--fmr-brand-accent);
  --fed-blue: var(--fmr-brand-ink);
  --fed-red: var(--fmr-service-error);
  --fed-gold: var(--fmr-brand-accent);
  --fed-green: var(--fmr-service-success);
  --mn-blue: var(--fmr-brand-ink);
  --aux-blue: var(--fmr-brand-ink);
  --fmr-polish-blue: var(--fmr-brand-ink);
}

html {
  accent-color: var(--fmr-brand-ink);
}

html body {
  color: var(--fmr-brand-ink) !important;
  background: #fff !important;
  font-family: var(--font-body) !important;
}

html body ::selection {
  background: rgba(184, 154, 94, .34) !important;
  color: var(--fmr-brand-ink) !important;
}

html body a {
  color: inherit;
}

html body :is(input, textarea, select) {
  border-color: rgba(5, 6, 5, .18) !important;
  color: var(--fmr-brand-ink) !important;
  font-family: var(--font-body) !important;
}

html body :is(input, textarea, select):focus {
  border-color: var(--fmr-brand-accent) !important;
  box-shadow: 0 0 0 3px rgba(184, 154, 94, .16) !important;
  outline: none !important;
}

body::after {
  background: linear-gradient(90deg, var(--fmr-brand-ink) 0%, var(--fmr-brand-accent) 100%) !important;
  box-shadow: 0 0 14px rgba(5, 6, 5, .18) !important;
}

.chip--glass,
.compact-empty-state i,
.ioc-kicker,
.ioc-card-label,
.start-kicker,
.start-section__eyebrow,
.start-card a,
.start-book__author,
.admin-hub-link,
.document-icon.fa-file,
.text-primary {
  color: var(--fmr-brand-ink) !important;
}

.ioc-kicker::before,
.fed-hero::before,
.fed-section-board::before,
.fed-contact::before,
.start-hero__copy::after,
.start-section--track::before,
.start-final::after,
.stripe {
  background: linear-gradient(90deg, var(--fmr-brand-ink) 0 46%, var(--fmr-brand-accent) 46% 100%) !important;
}

.btn-primary,
.btn.btn-primary,
.ioc-button--dark,
.fed-button--dark,
.start-button--primary,
.page-btn.active,
.tab.active,
.tab-btn.active,
.filter-btn.active {
  background: var(--fmr-brand-ink) !important;
  border-color: var(--fmr-brand-ink) !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(5, 6, 5, .18) !important;
}

.btn-outline,
.ioc-button,
.fed-button,
.start-button--ghost,
.page-btn,
.filter-btn {
  border-color: var(--fmr-brand-line) !important;
  color: var(--fmr-brand-ink) !important;
}

.btn-outline:hover,
.ioc-button:hover,
.fed-button:hover,
.start-button:hover,
.page-btn:hover,
.filter-btn:hover {
  border-color: var(--fmr-brand-ink) !important;
  color: var(--fmr-brand-ink) !important;
  background: #F6F2E8 !important;
}

html body #headerContainer .header,
html body header.header {
  background: linear-gradient(135deg, #050605 0%, #151512 100%) !important;
  border-bottom-color: rgba(184, 154, 94, .28) !important;
}

html body #headerContainer .logo-mark,
html body .header .logo-mark {
  color: var(--fmr-brand-ink) !important;
}

html body #headerContainer .nav a.active,
html body #headerContainer .nav-link.active,
html body .header .nav a.active,
html body .header .nav-link.active {
  background: #fff !important;
  color: var(--fmr-brand-ink) !important;
  box-shadow: inset 0 -3px 0 var(--fmr-brand-accent) !important;
}

html body #headerContainer .nav a:hover,
html body #headerContainer .nav-link:hover,
html body .header .nav a:hover,
html body .header .nav-link:hover {
  background: rgba(255, 255, 255, .1) !important;
}

.main-content.ioc-site,
.start-page,
.federation-page.main-content.ioc-site {
  background:
    linear-gradient(180deg, #ffffff 0%, var(--fmr-brand-platinum-soft) 360px, #ffffff 100%) !important;
}

.ioc-hero,
.fed-hero,
.start-hero,
.sponsor-board,
.ioc-partners-section--sponsorship .ioc-partner-hero {
  border-color: var(--fmr-brand-line) !important;
  background:
    linear-gradient(90deg, rgba(5, 6, 5,.04) 1px, transparent 1px),
    linear-gradient(180deg, rgba(5, 6, 5,.032) 1px, transparent 1px),
    linear-gradient(135deg, #ffffff 0%, var(--fmr-brand-platinum-soft) 100%) !important;
  background-size: 84px 84px !important;
  color: var(--fmr-brand-ink) !important;
}

.home-card,
.home-panel,
.news-card,
.document-card,
.album-card,
.photo-card,
.profile-card,
.ioc-latest-news-card,
.ioc-tournament-tab,
.ioc-partner-card,
.sponsor-board__main-card,
.sponsor-board__value-card,
.sponsor-board__direction,
.sponsor-board__value-card li,
.faces-athlete-card,
.fmr-empty-state {
  background: linear-gradient(180deg, #ffffff 0%, #fbfaf6 100%) !important;
  border-color: rgba(5, 6, 5, .13) !important;
  box-shadow: 0 16px 38px rgba(5, 6, 5, .07) !important;
}

.ioc-news-stage__hero,
.ioc-tournament-feature,
.ioc-magazine-cover,
.faces-athlete-card__photo {
  background-color: #7f878c !important;
  border-color: rgba(216, 214, 207, .45) !important;
}

.ioc-editorial-bg span:nth-child(2),
.ioc-editorial-bg span:nth-child(3) {
  background: rgba(184, 154, 94, .22) !important;
}

.sponsor-board:after,
.sponsor-board__contact-chip:before,
.sponsor-board__value-tags .sponsor-board__contact-chip:before,
.sponsor-board__value-cta:after,
.ioc-partners-section--sponsorship .ioc-partner-hero::before,
.ioc-partners-section--sponsorship .ioc-partner-hero::after {
  background: rgba(184, 154, 94, .18) !important;
}

.sponsor-board__kicker,
.sponsor-board__label,
.sponsor-board__partner-strip span,
.sponsor-board__main-card .sponsor-board__label,
.sponsor-board__value-card .sponsor-board__label,
.ioc-partners-section--sponsorship .ioc-partner-hero span,
.ioc-partners-section--sponsorship .ioc-partner-value-card span {
  color: var(--fmr-brand-ink) !important;
}

.sponsor-board__main-side span:before,
.sponsor-board__value-tags span:before {
  background: var(--fmr-brand-ink) !important;
  box-shadow: 0 0 0 2px rgba(184, 154, 94, .34) !important;
}

.sponsor-board__partner-strip strong:nth-child(2):before,
.start-card__icon {
  background: var(--fmr-brand-accent) !important;
  color: var(--fmr-brand-ink) !important;
}

.sponsor-board__contact-chip,
.sponsor-board__value-tags .sponsor-board__contact-chip,
.sponsor-board__value-cta,
.ioc-partner-value-card,
.ioc-partners-section--sponsorship .ioc-partner-value-card,
.admin-hub-hero,
.start-section--track,
.start-final {
  background: linear-gradient(135deg, #050605 0%, #151512 68%, #27241d 100%) !important;
  color: #fff !important;
  box-shadow: 0 22px 54px rgba(5, 6, 5, .18) !important;
}

.sponsor-board__contact-chip em,
.sponsor-board__value-tags .sponsor-board__contact-chip em,
.sponsor-board__cta-row em,
.ioc-partner-hero__cta {
  background: #fff !important;
  color: var(--fmr-brand-ink) !important;
  box-shadow: inset 0 0 0 2px var(--fmr-brand-accent) !important;
}

.ioc-partners-section--sponsorship .ioc-partner-hero__cta {
  background: var(--fmr-brand-ink) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(5, 6, 5, .2) !important;
}

.ioc-partner-card--tech,
.ioc-partner-card--edu,
.ioc-partner-card--media,
.ioc-partner-card--product {
  border-top-color: var(--fmr-brand-accent) !important;
}

.ioc-partner-hero__benefits li,
.fmr-empty-state {
  background: var(--fmr-brand-platinum-soft) !important;
  color: var(--fmr-brand-ink) !important;
}

.start-hero h1 span:last-child,
.start-section--track .start-section__eyebrow,
.start-section--tools .start-card__icon,
.start-section--community .start-social:hover {
  color: #fff !important;
}

.start-section--track .start-card:nth-child(1),
.start-section--track .start-card:nth-child(6),
.start-section--community .start-community {
  background: var(--fmr-brand-ink) !important;
  border-color: rgba(184, 154, 94, .38) !important;
}

.start-week .start-card:nth-child(-n+3),
.start-week .start-card:nth-child(n+4) {
  border-top-color: var(--fmr-brand-accent) !important;
}

.start-book__cover,
.start-book__cover--blue,
.start-book__cover--red,
.start-book__cover--gold,
.start-book__cover--green,
.start-book__cover--dark {
  background: var(--fmr-brand-ink) !important;
  color: #fff !important;
}

.start-book__cover::after {
  border-color: rgba(184, 154, 94, .18) !important;
}

.fmr-toast,
div[style*="border-left: 4px solid #050605"] {
  border-left-color: var(--fmr-brand-accent) !important;
}

.fmr-toast--success,
.text-success {
  border-left-color: var(--fmr-service-success) !important;
  color: var(--fmr-service-success) !important;
}

.fmr-toast--error,
.admin-athletes-empty--error {
  border-left-color: var(--fmr-service-error) !important;
  color: var(--fmr-service-error) !important;
}

[style*="#050605"],
[style*="#050605"],
[style*="#050605"],
[style*="#050605"],
[style*="#050605"] {
  border-color: var(--fmr-brand-ink) !important;
  color: var(--fmr-brand-ink) !important;
}

button[style*="#050605"],
a[style*="#050605"],
div[style*="background: #050605"],
div[style*="background:#050605"] {
  background: var(--fmr-brand-ink) !important;
  color: #fff !important;
}

html body.messenger-page main.ioc-site > .ioc-social-section,
.ioc-social-section,
.start-section--community .start-community {
  background:
    linear-gradient(90deg, rgba(5, 6, 5,.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(5, 6, 5,.035) 1px, transparent 1px),
    #fff !important;
  border-color: var(--fmr-brand-line) !important;
  color: var(--fmr-brand-ink) !important;
}

.ioc-social-tile-grid a,
.ioc-social-tile,
.start-social,
.contacts-social-item,
.footer-socials a {
  background: #fff !important;
  border-color: var(--fmr-brand-line) !important;
  color: var(--fmr-brand-ink) !important;
  box-shadow: none !important;
}

.ioc-social-tile-grid a::before,
.ioc-social-tile::before,
.ioc-social-tile-grid a::after,
.ioc-social-tile::after {
  background: var(--fmr-brand-ink) !important;
  opacity: .06 !important;
}

.ioc-social-tile-grid a:hover,
.ioc-social-tile:hover,
.start-social:hover,
.contacts-social-item:hover,
.footer-socials a:hover {
  background: var(--fmr-brand-ink) !important;
  border-color: var(--fmr-brand-ink) !important;
  color: #fff !important;
}

.contacts-social-icon {
  background: var(--fmr-brand-platinum-soft) !important;
  color: var(--fmr-brand-ink) !important;
  box-shadow: inset 0 0 0 1px rgba(184, 154, 94, .34) !important;
}

.ioc-social-tile-grid a *,
.ioc-social-tile *,
.start-social *,
.contacts-social-item *,
.footer-socials a * {
  color: inherit !important;
}

.ioc-social-tile-grid a strong,
.ioc-social-tile strong,
.ioc-social-tile-grid a span,
.ioc-social-tile span,
.start-social {
  color: var(--fmr-brand-ink) !important;
}

.ioc-social-tile-grid a,
.ioc-social-tile {
  border-left: 4px solid var(--fmr-brand-accent) !important;
}

html body.messenger-page main.ioc-site .ioc-social-tile-grid a,
html body.messenger-page main.ioc-site .ioc-social-tile,
html body.messenger-page main.ioc-site > .ioc-social-section .ioc-social-tile-grid a,
html body.messenger-page main.ioc-site > .ioc-social-section .ioc-social-tile {
  border-left: 4px solid var(--fmr-brand-accent) !important;
}

.ioc-social-tile-grid a:hover *,
.ioc-social-tile:hover *,
.start-social:hover *,
.contacts-social-item:hover *,
.footer-socials a:hover * {
  color: #fff !important;
}

html,
body,
input,
textarea,
select,
option {
  font-family: var(--font-body) !important;
  letter-spacing: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
.logo-title,
.logo span,
.nav a,
.nav-link,
.dropdown-item,
.btn,
button,
.chip--glass,
.ioc-kicker,
.ioc-card-label,
.start-kicker,
.start-section__eyebrow,
.start-card__number,
.start-card h3,
.start-book__cover i,
.start-book__cover b,
.start-final h2,
.sponsor-board__kicker,
.sponsor-board__label,
.sponsor-board__partner-strip span,
.sponsor-board__main-card .sponsor-board__label,
.sponsor-board__value-card .sponsor-board__label,
.sponsor-board__main-side span,
.sponsor-board__value-tags span,
.ioc-partners-section--sponsorship .ioc-partner-hero span,
.ioc-partners-section--sponsorship .ioc-partner-value-card span,
.mn-news-hero__panel strong,
.mn-news-control__title strong,
.mn-news-board__head h2,
.mn-news-item__title,
.mn-news-empty strong,
.modal-header h2,
.news-details-header h1,
.fed-system-card h3,
.fed-map-copy h2,
.fed-map-fallback strong,
.fed-person__body h3,
.fed-social-tile strong,
.document-card h3,
.discipline-title,
.public-card-title,
.official-card-ui__title,
.official-form-card__header h3,
.widget-title,
.sample-title {
  font-family: var(--font-display) !important;
  letter-spacing: 0;
}

@media (min-width: 769px) {
  html body.mn-tournaments-page #headerContainer .header-container,
  html body.mn-tournaments-page .header .header-container {
    grid-template-columns: minmax(270px, 300px) minmax(0, 1fr) 132px !important;
    gap: 22px !important;
  }

  html body.mn-tournaments-page #headerContainer .header-brand-wrap,
  html body.mn-tournaments-page .header .header-brand-wrap,
  html body.mn-tournaments-page #headerContainer .logo,
  html body.mn-tournaments-page .header .logo {
    width: min(300px, 100%) !important;
    min-width: 0 !important;
    max-width: 300px !important;
  }

  html body.mn-tournaments-page #headerContainer .logo-copy,
  html body.mn-tournaments-page .header .logo-copy {
    min-width: 0 !important;
    width: auto !important;
    max-width: 210px !important;
  }

  html body.mn-tournaments-page #headerContainer .header-center-stack,
  html body.mn-tournaments-page .header .header-center-stack {
    min-width: 0 !important;
    overflow: visible !important;
  }

  html body.mn-tournaments-page #headerContainer .header-nav-shell,
  html body.mn-tournaments-page .header .header-nav-shell,
  html body.mn-tournaments-page #headerContainer .nav,
  html body.mn-tournaments-page .header .nav {
    max-width: 100% !important;
    min-width: 0 !important;
    justify-content: flex-start !important;
    gap: 3px !important;
    padding: 5px !important;
  }

  html body.mn-tournaments-page #headerContainer .nav-link,
  html body.mn-tournaments-page .header .nav-link {
    min-width: 0 !important;
    padding: 10px 5px !important;
    font-size: 12.5px !important;
    line-height: 19px !important;
    letter-spacing: 0 !important;
  }

  html body.mn-tournaments-page #headerContainer .header-auth,
  html body.mn-tournaments-page .header .header-auth {
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
    justify-self: end !important;
    overflow: visible !important;
  }

  html body.mn-tournaments-page #headerContainer .user-menu,
  html body.mn-tournaments-page .header .user-menu,
  html body.mn-tournaments-page #headerContainer .auth-buttons,
  html body.mn-tournaments-page .header .auth-buttons {
    justify-content: flex-end !important;
    width: 132px !important;
  }

  html body.mn-tournaments-page #headerContainer .user-dropdown-toggle,
  html body.mn-tournaments-page .header .user-dropdown-toggle {
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
    justify-content: center !important;
    padding: 10px 12px !important;
  }
}

@media (min-width: 769px) {
  html body.messenger-page #headerContainer,
  html body.messenger-page #headerContainer .header {
    height: 79px !important;
    min-height: 79px !important;
    max-height: 79px !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  html body.messenger-page #headerContainer .header-container,
  html body.messenger-page #headerContainer .header .header-container,
  html body.mn-tournaments-page.messenger-page #headerContainer .header-container,
  html body.mn-tournaments-page.messenger-page #headerContainer .header .header-container {
    width: 100% !important;
    max-width: 1360px !important;
    height: 78px !important;
    min-height: 78px !important;
    margin: 0 auto !important;
    padding: 0 36px !important;
    display: grid !important;
    grid-template-columns: 305px minmax(0, 1fr) 132px !important;
    gap: 14px !important;
    align-items: center !important;
    overflow: visible !important;
  }

  html body.messenger-page #headerContainer .header-brand-wrap,
  html body.messenger-page #headerContainer .header .header-brand-wrap,
  html body.messenger-page #headerContainer .logo,
  html body.messenger-page #headerContainer .header .logo,
  html body.mn-tournaments-page.messenger-page #headerContainer .header-brand-wrap,
  html body.mn-tournaments-page.messenger-page #headerContainer .header .header-brand-wrap,
  html body.mn-tournaments-page.messenger-page #headerContainer .logo,
  html body.mn-tournaments-page.messenger-page #headerContainer .header .logo {
    width: 305px !important;
    min-width: 0 !important;
    max-width: 305px !important;
  }

  html body.messenger-page #headerContainer .logo,
  html body.messenger-page #headerContainer .header .logo,
  html body.mn-tournaments-page.messenger-page #headerContainer .logo,
  html body.mn-tournaments-page.messenger-page #headerContainer .header .logo {
    height: 72px !important;
    gap: 14px !important;
    align-items: center !important;
    line-height: 36px !important;
  }

  html body.messenger-page #headerContainer a.logo .logo-mark,
  html body.messenger-page #headerContainer .header a.logo .logo-mark,
  html body.mn-tournaments-page.messenger-page #headerContainer a.logo .logo-mark,
  html body.mn-tournaments-page.messenger-page #headerContainer .header a.logo .logo-mark {
    width: 72px !important;
    height: 72px !important;
    padding: 4px !important;
    overflow: hidden !important;
  }

  html body.messenger-page #headerContainer a.logo .logo-mark > img.logo-mark-img,
  html body.messenger-page #headerContainer .header a.logo .logo-mark > img.logo-mark-img,
  html body.mn-tournaments-page.messenger-page #headerContainer a.logo .logo-mark > img.logo-mark-img,
  html body.mn-tournaments-page.messenger-page #headerContainer .header a.logo .logo-mark > img.logo-mark-img {
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    object-fit: contain !important;
  }

  html body.messenger-page #headerContainer .logo-copy,
  html body.messenger-page #headerContainer .header .logo-copy,
  html body.mn-tournaments-page.messenger-page #headerContainer .logo-copy,
  html body.mn-tournaments-page.messenger-page #headerContainer .header .logo-copy {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    width: 219px !important;
    max-width: 219px !important;
    height: 39px !important;
    max-height: 39px !important;
    overflow: visible !important;
  }

  html body.messenger-page #headerContainer .logo-title,
  html body.messenger-page #headerContainer .header .logo-title,
  html body.mn-tournaments-page.messenger-page #headerContainer .logo-title,
  html body.mn-tournaments-page.messenger-page #headerContainer .header .logo-title {
    height: 17px !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 17px !important;
    white-space: nowrap !important;
  }

  html body.messenger-page #headerContainer .logo-subtitle,
  html body.messenger-page #headerContainer .header .logo-subtitle,
  html body.mn-tournaments-page.messenger-page #headerContainer .logo-subtitle,
  html body.mn-tournaments-page.messenger-page #headerContainer .header .logo-subtitle {
    height: 18px !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 18px !important;
    white-space: nowrap !important;
  }

  html body.messenger-page #headerContainer .header-center-stack,
  html body.messenger-page #headerContainer .header .header-center-stack,
  html body.mn-tournaments-page.messenger-page #headerContainer .header-center-stack,
  html body.mn-tournaments-page.messenger-page #headerContainer .header .header-center-stack {
    min-width: 0 !important;
    height: 48px !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    overflow: visible !important;
  }

  html body.messenger-page #headerContainer .header-nav-shell,
  html body.messenger-page #headerContainer .header .header-nav-shell,
  html body.messenger-page #headerContainer .nav,
  html body.messenger-page #headerContainer .header .nav,
  html body.mn-tournaments-page.messenger-page #headerContainer .header-nav-shell,
  html body.mn-tournaments-page.messenger-page #headerContainer .header .header-nav-shell,
  html body.mn-tournaments-page.messenger-page #headerContainer .nav,
  html body.mn-tournaments-page.messenger-page #headerContainer .header .nav {
    width: max-content !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 43px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 3px !important;
    padding: 5px !important;
    overflow: visible !important;
  }

  html body.messenger-page #headerContainer .nav-link,
  html body.messenger-page #headerContainer .header .nav-link,
  html body.mn-tournaments-page.messenger-page #headerContainer .nav-link,
  html body.mn-tournaments-page.messenger-page #headerContainer .header .nav-link {
    min-width: 0 !important;
    padding: 10px 5px !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
    line-height: 19px !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  html body.messenger-page #headerContainer .nav-link.active,
  html body.messenger-page #headerContainer .header .nav-link.active,
  html body.mn-tournaments-page.messenger-page #headerContainer .nav-link.active,
  html body.mn-tournaments-page.messenger-page #headerContainer .header .nav-link.active {
    font-weight: 900 !important;
  }

  html body.messenger-page #headerContainer .header-auth,
  html body.messenger-page #headerContainer .header .header-auth,
  html body.mn-tournaments-page.messenger-page #headerContainer .header-auth,
  html body.mn-tournaments-page.messenger-page #headerContainer .header .header-auth {
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
    height: 48px !important;
    justify-self: end !important;
    align-self: center !important;
    justify-content: flex-end !important;
    overflow: visible !important;
    transform: translateX(28px) !important;
  }

  html body.messenger-page #headerContainer .user-menu,
  html body.messenger-page #headerContainer .header .user-menu,
  html body.messenger-page #headerContainer .auth-buttons,
  html body.messenger-page #headerContainer .header .auth-buttons,
  html body.mn-tournaments-page.messenger-page #headerContainer .user-menu,
  html body.mn-tournaments-page.messenger-page #headerContainer .header .user-menu,
  html body.mn-tournaments-page.messenger-page #headerContainer .auth-buttons,
  html body.mn-tournaments-page.messenger-page #headerContainer .header .auth-buttons {
    width: 132px !important;
    justify-content: flex-end !important;
  }

  html body.messenger-page #headerContainer .user-dropdown-toggle,
  html body.messenger-page #headerContainer .header .user-dropdown-toggle,
  html body.mn-tournaments-page.messenger-page #headerContainer .user-dropdown-toggle,
  html body.mn-tournaments-page.messenger-page #headerContainer .header .user-dropdown-toggle {
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
    height: 44px !important;
    justify-content: center !important;
    padding: 10px 12px !important;
  }
}

/* Topic 94 2026-08-28: text contrast and whole-word guard. */
html body :is(
  main h1,
  main h2,
  main h3,
  main h4,
  main h5,
  main h6,
  main p,
  main li,
  main a,
  main button,
  main label,
  main small,
  .nav-link,
  .dropdown-item,
  .btn,
  .primary-btn,
  .submit-btn,
  .fed-button,
  .ioc-button,
  .start-button,
  .filter-btn,
  .page-btn,
  .tab-btn,
  .photobank-tab,
  .discipline-tab,
  .contacts-topic-btn,
  .document-title,
  .document-name,
  .document-filename,
  .document-file-name,
  .document-group-info,
  .policy-container,
  .policy-container *,
  .fmr-clean-card,
  .fmr-clean-card *,
  .fmr-legal,
  .fmr-legal *
) {
  hyphens: none !important;
  -webkit-hyphens: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

html body :is(
  .btn-primary,
  .primary-btn,
  .submit-btn,
  .fed-button--dark,
  .ioc-button--dark,
  .start-button--primary,
  .filter-btn.active,
  .filter-btn[aria-pressed="true"],
  .page-btn.active,
  .tab-btn.active,
  .tab-btn[aria-selected="true"],
  .photobank-tab.active,
  .photobank-tab[aria-selected="true"],
  .discipline-tab.active,
  .discipline-tab[aria-selected="true"],
  .contacts-topic-btn.active,
  .contacts-topic-btn[aria-pressed="true"]
) {
  background: var(--fmr-brand-ink) !important;
  border-color: var(--fmr-brand-ink) !important;
  color: #fff !important;
}

html body :is(
  .btn-primary,
  .primary-btn,
  .submit-btn,
  .fed-button--dark,
  .ioc-button--dark,
  .start-button--primary,
  .filter-btn.active,
  .filter-btn[aria-pressed="true"],
  .page-btn.active,
  .tab-btn.active,
  .tab-btn[aria-selected="true"],
  .photobank-tab.active,
  .photobank-tab[aria-selected="true"],
  .discipline-tab.active,
  .discipline-tab[aria-selected="true"],
  .contacts-topic-btn.active,
  .contacts-topic-btn[aria-pressed="true"]
) * {
  color: inherit !important;
}

html body :is(
  .btn-primary,
  .primary-btn,
  .submit-btn,
  .fed-button--dark,
  .ioc-button--dark,
  .start-button--primary
):is(:hover, :focus-visible) {
  background: #171a1c !important;
  border-color: #171a1c !important;
  color: #fff !important;
}

html body :is(
  .discipline-switcher,
  .contacts-topic-buttons,
  .photobank-tabs,
  .tab-list,
  .filter-list
) {
  overflow-x: auto !important;
  scrollbar-width: thin;
}

html body :is(
  .discipline-tab,
  .contacts-topic-btn,
  .photobank-tab,
  .filter-btn,
  .tab-btn,
  .page-btn
) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  max-width: 100% !important;
  text-align: center !important;
  text-wrap: balance;
  white-space: normal !important;
}

@media (min-width: 641px) {
  html body :is(
    .discipline-tab,
    .contacts-topic-btn,
    .photobank-tab,
    .filter-btn,
    .tab-btn,
    .page-btn
  ) {
    white-space: nowrap !important;
  }
}

html body :is(
  .document-name,
  .document-filename,
  .document-file-name,
  .document-group-info.document-file-name,
  .document-card [class*="file-name"],
  .document-card [class*="filename"]
) {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body .photobank-visual__label {
  background: rgba(5, 8, 15, .9) !important;
  color: #fff !important;
}

html body main.ioc-site .ioc-latest-stage .ioc-latest-stage__ghost {
  color: #515c68 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

html body main.ioc-site section.ioc-latest-stage span.ioc-latest-stage__ghost,
html body.messenger-page main.ioc-site section.ioc-latest-stage span.ioc-latest-stage__ghost {
  color: #515c68 !important;
}

html body main.ioc-site > .faces-feature #homeAthleteSpotlight,
html body main.ioc-site > .faces-feature #homeAthleteSpotlight * {
  color: #fff !important;
}

html body main.ioc-site > .faces-feature #homeAthleteSpotlight :is(a, button, .faces-athlete-card__link) {
  color: #fff !important;
}

html body .disciplines-page :is(.discipline-label, .discipline-tab),
html body .disciplines-page :is(.discipline-label, .discipline-tab) * {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
}

html body .discipline-switcher {
  flex-wrap: nowrap !important;
  padding-bottom: 4px !important;
}

html body .discipline-tab {
  min-width: max-content !important;
}

html body .photobank-hero-metrics {
  overflow-x: auto !important;
  scrollbar-width: thin;
}

html body .photobank-hero-metrics button,
html body .photobank-hero-metrics button * {
  min-width: max-content !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
  white-space: nowrap !important;
}

html body:not(.admin-view) #photoBulkActions,
html body:not(.admin-view) .photo-bulk-actions,
html body:not(.admin-view) .photo-checkbox {
  display: none !important;
}

html body.admin-view #photoBulkActions.photo-bulk-actions {
  display: flex !important;
}

html body .photobank-header ~ .container .search-section {
  align-items: center !important;
}

html body .photobank-header ~ .container .search-box {
  min-width: min(100%, 280px) !important;
  position: relative !important;
}

html body .photobank-header ~ .container .search-box i {
  left: 20px !important;
  right: auto !important;
  z-index: 2 !important;
  width: 18px !important;
  pointer-events: none !important;
}

html body .photobank-header ~ .container .search-box input {
  min-width: 0 !important;
  padding-left: 56px !important;
  padding-right: 18px !important;
}

/* Topic 94 2026-08-28: small icon/counter rhythm. */
html body :is(
  .mn-news-item__meta,
  .mn-news-item__meta span,
  .mn-news-item__source,
  .mn-news-item__media-badge,
  .mn-news-item__badge,
  .details-breadcrumb,
  .details-breadcrumb span,
  .details-category-badge,
  .details-meta-info,
  .details-meta-item,
  .details-file-chip,
  .details-reactions,
  .reaction-btn,
  .photo-author,
  .photo-stats,
  .photo-stats span,
  .federation-badge,
  .ioc-latest-news-date,
  .ioc-latest-news-tag,
  .ioc-latest-news-category,
  .ioc-news-tag
) {
  align-items: center !important;
}

html body :is(
  .mn-news-item__meta span,
  .mn-news-item__source,
  .mn-news-item__media-badge,
  .mn-news-item__badge,
  .details-breadcrumb span,
  .details-category-badge,
  .details-meta-item,
  .details-file-chip,
  .reaction-btn,
  .photo-author,
  .photo-stats span,
  .federation-badge,
  .ioc-latest-news-date,
  .ioc-latest-news-tag,
  .ioc-latest-news-category,
  .ioc-news-tag
) {
  display: inline-flex !important;
  gap: 7px !important;
  vertical-align: middle !important;
  line-height: 1.15 !important;
}

html body :is(
  .mn-news-item__meta i,
  .mn-news-item__source i,
  .mn-news-item__media-badge i,
  .mn-news-item__badge i,
  .details-breadcrumb i,
  .details-category-badge i,
  .details-meta-item i,
  .details-file-chip i,
  .reaction-btn i,
  .photo-author i,
  .photo-stats i,
  .federation-badge i,
  .ioc-latest-news-date i,
  .ioc-latest-news-tag i,
  .ioc-latest-news-category i,
  .ioc-news-tag i
) {
  flex: 0 0 1.1em !important;
  width: 1.1em !important;
  min-width: 1.1em !important;
  height: 1.1em !important;
  display: inline-grid !important;
  place-items: center !important;
  margin: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
}

html body .details-reactions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

html body .reaction-btn {
  min-width: 48px !important;
  min-height: 38px !important;
  padding: 8px 12px !important;
  justify-content: center !important;
  border-radius: 999px !important;
}

html body .reaction-btn .reaction-count {
  min-width: 1.2em !important;
  display: inline-flex !important;
  justify-content: center !important;
  font-variant-numeric: tabular-nums !important;
  line-height: 1 !important;
}

html body .photo-stats {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

/* Topic 94 2026-08-28: old rounded-form cleanup. */
html body :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]):not([type="file"]),
  select,
  textarea,
  .form-control,
  .fmr-input,
  .search-input,
  .group-search-input,
  .mn-news-search input,
  .search-box input,
  .documents-search input,
  .photobank-search input,
  .contacts-field input,
  .contacts-field textarea,
  .official-form input,
  .official-form select,
  .official-form textarea,
  .official-form-group input,
  .official-form-group select,
  .official-form-group textarea
) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 48px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(5, 8, 15, .22) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--fmr-brand-ink) !important;
  box-shadow: none !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  outline: none !important;
}

html body :is(
  textarea,
  .official-form textarea,
  .official-form-group textarea,
  .contacts-field textarea
) {
  min-height: 132px !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  resize: vertical;
}

html body :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]):not([type="file"]),
  select,
  textarea,
  .form-control,
  .fmr-input,
  .search-input,
  .group-search-input
):is(:focus, :focus-visible) {
  border-color: var(--fmr-brand-ink) !important;
  box-shadow: 0 0 0 3px rgba(5, 8, 15, .10) !important;
}

html body :is(
  .form-group,
  .official-form-group,
  .contacts-field,
  .search-box,
  .mn-news-search,
  .documents-search,
  .photobank-search,
  .group-search
) {
  min-width: 0 !important;
}

html body :is(
  .search-box,
  .documents-search,
  .photobank-search,
  .group-search
) input {
  padding-left: 46px !important;
}

html body :is(
  .search-box,
  .documents-search,
  .photobank-search,
  .group-search
) > i {
  left: 16px !important;
  right: auto !important;
  z-index: 2 !important;
  width: 16px !important;
  height: 16px !important;
  display: inline-grid !important;
  place-items: center !important;
  pointer-events: none !important;
}

html body :is(
  input[type="submit"],
  input[type="button"],
  input[type="reset"],
  form .btn,
  form button,
  .modal form .btn,
  .modal form button
) {
  border-radius: 8px !important;
}

/* Topic 94 2026-08-28: public profile owner block cleanup. */
html body.public-profile-v2-page .public-owner-section {
  align-items: start !important;
  gap: 20px !important;
}

html body.public-profile-v2-page .public-owner-note,
html body.public-profile-v2-page .public-owner-section .pp2-card-side {
  border-radius: 0 !important;
  border: 1px solid rgba(5, 8, 15, .14) !important;
  background: #fff !important;
  box-shadow: none !important;
}

html body.public-profile-v2-page .public-owner-note {
  display: grid !important;
  gap: 14px !important;
  align-content: start !important;
}

html body.public-profile-v2-page .public-owner-note h3 {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  line-height: 1.12 !important;
}

html body.public-profile-v2-page .public-owner-form {
  display: grid !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.public-profile-v2-page .public-owner-form-group {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.public-profile-v2-page .public-owner-form-group label {
  display: block !important;
  margin: 0 !important;
  color: var(--fmr-brand-ink) !important;
  font-family: var(--font-display) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
}

html body.public-profile-v2-page #badgeRequestComment {
  display: block !important;
  width: 100% !important;
  min-height: 108px !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(5, 8, 15, .24) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--fmr-brand-ink) !important;
  box-shadow: none !important;
  resize: vertical !important;
}

html body.public-profile-v2-page .public-owner-form-help,
html body.public-profile-v2-page .public-owner-note p {
  margin: 0 !important;
}

html body.public-profile-v2-page .public-owner-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}

html body.public-profile-v2-page .public-owner-actions .btn,
html body.public-profile-v2-page .public-owner-actions a.btn,
html body.public-profile-v2-page .public-owner-actions button.btn {
  min-height: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  padding: 0 !important;
  border-radius: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  line-height: 1.12 !important;
  white-space: normal !important;
  color: var(--fmr-brand-ink) !important;
  text-align: left !important;
}

html body.public-profile-v2-page .public-owner-actions .btn-primary {
  color: var(--fmr-brand-ink) !important;
}

html body.public-profile-v2-page .public-owner-actions .btn-outline {
  color: var(--fmr-brand-ink) !important;
}

html body.public-profile-v2-page .public-owner-actions .btn i {
  flex: 0 0 1.1em !important;
  width: 1.1em !important;
  display: inline-grid !important;
  place-items: center !important;
}

html body.public-profile-v2-page .public-owner-actions .btn:is(:hover, :focus-visible) {
  color: var(--fmr-brand-blue) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

@media (max-width: 640px) {
  html body.public-profile-v2-page .public-owner-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  html body.public-profile-v2-page .public-owner-actions .btn,
  html body.public-profile-v2-page .public-owner-actions a.btn,
  html body.public-profile-v2-page .public-owner-actions button.btn {
    width: 100% !important;
  }
}

@media (max-width: 640px) {
  html body .photobank-header ~ .container .search-section {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 14px !important;
  }

  html body .photobank-header ~ .container .search-box {
    width: 100% !important;
    min-width: 0 !important;
  }

  html body .photobank-header ~ .container .search-box input {
    width: 100% !important;
    min-height: 48px !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 640px) {
  html body .cabinet-auth-mini__actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  html body .cabinet-auth-mini__actions .btn,
  html body .cabinet-auth-mini__actions a.btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  html body .cabinet-auth-mini .user-email {
    display: none !important;
  }
}

html body .start-hero {
  align-items: stretch !important;
}

html body .start-hero__copy {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

html body .start-hero h1 {
  max-width: 100% !important;
  font-size: clamp(40px, 4.25vw, 61px) !important;
  line-height: .96 !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

html body .start-hero h1 span {
  white-space: normal !important;
}

html body .start-hero__media,
html body .start-hero__media video {
  color: #fff !important;
}

@media (max-width: 1080px) {
  html body .start-hero {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }

  html body .start-hero__media {
    min-height: clamp(360px, 52vw, 560px) !important;
    border-left: 0 !important;
    border-top: 1px solid var(--fmr-brand-ink) !important;
  }
}

@media (max-width: 640px) {
  html body #headerContainer .logo-subtitle,
  html body #headerContainer .header .logo-subtitle {
    display: none !important;
  }

  html body #headerContainer .logo-copy,
  html body #headerContainer .header .logo-copy {
    height: auto !important;
    max-height: none !important;
    justify-content: center !important;
  }

  html body .start-hero__copy {
    padding: 30px 18px 38px !important;
  }

  html body .start-hero h1 {
    max-width: 100% !important;
    font-size: clamp(28px, 8vw, 36px) !important;
    line-height: 1.08 !important;
  }

  html body .start-hero__media {
    min-height: 360px !important;
  }
}

/* Topic 94 2026-08-28: remove old rounded-rectangle geometry site-wide. */
html body :is(
  .btn,
  button,
  input,
  select,
  textarea,
  .form-control,
  .filter-btn,
  .tab-btn,
  .page-btn,
  .reaction-btn,
  .admin-btn,
  .auth-buttons button,
  .user-menu,
  .dropdown-menu,
  .modal-content,
  .notification,
  .skeleton,
  .cookie-banner,
  .cookie-actions button,
  .news-card,
  .news-item,
  .document-card,
  .photo-card,
  .album-card,
  .event-card,
  .tournament-card,
  .discipline-card,
  .start-card,
  .start-tool,
  .official-card,
  .pp2-card-main,
  .pp2-section-card,
  .pp2-analytics-card,
  .pp2-rating-tab,
  .pp2-data-item,
  .pp2-card-side,
  .public-owner-note,
  .profile-card,
  .admin-hub-card,
  .admin-hub-hero,
  .admin-hub-action,
  .admin-status,
  .admin-access-warning,
  .cabinet-card,
  .cabinet-panel,
  .cabinet-section,
  .documents-filter,
  .document-editor,
  .search-section,
  .search-box,
  .search-input,
  .search-filter,
  .photobank-card,
  .photobank-panel,
  .photobank-hero-metrics,
  .photobank-album-card,
  .photobank-photo-card,
  .footer a,
  .footer .social-link
) {
  border-radius: 0 !important;
}

html body :is(
  .btn,
  button,
  .filter-btn,
  .tab-btn,
  .page-btn,
  .reaction-btn,
  .admin-btn,
  .admin-hub-action,
  .cookie-actions button,
  .public-owner-actions .btn
) {
  border: 1px solid rgba(5, 8, 15, .22) !important;
  background: #fff !important;
  color: var(--fmr-brand-ink) !important;
  box-shadow: none !important;
}

html body :is(
  .btn-primary,
  .primary-btn,
  .submit-btn,
  .fed-button--dark,
  .ioc-button--dark,
  .start-button--primary,
  .filter-btn.active,
  .filter-btn[aria-pressed="true"],
  .tab-btn.active,
  .tab-btn[aria-selected="true"],
  .page-btn.active,
  .admin-hub-action,
  .public-owner-actions .btn-primary
) {
  border-color: var(--fmr-brand-ink) !important;
  background: var(--fmr-brand-ink) !important;
  color: #fff !important;
}

html body :is(
  .btn:hover,
  button:hover,
  .filter-btn:hover,
  .tab-btn:hover,
  .page-btn:hover,
  .reaction-btn:hover,
  .admin-btn:hover,
  .cookie-actions button:hover,
  .public-owner-actions .btn:hover
) {
  border-color: var(--fmr-brand-blue) !important;
  color: var(--fmr-brand-blue) !important;
  box-shadow: none !important;
  transform: none !important;
}

html body :is(
  .btn-primary:hover,
  .primary-btn:hover,
  .submit-btn:hover,
  .fed-button--dark:hover,
  .ioc-button--dark:hover,
  .start-button--primary:hover,
  .filter-btn.active:hover,
  .filter-btn[aria-pressed="true"]:hover,
  .tab-btn.active:hover,
  .tab-btn[aria-selected="true"]:hover,
  .page-btn.active:hover,
  .admin-hub-action:hover,
  .public-owner-actions .btn-primary:hover
) {
  border-color: var(--fmr-brand-blue) !important;
  background: var(--fmr-brand-blue) !important;
  color: #fff !important;
}

html body :is(
  input,
  select,
  textarea,
  .form-control,
  .search-input,
  .search-filter
) {
  border: 1px solid rgba(5, 8, 15, .24) !important;
  background: #fff !important;
  color: var(--fmr-brand-ink) !important;
  box-shadow: none !important;
}

html body :is(
  .btn,
  button,
  input,
  select,
  textarea,
  .form-control,
  .filter-btn,
  .tab-btn,
  .page-btn,
  .reaction-btn,
  .admin-btn
):focus-visible {
  outline: 2px solid var(--fmr-brand-blue) !important;
  outline-offset: 2px !important;
}

html body.public-profile-v2-page .public-owner-actions .btn,
html body.public-profile-v2-page .public-owner-actions a.btn,
html body.public-profile-v2-page .public-owner-actions button.btn {
  min-height: 38px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(5, 8, 15, .22) !important;
  background: #fff !important;
  text-decoration: none !important;
}

html body input,
html body select,
html body textarea,
html body .form-control,
html body .search-input,
html body .search-filter,
html body #searchDocs,
html body #searchAlbums,
html body #contactName,
html body #contactEmail,
html body #contactSubject,
html body .contacts-topic-btn,
html body .document-category,
html body .fmr-kicker,
html body .ioc-news-card em,
html body .ioc-news-progress,
html body .ioc-latest-news-badge,
html body .mn-news-board,
html body .photobank-tabs,
html body .disciplines-hero,
html body .discipline-switcher,
html body .discipline-main,
html body .discipline-label,
html body .discipline-side,
html body .discipline-reglament-card,
html body .contacts-hero,
html body .profile-container,
html body .cabinet-sidebar,
html body .pp2-card-shell,
html body footer a,
html body footer .social-link {
  border-radius: 0 !important;
}

html body .contacts-topic-btn,
html body .document-category,
html body .fmr-kicker,
html body .ioc-news-card em,
html body .ioc-latest-news-badge {
  border: 1px solid rgba(5, 8, 15, .22) !important;
  background: #fff !important;
  color: var(--fmr-brand-ink) !important;
  box-shadow: none !important;
}

html body .contacts-topic-btn.active,
html body .contacts-topic-btn[aria-pressed="true"],
html body .document-category.active,
html body .ioc-latest-news-badge {
  border-color: var(--fmr-brand-ink) !important;
  background: var(--fmr-brand-ink) !important;
  color: #fff !important;
}

html body * {
  border-radius: 0 !important;
}

html body:not(.fmr-keep-rounded-1):not(.fmr-keep-rounded-2):not(.fmr-keep-rounded-3):not(.fmr-keep-rounded-4):not(.fmr-keep-rounded-5) * {
  border-radius: 0 !important;
}

html body:not(.fmr-keep-rounded-1):not(.fmr-keep-rounded-2):not(.fmr-keep-rounded-3):not(.fmr-keep-rounded-4):not(.fmr-keep-rounded-5):not(.fmr-keep-rounded-6):not(.fmr-keep-rounded-7):not(.fmr-keep-rounded-8) footer a {
  border-radius: 0 !important;
}

html body.messenger-page #footerContainer .footer.footer .footer-container .footer-shell .footer-section a,
html body.messenger-page footer.footer .footer-container .footer-shell .footer-section a,
html body.messenger-page #footerContainer .footer.footer .footer-socials a,
html body.messenger-page footer.footer .footer-socials a,
html body.messenger-page #footerContainer .footer.footer .footer-bottom-links a,
html body.messenger-page footer.footer .footer-bottom-links a {
  border-radius: 0 !important;
}

html body.messenger-page #footerContainer .footer .footer-section a:not(.keep-rounded):not(.keep-rounded-2):not(.keep-rounded-3):not(.keep-rounded-4):not(.keep-rounded-5):not(.keep-rounded-6):not(.keep-rounded-7):not(.keep-rounded-8):not(.keep-rounded-9):not(.keep-rounded-10),
html body.messenger-page footer.footer .footer-section a:not(.keep-rounded):not(.keep-rounded-2):not(.keep-rounded-3):not(.keep-rounded-4):not(.keep-rounded-5):not(.keep-rounded-6):not(.keep-rounded-7):not(.keep-rounded-8):not(.keep-rounded-9):not(.keep-rounded-10) {
  border-radius: 0 !important;
}

html body #newsSearch:not(.keep-rounded):not(.keep-rounded-2):not(.keep-rounded-3):not(.keep-rounded-4):not(.keep-rounded-5),
html body #contactMessage:not(.keep-rounded):not(.keep-rounded-2):not(.keep-rounded-3):not(.keep-rounded-4):not(.keep-rounded-5) {
  border-radius: 0 !important;
}

/* Topic 94 2026-08-28: compact home tournaments, centered start icons, scoped partner transition. */
html body main.ioc-site,
html body .federation-page.main-content.ioc-site {
  background:
    linear-gradient(180deg, #ffffff 0%, var(--fmr-brand-platinum-soft) 360px, #ffffff 100%) !important;
}

html body #homeCalendarSection.ioc-tournaments-showcase {
  padding-top: clamp(52px, 5vw, 74px) !important;
  padding-bottom: clamp(52px, 5vw, 76px) !important;
}

html body #homeUpcomingEventsGrid.ioc-tournaments-grid,
html body .ioc-tournaments-showcase #homeUpcomingEventsGrid {
  grid-template-columns: minmax(560px, 1fr) minmax(390px, .58fr) !important;
  gap: clamp(16px, 1.8vw, 24px) !important;
  max-width: 1240px !important;
  align-items: stretch !important;
}

html body #homeUpcomingEventsGrid .ioc-tournament-feature {
  min-height: clamp(360px, 31vw, 430px) !important;
  box-shadow: 0 18px 42px rgba(5, 8, 15, .16) !important;
}

html body #homeUpcomingEventsGrid .ioc-tournament-feature__content {
  padding: clamp(24px, 3vw, 40px) !important;
  max-width: 720px !important;
}

html body #homeUpcomingEventsGrid .ioc-tournament-feature h3 {
  max-width: 680px !important;
  font-size: clamp(28px, 3.1vw, 46px) !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

html body #homeUpcomingEventsGrid .ioc-tournament-feature p {
  max-width: 620px !important;
  margin-top: 12px !important;
  font-size: clamp(14px, 1.05vw, 16px) !important;
  line-height: 1.5 !important;
}

html body #homeUpcomingEventsGrid .ioc-tournament-switcher {
  display: grid !important;
  align-content: start !important;
  gap: 8px !important;
}

html body #homeUpcomingEventsGrid .ioc-tournament-tab {
  grid-template-columns: 58px minmax(0, 1fr) minmax(52px, max-content) !important;
  min-height: 84px !important;
  padding: 10px 12px !important;
  gap: 10px !important;
  align-items: center !important;
  border: 1px solid rgba(5, 8, 15, .18) !important;
  background: #fff !important;
  color: var(--fmr-brand-ink) !important;
}

html body #homeUpcomingEventsGrid .ioc-tournament-tab.is-active {
  border-color: var(--fmr-brand-ink) !important;
  background: #f7f8f5 !important;
  color: var(--fmr-brand-ink) !important;
}

html body #homeUpcomingEventsGrid .ioc-tournament-tab__date,
html body #homeUpcomingEventsGrid .ioc-tournament-tab span:first-child.ioc-tournament-tab__date {
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  gap: 2px !important;
  align-items: flex-start !important;
}

html body #homeUpcomingEventsGrid .ioc-tournament-tab__date b {
  font-size: 18px !important;
  line-height: 1 !important;
}

html body #homeUpcomingEventsGrid .ioc-tournament-tab__date small {
  font-size: 7.5px !important;
  line-height: 1.05 !important;
  letter-spacing: .04em !important;
}

html body #homeUpcomingEventsGrid .ioc-tournament-tab strong {
  min-width: 0 !important;
  max-width: 100% !important;
  font-size: clamp(13px, .82vw, 15px) !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

html body #homeUpcomingEventsGrid .ioc-tournament-tab em {
  width: auto !important;
  min-width: 52px !important;
  max-width: 86px !important;
  padding: 5px 7px !important;
  border: 1px solid rgba(5, 8, 15, .18) !important;
  font-size: 8px !important;
  line-height: 1.1 !important;
  text-align: center !important;
  white-space: normal !important;
}

html body .start-section--tools .start-card__icon,
html body .start-card__icon {
  display: grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  width: 54px !important;
  height: 54px !important;
  line-height: 1 !important;
  border: 1px solid rgba(255,255,255,.58) !important;
  background: rgba(255,255,255,.96) !important;
  color: var(--fmr-brand-ink) !important;
}

html body .start-section--tools .start-card__icon i,
html body .start-card__icon i,
html body .start-section--tools .start-tool > a,
html body .start-section--tools .start-tool > a::after,
html body .start-section--tools .start-tool > a i {
  display: grid !important;
  place-items: center !important;
  line-height: 1 !important;
  text-align: center !important;
  color: currentColor !important;
}

html body .start-section--tools .start-card__icon i::before,
html body .start-card__icon i::before {
  color: currentColor !important;
}

html body .start-section--tools .start-tool > a {
  align-self: center !important;
  justify-self: end !important;
  width: 42px !important;
  height: 42px !important;
}

html body #homeCalendarSection .ioc-section-head h2,
html body #homeUpcomingEventsGrid .ioc-tournament-feature h3,
html body #partners.sponsor-board h2,
html body #partners.sponsor-board h3,
html body #trainers.start-section .start-section__head h2,
html body #trainers.start-section .start-tool h3 {
  line-height: 1.08 !important;
  overflow: visible !important;
}

html body #homeCalendarSection .ioc-section-head h2 {
  font-size: clamp(44px, 5vw, 72px) !important;
  letter-spacing: 0 !important;
}

html body #partners.sponsor-board .sponsor-board__value-cta {
  min-height: 0 !important;
  height: auto !important;
  padding: 16px 18px !important;
  display: grid !important;
  gap: 8px !important;
  overflow: visible !important;
}

html body #partners.sponsor-board .sponsor-board__value-cta::after {
  display: none !important;
}

html body #partners.sponsor-board .sponsor-board__cta-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-width: 0 !important;
}

html body #partners.sponsor-board .sponsor-board__cta-row strong {
  min-width: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

html body #trainers.start-section .start-tool h3 {
  font-size: clamp(18px, 2.1vw, 22px) !important;
}

/* Topic 94 2026-08-28: extend the accepted gold grid transition from Moments to Partners. */
html body.messenger-page main.ioc-site > #homeCalendarSection.ioc-upcoming-section + .ioc-magazine-section {
  margin-bottom: 0 !important;
  background:
    linear-gradient(180deg,
      #ffffff 0%,
      #ffffff 54%,
      rgba(246,242,232,.42) 78%,
      rgba(236,233,225,.72) 100%) !important;
}

html body.messenger-page main.ioc-site > .ioc-magazine-section + .ioc-faq-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  position: relative !important;
  isolation: isolate !important;
  background: #fff !important;
}

html body.messenger-page main.ioc-site > .ioc-magazine-section + .ioc-faq-section::before {
  content: "" !important;
  position: absolute !important;
  inset: clamp(-34px, -3vw, -18px) max(-50vw, calc((100% - 100vw) / 2)) 0 !important;
  background:
    linear-gradient(180deg,
      rgba(236,233,225,.70) 0%,
      rgba(246,242,232,.82) 44%,
      rgba(236,233,225,.96) 100%),
    linear-gradient(90deg, rgba(184,154,94,.16) 1px, transparent 1px),
    linear-gradient(180deg, rgba(184,154,94,.12) 1px, transparent 1px) !important;
  background-size: auto, 84px 84px, 84px 84px !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

html body.messenger-page main.ioc-site > .ioc-magazine-section + .ioc-faq-section::after {
  content: "" !important;
  position: absolute !important;
  left: max(-50vw, calc((100% - 100vw) / 2)) !important;
  right: max(-50vw, calc((100% - 100vw) / 2)) !important;
  bottom: -1px !important;
  height: 72px !important;
  background:
    linear-gradient(180deg,
      rgba(236,233,225,0) 0%,
      rgba(236,233,225,.95) 100%) !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

html body.messenger-page main.ioc-site > .ioc-faq-section + #partners.sponsor-board {
  margin-top: 0 !important;
}

@media (max-width: 640px) {
  html body.messenger-page main.ioc-site > .ioc-magazine-section + .ioc-faq-section .ioc-faq-list summary {
    grid-template-columns: minmax(0, 1fr) 40px !important;
    gap: 14px !important;
    padding-right: 0 !important;
    font-size: clamp(19px, 6vw, 24px) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere !important;
  }

  html body.messenger-page main.ioc-site > .ioc-magazine-section + .ioc-faq-section .ioc-faq-list summary::after {
    width: 32px !important;
    height: 32px !important;
    justify-self: end !important;
    align-self: center !important;
  }
}

@media (max-width: 1180px) {
  html body #homeUpcomingEventsGrid.ioc-tournaments-grid,
  html body .ioc-tournaments-showcase #homeUpcomingEventsGrid {
    grid-template-columns: 1fr !important;
  }

  html body #homeUpcomingEventsGrid .ioc-tournament-feature {
    min-height: 360px !important;
  }
}

@media (max-width: 640px) {
  html body #homeUpcomingEventsGrid .ioc-tournament-tab {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    min-height: 88px !important;
    padding: 12px !important;
  }

  html body #homeUpcomingEventsGrid .ioc-tournament-tab em {
    grid-column: 2 !important;
    justify-self: start !important;
    max-width: 100% !important;
  }

  html body .start-section--tools .start-card__icon,
  html body .start-card__icon {
    width: 46px !important;
    height: 46px !important;
  }

  html body #trainers.start-section .start-tool h3 {
    font-size: 18px !important;
    line-height: 1.12 !important;
  }
}

/* Topic 94 2026-08-28: final global brand type and palette baseline. */
html body,
html body main,
html body .main-content {
  color: var(--fmr-brand-ink) !important;
  font-family: var(--font-body) !important;
}

html body :is(p, li, dd, dt, label, input, textarea, select, button, a, span, small, strong, em) {
  font-family: inherit;
}

html body :is(h1, h2, h3, h4, h5, h6, .logo-title, .logo span, .nav a, .nav-link, .dropdown-item, .btn, button) {
  font-family: var(--font-display) !important;
}

html body.documents-shell-page .documents-page,
html body.documents-shell-page .documents-page :is(.documents-hero, .documents-filters, .document-card, .search-box) {
  color: var(--fmr-brand-ink) !important;
}

/* Topic 94 2026-08-29: keep side tickers behind the full-width footer and remove the faded gold trail below media. */
html body .topic94-side-ticker {
  z-index: 1 !important;
}

html body #headerContainer,
html body #adminPanelContainer,
html body main,
html body .main-content {
  position: relative !important;
  z-index: 2 !important;
}

html body #footerContainer {
  position: relative !important;
  z-index: 20 !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  isolation: isolate !important;
}

html body #footerContainer .footer,
html body footer.footer {
  position: relative !important;
  z-index: 20 !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  overflow: hidden !important;
}

html body #footerContainer .footer-shell,
html body .footer .footer-shell {
  position: relative !important;
  z-index: 21 !important;
}

html body.messenger-page main.ioc-site > #homeCalendarSection.ioc-upcoming-section + .ioc-magazine-section,
html body.messenger-page main.ioc-site > .ioc-magazine-section + .ioc-faq-section,
html body.messenger-page main.ioc-site > .ioc-faq-section + #partners.sponsor-board {
  background: #ffffff !important;
}

html body.messenger-page main.ioc-site > .ioc-magazine-section + .ioc-faq-section::before,
html body.messenger-page main.ioc-site > .ioc-magazine-section + .ioc-faq-section::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

/* Topic 94 2026-08-29: global header dropdown must always render above page content. */
html body #headerContainer,
html body #headerContainer .header,
html body header.header {
  position: relative !important;
  overflow: visible !important;
  z-index: 80000 !important;
}

html body #headerContainer .header-container,
html body #headerContainer .header-auth,
html body #headerContainer .user-menu,
html body #headerContainer .user-dropdown,
html body .header .header-container,
html body .header .header-auth,
html body .header .user-menu,
html body .header .user-dropdown {
  position: relative !important;
  overflow: visible !important;
  z-index: 80010 !important;
}

html body #headerContainer .dropdown-content,
html body #headerContainer .user-dropdown .dropdown-content,
html body .header .dropdown-content,
html body .header .user-dropdown .dropdown-content {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  left: auto !important;
  z-index: 80020 !important;
  min-width: 260px !important;
  background: #ffffff !important;
  background-image: none !important;
  border: 1px solid rgba(5, 6, 5, .14) !important;
  border-radius: 8px !important;
  box-shadow: 0 24px 58px rgba(5, 6, 5, .28) !important;
}

html body #headerContainer .user-dropdown.active .dropdown-content,
html body .header .user-dropdown.active .dropdown-content {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

html body.tournament-details-page .registration-actions--top .btn-primary[data-tournament-action="show-registration-form"]:hover,
html body.tournament-details-page .registration-actions--top .btn-primary[data-tournament-action="show-registration-form"]:focus-visible,
html body.tournament-details-page .registration-actions--top .btn-primary[data-tournament-action="show-guest-registration-form"]:hover,
html body.tournament-details-page .registration-actions--top .btn-primary[data-tournament-action="show-guest-registration-form"]:focus-visible {
  background: #050605 !important;
  border-color: #050605 !important;
  color: #ffffff !important;
}

html body.tournament-details-page .registration-actions--top .btn-primary[data-tournament-action="show-registration-form"]:hover i,
html body.tournament-details-page .registration-actions--top .btn-primary[data-tournament-action="show-registration-form"]:focus-visible i,
html body.tournament-details-page .registration-actions--top .btn-primary[data-tournament-action="show-guest-registration-form"]:hover i,
html body.tournament-details-page .registration-actions--top .btn-primary[data-tournament-action="show-guest-registration-form"]:focus-visible i {
  color: currentColor !important;
}

html body.tournament-details-page #registrationModal .close-modal {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  color: #050605 !important;
  font: 900 25px/42px Arial, sans-serif !important;
  text-align: center !important;
}

html body.tournament-details-page #registrationModal .close-modal::before,
html body.tournament-details-page #registrationModal .close-modal::after {
  content: none !important;
  display: none !important;
}

/* Topic 94 2026-08-29: modal button contrast guard across the whole site. */
html body :is(.modal, .fmr-auth-modal) :is(.btn, button, input[type="submit"], input[type="button"], input[type="reset"]) {
  color: #111827 !important;
}

html body :is(.modal, .fmr-auth-modal) :is(.btn, button, input[type="submit"], input[type="button"], input[type="reset"]) :is(i, span, strong) {
  color: currentColor !important;
}

html body :is(.modal, .fmr-auth-modal) :is(.btn-primary, .primary-btn, .submit-btn, button[type="submit"]) {
  background: #111827 !important;
  border-color: #111827 !important;
  color: #ffffff !important;
}

html body :is(.modal, .fmr-auth-modal) :is(.btn-primary, .primary-btn, .submit-btn, button[type="submit"]):is(:hover, :focus-visible, :active) {
  background: #050605 !important;
  border-color: #050605 !important;
  color: #ffffff !important;
}

html body :is(.modal, .fmr-auth-modal) :is(.btn-primary, .primary-btn)[style*="#b42335"],
html body :is(.modal, .fmr-auth-modal) :is(.btn-primary, .primary-btn)[style*="b42335"] {
  background: #b42335 !important;
  border-color: #b42335 !important;
  color: #ffffff !important;
}

html body :is(.modal, .fmr-auth-modal) :is(.btn-primary, .primary-btn)[style*="#b42335"]:is(:hover, :focus-visible, :active),
html body :is(.modal, .fmr-auth-modal) :is(.btn-primary, .primary-btn)[style*="b42335"]:is(:hover, :focus-visible, :active) {
  background: #8f1d2b !important;
  border-color: #8f1d2b !important;
  color: #ffffff !important;
}

html body .modal #confirmCancelRegistrationBtn:is(:hover, :focus-visible, :active) {
  background: #8f1d2b !important;
  border-color: #8f1d2b !important;
  color: #ffffff !important;
}

html body.contacts-ioc-page .contacts-topic-btn.active:is(:hover, :focus-visible, :active),
html body.contacts-ioc-page .contacts-topic-btn[aria-pressed="true"]:is(:hover, :focus-visible, :active) {
  background: #050605 !important;
  border-color: #050605 !important;
  color: #ffffff !important;
}

html body.contacts-ioc-page .contacts-topic-btn.active:is(:hover, :focus-visible, :active) *,
html body.contacts-ioc-page .contacts-topic-btn[aria-pressed="true"]:is(:hover, :focus-visible, :active) * {
  color: currentColor !important;
}

html body :is(.filter-btn.active, .filter-btn[aria-pressed="true"]):is(:hover, :focus-visible, :active) {
  background: #050605 !important;
  border-color: #050605 !important;
  color: #ffffff !important;
}

html body :is(.start-button--primary, .start-button.start-button--primary):is(:hover, :focus-visible, :active) {
  background: #050605 !important;
  border-color: #050605 !important;
  color: #ffffff !important;
}

html body :is(.filter-btn.active, .filter-btn[aria-pressed="true"], .start-button--primary, .start-button.start-button--primary):is(:hover, :focus-visible, :active) * {
  color: currentColor !important;
}

html body:is(.fmr-auth-modal-open, .fmr-page-modal-open) .cookie-banner {
  display: none !important;
}

html body :is(.modal, .fmr-auth-modal) :is(.btn-outline, .btn-secondary, .yandex-login-btn, button:not([type="submit"])):is(:hover, :focus-visible, :active) {
  background: #f4f6f8 !important;
  border-color: #111827 !important;
  color: #111827 !important;
}

html body :is(.modal, .fmr-auth-modal) :is(.btn, button, input[type="submit"], input[type="button"], input[type="reset"]):disabled,
html body :is(.modal, .fmr-auth-modal) :is(.btn, button, input[type="submit"], input[type="button"], input[type="reset"])[aria-disabled="true"] {
  opacity: .72 !important;
  cursor: wait !important;
}

/* Topic 94 2026-08-29: restore the mobile header menu opened by js/app.js. */
@media (max-width: 820px) {
  html body #headerContainer:has(.header-container.menu-open),
  html body #headerContainer .header:has(.header-container.menu-open),
  html body header.header:has(.header-container.menu-open) {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  html body #headerContainer .header-container.menu-open,
  html body .header .header-container.menu-open {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    align-items: start !important;
  }

  html body #headerContainer .header-container.menu-open .header-center-stack,
  html body .header .header-container.menu-open .header-center-stack,
  html body #headerContainer .header-container.menu-open .header-nav-shell,
  html body .header .header-container.menu-open .header-nav-shell,
  html body #headerContainer .header-container.menu-open .nav,
  html body .header .header-container.menu-open .nav {
    display: flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    flex: 1 1 100% !important;
    overflow: visible !important;
  }

  html body #headerContainer .header-container.menu-open .header-center-stack,
  html body .header .header-container.menu-open .header-center-stack {
    grid-column: 1 / -1 !important;
    padding-top: 10px !important;
  }

  html body #headerContainer .header-container.menu-open .header-nav-shell,
  html body .header .header-container.menu-open .header-nav-shell,
  html body #headerContainer .header-container.menu-open .nav,
  html body .header .header-container.menu-open .nav {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
  }
}

/* Topic94 checkup 2026-09-08: scoped mobile text fit and menu account access. */
@media (max-width: 820px) {
  html body #headerContainer .header-container.menu-open .header-auth {
    display: flex !important;
    visibility: visible !important;
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    position: static !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    justify-content: flex-start !important;
    justify-self: stretch !important;
    padding: 8px 0 !important;
  }
  html body.mn-tournaments-page .mn-tournaments-hero h1 {
    font-size: clamp(30px, 8vw, 52px) !important;
    letter-spacing: -.02em !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  html body.mn-tournaments-page .events-group h2 {
    font-size: clamp(22px, 5.5vw, 32px) !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  html body .fmr-legal h1 {
    font-size: clamp(24px, 6vw, 36px) !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
}

/* Keep the fixed header below modal overlays, including their close control. */
html body:is(.fmr-auth-modal-open, .fmr-page-modal-open) #headerContainer {
  z-index: 100 !important;
}

/* Topic 94 2026-09-08: readability r8 — final loaded palette layer nav fit. */
@media (min-width: 1100px) {
  html body .nav.header-nav-shell,
  html body nav.header-nav-shell,
  html body .header-nav-shell {
    overflow: hidden !important;
    overflow-x: hidden !important;
    max-width: 100% !important;
    gap: 3px !important;
    font-size: 10px !important;
  }
  html body .header-nav-shell a {
    padding-left: 5px !important;
    padding-right: 5px !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }
}

/* Topic 94 2026-09-08: readability r10 — beat messenger-page header specificity. */
@media (min-width: 1100px) {
  html body.messenger-page #headerContainer .header-nav-shell,
  html body.messenger-page #headerContainer .header .header-nav-shell,
  html body.messenger-page .header .header-nav-shell,
  html body.messenger-page .nav.header-nav-shell {
    overflow: hidden !important;
    overflow-x: hidden !important;
    max-width: 100% !important;
    gap: 3px !important;
    font-size: 10px !important;
  }
  html body.messenger-page #headerContainer .header-nav-shell a,
  html body.messenger-page .header .header-nav-shell a,
  html body.messenger-page .nav.header-nav-shell a {
    padding-left: 5px !important;
    padding-right: 5px !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }
}

/* Topic 94 2026-09-08: final visual polish pass — owner review notes. */
html body .fmr-scroll-top {
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.28);
  background: #050605;
  color: #fff;
  box-shadow: 0 18px 42px rgba(5,6,5,.28);
  z-index: 1200;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity .18s ease, transform .18s ease;
}
html body .fmr-scroll-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
html body .fmr-scroll-top:hover { background: #B89A5E; color: #050605; }

html body.messenger-page #homeUpcomingEventsGrid .ioc-tournament-tab { min-height: 148px !important; padding: 20px 22px !important; }
html body.messenger-page #homeUpcomingEventsGrid .ioc-tournament-tab strong { font-size: clamp(18px,1.18vw,23px) !important; line-height: 1.08 !important; }
html body.messenger-page #homeUpcomingEventsGrid .ioc-tournament-tab__date b { font-size: 26px !important; }

html body.contacts-ioc-page .contacts-form-panel > .contacts-card-head,
html body.contacts-ioc-page .contacts-info-panel > .contacts-card-head {
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) !important;
  align-items: center !important;
  gap: 14px !important;
}
@media (min-width: 760px) {
  html body.contacts-ioc-page .contacts-form-panel > .contacts-card-head > div,
  html body.contacts-ioc-page .contacts-info-panel > .contacts-card-head > div { display: flex !important; align-items: baseline !important; gap: 14px !important; flex-wrap: wrap !important; }
  html body.contacts-ioc-page .contacts-form-panel > .contacts-card-head .contacts-eyebrow,
  html body.contacts-ioc-page .contacts-info-panel > .contacts-card-head .contacts-eyebrow { margin: 0 !important; }
  html body.contacts-ioc-page .contacts-form-panel > .contacts-card-head h2,
  html body.contacts-ioc-page .contacts-info-panel > .contacts-card-head h2 { margin: 0 !important; }
}
html body.contacts-ioc-page .contacts-map-copy { color: #fff !important; }
html body.contacts-ioc-page .contacts-map-copy h2,
html body.contacts-ioc-page .contacts-map-copy p,
html body.contacts-ioc-page .contacts-map-copy .contacts-eyebrow { color: #fff !important; }
html body.contacts-ioc-page .contacts-map-copy p { opacity: .88 !important; }

html body.federation-clean-page .fed-hero__eyebrow {
  color: #334155 !important;
  font-size: clamp(14px,1.25vw,20px) !important;
  letter-spacing: .02em !important;
  line-height: 1.16 !important;
  max-width: 30ch !important;
}
html body.federation-clean-page .fed-hero h1 { letter-spacing: -.075em !important; max-width: 11ch !important; }
html body.federation-clean-page .fed-yandex-branch-card .fed-map-copy h2 { font-size: clamp(26px,2vw,32px) !important; line-height: 1.02 !important; }
html body.federation-clean-page .fed-social-tile strong,
html body.federation-clean-page .fed-official strong,
html body.federation-clean-page .fed-official a { overflow-wrap: normal !important; word-break: normal !important; hyphens: none !important; }

html body .disciplines-page::before { content: "" !important; display: none !important; }
html body .disciplines-page::after {
  background:
    linear-gradient(90deg, rgba(255,255,255,.86) 0%, rgba(255,255,255,.76) 42%, rgba(255,255,255,.88) 100%),
    repeating-linear-gradient(0deg, rgba(5, 6, 5,0.022) 0 1px, transparent 1px 54px),
    repeating-linear-gradient(90deg, rgba(5, 6, 5,0.018) 0 1px, transparent 1px 54px) !important;
}
html body .discipline-switcher { gap: 10px !important; }
html body .discipline-tab { border-radius: 12px !important; background: #fff !important; color: #172033 !important; border-color: rgba(15,23,42,.16) !important; box-shadow: 0 8px 18px rgba(15,23,42,.05) !important; }
html body .discipline-tab.active { background: #050605 !important; color: #fff !important; }

html body .photobank-page .search-section,
html body .photobank-main .search-section,
html body .photobank-page-shell .search-section,
html body .tab-content .search-section {
  display: grid !important;
  grid-template-columns: minmax(260px,1fr) auto !important;
  gap: 18px !important;
  align-items: center !important;
}
html body .photobank-page .search-box,
html body .tab-content .search-box { position: relative !important; }
html body .photobank-page .search-box i,
html body .tab-content .search-box i { left: 18px !important; opacity: .72 !important; }
html body .photobank-page .search-box input,
html body .tab-content .search-box input { padding-left: 48px !important; }
html body .photobank-page .filter-buttons,
html body .tab-content .filter-buttons { display:flex !important; flex-wrap:wrap !important; gap:10px !important; justify-content:flex-end !important; }
html body .tab-content #albumFilter { min-width: 210px !important; justify-self: end !important; }
@media (max-width: 700px) {
  html body .tab-content .search-section { grid-template-columns: 1fr !important; gap: 12px !important; }
  html body .tab-content .filter-buttons { justify-content:flex-start !important; }
  html body .tab-content #albumFilter { justify-self: stretch !important; width: 100% !important; }
}

html body .mn-news-board__head--compact { margin-bottom: 10px !important; }
@media (min-width: 980px) {
  html body .mn-news-control--single-row {
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr) minmax(300px,.55fr) !important;
    gap: 18px !important;
    align-items: center !important;
  }
  html body .mn-news-control--single-row .mn-news-control__title { margin: 0 !important; white-space: nowrap !important; }
  html body .mn-news-control--single-row .mn-news-tabs { margin: 0 !important; }
  html body .mn-news-control--single-row .mn-news-search { margin: 0 !important; justify-self: end !important; width: min(420px,100%) !important; }
}

html body #books .start-bookshelf { background: #fff !important; border-color: #c8d2dc !important; box-shadow: 0 14px 34px rgba(7,17,29,.07) !important; }
html body #books .start-book-card { border-color: #c8d2dc !important; box-shadow: 0 12px 28px rgba(7,17,29,.075) !important; }
html body #books .start-book-card__cover { transform: none !important; border-radius: 0 !important; }
html body #books .start-book-card p { color: #29394b !important; }

/* Topic 94 2026-09-08: visual polish r2 — books, contacts, media controls, about title. */
html body.federation-clean-page .fed-hero__eyebrow { margin-top: 18px !important; font-weight: 850 !important; color: #475569 !important; }
html body.federation-clean-page .fed-hero h1 { line-height: .94 !important; letter-spacing: -.045em !important; }
html body.federation-clean-page .fed-system-card p,
html body.federation-clean-page .fed-section-head p,
html body.federation-clean-page .fed-person__body p:last-of-type { color: #334155 !important; }

html body.contacts-ioc-page .contacts-hero h1 { font-size: clamp(42px,5vw,72px) !important; line-height: .98 !important; letter-spacing: -.045em !important; max-width: none !important; }
@media (min-width: 1080px) { html body.contacts-ioc-page .contacts-hero h1 { white-space: nowrap !important; } }
html body.contacts-ioc-page .contacts-map-copy,
html body.contacts-ioc-page .contacts-map-copy *:not(a) { color: #fff !important; }
html body.contacts-ioc-page .contacts-map-copy p { color: rgba(255,255,255,.88) !important; }
html body.contacts-ioc-page .contacts-map-copy a { background: #fff !important; color: #05070b !important; }

@media (min-width: 980px) {
  html body .mn-news-board__head--compact h2 { white-space: nowrap !important; font-size: clamp(42px,4.2vw,62px) !important; }
  html body .mn-news-control--single-row { grid-template-columns: auto minmax(420px,1fr) minmax(360px,.55fr) !important; }
  html body .mn-news-control--single-row .mn-news-search { justify-self: end !important; }
}

html body .photobank-page .search-section,
html body .tab-content .search-section { column-gap: 28px !important; row-gap: 14px !important; }
html body .photobank-page .search-box,
html body .tab-content .search-box { min-width: 0 !important; }
html body .photobank-page .filter-buttons,
html body .tab-content .filter-buttons { margin-left: auto !important; }
html body .photobank-page .search-box i,
html body .tab-content .search-box i { left: 16px !important; transform: translateY(-50%) !important; }
html body .photobank-page .search-box input,
html body .tab-content .search-box input { padding-left: 50px !important; min-height: 48px !important; }
html body .tab-content #albumFilter { min-height: 48px !important; padding-left: 16px !important; }

@media (max-width: 700px) {
  html body #books .start-bookshelf { display: grid !important; grid-template-columns: 1fr !important; gap: 18px !important; padding: 14px !important; }
  html body #books .start-book-card,
  html body #books .start-book-card:nth-child(n+4) {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 0 0 18px !important;
    overflow: hidden !important;
    background: #fff !important;
  }
  html body #books .start-book-card__cover {
    width: 100% !important;
    min-height: 146px !important;
    height: 146px !important;
    padding: 18px 20px !important;
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    align-items: end !important;
    gap: 14px !important;
    box-shadow: none !important;
  }
  html body #books .start-book-card__mark { width: 38px !important; height: 38px !important; align-self: start !important; }
  html body #books .start-book-card__cover-title {
    font-size: 21px !important;
    line-height: .96 !important;
    letter-spacing: -.025em !important;
    max-width: 12ch !important;
  }
  html body #books .start-book-card__cover-line { align-self: start !important; justify-self: end !important; font-size: 9px !important; opacity: .78 !important; }
  html body #books .start-book-card__body { padding: 0 18px !important; }
  html body #books .start-book-card h3 { font-size: 21px !important; line-height: 1.08 !important; margin-top: 2px !important; }
  html body #books .start-book-card p { font-size: 14px !important; line-height: 1.55 !important; }
  html body #books .start-book-card__tags { margin-top: 2px !important; }
  html body #books .start-book-card__actions a,
  html body #books .start-book-card__actions span { min-height: 38px !important; font-size: 10px !important; }
}

/* Topic 94 2026-09-08: visual polish r3 — cleaner recommended books cards. */
html body #books .start-book-card__cover::before,
html body #books .start-book-card__cover::after { display: none !important; content: none !important; }
html body #books .start-book-card__cover {
  border: 1px solid rgba(255,255,255,.20) !important;
  background-image: linear-gradient(135deg, rgba(255,255,255,.10), rgba(0,0,0,.10)) !important;
}
html body #books .start-book-card__mark {
  border-radius: 0 !important;
  background: rgba(255,255,255,.94) !important;
  color: #07111d !important;
  border-color: rgba(255,255,255,.94) !important;
}
html body #books .start-book-card__cover-line {
  padding: 5px 7px !important;
  background: rgba(255,255,255,.14) !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  color: rgba(255,255,255,.88) !important;
}
@media (max-width: 700px) {
  html body #books .start-book-card__cover {
    min-height: 118px !important;
    height: 118px !important;
    grid-template-columns: 40px minmax(0,1fr) auto !important;
    align-items: center !important;
  }
  html body #books .start-book-card__cover-title {
    max-width: none !important;
    font-size: 22px !important;
    line-height: 1 !important;
  }
  html body #books .start-book-card__cover-line { align-self: center !important; }
}

/* Topic 94 2026-09-08 r4: fix remaining search/filter collisions and remove discipline source noise. */
html body .disciplines-page::before,
html body .disciplines-page[data-theme]::before {
  content: "" !important;
  display: none !important;
  opacity: 0 !important;
  animation: none !important;
}

/* Photobank: every search row gets explicit icon reserve + real separation from filters. */
html body .photobank-header ~ .container .tab-content .search-section,
html body .photobank-header ~ .container > .search-section,
html body .photobank-header ~ .container .search-section,
html body .tab-content.active .search-section {
  display: grid !important;
  grid-template-columns: minmax(320px, 1fr) minmax(max-content, 42%) !important;
  align-items: center !important;
  gap: 20px 34px !important;
  padding: 18px !important;
}
html body .photobank-header ~ .container .search-box,
html body .tab-content.active .search-box {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  display: block !important;
}
html body .photobank-header ~ .container .search-box i,
html body .tab-content.active .search-box i {
  position: absolute !important;
  left: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 2 !important;
  width: 18px !important;
  text-align: center !important;
  color: #64748b !important;
  pointer-events: none !important;
}
html body .photobank-header ~ .container .search-box input,
html body .tab-content.active .search-box input {
  width: 100% !important;
  box-sizing: border-box !important;
  min-height: 50px !important;
  padding: 0 18px 0 54px !important;
}
html body .photobank-header ~ .container .filter-buttons,
html body .tab-content.active .filter-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  min-width: 0 !important;
  margin: 0 !important;
}
html body .tab-content.active #albumFilter {
  justify-self: end !important;
  width: min(320px, 100%) !important;
  min-height: 50px !important;
  margin: 0 !important;
}
@media (max-width: 760px) {
  html body .photobank-header ~ .container .tab-content .search-section,
  html body .photobank-header ~ .container > .search-section,
  html body .photobank-header ~ .container .search-section,
  html body .tab-content.active .search-section {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 14px !important;
  }
  html body .photobank-header ~ .container .filter-buttons,
  html body .tab-content.active .filter-buttons { justify-content: flex-start !important; }
  html body .tab-content.active #albumFilter { justify-self: stretch !important; width: 100% !important; }
}

/* News: remove empty gutter under heading, put title/tabs/search on one clean row on desktop. */
html body.messenger-page .mn-news-page .mn-news-board__head,
html body.messenger-page .mn-news-page .mn-news-board__head--compact {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}
html body.messenger-page .mn-news-page .mn-news-board__head h2 {
  margin: 0 !important;
  line-height: .92 !important;
}
html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board.mn-news-control--single-row {
  margin-top: 14px !important;
}
@media (min-width: 1040px) {
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board.mn-news-control--single-row {
    display: grid !important;
    grid-template-columns: auto minmax(430px, 1fr) minmax(360px, 420px) !important;
    align-items: center !important;
    gap: 16px 26px !important;
    padding: 18px 20px !important;
  }
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board .mn-news-control__title {
    margin: 0 !important;
    min-width: max-content !important;
  }
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board .mn-news-control__title strong {
    margin: 0 !important;
    white-space: nowrap !important;
    font-size: 22px !important;
    line-height: 1 !important;
  }
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board .mn-news-tabs {
    margin: 0 !important;
    min-width: 0 !important;
    justify-content: flex-start !important;
    gap: 8px !important;
  }
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board .mn-news-search {
    margin: 0 !important;
    width: 100% !important;
    justify-self: end !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 10px !important;
  }
}
@media (max-width: 1039px) {
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board.mn-news-control--single-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
}

/* Topic 94 2026-09-08 r5: final tightening per owner review. */
html body .photobank-header ~ .container .search-box,
html body .tab-content.active .search-box {
  display: grid !important;
  grid-template-columns: 42px minmax(0,1fr) !important;
  align-items: center !important;
  border: 1px solid rgba(15,23,42,.18) !important;
  background: #fff !important;
}
html body .photobank-header ~ .container .search-box i,
html body .tab-content.active .search-box i {
  position: static !important;
  transform: none !important;
  width: 42px !important;
  height: 100% !important;
  min-height: 50px !important;
  display: grid !important;
  place-items: center !important;
  border-right: 1px solid rgba(15,23,42,.10) !important;
  color: #475569 !important;
}
html body .photobank-header ~ .container .search-box input,
html body .tab-content.active .search-box input {
  border: 0 !important;
  padding: 0 16px !important;
  min-height: 50px !important;
  background: transparent !important;
}
html body .photobank-header ~ .container .search-box input:focus,
html body .tab-content.active .search-box input:focus { outline: none !important; box-shadow: none !important; }

@media (min-width: 1040px) {
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board.mn-news-control--single-row {
    grid-template-columns: 176px minmax(0, 1fr) 312px !important;
    gap: 14px 18px !important;
    padding: 16px 18px !important;
  }
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board .mn-news-control__title strong {
    font-size: 19px !important;
    letter-spacing: -.025em !important;
  }
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board .mn-news-tabs {
    flex-wrap: nowrap !important;
    overflow: hidden !important;
    gap: 6px !important;
  }
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board .mn-filter {
    padding: 8px 10px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board .mn-news-search {
    width: 312px !important;
    max-width: 312px !important;
    grid-template-columns: minmax(0, 1fr) 58px !important;
    justify-self: end !important;
  }
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board .mn-news-search input,
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board .mn-news-search button {
    min-height: 38px !important;
    font-size: 12px !important;
  }
}
@media (min-width: 1280px) {
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board.mn-news-control--single-row {
    grid-template-columns: 188px minmax(0, 1fr) 360px !important;
    gap: 16px 24px !important;
  }
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board .mn-news-search { width: 360px !important; max-width: 360px !important; }
}

/* Topic 94 2026-09-08 r6: force news filters + search into one desktop row. */
@media (min-width: 1040px) {
  html body.messenger-page main.mn-news-page section.mn-news-control.mn-news-control--inside-board.mn-news-control--single-row,
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board.mn-news-control--single-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    padding: 16px 18px !important;
    margin: 12px 0 22px !important;
  }
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board.mn-news-control--single-row > .mn-news-control__title {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 152px !important;
    margin: 0 !important;
    order: 1 !important;
  }
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board.mn-news-control--single-row > .mn-news-tabs {
    flex: 0 1 auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    order: 2 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    overflow: visible !important;
  }
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board.mn-news-control--single-row > .mn-news-search {
    flex: 0 0 320px !important;
    width: 320px !important;
    max-width: 320px !important;
    min-width: 280px !important;
    margin: 0 0 0 auto !important;
    order: 3 !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 8px !important;
  }
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board.mn-news-control--single-row .mn-filter {
    padding: 8px 9px !important;
    font-size: 11px !important;
    letter-spacing: .025em !important;
    white-space: nowrap !important;
  }
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board.mn-news-control--single-row .mn-news-search input,
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board.mn-news-control--single-row .mn-news-search button {
    height: 38px !important;
    min-height: 38px !important;
  }
}
@media (min-width: 1280px) {
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board.mn-news-control--single-row > .mn-news-search {
    flex-basis: 360px !important;
    width: 360px !important;
    max-width: 360px !important;
  }
  html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board.mn-news-control--single-row .mn-filter {
    padding: 8px 11px !important;
    font-size: 12px !important;
  }
}

/* Topic 94 2026-09-09 r7: keep the site header visible while scrolling on every page. */
html body #headerContainer,
html body #header-container {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483000 !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
html body #headerContainer .header,
html body #header-container .header,
html body header.header,
html body .header {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483000 !important;
  transform: none !important;
  translate: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition: box-shadow .18s ease, background-color .18s ease, border-color .18s ease !important;
}
html body.site-header-hidden #headerContainer,
html body.site-header-hidden #header-container,
html body.topic94-header-hidden #headerContainer,
html body.topic94-header-hidden #header-container,
html body.site-header-hidden #headerContainer .header,
html body.site-header-hidden #header-container .header,
html body.site-header-hidden header.header,
html body.site-header-hidden .header,
html body.topic94-header-hidden #headerContainer .header,
html body.topic94-header-hidden #header-container .header,
html body.topic94-header-hidden header.header,
html body.topic94-header-hidden .header {
  transform: none !important;
  translate: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
html body.site-header-pinned #headerContainer .header,
html body.site-header-pinned #header-container .header,
html body.site-header-pinned header.header,
html body.site-header-pinned .header,
html body.site-header-visible #headerContainer .header,
html body.site-header-visible #header-container .header,
html body.site-header-visible header.header,
html body.site-header-visible .header {
  transform: none !important;
  translate: none !important;
}

/* Topic 94 2026-09-09 r8: fixed global header, reliable across page wrapper structures. */
html body {
  --topic94-header-h: 80px;
  padding-top: var(--topic94-header-h) !important;
  scroll-padding-top: calc(var(--topic94-header-h) + 12px) !important;
}
html body #headerContainer,
html body #header-container {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 2147483000 !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
html body #headerContainer .header,
html body #header-container .header,
html body header.header,
html body .header {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  z-index: 2147483000 !important;
  transform: none !important;
  translate: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
html body.site-header-hidden #headerContainer,
html body.site-header-hidden #header-container,
html body.topic94-header-hidden #headerContainer,
html body.topic94-header-hidden #header-container,
html body.site-header-hidden #headerContainer .header,
html body.site-header-hidden #header-container .header,
html body.site-header-hidden header.header,
html body.site-header-hidden .header,
html body.topic94-header-hidden #headerContainer .header,
html body.topic94-header-hidden #header-container .header,
html body.topic94-header-hidden header.header,
html body.topic94-header-hidden .header {
  top: 0 !important;
  transform: none !important;
  translate: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
@media (max-width: 760px) {
  html body { --topic94-header-h: 80px; }
}

/* Topic 94 2026-09-09 r9: homepage duplicate arrow + sponsor contact CTA cleanup. */
html body .topic94-back-to-top {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
html body .sponsor-board__value-cta,
html body .sponsor-board__value-card .sponsor-board__value-cta {
  display: grid !important;
  gap: 14px !important;
  align-content: center !important;
  min-height: 132px !important;
  padding: 22px 24px !important;
  background: linear-gradient(135deg, #07111d 0%, #10243f 58%, #050605 100%) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 18px 34px rgba(5,6,5,.22) !important;
  overflow: hidden !important;
}
html body .sponsor-board__value-cta,
html body .sponsor-board__value-cta * {
  color: #fff !important;
}
html body .sponsor-board__value-cta::before {
  content: "" !important;
  position: absolute !important;
  inset: auto -42px -56px auto !important;
  width: 150px !important;
  height: 150px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.12) !important;
  pointer-events: none !important;
}
html body .sponsor-board__value-cta > span,
html body .sponsor-board__value-cta .sponsor-board__cta-row {
  position: relative !important;
  z-index: 1 !important;
}
html body .sponsor-board__value-cta .sponsor-board__cta-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
}
html body .sponsor-board__value-cta .sponsor-board__cta-row strong {
  color: #fff !important;
  font-weight: 950 !important;
  line-height: 1.05 !important;
}
html body .sponsor-board__value-cta .sponsor-board__cta-row em {
  flex: 0 0 38px !important;
  width: 38px !important;
  height: 38px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #07111d !important;
  font-style: normal !important;
  font-size: 24px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.18) !important;
  transform: translateY(0) !important;
}
html body .sponsor-board__value-cta:hover .sponsor-board__cta-row em {
  transform: translateX(2px) !important;
}
html body .sponsor-board__value-cta span:not(.sponsor-board__cta-row) {
  color: rgba(255,255,255,.82) !important;
  line-height: 1.45 !important;
}
@media (max-width: 760px) {
  html body .sponsor-board__value-cta { min-height: 116px !important; padding: 18px !important; }
  html body .sponsor-board__value-cta .sponsor-board__cta-row em { flex-basis: 34px !important; width: 34px !important; height: 34px !important; font-size: 21px !important; }
}

/* Topic 94 2026-09-09 r10: homepage wider feature blocks + soft reveal mechanics. */
html body .faces-feature {
  width: min(100% - 48px, 1320px) !important;
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(22px, 3.2vw, 48px) !important;
  padding-right: clamp(22px, 3.2vw, 48px) !important;
  grid-template-columns: minmax(360px, .88fr) minmax(520px, 1.12fr) !important;
  column-gap: clamp(30px, 5vw, 78px) !important;
}
html body .faces-feature__panel,
html body .faces-athlete-card {
  width: 100% !important;
  max-width: none !important;
}
html body .faces-athlete-card {
  min-height: clamp(430px, 36vw, 560px) !important;
}
html body .ioc-upcoming-section.ioc-tournaments-showcase,
html body #homeCalendarSection {
  width: min(100% - 44px, 1340px) !important;
  max-width: 1340px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(22px, 3vw, 44px) !important;
  padding-right: clamp(22px, 3vw, 44px) !important;
}
html body #homeUpcomingEventsGrid.ioc-upcoming-grid,
html body .ioc-tournaments-showcase .ioc-upcoming-grid {
  gap: clamp(18px, 2.2vw, 32px) !important;
}
html body .ioc-tournaments-showcase .ioc-upcoming-card {
  min-height: 236px !important;
}
html body .ioc-tournaments-showcase .ioc-upcoming-card.is-featured {
  min-height: 496px !important;
}
html body .ioc-tournaments-showcase .ioc-upcoming-card:not(.is-featured) {
  grid-template-columns: minmax(210px, 250px) minmax(0, 1fr) !important;
}
html body .ioc-tournaments-showcase .ioc-upcoming-body {
  padding: clamp(24px, 2.2vw, 34px) !important;
}
html body .ioc-tournaments-showcase .ioc-upcoming-body h3 {
  font-size: clamp(28px, 2.7vw, 40px) !important;
}
html body .ioc-tournaments-showcase .ioc-upcoming-card:not(.is-featured) .ioc-upcoming-body h3 {
  font-size: clamp(23px, 1.7vw, 29px) !important;
}

@media (min-width: 1180px) {
  html body .faces-feature { width: min(100% - 32px, 1380px) !important; max-width: 1380px !important; }
  html body #homeCalendarSection { width: min(100% - 32px, 1380px) !important; max-width: 1380px !important; }
}
@media (max-width: 900px) {
  html body .faces-feature {
    width: calc(100% - 24px) !important;
    grid-template-columns: 1fr !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  html body .faces-athlete-card { min-height: 420px !important; }
  html body #homeCalendarSection { width: calc(100% - 24px) !important; padding-left: 18px !important; padding-right: 18px !important; }
  html body .ioc-tournaments-showcase .ioc-upcoming-card,
  html body .ioc-tournaments-showcase .ioc-upcoming-card.is-featured { min-height: auto !important; }
  html body .ioc-tournaments-showcase .ioc-upcoming-card:not(.is-featured) { grid-template-columns: 1fr !important; }
}

@media (prefers-reduced-motion: no-preference) {
  html body .topic94-reveal {
    opacity: 0;
    transform: translate3d(0, 28px, 0);
    transition: opacity .72s cubic-bezier(.2,.8,.2,1), transform .72s cubic-bezier(.2,.8,.2,1), filter .72s cubic-bezier(.2,.8,.2,1);
    filter: blur(8px);
    will-change: opacity, transform, filter;
  }
  html body .topic94-reveal.topic94-reveal--left { transform: translate3d(-34px, 18px, 0); }
  html body .topic94-reveal.topic94-reveal--right { transform: translate3d(34px, 18px, 0); }
  html body .topic94-reveal.topic94-reveal--zoom { transform: translate3d(0, 24px, 0) scale(.975); }
  html body .topic94-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
  }
  html body .topic94-reveal-delay-1 { transition-delay: .08s; }
  html body .topic94-reveal-delay-2 { transition-delay: .16s; }
  html body .topic94-reveal-delay-3 { transition-delay: .24s; }
}
@media (prefers-reduced-motion: reduce) {
  html body .topic94-reveal { opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; }
}

/* Topic 94 2026-09-09 r11: fix homepage tournaments clipping + hero text legibility. */
html body .ioc-upcoming-section.ioc-tournaments-showcase,
html body #homeCalendarSection {
  box-sizing: border-box !important;
  width: min(calc(100% - 40px), 1360px) !important;
  max-width: 1360px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow: visible !important;
  padding-left: clamp(22px, 3vw, 48px) !important;
  padding-right: clamp(22px, 3vw, 48px) !important;
}
html body #homeUpcomingEventsGrid,
html body .ioc-tournaments-showcase .ioc-upcoming-grid {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}
html body .ioc-tournament-feature-wrap,
html body .ioc-tournament-switcher,
html body .ioc-tournaments-showcase .ioc-upcoming-card {
  box-sizing: border-box !important;
  max-width: 100% !important;
}

html body .hero-section h1,
html body .hero-section .hero-title,
html body .hero-content h1,
html body .hero h1,
html body .main-hero h1,
html body .olympic-hero h1,
html body .ioc-hero-section h1 {
  color: #fff !important;
  text-shadow: 0 2px 3px rgba(0,0,0,.92), 0 10px 28px rgba(0,0,0,.62), 0 0 1px rgba(255,255,255,.32) !important;
  -webkit-text-stroke: .45px rgba(0,0,0,.28) !important;
}
html body .hero-section p,
html body .hero-section .hero-subtitle,
html body .hero-content p,
html body .hero p,
html body .main-hero p,
html body .olympic-hero p,
html body .ioc-hero-section p {
  color: rgba(255,255,255,.94) !important;
  text-shadow: 0 2px 3px rgba(0,0,0,.86), 0 8px 22px rgba(0,0,0,.54) !important;
}
html body .hero-section .hero-content,
html body .hero .hero-content,
html body .main-hero .hero-content,
html body .olympic-hero .hero-content,
html body .ioc-hero-section .hero-content {
  background: linear-gradient(90deg, rgba(5,6,5,.62), rgba(5,6,5,.34) 66%, rgba(5,6,5,.12)) !important;
  backdrop-filter: blur(4px) saturate(1.04) !important;
  -webkit-backdrop-filter: blur(4px) saturate(1.04) !important;
}
@media (max-width: 760px) {
  html body #homeCalendarSection { width: calc(100% - 24px) !important; overflow: visible !important; }
  html body .hero-section .hero-content,
  html body .hero .hero-content,
  html body .main-hero .hero-content,
  html body .olympic-hero .hero-content,
  html body .ioc-hero-section .hero-content { background: rgba(5,6,5,.58) !important; }
}

/* Topic 94 2026-09-09 r12: homepage top news hero text contrast. */
html body .ioc-news-stage__hero,
html body #homeNewsSlider {
  --topic94-hero-glass: rgba(5, 6, 5, .66);
}
html body .ioc-news-stage__hero::before,
html body #homeNewsSlider::before {
  background: linear-gradient(90deg, rgba(5,6,5,.76) 0%, rgba(5,6,5,.56) 42%, rgba(5,6,5,.22) 74%, rgba(5,6,5,.08) 100%) !important;
}
html body .ioc-news-stage__hero h2,
html body .ioc-news-stage__hero h3,
html body .ioc-news-stage__hero strong,
html body .ioc-news-stage__hero p,
html body .ioc-news-stage__hero span,
html body #homeNewsSlider h2,
html body #homeNewsSlider h3,
html body #homeNewsSlider strong,
html body #homeNewsSlider p,
html body #homeNewsSlider span {
  color: #fff !important;
  text-shadow: 0 2px 3px rgba(0,0,0,.92), 0 10px 28px rgba(0,0,0,.64), 0 0 1px rgba(255,255,255,.25) !important;
}
html body .ioc-news-stage__hero :is(.ioc-news-slide__content,.ioc-news-card__content,.ioc-news-empty),
html body #homeNewsSlider :is(.ioc-news-slide__content,.ioc-news-card__content,.ioc-news-empty) {
  background: linear-gradient(135deg, rgba(5,6,5,.68), rgba(5,6,5,.42)) !important;
  backdrop-filter: blur(6px) saturate(1.05) !important;
  -webkit-backdrop-filter: blur(6px) saturate(1.05) !important;
}
@media (max-width: 760px) {
  html body .ioc-news-stage__hero::before,
  html body #homeNewsSlider::before { background: rgba(5,6,5,.58) !important; }
}

/* Topic 94 2026-09-09 r13: override older hidden overflow and center tournaments showcase. */
html body main.ioc-site > section#homeCalendarSection.ioc-upcoming-section.ioc-tournaments-showcase,
html body main.main-content > section#homeCalendarSection.ioc-upcoming-section.ioc-tournaments-showcase,
html body section#homeCalendarSection.ioc-upcoming-section.ioc-tournaments-showcase.fmr-motion-reveal,
html body section#homeCalendarSection.ioc-upcoming-section.ioc-tournaments-showcase {
  width: min(calc(100% - 48px), 1360px) !important;
  max-width: 1360px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  clip-path: none !important;
  contain: none !important;
}
html body section#homeCalendarSection.ioc-upcoming-section.ioc-tournaments-showcase::before,
html body section#homeCalendarSection.ioc-upcoming-section.ioc-tournaments-showcase::after {
  pointer-events: none !important;
}
@media (max-width: 760px) {
  html body section#homeCalendarSection.ioc-upcoming-section.ioc-tournaments-showcase {
    width: calc(100% - 24px) !important;
  }
}

/* Topic 94 2026-09-09 r14: undo overdone homepage changes; keep only no-crop + text outline. */
/* Top news hero: remove extra text glass added in r12, keep letter-level readability only. */
html body .ioc-news-stage__hero :is(.ioc-news-slide__content,.ioc-news-card__content,.ioc-news-empty),
html body #homeNewsSlider :is(.ioc-news-slide__content,.ioc-news-card__content,.ioc-news-empty) {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
html body .ioc-news-stage__hero::before,
html body #homeNewsSlider::before {
  background: revert-layer !important;
}
html body .ioc-news-stage__hero h2,
html body .ioc-news-stage__hero h3,
html body .ioc-news-stage__hero strong,
html body .ioc-news-stage__hero p,
html body .ioc-news-stage__hero span,
html body #homeNewsSlider h2,
html body #homeNewsSlider h3,
html body #homeNewsSlider strong,
html body #homeNewsSlider p,
html body #homeNewsSlider span {
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.95), 0 3px 10px rgba(0,0,0,.72), 0 0 1px rgba(0,0,0,.9) !important;
  -webkit-text-stroke: .35px rgba(0,0,0,.34) !important;
}

/* Tournaments: return original-feeling scale; fix only clipping/centering. */
html body main.ioc-site > section#homeCalendarSection.ioc-upcoming-section.ioc-tournaments-showcase,
html body section#homeCalendarSection.ioc-upcoming-section.ioc-tournaments-showcase {
  width: min(100% - 48px, 1240px) !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  clip-path: none !important;
  contain: none !important;
}
html body #homeUpcomingEventsGrid.ioc-upcoming-grid,
html body .ioc-tournaments-showcase .ioc-upcoming-grid {
  width: 100% !important;
  max-width: 100% !important;
  gap: 24px !important;
  overflow: visible !important;
}
html body .ioc-tournaments-showcase .ioc-upcoming-card,
html body .ioc-tournaments-showcase .ioc-upcoming-card.is-featured {
  min-height: revert-layer !important;
}
html body .ioc-tournaments-showcase .ioc-upcoming-card:not(.is-featured) {
  grid-template-columns: 190px 1fr !important;
}
html body .ioc-tournaments-showcase .ioc-upcoming-body {
  padding: 24px !important;
}
html body .ioc-tournaments-showcase .ioc-upcoming-body h3 {
  font-size: 32px !important;
}
html body .ioc-tournaments-showcase .ioc-upcoming-card:not(.is-featured) .ioc-upcoming-body h3 {
  font-size: 23px !important;
}
@media (max-width: 900px) {
  html body section#homeCalendarSection.ioc-upcoming-section.ioc-tournaments-showcase {
    width: calc(100% - 24px) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  html body .ioc-tournaments-showcase .ioc-upcoming-card:not(.is-featured) { grid-template-columns: 1fr !important; }
  html body .ioc-tournaments-showcase .ioc-upcoming-body { padding: 22px !important; }
  html body .ioc-tournaments-showcase .ioc-upcoming-body h3,
  html body .ioc-tournaments-showcase .ioc-upcoming-card:not(.is-featured) .ioc-upcoming-body h3 { font-size: clamp(24px, 7vw, 31px) !important; }
}

/* Topic 94 2026-09-09 r15: calmer homepage backgrounds, wider tournament shell, safer text rhythm. */
html body .ioc-news-stage__hero h2,
html body .ioc-news-stage__hero h3,
html body .ioc-news-stage__hero strong,
html body #homeNewsSlider h2,
html body #homeNewsSlider h3,
html body #homeNewsSlider strong {
  line-height: 1.04 !important;
  letter-spacing: -.035em !important;
  margin-bottom: .22em !important;
  text-wrap: balance !important;
}
html body .ioc-news-stage__hero p,
html body #homeNewsSlider p {
  line-height: 1.52 !important;
  margin-top: .45em !important;
  max-width: 64ch !important;
}
html body .ioc-news-stage__hero :is(.ioc-news-slide__meta,.ioc-news-card__meta),
html body #homeNewsSlider :is(.ioc-news-slide__meta,.ioc-news-card__meta) {
  margin-bottom: 12px !important;
}

/* Same letter-level readability for the "Материалы/Новости" rail, without extra glass blocks. */
html body .ioc-latest-stage h2,
html body .ioc-latest-stage h3,
html body .ioc-latest-stage strong,
html body .ioc-latest-stage .ioc-latest-stage__ghost,
html body .ioc-latest-stage__rail :is(h3,strong,p,span) {
  text-shadow: 0 1px 2px rgba(0,0,0,.18), 0 0 1px rgba(255,255,255,.42) !important;
  -webkit-text-stroke: .18px rgba(5,6,5,.12) !important;
}

/* Tournaments: align shell width with "Мнемоспорт в лицах", but keep card scale from r14. */
html body main.ioc-site > section#homeCalendarSection.ioc-upcoming-section.ioc-tournaments-showcase,
html body section#homeCalendarSection.ioc-upcoming-section.ioc-tournaments-showcase {
  width: min(calc(100% - 48px), 1380px) !important;
  max-width: 1380px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: clamp(56px, 5.5vw, 82px) clamp(34px, 5vw, 70px) clamp(62px, 5.8vw, 88px) !important;
  overflow: visible !important;
  background:
    radial-gradient(circle at 16% 12%, rgba(21,101,216,.16), transparent 30%),
    radial-gradient(circle at 88% 22%, rgba(184,154,94,.18), transparent 34%),
    linear-gradient(135deg, #f6f8fb 0%, #eef3f8 46%, #f8f3e8 100%) !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  box-shadow: 0 24px 70px rgba(15,23,42,.08) !important;
}
html body #homeUpcomingEventsGrid.ioc-upcoming-grid,
html body .ioc-tournaments-showcase .ioc-upcoming-grid {
  width: min(100%, 1240px) !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
html body .ioc-tournaments-showcase .ioc-section-head,
html body .ioc-tournaments-showcase__head {
  width: min(100%, 1240px) !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 900px) {
  html body section#homeCalendarSection.ioc-upcoming-section.ioc-tournaments-showcase {
    width: calc(100% - 24px) !important;
    padding: 42px 18px 48px !important;
  }
  html body #homeUpcomingEventsGrid.ioc-upcoming-grid,
  html body .ioc-tournaments-showcase .ioc-upcoming-grid,
  html body .ioc-tournaments-showcase .ioc-section-head,
  html body .ioc-tournaments-showcase__head {
    width: 100% !important;
  }
}

/* Topic 94 2026-09-09 r16: continuous soft homepage background, no hard white seams. */
html body.messenger-page:has(main.ioc-site),
html body.messenger-page.home-page,
html body:has(#homeNewsSliderSection) {
  background:
    radial-gradient(circle at 10% 8%, rgba(21,101,216,.075), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(184,154,94,.10), transparent 30%),
    radial-gradient(circle at 18% 72%, rgba(21,101,216,.055), transparent 34%),
    linear-gradient(180deg, #f7f9fc 0%, #f3f7fb 34%, #f7f4ec 68%, #f7f9fc 100%) !important;
  background-attachment: fixed !important;
}
html body main.ioc-site,
html body .main-content.ioc-site {
  background:
    linear-gradient(180deg, rgba(247,249,252,.86) 0%, rgba(243,247,251,.78) 34%, rgba(248,244,236,.74) 70%, rgba(247,249,252,.88) 100%) !important;
  overflow-x: hidden !important;
}
html body main.ioc-site > section:not(.ioc-news-stage),
html body .main-content.ioc-site > section:not(.ioc-news-stage) {
  position: relative !important;
  border-top-color: rgba(15,23,42,.055) !important;
  border-bottom-color: rgba(15,23,42,.055) !important;
}
html body main.ioc-site > section:not(.ioc-news-stage):not(#homeCalendarSection):not(.faces-feature),
html body .main-content.ioc-site > section:not(.ioc-news-stage):not(#homeCalendarSection):not(.faces-feature) {
  background-color: transparent !important;
}
html body .ioc-latest-stage,
html body .ioc-magazine-section,
html body .ioc-faq-section,
html body .sponsor-board,
html body .ioc-social-section,
html body .ioc-history-section {
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.56), rgba(255,255,255,.28)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.52), inset 0 -1px 0 rgba(15,23,42,.035) !important;
}
html body .faces-feature {
  background:
    radial-gradient(circle at 12% 14%, rgba(21,101,216,.08), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.84), rgba(246,249,252,.72)) !important;
}
html body section#homeCalendarSection.ioc-upcoming-section.ioc-tournaments-showcase {
  background:
    radial-gradient(circle at 16% 10%, rgba(21,101,216,.13), transparent 31%),
    radial-gradient(circle at 86% 18%, rgba(184,154,94,.14), transparent 35%),
    linear-gradient(135deg, rgba(246,248,251,.94) 0%, rgba(239,244,249,.88) 48%, rgba(248,244,236,.92) 100%) !important;
}
html body .ioc-latest-stage::before,
html body .ioc-magazine-section::before,
html body .ioc-faq-section::before,
html body .sponsor-board::before,
html body .ioc-social-section::before,
html body .ioc-history-section::before {
  opacity: .22 !important;
}
@media (max-width: 760px) {
  html body.messenger-page:has(main.ioc-site),
  html body:has(#homeNewsSliderSection) {
    background-attachment: scroll !important;
    background:
      radial-gradient(circle at 8% 4%, rgba(21,101,216,.08), transparent 30%),
      radial-gradient(circle at 92% 20%, rgba(184,154,94,.10), transparent 34%),
      linear-gradient(180deg, #f7f9fc 0%, #f3f7fb 42%, #f8f4ec 78%, #f7f9fc 100%) !important;
  }
  html body .ioc-latest-stage,
  html body .ioc-magazine-section,
  html body .ioc-faq-section,
  html body .sponsor-board,
  html body .ioc-social-section,
  html body .ioc-history-section {
    background-image: linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.34)) !important;
  }
}

/* Topic 94 2026-09-09 r17: stronger continuous homepage surface overrides. */
html body.messenger-page main.main-content.ioc-site,
html body.messenger-page main.ioc-site,
html body main.main-content.ioc-site:has(#homeNewsSliderSection) {
  background:
    linear-gradient(180deg, rgba(247,249,252,.88) 0%, rgba(243,247,251,.80) 34%, rgba(248,244,236,.76) 70%, rgba(247,249,252,.90) 100%) !important;
}
html body.messenger-page main.ioc-site > section.ioc-latest-stage,
html body.messenger-page main.ioc-site > section.ioc-magazine-section,
html body.messenger-page main.ioc-site > section.ioc-faq-section,
html body.messenger-page main.ioc-site > section.sponsor-board,
html body.messenger-page main.ioc-site > section.ioc-social-section,
html body.messenger-page main.ioc-site > section.ioc-history-section {
  background:
    linear-gradient(180deg, rgba(255,255,255,.50), rgba(255,255,255,.24)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.44),
    inset 0 -1px 0 rgba(15,23,42,.025) !important;
}
html body.messenger-page main.ioc-site > section.ioc-latest-stage {
  background:
    linear-gradient(180deg, rgba(255,255,255,.42), rgba(247,249,252,.22)) !important;
}
html body.messenger-page main.ioc-site > section.ioc-magazine-section {
  background:
    radial-gradient(circle at 82% 8%, rgba(21,101,216,.055), transparent 28%),
    linear-gradient(180deg, rgba(247,249,252,.36), rgba(248,244,236,.24)) !important;
}
html body.messenger-page main.ioc-site > section.sponsor-board {
  background:
    radial-gradient(circle at 12% 12%, rgba(184,154,94,.10), transparent 30%),
    linear-gradient(180deg, rgba(248,244,236,.34), rgba(247,249,252,.28)) !important;
}
@media (max-width: 760px) {
  html body.messenger-page main.ioc-site > section.ioc-latest-stage,
  html body.messenger-page main.ioc-site > section.ioc-magazine-section,
  html body.messenger-page main.ioc-site > section.ioc-faq-section,
  html body.messenger-page main.ioc-site > section.sponsor-board,
  html body.messenger-page main.ioc-site > section.ioc-social-section,
  html body.messenger-page main.ioc-site > section.ioc-history-section {
    background: linear-gradient(180deg, rgba(255,255,255,.54), rgba(255,255,255,.30)) !important;
  }
}

/* Topic 94 2026-09-09 r18: subtle associative-memory network background for homepage. */
html body:has(#homeNewsSliderSection)::before {
  content: "" !important;
  position: fixed !important;
  inset: 80px 0 0 !important;
  z-index: -2 !important;
  pointer-events: none !important;
  opacity: .64 !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(21,101,216,.16) 0 2px, transparent 3px),
    radial-gradient(circle at 42% 28%, rgba(184,154,94,.18) 0 2px, transparent 3px),
    radial-gradient(circle at 74% 16%, rgba(21,101,216,.13) 0 2px, transparent 3px),
    radial-gradient(circle at 28% 58%, rgba(15,23,42,.12) 0 2px, transparent 3px),
    radial-gradient(circle at 63% 66%, rgba(184,154,94,.15) 0 2px, transparent 3px),
    radial-gradient(circle at 86% 52%, rgba(21,101,216,.14) 0 2px, transparent 3px),
    linear-gradient(112deg, transparent 0 17%, rgba(21,101,216,.055) 17.1% 17.32%, transparent 17.45% 38%, rgba(184,154,94,.055) 38.1% 38.34%, transparent 38.5% 62%, rgba(21,101,216,.045) 62.1% 62.32%, transparent 62.5%),
    linear-gradient(34deg, transparent 0 22%, rgba(15,23,42,.04) 22.08% 22.26%, transparent 22.42% 51%, rgba(184,154,94,.048) 51.08% 51.28%, transparent 51.45%);
  background-size: 820px 620px, 920px 700px, 760px 560px, 880px 640px, 780px 590px, 860px 610px, 980px 720px, 1040px 760px !important;
  background-position: 0 0, 120px 40px, 260px 20px, 80px 220px, 320px 260px, 520px 170px, 0 0, 120px 80px !important;
  filter: saturate(1.05) blur(.1px) !important;
}
html body:has(#homeNewsSliderSection)::after {
  content: "" !important;
  position: fixed !important;
  inset: 80px 0 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  opacity: .34 !important;
  background:
    radial-gradient(circle at 24% 30%, rgba(255,255,255,.74), transparent 14%),
    radial-gradient(circle at 70% 42%, rgba(255,255,255,.62), transparent 18%),
    linear-gradient(180deg, rgba(247,249,252,.46), rgba(248,244,236,.34)) !important;
  mix-blend-mode: screen !important;
}
@media (prefers-reduced-motion: no-preference) {
  html body:has(#homeNewsSliderSection)::before {
    animation: topic94MemoryNetworkDrift 26s ease-in-out infinite alternate !important;
  }
  html body:has(#homeNewsSliderSection)::after {
    animation: topic94MemoryGlowBreathe 18s ease-in-out infinite alternate !important;
  }
  @keyframes topic94MemoryNetworkDrift {
    0% { background-position: 0 0, 120px 40px, 260px 20px, 80px 220px, 320px 260px, 520px 170px, 0 0, 120px 80px; opacity: .54; }
    48% { opacity: .68; }
    100% { background-position: 32px -26px, 88px 66px, 298px -10px, 44px 250px, 356px 230px, 486px 205px, 42px -18px, 76px 112px; opacity: .62; }
  }
  @keyframes topic94MemoryGlowBreathe {
    0% { transform: translate3d(0,0,0) scale(1); opacity: .26; }
    100% { transform: translate3d(0,-12px,0) scale(1.015); opacity: .40; }
  }
}
@media (max-width: 760px) {
  html body:has(#homeNewsSliderSection)::before,
  html body:has(#homeNewsSliderSection)::after {
    inset-top: 80px !important;
    opacity: .34 !important;
    background-size: 520px 520px, 560px 580px, 520px 500px, 560px 540px, 520px 520px, 580px 560px, 640px 620px, 700px 640px !important;
  }
}

/* Topic 94 2026-09-09 r19: put memory-network layer on main, avoiding body pseudo conflicts. */
html body.messenger-page main.ioc-site,
html body main.main-content.ioc-site:has(#homeNewsSliderSection) {
  position: relative !important;
  isolation: isolate !important;
}
html body.messenger-page main.ioc-site::before,
html body main.main-content.ioc-site:has(#homeNewsSliderSection)::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  opacity: .52 !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(21,101,216,.16) 0 2px, transparent 3px),
    radial-gradient(circle at 42% 28%, rgba(184,154,94,.18) 0 2px, transparent 3px),
    radial-gradient(circle at 74% 16%, rgba(21,101,216,.13) 0 2px, transparent 3px),
    radial-gradient(circle at 28% 58%, rgba(15,23,42,.12) 0 2px, transparent 3px),
    radial-gradient(circle at 63% 66%, rgba(184,154,94,.15) 0 2px, transparent 3px),
    radial-gradient(circle at 86% 52%, rgba(21,101,216,.14) 0 2px, transparent 3px),
    linear-gradient(112deg, transparent 0 17%, rgba(21,101,216,.055) 17.1% 17.32%, transparent 17.45% 38%, rgba(184,154,94,.055) 38.1% 38.34%, transparent 38.5% 62%, rgba(21,101,216,.045) 62.1% 62.32%, transparent 62.5%),
    linear-gradient(34deg, transparent 0 22%, rgba(15,23,42,.04) 22.08% 22.26%, transparent 22.42% 51%, rgba(184,154,94,.048) 51.08% 51.28%, transparent 51.45%) !important;
  background-size: 820px 620px, 920px 700px, 760px 560px, 880px 640px, 780px 590px, 860px 610px, 980px 720px, 1040px 760px !important;
  background-position: 0 0, 120px 40px, 260px 20px, 80px 220px, 320px 260px, 520px 170px, 0 0, 120px 80px !important;
}
@media (prefers-reduced-motion: no-preference) {
  html body.messenger-page main.ioc-site::before,
  html body main.main-content.ioc-site:has(#homeNewsSliderSection)::before {
    animation: topic94MemoryNetworkDrift 26s ease-in-out infinite alternate !important;
  }
}
@media (max-width: 760px) {
  html body.messenger-page main.ioc-site::before,
  html body main.main-content.ioc-site:has(#homeNewsSliderSection)::before {
    opacity: .30 !important;
    background-size: 520px 520px, 560px 580px, 520px 500px, 560px 540px, 520px 520px, 580px 560px, 640px 620px, 700px 640px !important;
  }
}

/* Topic 94 2026-09-09 r20: make associative-memory network actually visible, still below content. */
html body.messenger-page main.ioc-site,
html body main.main-content.ioc-site:has(#homeNewsSliderSection) {
  position: relative !important;
  isolation: isolate !important;
}
html body.messenger-page main.ioc-site::before,
html body main.main-content.ioc-site:has(#homeNewsSliderSection)::before {
  content: "" !important;
  position: fixed !important;
  inset: 80px 0 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: .82 !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(21,101,216,.34) 0 2px, transparent 3.5px),
    radial-gradient(circle at 34% 30%, rgba(184,154,94,.34) 0 2px, transparent 3.5px),
    radial-gradient(circle at 58% 20%, rgba(21,101,216,.28) 0 2px, transparent 3.5px),
    radial-gradient(circle at 78% 38%, rgba(15,23,42,.24) 0 2px, transparent 3.5px),
    radial-gradient(circle at 24% 62%, rgba(15,23,42,.22) 0 2px, transparent 3.5px),
    radial-gradient(circle at 52% 68%, rgba(184,154,94,.30) 0 2px, transparent 3.5px),
    radial-gradient(circle at 86% 72%, rgba(21,101,216,.30) 0 2px, transparent 3.5px),
    linear-gradient(28deg, transparent 0 21%, rgba(21,101,216,.15) 21.05% 21.28%, transparent 21.45% 48%, rgba(184,154,94,.14) 48.05% 48.30%, transparent 48.48%),
    linear-gradient(118deg, transparent 0 16%, rgba(15,23,42,.105) 16.05% 16.24%, transparent 16.40% 45%, rgba(21,101,216,.12) 45.05% 45.28%, transparent 45.45% 74%, rgba(184,154,94,.12) 74.05% 74.28%, transparent 74.45%) !important;
  background-size: 760px 560px, 840px 620px, 740px 540px, 880px 660px, 820px 620px, 760px 560px, 880px 640px, 920px 680px, 980px 720px !important;
  background-position: 0 0, 100px 40px, 260px 10px, 420px 80px, 40px 240px, 300px 280px, 520px 300px, 0 0, 90px 60px !important;
  mix-blend-mode: multiply !important;
}
html body.messenger-page main.ioc-site > section,
html body main.main-content.ioc-site:has(#homeNewsSliderSection) > section {
  position: relative !important;
  z-index: 1 !important;
}
html body.messenger-page main.ioc-site > section.ioc-latest-stage,
html body.messenger-page main.ioc-site > section.ioc-magazine-section,
html body.messenger-page main.ioc-site > section.ioc-faq-section,
html body.messenger-page main.ioc-site > section.sponsor-board,
html body.messenger-page main.ioc-site > section.ioc-social-section,
html body.messenger-page main.ioc-site > section.ioc-history-section {
  background-color: rgba(255,255,255,.42) !important;
}
@media (prefers-reduced-motion: no-preference) {
  html body.messenger-page main.ioc-site::before,
  html body main.main-content.ioc-site:has(#homeNewsSliderSection)::before {
    animation: topic94MemoryNetworkDrift 22s ease-in-out infinite alternate !important;
  }
}
@media (max-width: 760px) {
  html body.messenger-page main.ioc-site::before,
  html body main.main-content.ioc-site:has(#homeNewsSliderSection)::before {
    opacity: .56 !important;
    background-size: 460px 440px, 520px 480px, 500px 460px, 540px 500px, 480px 460px, 500px 470px, 540px 500px, 580px 540px, 620px 560px !important;
  }
}

/* Topic 94 2026-09-09 r21: make memory-network visible on section surfaces, not hidden under them. */
html body.messenger-page main.ioc-site > section:is(.ioc-latest-stage,.faces-feature,#homeCalendarSection,.ioc-magazine-section,.ioc-faq-section,.sponsor-board,.ioc-social-section,.ioc-history-section) {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}
html body.messenger-page main.ioc-site > section:is(.ioc-latest-stage,.faces-feature,#homeCalendarSection,.ioc-magazine-section,.ioc-faq-section,.sponsor-board,.ioc-social-section,.ioc-history-section)::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: .42 !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(21,101,216,.42) 0 2.4px, transparent 3.8px),
    radial-gradient(circle at 31% 30%, rgba(184,154,94,.38) 0 2.4px, transparent 3.8px),
    radial-gradient(circle at 55% 17%, rgba(21,101,216,.32) 0 2.2px, transparent 3.7px),
    radial-gradient(circle at 76% 38%, rgba(15,23,42,.28) 0 2.2px, transparent 3.7px),
    radial-gradient(circle at 24% 66%, rgba(15,23,42,.24) 0 2px, transparent 3.5px),
    radial-gradient(circle at 52% 72%, rgba(184,154,94,.34) 0 2.2px, transparent 3.7px),
    linear-gradient(28deg, transparent 0 21%, rgba(21,101,216,.20) 21.05% 21.34%, transparent 21.52% 48%, rgba(184,154,94,.18) 48.05% 48.34%, transparent 48.52%),
    linear-gradient(118deg, transparent 0 16%, rgba(15,23,42,.14) 16.05% 16.30%, transparent 16.48% 45%, rgba(21,101,216,.16) 45.05% 45.32%, transparent 45.50% 74%, rgba(184,154,94,.15) 74.05% 74.32%, transparent 74.50%) !important;
  background-size: 620px 460px, 680px 500px, 640px 470px, 720px 520px, 680px 500px, 620px 460px, 760px 540px, 820px 580px !important;
  background-position: 0 0, 80px 36px, 210px 0, 360px 70px, 20px 220px, 260px 240px, 0 0, 80px 40px !important;
  mix-blend-mode: multiply !important;
}
html body.messenger-page main.ioc-site > section:is(.ioc-latest-stage,.faces-feature,#homeCalendarSection,.ioc-magazine-section,.ioc-faq-section,.sponsor-board,.ioc-social-section,.ioc-history-section) > * {
  position: relative !important;
  z-index: 1 !important;
}
html body.messenger-page main.ioc-site > section.faces-feature::after,
html body.messenger-page main.ioc-site > section#homeCalendarSection::after,
html body.messenger-page main.ioc-site > section.sponsor-board::after {
  opacity: .52 !important;
}
@media (prefers-reduced-motion: no-preference) {
  html body.messenger-page main.ioc-site > section:is(.ioc-latest-stage,.faces-feature,#homeCalendarSection,.ioc-magazine-section,.ioc-faq-section,.sponsor-board,.ioc-social-section,.ioc-history-section)::after {
    animation: topic94MemoryNetworkDrift 20s ease-in-out infinite alternate !important;
  }
}
@media (max-width: 760px) {
  html body.messenger-page main.ioc-site > section:is(.ioc-latest-stage,.faces-feature,#homeCalendarSection,.ioc-magazine-section,.ioc-faq-section,.sponsor-board,.ioc-social-section,.ioc-history-section)::after {
    opacity: .34 !important;
    background-size: 420px 360px, 460px 380px, 440px 370px, 480px 390px, 460px 380px, 420px 360px, 520px 420px, 560px 440px !important;
  }
}

/* Topic 94 2026-09-09 r22: guaranteed visible memory-network as real section background layers. */
html body.messenger-page main.ioc-site > section.ioc-latest-stage,
html body.messenger-page main.ioc-site > section.faces-feature,
html body.messenger-page main.ioc-site > section#homeCalendarSection,
html body.messenger-page main.ioc-site > section.ioc-magazine-section,
html body.messenger-page main.ioc-site > section.ioc-faq-section,
html body.messenger-page main.ioc-site > section.sponsor-board,
html body.messenger-page main.ioc-site > section.ioc-social-section,
html body.messenger-page main.ioc-site > section.ioc-history-section {
  background-image:
    radial-gradient(circle at 12% 18%, rgba(21,101,216,.38) 0 2.6px, transparent 4px),
    radial-gradient(circle at 31% 30%, rgba(184,154,94,.36) 0 2.6px, transparent 4px),
    radial-gradient(circle at 55% 17%, rgba(21,101,216,.32) 0 2.4px, transparent 3.9px),
    radial-gradient(circle at 76% 38%, rgba(15,23,42,.26) 0 2.4px, transparent 3.9px),
    linear-gradient(28deg, transparent 0 21%, rgba(21,101,216,.20) 21.05% 21.38%, transparent 21.58% 48%, rgba(184,154,94,.18) 48.05% 48.38%, transparent 48.58%),
    linear-gradient(118deg, transparent 0 16%, rgba(15,23,42,.13) 16.05% 16.34%, transparent 16.52% 45%, rgba(21,101,216,.16) 45.05% 45.38%, transparent 45.58%),
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.46)) !important;
  background-size: 620px 460px, 680px 500px, 640px 470px, 720px 520px, 760px 540px, 820px 580px, auto !important;
  background-position: 0 0, 80px 36px, 210px 0, 360px 70px, 0 0, 80px 40px, 0 0 !important;
  background-blend-mode: multiply, multiply, multiply, multiply, multiply, multiply, normal !important;
}
html body.messenger-page main.ioc-site > section.faces-feature,
html body.messenger-page main.ioc-site > section#homeCalendarSection,
html body.messenger-page main.ioc-site > section.sponsor-board {
  background-image:
    radial-gradient(circle at 12% 18%, rgba(21,101,216,.48) 0 2.9px, transparent 4.4px),
    radial-gradient(circle at 31% 30%, rgba(184,154,94,.44) 0 2.9px, transparent 4.4px),
    radial-gradient(circle at 55% 17%, rgba(21,101,216,.40) 0 2.7px, transparent 4.2px),
    radial-gradient(circle at 76% 38%, rgba(15,23,42,.34) 0 2.7px, transparent 4.2px),
    linear-gradient(28deg, transparent 0 21%, rgba(21,101,216,.25) 21.05% 21.42%, transparent 21.64% 48%, rgba(184,154,94,.23) 48.05% 48.42%, transparent 48.64%),
    linear-gradient(118deg, transparent 0 16%, rgba(15,23,42,.17) 16.05% 16.38%, transparent 16.58% 45%, rgba(21,101,216,.20) 45.05% 45.42%, transparent 45.64%),
    linear-gradient(135deg, rgba(246,248,251,.78), rgba(248,244,236,.68)) !important;
}
@media (max-width: 760px) {
  html body.messenger-page main.ioc-site > section.ioc-latest-stage,
  html body.messenger-page main.ioc-site > section.faces-feature,
  html body.messenger-page main.ioc-site > section#homeCalendarSection,
  html body.messenger-page main.ioc-site > section.ioc-magazine-section,
  html body.messenger-page main.ioc-site > section.ioc-faq-section,
  html body.messenger-page main.ioc-site > section.sponsor-board,
  html body.messenger-page main.ioc-site > section.ioc-social-section,
  html body.messenger-page main.ioc-site > section.ioc-history-section {
    background-size: 360px 320px, 390px 340px, 370px 330px, 420px 360px, 460px 380px, 500px 400px, auto !important;
  }
}

/* Topic 94 2026-09-09 r23: restore section backgrounds; move detailed memory network to global page background. */
html:has(#homeNewsSliderSection),
html body:has(#homeNewsSliderSection),
html body.messenger-page:has(main.ioc-site) {
  background-color: #f7f9fc !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='980' viewBox='0 0 1440 980'%3E%3Cdefs%3E%3Cfilter id='soft'%3E%3CfeGaussianBlur stdDeviation='.18'/%3E%3C/filter%3E%3ClinearGradient id='blue' x1='0' x2='1'%3E%3Cstop stop-color='%231565d8' stop-opacity='.34'/%3E%3Cstop offset='1' stop-color='%23b89a5e' stop-opacity='.22'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='none' stroke-linecap='round' filter='url(%23soft)'%3E%3Cpath d='M80 170 C180 120 250 185 340 150 S520 80 640 145 S820 260 940 190 S1160 90 1320 155' stroke='url(%23blue)' stroke-width='1.8'/%3E%3Cpath d='M145 420 C240 350 330 455 440 385 S610 300 735 390 S925 525 1055 430 S1230 320 1370 405' stroke='%231565d8' stroke-opacity='.24' stroke-width='1.55'/%3E%3Cpath d='M60 700 C175 620 280 715 390 655 S585 550 720 640 S900 790 1060 690 S1260 590 1390 660' stroke='%23b89a5e' stroke-opacity='.27' stroke-width='1.65'/%3E%3Cpath d='M250 90 C245 220 330 275 420 350 S560 520 590 700' stroke='%230f172a' stroke-opacity='.12' stroke-width='1.2'/%3E%3Cpath d='M1030 105 C1005 235 1080 300 1160 370 S1300 520 1285 710' stroke='%230f172a' stroke-opacity='.13' stroke-width='1.2'/%3E%3C/g%3E%3Cg%3E%3Ccircle cx='80' cy='170' r='5.5' fill='%231565d8' fill-opacity='.42'/%3E%3Ccircle cx='340' cy='150' r='4.5' fill='%23b89a5e' fill-opacity='.42'/%3E%3Ccircle cx='640' cy='145' r='5' fill='%231565d8' fill-opacity='.36'/%3E%3Ccircle cx='940' cy='190' r='4.5' fill='%230f172a' fill-opacity='.22'/%3E%3Ccircle cx='1320' cy='155' r='5.5' fill='%23b89a5e' fill-opacity='.36'/%3E%3Ccircle cx='145' cy='420' r='4.5' fill='%230f172a' fill-opacity='.22'/%3E%3Ccircle cx='440' cy='385' r='5.5' fill='%231565d8' fill-opacity='.38'/%3E%3Ccircle cx='735' cy='390' r='4.5' fill='%23b89a5e' fill-opacity='.40'/%3E%3Ccircle cx='1055' cy='430' r='5.2' fill='%231565d8' fill-opacity='.32'/%3E%3Ccircle cx='1370' cy='405' r='4.5' fill='%230f172a' fill-opacity='.20'/%3E%3Ccircle cx='60' cy='700' r='5' fill='%23b89a5e' fill-opacity='.34'/%3E%3Ccircle cx='390' cy='655' r='4.5' fill='%231565d8' fill-opacity='.34'/%3E%3Ccircle cx='720' cy='640' r='5.5' fill='%230f172a' fill-opacity='.20'/%3E%3Ccircle cx='1060' cy='690' r='4.8' fill='%23b89a5e' fill-opacity='.38'/%3E%3Ccircle cx='1390' cy='660' r='5' fill='%231565d8' fill-opacity='.34'/%3E%3C/g%3E%3C/svg%3E"),
    radial-gradient(circle at 10% 8%, rgba(21,101,216,.085), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(184,154,94,.11), transparent 30%),
    linear-gradient(180deg, #f7f9fc 0%, #f3f7fb 34%, #f7f4ec 68%, #f7f9fc 100%) !important;
  background-size: min(1440px, 128vw) auto, auto, auto, auto !important;
  background-position: center 110px, center top, center top, center top !important;
  background-repeat: repeat-y, no-repeat, no-repeat, no-repeat !important;
  background-attachment: fixed, fixed, fixed, fixed !important;
}

/* Restore independent section backgrounds after r21/r22. */
html body.messenger-page main.ioc-site > section.ioc-latest-stage {
  background: linear-gradient(180deg, rgba(255,255,255,.42), rgba(247,249,252,.22)) !important;
}
html body.messenger-page main.ioc-site > section.faces-feature {
  background: radial-gradient(circle at 12% 14%, rgba(21,101,216,.08), transparent 32%), linear-gradient(135deg, rgba(255,255,255,.84), rgba(246,249,252,.72)) !important;
}
html body.messenger-page main.ioc-site > section#homeCalendarSection {
  background: radial-gradient(circle at 16% 10%, rgba(21,101,216,.13), transparent 31%), radial-gradient(circle at 86% 18%, rgba(184,154,94,.14), transparent 35%), linear-gradient(135deg, rgba(246,248,251,.94) 0%, rgba(239,244,249,.88) 48%, rgba(248,244,236,.92) 100%) !important;
}
html body.messenger-page main.ioc-site > section.ioc-magazine-section {
  background: radial-gradient(circle at 82% 8%, rgba(21,101,216,.055), transparent 28%), linear-gradient(180deg, rgba(247,249,252,.36), rgba(248,244,236,.24)) !important;
}
html body.messenger-page main.ioc-site > section.sponsor-board {
  background: radial-gradient(circle at 12% 12%, rgba(184,154,94,.10), transparent 30%), linear-gradient(180deg, rgba(248,244,236,.34), rgba(247,249,252,.28)) !important;
}
html body.messenger-page main.ioc-site > section.ioc-faq-section,
html body.messenger-page main.ioc-site > section.ioc-social-section,
html body.messenger-page main.ioc-site > section.ioc-history-section {
  background: linear-gradient(180deg, rgba(255,255,255,.50), rgba(255,255,255,.24)) !important;
}
html body.messenger-page main.ioc-site > section:is(.ioc-latest-stage,.faces-feature,#homeCalendarSection,.ioc-magazine-section,.ioc-faq-section,.sponsor-board,.ioc-social-section,.ioc-history-section)::after {
  content: none !important;
  display: none !important;
  background: none !important;
}
@media (prefers-reduced-motion: no-preference) {
  html:has(#homeNewsSliderSection), html body:has(#homeNewsSliderSection) {
    animation: topic94MemoryPageDrift 32s ease-in-out infinite alternate !important;
  }
  @keyframes topic94MemoryPageDrift {
    0% { background-position: center 110px, center top, center top, center top; }
    100% { background-position: calc(50% + 36px) 84px, center top, center top, center top; }
  }
}
@media (max-width: 760px) {
  html:has(#homeNewsSliderSection), html body:has(#homeNewsSliderSection), html body.messenger-page:has(main.ioc-site) {
    background-size: 920px auto, auto, auto, auto !important;
    background-position: center 96px, center top, center top, center top !important;
    background-attachment: scroll, scroll, scroll, scroll !important;
  }
}

/* Topic 94 2026-09-09 r24: real side illustration, not center graph/noise. */
html:has(#homeNewsSliderSection),
html body:has(#homeNewsSliderSection),
html body.messenger-page:has(main.ioc-site) {
  background-color: #f7f9fc !important;
  background-image:
    url('/assets/decor/memory-network-sides.svg'),
    radial-gradient(circle at 10% 8%, rgba(21,101,216,.07), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(184,154,94,.095), transparent 30%),
    linear-gradient(180deg, #f7f9fc 0%, #f3f7fb 34%, #f7f4ec 68%, #f7f9fc 100%) !important;
  background-size: 100vw auto, auto, auto, auto !important;
  background-position: center 120px, center top, center top, center top !important;
  background-repeat: repeat-y, no-repeat, no-repeat, no-repeat !important;
  background-attachment: fixed, fixed, fixed, fixed !important;
}
@media (prefers-reduced-motion: no-preference) {
  html:has(#homeNewsSliderSection),
  html body:has(#homeNewsSliderSection) {
    animation: topic94MemorySidesDrift 34s ease-in-out infinite alternate !important;
  }
  @keyframes topic94MemorySidesDrift {
    0% { background-position: center 120px, center top, center top, center top; }
    100% { background-position: center 82px, center top, center top, center top; }
  }
}
@media (max-width: 900px) {
  html:has(#homeNewsSliderSection),
  html body:has(#homeNewsSliderSection),
  html body.messenger-page:has(main.ioc-site) {
    background-size: 1280px auto, auto, auto, auto !important;
    background-position: center 96px, center top, center top, center top !important;
    background-attachment: scroll, scroll, scroll, scroll !important;
  }
}


/* Topic 94 2026-09-09 r25: reference-like side neural artwork, larger and cleaner. */
html:has(#homeNewsSliderSection),
html body:has(#homeNewsSliderSection),
html body.messenger-page:has(main.ioc-site) {
  background-color: #f8fafc !important;
  background-image:
    url('/assets/decor/memory-network-sides.svg'),
    linear-gradient(180deg, #ffffff 0%, #f7f9fc 38%, #f8f4ec 72%, #ffffff 100%) !important;
  background-size: max(1920px, 112vw) auto, auto !important;
  background-position: center 86px, center top !important;
  background-repeat: repeat-y, no-repeat !important;
  background-attachment: fixed, fixed !important;
}
@media (prefers-reduced-motion: no-preference) {
  html:has(#homeNewsSliderSection), html body:has(#homeNewsSliderSection) {
    animation: topic94MemorySidesDrift 42s ease-in-out infinite alternate !important;
  }
  @keyframes topic94MemorySidesDrift {
    0% { background-position: center 86px, center top; }
    100% { background-position: center 44px, center top; }
  }
}
@media (max-width: 900px) {
  html:has(#homeNewsSliderSection),
  html body:has(#homeNewsSliderSection),
  html body.messenger-page:has(main.ioc-site) {
    background-size: 1260px auto, auto !important;
    background-position: center 78px, center top !important;
    background-attachment: scroll, scroll !important;
  }
}

/* Topic 94 2026-09-09 r26: soft reference-like checker texture across the homepage background. */
html:has(#homeNewsSliderSection),
html body:has(#homeNewsSliderSection),
html body.messenger-page:has(main.ioc-site) {
  background-color: #f8fafc !important;
  background-image:
    url('/assets/decor/memory-network-sides.svg'),
    linear-gradient(90deg, rgba(5,6,5,.035) 0 1px, transparent 1px 96px),
    linear-gradient(180deg, rgba(5,6,5,.028) 0 1px, transparent 1px 96px),
    linear-gradient(90deg, rgba(184,154,94,.038) 0 96px, transparent 96px 192px),
    linear-gradient(180deg, rgba(21,101,216,.026) 0 96px, transparent 96px 192px),
    linear-gradient(180deg, #ffffff 0%, #f7f9fc 38%, #f8f4ec 72%, #ffffff 100%) !important;
  background-size: max(1920px, 112vw) auto, 96px 96px, 96px 96px, 192px 192px, 192px 192px, auto !important;
  background-position: center 86px, center 0, center 0, center 0, center 0, center top !important;
  background-repeat: repeat-y, repeat, repeat, repeat, repeat, no-repeat !important;
  background-attachment: fixed, fixed, fixed, fixed, fixed, fixed !important;
}
html body.messenger-page main.ioc-site {
  background: transparent !important;
}
@media (prefers-reduced-motion: no-preference) {
  html:has(#homeNewsSliderSection),
  html body:has(#homeNewsSliderSection) {
    animation: topic94MemorySidesDriftR26 42s ease-in-out infinite alternate !important;
  }
  @keyframes topic94MemorySidesDriftR26 {
    0% { background-position: center 86px, center 0, center 0, center 0, center 0, center top; }
    100% { background-position: center 44px, center 0, center 0, center 0, center 0, center top; }
  }
}
@media (max-width: 900px) {
  html:has(#homeNewsSliderSection),
  html body:has(#homeNewsSliderSection),
  html body.messenger-page:has(main.ioc-site) {
    background-size: 1260px auto, 78px 78px, 78px 78px, 156px 156px, 156px 156px, auto !important;
    background-position: center 78px, center 0, center 0, center 0, center 0, center top !important;
    background-attachment: scroll, scroll, scroll, scroll, scroll, scroll !important;
  }
}

/* Topic 94 2026-09-09 r27: stronger visible checker texture across homepage. */
html:has(#homeNewsSliderSection),
html body:has(#homeNewsSliderSection),
html body.messenger-page:has(main.ioc-site) {
  background-color: #f8fafc !important;
  background-image:
    url('/assets/decor/memory-network-sides.svg'),
    linear-gradient(90deg, rgba(5,6,5,.075) 0 1px, transparent 1px 112px),
    linear-gradient(180deg, rgba(5,6,5,.060) 0 1px, transparent 1px 112px),
    linear-gradient(90deg, rgba(184,154,94,.105) 0 112px, rgba(255,255,255,.28) 112px 224px),
    linear-gradient(180deg, rgba(21,101,216,.060) 0 112px, rgba(255,255,255,.24) 112px 224px),
    linear-gradient(180deg, #ffffff 0%, #f7f9fc 38%, #f8f4ec 72%, #ffffff 100%) !important;
  background-size: max(1920px, 112vw) auto, 112px 112px, 112px 112px, 224px 224px, 224px 224px, auto !important;
  background-position: center 86px, center 0, center 0, center 0, center 0, center top !important;
  background-repeat: repeat-y, repeat, repeat, repeat, repeat, no-repeat !important;
  background-attachment: fixed, fixed, fixed, fixed, fixed, fixed !important;
}
html body.messenger-page main.ioc-site {
  background: rgba(255,255,255,.08) !important;
}
@media (prefers-reduced-motion: no-preference) {
  html:has(#homeNewsSliderSection),
  html body:has(#homeNewsSliderSection) {
    animation: topic94MemorySidesDriftR27 42s ease-in-out infinite alternate !important;
  }
  @keyframes topic94MemorySidesDriftR27 {
    0% { background-position: center 86px, center 0, center 0, center 0, center 0, center top; }
    100% { background-position: center 44px, center 0, center 0, center 0, center 0, center top; }
  }
}
@media (max-width: 900px) {
  html:has(#homeNewsSliderSection),
  html body:has(#homeNewsSliderSection),
  html body.messenger-page:has(main.ioc-site) {
    background-size: 1260px auto, 88px 88px, 88px 88px, 176px 176px, 176px 176px, auto !important;
    background-position: center 78px, center 0, center 0, center 0, center 0, center top !important;
    background-attachment: scroll, scroll, scroll, scroll, scroll, scroll !important;
  }
}

/* Topic 94 2026-09-09 r28: clearly visible checker background. */
html:has(#homeNewsSliderSection),
html body:has(#homeNewsSliderSection),
html body.messenger-page:has(main.ioc-site) {
  background-color: #f8fafc !important;
  background-image:
    url('/assets/decor/memory-network-sides.svg'),
    linear-gradient(90deg, rgba(5,6,5,.12) 0 1px, transparent 1px 128px),
    linear-gradient(180deg, rgba(5,6,5,.105) 0 1px, transparent 1px 128px),
    linear-gradient(90deg, rgba(184,154,94,.18) 0 128px, rgba(255,255,255,.12) 128px 256px),
    linear-gradient(180deg, rgba(21,101,216,.105) 0 128px, rgba(255,255,255,.16) 128px 256px),
    linear-gradient(180deg, #ffffff 0%, #f6f8fb 36%, #f8f3e8 72%, #ffffff 100%) !important;
  background-size: max(1920px, 112vw) auto, 128px 128px, 128px 128px, 256px 256px, 256px 256px, auto !important;
  background-position: center 86px, center 0, center 0, center 0, center 0, center top !important;
  background-repeat: repeat-y, repeat, repeat, repeat, repeat, no-repeat !important;
  background-attachment: fixed, fixed, fixed, fixed, fixed, fixed !important;
}
html body.messenger-page main.ioc-site {
  background: rgba(255,255,255,.02) !important;
}
@media (prefers-reduced-motion: no-preference) {
  html:has(#homeNewsSliderSection),
  html body:has(#homeNewsSliderSection) {
    animation: topic94MemorySidesDriftR28 42s ease-in-out infinite alternate !important;
  }
  @keyframes topic94MemorySidesDriftR28 {
    0% { background-position: center 86px, center 0, center 0, center 0, center 0, center top; }
    100% { background-position: center 44px, center 0, center 0, center 0, center 0, center top; }
  }
}
@media (max-width: 900px) {
  html:has(#homeNewsSliderSection),
  html body:has(#homeNewsSliderSection),
  html body.messenger-page:has(main.ioc-site) {
    background-size: 1260px auto, 96px 96px, 96px 96px, 192px 192px, 192px 192px, auto !important;
    background-position: center 78px, center 0, center 0, center 0, center 0, center top !important;
    background-attachment: scroll, scroll, scroll, scroll, scroll, scroll !important;
  }
}

/* Topic 94 2026-09-09 r29: remove white seam after tournaments section. */
html body.messenger-page main.ioc-site > section#homeCalendarSection.ioc-upcoming-section.ioc-tournaments-showcase {
  margin-bottom: 0 !important;
  border-bottom-color: transparent !important;
  box-shadow: 0 24px 70px rgba(15,23,42,.08) !important;
}
html body.messenger-page main.ioc-site > section#homeCalendarSection.ioc-upcoming-section.ioc-tournaments-showcase + section,
html body.messenger-page main.ioc-site > section.ioc-magazine-section {
  margin-top: 0 !important;
  padding-top: clamp(48px, 5vw, 72px) !important;
  border-top: 0 !important;
}
html body.messenger-page main.ioc-site > section#homeCalendarSection.ioc-upcoming-section.ioc-tournaments-showcase + section::before,
html body.messenger-page main.ioc-site > section.ioc-magazine-section::before {
  content: none !important;
  display: none !important;
}
html body.messenger-page main.ioc-site > section#homeCalendarSection.ioc-upcoming-section.ioc-tournaments-showcase::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -1px !important;
  height: 2px !important;
  background: inherit !important;
  z-index: 2 !important;
  pointer-events: none !important;
}
@media (max-width: 760px) {
  html body.messenger-page main.ioc-site > section#homeCalendarSection.ioc-upcoming-section.ioc-tournaments-showcase + section,
  html body.messenger-page main.ioc-site > section.ioc-magazine-section {
    padding-top: 42px !important;
  }
}

/* Topic 94 2026-09-09 r30: tournaments page cleanup — remove technical ghosts and polish side widgets. */
html body.mn-tournaments-page .mn-tournaments-hero::before,
html body.mn-tournaments-page .mn-tournaments-hero__panel::before {
  content: none !important;
  display: none !important;
}
html body.mn-tournaments-page .mn-tournaments-hero__panel span {
  color: #B89A5E !important;
  font-weight: 950 !important;
  letter-spacing: .11em !important;
}
html body.mn-tournaments-page .mn-tournaments-hero__panel strong {
  color: #fff !important;
  line-height: 1.04 !important;
}
html body.mn-tournaments-page .mn-tournaments-hero__panel p {
  color: rgba(255,255,255,.80) !important;
  line-height: 1.62 !important;
}
html body.mn-tournaments-page .right-panel .widget {
  border: 1px solid rgba(7,17,29,.10) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,249,252,.94)) !important;
  box-shadow: 0 18px 42px rgba(7,17,29,.08) !important;
}
html body.mn-tournaments-page .right-panel .widget-title {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #07111d !important;
  font-weight: 950 !important;
}
html body.mn-tournaments-page .right-panel .widget-title i {
  width: 34px !important;
  height: 34px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: #07111d !important;
  color: #fff !important;
  font-size: 14px !important;
}
html body.mn-tournaments-page #liveFeed {
  display: grid !important;
  gap: 8px !important;
  max-height: 360px !important;
  padding-right: 2px !important;
}
html body.mn-tournaments-page #liveFeed > * {
  display: grid !important;
  grid-template-columns: 36px minmax(0,1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  min-height: 48px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(7,17,29,.08) !important;
  background: #fff !important;
  color: #07111d !important;
  box-shadow: 0 8px 20px rgba(7,17,29,.045) !important;
}
html body.mn-tournaments-page #liveFeed > *::before {
  content: "↗" !important;
  width: 34px !important;
  height: 34px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #1565d8, #B89A5E) !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  grid-row: 1 / span 2 !important;
}
html body.mn-tournaments-page #liveFeed > * :is(.avatar,.user-avatar,.activity-avatar,.emoji,.reaction),
html body.mn-tournaments-page #liveFeed > * > :first-child:is(span,div):not(:only-child) {
  display: none !important;
}
html body.mn-tournaments-page #liveFeed :is(p,span,strong,small,time,div) {
  color: inherit !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}
html body.mn-tournaments-page #liveFeed small,
html body.mn-tournaments-page #liveFeed time,
html body.mn-tournaments-page #liveFeed .time,
html body.mn-tournaments-page #liveFeed [class*="time"],
html body.mn-tournaments-page #liveFeed [class*="date"] {
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}
html body.mn-tournaments-page #friendsWidget {
  min-height: 104px !important;
  display: grid !important;
  place-items: center !important;
  padding: 16px !important;
  border: 1px dashed rgba(7,17,29,.14) !important;
  background: rgba(248,250,252,.84) !important;
  color: #475569 !important;
  text-align: center !important;
  font-weight: 800 !important;
}
@media (max-width: 900px) {
  html body.mn-tournaments-page #liveFeed > * { grid-template-columns: 34px minmax(0,1fr) !important; }
}

/* Topic 94 2026-09-09 r31: real registration feed cards with athlete profile links. */
html body.mn-tournaments-page #liveFeed > .feed-item {
  display: grid !important;
  grid-template-columns: 42px minmax(0,1fr) auto !important;
  gap: 11px !important;
  align-items: center !important;
  min-height: 62px !important;
  padding: 10px 11px !important;
  border: 1px solid rgba(7,17,29,.10) !important;
  background: #fff !important;
  color: #07111d !important;
  text-decoration: none !important;
  box-shadow: 0 8px 20px rgba(7,17,29,.045) !important;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}
html body.mn-tournaments-page #liveFeed > .feed-item::before { content: none !important; display: none !important; }
html body.mn-tournaments-page #liveFeed > .feed-item:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(21,101,216,.28) !important;
  box-shadow: 0 14px 28px rgba(7,17,29,.075) !important;
}
html body.mn-tournaments-page #liveFeed .feed-avatar {
  display: grid !important;
  width: 42px !important;
  height: 42px !important;
  place-items: center !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background-position: center !important;
  background-size: cover !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.52), 0 8px 18px rgba(7,17,29,.10) !important;
}
html body.mn-tournaments-page #liveFeed .feed-content {
  min-width: 0 !important;
  display: grid !important;
  gap: 3px !important;
}
html body.mn-tournaments-page #liveFeed .feed-content .name {
  color: #07111d !important;
  font-weight: 950 !important;
  font-size: 13px !important;
  line-height: 1.12 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
html body.mn-tournaments-page #liveFeed .feed-content .action {
  color: #526170 !important;
  font-size: 11px !important;
  font-weight: 760 !important;
  line-height: 1.25 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
html body.mn-tournaments-page #liveFeed .feed-time {
  align-self: start !important;
  color: #64748b !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}
@media (max-width: 900px) {
  html body.mn-tournaments-page #liveFeed > .feed-item { grid-template-columns: 40px minmax(0,1fr) !important; }
  html body.mn-tournaments-page #liveFeed .feed-time { grid-column: 2 !important; justify-self: start !important; }
}

/* Topic 94 2026-09-09 r32: unhide live-feed avatars after r30 broad first-child rule. */
html body.mn-tournaments-page #liveFeed > .feed-item > .feed-avatar,
html body.mn-tournaments-page #liveFeed > .feed-item > :first-child.feed-avatar {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
}
html body.mn-tournaments-page #liveFeed > .feed-item > :first-child:is(span,div).feed-avatar {
  display: grid !important;
}
html body.mn-tournaments-page #liveFeed > .feed-item > :first-child:is(span,div):not(.feed-avatar):not(:only-child) {
  display: none !important;
}

/* Topic 94 2026-09-09 r34: live-feed avatar uses real img, not fragile background-image. */
html body.mn-tournaments-page #liveFeed .feed-avatar img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: inherit !important;
}

/* Topic 94 2026-09-09 r35: contrast guard — no white text on light cards. */
html body.mn-tournaments-page .mn-tournaments-hero__panel {
  background:
    radial-gradient(circle at 16% 12%, rgba(21,101,216,.10), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(246,249,252,.92)) !important;
  border: 1px solid rgba(7,17,29,.14) !important;
  box-shadow: 0 24px 60px rgba(7,17,29,.10) !important;
}
html body.mn-tournaments-page .mn-tournaments-hero__panel,
html body.mn-tournaments-page .mn-tournaments-hero__panel * {
  color: #07111d !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 transparent !important;
}
html body.mn-tournaments-page .mn-tournaments-hero__panel span {
  color: #9a7a34 !important;
}
html body.mn-tournaments-page .mn-tournaments-hero__panel p {
  color: #526170 !important;
}

/* Shared readable-light-surface safety net for common cards/widgets/forms. */
html body :is(
  .widget,
  .card,
  .form-card,
  .contact-form-card,
  .contact-info-card,
  .contacts-form-panel,
  .contacts-info-panel,
  .events-loading-state,
  .events-empty-state,
  .tournament-card:not(.has-bg-image),
  .mn-tournaments-hero__panel,
  .cabinet-card,
  .profile-card,
  .document-card,
  .photobank-card,
  .album-card,
  .news-card,
  .mn-news-item__body
) {
  color: #07111d !important;
}
html body :is(
  .widget,
  .card,
  .form-card,
  .contact-form-card,
  .contact-info-card,
  .contacts-form-panel,
  .contacts-info-panel,
  .events-loading-state,
  .events-empty-state,
  .tournament-card:not(.has-bg-image),
  .mn-tournaments-hero__panel,
  .cabinet-card,
  .profile-card,
  .document-card,
  .photobank-card,
  .album-card,
  .news-card,
  .mn-news-item__body
) :is(h1,h2,h3,h4,h5,h6,strong,b,label,.title,.name) {
  color: #07111d !important;
  text-shadow: none !important;
}
html body :is(
  .widget,
  .card,
  .form-card,
  .contact-form-card,
  .contact-info-card,
  .contacts-form-panel,
  .contacts-info-panel,
  .events-loading-state,
  .events-empty-state,
  .tournament-card:not(.has-bg-image),
  .mn-tournaments-hero__panel,
  .cabinet-card,
  .profile-card,
  .document-card,
  .photobank-card,
  .album-card,
  .news-card,
  .mn-news-item__body
) :is(p,span,small,em,li,div) {
  text-shadow: none !important;
}
html body :is(.widget,.card,.form-card,.contact-form-card,.contact-info-card,.contacts-form-panel,.contacts-info-panel,.events-loading-state,.events-empty-state,.mn-tournaments-hero__panel) :is(p,span,small,em,li) {
  color: #526170 !important;
}
html body :is(.widget,.card,.form-card,.contact-form-card,.contact-info-card,.contacts-form-panel,.contacts-info-panel,.events-loading-state,.events-empty-state,.mn-tournaments-hero__panel) a:not(.btn):not(.ioc-button) {
  color: #1565d8 !important;
}

/* Keep intentionally dark/cover cards white. */
html body :is(.has-bg-image,.dark,.dark-card,.sponsor-board__value-cta,.ioc-news-stage__hero,.ioc-news-slide,.ioc-tournament-feature) :is(h1,h2,h3,h4,h5,h6,strong,b,p,span,small,em,li) {
  color: inherit !important;
}

/* Topic 94 2026-09-09 r36: one header-to-content rhythm across inner pages, based on News. */
html body {
  --topic94-page-top-gap: clamp(34px, 3.6vw, 52px);
  scroll-padding-top: calc(var(--topic94-header-h, 80px) + var(--topic94-page-top-gap) + 12px) !important;
}
html body:is(.messenger-page, .contacts-ioc-page, .federation-clean-page) > main:is(
  .main-content,
  .contacts-page-shell,
  .disciplines-page,
  .start-page,
  .mn-tournaments-main,
  .federation-page
),
html body.mn-tournaments-page > main.mn-tournaments-main,
html body > main.main-content.mn-news-page,
html body > main.main-content.start-page,
html body > main.main-content.disciplines-page,
html body > main.contacts-page-shell,
html body > main.federation-page,
html body > main.mn-tournaments-main,
html body > main:has(.media-page-shell) {
  padding-top: var(--topic94-page-top-gap) !important;
  margin-top: 0 !important;
  box-sizing: border-box !important;
}
html body.federation-clean-page .federation-page.main-content.ioc-site,
html body.messenger-page .federation-page.main-content.ioc-site {
  padding-top: var(--topic94-page-top-gap) !important;
}
html body.messenger-page main.disciplines-page,
html body.messenger-page main.start-page,
html body.messenger-page main.mn-news-page,
html body.mn-tournaments-page main.mn-tournaments-main {
  padding-top: var(--topic94-page-top-gap) !important;
}
html body.messenger-page main > :first-child,
html body.contacts-ioc-page main > :first-child,
html body.federation-clean-page main > :first-child {
  margin-top: 0 !important;
}
@media (max-width: 760px) {
  html body { --topic94-page-top-gap: 30px; }
}

/* Topic 94 2026-09-09 r37: normalize actual first-block position after page-specific CSS. */
html body { --topic94-page-top-gap: 52px; }
html body.messenger-page:has(> main.mn-news-page),
html body.federation-clean-page,
html body.federation-clean-page.messenger-page {
  padding-top: var(--topic94-header-h, 80px) !important;
}
html body.messenger-page:has(> main.mn-news-page) > main.mn-news-page,
html body.federation-clean-page > main.federation-page,
html body.mn-tournaments-page > main.mn-tournaments-main,
html body.messenger-page > main.start-page,
html body.messenger-page > main.disciplines-page,
html body.contacts-ioc-page > main.contacts-page-shell,
html body.messenger-page > main:has(.media-page-shell) {
  padding-top: var(--topic94-page-top-gap) !important;
  margin-top: 0 !important;
}
html body.mn-tournaments-page > main.mn-tournaments-main .mn-tournaments-hero {
  margin-top: 0 !important;
}
@media (max-width: 760px) {
  html body { --topic94-page-top-gap: 30px; }
  html body.messenger-page:has(> main.mn-news-page),
  html body.federation-clean-page,
  html body.federation-clean-page.messenger-page {
    padding-top: var(--topic94-header-h, 80px) !important;
  }
  html body.mn-tournaments-page > main.mn-tournaments-main,
  html body.messenger-page:has(> main.mn-news-page) > main.mn-news-page,
  html body.federation-clean-page > main.federation-page,
  html body.messenger-page > main.start-page,
  html body.messenger-page > main.disciplines-page,
  html body.contacts-ioc-page > main.contacts-page-shell,
  html body.messenger-page > main:has(.media-page-shell) {
    padding-top: var(--topic94-page-top-gap) !important;
  }
}

/* Topic 94 2026-09-09 r38: tournaments page must follow the same top rhythm, no legacy 100+px gap. */
html body.mn-tournaments-page main.container.mn-tournaments-main,
html body.mn-tournaments-page > main.container.mn-tournaments-main[style] {
  padding-top: 52px !important;
}
@media (max-width: 760px) {
  html body.mn-tournaments-page main.container.mn-tournaments-main,
  html body.mn-tournaments-page > main.container.mn-tournaments-main[style] {
    padding-top: 30px !important;
  }
}

/* Topic 94 2026-09-09 r39: News hero becomes the same calm white first-card style as other pages. */
html body.messenger-page:has(> main.mn-news-page) > main.mn-news-page .mn-news-hero,
html body.messenger-page .mn-news-page .mn-news-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1.16fr) minmax(330px, .84fr) !important;
  gap: 0 !important;
  width: min(100% - 44px, 1240px) !important;
  max-width: 1240px !important;
  min-height: 440px !important;
  margin: 0 auto clamp(34px, 4vw, 56px) !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(21,101,216,.08), transparent 34%),
    radial-gradient(circle at 86% 12%, rgba(184,154,94,.10), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(246,249,252,.95)) !important;
  border: 1px solid rgba(7,17,29,.12) !important;
  border-radius: 34px !important;
  box-shadow: 0 24px 60px rgba(7,17,29,.10) !important;
  color: #07111d !important;
}
html body.messenger-page .mn-news-page .mn-news-hero::before,
html body.messenger-page .mn-news-page .mn-news-hero::after {
  opacity: .22 !important;
  pointer-events: none !important;
}
html body.messenger-page .mn-news-page .mn-news-hero__copy,
html body.messenger-page .mn-news-page .mn-news-hero__panel {
  min-width: 0 !important;
  padding: clamp(42px, 5vw, 70px) !important;
  background: transparent !important;
  color: #07111d !important;
  text-shadow: none !important;
}
html body.messenger-page .mn-news-page .mn-news-hero__copy {
  align-content: center !important;
}
html body.messenger-page .mn-news-page .mn-news-hero__panel {
  display: grid !important;
  align-content: center !important;
  min-height: auto !important;
  border-left: 1px solid rgba(7,17,29,.12) !important;
  border-top: 0 !important;
}
html body.messenger-page .mn-news-page .mn-news-hero__eyebrow,
html body.messenger-page .mn-news-page .mn-news-hero__panel span {
  color: #9a7a34 !important;
  text-shadow: none !important;
}
html body.messenger-page .mn-news-page .mn-news-hero h1,
html body.messenger-page .mn-news-page .mn-news-hero__panel strong {
  color: #07111d !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 transparent !important;
}
html body.messenger-page .mn-news-page .mn-news-hero h1 {
  max-width: 760px !important;
  font-size: clamp(68px, 8.5vw, 132px) !important;
  line-height: .82 !important;
  letter-spacing: -.08em !important;
}
html body.messenger-page .mn-news-page .mn-news-hero__lead,
html body.messenger-page .mn-news-page .mn-news-hero__panel p {
  max-width: 620px !important;
  color: #526170 !important;
  text-shadow: none !important;
}
html body.messenger-page .mn-news-page .mn-news-hero__panel strong {
  display: block !important;
  max-width: 430px !important;
  font-size: clamp(30px, 3.2vw, 48px) !important;
  line-height: .95 !important;
}
html body.messenger-page .mn-news-page .mn-news-hero__panel p {
  max-width: 430px !important;
}
@media (max-width: 900px) {
  html body.messenger-page .mn-news-page .mn-news-hero {
    grid-template-columns: 1fr !important;
    width: calc(100% - 28px) !important;
    min-height: 0 !important;
    border-radius: 26px !important;
  }
  html body.messenger-page .mn-news-page .mn-news-hero__copy,
  html body.messenger-page .mn-news-page .mn-news-hero__panel {
    padding: 30px 22px 36px !important;
  }
  html body.messenger-page .mn-news-page .mn-news-hero__panel {
    border-left: 0 !important;
    border-top: 1px solid rgba(7,17,29,.12) !important;
  }
  html body.messenger-page .mn-news-page .mn-news-hero h1 {
    font-size: clamp(48px, 16vw, 78px) !important;
    line-height: .86 !important;
  }
}

/* Topic 94 2026-09-09 r40: keep News hero heading measurable/readable on mobile. */
html body.messenger-page .mn-news-page .mn-news-hero h1 {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 760px !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}
@media (max-width: 900px) {
  html body.messenger-page .mn-news-page .mn-news-hero h1 {
    max-width: 100% !important;
    font-size: clamp(46px, 15vw, 74px) !important;
    letter-spacing: -.07em !important;
  }
}

/* Topic 94 2026-09-09 r41: News hero mobile must not overlap/squeeze columns. */
html body.messenger-page .mn-news-page .mn-news-hero__copy {
  display: grid !important;
  width: auto !important;
  max-width: none !important;
  justify-items: start !important;
}
@media (max-width: 900px) {
  html body.messenger-page .mn-news-page .mn-news-hero {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
  }
  html body.messenger-page .mn-news-page .mn-news-hero__copy {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: auto !important;
    min-width: 0 !important;
  }
  html body.messenger-page .mn-news-page .mn-news-hero__panel {
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: auto !important;
    min-width: 0 !important;
  }
  html body.messenger-page .mn-news-page .mn-news-hero h1,
  html body.messenger-page .mn-news-page .mn-news-hero__lead {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Topic 94 2026-09-09 r42: stretch News hero cells on mobile; no 44px squeezed column. */
@media (max-width: 900px) {
  html body.messenger-page .mn-news-page .mn-news-hero {
    justify-items: stretch !important;
    align-items: stretch !important;
    justify-content: stretch !important;
  }
  html body.messenger-page .mn-news-page .mn-news-hero__copy,
  html body.messenger-page .mn-news-page .mn-news-hero__panel {
    justify-self: stretch !important;
    align-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  html body.messenger-page .mn-news-page .mn-news-hero__copy > *,
  html body.messenger-page .mn-news-page .mn-news-hero__panel > * {
    max-width: 100% !important;
  }
}

/* Topic 94 2026-09-09 r43: News hero grid must never squeeze the text column. */
html body.messenger-page .mn-news-page .mn-news-hero {
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr) !important;
}
@media (max-width: 720px) {
  html body.messenger-page .mn-news-page .mn-news-hero {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
  }
}
@media (max-width: 420px) {
  html body.messenger-page .mn-news-page .mn-news-hero {
    width: calc(100% - 28px) !important;
  }
  html body.messenger-page .mn-news-page .mn-news-hero__copy,
  html body.messenger-page .mn-news-page .mn-news-hero__panel {
    padding: 28px 18px 34px !important;
  }
}

/* Topic 94 2026-09-09 r44: News hero uses auto-fit grid; works even if media rules are bypassed. */
html body.messenger-page .mn-news-page .mn-news-hero {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)) !important;
}
html body.messenger-page .mn-news-page .mn-news-hero__copy,
html body.messenger-page .mn-news-page .mn-news-hero__panel {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  justify-self: stretch !important;
  box-sizing: border-box !important;
}

/* Topic 94 2026-09-09 r45: final reliable News hero layout — one wide white card, no squeezed columns. */
html body.messenger-page > main.mn-news-page section.mn-news-hero,
html body.messenger-page .mn-news-page section.mn-news-hero,
html body .mn-news-page section.mn-news-hero {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
}
html body.messenger-page > main.mn-news-page section.mn-news-hero > .mn-news-hero__copy,
html body.messenger-page > main.mn-news-page section.mn-news-hero > .mn-news-hero__panel,
html body.messenger-page .mn-news-page section.mn-news-hero > .mn-news-hero__copy,
html body.messenger-page .mn-news-page section.mn-news-hero > .mn-news-hero__panel,
html body .mn-news-page section.mn-news-hero > .mn-news-hero__copy,
html body .mn-news-page section.mn-news-hero > .mn-news-hero__panel {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  justify-self: stretch !important;
  box-sizing: border-box !important;
}
html body .mn-news-page section.mn-news-hero > .mn-news-hero__copy {
  grid-row: 1 !important;
  min-height: 0 !important;
  padding-bottom: clamp(28px, 3vw, 44px) !important;
}
html body .mn-news-page section.mn-news-hero > .mn-news-hero__panel {
  grid-row: 2 !important;
  border-left: 0 !important;
  border-top: 1px solid rgba(7,17,29,.12) !important;
  min-height: 0 !important;
  padding-top: clamp(28px, 3vw, 44px) !important;
}
html body .mn-news-page section.mn-news-hero .mn-news-hero__lead,
html body .mn-news-page section.mn-news-hero .mn-news-hero__panel p,
html body .mn-news-page section.mn-news-hero .mn-news-hero__panel strong {
  max-width: 760px !important;
}

/* Topic 94 2026-09-09 r46: restore original News hero geometry; only add white/light backing. */
html body.messenger-page .mn-news-page section.mn-news-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1.16fr) minmax(330px, .84fr) !important;
  grid-template-rows: auto !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  width: min(100% - 44px, 1240px) !important;
  max-width: 1240px !important;
  min-height: 440px !important;
  margin: 0 auto clamp(34px, 4vw, 56px) !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(21,101,216,.08), transparent 34%),
    radial-gradient(circle at 86% 12%, rgba(184,154,94,.10), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(246,249,252,.95)) !important;
  border: 1px solid rgba(7,17,29,.12) !important;
  border-radius: 34px !important;
  box-shadow: 0 24px 60px rgba(7,17,29,.10) !important;
  color: #07111d !important;
}
html body.messenger-page .mn-news-page section.mn-news-hero > .mn-news-hero__copy,
html body.messenger-page .mn-news-page section.mn-news-hero > .mn-news-hero__panel {
  grid-row: 1 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
  background: transparent !important;
  color: #07111d !important;
}
html body.messenger-page .mn-news-page section.mn-news-hero > .mn-news-hero__copy {
  grid-column: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: clamp(42px, 5vw, 70px) !important;
}
html body.messenger-page .mn-news-page section.mn-news-hero > .mn-news-hero__panel {
  grid-column: 2 !important;
  display: grid !important;
  align-content: center !important;
  padding: clamp(42px, 5vw, 70px) !important;
  border-left: 1px solid rgba(7,17,29,.12) !important;
  border-top: 0 !important;
}
html body.messenger-page .mn-news-page .mn-news-hero h1,
html body.messenger-page .mn-news-page .mn-news-hero__panel strong {
  color: #07111d !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 transparent !important;
}
html body.messenger-page .mn-news-page .mn-news-hero__lead,
html body.messenger-page .mn-news-page .mn-news-hero__panel p {
  color: #526170 !important;
  text-shadow: none !important;
}
html body.messenger-page .mn-news-page .mn-news-hero__eyebrow,
html body.messenger-page .mn-news-page .mn-news-hero__panel span {
  color: #9a7a34 !important;
}
html body.messenger-page .mn-news-page .mn-news-hero__lead {
  max-width: 620px !important;
}
html body.messenger-page .mn-news-page .mn-news-hero__panel strong,
html body.messenger-page .mn-news-page .mn-news-hero__panel p {
  max-width: 430px !important;
}
@media (max-width: 760px) {
  html body.messenger-page .mn-news-page section.mn-news-hero {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    width: calc(100% - 28px) !important;
    min-height: 0 !important;
    border-radius: 26px !important;
  }
  html body.messenger-page .mn-news-page section.mn-news-hero > .mn-news-hero__copy,
  html body.messenger-page .mn-news-page section.mn-news-hero > .mn-news-hero__panel {
    grid-column: 1 !important;
    width: 100% !important;
    padding: 26px 22px 30px !important;
  }
  html body.messenger-page .mn-news-page section.mn-news-hero > .mn-news-hero__copy { grid-row: 1 !important; }
  html body.messenger-page .mn-news-page section.mn-news-hero > .mn-news-hero__panel {
    grid-row: 2 !important;
    border-left: 0 !important;
    border-top: 1px solid rgba(7,17,29,.12) !important;
    padding-top: 22px !important;
  }
  html body.messenger-page .mn-news-page .mn-news-hero h1 {
    max-width: none !important;
    width: 100% !important;
    font-size: clamp(48px, 13.4vw, 54px) !important;
    line-height: .98 !important;
    letter-spacing: 0 !important;
  }
}

/* Topic 94 2026-09-09 r47: hard override previous r45 full-span News hero cells on desktop. */
@media (min-width: 761px) {
  html body.messenger-page > main.main-content.ioc-site.mn-news-page section.mn-news-hero > div.mn-news-hero__copy,
  html body.messenger-page main.main-content.ioc-site.mn-news-page section.mn-news-hero > div.mn-news-hero__copy {
    grid-column-start: 1 !important;
    grid-column-end: 2 !important;
    grid-row-start: 1 !important;
    grid-row-end: 2 !important;
    width: auto !important;
    max-width: none !important;
  }
  html body.messenger-page > main.main-content.ioc-site.mn-news-page section.mn-news-hero > aside.mn-news-hero__panel,
  html body.messenger-page main.main-content.ioc-site.mn-news-page section.mn-news-hero > aside.mn-news-hero__panel,
  html body.messenger-page > main.main-content.ioc-site.mn-news-page section.mn-news-hero > div.mn-news-hero__panel,
  html body.messenger-page main.main-content.ioc-site.mn-news-page section.mn-news-hero > div.mn-news-hero__panel {
    grid-column-start: 2 !important;
    grid-column-end: 3 !important;
    grid-row-start: 1 !important;
    grid-row-end: 2 !important;
    width: auto !important;
    max-width: none !important;
  }
  html body.messenger-page .mn-news-page section.mn-news-hero .mn-news-hero__lead {
    max-width: 620px !important;
  }
  html body.messenger-page .mn-news-page section.mn-news-hero .mn-news-hero__panel strong,
  html body.messenger-page .mn-news-page section.mn-news-hero .mn-news-hero__panel p {
    max-width: 430px !important;
  }
}


/* Topic 94 2026-09-09 r48: disciplines page — remove provisional regulation/format copy until official document is provided. */
html body.messenger-page .disciplines-page .discipline-card {
  grid-template-columns: minmax(0, 1fr) !important;
}
html body.messenger-page .disciplines-page .discipline-side,
html body.messenger-page .disciplines-page .discipline-bg-note,
html body.messenger-page .disciplines-page .discipline-reglament {
  display: none !important;
}
html body.messenger-page .disciplines-page .discipline-main {
  max-width: 980px !important;
}

/* Topic 94 2026-09-09 r49: global text-fit guard + About FM mark stays inside the card. */
html body.federation-clean-page .fed-hero__panel::before,
html body.messenger-page .fed-hero__panel::before {
  right: clamp(24px, 4.5vw, 64px) !important;
  top: clamp(22px, 4vw, 54px) !important;
  font-size: clamp(96px, 12vw, 180px) !important;
  letter-spacing: -.075em !important;
  max-width: calc(100% - 48px) !important;
  overflow: hidden !important;
}
html body :is(h1,h2,h3,h4,.mn-news-item__title,.start-book-card__cover-title,.start-book-card h3,.fed-system-card h3,.fed-person__body h3,.photobank-title,.contacts-hero h1,.discipline-title) {
  text-rendering: optimizeLegibility !important;
  font-kerning: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}
html body :is(.main-content, main, section, article, aside, .card, .widget, .discipline-card, .mn-news-item, .start-book-card, .fed-hero, .contacts-hero, .photobank-header) :is(h1,h2,h3,h4) {
  line-height: 1.12 !important; /* Compact heading leading; avoid invalid mixed-unit max(). */
}
html body :is(p,li,span,small,a,button,label,strong,b) {
  font-kerning: normal !important;
}
@media (max-width: 760px) {
  html body :is(h1,h2,h3,h4,.mn-news-item__title,.start-book-card__cover-title,.start-book-card h3,.fed-system-card h3,.fed-person__body h3,.photobank-title,.contacts-hero h1,.discipline-title) {
    letter-spacing: max(var(--topic94-original-letter-spacing, -0.02em), -0.025em) !important;
    line-height: 1.06 !important;
  }
  html body :is(.ioc-kicker,.fed-kicker,.start-kicker,.start-section__eyebrow,.mn-news-hero__eyebrow,.mn-news-item__source,.discipline-label,.start-book-card__author) {
    letter-spacing: .045em !important;
  }
}
@media (max-width: 460px) {
  html body :is(h1,h2,h3,h4,.mn-news-item__title,.start-book-card__cover-title,.start-book-card h3,.fed-system-card h3,.fed-person__body h3,.photobank-title,.contacts-hero h1,.discipline-title) {
    letter-spacing: 0 !important;
    line-height: 1.08 !important;
  }
}

/* Topic 94 2026-09-09 r50: fix audit-found text overlaps/tight lines across key pages. */
html body .ioc-faq-section :is(.faq-item,.faq-card,.accordion-item) {
  min-height: auto !important;
  overflow: visible !important;
}
html body .ioc-faq-section :is(p,.faq-answer,.accordion-content) {
  position: relative !important;
  margin-top: 12px !important;
  line-height: 1.62 !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
}
html body :is(.ioc-news-stage h2,.faces-feature h2,.ioc-beginner-section h2,.mn-tournaments-page h1,.mn-tournaments-page h2,.mn-news-page h1,.mn-news-page h2,.mn-news-item__title) {
  line-height: 1.02 !important;
  letter-spacing: max(-0.035em, -3px) !important;
}
html body.mn-tournaments-page :is(h1,h2),
html body.messenger-page .mn-news-page :is(h1,h2,.mn-news-item__title) {
  line-height: 1.06 !important;
}
@media (max-width: 760px) {
  html body .ioc-faq-section :is(.faq-item,.faq-card,.accordion-item) {
    display: block !important;
    padding-bottom: 22px !important;
  }
  html body .ioc-faq-section :is(p,.faq-answer,.accordion-content) {
    display: block !important;
    margin: 12px 0 0 !important;
    line-height: 1.68 !important;
  }
  html body.messenger-page .mn-news-page .mn-news-board__head h2,
  html body.messenger-page .mn-news-page .mn-news-control__title strong,
  html body.messenger-page .mn-news-page .mn-news-item__title,
  html body.mn-tournaments-page :is(h1,h2) {
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
  }
  html body.messenger-page .mn-news-page .mn-news-item__title {
    font-size: clamp(21px, 5.8vw, 26px) !important;
  }
  html body.mn-tournaments-page h1 {
    font-size: clamp(34px, 10vw, 54px) !important;
  }
}

/* Topic 94 2026-09-09 r51: explicit typography overrides for audit-found tight/slapped headings. */
html body.messenger-page main.ioc-site :is(
  .ioc-news-stage h2,
  .faces-feature h2,
  .ioc-magazine-section h2,
  .ioc-beginner-section h2,
  .ioc-social-section h2,
  .ioc-faq-section h2
),
html body.federation-clean-page :is(.fed-hero h1,.fed-hero__panel strong,.fed-section-head h2,.fed-contact h2),
html body.messenger-page .mn-news-page :is(.mn-news-hero h1,.mn-news-hero__panel strong,.mn-news-board__head h2,.mn-news-control__title strong,.mn-news-item__title),
html body.messenger-page .start-page :is(.start-section__head h2,.start-hero h1,.start-community h3,.start-final h2),
html body.mn-tournaments-page :is(.mn-tournaments-hero h1,.tournaments-section h2,#upcomingTournamentsSection h2,#pastTournamentsSection h2) {
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}
html body.messenger-page .mn-news-page .mn-news-item__title {
  line-height: 1.14 !important;
  letter-spacing: -0.015em !important;
}
html body.messenger-page .mn-news-page .mn-news-control__title strong,
html body.messenger-page .mn-news-page .mn-news-hero__panel strong {
  line-height: 1.12 !important;
  letter-spacing: -0.01em !important;
}
html body.messenger-page main.ioc-site .ioc-faq-section :is(.faq-grid,.faq-list,.accordion,.ioc-faq-grid) {
  align-items: start !important;
  gap: 18px !important;
}
html body.messenger-page main.ioc-site .ioc-faq-section :is(.faq-item,.faq-card,.accordion-item) {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}
html body.messenger-page main.ioc-site .ioc-faq-section :is(.faq-item p,.faq-card p,.accordion-item p,.faq-answer,.accordion-content) {
  display: block !important;
  position: static !important;
  margin: 12px 0 0 !important;
  line-height: 1.7 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}
@media (max-width: 760px) {
  html body.messenger-page main.ioc-site :is(
    .ioc-news-stage h2,
    .faces-feature h2,
    .ioc-magazine-section h2,
    .ioc-beginner-section h2,
    .ioc-social-section h2,
    .ioc-faq-section h2
  ),
  html body.federation-clean-page :is(.fed-hero h1,.fed-hero__panel strong,.fed-section-head h2,.fed-contact h2),
  html body.messenger-page .mn-news-page :is(.mn-news-hero h1,.mn-news-hero__panel strong,.mn-news-board__head h2,.mn-news-control__title strong,.mn-news-item__title),
  html body.mn-tournaments-page :is(.mn-tournaments-hero h1,.tournaments-section h2,#upcomingTournamentsSection h2,#pastTournamentsSection h2) {
    line-height: 1.16 !important;
    letter-spacing: 0 !important;
  }
}

/* Topic 94 2026-09-09 r52: homepage FAQ details must grow with answer text on mobile. */
html body.messenger-page main.ioc-site .ioc-faq-section details,
html body.messenger-page main.ioc-site .ioc-faq-section details[open] {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  contain: none !important;
}
html body.messenger-page main.ioc-site .ioc-faq-section details > summary {
  position: relative !important;
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
}
html body.messenger-page main.ioc-site .ioc-faq-section details > p {
  position: static !important;
  display: block !important;
  clear: both !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  line-height: 1.68 !important;
  overflow: visible !important;
}
@media (max-width: 760px) {
  html body.messenger-page main.ioc-site .ioc-faq-section details,
  html body.messenger-page main.ioc-site .ioc-faq-section details[open] {
    padding-bottom: 20px !important;
  }
}

/* Topic 94 2026-09-09 r53: closed FAQ answers stay hidden; open answers flow normally. */
html body.messenger-page main.ioc-site .ioc-faq-section details:not([open]) > p,
html body.messenger-page main.ioc-site .ioc-faq-section details:not([open]) > :not(summary) {
  display: none !important;
}
html body.messenger-page main.ioc-site .ioc-faq-section details[open] > p {
  display: block !important;
  position: static !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  line-height: 1.68 !important;
  overflow: visible !important;
}

/* Topic 94 2026-09-09 r54: photobank hero — larger archive collage, tighter title rhythm, shared page background. */
html body:has(.photobank-header) {
  background-color: #f6f8fb !important;
  background-image:
    linear-gradient(90deg, rgba(7,17,29,.078) 1px, transparent 1px),
    linear-gradient(180deg, rgba(7,17,29,.062) 1px, transparent 1px),
    radial-gradient(circle at 8% 14%, rgba(21,101,216,.10), transparent 28%),
    radial-gradient(circle at 92% 24%, rgba(184,154,94,.12), transparent 28%),
    url('../assets/decor/memory-network-sides.svg'),
    linear-gradient(180deg, #f8fafc 0%, #f3f6fa 100%) !important;
  background-size: 128px 128px, 128px 128px, auto, auto, 1920px auto, auto !important;
  background-position: center top, center top, center top, center top, center top, center top !important;
  background-attachment: scroll !important;
}
html body .photobank-header {
  min-height: clamp(520px, 48vw, 690px) !important;
  margin-top: 0 !important;
  margin-bottom: clamp(28px, 4vw, 54px) !important;
  background:
    linear-gradient(90deg, rgba(5,8,15,.055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(5,8,15,.045) 1px, transparent 1px),
    radial-gradient(circle at 83% 18%, rgba(21,101,216,.08), transparent 34%),
    radial-gradient(circle at 88% 78%, rgba(184,154,94,.10), transparent 32%),
    rgba(255,255,255,.94) !important;
  background-size: 84px 84px, 84px 84px, auto, auto, auto !important;
}
html body .photobank-header .container {
  grid-template-columns: minmax(0, .94fr) minmax(430px, .82fr) !important;
  gap: clamp(34px, 4.4vw, 74px) !important;
  align-items: center !important;
  padding-right: clamp(38px, 4.8vw, 74px) !important;
}
html body .photobank-header h1 {
  max-width: 9.8ch !important;
  font-size: clamp(64px, 6.9vw, 104px) !important;
  line-height: .74 !important;
  letter-spacing: -.075em !important;
}
html body .photobank-header p {
  margin-top: clamp(18px, 2.3vw, 28px) !important;
}
html body .photobank-visual {
  min-height: clamp(400px, 37vw, 560px) !important;
  align-items: center !important;
}
html body .photobank-visual::before {
  inset: 0 0 42px 16px !important;
  transform: rotate(1.3deg) scale(1.08) !important;
  background:
    linear-gradient(135deg, rgba(5, 6, 5,.13), transparent 42%),
    linear-gradient(315deg, rgba(180, 35, 53,.10), transparent 46%),
    #f1f5fb !important;
}
html body .photobank-visual::after {
  inset: 26px 16px 0 0 !important;
  transform: scale(1.08) !important;
  background-size: 38px 38px, 38px 38px, auto !important;
}
html body .photobank-visual__frame {
  width: min(100%, 420px) !important;
  min-height: clamp(350px, 31vw, 470px) !important;
  margin: 0 28px 22px auto !important;
  padding: clamp(18px, 2vw, 28px) !important;
  gap: 12px !important;
  box-shadow: 0 28px 54px rgba(5,8,15,.14) !important;
}
html body .photobank-photo-tile img {
  transform: scale(1.01) !important;
}
@media (max-width: 900px) {
  html body .photobank-header .container {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  html body .photobank-visual {
    min-height: 380px !important;
  }
  html body .photobank-visual__frame {
    width: min(100%, 360px) !important;
    min-height: 320px !important;
    margin: 0 auto 18px !important;
  }
  html body .photobank-header h1 {
    line-height: .86 !important;
    letter-spacing: -.035em !important;
  }
}
@media (max-width: 520px) {
  html body:has(.photobank-header) {
    background-size: 96px 96px, 96px 96px, auto, auto, 1260px auto, auto !important;
  }
  html body .photobank-visual__frame {
    width: min(100%, 330px) !important;
    min-height: 300px !important;
    padding: 16px !important;
  }
}

/* Topic 94 2026-09-09 r55: photobank mobile collage should fill the hero width. */
@media (max-width: 900px) {
  html body .photobank-header .container {
    justify-items: stretch !important;
  }
  html body .photobank-cover-copy,
  html body .photobank-visual {
    width: 100% !important;
    max-width: 100% !important;
    justify-self: stretch !important;
    box-sizing: border-box !important;
  }
  html body .photobank-visual {
    min-height: 420px !important;
    padding: 0 !important;
  }
  html body .photobank-visual::before {
    inset: 0 4px 50px 4px !important;
    transform: rotate(1.2deg) scale(1.04) !important;
  }
  html body .photobank-visual::after {
    inset: 30px 8px 0 8px !important;
    transform: scale(1.04) !important;
  }
  html body .photobank-visual__frame {
    width: min(100%, 360px) !important;
    min-height: 340px !important;
    margin: 38px auto 24px !important;
    padding: 18px !important;
    gap: 12px !important;
  }
}
@media (max-width: 420px) {
  html body .photobank-header .container {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
  html body .photobank-visual__frame {
    width: min(100%, 318px) !important;
    min-height: 318px !important;
    padding: 15px !important;
    gap: 10px !important;
  }
}

/* Topic 94 2026-09-09 r56: hard photobank hero mobile/desktop collage sizing. */
html body .photobank-header .container > .photobank-visual {
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
}
@media (max-width: 900px) {
  html body .photobank-header .container > .photobank-cover-copy,
  html body .photobank-header .container > .photobank-visual {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }
  html body .photobank-header .container > .photobank-visual .photobank-visual__frame {
    width: min(100%, 360px) !important;
    min-height: 344px !important;
  }
  html body .photobank-header h1 {
    line-height: .92 !important;
    letter-spacing: -.025em !important;
  }
}
@media (max-width: 420px) {
  html body .photobank-header .container > .photobank-visual .photobank-visual__frame {
    width: calc(100vw - 72px) !important;
    min-height: 330px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  html body .photobank-header .container > .photobank-visual {
    min-height: 440px !important;
  }
  html body .photobank-header h1 {
    line-height: .94 !important;
  }
}

/* Topic 94 2026-09-09 r57: photobank hero balance — collage stays right, title breathes, no stray arrow on hero buttons. */
html body .photobank-header .container {
  grid-template-columns: minmax(0, .92fr) minmax(460px, .88fr) !important;
  gap: clamp(42px, 5.2vw, 92px) !important;
  align-items: center !important;
}
html body .photobank-cover-copy {
  max-width: 620px !important;
  position: relative !important;
  z-index: 3 !important;
}
html body .photobank-header h1 {
  max-width: 9.9ch !important;
  font-size: clamp(58px, 6.35vw, 96px) !important;
  line-height: .84 !important;
  letter-spacing: -.055em !important;
}
html body .photobank-header p {
  max-width: 540px !important;
  margin-top: clamp(20px, 2.6vw, 30px) !important;
}
html body .photobank-visual {
  justify-self: end !important;
  width: min(100%, 500px) !important;
  max-width: 500px !important;
  transform: translateX(clamp(18px, 2.2vw, 34px)) !important;
}
html body .photobank-visual::before {
  inset: 0 -22px 38px 12px !important;
  transform: rotate(1.3deg) scale(1.06) !important;
}
html body .photobank-visual::after {
  inset: 28px -10px 0 24px !important;
  transform: scale(1.05) !important;
}
html body .photobank-visual__frame {
  width: min(100%, 430px) !important;
  min-height: clamp(350px, 30vw, 460px) !important;
  margin: 0 0 22px auto !important;
}
html body .photobank-actions button,
html body .photobank-header button[data-hero-action] {
  position: relative !important;
  transform: none !important;
  animation: none !important;
}
html body .photobank-actions button::before,
html body .photobank-actions button::after,
html body .photobank-header button[data-hero-action]::before,
html body .photobank-header button[data-hero-action]::after {
  content: none !important;
  display: none !important;
  animation: none !important;
  transform: none !important;
}
html body .photobank-header button[data-hero-action="search"] i {
  transform: none !important;
  animation: none !important;
}
@media (max-width: 900px) {
  html body .photobank-header .container {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
  html body .photobank-visual {
    justify-self: center !important;
    width: 100% !important;
    max-width: 390px !important;
    transform: none !important;
  }
  html body .photobank-header h1 {
    font-size: clamp(50px, 13vw, 62px) !important;
    line-height: .9 !important;
    letter-spacing: -.025em !important;
  }
  html body .photobank-visual__frame {
    width: min(100%, 336px) !important;
    min-height: 322px !important;
    margin: 34px auto 22px !important;
  }
}

/* Topic 94 2026-09-09 r58: photobank hero final balance — no crop, clean actions, calmer spacing. */
html body .photobank-header {
  overflow: hidden !important;
}
html body .photobank-header .container {
  grid-template-columns: minmax(420px, .94fr) minmax(430px, .86fr) !important;
  gap: clamp(54px, 6vw, 104px) !important;
  padding-left: clamp(64px, 7vw, 112px) !important;
  padding-right: clamp(44px, 5vw, 82px) !important;
}
html body .photobank-cover-copy {
  max-width: 650px !important;
  transform: translateX(clamp(12px, 1.6vw, 26px)) !important;
}
html body .photobank-header h1 {
  font-size: clamp(56px, 6.05vw, 92px) !important;
  line-height: .9 !important;
  letter-spacing: -.04em !important;
  max-width: 10.3ch !important;
}
html body .photobank-header p {
  max-width: 570px !important;
}
html body .photobank-visual {
  justify-self: end !important;
  width: min(100%, 470px) !important;
  max-width: 470px !important;
  transform: translateX(clamp(28px, 3vw, 48px)) !important;
  overflow: visible !important;
}
html body .photobank-visual__frame {
  width: min(100%, 410px) !important;
  min-height: clamp(335px, 28vw, 430px) !important;
  margin: 0 0 22px auto !important;
}
html body .photobank-visual::before {
  inset: 0 -8px 42px 10px !important;
  transform: rotate(1.2deg) scale(1.045) !important;
}
html body .photobank-visual::after {
  inset: 28px 2px 0 22px !important;
  transform: scale(1.035) !important;
}
html body .photobank-actions,
html body .photobank-header .photobank-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  overflow: visible !important;
}
html body .photobank-actions button,
html body .photobank-header button[data-hero-action] {
  position: relative !important;
  flex: 0 1 auto !important;
  min-width: 132px !important;
  overflow: hidden !important;
  transform: none !important;
  translate: none !important;
  animation: none !important;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease !important;
}
html body .photobank-actions button:hover,
html body .photobank-header button[data-hero-action]:hover {
  transform: none !important;
  translate: none !important;
}
html body .photobank-actions button::before,
html body .photobank-actions button::after,
html body .photobank-header button[data-hero-action]::before,
html body .photobank-header button[data-hero-action]::after,
html body .photobank-actions .photobank-action-slider,
html body .photobank-actions .photobank-actions-slider {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  animation: none !important;
  transform: none !important;
}
@media (max-width: 900px) {
  html body .photobank-header .container {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 26px !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
  html body .photobank-cover-copy {
    transform: none !important;
    max-width: none !important;
  }
  html body .photobank-header h1 {
    font-size: clamp(48px, 12.2vw, 58px) !important;
    line-height: .98 !important;
    letter-spacing: -.015em !important;
    max-width: 10.8ch !important;
  }
  html body .photobank-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  html body .photobank-actions button,
  html body .photobank-header button[data-hero-action] {
    width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
  }
  html body .photobank-visual {
    width: 100% !important;
    max-width: none !important;
    min-height: 392px !important;
    justify-self: stretch !important;
    transform: none !important;
    overflow: visible !important;
  }
  html body .photobank-visual__frame {
    width: min(100%, 318px) !important;
    min-height: 318px !important;
    margin: 28px auto 22px !important;
    box-sizing: border-box !important;
  }
  html body .photobank-visual::before {
    inset: 0 10px 48px 10px !important;
    transform: rotate(1.1deg) scale(1.02) !important;
  }
  html body .photobank-visual::after {
    inset: 26px 18px 0 18px !important;
    transform: none !important;
  }
}
@media (max-width: 420px) {
  html body .photobank-visual__frame {
    width: min(100%, 306px) !important;
    min-height: 306px !important;
    padding: 14px !important;
    gap: 9px !important;
  }
}

/* Topic 94 2026-09-09 r59: photobank mobile crop fix + static full-width hero action bar. */
html body .photobank-header .photobank-hero-metrics {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  max-width: 520px !important;
  gap: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(5,8,15,.18) !important;
  background: rgba(255,255,255,.72) !important;
}
html body .photobank-header .photobank-hero-metrics button {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  border: 0 !important;
  border-right: 1px solid rgba(5,8,15,.18) !important;
  background: transparent !important;
  transform: none !important;
  translate: none !important;
  animation: none !important;
}
html body .photobank-header .photobank-hero-metrics button:last-child {
  border-right: 0 !important;
}
html body .photobank-header .photobank-hero-metrics button::before,
html body .photobank-header .photobank-hero-metrics button::after,
html body .photobank-header .photobank-hero-metrics::before,
html body .photobank-header .photobank-hero-metrics::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  transform: none !important;
  animation: none !important;
}
html body .photobank-header .photobank-hero-metrics button i {
  transform: none !important;
  translate: none !important;
  animation: none !important;
}
@media (max-width: 900px) {
  html body .photobank-header .photobank-hero-metrics {
    max-width: 100% !important;
  }
  html body .photobank-header .photobank-hero-metrics button {
    min-height: 50px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
    font-size: 10px !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
  }
  html body .photobank-visual {
    width: 100% !important;
    max-width: 100% !important;
    justify-self: stretch !important;
  }
  html body .photobank-visual__frame {
    width: min(100%, 306px) !important;
    min-height: 306px !important;
    margin: 28px auto 22px !important;
    box-sizing: border-box !important;
  }
}
@media (max-width: 420px) {
  html body .photobank-visual__frame {
    width: min(100%, 292px) !important;
    min-height: 292px !important;
    padding: 13px !important;
    gap: 8px !important;
  }
}

/* Topic 94 2026-09-09 r60: photobank frame viewport cap, prevents mobile right-edge crop. */
html body .photobank-header .photobank-visual__frame,
html body .photobank-header .container > .photobank-visual .photobank-visual__frame {
  width: clamp(292px, 28vw, 410px) !important;
  max-width: calc(100vw - 98px) !important;
  min-height: clamp(292px, 28vw, 410px) !important;
  box-sizing: border-box !important;
}
@media (max-width: 420px) {
  html body .photobank-header .photobank-visual__frame,
  html body .photobank-header .container > .photobank-visual .photobank-visual__frame {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Topic 94 2026-09-09 r61: photobank hero centered as one balanced composition. */
html body .photobank-header .container {
  grid-template-columns: minmax(0, 1fr) minmax(390px, .96fr) !important;
  gap: clamp(42px, 5vw, 74px) !important;
  width: min(100%, 1080px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(34px, 4.6vw, 70px) !important;
  padding-right: clamp(34px, 4.6vw, 70px) !important;
  justify-content: center !important;
  align-items: center !important;
}
html body .photobank-cover-copy {
  width: 100% !important;
  max-width: 520px !important;
  transform: none !important;
  justify-self: end !important;
}
html body .photobank-visual {
  width: min(100%, 430px) !important;
  max-width: 430px !important;
  justify-self: start !important;
  transform: none !important;
  overflow: visible !important;
}
html body .photobank-visual__frame {
  width: min(100%, 392px) !important;
  min-height: 392px !important;
  margin: 0 auto 22px !important;
}
html body .photobank-visual::before {
  inset: 0 4px 42px 4px !important;
  transform: rotate(1.15deg) scale(1.045) !important;
}
html body .photobank-visual::after {
  inset: 28px 12px 0 12px !important;
  transform: scale(1.025) !important;
}
@media (max-width: 900px) {
  html body .photobank-header .container {
    width: min(100%, 362px) !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
  html body .photobank-cover-copy,
  html body .photobank-visual {
    justify-self: center !important;
    max-width: 318px !important;
    width: 100% !important;
  }
  html body .photobank-visual__frame {
    width: min(100%, 292px) !important;
    min-height: 292px !important;
    margin: 28px auto 22px !important;
  }
}

/* Topic 94 2026-09-09 r62: nudge only the photobank photo block to the right, keep the rest centered. */
html body .photobank-header .container > .photobank-visual {
  transform: translateX(24px) !important;
}
html body .photobank-header .container > .photobank-visual .photobank-visual__frame {
  margin-left: auto !important;
  margin-right: 0 !important;
}
@media (max-width: 900px) {
  html body .photobank-header .container > .photobank-visual {
    transform: translateX(6px) !important;
  }
  html body .photobank-header .container > .photobank-visual .photobank-visual__frame {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Topic 94 2026-09-09 r63: photobank photo collage nudged further right only. */
html body .photobank-header .container > .photobank-visual {
  transform: translateX(44px) !important;
}
@media (max-width: 900px) {
  html body .photobank-header .container > .photobank-visual {
    transform: translateX(10px) !important;
  }
}
@media (max-width: 420px) {
  html body .photobank-header .container > .photobank-visual {
    transform: translateX(8px) !important;
  }
}

/* Topic 94 2026-09-09 r64: public profile flip affordance on the front card. */
html body.public-profile-v2-page #publicBadgeCard {
  cursor: pointer !important;
}
html body.public-profile-v2-page #publicBadgeCard .pp2-card-face--front {
  overflow: visible !important;
}
html body.public-profile-v2-page .pp2-flip-spine {
  position: absolute !important;
  z-index: 8 !important;
  top: 50% !important;
  right: -18px !important;
  width: 36px !important;
  height: clamp(152px, 22vw, 220px) !important;
  transform: translateY(-50%) !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(7,17,29,.20) !important;
  border-left: 0 !important;
  border-radius: 0 18px 18px 0 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f2f6fb 54%, #e7edf5 100%) !important;
  box-shadow: 14px 18px 34px rgba(7,17,29,.14), inset 8px 0 14px rgba(7,17,29,.06) !important;
  color: #07111d !important;
  pointer-events: none !important;
}
html body.public-profile-v2-page .pp2-flip-spine span {
  writing-mode: vertical-rl !important;
  transform: rotate(180deg) !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: #1565d8 !important;
}
html body.public-profile-v2-page .pp2-flip-corner {
  position: absolute !important;
  z-index: 9 !important;
  right: 18px !important;
  top: 18px !important;
  width: 74px !important;
  height: 74px !important;
  pointer-events: none !important;
  overflow: hidden !important;
  border-radius: 0 18px 0 0 !important;
}
html body.public-profile-v2-page .pp2-flip-corner::before {
  content: "" !important;
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  width: 74px !important;
  height: 74px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.10) 0 48%, #ffffff 49%, #e8eef6 100%) !important;
  border-left: 1px solid rgba(7,17,29,.14) !important;
  border-bottom: 1px solid rgba(7,17,29,.14) !important;
  box-shadow: -10px 12px 22px rgba(7,17,29,.12) !important;
  transform: translate(36px, -36px) rotate(45deg) !important;
}
html body.public-profile-v2-page .pp2-flip-corner span {
  position: absolute !important;
  right: 9px !important;
  top: 45px !important;
  transform: rotate(45deg) !important;
  font-size: 9px !important;
  font-weight: 950 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: rgba(7,17,29,.64) !important;
}
html body.public-profile-v2-page #publicBadgeCard:hover .pp2-flip-spine {
  right: -22px !important;
  box-shadow: 16px 20px 38px rgba(7,17,29,.18), inset 8px 0 14px rgba(21,101,216,.08) !important;
}
@media (max-width: 760px) {
  html body.public-profile-v2-page .pp2-flip-spine {
    right: -12px !important;
    width: 28px !important;
    height: 136px !important;
    border-radius: 0 14px 14px 0 !important;
  }
  html body.public-profile-v2-page .pp2-flip-spine span {
    font-size: 8px !important;
    letter-spacing: .09em !important;
  }
  html body.public-profile-v2-page .pp2-flip-corner {
    right: 10px !important;
    top: 10px !important;
    width: 58px !important;
    height: 58px !important;
  }
  html body.public-profile-v2-page .pp2-flip-corner::before {
    width: 58px !important;
    height: 58px !important;
    transform: translate(29px, -29px) rotate(45deg) !important;
  }
  html body.public-profile-v2-page .pp2-flip-corner span { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  html body.public-profile-v2-page #publicBadgeCard:hover .pp2-flip-spine {
    right: -18px !important;
  }
}

/* Topic 94 2026-09-09 r65: keep public-profile flip hint inside mobile viewport. */
@media (max-width: 760px) {
  html body.public-profile-v2-page .pp2-flip-spine {
    right: 0 !important;
    width: 24px !important;
    height: 126px !important;
    border-left: 1px solid rgba(7,17,29,.12) !important;
    border-radius: 12px 0 0 12px !important;
    box-shadow: -10px 14px 26px rgba(7,17,29,.10), inset -6px 0 12px rgba(7,17,29,.05) !important;
  }
  html body.public-profile-v2-page #publicBadgeCard:hover .pp2-flip-spine {
    right: 0 !important;
  }
}

/* Topic 94 2026-09-09 r66: public profile flip hint — only a subtle folded bottom-right corner, no text/spine. */
html body.public-profile-v2-page .pp2-flip-spine {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
html body.public-profile-v2-page .pp2-flip-corner {
  position: absolute !important;
  z-index: 9 !important;
  right: 18px !important;
  top: auto !important;
  bottom: 18px !important;
  width: 72px !important;
  height: 72px !important;
  pointer-events: none !important;
  overflow: hidden !important;
  border-radius: 0 0 18px 0 !important;
  background: transparent !important;
}
html body.public-profile-v2-page .pp2-flip-corner::before {
  content: "" !important;
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  width: 72px !important;
  height: 72px !important;
  background:
    linear-gradient(315deg, rgba(255,255,255,.08) 0 46%, #ffffff 47%, #edf2f8 100%) !important;
  border-left: 1px solid rgba(7,17,29,.14) !important;
  border-top: 1px solid rgba(7,17,29,.12) !important;
  border-bottom: 0 !important;
  box-shadow: -12px -10px 22px rgba(7,17,29,.12) !important;
  transform: translate(36px, 36px) rotate(45deg) !important;
}
html body.public-profile-v2-page .pp2-flip-corner::after {
  content: "" !important;
  position: absolute !important;
  right: 8px !important;
  bottom: 8px !important;
  width: 38px !important;
  height: 38px !important;
  border-right: 1px solid rgba(21,101,216,.24) !important;
  border-bottom: 1px solid rgba(21,101,216,.20) !important;
  border-radius: 0 0 12px 0 !important;
  background: transparent !important;
  transform: none !important;
  opacity: .9 !important;
}
html body.public-profile-v2-page .pp2-flip-corner span {
  display: none !important;
}
@media (max-width: 760px) {
  html body.public-profile-v2-page .pp2-flip-corner {
    right: 10px !important;
    bottom: 10px !important;
    top: auto !important;
    width: 54px !important;
    height: 54px !important;
  }
  html body.public-profile-v2-page .pp2-flip-corner::before {
    width: 54px !important;
    height: 54px !important;
    transform: translate(27px, 27px) rotate(45deg) !important;
  }
  html body.public-profile-v2-page .pp2-flip-corner::after {
    right: 6px !important;
    bottom: 6px !important;
    width: 28px !important;
    height: 28px !important;
  }
}

/* Topic 94 2026-09-09 r67: make public-profile flip fold clearly visible on the dark front card. */
html body.public-profile-v2-page #publicBadgeCard .pp2-card-face--front .pp2-flip-corner {
  display: block !important;
  position: absolute !important;
  z-index: 21474820 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  width: 96px !important;
  height: 96px !important;
  pointer-events: none !important;
  overflow: visible !important;
  background: transparent !important;
  border-radius: 0 !important;
  filter: drop-shadow(-10px -10px 18px rgba(0,0,0,.28)) !important;
}
html body.public-profile-v2-page #publicBadgeCard .pp2-card-face--front .pp2-flip-corner::before {
  content: "" !important;
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  width: 0 !important;
  height: 0 !important;
  border-style: solid !important;
  border-width: 0 0 96px 96px !important;
  border-color: transparent transparent #ffffff transparent !important;
  transform: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body.public-profile-v2-page #publicBadgeCard .pp2-card-face--front .pp2-flip-corner::after {
  content: "" !important;
  position: absolute !important;
  right: 13px !important;
  bottom: 13px !important;
  width: 46px !important;
  height: 46px !important;
  border-right: 2px solid rgba(21,101,216,.42) !important;
  border-bottom: 2px solid rgba(21,101,216,.34) !important;
  border-left: 0 !important;
  border-top: 0 !important;
  border-radius: 0 0 14px 0 !important;
  background: linear-gradient(135deg, rgba(237,242,248,.0), rgba(237,242,248,.55)) !important;
  transform: none !important;
  opacity: 1 !important;
}
@media (max-width: 760px) {
  html body.public-profile-v2-page #publicBadgeCard .pp2-card-face--front .pp2-flip-corner {
    width: 78px !important;
    height: 78px !important;
  }
  html body.public-profile-v2-page #publicBadgeCard .pp2-card-face--front .pp2-flip-corner::before {
    border-width: 0 0 78px 78px !important;
  }
  html body.public-profile-v2-page #publicBadgeCard .pp2-card-face--front .pp2-flip-corner::after {
    right: 10px !important;
    bottom: 10px !important;
    width: 36px !important;
    height: 36px !important;
  }
}

/* Topic 94 2026-09-09 r68: robust visible fold on the actual front badge surface. */
html body.public-profile-v2-page #publicBadgeCard .pp2-card-face--front .pp2-print-badge--front {
  position: relative !important;
  overflow: hidden !important;
}
html body.public-profile-v2-page #publicBadgeCard .pp2-card-face--front .pp2-print-badge--front::after {
  content: "" !important;
  position: absolute !important;
  z-index: 21474830 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 0 !important;
  height: 0 !important;
  border-style: solid !important;
  border-width: 0 0 112px 112px !important;
  border-color: transparent transparent #ffffff transparent !important;
  filter: drop-shadow(-10px -10px 16px rgba(0,0,0,.34)) !important;
  pointer-events: none !important;
}
html body.public-profile-v2-page #publicBadgeCard .pp2-card-face--front .pp2-print-badge--front::before {
  content: "" !important;
  position: absolute !important;
  z-index: 21474831 !important;
  right: 16px !important;
  bottom: 16px !important;
  width: 48px !important;
  height: 48px !important;
  border-right: 2px solid rgba(21,101,216,.46) !important;
  border-bottom: 2px solid rgba(21,101,216,.38) !important;
  border-radius: 0 0 14px 0 !important;
  pointer-events: none !important;
}
html body.public-profile-v2-page #publicBadgeCard .pp2-card-face--front .pp2-flip-corner {
  display: none !important;
}
/* Topic 94: white flip arrow in the card corner. */
html body.public-profile-v2-page #publicBadgeCard .pp2-card-face--front .pp2-print-badge--front .pp2-flip-arrow {
  display: flex !important;
  position: absolute !important;
  z-index: 2147483647 !important;
  left: 9px !important;
  top: 8px !important;
  width: 34px !important;
  height: 34px !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  font: 900 29px/1 Arial, sans-serif !important;
  text-shadow: 0 2px 7px rgba(0,0,0,.75) !important;
  pointer-events: none !important;
}
@media (max-width: 760px) {
  html body.public-profile-v2-page #publicBadgeCard .pp2-card-face--front .pp2-print-badge--front .pp2-flip-arrow {
    left: 7px !important;
    top: 6px !important;
    width: 30px !important;
    height: 30px !important;
    font-size: 26px !important;
  }
}

html body.public-profile-v2-page #publicBadgeCard .pp2-card-face--front .pp2-flip-corner {
  display: flex !important;
  position: absolute !important;
  z-index: 21474840 !important;
  left: 6px !important;
  top: 6px !important;
  right: auto !important;
  bottom: auto !important;
  width: 42px !important;
  height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  pointer-events: none !important;
  filter: none !important;
}
html body.public-profile-v2-page #publicBadgeCard .pp2-card-face--front .pp2-flip-corner::before {
  content: '↗' !important;
  display: block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  color: #fff !important;
  font: 900 32px/1 Arial, sans-serif !important;
  text-shadow: 0 2px 6px rgba(0,0,0,.55) !important;
  transform: none !important;
  background: transparent !important;
}
html body.public-profile-v2-page #publicBadgeCard .pp2-card-face--front .pp2-flip-corner::after {
  display: none !important;
}
@media (max-width: 760px) {
  html body.public-profile-v2-page #publicBadgeCard .pp2-card-face--front .pp2-flip-corner {
    left: 5px !important;
    top: 5px !important;
    width: 36px !important;
    height: 36px !important;
  }
  html body.public-profile-v2-page #publicBadgeCard .pp2-card-face--front .pp2-flip-corner::before {
    font-size: 28px !important;
  }
  html body.public-profile-v2-page #publicBadgeCard .pp2-card-face--front .pp2-print-badge--front::after {
    border-width: 0 0 82px 82px !important;
  }
  html body.public-profile-v2-page #publicBadgeCard .pp2-card-face--front .pp2-print-badge--front::before {
    right: 11px !important;
    bottom: 11px !important;
    width: 34px !important;
    height: 34px !important;
  }
}

/* Topic 94 2026-09-09: final production visual guard loaded last on migrated pages. */
html body :is(button, .btn, .button, [role="button"], .filter-btn, .tab-btn, .mn-filter, .page-btn, .photobank-tab, .contacts-topic-btn, .document-download, .news-read-more) {
  min-height: 40px !important;
  text-shadow: none !important;
}
html body :is(button, .btn, .button, [role="button"], .filter-btn, .tab-btn, .mn-filter, .page-btn, .photobank-tab, .contacts-topic-btn, .document-download, .news-read-more):where(:not(.btn-primary):not(.active):not(.is-active)) {
  color: #050605 !important;
  background-color: #ffffff !important;
}
html body :is(button, .btn, .button, [role="button"], .filter-btn, .tab-btn, .mn-filter, .page-btn, .photobank-tab, .contacts-topic-btn, .document-download, .news-read-more):where(:hover, :focus-visible) {
  color: #ffffff !important;
  background-color: #071321 !important;
  border-color: #071321 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(21, 72, 184, 0.22) !important;
}
html body :is(.btn-primary, .btn.active, .btn.is-active, .filter-btn.active, .filter-btn.is-active, .tab-btn.active, .tab-btn.is-active, .mn-filter.active, .mn-filter.is-active, .page-btn.active, .photobank-tab.active, .contacts-topic-btn.active, .document-download, .news-read-more) {
  color: #ffffff !important;
  background-color: #071321 !important;
  border-color: #071321 !important;
}
html body :is(.btn-primary, .btn.active, .btn.is-active, .filter-btn.active, .filter-btn.is-active, .tab-btn.active, .tab-btn.is-active, .mn-filter.active, .mn-filter.is-active, .page-btn.active, .photobank-tab.active, .contacts-topic-btn.active, .document-download, .news-read-more):where(:hover, :focus-visible) {
  color: #ffffff !important;
  background-color: #1548b8 !important;
  border-color: #1548b8 !important;
}
html body #headerContainer .header-menu-toggle,
html body .header .header-menu-toggle {
  color: #050605 !important;
  background: #ffffff !important;
  border-color: rgba(5, 6, 5, 0.22) !important;
  min-width: 48px !important;
  min-height: 48px !important;
}
html body #headerContainer .header-menu-toggle :is(i, svg, span),
html body .header .header-menu-toggle :is(i, svg, span),
html body #headerContainer .header-menu-toggle .hamburger-line,
html body .header .header-menu-toggle .hamburger-line {
  color: #050605 !important;
  background-color: #050605 !important;
  border-color: #050605 !important;
}
html body #headerContainer .header-menu-toggle:where(:hover, :focus-visible),
html body .header .header-menu-toggle:where(:hover, :focus-visible) {
  color: #ffffff !important;
  background: #071321 !important;
}
html body #headerContainer .header-menu-toggle:where(:hover, :focus-visible) :is(i, svg, span),
html body .header .header-menu-toggle:where(:hover, :focus-visible) :is(i, svg, span),
html body #headerContainer .header-menu-toggle:where(:hover, :focus-visible) .hamburger-line,
html body .header .header-menu-toggle:where(:hover, :focus-visible) .hamburger-line {
  color: #ffffff !important;
  background-color: #ffffff !important;
  border-color: #ffffff !important;
}
html body :is(.ioc-news-pause, .carousel-pause, .slider-pause) {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  background: #ffffff !important;
  color: #050605 !important;
  border: 1px solid rgba(5, 6, 5, 0.22) !important;
}
html body :is(.ioc-news-dots, .dots, .pagination-dots) > button,
html body :is(.ioc-news-dot, .slider-dot, .carousel-dot) {
  min-width: 36px !important;
  min-height: 36px !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  border: 1px solid rgba(5, 6, 5, 0.22) !important;
  color: #050605 !important;
}
html body :is(.ioc-news-dots, .dots, .pagination-dots) > button:where(.is-active, .active),
html body :is(.ioc-news-dot, .slider-dot, .carousel-dot):where(.is-active, .active) {
  background: #071321 !important;
  color: #ffffff !important;
}
html body :is(.modal-close, .close, .btn-close, [aria-label*="Закры"], [aria-label*="закры"], [aria-label*="Close"], [aria-label*="close"]) {
  min-width: 44px !important;
  min-height: 44px !important;
  color: #050605 !important;
  background: #ffffff !important;
  border: 1px solid rgba(5, 6, 5, 0.22) !important;
}
html body :is(.modal-close, .close, .btn-close, [aria-label*="Закры"], [aria-label*="закры"], [aria-label*="Close"], [aria-label*="close"]):where(:hover, :focus-visible) {
  color: #ffffff !important;
  background: #b42318 !important;
  border-color: #b42318 !important;
}
html body :is(.footer a, #footerContainer a, .footer-socials a, .footer-bottom-links a, .auth-page a, .login-page a, .register-page a, .social-login a, .social-auth a) {
  min-height: 36px !important;
}
html body :is(.auth-page .social-login a, .auth-page .social-auth a, .login-page .social-login a, .register-page .social-login a, .footer-socials a, #footerContainer .footer-socials a) {
  color: #ffffff !important;
  background: #071321 !important;
  border-color: rgba(255, 255, 255, 0.34) !important;
}
html body :is(.auth-page .social-login a, .auth-page .social-auth a, .login-page .social-login a, .register-page .social-login a, .footer-socials a, #footerContainer .footer-socials a):where(:hover, :focus-visible) {
  color: #071321 !important;
  background: #ffffff !important;
  border-color: #ffffff !important;
}
html body .contacts-topic-btn.active {
  color: #ffffff !important;
  background: #071321 !important;
  border-color: #071321 !important;
}
@media (max-width: 720px) {
  html body :is(.mn-filter, .filter-btn, .tab-btn, .photobank-tab, .page-btn) {
    min-height: 44px !important;
    padding-block: 10px !important;
  }
  html body :is(a, button, .btn, .button, [role="button"]) {
    touch-action: manipulation;
  }
}

/* Topic 94 2026-09-09 r2: concrete footer and carousel target fixes. */
html body :is(footer.footer, #footerContainer .footer) :is(a, .footer-section a, .footer-bottom-links a, .footer-socials a),
html body :is(.footer, #footerContainer) :is(a, .footer-section a, .footer-bottom-links a, .footer-socials a) {
  color: #ffffff !important;
  text-decoration-color: rgba(255,255,255,.72) !important;
}
html body :is(footer.footer, #footerContainer .footer) :is(.footer-bottom-links a, .footer-section a),
html body :is(.footer, #footerContainer) :is(.footer-bottom-links a, .footer-section a) {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 40px !important;
  padding: 7px 10px !important;
  border-radius: 10px !important;
  background: rgba(0,0,0,.22) !important;
}
html body :is(footer.footer, #footerContainer .footer) :is(.footer-bottom-links a, .footer-section a):where(:hover, :focus-visible),
html body :is(.footer, #footerContainer) :is(.footer-bottom-links a, .footer-section a):where(:hover, :focus-visible) {
  color: #071321 !important;
  background: #ffffff !important;
}

html body main.ioc-site :is(.ioc-news-pause, #homeNewsPause) {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  padding: 0 !important;
}
html body main.ioc-site :is(.ioc-news-side-panel .ioc-news-dots, .ioc-news-dots) > button,
html body main.ioc-site :is(.ioc-news-dot, .ioc-news-dots button) {
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  display: inline-grid !important;
  place-items: center !important;
}
html body main.ioc-site :is(.ioc-latest-stage__all-link, .ioc-news-stage__all-link) {
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
}
html body .btn-small,
html body button.btn-small,
html body a.btn-small {
  min-height: 40px !important;
  padding-block: 8px !important;
}
html body .contacts-section :is(a, input[type="checkbox"]) {
  min-height: 24px !important;
}

/* Topic 94 2026-09-09 r3: beat legacy high-specificity carousel/news controls. */
html body.messenger-page main.ioc-site .ioc-news-side-panel .ioc-news-controls-row #homeNewsPause.ioc-news-pause,
html body main.ioc-site .ioc-news-side-panel .ioc-news-controls-row #homeNewsPause.ioc-news-pause,
html body main.ioc-site #homeNewsPause.ioc-news-pause,
html body main.ioc-site .ioc-news-pause {
  box-sizing: border-box !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  padding: 0 !important;
  overflow: visible !important;
}
html body.messenger-page .mn-news-page .mn-news-control.mn-news-control--inside-board .mn-filter,
html body .mn-news-page .mn-news-control .mn-filter,
html body .mn-news-page .mn-filter,
html body button.mn-filter {
  box-sizing: border-box !important;
  min-height: 44px !important;
  height: auto !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
html body main.ioc-site .ioc-latest-stage__all-link {
  min-height: 40px !important;
  line-height: 1.25 !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

/* FMR verified visual repairs 2026-09-28 */
html body #headerContainer .header-menu-toggle :is(i, svg),
html body .header .header-menu-toggle :is(i, svg),
html body #headerContainer .header-menu-toggle:where(:hover, :focus-visible) :is(i, svg),
html body .header .header-menu-toggle:where(:hover, :focus-visible) :is(i, svg) {
  background-color: transparent !important;
  border-color: transparent !important;
}
/* Keep foreground/background changes synchronous to preserve contrast. */
html body.mn-tournaments-page .tournament-actions .btn,
html body.mn-tournaments-page .events-group--upcoming > .tournaments-grid > .tournament-card .tournament-actions .btn {
  transition-property: transform, box-shadow !important;
}
