:root{color-scheme:dark;--bg:#101512;--panel:#1a231d;--line:#36463b;--text:#f5f7ee;--muted:#c2cfc3;--accent:#d3f780}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:1rem/1.65 system-ui,sans-serif}
header{border-bottom:1px solid var(--line)}
.bar,main,footer{width:min(1120px,calc(100% - 2rem));margin:auto}
.bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--text);font-weight:850;line-height:1.2}
.brand strong,em,.eyebrow,a{color:var(--accent)}
.brand small{display:block;font-size:.63rem;letter-spacing:.17em;color:var(--muted);margin-top:.25rem}
.mark{display:grid;place-items:center;width:2.6rem;height:2.6rem;background:var(--accent);color:var(--bg);border-radius:.35rem}
nav{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
nav span{overflow-wrap:anywhere}
main{min-height:76vh;padding:2rem 0 4rem}
.entry{display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:center;min-height:64vh}
.pitch p,.hero p,.panel p,.card p{color:var(--muted)}
h1,h2,h3{line-height:1.1;margin:0 0 1rem}
h1{font-size:clamp(2.5rem,7vw,5.5rem);letter-spacing:-.065em}
h2{font-size:1.65rem}
h3{font-size:1.3rem}
.eyebrow,.pitch .eyebrow,.hero .eyebrow{color:var(--accent);font-weight:800;letter-spacing:.14em;font-size:.76rem}
.panel,.card,.sheet{background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:clamp(1rem,4vw,2rem)}
label{display:block;font-weight:700;margin-top:1rem}
input,textarea{width:100%;margin:.4rem 0;background:var(--bg);border:1px solid #657b68;color:var(--text);border-radius:.5rem;padding:.75rem;font:inherit}
textarea{resize:vertical}
button,.primary{font:inherit;cursor:pointer}
.primary{display:inline-block;background:var(--accent);color:#151e10;text-decoration:none;border:0;border-radius:.5rem;padding:.65rem 1rem;font-weight:850;margin:.8rem 0}
.link{color:var(--accent);background:none;border:0;text-decoration:underline;padding:0}
.error{color:#ffb5aa!important}
.hero{padding:clamp(1.5rem,5vw,3.75rem);border:1px solid var(--line);border-radius:1rem;background:linear-gradient(120deg,#1f2d22,#2d4027)}
.progress{display:grid;gap:.55rem;margin:2rem 0}
progress{width:100%;accent-color:var(--accent);height:1rem}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.card{text-decoration:none;color:var(--text);display:flex;flex-direction:column}
.card:hover{border-color:var(--accent)}
.card h3{margin:.65rem 0 0}
.card p{margin:.35rem 0 1rem}
.status{margin-top:auto;color:var(--accent);font-size:.85rem;font-weight:750}
.resources{margin-top:2rem}
.reader{max-width:780px;margin:auto}
.back{display:inline-block;margin-bottom:1rem}
.sheet,.activity{margin-top:1rem}
.sheet p{margin:.2rem 0 1.1rem;overflow-wrap:anywhere}
.check{display:flex;gap:.6rem;align-items:center}
.check input{width:1.1rem;height:1.1rem;accent-color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
footer{color:var(--muted);border-top:1px solid var(--line);padding:1rem 0;font-size:.85rem}
@media(max-width:760px){.entry{grid-template-columns:1fr;gap:1rem}.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:465px){.grid{grid-template-columns:1fr}.bar{align-items:flex-start}nav{justify-content:flex-end;font-size:.8rem}}
