@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}:root{--bg-paper:#FAF8F4;--bg-paper-hover:#F5F1E9;--bg-paper-active:#EFEAE0;--bg-card:#FFFFFF;--bg-inset:#F2EDE3;--ink-primary:#161513;--ink-secondary:#4A463F;--ink-tertiary:#837C70;--ink-disabled:#B8B0A0;--ink-on-accent:#FAF8F4;--line:#E8E2D7;--line-strong:#D6CFBF;--accent-moss:#3D5A3D;--accent-moss-hover:#314A31;--accent-moss-active:#263B26;--accent-moss-tint:#E8EFE6;--ok:#3D5A3D;--warn:#B5532A;--fail:#9B2C2C;--info:#4A463F;--font-sans:"Geist",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"Geist Mono",ui-monospace,"SF Mono",monospace;--fs-12:0.75rem;--fs-13:0.8125rem;--fs-14:0.875rem;--fs-15:0.9375rem;--fs-16:1rem;--fs-18:1.125rem;--fs-22:1.375rem;--fs-28:1.75rem;--fs-36:2.25rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.2;--lh-snug:1.35;--lh-normal:1.45;--lh-prose:1.55;--sp-0:0;--sp-1:2px;--sp-2:4px;--sp-3:8px;--sp-4:12px;--sp-5:16px;--sp-6:20px;--sp-7:24px;--sp-8:32px;--sp-9:48px;--sp-10:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-photo:4px;--radius-pill:999px;--shadow-1:0 1px 2px rgba(22,21,19,0.04),0 8px 24px -8px rgba(22,21,19,0.10);--ease:cubic-bezier(0.2,0,0,1);--ease-snap:cubic-bezier(0.2,0.8,0.2,1);--dur-fast:80ms;--dur:120ms;--dur-mid:180ms;--dur-slow:240ms;--content-max:1280px;--compare-max:1600px;--gutter-mobile:16px;--gutter-desktop:24px}.t-display{font-size:var(--fs-36);letter-spacing:-.015em}.t-display,.t-h1{font-family:var(--font-sans);font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--ink-primary)}.t-h1{font-size:var(--fs-28);letter-spacing:-.012em}.t-h2{font-size:var(--fs-22);letter-spacing:-.008em}.t-h2,.t-h3{font-family:var(--font-sans);font-weight:var(--fw-semibold);line-height:var(--lh-snug);color:var(--ink-primary)}.t-h3{font-size:var(--fs-18)}.t-body{font-size:var(--fs-15)}.t-body,.t-body-sm{font-family:var(--font-sans);font-weight:var(--fw-regular);line-height:var(--lh-normal);color:var(--ink-primary)}.t-body-sm{font-size:var(--fs-14)}.t-prose{font-family:var(--font-sans);font-weight:var(--fw-regular);font-size:var(--fs-15);line-height:var(--lh-prose);color:var(--ink-primary)}.t-label{font-weight:var(--fw-medium);font-size:var(--fs-13);color:var(--ink-secondary)}.t-caption,.t-label{font-family:var(--font-sans);line-height:var(--lh-snug)}.t-caption{font-weight:var(--fw-regular)}.t-caption,.t-micro{font-size:var(--fs-12);color:var(--ink-tertiary)}.t-micro{font-family:var(--font-sans);font-weight:var(--fw-medium);line-height:1;letter-spacing:.04em;text-transform:uppercase}.t-num{font-weight:var(--fw-medium);font-feature-settings:"tnum","ss01","tnum";font-variant-numeric:tabular-nums}.t-num,.t-num-lg{font-family:var(--font-mono);color:var(--ink-primary)}.t-num-lg{font-feature-settings:"tnum","ss01","tnum";font-variant-numeric:tabular-nums;font-size:var(--fs-22);letter-spacing:-.01em}.t-num-display,.t-num-lg{font-weight:var(--fw-semibold);line-height:1}.t-num-display{font-family:var(--font-mono);font-feature-settings:"tnum","ss01","tnum";font-variant-numeric:tabular-nums;font-size:var(--fs-36);letter-spacing:-.02em;color:var(--ink-primary)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg-paper);color:var(--ink-primary);font-family:var(--font-sans);font-size:var(--fs-15);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--accent-moss);color:var(--ink-on-accent)}:focus-visible{outline:2px solid var(--accent-moss);outline-offset:2px;border-radius:3px}a{color:inherit;text-decoration:none}.btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-sans);font-weight:var(--fw-medium);border:1px solid transparent;cursor:pointer;border-radius:var(--radius-md);white-space:nowrap;transition:background var(--dur),color var(--dur),border-color var(--dur);padding:8px 14px;font-size:var(--fs-14)}.btn:disabled{background:var(--bg-inset);color:var(--ink-disabled);border-color:var(--line);cursor:not-allowed}.btn-primary{background:var(--accent-moss);color:var(--ink-on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-moss-hover)}.btn-primary:active:not(:disabled){background:var(--accent-moss-active)}.btn-secondary{background:var(--bg-card);color:var(--ink-primary);border-color:var(--line)}.btn-secondary:hover:not(:disabled){background:var(--bg-paper-hover)}.btn-ghost{background:transparent;color:var(--ink-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-paper-hover)}.btn-lg{font-size:var(--fs-15);padding:10px 18px}.btn-sm{font-size:var(--fs-13);padding:6px 10px;border-radius:8px}.input{display:block;width:100%;font-family:var(--font-sans);font-size:var(--fs-14);padding:9px 12px;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink-primary);outline:none}.input:focus{border-color:var(--accent-moss)}textarea.input{resize:vertical;min-height:80px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-family:var(--font-sans);font-size:var(--fs-13);color:var(--ink-secondary);font-weight:var(--fw-medium)}.field-help{font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary)}.field-error{font-size:var(--fs-13);color:var(--fail)}.brandmark,.field-error{font-family:var(--font-sans)}.brandmark{font-weight:var(--fw-semibold);letter-spacing:-.012em;color:var(--ink-primary);display:inline-flex;align-items:center;gap:6px}.brandmark-dot{width:5.6px;height:5.6px;border-radius:50%;background:var(--accent-moss);display:inline-block}.app-header{display:flex;align-items:center;gap:16px;padding:14px var(--gutter-mobile);border-bottom:1px solid var(--line);background:rgba(250,248,244,.92);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);position:-webkit-sticky;position:sticky;top:0;z-index:5}.app-header .spacer{flex:1 1}@media (min-width:768px){.app-header{padding:14px var(--gutter-desktop)}}.app-main{max-width:var(--content-max);margin:0 auto;padding:var(--gutter-mobile)}@media (min-width:768px){.app-main{padding:var(--gutter-desktop)}}@keyframes curb-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.queue-grid{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.queue-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}.queue-row:last-child{border-bottom:0}.queue-row-body{min-width:0}.queue-row-action{flex-shrink:0}.queue-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.queue-dot-pending{background:var(--ink-tertiary);opacity:.5}.queue-dot-processing{background:var(--warn);animation:queue-pulse 1.4s ease-in-out infinite}.queue-dot-done{background:var(--accent-moss)}.queue-dot-failed{background:var(--fail)}@keyframes queue-pulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}.listings-grid{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.listing-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:background var(--dur),opacity var(--dur)}.listing-row:last-child{border-bottom:0}.listing-row:hover{background:var(--bg-paper-hover)}.listing-row-dim{opacity:.55}.listing-row-dim:hover{opacity:.85}.listing-row-photo{width:64px;height:56px;border-radius:var(--radius-photo);overflow:hidden;background:var(--bg-inset);flex-shrink:0}.listing-row-photo img{width:100%;height:100%;object-fit:cover;display:block}.listing-row-body{min-width:0}.listing-row-score{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right;flex-shrink:0;min-width:96px}.combined-score{font-family:var(--font-mono);font-weight:600;font-size:22px;letter-spacing:-.01em;font-feature-settings:"tnum";line-height:1;color:var(--ink-primary)}.combined-score-fail{color:var(--fail);font-size:18px}.combined-score-pending{color:var(--ink-tertiary)}.score-chip-row{display:inline-flex;gap:4px}.score-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:11px;font-weight:500;font-feature-settings:"tnum";background:var(--bg-paper);border:1px solid var(--line);color:var(--ink-primary);white-space:nowrap}.score-chip-fail{color:var(--fail);border-color:var(--fail);background:var(--bg-card)}.score-chip-empty{border-style:dashed;color:var(--ink-tertiary)}.score-chip-stale{opacity:.6}.score-chip-stale-mark{font-size:9px;opacity:.7;margin-left:1px}.rating-line{gap:6px;font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);margin-top:2px}.rating-line,.rating-pill{display:inline-flex;align-items:center}.rating-pill{gap:2px}.specs-row{gap:12px;font-family:var(--font-mono);font-feature-settings:"tnum";font-size:11px;color:var(--ink-tertiary);flex-wrap:wrap}.specs-row,.specs-row .spec{display:inline-flex;align-items:center}.specs-row .spec{gap:4px;white-space:nowrap}.specs-row .spec svg{flex-shrink:0;color:var(--ink-tertiary)}.listings-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px}.listing-card{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:inherit;transition:background var(--dur),opacity var(--dur),border-color var(--dur)}.listing-card:hover{background:var(--bg-paper-hover);border-color:var(--line-strong)}.listing-card-dim{opacity:.6}.listing-card-dim:hover{opacity:.9}.listing-card-photo{position:relative;width:100%;aspect-ratio:4/3;background:var(--bg-inset);overflow:hidden}.listing-card-photo img{width:100%;height:100%;object-fit:cover;display:block}.listing-card-photo .score-overlay{position:absolute;top:8px;right:8px;background:rgba(22,21,19,.75);color:var(--bg-paper);padding:4px 8px;border-radius:var(--radius-pill);font-family:var(--font-mono);font-feature-settings:"tnum";font-size:12px;font-weight:600;line-height:1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.listing-card-photo .status-overlay{position:absolute;top:8px;left:8px}.listing-card-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px}.listing-card-body .price{font-family:var(--font-mono);font-feature-settings:"tnum";font-size:18px;font-weight:600;letter-spacing:-.01em}.listing-card-body .address{font-size:13px;color:var(--ink-primary);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.3}.listing-card-body .meta{font-family:var(--font-mono);font-size:10px;color:var(--ink-tertiary);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.tab{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:1px solid var(--line);font-family:var(--font-sans);font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--ink-secondary);background:transparent;text-decoration:none;cursor:pointer;transition:background var(--dur),color var(--dur),border-color var(--dur)}.tab:hover{background:var(--bg-paper-hover);color:var(--ink-primary)}.tab.active{background:var(--ink-primary);color:var(--bg-paper);border-color:var(--ink-primary)}.tab.active .muted{color:rgba(250,248,244,.6)}.criteria-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.summary-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--radius-pill);background:var(--bg-card);border:1px solid var(--line)}.summary-pill-label{font-family:var(--font-sans);font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--ink-primary)}.summary-pill-count{font-family:var(--font-mono);font-size:12px;font-feature-settings:"tnum"}.summary-pill-count,.summary-pill.muted .summary-pill-label{color:var(--ink-tertiary)}.criteria-list{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.criterion-row{display:grid;grid-template-columns:1fr;grid-gap:8px 16px;gap:8px 16px;padding:12px 14px;border-bottom:1px solid var(--line);transition:opacity var(--dur)}.criterion-row:last-child{border-bottom:0}.criterion-row[data-pending=true]{opacity:.6}@media (min-width:720px){.criterion-row{grid-template-columns:minmax(0,1fr) auto;align-items:start}}.criterion-info{min-width:0}.criterion-controls{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.kind-picker{display:inline-flex;background:var(--bg-paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:2px;gap:0}.kind-btn{font-family:var(--font-sans);font-size:var(--fs-13);font-weight:var(--fw-medium);padding:5px 10px;border:0;border-radius:7px;background:transparent;color:var(--ink-secondary);cursor:pointer;transition:background var(--dur),color var(--dur);min-width:38px}.kind-btn:hover:not(:disabled):not(.active){background:var(--bg-paper-hover);color:var(--ink-primary)}.kind-btn:disabled{opacity:.35;cursor:not-allowed}.kind-btn.active.kind-pos{background:var(--accent-moss);color:var(--ink-on-accent)}.kind-btn.active.kind-neu{background:var(--ink-primary);color:var(--bg-paper)}.kind-btn.active.kind-neg{background:var(--fail);color:var(--bg-paper)}.weight-pips{display:inline-flex;gap:4px;align-items:center}.pip{width:12px;height:12px;border-radius:50%;border:1px solid var(--line-strong);background:var(--bg-card);cursor:pointer;padding:0;transition:background var(--dur),border-color var(--dur)}.pip.on{background:var(--accent-moss);border-color:var(--accent-moss)}.pip:disabled{cursor:default}.pip:hover:not(:disabled){border-color:var(--accent-moss)}.threshold-input{font-family:var(--font-mono);font-size:13px;padding:4px 8px;min-width:80px;max-width:120px;background:var(--bg-card);border:1px solid var(--line);border-radius:6px;color:var(--ink-primary);outline:none;font-feature-settings:"tnum"}.threshold-input:focus{border-color:var(--accent-moss)}.threshold-input:disabled{background:var(--bg-inset);color:var(--ink-disabled)}.ratings-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr}@media (min-width:560px){.ratings-grid{grid-template-columns:1fr 1fr}}.rating-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-md);padding:12px 14px}.detail-grid{max-width:var(--content-max);margin:0 auto}.detail-main{min-width:0}@media (min-width:1024px){.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:40px;gap:40px;padding:0 var(--gutter-desktop) 32px}.detail-aside{position:-webkit-sticky;position:sticky;top:24px;align-self:start;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px 20px;max-height:calc(100dvh - 48px);overflow:auto;margin-top:24px}.detail-aside>section{padding:0}.detail-aside>section+.divider{display:none}}.muted{color:var(--ink-tertiary)}.fail-text{color:var(--fail)}