:root{--green:#113f36;--green2:#1f5d4f;--cream:#f5f0e5;--orange:#ed6b32;--ink:#19342e;--muted:#64736e;--white:#fff;--line:#ddd5c5;font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.6}a{color:inherit}.wrap{width:min(1160px,calc(100% - 2.5rem));margin-inline:auto}.site-header{height:5.5rem;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:.75rem;font-weight:850;text-decoration:none}.brand span{display:grid;place-items:center;width:2.5rem;aspect-ratio:1;border-radius:50%;color:#fff;background:var(--green);font-size:.75rem}nav{display:flex;align-items:center;gap:1.5rem}nav a{text-decoration:none;font-weight:700}.pill{padding:.55rem 1rem;border-radius:99px;color:#fff;background:var(--green)}.hero{min-height:42rem;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:8vw;padding:5rem 0}.eyebrow{margin:0 0 1rem;color:var(--orange);font-size:.75rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.07;letter-spacing:-.035em}h1{max-width:12ch;margin-bottom:1.5rem;font-size:clamp(3rem,7vw,6.5rem)}h2{font-size:clamp(2rem,4vw,3.5rem)}.lead{max-width:40rem;color:var(--muted);font-size:1.25rem}.button,button{display:inline-flex;justify-content:center;padding:.8rem 1.25rem;border:0;border-radius:99px;color:#fff;background:var(--orange);font:inherit;font-weight:800;text-decoration:none;cursor:pointer}.hero .button{margin-top:1rem}.hero-art{display:grid;place-items:center;aspect-ratio:1;color:#fff;background:var(--green);border-radius:50% 50% 12%;box-shadow:1rem 1rem 0 var(--line)}.hero-art strong{font-size:clamp(4rem,10vw,8rem);line-height:.7}.hero-art span{margin-top:-35%;font-weight:800;letter-spacing:.3em}.section{padding:6rem 0;border-top:1px solid var(--line)}.competition-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.card,.panel{padding:2rem;background:#fff;border:1px solid var(--line);border-radius:1rem;box-shadow:0 10px 35px #113f360f}.card-top,.row,.admin-heading,.actions,.challenge{display:flex;align-items:center;justify-content:space-between;gap:1rem}.card-top{color:var(--orange);font-size:.8rem;text-transform:uppercase}.card h3{margin:2rem 0 .7rem;font-size:1.8rem}.card p,.empty{color:var(--muted)}.card ul{margin:1.5rem 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.card li{display:flex;justify-content:space-between;padding:.8rem 0;border-bottom:1px solid var(--line)}.about{padding:7rem 0;color:#fff;background:var(--green)}.about h2{margin:0}.light{color:#ff9568}footer{display:flex;justify-content:space-between;padding-block:2rem;color:var(--muted)}.admin-shell{width:min(900px,calc(100% - 2.5rem));margin:0 auto;padding:2rem 0 6rem}.admin-heading{margin:4rem 0 2rem}.admin-heading h1,.login h1{font-size:3.5rem}.login{max-width:30rem;margin:12vh auto}.panel{margin-bottom:1.5rem}.panel h2{font-size:1.8rem}.form-grid,.challenge-form{display:grid;gap:1rem}label{display:grid;gap:.35rem;font-weight:750}input,textarea{width:100%;padding:.75rem;border:1px solid #b7b0a3;border-radius:.45rem;background:#fff;font:inherit;color:inherit}input:focus,textarea:focus{outline:3px solid rgb(237 107 50/.25);border-color:var(--orange)}.checkbox{display:flex;align-items:center}.checkbox input{width:auto}.secondary{color:var(--green);background:#e5eee9}.danger{background:#a93232}.error{padding:.8rem 1rem;color:#8c2020;background:#fbe5e2;border-radius:.5rem}.status{display:inline-block;padding:.25rem .55rem;border-radius:99px;background:#eee;color:#666;font-size:.7rem;font-weight:850;text-transform:uppercase}.status.live{color:#12603f;background:#daf1e6}.row{align-items:flex-start}.actions{flex-shrink:0}.challenge-list{margin:1.5rem 0}.challenge{padding:.8rem 0;border-top:1px solid var(--line)}.challenge small{display:block;color:var(--muted)}code{color:var(--ink)}.link-danger{padding:.25rem;color:#9f2929;background:none}.challenge-form{padding:1.5rem;background:#f6f3ec;border-radius:.75rem}.challenge-form h3{margin:0}.two-cols{display:grid;grid-template-columns:2fr 1fr;gap:1rem}@media(max-width:700px){nav a:not(.pill){display:none}.hero{min-height:auto;grid-template-columns:1fr;padding:4rem 0 6rem}.hero-art{width:min(75vw,19rem);margin:auto}.competition-grid{grid-template-columns:1fr}.row,.admin-heading{align-items:flex-start;flex-direction:column}.actions{flex-wrap:wrap}.two-cols{grid-template-columns:1fr}footer{flex-direction:column;gap:.5rem}h1{font-size:3rem}}.challenge-title,.flag-form>div{display:flex;justify-content:space-between;gap:.75rem}.public-challenge p{margin:.5rem 0;color:var(--muted)}.flag-form{margin-top:.75rem}.flag-form label{font-size:.8rem}.flag-form input{min-width:0}.flag-form button{border-radius:.45rem}.flag-form output{display:block;min-height:1.5rem;margin-top:.35rem;color:#a93232;font-size:.9rem;font-weight:750}.flag-form output.success{color:#167147}.ctftime-section{background:#ebe5d8}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.section-heading h2{margin-bottom:.5rem}.section-heading p{margin:0;color:var(--muted)}.text-link,.ctftime-card a{color:var(--green2);font-weight:800}.ctftime-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.ctftime-card{display:flex;flex-direction:column;min-height:18rem;padding:1.7rem;background:var(--white);border:1px solid var(--line);border-radius:1rem}.ctftime-card h3{margin:2rem 0 .8rem;font-size:1.55rem}.ctftime-card time{color:var(--ink);font-weight:750}.ctftime-card p{color:var(--muted)}.ctftime-card>a{margin-top:auto}.event-meta{display:flex;justify-content:space-between;gap:1rem;color:var(--orange);font-size:.75rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.notice{padding:.75rem 1rem;border-radius:.5rem;color:#76520c;background:#fff2c7}@media(max-width:900px){.ctftime-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.section-heading{align-items:flex-start;flex-direction:column}.ctftime-grid{grid-template-columns:1fr}.ctftime-card{min-height:15rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
