/* Page corrections only: preserve the established Saira, glass and blue/cyan UI. */
.atlas-label { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: var(--afn-radius-sm); background: rgba(32,216,255,.08); border: 1px solid var(--afn-line-strong); color: var(--afn-cyan); }
.atlas-panel { border-radius: var(--afn-radius-md); }
.atlas-polished-page .h2-headline { font-size: clamp(2.6rem, 4.4vw, 4.6rem); font-weight: 800; line-height: 1.12; }
.atlas-polished-page .h2-eyebrow { letter-spacing: .12em; line-height: 1.5; }
.atlas-polished-page .h2-grid-lines { animation: none; opacity: .4; }
.atlas-polished-page .gallery-thumb-item { padding: 0; color: var(--afn-text); background: var(--afn-bg-soft); }
/* Native buttons replace generic thumbnail divs and retain the filmstrip geometry. */
.atlas-polished-page .gallery-thumb-item:focus-visible { outline-offset: -3px; }
.atlas-polished-page .gallery-stage-card { overflow: hidden; }
.atlas-polished-page .match-push-content { min-width: 0; }
.atlas-polished-page .match-push-title { text-wrap: balance; }
.atlas-polished-page .match-desktop-info { min-width: 0; }
.atlas-polished-page .match-desktop-info > .d-flex { flex-wrap: wrap; }
.atlas-polished-page .match-filter-pill { flex-shrink: 0; min-height: 44px; }
.atlas-polished-page .tourn-filter-btn { min-height: 44px; }
/* Filters operate on one results list; controls must remain clear and reachable. */
.atlas-polished-page .tourn-search-input, .atlas-polished-page .leaderboard-search-input { min-height: 44px; }
.atlas-polished-page .tourn-search-clear { min-width: 44px; min-height: 44px; }
.atlas-polished-page :is(.tourn-card-name, .podium-name, .match-host-name) { overflow-wrap: anywhere; }
.atlas-polished-page .match-native-sheet { max-height: calc(100dvh - 32px); }
.atlas-polished-page .match-native-sheet > form { display: flex; flex-direction: column; min-height: 0; }
.atlas-polished-page .match-native-sheet .modal-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.atlas-polished-page .match-native-sheet :is(.modal-header, .modal-footer) { flex-shrink: 0; }
.atlas-polished-page .match-native-sheet .modal-header > div { min-width: 0; }
.atlas-polished-page .match-native-sheet .modal-header .btn-close { flex: 0 0 44px; width: 44px; height: 44px; padding: 12px; margin: 0; margin-inline-start: auto; box-sizing: border-box; }
.profile-page .profile-hero-name { max-width: 100%; overflow-wrap: anywhere; }
[lang='ar'] .atlas-polished-page .h2-headline { font-family: 'Noto Sans Arabic', var(--afn-body); line-height: 1.55; letter-spacing: 0; font-size: clamp(2.05rem, 3.8vw, 3.8rem); }
[lang='ar'] .match-native-modal { direction: rtl; }
@media (max-width: 575.98px) {
    .atlas-polished-page .h2-headline { font-size: clamp(2.05rem, 8.8vw, 3.1rem); }
    .atlas-polished-page .h2-eyebrow { font-size: .63rem; letter-spacing: .1em; }
    .atlas-polished-page .match-push-card { display: grid; grid-template-columns: 42px minmax(0, 1fr); padding: 18px; gap: 14px; }
    .atlas-polished-page .match-push-card > .btn { grid-column: 1 / -1; width: 100%; }
    .atlas-polished-page .match-push-title { font-size: 1.05rem; line-height: 1.4; }
    .atlas-polished-page .match-mobile-title { font-size: clamp(1.65rem, 6.8vw, 2rem); line-height: 1.25; font-weight: 800; text-transform: none; }
    .atlas-polished-page .match-push-icon-box { width: 42px; height: 42px; }
    .atlas-polished-page .tourn-hero-layout { align-items: stretch; }
    .atlas-polished-page .tourn-hero-actions { width: 100%; }
    .atlas-polished-page .tourn-hero-actions > .btn { flex: 1; }
    .atlas-polished-page .match-native-modal .modal-dialog { margin-inline: 8px; }
    .atlas-polished-page .match-native-sheet { max-height: calc(100dvh - 24px); }
    .atlas-polished-page .match-native-sheet .modal-footer { flex-wrap: wrap; gap: 8px; }
    .atlas-polished-page .match-native-sheet .modal-footer > * { min-height: 44px; }
    .atlas-polished-page .match-native-sheet .modal-title { font-size: 1rem; line-height: 1.4; }
}
/* Mobile hierarchy: one type scale and quiet content surfaces. Keep the desktop
   composition and the original navy/cyan identity intact. */
@media (max-width: 991.98px) {
    body.atlas-theme-dark {
        --afn-body: "Saira", system-ui, sans-serif;
        --afn-muted: #9bafc7;
        font-size: 1rem; font-weight: 400; line-height: 1.6;
    }
    .page-shell > section > .container { padding-inline: var(--atlas-mobile-gutter); }
    body .animate-in { animation: none !important; opacity: 1 !important; transform: none !important; }
    body :is(.btn, .h2-btn) {
        min-height: 44px; font-weight: 600 !important;
        letter-spacing: .01em !important; text-transform: none !important;
        white-space: normal; line-height: 1.45; box-shadow: none;
    }
    body :is(.btn-pce, .h2-btn-primary) { box-shadow: 0 4px 14px rgba(22,119,255,.16) !important; }
    body :is(.panel-card, .team-card, .tournament-card, .player-card, .stat-card):is(:hover, :active) {
        transform: none !important; box-shadow: none !important;
    }
    body :is(.form-control, .form-select),
    body input:not([type='hidden']):not([type='checkbox']):not([type='radio']):not([type='file']):not([type='submit']):not([type='button']),
    body select, body textarea {
        font-size: 1rem !important; font-weight: 400 !important; min-height: 48px;
    }
    body :is(.auth-field-label, .setting-label) { font-size: .8125rem; font-weight: 600 !important; line-height: 1.5; }
    body :is(.auth-field-help, .form-text) { font-size: .8125rem; color: var(--afn-muted); line-height: 1.6; }
    body :is(.profile-hero-card, .profile-card-modern, .recovery-flow-card, .auth-form-card) {
        background: #091426; backdrop-filter: none; -webkit-backdrop-filter: none;
        border-color: var(--afn-line); border-radius: 18px; box-shadow: none;
        padding: 1.25rem;
    }
    body .h2-hero { padding-block-start: 1.5rem; }
    body .h2-grid-bg { opacity: .35; }
    body .h2-eyebrow { font-size: .6875rem; font-weight: 600; letter-spacing: .08em; }
    body .h2-headline { font-weight: 750; line-height: 1.14; letter-spacing: -.025em; }
    body .h2-desc { font-size: 1rem !important; font-weight: 400; line-height: 1.75; }
    body .h2-actions { gap: .75rem; }
    body .h2-btn { border-radius: 12px; }
    body .profile-avatar-frame { width: 88px; height: 88px; border-width: 2px; box-shadow: none; }
    body .profile-avatar-initials { font-size: 2rem; font-weight: 650; }
    body .profile-hero-name { font-size: clamp(1.6rem, 6vw, 2rem); font-weight: 650; line-height: 1.3; text-transform: none; }
    body .profile-readiness-box { padding: .875rem; }
    body .profile-stats-grid { gap: .5rem; }
    body .stat-mini-card { padding: .75rem .5rem; background: transparent; border: 0; }
    body .stat-mini-val { font-size: 1.375rem; font-weight: 650; }
    body .stat-mini-lbl { font-size: .6875rem; font-weight: 500; letter-spacing: .02em; }
    body .discord-service-capsule { background: #091426; border-color: var(--afn-line); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
    body .auth-hero-title { font-size: clamp(1.8rem, 7vw, 2.5rem); line-height: 1.2; font-weight: 700; }
    body .auth-hero-desc { font-size: 1rem; line-height: 1.7; font-weight: 400; }
    body .auth-form-header h2 { font-weight: 650; }
    body .auth-card-title { font-weight: 650; letter-spacing: -.01em; }
    [lang='ar'] body.atlas-theme-dark { --afn-body: "Noto Sans Arabic", system-ui, sans-serif; }
    [lang='ar'] body :is(.h2-headline, .auth-hero-title, .profile-hero-name) { letter-spacing: 0; line-height: 1.5; }
    [lang='ar'] body :is(.h2-eyebrow, .btn, .h2-btn, .stat-mini-lbl) { letter-spacing: 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
    :is(.atlas-polished-page, .dash-next-body) *, :is(.atlas-polished-page, .dash-next-body) *::before, :is(.atlas-polished-page, .dash-next-body) *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* A missing banner must not advertise a different tournament's dated poster. */
.h2-poster-fallback { min-height: 360px; aspect-ratio: 4 / 5; padding: 64px 28px 36px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 28px; background: radial-gradient(ellipse at 50% 35%, rgba(32,216,255,.12), transparent 65%), var(--afn-bg-soft); text-align: center; }
.h2-poster-fallback > img, .h2-event-poster .h2-poster-fallback > img { position: static; width: 120px; max-width: 45%; height: auto; object-fit: contain; }
.h2-poster-fallback > strong { font-family: var(--afn-display); font-size: clamp(1.35rem, 2vw, 1.9rem); font-weight: 700; line-height: 1.3; color: var(--afn-text); text-wrap: balance; overflow-wrap: anywhere; }
.h2-event-poster .h2-poster-fallback { height: 100%; min-height: 280px; }
