/* A flight-board companion to the existing deep-blue cover and operating console. */
.cover-btn-competition { background: #dbb96d; border: 1px solid #f4d793; color: #172b45; box-shadow: 0 7px 28px #0003; }
.cover-btn-competition:hover { background: #f0d494; transform: translateY(-2px); }
.cover-btn-competition span { display: block; font-size: 11px; font-weight: 400; letter-spacing: .12em; opacity: .8; margin-top: 6px; }
@media (max-width: 600px) {
  .cover-content { width: calc(100% - 40px); }
  .cover-title-wrap { margin-bottom: 32px; }
  .cover-title { font-size: 44px; letter-spacing: 0; padding-left: 0; }
  .cover-subtitle { font-size: 16px; letter-spacing: 0; }
  .cover-tagline { font-size: 12px; letter-spacing: 0; line-height: 1.6; }
  .cover-buttons { flex-direction: column; width: min(280px, calc(100vw - 48px)); gap: 12px; margin: 0 auto 36px; }
  .cover-buttons .cover-btn { width: 100%; height: 52px; flex-shrink: 0; padding: 12px 20px; letter-spacing: 0; white-space: nowrap; }
  .cover-buttons .cover-btn-competition { height: 72px; }
  .cover-btn-competition span { letter-spacing: 0; }
  .account-cover-links { flex-wrap: wrap; gap: 12px; }
  .cover-footer { letter-spacing: 0; }
}
.competition-overlay { z-index: 100010; background: rgba(8, 20, 36, .75); padding: 24px; }
.competition-dialog { width: min(800px, 100%); max-height: min(90dvh, 1000px); min-width: 0; display: flex; flex-direction: column; padding: 0; overflow: hidden; border: 1px solid #bfd0da; background: #f6f7f5; box-shadow: 0 24px 80px #0007; }
.competition-header { display: flex; align-items: center; justify-content: space-between; padding: 26px 32px; background: #102b43; color: #fff; }
.competition-header p { color: #d9bd82; font-size: 10px; letter-spacing: .17em; margin-bottom: 8px; }
.competition-header h2 { font-size: 28px; font-weight: 600; letter-spacing: .06em; }
.competition-close { width: 36px; height: 36px; border: 1px solid #ffffff40; border-radius: 4px; color: #fff; font-size: 24px; }
.competition-close:hover { background: #ffffff18; }
.competition-tabs { display: flex; border-bottom: 1px solid #d7dce0; padding: 0 24px; flex-shrink: 0; gap: 16px; background: #fff; }
.competition-tabs button { padding: 15px 6px 12px; border-bottom: 3px solid transparent; color: #627481; }
.competition-tabs button.active { color: #173d57; border-bottom-color: #b99654; font-weight: 600; }
.competition-content { padding: 26px 32px; overflow: auto; min-height: 120px; user-select: text; }
.competition-intro { margin-bottom: 24px; }
.competition-eyebrow { color: #8e6c31; font-size: 11px; letter-spacing: .13em; }
.competition-intro h3 { margin: 10px 0; font-size: 23px; font-weight: 600; color: #183b52; }
.competition-intro p { color: #61717c; line-height: 1.8; font-size: 13px; }
.competition-season { padding: 20px; margin: 0 0 16px; background: #fff; border: 1px solid #d8e0e4; border-left: 3px solid #bc9857; border-radius: 3px; }
.competition-season-heading,.competition-section-title { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; }
.competition-season-heading h3,.competition-section-title h3 { font-size: 17px; color: #193c53; }
.competition-season-heading p,.competition-section-title p { font-size: 11px; margin-bottom: 5px; color: #758895; }
.competition-phase { font-size: 11px; background: #eff3f5; color: #466174; border: 1px solid #d4e0e6; border-radius: 3px; padding: 5px 9px; white-space: nowrap; }
.competition-phase[data-phase="running"] { background: #e6f3ed; color: #246349; border-color: #b8dccb; }
.competition-phase[data-phase="registration"] { background: #fbf4e4; color: #84632b; border-color: #e5d2a8; }
.competition-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; margin-bottom: 18px; }
.competition-facts dt { font-size: 11px; color: #71828d; margin-bottom: 5px; }
.competition-facts dd { font-size: 13px; color: #263f4e; font-variant-numeric: tabular-nums; }
.competition-season-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; border-top: 1px solid #eef1f3; padding-top: 16px; }
.competition-primary { border: 1px solid #173d57; border-radius: 3px; padding: 10px 18px; background: #173d57; color: #fff; font-weight: 600; }
.competition-primary:hover { background: #285873; }
.competition-primary:disabled { opacity: .5; cursor: wait; }
.competition-link { color: #5b7382; font-size: 12px; padding: 6px 0; }
.competition-registered { color: #2b6950; font-size: 12px; }
.competition-announcement { padding: 12px; margin: 0 0 15px; color: #805e29; background: #fbf3df; border: 1px solid #e7d6af; font-size: 12px; line-height: 1.6; }.competition-announcement p { margin-top: 5px; }
.competition-rules { padding: 6px 0; }
.competition-rules h3 { font-size: 14px; color: #314d5e; margin: 14px 0; }
.competition-rules h3 span { font-size: 10px; margin-left: 7px; padding: 3px 6px; color: #87662d; background: #f2e8ce; }
.competition-rules ul { padding-left: 18px; line-height: 1.9; color: #61727d; font-size: 12px; }
.competition-muted { color: #71828d; font-size: 12px; line-height: 1.7; margin-bottom: 12px; }
.competition-error { margin: 16px 32px 0; padding: 12px; background: #fff0e9; border: 1px solid #e6b6a4; color: #933e27; line-height: 1.5; font-size: 12px; }
.competition-empty,.competition-loading { text-align: center; padding: 34px 20px; line-height: 1.8; color: #71828d; font-size: 13px; }
.competition-footer { display: flex; justify-content: space-between; padding: 13px 32px; border-top: 1px solid #d8e0e4; color: #7c8b95; font-size: 10px; flex-shrink: 0; background: #fff; }
.competition-footer button { color: #284c63; font-size: 12px; }
.competition-table-wrap { overflow-x: auto; margin-top: 16px; border: 1px solid #dde4e8; }
.competition-table { width: 100%; border-collapse: collapse; font-size: 12px; white-space: nowrap; }
.competition-table th { font-size: 11px; color: #71828d; background: #f0f4f6; font-weight: 500; text-align: left; padding: 12px; }
.competition-table td { padding: 12px; border-top: 1px solid #e7ecef; font-variant-numeric: tabular-nums; }
.competition-my-row { background: #fbf3df; }
.competition-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-height: 44px; padding-top: 14px; color: #627481; font-size: 12px; font-variant-numeric: tabular-nums; }
.competition-pagination span { text-align: center; min-width: 150px; overflow-wrap: anywhere; }
.competition-page-button { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 36px; border: 1px solid #c5d4dd; border-radius: 3px; background: #fff; color: #254a62; font-size: 20px; }
.competition-page-button:hover:not(:disabled) { background: #eff3f5; }
.competition-page-button:disabled { opacity: .4; cursor: default; }
.competition-history-division { padding: 18px 0; border-top: 1px solid #d8e0e4; }
.competition-history-division h4 { font-size: 14px; color: #193c53; }
.competition-history-division .competition-section-title { margin-bottom: 0; flex-wrap: wrap; }
.competition-history-division .competition-section-title p { margin-bottom: 0; }
.competition-podium-table { table-layout: fixed; white-space: normal; }
.competition-podium-table th:first-child { width: 20%; }
.competition-podium-table th:last-child { width: 40%; }
.competition-podium-table td { overflow-wrap: anywhere; }
.competition-personal-history,.competition-history-login { border-top: 1px solid #d8e0e4; padding-top: 24px; margin-top: 12px; }
.competition-history-login .competition-muted { margin-top: 12px; }
.competition-season-heading > div,.competition-section-title > div { min-width: 0; }
.competition-season-heading h3,.competition-section-title h3,.competition-section-title h4 { overflow-wrap: anywhere; }
.competition-score { border: 1px solid #d4e0e6; padding: 24px; background: #102b43; color: #fff; }
.competition-score span,.competition-score small { display: block; color: #a9bfcd; font-size: 11px; }
.competition-score strong { display: block; margin: 9px 0 12px; font-size: 31px; font-weight: 500; font-variant-numeric: tabular-nums; color: #efd494; }
.competition-valuation { margin-top: 16px; background: #fff; padding: 8px 20px; border: 1px solid #dde4e8; }
.competition-valuation > div { display: flex; justify-content: space-between; padding: 11px 0; border-bottom: 1px solid #edf1f3; font-size: 12px; }
.competition-valuation > div:last-child { border: 0; }
.competition-valuation dt { color: #687e8b; }.competition-valuation dd { font-variant-numeric: tabular-nums; color: #244a62; }
.competition-formula { font-size: 12px; padding: 15px 0; color: #526a78; }
.competition-reference { border-top: 1px dashed #ccd7dd; padding-top: 15px; color: #6b7d88; font-size: 12px; }
.competition-reference h4 { font-weight: 500; margin-bottom: 10px; }.competition-reference p { line-height: 1.9; }.competition-reference small { display: block; margin-top: 8px; line-height: 1.6; }
.competition-history-score { display: flex; gap: 24px; align-items: center; margin: 14px 0; color: #284c63; }.competition-history-score strong { font-size: 21px; }
.competition-banner { display: flex; align-items: center; justify-content: space-between; padding: 8px 12px; gap: 12px; background: #102b43; color: #edf3f7; border-top: 2px solid #c2a365; font-size: 11px; flex-shrink: 0; }
.competition-banner[hidden] { display: none; }.competition-banner strong { color: #edd18e; white-space: nowrap; }.competition-banner > div:first-child span { display: block; font-size: 10px; color: #abc0ce; margin-top: 4px; }
body.competition-mode #mini-module-wheel { display: none !important; }
.competition-banner-stats { display: flex; gap: 8px 18px; flex-wrap: wrap; font-variant-numeric: tabular-nums; }.competition-banner-actions { display: flex; gap: 6px; flex-shrink: 0; }.competition-banner-actions button { padding: 6px 8px; border: 1px solid #547084; border-radius: 3px; color: #e9f0f5; font-size: 11px; white-space: nowrap; }.competition-banner-actions button:hover { background: #ffffff18; }
.competition-dialog button:focus-visible,.competition-banner button:focus-visible { outline: 2px solid #c5a667; outline-offset: 3px; }
@media (max-width: 600px) { .competition-overlay { padding: 10px; }.competition-dialog { max-height: 96dvh; }.competition-header { padding: 18px; }.competition-header h2 { font-size: 24px; }.competition-tabs { padding: 0 12px; gap: 0; justify-content: space-between; }.competition-tabs button { font-size: 12px; }.competition-content { padding: 20px 16px; }.competition-facts { gap: 14px 12px; }.competition-facts dd { font-size: 11px; }.competition-season { padding: 16px 12px; }.competition-season-heading { align-items: flex-start; }.competition-season-heading h3 { font-size: 15px; }.competition-intro h3 { font-size: 20px; }.competition-footer { padding: 12px 16px; }.competition-error { margin: 12px 16px 0; }.competition-banner { flex-wrap: wrap; gap: 8px; padding: 7px 10px; }.competition-banner > div:first-child { display: flex; gap: 10px; align-items: center; }.competition-banner > div:first-child span { margin: 0; }.competition-banner-stats { width: 100%; font-size: 10px; order: 3; }.competition-banner-actions { margin-left: auto; }.competition-countdown { max-width: 100%; }.competition-score strong { font-size: 24px; } }
@media (prefers-reduced-motion: reduce) { .cover-btn-competition:hover { transform: none; } }
@media (max-width: 600px) { .competition-pagination { justify-content: center; gap: 8px; }.competition-history-score { flex-wrap: wrap; gap: 8px 16px; }.competition-podium-table th,.competition-podium-table td { padding: 10px 7px; }.competition-podium-table th:first-child { width: 21%; }.competition-podium-table th:last-child { width: 42%; }.competition-history-division .competition-section-title { gap: 8px; } }
