.gka-contests{--contest-blue:#171717;--contest-ink:#202020;--contest-muted:#171717;background:#fafafa;color:var(--contest-ink);min-height:100vh}.contest-shell{max-width:1640px;margin:auto;padding:28px 32px 70px}.contest-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:9px;padding:13px 19px;font:600 13px Montserrat,Arial,sans-serif;background:#171717;color:white!important;text-decoration:none;cursor:pointer}.contest-primary:hover{background:#171717}.contest-primary:disabled{opacity:.5;cursor:default}.contest-index-filters h2{font-size:14px;margin:0 0 25px}.contest-index-filters button{display:flex;justify-content:space-between;width:100%;border:0;background:none;padding:13px 12px;border-radius:7px;font-size:13px;text-align:left;color:#171717;margin-bottom:7px}.contest-index-filters button[aria-pressed=true]{background:#f4f4f4;color:#171717}.contest-index-filters button span{font-size:12px;opacity:.6}.contest-list-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;color:#171717;font-size:13px}.contest-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.contest-list-card{border:1px solid #f4f4f4;border-radius:14px;background:#fff;padding:26px;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.contest-list-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #17171709}.contest-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.contest-state{display:inline-flex;font-size:12px;font-weight:600;padding:7px 10px;background:#fafafa;color:#171717;border-radius:6px;letter-spacing:.01em}.contest-state.is-open{background:#f4f4f4;color:#171717}.contest-arrow{font-size:23px;color:#dedede}.contest-list-card h2{font-size:23px;line-height:1.3;letter-spacing:-.5px;margin:0 0 15px;font-weight:500}.contest-list-card>p{font-size:13px;line-height:1.9;color:#171717;margin:0 0 30px}.contest-card-footer{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:20px;border-top:1px solid #f4f4f4;font-size:12px;color:#171717}.contest-empty{text-align:center;padding:70px 25px;border:1px dashed #f4f4f4;border-radius:12px;color:#171717}.contest-empty>span{font-size:40px;color:#dedede}.contest-empty h2,.contest-empty h3{font-size:20px;font-weight:500;color:#171717}.contest-empty p{font-size:13px;line-height:1.8}.contest-back{display:inline-block;font-size:12px;color:#171717!important;margin:0 0 24px}.contest-intro{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:45px;padding:32px;background:white;border:1px solid #f4f4f4;border-radius:16px;margin-bottom:30px}.contest-brief h1{font-size:34px;letter-spacing:-1.2px;font-weight:500;line-height:1.2;margin:18px 0}.contest-brief>p{font-size:13px;line-height:1.9;max-width:780px;color:#171717;margin:0;overflow-wrap:anywhere}.contest-rules{display:flex;gap:18px;margin-top:23px;font-size:12px;color:#171717}.contest-clock{display:flex;flex-direction:column;justify-content:center;align-items:center;background:#fafafa;border:1px solid #f4f4f4;border-radius:12px;padding:24px;align-self:stretch}.contest-clock>span{font-size:12px;color:#171717;margin-bottom:18px}.contest-digits{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;width:100%;text-align:center}.contest-digits strong{display:block;font-size:35px;letter-spacing:-1.2px;font-weight:500;font-variant-numeric:tabular-nums;color:#171717}.contest-digits small{display:block;font-size:8px;letter-spacing:1px;color:#bdbdbd;margin-top:8px}.contest-clock>small{font-size:12px;color:#bdbdbd;margin-top:24px}.contest-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:30px;align-items:start}.contest-upload-card{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #f4f4f4;background:#fff;border-radius:12px;padding:22px;margin-bottom:30px}.contest-upload-card h2{font-size:14px;font-weight:500;margin:0 0 8px}.contest-upload-card p{font-size:12px;color:#171717;margin:0;line-height:1.8}.contest-upload-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:flex-end}.contest-upload-label{display:inline-flex;padding:11px 14px;border:1px dashed #dedede;border-radius:8px;color:#171717;font-size:12px;cursor:pointer;position:relative}.contest-upload-label input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.contest-upload-thumb{width:48px;height:48px;object-fit:contain;border-radius:5px;background:#fafafa}.contest-upload-note{font-size:12px;color:#171717;max-width:240px;overflow-wrap:anywhere}.contest-section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.contest-section-heading h2{font-size:14px;font-weight:600;margin:0}.contest-section-heading>span{font-size:12px;color:#171717}.contest-section-heading h2>span{font-weight:400;color:#171717;margin-left:7px}.contest-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.contest-entry-card{background:white;border:1px solid #f4f4f4;border-radius:12px;overflow:hidden}.contest-entry-preview{display:block;border:0;background:#fafafa;width:100%;padding:0;aspect-ratio:1;cursor:pointer}.contest-entry-preview img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .3s}.contest-entry-preview:hover img{transform:scale(1.025)}.contest-entry-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;font-size:12px}.contest-entry-author{display:flex;align-items:center;gap:7px;min-width:0}.contest-entry-author img{width:25px;height:25px;border-radius:50%}.contest-entry-author span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contest-score{color:#171717;font-size:12px;font-weight:600;white-space:nowrap}.contest-entry-card.is-voted{border-color:#bdbdbd;box-shadow:0 0 0 1px #bdbdbd}.contest-leaderboard{position:sticky;top:22px;border:1px solid #f4f4f4;border-radius:12px;background:white;padding:23px}.contest-leaderboard .contest-section-heading{padding-bottom:20px;margin-bottom:0;border-bottom:1px solid #f4f4f4}.contest-rank-row{display:flex;align-items:center;gap:10px;padding:17px 0;border-bottom:1px solid #fafafa;font-size:12px}.contest-rank-number{width:23px;flex-shrink:0;color:#171717;font-size:13px;text-align:center}.contest-rank-row:first-child .contest-rank-number{color:#171717;font-weight:700}.contest-rank-row img{width:30px;height:30px;object-fit:cover;border-radius:50%}.contest-rank-row strong{font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contest-rank-row>span:last-child{margin-left:auto;color:#171717;white-space:nowrap;font-size:12px}.contest-leaderboard>p{font-size:12px;line-height:1.8;color:#171717;margin:20px 0 0}.contest-rank-empty{padding:30px 0;font-size:12px;line-height:1.8;color:#171717}.contest-message{border-radius:8px;background:#edf6f2;color:#348269;border:1px solid #dceee5;padding:13px 16px;font-size:13px;margin-bottom:20px}.contest-message.is-error{background:#fff2f4;border-color:#f2d9df;color:#c34b66}.contest-results{padding:25px;border:1px solid #f4f4f4;border-radius:14px;background:#fafafa;margin-bottom:28px}.contest-winners{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.contest-winner{display:flex;align-items:center;gap:15px;background:white;border:1px solid #f4f4f4;border-radius:10px;padding:20px}.contest-winner>strong{font-size:28px;font-weight:500;color:#bdbdbd}.contest-winner:first-child>strong{color:#171717}.contest-winner img{width:44px;height:44px;border-radius:50%}.contest-winner h3{font-size:13px;font-weight:500;margin:0 0 6px}.contest-winner p{font-size:12px;color:#171717;margin:0}.contest-results>p{font-size:13px;color:#171717}.contest-photo-dialog{border:0;padding:0;border-radius:14px;width:min(1000px,calc(100% - 40px));max-height:calc(100dvh - 50px);overflow:auto;color:#202020;background:#fff}.contest-photo-dialog[open]{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(270px,1fr)}.contest-photo-dialog::backdrop{background:#20202080;backdrop-filter:blur(5px)}.contest-dialog-close{position:absolute;right:12px;top:12px;z-index:2;width:33px;height:33px;border:1px solid #f4f4f4;border-radius:50%;background:#fffffff0;font-size:23px;color:#171717}.contest-dialog-image{background:#fafafa;display:flex;align-items:center;justify-content:center}.contest-dialog-image img{display:block;width:100%;max-height:80dvh;object-fit:contain}.contest-dialog-info{padding:60px 30px 32px;align-self:center}.contest-dialog-info>span{font-size:12px;letter-spacing:1.8px;color:#171717}.contest-dialog-info h2{font-size:25px;letter-spacing:-.7px;font-weight:500;margin:18px 0}.contest-dialog-info p{font-size:14px;color:#171717;margin:0 0 30px}.contest-dialog-info .contest-primary{width:100%}.contest-dialog-info small{display:block;font-size:12px;color:#171717;line-height:1.8;margin-top:15px}.contest-dialog-info .contest-primary.is-selected{background:#f4f4f4;color:#171717!important}@media(max-width:1250px){.contest-list{grid-template-columns:repeat(2,minmax(0,1fr))}.contest-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contest-intro{grid-template-columns:minmax(0,1fr) 320px;gap:30px}.contest-detail-layout{gap:22px;grid-template-columns:minmax(0,1fr) 275px}.contest-upload-card{align-items:flex-start;flex-direction:column}.contest-upload-actions{justify-content:flex-start}.contest-winner{padding:15px;gap:10px}.contest-winner>strong{font-size:23px}}@media(max-width:800px){.contest-shell{padding:20px 18px 50px}.contest-intro{grid-template-columns:1fr;padding:25px;gap:25px}.contest-brief h1{font-size:29px}.contest-clock{padding:20px}.contest-digits{max-width:350px}.contest-detail-layout{grid-template-columns:1fr}.contest-leaderboard{position:static}.contest-winners{grid-template-columns:1fr}.contest-winner{padding:18px}.contest-section-heading{align-items:flex-start}.contest-section-heading>span{max-width:140px;text-align:right;line-height:1.7}.contest-photo-dialog[open]{grid-template-columns:1fr}.contest-dialog-image img{max-height:52dvh}.contest-dialog-info{padding:25px}.contest-dialog-info h2{font-size:22px;margin:12px 0}.contest-dialog-info p{margin-bottom:20px}.contest-list-card{padding:22px}.contest-list-card h2{font-size:21px}}@media(max-width:480px){.contest-list{grid-template-columns:1fr}.contest-entry-grid{gap:12px}.contest-entry-meta{padding:10px;gap:6px;font-size:12px}.contest-entry-author img{display:none}.contest-entry-author span{max-width:80px}.contest-score{font-size:12px}.contest-rules{gap:12px;font-size:12px}.contest-upload-actions{width:100%}.contest-upload-actions .contest-primary{flex:1}.contest-digits strong{font-size:31px}}

/* Keep the race index aligned with the shared inner-page catalogue. */
.gka-contests { --catalog-line:#e8e8e3; }
.gka-contests .gka-topbar { border-bottom:1px solid var(--catalog-line); }
.contest-shell.is-index { max-width:none; margin:0; padding:0; }
.contest-index-main { min-width:0; padding:24px 0 60px; }
.contest-index-filters h2 { margin:0 0 24px; font-size:15px; letter-spacing:-.25px; font-weight:600; }
.contest-index-filters button { font-size:13px; color:#171717; padding:12px; border-radius:8px; }
.contest-index-filters button[aria-pressed=true] { font-weight:600; }
.contest-list-toolbar { min-height:41px; margin-bottom:22px; color:#171717; }
.contest-list { gap:24px; }
.contest-list-card { position:relative; min-height:278px; padding:26px; border-color:#f4f4f4; border-radius:18px; background:linear-gradient(145deg,#fafafa 0%,#fff 55%); box-shadow:0 4px 16px #17171710; overflow:hidden; }
.contest-list-card:hover { border-color:#dedede; box-shadow:0 14px 32px #17171713; }
.contest-list-card:focus-visible { outline:3px solid #171717; outline-offset:4px; }
.contest-card-top { margin-bottom:25px; }
.contest-list-card .contest-state { gap:7px; padding:8px 10px; font-size:12px; font-weight:600; background:#f4f4f4; color:#171717; }
.contest-list-card .contest-state.is-open { background:#f4f4f4; color:#171717; }
.contest-list-card .contest-state::before { content:''; width:6px; height:6px; background:currentColor; border-radius:50%; }
.contest-arrow { display:grid; place-items:center; width:34px; height:34px; border:1px solid #f4f4f4; background:#fff; border-radius:50%; color:#171717; font-size:20px; transition:background .2s,color .2s; }
.contest-list-card:hover .contest-arrow { color:#fff; background:#171717; border-color:#171717; }
.contest-list-card h2 { max-width:100%; margin:0 0 10px; color:#202020; font-size:24px; line-height:1.3; font-weight:600; letter-spacing:-.7px; overflow-wrap:anywhere; }
.contest-list-card>p { margin:0 0 27px; color:#171717; font-size:13px; line-height:1.65; overflow-wrap:anywhere; }
.contest-card-footer { align-items:center; padding-top:18px; color:#171717; font-size:13px; border-color:#f4f4f4; }
.contest-card-people { display:flex; gap:7px; align-items:center; }
.contest-card-people svg { width:18px; height:18px; color:#171717; flex-shrink:0; }
.contest-card-date { display:flex; flex-direction:column; gap:5px; text-align:right; font-size:13px; font-weight:500; color:#171717; }
.contest-card-date small { font-size:12px; color:#171717; font-weight:400; }
@media(prefers-reduced-motion:reduce) { .contest-list-card,.contest-arrow { transition:none; } .contest-list-card:hover { transform:none; } }
@media(max-width:700px) {
 .contest-index-layout { gap:0; }
 .contest-index-filters.gka-catalog-sidebar { display:flex; align-items:center; gap:5px; height:auto; max-height:none; border:0; border-radius:0; margin:16px 0 0; padding:0 0 4px; overflow-x:auto; }
 .contest-index-filters h2 { display:none; }
 .contest-index-filters button { flex:1; width:auto; padding:11px 9px; gap:8px; margin:0; white-space:nowrap; font-size:12px; }
 .contest-index-main { padding-top:19px; }
 .contest-list-card { min-height:265px; padding:23px; }
 .contest-list-card h2 { font-size:22px; }
}
.contest-card-date:not(:has(time)) { flex-direction:row; align-items:center; gap:7px; }

.contest-voting-note { display:flex; align-items:center; gap:14px; margin:0 0 28px; padding:18px 20px; background:#f4f4f4; border:1px solid #f4f4f4; border-radius:12px; }
.contest-voting-note>span { display:grid; place-items:center; flex-shrink:0; width:40px; height:40px; border-radius:11px; background:#171717; color:white; font-size:17px; font-weight:600; }
.contest-voting-note strong { display:block; font-size:14px; color:#171717; }
.contest-voting-note p { margin:6px 0 0; font-size:13px; line-height:1.7; color:#171717; }
.contest-entry-actions { padding:0 14px 14px; }
.gka-contests .contest-entry-vote { display:flex; align-items:center; justify-content:center; gap:7px; width:100%; min-height:41px; padding:11px 12px; background:#171717; border:1px solid #171717; border-radius:8px; color:#fff; font:600 13px Montserrat,Arial,sans-serif; cursor:pointer; text-align:center; }
.gka-contests .contest-entry-vote:hover:not(:disabled) { background:#171717; }
.gka-contests .contest-entry-vote:disabled { background:#fafafa; border-color:#f4f4f4; color:#171717; cursor:default; }
.gka-contests .contest-entry-vote.is-selected { background:#f4f4f4; border-color:#dedede; color:#171717; }
@media(max-width:480px) { .contest-entry-actions { padding:0 10px 10px; } .contest-voting-note { padding:15px; align-items:flex-start; } .contest-voting-note strong { font-size:13px; } }
.contest-member-gate { display:flex; flex-direction:column; align-items:flex-end; gap:10px; }
.contest-member-gate p { margin:0; font-size:13px; color:#171717; }
@media(max-width:800px) { .contest-member-gate { align-items:flex-start; } }
