:root{color-scheme:dark;--bg:#101820;--panel:#1a242d;--line:#35414a;--text:#f6f5ef;--muted:#b5bfc6;--accent:#e4fc86;--warm:#efd1b3}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:12px;min-height:44px;padding:10px 16px}button:disabled{opacity:.6;cursor:wait}input,select{color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;width:100%;padding:12px;min-height:48px}h1,h2,h3,p{margin:0}h1{font-size:clamp(34px,4.8vw,63px);line-height:1.06;letter-spacing:-.055em;font-weight:760}h1 em{font-style:normal;color:var(--accent)}h2{font-size:30px;letter-spacing:-.03em}h3{font-size:23px;line-height:1.2;letter-spacing:-.025em}.frame{max-width:1160px;margin:auto;padding:0 32px}.top{display:flex;align-items:center;justify-content:space-between;padding:26px 0;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;line-height:1.15;font-size:16px}.brandmark{font-size:27px;font-weight:900;background:var(--accent);color:var(--bg);height:48px;width:48px;display:grid;place-content:center;border-radius:13px;letter-spacing:-5px;padding-right:5px;position:relative}.brandmark span{position:absolute;font-size:14px;bottom:4px;right:10px;letter-spacing:0}.quiet{background:transparent}.hero{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;padding:50px 0 40px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.18em;color:var(--accent);margin-bottom:12px}.intro{color:var(--muted);margin-top:20px}.city{flex:none;display:grid;grid-template-columns:12px 1fr;gap:0 8px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px;font-size:14px}.city strong{font-size:23px}.city>span:last-child{grid-column:2;font-size:11px;color:var(--muted)}.dot{width:8px;height:8px;border-radius:50%;background:var(--accent);margin-top:13px}.tabs{display:flex;border-bottom:1px solid var(--line);gap:30px}.tabs button{border:0;border-radius:0;padding:16px 0;background:none;color:var(--muted);border-bottom:3px solid transparent}.tabs button[aria-current]{color:var(--accent);border-color:var(--accent)}#fav-count{background:var(--line);color:var(--text);border-radius:20px;padding:2px 7px;font-size:11px}.heading{display:flex;align-items:center;justify-content:space-between;padding:32px 0 22px}.heading .eyebrow{color:var(--muted);margin-bottom:5px}.filters{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:14px;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:16px}.filters label{font-size:12px;color:var(--muted);display:grid;gap:7px}.status{font-size:13px;color:var(--muted);margin:20px 0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.show{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--panel);display:flex;flex-direction:column;position:relative}.poster{height:300px;background:#080e12;display:flex;align-items:center;justify-content:center}.poster img{width:100%;height:100%;object-fit:contain}.poster.empty-poster{color:var(--muted);padding:28px;text-align:center}.card-body{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1}.tag{color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.artist,.address{font-size:13px;color:var(--muted)}.sessions{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:0}.session{border-radius:8px;background:#29333b;padding:6px 9px;font-size:12px}.session.past{text-decoration:line-through;opacity:.7}.session.sold{color:var(--warm)}.card-actions{margin-top:auto;display:flex;gap:10px;align-items:center;padding-top:7px;flex-wrap:wrap}.primary{background:var(--accent);border:1px solid var(--accent);color:#17200e;font-weight:750;border-radius:10px;padding:11px 18px;display:inline-flex;align-items:center;justify-content:center;min-height:44px;text-decoration:none}.primary:hover{text-decoration:none;background:#efffaf}.heart{position:absolute;right:12px;top:12px;background:#101820ed;border:1px solid #79828a;border-radius:50%;padding:0;width:44px;height:44px;font-size:25px}.heart[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.text-btn{border:0;background:none;padding:0;color:var(--accent);text-decoration:underline;font-size:13px;border-radius:0;min-height:44px}.restaurant{background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden}.rest-head{background:var(--warm);color:#26322e;padding:26px;min-height:138px;display:flex;justify-content:space-between;align-items:flex-end;gap:14px}.rest-head .tag{color:#3e5047;margin-bottom:12px}.rest-head span.symbol{font-size:46px;font-weight:200}.restaurant .card-body{gap:14px}.restaurant .reason{font-size:15px}.hours{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}.links{display:flex;gap:18px;flex-wrap:wrap;font-size:13px}.links a{color:var(--accent);min-height:36px;display:inline-flex;align-items:center}.verified{font-size:10px;color:var(--muted)}.notice,.empty{border:1px solid var(--line);background:var(--panel);padding:22px;border-radius:16px}.empty{grid-column:1/-1}.empty p{color:var(--muted);margin:12px 0}.notice{font-size:13px;margin:12px 0;background:#30352a;color:var(--accent)}.sources{margin-top:38px;padding-top:24px;border-top:1px solid var(--line)}.sources h3{font-size:19px}.sources p{font-size:13px;color:var(--muted);margin:10px 0}.sources a{display:inline-block;color:var(--accent);font-size:13px;margin-right:24px;padding:12px 0}#source-states p{font-size:11px;margin:6px 0}.tip{display:flex;gap:18px;margin:40px 0;padding:24px;border-radius:18px;background:#26302b}.tip>span{font-size:30px;color:var(--accent)}.tip p{color:var(--muted);font-size:13px;margin-top:6px}footer{border-top:1px solid var(--line);padding:28px 0 calc(26px + env(safe-area-inset-bottom));color:var(--muted);font-size:11px}footer p{margin:10px 0;max-width:740px}footer a,footer button{display:inline-block;margin-right:22px;font-size:12px}.brand-small{font-size:16px;color:var(--text);font-weight:750}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:22px;width:min(530px,calc(100% - 32px));max-height:85dvh;padding:28px}dialog::backdrop{background:#000b}dialog h2{font-size:27px;margin:12px 35px 20px 0}dialog p{margin:12px 0;color:var(--muted)}dialog li{margin:12px 0}dialog .close{position:absolute;right:12px;top:12px;font-size:24px;padding:0;width:44px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;background:var(--accent);color:black;z-index:10;padding:10px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);padding:12px 22px;border:1px solid var(--line);border-radius:12px;background:var(--accent);color:#17200e;z-index:10;max-width:90vw;font-size:14px}.storage-warning{color:var(--warm)}[hidden]{display:none!important}
@media(max-width:760px){.frame{padding:0 20px}.top{padding:18px 0}.hero{display:block;padding:32px 0 24px}.hero h1{font-size:39px}.city{display:flex;align-items:center;gap:8px;margin-top:24px;padding:12px 14px;border-radius:12px}.city strong{font-size:17px}.city .dot{margin:0}.city>span:last-child{margin-left:auto;font-size:10px}.intro{font-size:14px}.tabs{gap:0;justify-content:space-between}.tabs button{font-size:14px}.heading{padding:24px 0 18px}.heading h2{font-size:26px}.heading .eyebrow{font-size:10px}.heading button{font-size:12px;padding:8px 10px}.filters{grid-template-columns:1fr 1fr;padding:14px;gap:12px}#search-label{grid-column:1/-1}.grid{grid-template-columns:1fr}.poster{height:330px}.card-body{padding:20px}.sources{margin-top:28px}.rest-head{min-height:130px}.tip{padding:20px}.status{min-height:20px}main:focus{outline:none}}
@media(min-width:1000px){.show{display:grid;grid-template-columns:42% 58%;min-height:360px}.poster{height:100%;min-height:360px}.show h3{font-size:22px}.card-body{padding:20px}.show .heart{left:12px;right:auto}.card-actions{align-items:stretch;flex-direction:column}.card-actions .text-btn{text-align:left}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .15s,color .15s}.show,.restaurant{animation:appear .25s ease-out}@keyframes appear{from{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:none}}}

.consent{position:fixed;z-index:20;left:20px;right:20px;bottom:20px;margin:auto;max-width:760px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;background:#1a242df5;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 40px #0008}.consent p{font-size:13px;color:var(--muted)}.consent strong{color:var(--text);font-size:15px}.consent>div{display:flex;gap:8px;flex:none}@media(max-width:620px){.consent{align-items:stretch;flex-direction:column;bottom:10px;left:10px;right:10px}.consent>div{justify-content:flex-end}}

.city{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:230px}.city label{font-size:12px;color:var(--muted)}.city select{font-size:18px;font-weight:700;color:var(--accent)}.city>span:last-child{margin:0;font-size:11px}.hero>div:first-child{min-width:0}@media(max-width:760px){.city{width:100%;min-width:0}.city select{font-size:18px}}
