*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1d2a1f;background:#f6f8f4;line-height:1.5}
a{color:#1f6f3a}header{background:#123d24;color:#fff;padding:14px 20px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
header a{color:#fff;text-decoration:none}.logo{font-weight:800;font-size:1.3rem}.logo span{color:#f4c430}nav a{margin-left:14px;font-size:.95rem}
.hero{background:linear-gradient(135deg,#1f6f3a,#123d24);color:#fff;padding:36px 20px 28px;text-align:center}.hero h1{margin:0 0 8px;font-size:clamp(1.5rem,4vw,2.3rem)}
main{max-width:1100px;margin:0 auto;padding:20px}.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;background:#fff;padding:14px;border-radius:12px;box-shadow:0 1px 4px #0001;margin:-40px auto 20px;max-width:1060px;position:relative}
input,select,button{font:inherit;padding:10px;border:1px solid #c9d3c6;border-radius:8px;width:100%}button{background:#f4c430;border:0;font-weight:700;cursor:pointer}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 4px #0001;display:flex;flex-direction:column;gap:6px}
.card h3{margin:0;font-size:1.05rem}.org{color:#555;font-size:.9rem}.meta{display:flex;flex-wrap:wrap;gap:6px}.tag{font-size:.75rem;padding:2px 8px;border-radius:99px;background:#e6efe3}
.tag.teacher{background:#dbeafe}.tag.chapter{background:#fde68a}.tag.student{background:#e9d5ff}.dl{font-weight:700}.soon{color:#b42318}.note{font-size:.8rem;color:#666}
section{margin:28px 0}h2{border-bottom:3px solid #f4c430;display:inline-block}.signup{background:#123d24;color:#fff;border-radius:12px;padding:20px;display:grid;gap:10px}
.signup form{display:flex;gap:8px;flex-wrap:wrap}.signup input{flex:1;min-width:200px}.signup button{width:auto}.states a{display:inline-block;margin:4px 8px 4px 0}
footer{text-align:center;padding:24px;color:#666;font-size:.85rem}#count{color:#555;margin:8px 0}
@media(max-width:700px){.filters{grid-template-columns:1fr;margin-top:-30px}nav a{margin:0 10px 0 0}}