#ctf-main{max-width:1440px;margin-inline:auto;padding:8px clamp(18px,3vw,42px)}
.ctf-hero{margin-block:16px;padding:28px;border:1px solid #354b32;border-radius:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:center;background:radial-gradient(ellipse at 90% 0%,#a8dc401a,transparent 65%),#111916}
.ctf-hero h1{font-size:clamp(28px,3vw,38px);line-height:1.4;margin-block:10px}
.ctf-hero p,.ctf-beginner p{max-width:70ch;color:#b8c8bf;line-height:1.85;font-size:14px;margin-bottom:0}
.ctf-stats{display:flex;gap:24px}.ctf-stats div{display:grid;gap:8px;text-align:center}.ctf-stats strong{color:#d2fa92;font:700 28px/1.2 ui-monospace,monospace}.ctf-stats span{font-size:11px;color:#b2c2b9}
.ctf-beginner{padding:22px 26px;margin-bottom:16px;display:flex;align-items:center;gap:26px;border:1px solid #5b733d;border-radius:18px;background:linear-gradient(120deg,#202c18,#111916)}
.ctf-beginner>div:first-child{flex:1}.ctf-beginner h2{font-size:21px;line-height:1.5;margin-block:8px}.ctf-beginner-actions{display:grid;gap:10px;min-width:220px}.ctf-beginner .button{min-height:44px;font-size:12px;white-space:normal;text-align:center}
.ctf-facts{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-block:16px}.ctf-facts span{font-size:11px;padding:6px 9px;border:1px solid #3f5137;border-radius:7px;color:#cce0bd}
.ctf-note{padding:14px 22px;margin-bottom:16px}.ctf-note summary,.ctf-help summary{cursor:pointer;font-size:13px;color:#d3e8b9;line-height:1.8}.ctf-note p,.ctf-help p{font-size:13px;line-height:1.9;color:#b9cbc1}
.ctf-toolbar{padding:20px;margin-bottom:18px;border:1px solid #354233;border-radius:16px;background:#101713;display:grid;gap:18px;scroll-margin-block-start:90px}.ctf-filters{display:flex;gap:8px;flex-wrap:wrap}.ctf-filters .button{min-height:42px;padding:9px 16px;font-size:13px}.ctf-filters [aria-pressed=true]{border-color:#b0dd6c;background:#293c20;color:#e5f7c8}
.ctf-search-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}.ctf-search-fields label{display:grid;gap:8px;font-size:12px;color:#d0dfc4;min-width:0}.ctf-search-fields input,.ctf-search-fields select{width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid #506545;border-radius:10px;background:#0b1310;color:#eef7e7;font:inherit;font-size:13px}
.ctf-results{font-size:12px;line-height:1.7;color:#b4caa5;margin:0}.ctf-result-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.ctf-result-row .button{font-size:12px;padding:5px;min-height:32px}.ctf-result-row [hidden]{display:none}
.ctf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:40px}
.ctf-grid .ctf-card{margin:0;max-width:none}
.ctf-card{position:relative;isolation:isolate;padding:22px;display:flex;flex-direction:column;gap:10px;border:1px solid #3d4b39;border-radius:18px;background:linear-gradient(155deg,#18211a,#101713);overflow:hidden}
.ctf-card.planned{background:#111719;border-color:#374147}.ctf-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.ctf-emblem{width:44px;height:44px;display:grid;place-items:center;background:#a9e05b10;border:1px solid #688c3d70;border-radius:12px;color:#cdf789}
.ctf-emblem svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.ctf-card.planned .ctf-emblem{color:#a4bcc7;border-color:#546572;background:#577a8910}
.ctf-card .section-kicker{font-size:10px;line-height:1.7}.ctf-card h2{font-size:22px;line-height:1.5;margin:0;overflow-wrap:anywhere}
.ctf-card-link{color:#f1f7ee;text-decoration:none}.ctf-card-link:after{content:'';position:absolute;inset:0;border-radius:18px;z-index:1}.ctf-card:focus-within{outline:2px solid #c8fa66;outline-offset:4px}
.ctf-card-link:focus-visible{outline:none}
.ctf-card>p{font-size:13px;color:#bdcdc2;line-height:1.9;flex:1;margin:0}.ctf-card .ctf-facts{margin-block:5px}.ctf-workflow{font-size:12px;color:#d2e5bc}.ctf-card>p.ctf-requirements{font-size:11px;color:#a9bba9;flex:0}
.ctf-card-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;border-block-start:1px solid #ffffff13;padding-top:17px;margin-top:8px;font-size:12px;font-weight:650;color:#d2efad}.ctf-card.planned .ctf-card-footer{color:#b1c7d1}.ctf-arrow{font-size:24px;line-height:1}
.ctf-status{display:inline-flex;align-self:flex-start;padding:5px 9px;border-radius:7px;font-size:11px;line-height:1.6}.ctf-status.ready{background:#26391c;color:#d4f5a8;border:1px solid #547836}.ctf-status.ready:before{content:'';width:5px;height:5px;border-radius:50%;background:#ccf78c;align-self:center;margin-inline-end:6px}.ctf-status.planned{background:#1d252a;color:#c1ced7;border:1px solid #47545c}
.ctf-empty{grid-column:1/-1;padding:28px}.ctf-mission{padding:28px;margin-block:20px}.ctf-mission>.ctf-status{display:table;margin-block:16px}.ctf-mission h1{font-size:clamp(27px,3vw,38px);line-height:1.5;margin-block:14px}.ctf-mission p,.ctf-section li{font-size:14px;line-height:1.9;color:#b9cbc1}.ctf-mission h2{font-size:21px;line-height:1.6}.ctf-mission h3{font-size:15px;color:#d7e6cf;line-height:1.6}
.ctf-mission-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:28px;align-items:start}.ctf-section{margin-block:24px}.ctf-section ol{padding-inline-start:23px;display:grid;gap:10px}
.ctf-evidence{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.9 ui-monospace,monospace;text-align:left;background:#080f0b;border:1px solid #425838;border-radius:12px;padding:20px;color:#d4e9be}
.ctf-help{padding:16px;border:1px solid #354733;border-radius:12px;margin-block:24px}
.ctf-download{position:sticky;top:92px;padding:24px;background:#101b13;border:1px solid #47633c;border-radius:16px;margin-top:24px}.ctf-download>.button{display:flex;width:100%;font-size:13px;min-height:48px;text-align:center}
.ctf-download dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px;line-height:1.6;margin-block:22px}.ctf-download dt{color:#aabc9e}.ctf-download dd{margin:0;text-align:end;color:#e0e9d9;overflow-wrap:anywhere}
.ctf-integrity{border-block-start:1px solid #3b4a34;padding-top:16px;font-size:12px}.ctf-integrity summary{cursor:pointer;line-height:1.7;color:#d2e5ba}.ctf-integrity code{display:block;overflow-wrap:anywhere;font-size:11px;line-height:1.8;color:#c4d8b4;text-align:left}
.ctf-download .ctf-download-note{font-size:12px;color:#b1c39e;margin-bottom:0}.ctf-mission :focus-visible,.ctf-toolbar :focus-visible,.ctf-beginner :focus-visible{outline:2px solid #c8fa66;outline-offset:4px}
@media(max-width:1200px){.ctf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ctf-hero{grid-template-columns:1fr}.ctf-stats{justify-content:flex-start}.ctf-stats div{text-align:start}.ctf-mission-layout{grid-template-columns:1fr}.ctf-download{position:static;grid-row:1;margin-top:4px}.ctf-beginner{align-items:flex-start;flex-direction:column}.ctf-beginner-actions{display:flex;flex-wrap:wrap;min-width:0}}
@media(max-width:650px){.ctf-grid,.ctf-search-fields{grid-template-columns:1fr}.ctf-hero,.ctf-mission,.ctf-download,.ctf-card{padding:20px}.ctf-filters .button{flex:1;min-width:130px}.ctf-evidence{font-size:12px;padding:14px}.ctf-mission h1{font-size:28px}.ctf-stats{gap:18px;justify-content:space-between}.ctf-stats strong{font-size:24px}.ctf-beginner-actions,.ctf-beginner-actions .button{width:100%}.ctf-result-row{align-items:flex-start}.ctf-beginner{padding:20px}}
@media(prefers-reduced-motion:no-preference){.ctf-card{transition:transform .2s,border-color .2s,box-shadow .2s}.ctf-card:hover{transform:translateY(-4px);border-color:#95b760;box-shadow:0 12px 30px #0004}.ctf-card .ctf-arrow{transition:transform .2s}.ctf-card:hover .ctf-arrow{transform:translateX(4px)}[dir=rtl] .ctf-card:hover .ctf-arrow{transform:translateX(-4px)}}
.ctf-progress{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:16px 20px;margin-block:18px;font-size:13px}.ctf-progress bdi{margin-inline-start:auto;color:var(--accent,#c8fa66)}
.ctf-status.completed{background:#213316;color:#d4f5a8;border:1px solid #678940}
.ctf-submit-panel{margin-block:22px;padding:20px;background:#111b13;border:1px solid #526c3a;border-radius:14px}.ctf-submit-panel h2{margin-block:8px}.ctf-submit-panel small{display:block;color:#aab7ad;font-size:12px;line-height:1.8}
.ctf-flag-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.ctf-flag-form label{display:grid;gap:8px;color:#dde6df;font-size:13px;font-weight:600}.ctf-flag-form input{width:100%;min-height:44px;padding:10px 14px;border-radius:9px;border:1px solid #4a5c43;background:#080e0a;color:#eef4f0;font:14px/1.6 ui-monospace,monospace;box-sizing:border-box}.ctf-flag-form .button{min-height:44px;align-self:end}.ctf-submit-feedback{grid-column:1/-1;margin:0}.ctf-submit-feedback[data-state=error]{color:#ffc7af}.ctf-flag-form :disabled{opacity:.6;cursor:wait}
.ctf-proof{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 22px;font-size:13px;line-height:1.7}.ctf-proof dt{color:#aab7ad}.ctf-proof dd{margin:0;overflow-wrap:anywhere}.ctf-proof dd[dir=ltr]{text-align:start;font-family:ui-monospace,monospace;font-size:12px}
@media(max-width:650px){.ctf-flag-form{grid-template-columns:1fr}.ctf-proof{grid-template-columns:1fr;gap:5px}.ctf-proof dd{margin-block-end:8px}.ctf-progress bdi{margin-inline-start:0}.ctf-submit-panel{padding:16px}}
