:root{--navy:#07162f;--gold:#c6a454;--paper:#f3f5f8;--line:#d8dee7;--muted:#697586;--display:"Barlow Condensed",sans-serif;--body:"Inter",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--navy);font:14px/1.5 var(--body)}header{display:flex;align-items:center;gap:28px;padding:22px max(5vw,24px);background:#fff;border-top:3px solid var(--gold);border-bottom:1px solid var(--line)}header>a{display:flex;align-items:center;gap:11px;color:var(--navy);text-decoration:none;text-transform:uppercase;font:700 14px/1.05 var(--display);letter-spacing:.08em}header img{width:54px;height:62px;object-fit:contain}header b{color:#9b741c}header>div{flex:1}header p{margin:0;color:#a07822;text-transform:uppercase;font-size:10px;letter-spacing:.16em}h1{margin:2px 0 0;text-transform:uppercase;font:800 clamp(32px,4vw,52px)/1 var(--display)}button{border:0;background:var(--navy);color:#fff;padding:12px 17px;font-weight:700;cursor:pointer;box-shadow:4px 4px 0 var(--gold)}main{width:min(1120px,92vw);margin:32px auto 70px}.controls{display:flex;gap:14px;background:#fff;border:1px solid var(--line);padding:18px;margin-bottom:20px}.controls label{display:grid;gap:6px;min-width:240px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.controls select{padding:11px;border:1px solid var(--line);background:#fff}.date-group{margin:0 0 18px;background:#fff;border:1px solid var(--line)}.date-group h2{margin:0;padding:12px 18px;background:var(--navy);color:#fff;font:700 21px var(--display);text-transform:uppercase;letter-spacing:.04em}.item{display:grid;grid-template-columns:130px 1fr 210px;gap:18px;align-items:center;padding:15px 18px;border-top:1px solid var(--line)}.item:first-of-type{border-top:0}.tag{font-size:10px;text-transform:uppercase;color:#876412;font-weight:700;letter-spacing:.08em}.item strong{display:block;font-size:15px}.item small,.venue{color:var(--muted)}.venue{text-align:right}.event{background:#fffbef}.empty{background:#fff;border:1px solid var(--line);padding:45px;text-align:center;color:var(--muted)}#loading{text-align:center;padding:50px}@media(max-width:700px){header{align-items:flex-start;flex-wrap:wrap}header>div{order:3;flex-basis:100%}.controls{display:grid}.controls label{min-width:0}.item{grid-template-columns:1fr;gap:4px}.venue{text-align:left}}@media print{body{background:#fff}header{padding:12px 0}header button,.controls{display:none}main{width:100%;margin:18px 0}.date-group{break-inside:avoid}.date-group h2{background:#eee;color:#000}.item{padding:9px 12px}}
