.ctf-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,310px);gap:32px;align-items:end}.ctf-intro h1{font-size:clamp(50px,8vw,102px);line-height:.98}.ctf-intro h1 span{display:block;color:var(--spark)}.ctf-status{border:1px solid var(--line);padding:22px;background:var(--panel)}.ctf-status strong{display:block;font-size:22px;line-height:1.2;margin:9px 0 12px}.ctf-status p{font-size:13px;color:var(--muted)}.status-mark{display:inline-block;width:7px;height:7px;margin-right:8px;background:var(--spark)}.ctf-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.ctf-action{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;padding:10px 15px;border:1px solid var(--line);text-decoration:none;font-size:13px}.ctf-action.primary{background:var(--spark);border-color:var(--spark);color:#000}.ctf-action:hover{border-color:var(--spark)}.ctf-action.primary:hover{background:#fff;border-color:#fff;color:#000}.ctf-section{margin:38px 0}.section-title{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:20px}.section-title h2{font-size:clamp(22px,3vw,31px);text-transform:uppercase}.section-title .eyebrow{margin:0}.ctf-copy{max-width:900px;font-size:14px;color:var(--muted)}.ctf-copy p+p{margin-top:16px}.ctf-copy a{color:var(--ink)}.scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.scope-card{margin:0;padding:22px;border:1px solid var(--line);background:var(--panel);min-width:0}.scope-card h3{margin:0 0 10px}.scope-card p{color:var(--muted);font-size:13px}.scope-card .scope-id{display:block;font-size:12px;color:var(--spark);margin-bottom:14px}.scope-card code{color:#fff;overflow-wrap:anywhere}.scope-card .domain-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:12px 0 0}.domain-list li{border:1px solid var(--line);padding:5px 8px;font-size:12px}.track-resource{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-left:3px solid var(--spark);padding:20px;margin-top:18px}.track-resource p{color:var(--muted);font-size:13px;max-width:650px}.track-resource a{color:var(--spark)}.track-resource strong{display:block;color:var(--ink);margin-bottom:7px}.winner-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.winner-list li{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(170px,1fr);align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}.winner-rank{color:var(--spark);font-size:20px}.winner-name{font-weight:600;overflow-wrap:anywhere}.winner-track{color:var(--muted);font-size:12px}.winner-track a{color:var(--ink)}.winner-name a{text-decoration:none}.ctf-updates{display:flex;flex-wrap:wrap;gap:8px 28px;font-size:12px;color:var(--muted);margin-top:18px}.ctf-socials{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 20px}.ctf-socials a{display:flex;align-items:center;gap:10px;min-height:51px;border-bottom:1px solid var(--line);text-decoration:none;font-size:13px;min-width:0}.ctf-socials img{width:22px;height:22px;object-fit:contain}.ctf-socials span{overflow-wrap:anywhere}
@media(max-width:800px){.ctf-intro{grid-template-columns:minmax(0,1fr) 240px;gap:22px}.ctf-intro h1{font-size:clamp(50px,9vw,72px)}.ctf-socials{grid-template-columns:repeat(3,minmax(0,1fr))}.winner-list li{grid-template-columns:38px minmax(0,1fr) minmax(120px,1fr);gap:12px}}
@media(max-width:580px){.ctf-intro{grid-template-columns:1fr;gap:24px}.ctf-intro h1{font-size:clamp(48px,13vw,72px)}.ctf-status{padding:18px}.scope-grid{grid-template-columns:1fr}.scope-card{padding:18px}.ctf-section{margin:28px 0}.winner-list li{grid-template-columns:34px minmax(0,1fr);gap:3px 12px;padding:14px 0}.winner-rank{grid-row:1/3}.winner-track{grid-column:2}.ctf-socials{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.ctf-socials a{font-size:12px}.ctf-actions{gap:10px}.ctf-action{gap:18px}.track-resource{padding:16px}}

.ctf-error{padding:70px 0;min-height:65vh}.ctf-error h1{font-size:clamp(48px,8vw,96px);margin-bottom:28px}.ctf-error h1 span{color:var(--spark)}.ctf-error .ctf-copy{max-width:600px}@media(max-width:580px){.ctf-error{padding:36px 0}.ctf-error h1{font-size:clamp(45px,12vw,70px)}}
