:root { color-scheme: light; --bg:#f7f4ee; --card:#fff; --ink:#1c1a17; --muted:#6b6258; --accent:#d38b00; --line:#e2d8ca; }
*{box-sizing:border-box} body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}
.site-header{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:1.25rem clamp(1rem,3vw,2rem);border-bottom:1px solid var(--line);background:#fff8ed;position:sticky;top:0;z-index:5} h1{margin:0;font-size:clamp(1.5rem,3vw,2.25rem)} #updated{margin:.25rem 0 0;color:var(--muted)}
.header-actions{display:flex;gap:.5rem;flex-wrap:wrap} button{border:0;border-radius:999px;padding:.7rem 1rem;font-weight:700;cursor:pointer;background:#24211d;color:white} button.secondary{background:#e8dfd1;color:#24211d}.going-btn{background:#f0ede6;color:#24211d}.event-card.going .going-btn{background:var(--accent);color:#1b1300}
.filters{display:flex;gap:.75rem;flex-wrap:wrap;padding:1rem clamp(1rem,3vw,2rem);align-items:center} input,select{padding:.7rem .85rem;border:1px solid var(--line);border-radius:.8rem;background:white;min-width:220px}.checkbox{display:flex;align-items:center;gap:.4rem;color:var(--muted)}
.events{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;padding:0 clamp(1rem,3vw,2rem) 2rem}.date-group{grid-column:1/-1;margin:1.1rem 0 .1rem;font-size:1.15rem;color:#3a322a}.event-card{background:var(--card);border:1px solid var(--line);border-radius:1rem;padding:1rem;box-shadow:0 2px 12px rgba(0,0,0,.04);display:flex;flex-direction:column;gap:.6rem}.event-card.going{outline:3px solid var(--accent);background:#fff8dc}.event-title{font-size:1.05rem;font-weight:800;line-height:1.25}.meta{color:var(--muted);line-height:1.35}.event-actions{display:flex;gap:.5rem;margin-top:auto;align-items:center}.event-actions a{color:#7a4d00;font-weight:700;text-decoration:none}.empty{grid-column:1/-1;padding:2rem;background:white;border-radius:1rem;color:var(--muted)}
@media (max-width:700px){.site-header{position:static;align-items:flex-start;flex-direction:column}.header-actions,.filters{width:100%} input,select{width:100%;min-width:0}}
