#main [data-contest-grid]{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
#main .vx-contest-tile.vx-challenge-card{--cc-accent:#0071ba;--cc-tint:#edf6ff;--cc-tint2:#e1effa;padding:0;display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #dce6ef;border-radius:15px;overflow:hidden;box-shadow:0 3px 12px #233d5710;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
#main .vx-challenge-card.cc-teal{--cc-accent:#227e70;--cc-tint:#edf8f4;--cc-tint2:#dcefe9}
#main .vx-challenge-card.cc-indigo{--cc-accent:#536db8;--cc-tint:#f0f3ff;--cc-tint2:#e5ebfb}
#main .vx-challenge-card:hover{transform:translateY(-4px);border-color:#b8ccde;box-shadow:0 12px 26px #193d5716}
#main .cc-hero{position:relative;isolation:isolate;min-height:111px;background:linear-gradient(115deg,var(--cc-tint),var(--cc-tint2));border-bottom:1px solid #dfebf3;overflow:hidden}
#main .cc-hero:after{content:'';position:absolute;z-index:-1;width:170px;height:170px;border:1px solid #ffffffb0;border-radius:50%;right:-28px;top:-25px}
#main .cc-art{position:absolute;right:-7px;bottom:-9px;width:62%;height:117px;object-fit:contain;opacity:.96}
#main .cc-topic-label{position:absolute;left:19px;top:17px;max-width:51%;font-size:8px;line-height:1.5;letter-spacing:1.1px;font-weight:700;color:var(--cc-accent)}
#main .cc-topic-mark{position:absolute;left:18px;top:49px;max-width:45%;font-size:28px;line-height:1;font-weight:750;letter-spacing:-.8px;color:var(--cc-accent)}
#main .cc-status{position:absolute;top:13px;right:14px;display:inline-flex;align-items:center;gap:5px;padding:4px 8px;background:#fffffff0;border:1px solid #ffffff;border-radius:20px;font-size:10px;font-weight:600;line-height:1.4;color:#26795b;box-shadow:0 2px 7px #1d4f6a05}
#main .cc-status-dot{width:5px;height:5px;border-radius:50%;background:currentColor}
#main .vx-challenge-card[data-status=upcoming] .cc-status{color:#83611f}
#main .vx-challenge-card[data-status=completed] .cc-status{color:#6b7a8a}
#main .cc-body{padding:18px 19px 19px;display:flex;flex-direction:column;flex:1}
#main .cc-title{color:#203349;font-size:21px;font-weight:650;line-height:1.26;letter-spacing:-.5px;margin:0 0 8px;min-height:53px}
#main .cc-description{color:#708194;font-size:12px;font-weight:400;line-height:1.6;margin:0 0 15px;min-height:38px}
#main .cc-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#f7f9fc;border:1px solid #edf1f6;border-radius:8px;padding:10px 0;margin:0 0 17px}
#main .cc-metrics>div{display:flex;align-items:baseline;justify-content:center;gap:4px;min-width:0}
#main .cc-metrics>div+div{border-left:1px solid #e2e8ef}
#main .cc-metrics strong{color:#2c4056;font-size:16px;font-weight:650;line-height:1.3}
#main .cc-metrics span{color:#7b8b9d;font-size:10px;line-height:1.4}
#main .cc-competition{margin-top:auto}
#main .cc-score-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px}
#main .cc-score-label{display:inline-flex;gap:6px;align-items:center;font-size:11px;color:#79899b}
#main .cc-score-label svg{width:15px;height:15px;color:var(--cc-accent)}
#main .cc-score-row>strong{font-size:13px;letter-spacing:-.2px;color:#344960;font-weight:650}
#main .cc-score-track{height:4px;border-radius:10px;background:#eef3f7;overflow:hidden}
#main .cc-score-track>span{height:100%;display:block;background:var(--cc-accent);border-radius:10px;opacity:.72}
#main .cc-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:13px 0 15px;font-size:11px;color:#73869a}
#main .cc-meta>span{display:flex;align-items:center;gap:5px}
#main .cc-meta svg{width:14px;height:14px;flex-shrink:0}
#main .vx-challenge-card[data-status=active] .cc-deadline{color:#477187;font-weight:500}
#main a.cc-primary{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#0071ba;color:white;text-decoration:none;border:1px solid #0071ba;border-radius:7px;padding:10px 13px;font-size:12px;font-weight:600;min-height:41px;line-height:1.5;transition:background .16s ease}
#main a.cc-primary:hover{background:#005f9c;border-color:#005f9c;color:white;transform:none;text-decoration:none}
#main .cc-arrow{font-size:18px;line-height:1}
#main .cc-admin{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fbfcfe;border-top:1px solid #edf1f5;padding:10px 18px}
#main .cc-admin>span{font-size:8px;letter-spacing:1px;color:#9aa7b4;font-weight:600}
#main a.cc-manage{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:500;color:#7c8c9c;text-decoration:none;line-height:1.5}
#main a.cc-manage svg{width:12px;height:12px}
#main a.cc-manage:hover{color:#0071ba;text-decoration:underline}
#main .vx-challenge-card a:focus-visible{outline:3px solid #93c8eb;outline-offset:3px}
@media(max-width:1050px){#main [data-contest-grid]{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:620px){#main [data-contest-grid]{grid-template-columns:1fr;gap:18px}#main .cc-hero{min-height:101px}#main .cc-art{width:57%;height:111px}#main .cc-title{min-height:0;font-size:21px}#main .cc-description{min-height:0;font-size:12px;margin-bottom:13px}#main .cc-body{padding:18px}#main .cc-metrics{padding:9px 0;margin-bottom:15px}#main .cc-meta{margin-top:12px}#main a.cc-primary{min-height:44px;font-size:13px}#main .cc-topic-label{font-size:9px}#main .cc-topic-mark{top:46px}#main .cc-status{font-size:10px}}
@media(prefers-reduced-motion:reduce){#main .vx-challenge-card,#main a.cc-primary{transition:none}#main .vx-challenge-card:hover{transform:none}}

#main .cc-topic-mark{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Compact catalogue introduction; contest cards take priority. */
#main.vx-contest-page>.cc-page-intro{padding:16px 22px!important;min-height:0}
#main .cc-page-intro .vx-breadcrumb{margin:0 0 9px;font-size:12px}
#main .cc-page-intro .vx-breadcrumb ol{margin:0;padding:0}
#main .cc-page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}
#main .cc-page-heading h1{font-size:25px!important;line-height:1.25!important;margin:0 0 6px!important}
#main .cc-page-heading p{margin:0;color:#637183;font-size:14px;line-height:1.5}
#main a.cc-standings-link{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;padding:10px 14px;border:1px solid #d7e5ef;border-radius:8px;color:#0071ba;font-size:13px;font-weight:600;text-decoration:none}
#main a.cc-standings-link:hover{background:#eef7fc}
#main a.cc-standings-link:focus-visible{outline:3px solid #66b7ec;outline-offset:3px}
#main.vx-contest-page>.cc-compact-dashboard{padding:20px 22px!important}
#main .cc-compact-dashboard .vx-section-heading{margin:0 0 14px;min-height:0}
#main .cc-compact-dashboard .vx-section-heading h2{margin:0;font-size:20px;line-height:1.3}
#main .cc-contest-filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:0 0 18px;padding:0;border:0;background:transparent}
#main .cc-contest-filters label{display:flex;align-items:center;gap:8px;margin:0;color:#637183;font-size:12px;font-weight:500}
#main .cc-contest-filters select{width:auto;min-width:155px;min-height:38px;margin:0;padding:7px 30px 7px 10px;font-size:13px;border:1px solid #d7e1eb;border-radius:7px;background-color:#fff}
#main .cc-timezone{margin-left:auto;align-self:center;font-size:11px;color:#637183}
@media(max-width:650px){#main.vx-contest-page>.cc-page-intro,#main.vx-contest-page>.cc-compact-dashboard{padding:16px!important}#main .cc-page-heading{align-items:flex-start;flex-wrap:wrap;gap:12px}#main .cc-page-heading h1{font-size:22px!important}#main a.cc-standings-link{padding:7px 10px;min-height:36px}#main .cc-contest-filters{align-items:stretch;gap:10px}#main .cc-contest-filters label{flex:1 1 140px;display:block}#main .cc-contest-filters select{display:block;width:100%;min-width:0;margin-top:5px}#main .cc-timezone{flex-basis:100%;margin:0}#main .cc-compact-dashboard .vx-section-heading h2{font-size:18px}}

#main.vx-contest-page>.cc-page-intro{padding-top:12px!important;padding-bottom:12px!important}#main .cc-page-heading h1{margin:0!important}

#contest-alerts{max-width:900px}#contest-alerts fieldset{padding:16px;border:1px solid #dae4ed;border-radius:8px}#contest-alerts fieldset label{display:flex;align-items:flex-start;gap:10px;margin:12px 0;font-size:14px}#contest-alerts input[type=checkbox]{width:18px;height:18px;margin:2px 0 0;flex-shrink:0}#contest-alerts section{margin-top:28px}#contest-alerts article{padding:16px;margin:12px 0;border:1px solid #dae4ed;border-radius:8px}#contest-alerts article h3{margin:0;font-size:16px}#contest-alerts article p{font-size:14px;line-height:1.6}#contest-alerts article button{margin-left:16px}#contest-alerts .alert-unread{border-left:3px solid #0071ba}#contest-alerts pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}
