:root{--accent:#1a3a2a;--accent-light:#eef4f0;--text:#1a1a1a;--muted:#5b5b5b;--border:#e2e2e2;--background:#fbfaf7;--card-background:#fff;--shadow:0 1px 2px #1a3a2a0f, 0 4px 12px #1a3a2a0d;--shadow-hover:0 2px 4px #1a3a2a14, 0 8px 20px #1a3a2a1a}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body{max-width:100%;overflow-x:hidden}body{background:var(--background);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5}main{max-width:640px;margin:0 auto;padding:24px 16px 56px}h1,h2,p,a{overflow-wrap:break-word}main>a:first-child{min-height:44px;color:var(--accent);padding:10px 0;font-weight:600;line-height:24px;text-decoration:none;display:inline-block}main>a:first-child:hover{text-decoration:underline}.event-contact a{padding:4px 2px}label{color:var(--muted);margin:14px 0 4px;font-size:.9rem;font-weight:600;display:block}label:first-of-type{margin-top:0}select,input[type=text]{border:1px solid var(--border);background:var(--card-background);width:100%;min-height:44px;color:var(--text);border-radius:8px;padding:10px 14px;font-family:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s;display:block}select:hover,input[type=text]:hover{border-color:var(--accent)}select:focus-visible,input[type=text]:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);outline:none}input[type=text]::placeholder{color:#9a9a9a}@media (min-width:640px){.filters{background:var(--card-background);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:14px 18px;display:flex;margin-bottom:28px!important}label{margin:0 8px 0 16px;display:inline}label:first-of-type{margin-left:0}select,input[type=text]{width:auto;display:inline-block}}h1{letter-spacing:-.02em;color:var(--accent);margin:0 0 6px;font-size:1.75rem;font-weight:800}.subtitle{color:var(--muted);margin:0 0 28px;font-size:1.05rem}.empty-state{color:var(--muted);border:1px dashed var(--border);text-align:center;background:var(--card-background);border-radius:12px;padding:32px 24px}.event-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.event-card{background:var(--card-background);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;padding:18px 20px;transition:box-shadow .18s,transform .18s,border-color .18s}.event-card:hover{box-shadow:var(--shadow-hover);border-color:var(--accent);transform:translateY(-1px)}.event-name{margin:0 0 10px;font-size:1.15rem;font-weight:700}.event-name a{color:var(--text);text-decoration:none}.event-name a:hover{color:var(--accent);text-decoration:underline}.event-dates,.event-location,.event-contact,.event-checked{margin:4px 0}.event-dates{color:var(--accent);background:var(--accent-light);border-radius:999px;margin-bottom:6px;padding:3px 10px;font-size:.85rem;font-weight:600;display:inline-block}.event-dates-typical{color:var(--muted);border:1px dashed var(--border);background:0 0}.event-location{color:var(--muted);font-size:.95rem}.result-count{color:var(--muted);margin:0 0 10px;font-size:.9rem}.dates-note{color:var(--muted);margin-top:28px;font-size:.85rem}.event-contact a{color:var(--accent);font-weight:500;text-decoration:underline}.event-contact a:hover{color:#0f251a}.event-contact a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.event-contact a:active{color:#0a1811}.event-checked{color:#9a9a9a;font-size:.8rem!important}.before-you-go{background:var(--card-background);border:1px solid var(--border);border-left:5px solid #e9631a;border-radius:12px;margin-top:24px;padding:14px 18px}.before-you-go h2{margin:0 0 8px;font-size:1rem}.before-you-go ul{margin:0;padding-left:18px}.before-you-go li{margin:6px 0}.before-you-go a{color:var(--accent);font-weight:500}.site-bar{justify-content:space-between;max-width:640px;margin:0 auto;padding:12px 16px 0;font-size:.9rem;display:flex}.site-bar a,.site-footer a{color:var(--accent);padding:8px 0;font-weight:600;text-decoration:none}.site-bar a:hover,.site-footer a:hover{text-decoration:underline}.site-footer{max-width:640px;color:var(--muted);text-align:center;margin:0 auto;padding:0 16px 40px;font-size:.9rem}@media (min-width:640px){main{padding-top:32px}h1{font-size:2.25rem}}
