:root{--bg:#fbfbf7;--panel:#f2f2ec;--panel2:#e9e9e2;--ink:#11110f;--muted:#66665e;--line:#ccccc3;--line-strong:#8e8e85;--accent:#8a1f1f;--yes:#2e6b34;--wait:#9a6a12;--unk:#b9b9af;--mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;--sans:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--pad:clamp(16px,3vw,32px)}
html{color-scheme:light}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);background:linear-gradient(rgba(17,17,15,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,15,.018) 1px,transparent 1px),var(--bg);background-size:36px 36px;font:16px/1.5 var(--sans)}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{text-decoration-style:double}
::selection{background:var(--ink);color:var(--bg)}
.shell{width:min(100%,1080px);margin:0 auto;padding-inline:var(--pad)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.top{background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.bar{min-height:56px;display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:.82rem}
.brand{text-decoration:none;letter-spacing:.035em;font-size:1rem}.crumb{color:var(--muted)}
.nav{margin-left:auto;display:flex;gap:18px}.nav a{color:var(--muted);text-decoration:none}.nav a:hover{color:var(--ink)}.nav a::before{content:"/";color:var(--line-strong);margin-right:2px}
.statusbar{border-bottom:1px solid var(--line);font-family:var(--mono);color:var(--muted);font-size:.7rem;letter-spacing:.04em}
.statusbar .shell{min-height:32px;display:flex;align-items:center;gap:12px;white-space:nowrap;overflow-x:auto;scrollbar-width:none}
.statusbar span+span::before{content:"| ";color:var(--line-strong)}.live::before{content:"● ";color:var(--accent);font-size:.75em}
.intro{padding:40px 0 22px}
.kicker{margin:0 0 10px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.7rem}
h1{margin:0;font-size:clamp(2.2rem,5.4vw,3.6rem);line-height:.95;letter-spacing:-.05em;font-weight:720}.accent{color:var(--accent)}
.lead{margin:12px 0 0;color:var(--muted);max-width:640px}
.tools{position:sticky;top:57px;z-index:5;background:var(--bg);border-block:1px solid var(--line);padding:10px 0;margin-bottom:6px}
.row1{display:flex;gap:8px;align-items:center}
.search{flex:1;min-width:0;font:inherit;font-size:.95rem;padding:8px 10px;border:1px solid var(--line-strong);background:#fff;color:var(--ink);border-radius:0}
.search:focus{outline:2px solid var(--ink);outline-offset:-1px}
.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-top:8px}.chips::-webkit-scrollbar{display:none}
.chip,.more-btn{font-family:var(--mono);font-size:.74rem;white-space:nowrap;padding:5px 9px;border:1px solid var(--line-strong);background:transparent;color:var(--ink);cursor:pointer;border-radius:0}
.chip:hover,.more-btn:hover{border-color:var(--ink)}
.chip[aria-pressed=true],.more-btn[aria-expanded=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.more-btn{padding:8px 11px}
.panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 22px;padding-top:12px}
.panel[hidden]{display:none}
.grp h3{margin:0 0 6px;font:500 .68rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);display:flex;gap:8px}
.grp h3 small{text-transform:none;letter-spacing:0;color:var(--line-strong)}
.grp .chips{flex-wrap:wrap;padding:0}
.opts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 18px;font:.78rem var(--mono);color:var(--muted)}
.opts label{display:flex;gap:6px;align-items:center;cursor:pointer}.opts input{accent-color:var(--ink)}
.reset{margin-left:auto;font:inherit;background:none;border:0;padding:0;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:.2em}
.head{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between;align-items:center;padding:10px 0;font:.72rem var(--mono);color:var(--muted)}
.legend{display:flex;gap:4px 10px;flex-wrap:wrap;align-items:center}
.list{border-top:1px solid var(--ink)}
.row{display:grid;grid-template-columns:minmax(170px,230px) 1fr;gap:4px 24px;padding:12px 0;border-bottom:1px solid var(--line)}
.row h2{margin:0;font-size:1rem;font-weight:650;letter-spacing:-.01em;line-height:1.3}
.meta{margin:2px 0 0;font:.7rem var(--mono);color:var(--muted);letter-spacing:.03em}
.site{color:var(--muted)}.site:hover{color:var(--accent)}
.flag{display:inline-block;margin-left:6px;font:500 .62rem var(--mono);text-transform:uppercase;letter-spacing:.06em;padding:2px 5px;border:1px solid var(--accent);color:var(--accent);vertical-align:2px}
.svcs{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 16px;align-content:start}
.svc{font-size:.88rem;display:inline-flex;align-items:baseline;gap:6px}
.acc{font:.7rem var(--mono);color:var(--muted)}
.dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--unk);flex:0 0 auto;transform:translateY(-1px)}
.dot.yes{background:var(--yes)}.dot.waitlist{background:var(--wait)}.dot.no{background:var(--accent)}
.svc .dot{align-self:center}
.extra{grid-column:2;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font:.68rem var(--mono);color:var(--muted)}
.tag{text-transform:uppercase;letter-spacing:.05em;padding:2px 6px;border:1px solid var(--line-strong);color:var(--ink)}
.toggle{font:.72rem var(--mono);background:none;border:0;padding:0;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:.2em}.toggle:hover{color:var(--ink)}
.empty{padding:28px 0;color:var(--muted);font-family:var(--mono);font-size:.8rem}
.foot{margin-top:36px;padding:22px 0 34px;border-top:1px solid var(--line);font:.72rem/1.6 var(--mono);color:var(--muted)}.foot p{margin:0 0 6px}
@media (max-width:640px){.row{grid-template-columns:1fr}.extra{grid-column:1}.tools{top:57px}.nav{display:none}}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
