:root{--ink:#17211f;--muted:#5f6f6a;--line:#dde4e1;--card:#ffffff;--bg:#f5f7f6;--accent:#0f6b5f;--warn:#c2603f;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--ink:#e6ecea;--muted:#9aaba6;--line:#2a3634;--card:#161e1d;--bg:#0e1413;--accent:#58c9b4;--warn:#e08a68}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100%;overflow-x:hidden;background:var(--bg);color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;padding:0 16px calc(32px + env(safe-area-inset-bottom, 0px))}.topbar,footer,main{max-width:680px;margin-inline:auto}.topbar{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;padding:20px 0 16px;border-bottom:1px solid var(--line)}.brand{font-size:1.2rem;font-weight:700;color:var(--ink);text-decoration:none}.brand .dot{color:var(--muted)}.brand .community{font-weight:600;color:var(--accent)}.actions{display:flex;align-items:center;gap:14px}.addlink{color:var(--accent);font-weight:600;text-decoration:none;font-size:.9rem}.whoami-name{font-size:.82rem;color:var(--muted)}dialog.gate p.small{margin:0 0 6px;line-height:1.5}dialog.gate menu{justify-content:stretch}dialog.gate menu button{width:100%}input:not([type]),input[inputmode=tel],input[type=date],input[type=text],select,textarea{padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);font:inherit;width:100%}button{font:inherit;cursor:pointer}.gate button,button.primary,form.addvendor button{background:var(--accent);color:#fff;border:0;border-radius:9px;padding:10px 16px;font-weight:600}button.ghost{background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:9px;padding:10px 16px}button:hover{filter:brightness(1.06)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.intro{color:var(--muted);margin:20px 0 12px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.chip{padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);text-decoration:none;font-size:.86rem}.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.vendors{list-style:none;padding:0;margin:0;display:grid;grid-gap:10px;gap:10px}.vendors li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:6px 14px;gap:6px 14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.row-main{grid-gap:4px;gap:4px}.row-main,.vendor{display:grid;min-width:0}.vendor{text-decoration:none;color:var(--ink);grid-gap:3px;gap:3px}.vname{font-weight:650;font-size:1.02rem}.vmeta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.8rem;color:var(--muted)}.cat{text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.tag{background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:1px 6px}.score{justify-self:end;display:inline-flex;gap:10px;align-items:center;font-size:.86rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.score .up{color:var(--accent);font-weight:650}.score .down{color:var(--warn)}.score.big{font-size:1.05rem}.call{color:var(--accent);font-weight:600;text-decoration:none;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.95rem}.call.big{font-size:1.3rem;display:inline-block;margin:8px 0}.detail{padding-top:20px}.back{color:var(--muted);text-decoration:none;font-size:.86rem}.detail h1{margin:12px 0 6px;font-size:1.6rem;text-wrap:balance}.scorebar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 0 22px;border-bottom:1px solid var(--line);margin-bottom:22px}.muted{color:var(--muted);font-size:.86rem}.notes h2{font-size:1.1rem;margin:0 0 12px}.notes .empty{color:var(--muted)}blockquote{margin:0 0 12px;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px}blockquote.down{border-left-color:var(--warn)}blockquote p{margin:0 0 6px}cite{font-style:normal;font-size:.8rem;color:var(--muted)}dialog.sheet{border:0;border-radius:14px;padding:0;width:min(440px,calc(100vw - 32px));background:var(--card);color:var(--ink);box-shadow:0 24px 60px rgba(0,0,0,.28)}dialog.sheet::-webkit-backdrop{background:rgba(8,20,18,.5)}dialog.sheet::backdrop{background:rgba(8,20,18,.5)}dialog.sheet form{display:grid;grid-gap:10px;gap:10px;padding:20px}dialog.sheet h2{margin:0 0 4px;font-size:1.15rem}dialog.sheet .small{font-size:.8rem;color:var(--muted)}dialog.sheet menu{display:flex;justify-content:flex-end;gap:10px;margin:8px 0 0;padding:0}.thumbs{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-bottom:4px}.thumb{display:grid;justify-items:center;grid-gap:4px;gap:4px;cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:10px 6px;background:var(--bg);font-size:.78rem;text-align:center;position:relative;line-height:1.25}.thumb input{position:absolute;opacity:0;pointer-events:none}.thumb span{font-size:1.15rem}.thumb.on.up{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--bg))}.thumb.on.down{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,var(--bg))}.thumb.on.none{border-color:var(--muted);background:color-mix(in srgb,var(--muted) 12%,var(--bg))}form.addvendor{display:grid;grid-gap:14px;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}form.addvendor .field{display:grid;grid-gap:5px;gap:5px}form.addvendor .field label{font-size:.85rem;color:var(--muted)}form.addvendor .field.check{grid-auto-flow:column;justify-content:start;align-items:center;gap:8px}form.addvendor .field.check input{width:auto}form.addvendor button{justify-self:start}form.addnote{display:grid;grid-gap:8px;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:18px}form.addnote label{font-size:.85rem;color:var(--muted)}form.addnote button{justify-self:start;background:transparent;color:var(--accent);border:1px solid var(--line);border-radius:9px;padding:8px 14px;font-weight:600}.error,.notice{padding:10px 14px;border-radius:9px;margin:0 0 16px;font-size:.92rem;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--accent)}footer{color:var(--muted);font-size:.8rem;padding-top:28px}.signin{max-width:440px;margin-inline:auto;padding:56px 0 40px;display:grid;grid-gap:14px;gap:14px}.signin h1{font-size:1.9rem;margin:0}.signin h1 .dot{color:var(--muted)}.signin h1 .community{color:var(--accent)}.signin .lede{color:var(--muted);margin:0 0 8px;font-size:1.05rem}.signin h2{font-size:1.1rem;margin:0}.choices{display:grid;grid-gap:10px;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px}.choices .small{font-size:.8rem;color:var(--muted);margin-bottom:-4px}button.big{width:100%;padding:13px 16px;font-size:1rem;border-radius:10px}button.linky{background:none;border:0;text-decoration:underline;padding:4px;font-size:.85rem}.why,button.linky{color:var(--muted)}.why{font-size:.86rem;margin:4px 0 0;line-height:1.5}.why code{font-size:.78rem;overflow-wrap:anywhere}.fineprint{color:var(--muted);font-size:.8rem;text-align:center;margin:8px 0 0}.prose h2{font-size:1.05rem;margin:26px 0 8px}.prose li,.prose p{color:var(--ink)}.prose ul{padding-left:1.1rem}.prose li{margin-bottom:6px}.opt{font-weight:400;opacity:.75}.elsewhere{margin:-8px 0 20px}.invite{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px;display:grid;grid-gap:6px;gap:6px}.invite.dead{opacity:.55}.invite-url{font-size:.78rem;overflow-wrap:anywhere;background:var(--bg);padding:6px 8px;border-radius:6px;display:block}.invite .muted{margin:0}form.inline{display:inline}form.inline button{padding:0 0 0 8px}