:root{--ink: #17203a;--muted: #4a5568;--accent: #1f5f9e;--accent-ink: #ffffff;--bg: #f7f9fc;--card: #ffffff;--line: #d9e1ec;--confirmed: #1c6b34;--likely: #8a5a00}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}.app{max-width:720px;margin:0 auto;padding:1rem 1rem 3rem}.app-header h1{font-size:1.6rem;margin:.5rem 0 .25rem}.tagline{color:var(--muted);margin:0 0 1rem}.btn{min-height:44px;padding:0 1rem;border:0;border-radius:8px;background:var(--accent);color:var(--accent-ink);font-size:1rem;cursor:pointer}.btn-ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}.location-prompt{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem}.location-controls{display:flex;flex-direction:column;gap:.75rem}.location-controls form{display:flex;flex-direction:column;gap:.4rem}.location-controls label{font-size:.9rem;color:var(--muted)}.location-controls input{min-height:44px;padding:0 .75rem;border:1px solid var(--line);border-radius:8px;font-size:1rem;width:100%}.location-error{color:#9b2c2c;font-weight:600}.privacy-note{font-size:.8rem;color:var(--muted);margin-top:.75rem}.results{margin-top:1.25rem}.event-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.9rem}.event-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem}.event-title{font-size:1.15rem;margin:0 0 .5rem}.event-meta{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:0 0 .75rem;padding:0;font-size:.9rem;color:var(--muted)}.food-badge{font-weight:600}.food-confirmed{color:var(--confirmed)}.food-unconfirmed{color:var(--likely)}.event-action{display:flex;flex-direction:column;gap:.4rem}.primary-source-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 1.1rem;background:var(--accent);color:var(--accent-ink);text-decoration:none;font-weight:600;border-radius:8px;align-self:flex-start}.primary-source-link:focus-visible{outline:3px solid #143b63;outline-offset:2px}.source-attribution{font-size:.85rem;color:var(--muted);margin:0}.state{padding:1rem;border-radius:10px;background:var(--card);border:1px solid var(--line)}.state-stale{background:#fdf6e3;border-color:#e7d8a8}.state-error{color:#9b2c2c}@media (min-width: 600px){.location-controls{flex-direction:row;flex-wrap:wrap;align-items:end}.location-controls form{flex:1;min-width:260px}}
