:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#09100e;--surface:#111b18;--surface-soft:#17231f;--line:#2b3d36;--text:#edf6f0;--muted:#a7b7ae;--accent:#75e3a8;--accent-ink:#07130d;background:var(--background);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 75% 0%, #18392c 0, transparent 32rem), var(--background);min-height:100vh;margin:0}a{color:inherit}.site-header,.site-footer,main{width:min(1080px,100% - 36px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:24px 0;display:flex}.brand{color:var(--accent);letter-spacing:-.03em;font-size:1.3rem;font-weight:800;text-decoration:none}nav a{color:var(--muted);text-decoration:none}nav a:hover{color:var(--text)}main{min-height:calc(100vh - 168px);padding:72px 0}.site-footer{color:var(--muted);border-top:1px solid var(--line);padding:24px 0 40px;font-size:.9rem}.hero{max-width:820px;padding:48px 0 72px}.eyebrow{color:var(--accent);letter-spacing:.16em;font-size:.75rem;font-weight:800}h1{letter-spacing:-.045em;margin:12px 0 18px;font-size:clamp(2.2rem,7vw,4.7rem);line-height:1.06}.lead{max-width:720px;color:var(--muted);font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.8}.button{cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.primary{color:var(--accent-ink);background:var(--accent)}.secondary{border-color:var(--line);background:var(--surface-soft)}.home-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.home-grid article,.challenge-card,.detail-card{border:1px solid var(--line);background:#111b18e0;border-radius:12px;padding:30px}.home-grid strong{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.4rem}.home-grid h2{margin-bottom:8px}.home-grid p,.challenge-card>p,.page-heading>p,.detail-card section p{color:var(--muted);line-height:1.7}.page-heading{margin-bottom:38px}.page-heading h1{font-size:clamp(2.2rem,6vw,3.5rem)}.challenge-list{gap:18px;display:grid}.challenge-heading{align-items:flex-start;gap:18px;display:flex}.challenge-heading h1,.challenge-heading h2{letter-spacing:-.02em;margin:0;font-size:1.5rem}.challenge-id{min-width:54px;height:38px;color:var(--accent);background:#10251b;border:1px solid #39624f;border-radius:6px;place-items:center;font-family:ui-monospace,monospace;font-weight:800;display:grid}.meta{color:var(--muted);margin:5px 0 0;font-size:.88rem}.actions{flex-wrap:wrap;gap:10px;margin:24px 0;display:flex}.flag-form{border-top:1px solid var(--line);margin-top:26px;padding-top:24px}.flag-form label{margin-bottom:8px;font-weight:700;display:block}.flag-row{gap:10px;display:flex}.flag-row input{min-width:0;min-height:44px;color:var(--text);font:inherit;background:#08110e;border:1px solid #496057;border-radius:7px;flex:1;padding:10px 12px}.flag-row input:focus{border-color:var(--accent);outline:3px solid #75e3a840}.flag-row button{min-width:90px;color:var(--accent-ink);background:var(--accent);cursor:pointer;border:0;border-radius:7px;font-weight:800}.flag-row button:disabled{opacity:.55;cursor:wait}.result{border-radius:7px;margin:12px 0 0;padding:11px 13px}.result p{margin:0}.solution-link{color:inherit;margin-top:10px;font-weight:800;display:inline-block}.success{color:#baffd5;background:#123523}.failure{color:#ffd0c9;background:#3a1d1a}.detail-card{max-width:800px}.detail-card section{margin-top:34px}.detail-card section h2{color:var(--muted);font-size:1rem}.detail-card section a{color:var(--accent);overflow-wrap:anywhere}.hint-section>p{margin-bottom:18px}.hint-list{counter-reset:hint;gap:10px;padding:0;list-style:none;display:grid}.hint-list li{counter-increment:hint}.hint-list details{border:1px solid var(--line);background:#0b1512;border-radius:8px}.hint-list summary{cursor:pointer;padding:14px 16px;font-weight:750}.hint-list details p{margin:0;padding:0 16px 16px}.hint-list code,.solution-article code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.hint-list code{color:#baffd5;margin-inline:.25em}.solution-unlocked{background:#10251b;border:1px solid #39624f;border-radius:8px;margin-top:22px;padding:18px}.solution-unlocked p{margin:0 0 14px}.solution-article{max-width:880px;margin-inline:auto}.solution-nav{color:var(--muted);align-items:center;gap:10px;margin-bottom:46px;font-size:.9rem;display:flex}.solution-nav a{color:var(--accent)}.solution-header{border-bottom:1px solid var(--line);padding-bottom:48px}.solution-header h1{max-width:760px;font-size:clamp(2.2rem,7vw,4.2rem)}.solution-article>section{border-bottom:1px solid var(--line);padding:46px 0}.solution-article section h2{letter-spacing:-.025em;margin:0 0 20px;font-size:clamp(1.5rem,4vw,2rem)}.solution-article section h3{margin:26px 0 8px;font-size:1.08rem}.solution-article section p,.solution-article section li{color:var(--muted);line-height:1.85}.solution-article section code:not(pre code){color:#c8fadd;overflow-wrap:anywhere;background:#0b1612;border:1px solid #29443a;border-radius:4px;padding:.12em .38em}.solution-article pre{color:#d9f7e5;white-space:pre-wrap;overflow-wrap:anywhere;background:#06100c;border:1px solid #29443a;border-radius:9px;margin:22px 0;padding:20px;font-size:.9rem;line-height:1.7;overflow-x:auto}.callout{border-left:3px solid var(--accent);background:#10251b;border-radius:0 8px 8px 0;margin-top:24px;padding:18px 20px}.callout strong{color:var(--accent)}.callout p{margin:6px 0 0}.warning-callout{background:#2c2415;border-left-color:#f0bd65}.warning-callout strong{color:#ffd58b}.explanation-steps{gap:10px;padding-left:26px;display:grid}.explanation-steps>li{padding-left:8px}.explanation-steps h3{color:var(--text)}.source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.source-grid>div{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:20px}.source-grid h3{margin-top:0!important}.source-grid p{margin-bottom:0}.defense-list{gap:10px;padding-left:24px;display:grid}.solution-summary{border-bottom:0!important}.solution-summary .button{margin-top:14px}@media (max-width:640px){main{padding:42px 0}.hero{padding-top:28px}.home-grid{grid-template-columns:1fr}.home-grid article,.challenge-card,.detail-card{padding:22px}.flag-row{flex-direction:column}.flag-row button{min-height:44px}.solution-nav{margin-bottom:32px}.solution-article>section{padding:36px 0}.source-grid{grid-template-columns:1fr}.solution-article pre{padding:16px;font-size:.8rem}}
