:root{--bg:#0b0c18;--surface:#15172a;--surface-2:#1d2038;--border:#2a2d4a;--text:#ecebf4;--muted:#9b9cb5;--accent:#ffc857;--open:#6ee7a8;--closed:#f58b8b;--radius:10px;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}a:hover{text-decoration-thickness:2px}[hidden]{display:none!important}main{max-width:1280px;margin:0 auto;padding:0 16px}.site-header{max-width:1280px;margin:0 auto;padding:20px 16px 12px}.brand{letter-spacing:-.02em;color:var(--text);font-size:1.5rem;font-weight:800;text-decoration:none}.brand span{color:var(--accent)}.site-footer{border-top:1px solid var(--border);max-width:1280px;color:var(--muted);margin:48px auto 0;padding:24px 16px 40px;font-size:.875rem}.site-footer p{margin:4px 0}.filters{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;padding:16px;display:grid}.filters label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);flex-direction:column;gap:4px;font-size:.75rem;font-weight:600;display:flex}.filters .search{grid-column:span 2}@media (width<=400px){.filters .search{grid-column:auto}}.filters select,.filters input{font:inherit;text-transform:none;letter-spacing:normal;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:6px;min-height:42px;padding:8px 10px;font-size:1rem}.filters select:disabled{opacity:.4}.field{flex-direction:column;gap:4px;display:flex}.field-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.75rem;font-weight:600}.near-btn{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:6px;min-height:42px;padding:8px 10px;font-weight:600}.near-btn:hover{border-color:var(--accent)}.near-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--bg)}.near-btn:disabled{opacity:.6;cursor:progress}.geo-msg{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface);color:var(--text);border-radius:6px;margin:12px 0 0;padding:10px 14px;font-size:.9rem}.filters :focus-visible{outline:2px solid var(--accent);outline-offset:1px}.results-bar{justify-content:space-between;align-items:center;gap:12px;margin:16px 0 8px;display:flex}.count{color:var(--muted);margin:0}.view-toggle,.more-btn{display:none}.explorer{grid-template:"list map""empty map"1fr/minmax(0,1fr) minmax(0,1.3fr);align-items:start;gap:16px;display:grid}.list{grid-area:list;gap:10px;margin:0;padding:0;list-style:none;display:grid}.empty{color:var(--muted);grid-area:empty;margin:0}.map{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);grid-area:map;height:calc(100vh - 32px);min-height:360px;position:sticky;top:16px}@media (width<=800px){.explorer{grid-template:"map""list""empty"/1fr}.map{height:45vh;min-height:280px;position:relative;top:0}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.card h2{margin:0 0 2px;font-size:1.1rem}.card{position:relative}.card h2 a{color:var(--text);text-decoration:none}.card-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.card:has(.card-link:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.card-link:focus-visible{outline:none}.locate{z-index:1;min-width:64px;min-height:40px;position:relative}.card h2 a:hover{color:var(--accent)}.meta{color:var(--muted);margin:0;font-size:.9rem}.area:before{content:" — "}.card-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.status{color:var(--open);margin:0;font-size:.9rem;font-weight:600}.status.closed{color:var(--closed)}.distance{color:var(--muted);font-weight:500}.distance:not(:empty):before{content:" · "}.status.big{margin:8px 0 0;font-size:1.05rem}.locate{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:4px 12px;font-size:.85rem}.locate:hover{border-color:var(--accent)}.place h1{letter-spacing:-.02em;margin:4px 0;font-size:clamp(1.6rem,5vw,2.4rem);line-height:1.15}.place h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:28px 0 8px;font-size:1rem}.back{margin:8px 0}.place-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:24px;display:grid}.map-small{grid-area:auto;height:380px;margin-top:28px;position:relative;top:0}@media (width<=800px){.place-grid{grid-template-columns:1fr}.map-small{height:300px;margin-top:0}}.hours{border-collapse:collapse;width:100%;max-width:420px}.hours th,.hours td{text-align:left;border-bottom:1px solid var(--border);padding:6px 12px 6px 0;font-weight:400}.hours th{color:var(--muted);width:8.5em}.hours tr.today th,.hours tr.today td{color:var(--accent);font-weight:600}.verified,.notes{color:var(--muted);font-size:.9rem}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--surface-2);color:var(--text)}.leaflet-popup-content a{color:var(--accent)}.leaflet-container{font:inherit;background:var(--surface);font-size:.9rem}.leaflet-control-attribution{color:var(--muted);background:#0b0c18cc!important}.leaflet-control-attribution a{color:var(--muted)}.dark-tiles{filter:invert()hue-rotate(180deg)brightness(.85)contrast(.9)saturate(.6)}.actions{flex-wrap:wrap;gap:8px;margin:16px 0 0;display:flex}.btn{border:1px solid var(--border);background:var(--surface-2);min-height:44px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;padding:0 18px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}@media (width<=800px){.site-header{padding:14px 16px 10px}.brand{font-size:1.3rem}.filters{grid-template-columns:1fr 1fr;gap:10px;padding:12px}.filters .search{grid-column:1/-1}.filters .extra{display:none}.filters.expanded .extra{display:flex}.near-field .field-label{display:none}.near-field{justify-content:flex-end}.more-btn{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-weight:600;display:flex}.more-btn[aria-expanded=true]{border-color:var(--accent)}.badge{background:var(--accent);color:var(--bg);border-radius:999px;min-width:20px;height:20px;padding:0 6px;font-size:.75rem;line-height:20px}.results-bar{z-index:500;background:var(--bg);border-bottom:1px solid var(--border);margin:0 -16px;padding:10px 16px;position:sticky;top:0}.view-toggle{border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.view-toggle button{font:inherit;color:var(--muted);background:var(--surface);cursor:pointer;border:0;min-height:40px;padding:0 18px;font-weight:600}.view-toggle button[aria-pressed=true]{background:var(--accent);color:var(--bg)}.explorer{grid-template-areas:none;margin-top:12px}.explorer>*{grid-area:auto}.explorer[data-view=list] .map,.explorer[data-view=map] .list,.explorer[data-view=map] .empty{display:none}.map:not(.map-small){height:calc(100dvh - 90px);min-height:360px}.site-footer{margin-top:32px}}.leaflet-touch .leaflet-bar a{width:40px;height:40px;line-height:40px}
