/* Contest detail only. Contest list sizing and every other page retain their styles. */
html body #main .contest-page298.contest-detail-r1 { container-type:inline-size; width:100%; max-width:none; min-width:0; min-height:0; padding:0; border:0; border-radius:0; background:transparent; color:#243653; }
.contest-detail-r1 *, .contest-detail-r1 *::before, .contest-detail-r1 *::after { box-sizing:border-box; }
html body #main .contest-detail-r1 > .cd-page-head { padding:0 0 22px; margin:0; border:0; }
.contest-detail-r1 .cd-back { display:inline-flex; align-items:center; min-height:36px; padding:4px 0; border:0; background:transparent; color:#5a6d89; font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
.contest-detail-r1 .cd-back:hover { color:#3659c7; }
html body #main .contest-detail-r1 .cd-page-head h1 { margin:9px 0 0; color:#1e304b; font-size:30px; font-weight:750; line-height:1.4; letter-spacing:-.04em; overflow-wrap:anywhere; }
.contest-detail-r1 .cd-content { --cd-border:#dfe6f1; --cd-blue:#385ac4; --cd-muted:#65758c; display:grid; gap:20px; }
.contest-detail-r1 .cd-icon { flex:0 0 auto; width:19px; height:19px; display:block; }
.contest-detail-r1 :is(button,a,summary):focus-visible { outline:3px solid #5c7ee0; outline-offset:3px; }
.contest-detail-r1 button { font-family:inherit; }
.contest-detail-r1 .cd-overview { padding:21px 24px; border:1px solid #dce5f6; border-radius:16px; background:linear-gradient(110deg,#f0f4ff,#fff 72%); }
.contest-detail-r1 .cd-overview-top { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.contest-detail-r1 .cd-tags { display:flex; align-items:center; gap:10px; flex-wrap:wrap; min-width:0; }
.contest-detail-r1 .cd-status { display:inline-flex; align-items:center; gap:6px; flex:0 0 auto; padding:5px 9px; border-radius:7px; color:#58677c; background:#e9edf4; font-size:12px; font-weight:700; }
.contest-detail-r1 .cd-status i { width:6px; height:6px; border-radius:50%; background:currentColor; }
.contest-detail-r1 .cd-status[data-state=live] { color:#147152; background:#e5f4ed; }
.contest-detail-r1 .cd-status[data-state=upcoming] { color:#3e61be; background:#e6edff; }
.contest-detail-r1 .cd-status[data-state=cancelled] { color:#975154; background:#f8e9eb; }
.contest-detail-r1 .cd-group { color:#3c506f; font-size:14px; font-weight:650; overflow-wrap:anywhere; }
.contest-detail-r1 .cd-member { color:#64748d; font-size:11px; white-space:nowrap; }
.contest-detail-r1 .cd-actions { display:flex; flex:0 0 auto; gap:8px; }
.contest-detail-r1 .cd-primary { display:flex; align-items:center; justify-content:center; gap:10px; min-height:42px; padding:10px 15px; border:1px solid var(--cd-blue); border-radius:10px; color:#fff; background:var(--cd-blue); font-size:13px; font-weight:700; cursor:pointer; }
.contest-detail-r1 .cd-primary:hover { background:#2c48a2; }
.contest-detail-r1 .cd-primary svg { width:16px; height:16px; }
.contest-detail-r1 .cd-cancel { min-height:36px; padding:7px 10px; border:1px solid #dfe5ef; border-radius:8px; background:#fff; color:#69768c; font-size:12px; cursor:pointer; }
.contest-detail-r1 .cd-cancel:hover { color:#aa464a; border-color:#ddb9bb; }
.contest-detail-r1 .cd-dates { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:15px; font-size:13px; }
.contest-detail-r1 .cd-dates > div { display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-width:0; }
.contest-detail-r1 .cd-dates svg { width:16px; height:16px; color:#7789ad; }
.contest-detail-r1 .cd-dates div > span { color:#6c7b92; font-size:12px; }
.contest-detail-r1 .cd-dates time { color:#354b6b; font-weight:600; font-variant-numeric:tabular-nums; }
.contest-detail-r1 .cd-date-divider { color:#96a3b7; }
.contest-detail-r1 .cd-dates > small { margin-left:auto; font-size:11px; color:#758196; }
.contest-detail-r1 .cd-guidance { margin:12px 0 0; color:#63738b; font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.contest-detail-r1 .cd-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); grid-template-areas:'problems submissions' 'ranking submissions'; gap:18px; align-items:start; }
.contest-detail-r1 .cd-card { min-width:0; padding:22px; border:1px solid var(--cd-border); border-radius:16px; background:#fff; }
.contest-detail-r1 .cd-problems { grid-area:problems; }
.contest-detail-r1 .cd-ranking { grid-area:ranking; }
.contest-detail-r1 .cd-submissions { grid-area:submissions; }
.contest-detail-r1 .cd-card-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
.contest-detail-r1 .cd-card-head h2 { display:flex; align-items:center; gap:9px; margin:0; color:#273c5a; font-size:17px; font-weight:750; line-height:1.5; letter-spacing:-.025em; }
.contest-detail-r1 .cd-card-head h2 svg { color:var(--cd-blue); width:18px; height:18px; }
.contest-detail-r1 .cd-count { display:inline-flex; align-items:center; justify-content:center; min-width:24px; height:23px; padding:0 6px; margin-left:1px; border-radius:6px; color:#4a66a7; background:#eef2fb; font-size:12px; font-weight:650; }
.contest-detail-r1 .cd-section-note { color:#6d7b90; font-size:12px; }
.contest-detail-r1 .cd-problem-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.contest-detail-r1 .cd-problem { display:flex; align-items:center; gap:12px; width:100%; min-width:0; min-height:90px; padding:16px; border:1px solid #dce4f1; border-radius:12px; background:#fff; color:#395fc3; text-align:left; cursor:pointer; }
.contest-detail-r1 .cd-problem:hover:not(:disabled) { border-color:#8da7e5; background:#f5f8ff; box-shadow:0 3px 9px rgb(46 78 145 / 5%); }
.contest-detail-r1 .cd-problem:disabled { opacity:1; cursor:default; background:#f9fafd; border-color:#e5eaf2; color:#8996aa; }
.contest-detail-r1 .cd-problem-index { display:grid; place-items:center; flex:0 0 34px; width:34px; height:36px; border:1px solid #e0e6f1; border-radius:9px; background:#fff; color:#607799; font-size:12px; font-weight:700; font-variant-numeric:tabular-nums; }
.contest-detail-r1 .cd-problem-copy { min-width:0; display:grid; gap:6px; }
.contest-detail-r1 .cd-problem strong { color:#324866; font-size:14px; font-weight:650; line-height:1.55; overflow-wrap:anywhere; word-break:keep-all; }
.contest-detail-r1 .cd-problem small { color:#74829a; font-size:11px; }
.contest-detail-r1 .cd-problem > svg { margin-left:auto; width:16px; height:16px; }
.contest-detail-r1 .cd-refresh { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:36px; padding:7px 11px; border:1px solid #dfe6f2; border-radius:8px; background:#fff; color:#50698f; font-size:12px; font-weight:600; cursor:pointer; }
.contest-detail-r1 .cd-refresh svg { width:14px; height:14px; }
.contest-detail-r1 .cd-refresh:hover { background:#f1f5ff; border-color:#bbcaea; }
.contest-detail-r1 .cd-table-wrap { width:100%; min-width:0; overflow-x:auto; border:1px solid #e6ebf4; border-radius:11px; }
.contest-detail-r1 .cd-rank-table { width:100%; margin:0; border-collapse:collapse; table-layout:fixed; color:#415774; font-size:13px; }
.contest-detail-r1 .cd-rank-table :is(th,td) { padding:13px 14px; border:0; border-bottom:1px solid #e9edf5; text-align:left; vertical-align:middle; }
.contest-detail-r1 .cd-rank-table th { color:#687a95; background:#f5f7fb; font-size:12px; font-weight:600; }
.contest-detail-r1 .cd-rank-table th:first-child { width:64px; }
.contest-detail-r1 .cd-rank-table th:nth-child(n+3) { width:80px; }
.contest-detail-r1 .cd-rank-table :is(th,td):nth-child(n+3) { text-align:center; font-variant-numeric:tabular-nums; }
.contest-detail-r1 .cd-rank-table tr:last-child td { border-bottom:0; }
.contest-detail-r1 .cd-rank-number { display:inline-grid; place-items:center; min-width:27px; height:27px; color:#657993; font-weight:650; }
.contest-detail-r1 .cd-top-rank { border-radius:8px; color:#3b60c4; background:#edf2ff; }
.contest-detail-r1 .cd-my-rank td { background:#f4f7ff; }
.contest-detail-r1 .cd-participant { display:flex; align-items:center; flex-wrap:wrap; gap:7px; min-width:0; overflow-wrap:anywhere; }
.contest-detail-r1 .cd-participant :is(a,button) { min-width:0; max-width:100%; overflow-wrap:anywhere; white-space:normal; color:#334c70; text-align:left; }
.contest-detail-r1 .cd-me { padding:1px 5px; border-radius:4px; color:#4969c1; background:#e7edff; font-size:10px; }
.contest-detail-r1 .cd-rank-table .cd-no-ranking { padding:30px 14px; text-align:center; color:#748198; }
.contest-detail-r1 .cd-ranking-rule { margin-top:14px; color:#6c7e98; font-size:11px; line-height:1.8; }
.contest-detail-r1 .cd-ranking-rule summary { cursor:pointer; padding:4px 0; }
.contest-detail-r1 .cd-ranking-rule p { margin:8px 0 0; color:#63758c; font-size:12px; }
.contest-detail-r1 .cd-submission-list { margin:0; padding:0; list-style:none; }
.contest-detail-r1 .cd-submission-list li { padding:15px 0; border-top:1px solid #ebeff5; }
.contest-detail-r1 .cd-submission-list li:first-child { border-top:0; padding-top:0; }
.contest-detail-r1 .cd-submission-list li:last-child { padding-bottom:0; }
.contest-detail-r1 .cd-submission-top { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:7px; margin-bottom:9px; }
.contest-detail-r1 .cd-submission-top time { color:#78869b; font-size:11px; font-variant-numeric:tabular-nums; }
.contest-detail-r1 .cd-judge-state { display:inline-flex; padding:4px 7px; border-radius:6px; color:#916244; background:#faf0e9; font-size:11px; font-weight:650; line-height:1.5; }
.contest-detail-r1 .cd-judge-state[data-state=accepted] { color:#23785d; background:#eaf6ef; }
.contest-detail-r1 .cd-judge-state[data-state=pending] { color:#4767b6; background:#edf2fc; }
.contest-detail-r1 .cd-submission-list strong { display:block; color:#3a4f6d; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.contest-detail-r1 .cd-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:225px; padding:20px 12px; text-align:center; }
.contest-detail-r1 .cd-empty > svg { width:42px; height:42px; padding:10px; border-radius:12px; margin-bottom:15px; color:#8195b5; background:#f0f4fa; }
.contest-detail-r1 .cd-empty strong { color:#526681; font-size:14px; font-weight:600; line-height:1.6; }
.contest-detail-r1 .cd-empty p { max-width:260px; margin:8px 0 0; color:#75839a; font-size:12px; line-height:1.8; word-break:keep-all; overflow-wrap:anywhere; }
.contest-detail-r1 .cd-empty-wide { grid-column:1 / -1; min-height:138px; padding:8px; }
.contest-detail-r1 .cd-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; }
@container (max-width:1000px) {
 .contest-detail-r1 .cd-grid { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); }
 .contest-detail-r1 .cd-problem-list { grid-template-columns:1fr; }
 .contest-detail-r1 .cd-card { padding:18px; }
 .contest-detail-r1 .cd-rank-table :is(th,td) { padding:12px 10px; }
 .contest-detail-r1 .cd-rank-table th:first-child { width:52px; }
 .contest-detail-r1 .cd-rank-table th:nth-child(n+3) { width:58px; }
}
@container (max-width:700px) {
 html body #main .contest-detail-r1 > .cd-page-head { padding-bottom:16px; }
 html body #main .contest-detail-r1 .cd-page-head h1 { font-size:25px; }
 .contest-detail-r1 .cd-content { gap:14px; }
 .contest-detail-r1 .cd-overview { padding:18px; }
 .contest-detail-r1 .cd-overview-top { flex-wrap:wrap; gap:12px; }
 .contest-detail-r1 .cd-dates { display:grid; grid-template-columns:1fr; gap:9px; }
 .contest-detail-r1 .cd-date-divider { display:none; }
 .contest-detail-r1 .cd-dates > small { margin:0; }
 .contest-detail-r1 .cd-dates time { font-size:12px; }
 .contest-detail-r1 .cd-grid { grid-template-columns:1fr; grid-template-areas:'problems' 'submissions' 'ranking'; gap:14px; }
 .contest-detail-r1 .cd-empty { min-height:170px; }
 .contest-detail-r1 .cd-primary, .contest-detail-r1 .cd-refresh { min-height:42px; }
 .contest-detail-r1 .cd-card-head { gap:8px; }
 .contest-detail-r1 .cd-section-note { font-size:11px; }
}
