.challenge-notice { background:#eef6ff; color:#16446c; border-left:4px solid #0b5ea8; padding:12px; border-radius:8px; margin-bottom:18px; }
.challenge-tabs { margin:18px 0; }
.challenge-tabs a,.challenge-record a { text-decoration:none; }
.challenge-filter { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:20px 0; }
.challenge-filter select { padding:9px; border:1px solid #bfcbd8; border-radius:8px; font:inherit; max-width:100%; }
.challenge-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.challenge-form { max-width:560px; margin:16px 0 24px; }
.challenge-form fieldset { padding:0; border:0; min-width:0; }
.challenge-form label { display:block; margin:12px 0 5px; font-weight:600; }
.challenge-form input:not([type=hidden]):not([type=checkbox]),.challenge-form select { display:block; width:100%; padding:10px; font:inherit; border:1px solid #bfcbd8; border-radius:8px; background:#fff; }
.challenge-form button { margin-top:16px; }
.challenge-form .challenge-check { display:flex; align-items:center; gap:10px; font-weight:400; }
.challenge-check input { width:18px; height:18px; flex-shrink:0; }
.challenge-close { margin-bottom:24px; }
.challenge-list-title { margin-top:28px; }
.challenge-record { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 0; border-bottom:1px solid #e5e7eb; }
.challenge-record strong,.challenge-record p { overflow-wrap:anywhere; }
.challenge-record p { margin:4px 0; color:#53667c; }
.challenge-table { overflow-x:auto; margin:18px 0; }
.challenge-table table { border-collapse:collapse; width:100%; }
.challenge-table th,.challenge-table td { padding:10px; text-align:center; border-bottom:1px solid #dbe3ed; }
.challenge-table th:first-child { text-align:left; }
.challenge-bonus { display:inline-block; padding:8px 12px; border-radius:8px; background:#eaf8ee; color:#14532d; }
.challenge-flash { padding:12px; border-radius:8px; margin:14px 0; }
.challenge-flash.success { color:#166534; background:#e6ffed; }
.challenge-flash.error { color:#991b1b; background:#ffe6e6; }
.challenge-journal { margin-top:28px; border-top:1px solid #dbe3ed; padding-top:16px; }
.challenge-journal summary { cursor:pointer; color:#0b5ea8; font-weight:600; }
.challenge-journal p { font-size:.9rem; margin:8px 0; overflow-wrap:anywhere; }
.challenge-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:20px 0 28px; }
.challenge-stats>div { border:1px solid #dbe3ed; border-radius:12px; padding:16px; background:#f8fbff; }
.challenge-stats span,.challenge-stats small { display:block; color:#53667c; }
.challenge-stats strong { display:block; font-size:2rem; color:#0b5ea8; margin:8px 0; }
.challenge-result { border:1px solid #dbe3ed; border-radius:12px; padding:16px; margin:16px 0; overflow-wrap:anywhere; }
.challenge-result p { margin:8px 0; }
.challenge-estimate { background:#eaf8ee; color:#14532d; border-radius:10px; padding:14px; margin-top:18px; }
.challenge-estimate p { margin:6px 0 0; }
.challenge-player-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:28px; align-items:start; }
.challenge-player-side { border:1px solid #dbe3ed; border-radius:12px; padding:18px; background:#f8fbff; }
.challenge-player-side h3 { margin-bottom:12px; }
.challenge-player-side p { margin:10px 0; }
.challenge-player-side a { text-decoration:none; }
[hidden] { display:none!important; }
@media(max-width:650px) { .challenge-stats,.challenge-player-layout { grid-template-columns:1fr; } }
@media(max-width:650px) { .challenge-columns { grid-template-columns:1fr; } .challenge-record { flex-direction:column; align-items:flex-start; } .challenge-form input,.challenge-form select { font-size:16px!important; } }
.challenge-refuse { background: #b42335; color: white; border-color: #b42335; }
.challenge-decisions { gap: 10px; flex-wrap: wrap; }
.challenge-result details > summary { cursor: pointer; color: #3834a2; font-weight: 700; padding: 8px 0; }
.challenge-audit-data { white-space: pre-wrap; overflow-wrap: anywhere; font-size: .8rem; background: #f3f3fa; padding: 12px; border-radius: 8px; }
.challenge-form textarea { display: block; width: 100%; max-width: 100%; padding: 10px; font: inherit; border: 1px solid #bfcbd8; border-radius: 8px; resize: vertical; }
.challenge-tabs [aria-current="page"] { background: #3834a2; color: #fff; border-color: #3834a2; }
.challenge-ranking-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 24px 0; }
.challenge-eyebrow { color: #3834a2; font-weight: 700; letter-spacing: .12em; font-size: .8rem; }
.challenge-ranking-count { padding: 14px 22px; border-radius: 12px; background: #f0efff; text-align: center; }
.challenge-ranking-count strong { display: block; font-size: 2rem; color: #3834a2; }
.challenge-ranking-count span { white-space: nowrap; font-size: .85rem; }
.challenge-ranking-table table { min-width: 650px; table-layout: auto; }
.challenge-ranking-table th:nth-child(n),.challenge-ranking-table td:nth-child(n) { width: auto; white-space: normal; }
.challenge-ranking-table caption { text-align: left; font-weight: 600; padding: 10px 0; }
.challenge-ranking-table thead { background: #f0efff; color: #3834a2; }
.challenge-ranking-table th:nth-child(2) { text-align: left; }
.challenge-ranking-table tbody tr:hover { background: #f8f8ff; }
.challenge-ranking-table a { color: #3834a2; text-decoration: none; }
.challenge-player-number,.challenge-tied { display: block; font-weight: 400; color: #53667c; margin-top: 4px; font-size: .8rem; }
.challenge-rank { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; border-radius: 50%; background: #efedf9; color: #3834a2; font-weight: 700; }
.challenge-ranking-total { font-weight: 800; color: #3834a2; font-size: 1.35rem; }
.challenge-ranking-total small { display: block; font-weight: 400; font-size: .75rem; }
.challenge-ranking-player { border: 1px solid #dbe3ed; border-radius: 12px; margin: 12px 0; scroll-margin-top: 90px; }
.challenge-ranking-player > summary { padding: 18px; cursor: pointer; font-weight: 700; color: #3834a2; overflow-wrap: anywhere; }
.challenge-ranking-player > summary span { float: right; margin-left: 12px; }
.challenge-ranking-details { padding: 0 18px 18px; }
.challenge-ranking-result { border-top: 1px solid #dbe3ed; padding: 12px 0; }
.challenge-ranking-result h4,.challenge-ranking-result p { margin: 6px 0; overflow-wrap: anywhere; }
.challenge-ranking-explanation { margin-top: 24px; color: #53667c; }
@media(max-width:650px) { .challenge-ranking-heading { align-items: flex-start; } .challenge-ranking-count { padding: 10px; } .challenge-ranking-count span { white-space: normal; } .challenge-ranking-player > summary span { float: none; display: block; margin: 8px 0 0; } }
@media(max-width:650px) {
  .challenge-ranking-table table { min-width: 0; }
  .challenge-ranking-table thead { display: none; }
  .challenge-ranking-table tbody { display: block; }
  .challenge-ranking-table tbody tr { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid #dbe3ed; border-radius: 12px; padding: 10px; margin: 12px 0; }
  .challenge-ranking-table tbody th,.challenge-ranking-table tbody td { border: 0; padding: 8px 4px; overflow-wrap: anywhere; }
  .challenge-ranking-table tbody th { grid-column: span 2; align-self: center; }
  .challenge-ranking-table td[data-label]::before { content: attr(data-label); display: block; font-size: .75rem; font-weight: 400; color: #53667c; margin-bottom: 5px; }
  .challenge-ranking-table .challenge-ranking-total { grid-column: span 2; background: #f0efff; border-radius: 8px; }
  .challenge-ranking-table .challenge-ranking-total small { display: inline; margin-left: 4px; }
}
.challenge-public-access { max-width: 760px; margin: 8px auto 22px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.challenge-public-access p { color: #53667c; font-weight: 400; line-height: 1.5; }
.challenge-space-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; flex-shrink: 0; background: #1265ad; color: white; padding: 12px 18px; border-radius: 10px; text-decoration: none; font-weight: 700; box-shadow: 0 4px 12px #1265ad20; }
.challenge-space-button:hover { background: #094b86; }
.challenge-public-season { max-width: 760px; margin: 0 auto 12px; font-size: .9rem; color: #53667c; font-weight: 400; }
.challenge-general-card { max-width: 760px; margin: 0 auto; border: 1px solid #e7edf5; border-radius: 18px; padding: 20px; box-shadow: 0 5px 22px #153b6810; background: #fff; }
.challenge-general-card > summary { display: flex; align-items: center; gap: 14px; list-style: none; cursor: pointer; padding: 5px 0 24px; color: #102b52; }
.challenge-general-card > summary::-webkit-details-marker { display: none; }
.challenge-general-card > summary h3 { margin: 0; font-size: 24px; line-height: 1.25; }
.challenge-trophy { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; background: #0967b3; color: #fff; border-radius: 50%; flex-shrink: 0; box-shadow: 0 2px 6px #0967b330; }
.challenge-trophy svg { width: 26px; height: 26px; }
.challenge-card-chevron { width: 11px; height: 11px; border-right: 3px solid #23466d; border-bottom: 3px solid #23466d; transform: rotate(-45deg); margin: 0 5px 0 auto; flex-shrink: 0; }
.challenge-general-card[open] .challenge-card-chevron { transform: rotate(45deg); }
.challenge-general-table { overflow: hidden; border-radius: 10px; }
.challenge-general-table table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; }
.challenge-general-table .general-rank { width: 12%; } .challenge-general-table .general-player { width: 44%; } .challenge-general-table .general-points { width: 22%; } .challenge-general-table .general-events { width: 22%; }
.challenge-general-table th:nth-child(n),.challenge-general-table td:nth-child(n) { width: auto; text-align: center; white-space: normal; padding: 12px 8px; border-bottom: 1px solid #edf1f6; font-size: 16px; color: #173351; line-height: 1.25; }
.challenge-general-table thead th { background: #edf2f7; text-transform: none; letter-spacing: normal; font-weight: 700; }
.challenge-general-table th:nth-child(2) { text-align: left; }
.challenge-general-table tbody td,.challenge-general-table tbody th { font-weight: 400; }
.challenge-general-table tbody th a { display: block; color: inherit; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.challenge-general-table tbody th a:hover { text-decoration: underline; }
.challenge-general-table tbody tr:last-child > * { border-bottom: 0; }
.challenge-general-table .general-position-1 { background: #fff9df; }
.challenge-general-table .general-position-2 { background: #f3f5f7; }
.challenge-general-table .general-position-3 { background: #faf3eb; }
.challenge-general-table .general-position small { display: block; font-size: 10px; color: #53667c; }
.challenge-general-table .challenge-my-row > *,.challenge-general-table tbody tr:hover > * { background: #e5f3ff; }
.challenge-general-note,.challenge-all-results { max-width: 760px; margin: 18px auto; font-size: .9rem; line-height: 1.6; color: #53667c; font-weight: 400; }
.challenge-general-note a { color: #1265ad; }
.challenge-all-results > summary { color: #173351; font-weight: 700; cursor: pointer; }
.challenge-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media(max-width:650px) {
  .challenge-public-access { flex-direction: column; align-items: stretch; gap: 12px; }
  .challenge-general-card { padding: 14px 10px; border-radius: 14px; }
  .challenge-general-card > summary { gap: 10px; padding-bottom: 20px; }
  .challenge-general-card > summary h3 { font-size: 20px; }
  .challenge-trophy { width: 36px; height: 36px; } .challenge-trophy svg { width: 23px; height: 23px; }
  .challenge-general-table th:nth-child(n),.challenge-general-table td:nth-child(n) { padding: 10px 4px; font-size: 14px; }
  .challenge-general-table .general-player { width: 40%; } .challenge-general-table .general-points,.challenge-general-table .general-events { width: 24%; }
}
.challenge-login-identity { max-width: 560px; margin: 20px 0; padding: 18px; border: 1px solid #c4ddf2; background: #edf6ff; border-radius: 12px; }
.challenge-login-identity span { display: block; color: #53667c; font-size: .9rem; }
.challenge-login-identity strong { display: block; color: #173351; font-size: 1.4rem; margin: 8px 0; }
.challenge-login-identity p { margin: 0; font-weight: 400; }
.challenge-logout { margin: 12px 0 20px; }
.challenge-dashboard-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(310px,1fr); gap: 28px; align-items: start; }
.challenge-dashboard-main { min-width: 0; }
.challenge-dashboard { display: grid; gap: 16px; min-width: 0; color: #102b52; }
.challenge-dashboard-intro { display: flex; gap: 16px; align-items: center; padding: 20px 18px; background: #edf7fd; border-radius: 14px; }
.challenge-dashboard-icon { display: block; width: 48px; flex: 0 0 48px; }
.challenge-dashboard-icon svg { display: block; width: 100%; height: 58px; }
.challenge-dashboard-intro h3,.challenge-dashboard-content h3 { font-size: 18px; margin: 0 0 6px; line-height: 1.3; color: #102b52; }
.challenge-dashboard-intro p { font-size: 15px; font-weight: 400; color: #5e7085; line-height: 1.5; margin: 0; }
.challenge-dashboard-card { display: flex; gap: 18px; align-items: flex-start; padding: 18px 18px; border: 1px solid #e0e8f0; border-radius: 14px; background: linear-gradient(115deg,#fff,#f6fbff); box-shadow: 0 2px 7px #17335108; }
.challenge-dashboard-content { min-width: 0; }
.challenge-dashboard-value { margin: 0 0 6px; line-height: 1.25; }
.challenge-dashboard-value strong { font-size: 38px; font-weight: 800; letter-spacing: -.03em; color: #082852; }
.challenge-dashboard-value strong sup { font-size: .52em; vertical-align: super; letter-spacing: 0; }
.challenge-dashboard-value span { font-size: 18px; font-weight: 700; margin-left: 4px; }
.challenge-dashboard-value .challenge-not-ranked { font-size: 25px; }
.challenge-dashboard-caption { display: flex; align-items: center; gap: 7px; color: #687b90; font-size: 14px; font-weight: 400; line-height: 1.4; margin: 5px 0 0; }
.challenge-mini-trophy { display: inline-block; width: 18px; flex-shrink: 0; }
.challenge-mini-trophy svg { display: block; width: 18px; height: 23px; }
.challenge-dashboard-content a { color: #0874c9; font-size: 15px; font-weight: 600; line-height: 1.5; text-underline-offset: 3px; }
.challenge-dashboard-content a span { font-size: 24px; vertical-align: -1px; margin-left: 4px; }
@media(max-width:900px) { .challenge-dashboard-layout { grid-template-columns: minmax(0,1fr); } .challenge-dashboard { grid-row: 1; } }
.challenge-entry { background: #fff; border: 1px solid #e0e8f0; border-radius: 14px; padding: 20px; box-shadow: 0 2px 7px #17335108; }
.challenge-entry > summary { display: flex; align-items: center; justify-content: space-between; cursor: pointer; list-style: none; color: #102b52; }
.challenge-entry > summary::-webkit-details-marker { display: none; }
.challenge-entry > summary h3 { font-size: 21px; margin: 0; }
.challenge-entry-chevron { width: 9px; height: 9px; border-right: 2px solid #173351; border-top: 2px solid #173351; transform: rotate(135deg); margin-right: 3px; }
.challenge-entry[open] .challenge-entry-chevron { transform: rotate(-45deg); }
.challenge-entry-form { margin: 20px 0 0; max-width: none; }
.challenge-entry-step { margin: 0 0 24px; }
.challenge-entry-step h4 { display: flex; gap: 12px; align-items: center; color: #173351; font-size: 16px; margin: 0 0 10px; }
.challenge-entry-step h4 > span { display: inline-flex; align-items: center; justify-content: center; width: 29px; height: 29px; flex-shrink: 0; border-radius: 50%; background: #0874c9; color: #fff; font-size: 18px; box-shadow: 0 1px 4px #0874c930; }
.challenge-entry-step h4 label { margin: 0; }
.challenge-entry-fields { margin-left: 41px; min-width: 0; }
.challenge-entry-input { display: flex; align-items: center; border: 1px solid #dfe5ed; border-radius: 8px; background: #fff; box-shadow: 0 1px 3px #17335108; }
.challenge-entry-field-icon { display: flex; width: 38px; padding-left: 12px; flex-shrink: 0; color: #274364; }
.challenge-entry-field-icon svg { width: 21px; height: 21px; }
.challenge-entry-form .challenge-entry-input select,.challenge-entry-form .challenge-entry-input input[type=date] { border: 0; min-width: 0; background: transparent; padding: 12px 8px; border-radius: 8px; color: #173351; }
.challenge-entry-select-card { border: 1px solid #dfe5ed; border-radius: 8px; margin-bottom: 10px; overflow: hidden; box-shadow: 0 1px 3px #17335108; }
.challenge-entry-select-card label { display: flex; align-items: center; gap: 9px; margin: 0; padding: 9px 12px 0; color: #274364; font-size: 13px; }
.challenge-entry-select-card label svg { width: 19px; height: 19px; }
.challenge-entry-form .challenge-entry-select-card select { border: 0; padding: 7px 12px 11px; color: #173351; border-radius: 0; }
.challenge-entry-form .challenge-entry-text-button { background: none; border: none; color: #0874c9; padding: 0; margin: 9px 0 0; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; font: inherit; font-size: 13px; }
.challenge-entry-options { font-size: 13px; color: #53667c; margin-top: 10px; }
.challenge-entry-options > summary { cursor: pointer; }
.challenge-entry-options select { margin-top: 10px; }
.challenge-entry-extra { margin: 0 0 18px; }
.challenge-format-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.challenge-entry-form .challenge-format-option { position: relative; margin: 0; cursor: pointer; }
.challenge-entry-form .challenge-format-option input[type=radio] { position: absolute; width: 1px; height: 1px; opacity: 0; padding: 0; }
.challenge-format-option > span { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 8px 5px; min-height: 80px; border: 1px solid #dfe5ed; border-radius: 8px; color: #304961; background: #fff; font-size: 13px; text-align: center; }
.challenge-format-option svg { display: block; width: 53px; height: 38px; }
.challenge-format-option input:checked + span { color: #0874c9; background: #eaf5ff; border: 2px solid #5c9fe0; padding: 7px 4px; box-shadow: 0 2px 5px #0874c91a; }
.challenge-format-option input:focus-visible + span { outline: 3px solid #0874c9; outline-offset: 2px; }
.challenge-format-option:has(input:disabled) { cursor: default; }
.challenge-entry-hint { font-size: 12px; font-weight: 400; color: #687b90; line-height: 1.4; margin: 7px 0 0; }
.challenge-entry-hint:empty { display: none; }
.challenge-entry-estimate { display: flex; align-items: center; gap: 10px; border-radius: 10px; padding: 12px; background: #e6f8ee; color: #13643c; }
.challenge-entry-estimate-icon { color: #07994f; width: 32px; flex-shrink: 0; }
.challenge-entry-estimate-icon svg { display: block; width: 32px; height: 36px; }
.challenge-entry-estimate > div { min-width: 0; }
.challenge-entry-estimate > div > strong { font-size: 15px; }
.challenge-entry-estimate p { margin: 4px 0 0; font-size: 11px; font-weight: 400; line-height: 1.4; }
.challenge-entry-estimate #result-estimate { margin-left: auto; background: #10a05d; color: #fff; padding: 12px 10px; border-radius: 8px; white-space: nowrap; font-size: 17px; }
.challenge-entry-submit { display: block; width: 100%; border: 0; border-radius: 9px; padding: 13px 10px; background: #0874c9; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.challenge-entry-input:focus-within,.challenge-entry-select-card:focus-within { outline: 2px solid #0874c9; outline-offset: 1px; }
@media(max-width:450px) { .challenge-entry { padding: 16px 12px; } .challenge-entry-fields { margin-left: 35px; } .challenge-entry-step h4 { gap: 6px; } .challenge-entry-estimate { gap: 7px; padding: 10px 8px; } .challenge-entry-estimate #result-estimate { padding: 10px 7px; font-size: 15px; } }

.challenge-entry-submit:disabled { background: #d9e0e8; color: #526173; cursor: not-allowed; box-shadow: none; transform: none; opacity: 1; }

.challenge-history { margin-top: 24px; padding: 18px; background: #fff; border: 1px solid #e1e8f0; border-radius: 14px; box-shadow: 0 2px 7px #17335108; color: #102b52; }
.challenge-history:first-child { margin-top: 0; }
.challenge-history-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.challenge-history-header h3 { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 20px; line-height: 1.3; }
.challenge-history-header h3 svg { width: 30px; height: 30px; flex-shrink: 0; color: #0874c9; }
.challenge-history-link { padding: 11px 13px; background: linear-gradient(135deg,#0987e5,#0068cf); color: #fff; font-size: 12px; font-weight: 600; text-decoration: none; border-radius: 8px; box-shadow: 0 2px 5px #0874c91f; }
.challenge-history-link:hover { background: #065da9; }
.challenge-history-scroll { overflow-x: auto; border: 1px solid #e9edf2; border-radius: 9px; }
.challenge-history-table { width: 100%; min-width: 510px; border-collapse: collapse; font-size: 13px; }
.challenge-history-table th { background: #ecf1f6; font-size: 12px; font-weight: 700; white-space: nowrap; }
.challenge-history-table th,.challenge-history-table td { padding: 13px 10px; text-align: center; border-bottom: 1px solid #edf0f4; vertical-align: middle; }
.challenge-history-table th:nth-child(-n+2),.challenge-history-table td:nth-child(-n+2) { text-align: left; }
.challenge-history-table tbody tr:last-child td { border-bottom: 0; }
.challenge-history-table tbody tr:hover { background: #f8fbfe; }
.challenge-history-date { white-space: nowrap; font-variant-numeric: tabular-nums; }
.challenge-history-tournament { min-width: 130px; overflow-wrap: anywhere; }
.challenge-history-badge { display: inline-block; min-width: 65px; padding: 8px; border-radius: 9px; color: #fff; font-weight: 700; box-sizing: border-box; white-space: nowrap; }
.challenge-history-badge.is-principal { background: linear-gradient(135deg,#dbaa00,#efbd08); color: #102b52; }
.challenge-history-badge.is-consolante { background: linear-gradient(135deg,#ee7a29,#f59b32); color: #102b52; }
.challenge-history-badge.is-super2 { background: linear-gradient(135deg,#1684ea,#346ee7); }
.challenge-history-badge.is-super1 { background: linear-gradient(135deg,#00a25b,#008244); }
.challenge-history-badge.is-none { background: #edf0f4; color: #53667c; }
.challenge-history-place { display: inline-block; min-width: 45px; padding: 7px 9px; border-radius: 13px; background: linear-gradient(135deg,#f4f5f7,#e8ebef); font-weight: 700; white-space: nowrap; }
.challenge-history-place.is-first { background: linear-gradient(135deg,#fff2b9,#ffdf77); color: #5f4500; }
.challenge-history-points { font-size: 16px; font-variant-numeric: tabular-nums; }
.challenge-history-status { display: block; margin-top: 5px; font-size: 11px; font-weight: 500; color: #846000; }
.challenge-history-status.is-refused { color: #b42335; }
.challenge-history-situation { font-size: 12px; color: #53667c; }
.challenge-history-details { margin-top: 7px; font-size: 12px; color: #53667c; }
.challenge-history-details summary { cursor: pointer; color: #0874c9; }
.challenge-history-details p { margin: 8px 0; line-height: 1.5; }
.challenge-history-note,.challenge-history-empty { margin: 13px 0 0; color: #65778c; font-size: 12px; font-weight: 400; line-height: 1.5; }
@media(max-width:600px) { .challenge-history { padding: 14px 10px; } .challenge-history-header h3 { font-size: 18px; } .challenge-history-header { gap: 10px; } .challenge-history-link { padding: 9px 11px; } }

.challenge-history-table { table-layout: auto; }
.challenge-history-table th:nth-child(n),.challenge-history-table td:nth-child(n) { width: auto; }
.challenge-history-table thead th { position: static; text-transform: none; letter-spacing: normal; color: #102b52; }
.challenge-history-table tbody td { white-space: normal; font-size: 13px; font-weight: 400; }
.challenge-history-table tbody .challenge-history-date { white-space: nowrap; }

/* On phones, each tournament becomes a compact card with all five fields. */
@media(max-width:600px) {
  .challenge-history-scroll { overflow: visible; border: 0; border-radius: 0; }
  .challenge-history-table { min-width: 0; width: 100%; display: block; }
  .challenge-history-table thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .challenge-history-table tbody { display: grid; gap: 12px; }
  .challenge-history-table tbody tr { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px 6px; padding: 13px 10px; background: linear-gradient(135deg,#fff,#f6faff); border: 1px solid #e1e8f0; border-radius: 12px; }
  .challenge-history-table tbody td:nth-child(n) { display: block; min-width: 0; width: auto; padding: 0; border: 0; text-align: center; overflow-wrap: anywhere; }
  .challenge-history-table tbody .challenge-history-date { grid-column: 1 / -1; grid-row: 1; text-align: left; color: #65778c; font-size: 12px; }
  .challenge-history-table tbody .challenge-history-tournament { grid-column: 1 / -1; grid-row: 2; text-align: left; font-size: 16px; font-weight: 700; }
  .challenge-history-table tbody .challenge-history-category { grid-column: 1; grid-row: 3; }
  .challenge-history-table tbody .challenge-history-rank { grid-column: 2; grid-row: 3; }
  .challenge-history-table tbody .challenge-history-points { grid-column: 3; grid-row: 3; color: #0866b1; }
  .challenge-history-table td[data-label]::before { content: attr(data-label); display: block; margin-bottom: 7px; font-size: 11px; font-weight: 500; color: #65778c; }
  .challenge-history-table .challenge-history-badge,.challenge-history-table .challenge-history-place { min-width: 0; max-width: 100%; padding: 7px 6px; font-size: 12px; white-space: normal; box-sizing: border-box; }
  .challenge-history-table .challenge-history-points strong { display: block; padding: 3px 0; font-size: 22px; line-height: 1.2; }
  .challenge-history-table .challenge-history-details { font-weight: 400; }
}

@media(max-width:600px) {
  .challenge-history-table tbody td.challenge-history-date,.challenge-history-table tbody td.challenge-history-tournament { text-align: left; }
}
@media(max-width:360px) {
  .challenge-history-table tbody tr { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .challenge-history-table tbody td.challenge-history-points { grid-column: 1 / -1; grid-row: 4; display: flex; align-items: center; justify-content: space-between; padding: 8px 10px; background: #eaf5ff; border-radius: 8px; }
  .challenge-history-table td.challenge-history-points::before { margin-bottom: 0; }
}

.challenge-tournament-info { min-width: 0; }
.challenge-tournament-copy { min-width: 0; }
.challenge-tournament-copy > strong { display: block; }
.challenge-origin-badge { display: inline-block; margin-bottom: 8px; padding: 5px 9px; border-radius: 6px; font-size: 12px; font-weight: 700; color: #25577e; background: #e9f3fc; }
.challenge-origin-badge.is-player { color: #573698; background: #f0eaff; }
.challenge-origin-badge.is-unknown { color: #606c7b; background: #eef0f3; }
.challenge-tournament-actions { display: flex; flex-direction: column; gap: 8px; align-items: stretch; flex-shrink: 0; }
.challenge-tournament-actions form { margin: 0; }
.challenge-tournament-actions .btn-form { display: block; width: 100%; box-sizing: border-box; text-align: center; }
.challenge-tournament-delete { background: #dc3545; color: #fff; border-color: #dc3545; }
.challenge-tournament-delete:hover { background: #b42335; }
@media(max-width:600px) { .challenge-tournament-record { flex-direction: column; align-items: stretch; } .challenge-tournament-actions { width: 100%; } }

.challenge-tournament-info.is-club { display: flex; align-items: center; gap: 18px; }
.challenge-club-mark { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 48px; width: 48px; height: 48px; box-sizing: border-box; border-radius: 50%; padding: 3px; background: linear-gradient(135deg,#4975f5,#6852b5); border: 2px solid #eab66b; box-shadow: 0 3px 9px #4c4a9b24; }
.challenge-club-mark img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: contain; }
@media(max-width:600px) { .challenge-tournament-info.is-club { gap: 12px; } }

.challenge-public-heading .section-title { align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 0; }
.challenge-back-site { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 10px; box-sizing: border-box; flex-shrink: 0; border: 1px solid #dc2626; border-radius: 12px; background: #dc2626; color: #fff; text-decoration: none; }
.challenge-back-site svg { display: block; width: 22px; height: 22px; flex-shrink: 0; }
.challenge-back-site:hover { background: #b91c1c; border-color: #b91c1c; }
.challenge-back-site:focus-visible { outline: 3px solid #f87171; outline-offset: 3px; }

.challenge-public-heading { margin-bottom: 20px; }

.challenge-rules-scores { margin: 26px 0 20px; }
.challenge-rules-scores > h3 { margin: 0 0 6px; color: #102b52; font-size: 23px; }
.challenge-rules-intro { margin: 0 0 20px; color: #65778c; font-size: 14px; font-weight: 400; }
.challenge-rules-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.challenge-rule-card { --rule-accent: #c79700; --rule-pale: #fffae7; --rule-ink: #755700; min-width: 0; overflow: hidden; border: 1px solid #e1e8f0; border-top: 4px solid var(--rule-accent); border-radius: 13px; background: #fff; box-shadow: 0 2px 7px #17335108; }
.challenge-rule-card.is-orange { --rule-accent: #ef8834; --rule-pale: #fff3e9; --rule-ink: #9f4f11; }
.challenge-rule-card.is-blue { --rule-accent: #2780df; --rule-pale: #edf5ff; --rule-ink: #1763ad; }
.challenge-rule-card.is-green { --rule-accent: #09995f; --rule-pale: #eaf8f1; --rule-ink: #087c4c; }
.challenge-rule-card > header { display: grid; grid-template-columns: 29px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 13px 16px; background: var(--rule-pale); border-bottom: 1px solid #edf0f4; }
.challenge-rule-cup { display: block; width: 29px; height: 29px; color: var(--rule-accent); }
.challenge-rule-cup svg { display: block; width: 100%; height: 100%; }
.challenge-rule-card h4 { margin: 0; color: #102b52; font-size: 18px; line-height: 1.25; overflow-wrap: anywhere; }
.challenge-rule-part { padding: 6px 9px; border-radius: 8px; background: var(--rule-accent); color: #fff; font-size: 14px; font-weight: 700; text-align: center; white-space: nowrap; }
.challenge-rule-card.is-gold .challenge-rule-part { background: #f3cc44; color: #102b52; }
.challenge-rule-values { margin: 0; padding: 0 16px 5px; }
.challenge-rule-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 42px; padding: 5px 3px; border-bottom: 1px solid #edf0f4; }
.challenge-rule-row:last-child { border-bottom: 0; }
.challenge-rule-place { min-width: 0; margin: 0; color: #425974; font-size: 14px; font-weight: 400; overflow-wrap: anywhere; }
.challenge-rule-place.is-podium { min-width: 40px; padding: 3px 9px; border-radius: 8px; background: #f0f3f7; text-align: center; font-weight: 700; }
.challenge-rule-row.is-winner .challenge-rule-place { background: var(--rule-pale); color: var(--rule-ink); }
.challenge-rule-row dd { display: flex; align-items: baseline; gap: 7px; margin: 0; white-space: nowrap; }
.challenge-rule-row dd strong { color: #102b52; font-size: 22px; font-weight: 800; font-variant-numeric: tabular-nums; }
.challenge-rule-row dd span { color: #65778c; font-size: 12px; font-weight: 400; }
.challenge-rule-row.is-winner dd strong { color: var(--rule-ink); }
.challenge-rules-extras { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.65fr); gap: 18px; margin-top: 20px; }
.challenge-rules-extras > section { min-width: 0; padding: 15px 16px; border: 1px solid #dcecf9; border-radius: 12px; background: #edf7ff; }
.challenge-rules-extras .challenge-rule-participation { background: #eaf8f1; border-color: #d5efdf; }
.challenge-rules-extras h4 { margin: 0 0 8px; font-size: 17px; color: #102b52; }
.challenge-rule-participation > p { margin: 0; }
.challenge-rule-participation > p > strong { color: #087c4c; font-size: 29px; }
.challenge-rule-participation > p > strong > span { font-size: 17px; }
.challenge-rules-extras .challenge-rule-caption { margin: 7px 0 0; color: #65778c; font-size: 12px; font-weight: 400; line-height: 1.5; }
.challenge-rule-milestones { display: flex; flex-wrap: wrap; gap: 6px; }
.challenge-rule-milestones > div { display: flex; flex: 1 1 66px; min-width: 0; flex-direction: column; align-items: center; padding: 6px; border: 1px solid #dbe9f7; border-radius: 8px; background: #fff; text-align: center; }
.challenge-rule-milestones > div > span { color: #65778c; font-size: 11px; font-weight: 400; }
.challenge-rule-milestones > div > strong { color: #0869b7; font-size: 17px; white-space: nowrap; }
@media(max-width:700px) {
  .challenge-rules-grid,.challenge-rules-extras { grid-template-columns: minmax(0,1fr); }
  .challenge-rules-grid { gap: 16px; }
  .challenge-rules-extras { gap: 12px; }
  .challenge-rule-card > header { padding: 12px; gap: 8px; }
  .challenge-rule-card h4 { font-size: 16px; }
  .challenge-rule-values { padding: 0 12px 5px; }
  .challenge-rule-row { min-height: 43px; }
}
