:root{--bg:#fff;--bg-secondary:#f9fafb;--text:#374151;--text-light:#6b7280;--text-heading:#111827;--border:#e5e7eb;--accent:#2563eb;--accent-hover:#1d4ed8;--danger:#ef4444;--danger-hover:#dc2626;--danger-text:#ef4444;--danger-bg:#ef444414;--warning:#b45309;--warning-bg:#f59e0b24;--success:#047857;--success-bg:#10b9811f;--star:#f59e0b;--star-muted:#d1d5db;--accent-soft:#2563eb14;--code-bg:#94a3b824;--overlay:#0006;--page-accent:#2563eb14;--page-bg:linear-gradient(180deg, #f9fafb 0%, #eff6ff 100%);--radius:6px;--shadow:0 1px 3px #0000001a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg-secondary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg:#1f2937;--bg-secondary:#111827;--text:#d1d5db;--text-light:#9ca3af;--text-heading:#f9fafb;--border:#374151;--accent:#3b82f6;--accent-hover:#2563eb;--danger:#dc2626;--danger-hover:#b91c1c;--danger-text:#fca5a5;--danger-bg:#ef444424;--warning:#fbbf24;--warning-bg:#f59e0b33;--success:#34d399;--success-bg:#10b98133;--star-muted:#4b5563;--accent-soft:#3b82f624;--code-bg:#4b556352;--overlay:#0009;--page-accent:#3b82f624;--page-bg:linear-gradient(180deg, #0f172a 0%, #111827 100%);--shadow:0 1px 3px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=light]{--bg:#fff;--bg-secondary:#f9fafb;--text:#374151;--text-light:#6b7280;--text-heading:#111827;--border:#e5e7eb;--accent:#2563eb;--accent-hover:#1d4ed8;--danger:#ef4444;--danger-hover:#dc2626;--danger-text:#ef4444;--danger-bg:#ef444414;--warning:#b45309;--warning-bg:#f59e0b24;--success:#047857;--success-bg:#10b9811f;--star-muted:#d1d5db;--accent-soft:#2563eb14;--code-bg:#94a3b824;--overlay:#0006;--page-accent:#2563eb14;--page-bg:linear-gradient(180deg, #f9fafb 0%, #eff6ff 100%);--shadow:0 1px 3px #0000001a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#1f2937;--bg-secondary:#111827;--text:#d1d5db;--text-light:#9ca3af;--text-heading:#f9fafb;--border:#374151;--accent:#3b82f6;--accent-hover:#2563eb;--danger:#dc2626;--danger-hover:#b91c1c;--danger-text:#fca5a5;--danger-bg:#ef444424;--warning:#fbbf24;--warning-bg:#f59e0b33;--success:#34d399;--success-bg:#10b98133;--star-muted:#4b5563;--accent-soft:#3b82f624;--code-bg:#4b556352;--overlay:#0009;--page-accent:#3b82f624;--page-bg:linear-gradient(180deg, #0f172a 0%, #111827 100%);--shadow:0 1px 3px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text);background:var(--bg-secondary);margin:0}#root{width:100%;min-height:100vh}.standalone-screen{background:radial-gradient(circle at top left, var(--page-accent), transparent 40%), radial-gradient(circle at bottom right, var(--accent-soft), transparent 32%), var(--page-bg);place-items:center;min-height:100vh;padding:24px;display:grid}.standalone-shell{width:min(100%,760px)}.standalone-shell--wide{width:min(100%,880px)}.standalone-card{border:1px solid var(--border);border-radius:calc(var(--radius) * 2);background:var(--bg);width:100%;box-shadow:var(--shadow);gap:20px;padding:clamp(24px,4vw,32px);display:grid}.standalone-card--import{width:min(100%,880px)}.standalone-stack{gap:16px;display:grid}.standalone-stack--tight{gap:8px}.standalone-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-light);margin:0;font-size:11px;font-weight:700}.standalone-card h1{color:var(--text-heading);margin:0;font-size:clamp(1.95rem,4vw,2.65rem);line-height:1.04}.standalone-copy,.standalone-detail{color:var(--text-light);text-wrap:pretty;margin:0;line-height:1.6}.standalone-section{border:1px solid var(--border);border-radius:calc(var(--radius) * 1.5);background:var(--bg-secondary);gap:12px;padding:16px 18px;display:grid}.standalone-section--accent{background:var(--accent-soft);border-color:#2563eb2e}.standalone-section--error{background:var(--danger-bg);border-color:#ef444433}.standalone-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.standalone-actions--review{justify-content:space-between}.standalone-delete-confirm{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.standalone-delete-confirm__prompt{color:var(--text);font-size:13px}.standalone-error{color:var(--danger-text);margin:0;font-weight:600}.standalone-status{align-items:center;gap:10px;display:inline-flex}.standalone-spinner{border:2px solid #2563eb29;border-top-color:var(--accent);border-radius:999px;flex-shrink:0;width:14px;height:14px;animation:.8s linear infinite standalone-spin}@keyframes standalone-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.standalone-spinner{animation:none}}.standalone-metrics{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.standalone-metric{border:1px solid var(--border);border-radius:calc(var(--radius) * 1.5);background:var(--bg);gap:2px;min-height:72px;padding:12px;display:grid}.standalone-metric__value{color:var(--text-heading);font-size:1.5rem;font-weight:700;line-height:1}.standalone-metric__label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-light);font-size:11px;font-weight:700}.standalone-review-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.standalone-review-item{border:1px solid var(--border);border-radius:calc(var(--radius) * 1.5);background:var(--bg);gap:10px;padding:16px 18px;display:grid}.standalone-review-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px 16px;display:flex}.standalone-review-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--text-light);margin:0 0 4px;font-size:11px;font-weight:700}.standalone-review-title{color:var(--text-heading);margin:0;font-size:1rem;font-weight:600;line-height:1.4}.standalone-review-badge{border:1px solid var(--border);background:var(--bg-secondary);letter-spacing:.05em;text-transform:uppercase;min-height:26px;color:var(--text-light);white-space:nowrap;border-radius:999px;align-items:center;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.standalone-review-badge--create{background:var(--accent-soft);color:var(--accent);border-color:#2563eb2e}.standalone-review-badge--saved{background:var(--warning-bg);color:var(--warning);border-color:#f59e0b33}.standalone-review-copy{color:var(--text);margin:0;line-height:1.55}.standalone-review-meta{gap:6px;display:grid}.standalone-inline-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-light);font-size:11px;font-weight:700}.standalone-inline-code{border-radius:calc(var(--radius) + 2px);background:var(--code-bg);width:fit-content;max-width:100%;color:var(--text);overflow-wrap:anywhere;padding:.25em .45em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92em;display:inline-flex}.standalone-review-conflicts{border-top:1px solid var(--border);gap:6px;padding-top:10px;display:grid}.standalone-review-conflicts p{margin:0;line-height:1.5}@media (width<=720px){.standalone-screen{padding:16px}.standalone-card{gap:18px;padding:20px}.standalone-metrics{grid-template-columns:1fr}.standalone-review-header{flex-direction:column;align-items:stretch}.standalone-review-badge{width:fit-content}}.app{min-height:100vh;padding:0 16px 40px}.app-chrome,.app-content{width:100%;max-width:1000px;margin:0 auto}.app-content--comparison{max-width:1700px}header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:16px;padding:16px 0;display:flex}header h1{margin:0;line-height:1}.app-title{color:var(--text-heading);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;margin:0;padding:0;font-family:inherit;font-size:28px;font-weight:600;line-height:1;display:inline-flex}.app-title svg{flex-shrink:0;width:1.12em;height:1.12em}.app-title:hover{color:var(--accent)}.app-title:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.header-actions,.paste-action{align-items:center;gap:8px;display:flex}.processing-badge{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-light);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;display:inline-flex}.header-session-chip{border:1px solid var(--border);background:var(--bg-secondary);min-width:0;max-width:min(240px,100%);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:8px;padding:4px 8px 4px 12px;display:inline-flex}.header-session-chip__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-light);font-size:12px;font-weight:500;overflow:hidden}.header-session-chip__action{flex-shrink:0}.header-session-chip__action:disabled{opacity:.6;cursor:not-allowed}.session-banner{border:1px solid var(--border);border-radius:calc(var(--radius) * 2);background:var(--bg);box-shadow:var(--shadow);gap:4px;margin-bottom:16px;padding:12px 14px;display:grid}.session-banner--error{background:var(--danger-bg);border-color:#ef444433}.session-banner__title{letter-spacing:.08em;text-transform:uppercase;color:var(--danger-text);font-size:11px;font-weight:700}.session-banner__copy{color:var(--text);font-size:13px;line-height:1.5}.list-nav{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.list-nav-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;display:flex}.list-nav-pills{flex-wrap:wrap;flex:auto;align-items:center;gap:8px;display:flex}.list-pill{border:1px solid var(--border);background:var(--bg);max-width:100%;min-height:36px;color:var(--text);cursor:pointer;box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.list-pill:hover{background:var(--bg-secondary);border-color:var(--accent)}.list-pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.list-pill.is-active{color:var(--text-heading);background:#2563eb14;border-color:#2563eb47}.list-pill__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.list-pill__meta{background:var(--bg-secondary);min-width:22px;min-height:22px;color:var(--text-light);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.list-pill.is-active .list-pill__meta{color:var(--accent);background:#2563eb24}.list-pill-wrap{align-items:center;display:inline-flex}.list-pill-wrap.is-active .list-pill.is-active{border-top-right-radius:0;border-bottom-right-radius:0}.list-pill-edit{min-height:36px;color:var(--accent);cursor:pointer;background:#2563eb14;border:1px solid #2563eb47;border-left-color:#2563eb2e;border-radius:0 999px 999px 0;justify-content:center;align-items:center;margin-left:-1px;padding:0 9px;display:inline-flex}.list-pill-edit:hover{background:#2563eb29}.list-pill-edit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.list-pill-edit svg{display:block}.list-pill-edit-input{border-radius:999px;min-width:150px;min-height:36px}.scope-view-count{margin-bottom:12px}.list-create-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.list-create-input{flex:220px}.btn-primary,.btn-secondary,.btn-danger{border-radius:var(--radius);cursor:pointer;padding:6px 14px;font-size:13px}.btn-primary{background:var(--accent);color:#fff;border:none;font-weight:500}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-secondary)}.btn-danger{background:var(--danger);color:#fff;border:none}.btn-danger:hover{background:var(--danger-hover)}.btn-icon{cursor:pointer;color:var(--text-light);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:inline-flex}.btn-icon:hover{color:var(--text-heading)}.btn-icon svg{width:18px;height:18px;display:block}.theme-btn{padding:3px}.link-button{cursor:pointer;color:var(--accent);font:inherit;background:0 0;border:none;padding:0}.link-button:hover:not(:disabled){text-decoration:underline}.link-button:disabled{color:var(--text-light);cursor:not-allowed;opacity:.6}.link-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.parser-blank-fallback{margin-top:4px}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.filter-group{flex-direction:column;gap:4px;display:inline-flex}.filter-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-light);font-size:11px;font-weight:600}.app-control{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-family:inherit}.app-control::placeholder{color:var(--text-light);opacity:1}.app-control:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #2563eb26}.app-control--compact{padding:5px 8px;font-size:13px}.filters-price-input{width:88px}.app-control--field{padding:6px 8px;font-size:13px}.app-control--textarea{resize:vertical;box-sizing:border-box;width:100%}.listing-meta{flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;display:inline-flex}.listing-count{color:var(--text-light);font-size:12px}.listing-submeta{color:var(--text-light);text-align:right;text-wrap:pretty;max-width:28rem;font-size:11px;line-height:1.35;display:block}.filters-validation{color:var(--danger-text);white-space:nowrap;font-size:11px}.table-wrap{overflow-x:auto}.data-table{--table-header-padding:10px 12px;--table-header-font-size:12px;--table-header-letter-spacing:.5px;--table-header-border-width:2px;--table-cell-padding:10px 12px;--table-cell-font-size:13px;border-collapse:collapse;background:var(--bg);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);overflow:hidden}.data-table--compact{--table-header-padding:6px 10px;--table-header-font-size:11px;--table-header-letter-spacing:.3px;--table-header-border-width:1px;--table-cell-padding:5px 10px;--table-cell-font-size:12px}.data-table th{text-align:left;padding:var(--table-header-padding);font-size:var(--table-header-font-size);text-transform:uppercase;letter-spacing:var(--table-header-letter-spacing);color:var(--text-light);border-bottom:var(--table-header-border-width) solid var(--border);white-space:nowrap;font-weight:600}.data-table--sticky-header th{background:var(--bg);position:sticky;top:0}.data-table th.sortable{padding:0}.data-table td{padding:var(--table-cell-padding);border-bottom:1px solid var(--border);font-size:var(--table-cell-font-size)}.listing-link,.listing-link:visited{color:var(--accent);text-decoration:none}.listing-link:hover{text-decoration:underline}.listing-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.listing-address-link,.listing-address-link:visited{color:inherit;align-items:center;gap:3px;text-decoration:none;display:inline-flex}.listing-address-link:hover{color:var(--accent);text-decoration:underline}.listing-address-link-icon{color:var(--text-light);flex-shrink:0}.listing-address-link:hover .listing-address-link-icon{color:var(--accent)}.listing-address-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.listing-address-link--standalone{vertical-align:middle;margin-left:4px;padding:2px}.data-table tr.ingestion-row td{background:#2563eb0a}.data-table tr.row-ingestion-error td{background:#ef44440f}.cell-primary{color:var(--text-heading);font-weight:500}.cell-secondary{color:var(--text-light);margin-top:2px;font-size:11px}.cell-job-note{white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:260px;display:-webkit-box;overflow:hidden}.listing-address-cell{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.summary-mobility-cell{flex-direction:column;gap:2px;min-width:0;max-width:13rem;display:flex}.summary-mobility-primary{min-width:0;color:var(--text-heading);line-height:1.3}.summary-mobility-line-badges .line-badge{width:16px;height:16px;font-size:9px}.summary-mobility-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:1.2;display:block;overflow:hidden}.summary-mobility-secondary{color:var(--text-light);white-space:nowrap;font-size:11px;line-height:1.2}.summary-mobility-status{color:var(--text-light);white-space:nowrap;font-size:12px}.quick-scan-col-train{width:112px;min-width:112px}.quick-scan-col-citibike{width:124px;min-width:124px}.quick-scan-col-address{width:216px;min-width:216px}.quick-scan-col-broker{width:168px;min-width:168px}.quick-scan-col-status{width:120px;min-width:120px}.quick-scan-col-rating{width:152px;min-width:152px}.table-sort-button{width:100%;padding:var(--table-header-padding);text-align:left;font:inherit;font-size:var(--table-header-font-size);text-transform:uppercase;letter-spacing:var(--table-header-letter-spacing);color:var(--text-light);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;font-weight:600;display:flex}.table-sort-label{min-width:0}.table-sort-button:hover{color:var(--text-heading)}.table-sort-icon{flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.table-sort-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.quick-scan-table .quick-scan-cell-price,.quick-scan-table .quick-scan-header-price{text-align:right}.quick-scan-table .quick-scan-cell-beds,.quick-scan-table .quick-scan-cell-baths,.quick-scan-table .quick-scan-header-beds,.quick-scan-table .quick-scan-header-baths{text-align:center}.quick-scan-table .quick-scan-header-price .table-sort-button{text-align:right;justify-content:flex-end}.quick-scan-table .quick-scan-header-beds .table-sort-button{text-align:center;justify-content:center}.table-job-status{color:var(--text-light);align-items:center;gap:6px;font-size:12px;display:inline-flex}.table-job-status-error{color:var(--danger-text)}.table-action-stack{flex-direction:column;align-items:center;gap:4px;display:inline-flex}.table-dismiss-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.table-dismiss-btn:hover{text-decoration:underline}.table-dismiss-btn:disabled{color:var(--text-light);cursor:default;text-decoration:none}.table-action-busy{align-items:center;gap:5px;display:inline-flex}.table-action-cell{white-space:nowrap;text-align:center;width:1%}.table-detail-actions{flex-wrap:wrap;justify-content:center;gap:6px;display:inline-flex}.table-detail-action,.table-detail-action:visited{border:1px solid var(--border);background:var(--bg);min-height:28px;color:var(--accent);cursor:pointer;font:inherit;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.table-detail-action:hover{background:var(--bg-secondary);border-color:var(--accent);color:var(--accent-hover)}.table-detail-action--new-tab{background:#2563eb0f;border-color:#2563eb3d}.table-detail-action-icon{flex-shrink:0}.table-detail-action:focus-visible,.table-dismiss-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.inline-spinner{border:2px solid #2563eb26;border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.status-badge{color:inherit;text-transform:capitalize;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.empty{text-align:center;color:var(--text-light);padding:60px 20px;font-size:14px}.detail{background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.detail-header{justify-content:space-between;gap:12px;margin-bottom:20px;display:flex}.detail-delete-confirm{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.detail-delete-confirm__prompt{color:var(--text);font-size:13px}.detail-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px;display:grid}.detail-section{margin-bottom:16px}.detail h4{color:var(--text-heading);border-top:1px solid var(--border);margin-bottom:8px;padding-top:8px;font-size:14px;font-weight:600}.detail-lists-section{flex-direction:column;gap:10px;display:flex}.detail-list-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;padding:10px 12px;display:flex}.detail-list-toggle{min-width:0;color:var(--text);align-items:center;gap:10px;font-size:13px;display:inline-flex}.detail-list-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-heading);font-weight:500;overflow:hidden}.detail-list-actions{flex-wrap:wrap;gap:8px;display:inline-flex}.detail-list-hint{margin:0}.detail-pending-note{margin-top:10px}.field{flex-direction:column;gap:4px;display:flex}.field label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-light);font-size:11px;font-weight:600}.hint{color:var(--text-light);margin-top:4px;font-size:11px}.hint-warning{color:var(--warning)}.error{color:var(--danger-text);margin:8px 0;font-size:13px}.modal-overlay{background:var(--overlay);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg);border-radius:8px;width:600px;max-width:90vw;max-height:80vh;padding:24px;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modal-header h3{color:var(--text-heading);font-size:16px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.paste-input{width:100%;margin-top:12px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.tabs{border-bottom:2px solid var(--border);gap:0;margin-bottom:12px;display:flex}.tab{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 16px;font-size:13px;font-weight:500}.tab:hover{color:var(--text-heading)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.comparison-filters{margin-bottom:8px}.comparison-train-controls{align-items:flex-end}.comparison-train-filter-group{min-width:0}.comparison-line-chip-set{flex-wrap:wrap;align-items:center;gap:6px;max-width:760px;display:flex}.comparison-line-chip{cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:6px;transition:background-color .15s,box-shadow .15s;display:inline-flex}.comparison-line-chip:hover{background:#0f172a0d}.comparison-line-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.comparison-line-chip .comparison-line-chip-badge{opacity:.62;transition:opacity .15s,transform .15s}.comparison-line-chip.is-selected{background:#2563eb14}.comparison-line-chip.is-selected .comparison-line-chip-badge,.comparison-line-chip.is-active .comparison-line-chip-badge{opacity:1}.comparison-line-chip.is-active{background:0 0;box-shadow:inset 0 0 0 1px #2563eb38}.comparison-line-chip.is-selected.is-active{background:#2563eb1f}.comparison-line-chip.is-active .comparison-line-chip-badge{transform:scale(1.06)}.comparison-train-controls-note{min-height:30px;color:var(--text-light);align-self:flex-end;align-items:center;font-size:12px;display:inline-flex}.comparison-train-clear-btn{align-self:flex-end;min-height:30px;padding:5px 10px;font-size:12px}.comparison-table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);box-shadow:var(--shadow);position:relative}.comparison-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;box-shadow:none;border-radius:0;overflow:visible}.comparison-table th,.comparison-table td{border-right:1px solid var(--border)}.comparison-table th:last-child,.comparison-table td:last-child{border-right:none}.comparison-table thead th{background:var(--bg);z-index:3}.comparison-table tbody tr{--comparison-row-bg:var(--bg)}.comparison-table tbody tr.ingestion-row{--comparison-row-bg:#2563eb0a}.comparison-table tbody tr.row-ingestion-error{--comparison-row-bg:#ef44440f}.comparison-table tbody tr:hover{--comparison-row-bg:var(--bg-secondary)}.comparison-table tbody tr.ingestion-row:hover{--comparison-row-bg:#2563eb14}.comparison-table tbody tr.row-ingestion-error:hover{--comparison-row-bg:#ef44441a}.comparison-table tbody td{background:var(--comparison-row-bg)}.comparison-table .comparison-cell-sticky{z-index:2;background:var(--comparison-row-bg,var(--bg));box-shadow:1px 0 0 var(--border);position:sticky;left:0}.comparison-table thead .comparison-cell-sticky{z-index:4;background:var(--bg)}.comparison-table .num{text-align:right}.comparison-table .center{text-align:center}.comparison-table .no-wrap{white-space:nowrap}.comparison-table .comparison-cell-address{min-width:0}.comparison-table .comparison-cell-address .cell-primary{white-space:normal;line-height:1.35}.comparison-table .comparison-cell-address .cell-secondary{white-space:normal}.comparison-table .comparison-mobility-cell{flex-direction:column;gap:2px;min-width:0;display:flex}.comparison-table .comparison-mobility-cell--status{color:var(--text-light)}.comparison-table .comparison-mobility-primary{min-width:0;color:var(--text-heading);line-height:1.35}.comparison-table .comparison-mobility-cell--status .comparison-mobility-primary{color:inherit}.comparison-table .comparison-mobility-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.comparison-table .comparison-mobility-secondary{color:var(--text-light);font-size:11px;line-height:1.3}.visually-hidden{position:absolute}.visually-hidden,.map-access-toolbar:not(:focus-within){clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.comparison-table .comparison-mobility-count{font-variant-numeric:tabular-nums}.comparison-table .comparison-mobility-count--empty{color:var(--text-light)}.comparison-table .notes-col{white-space:normal}.comparison-notes-content{white-space:normal;-webkit-line-clamp:3;text-align:left;-webkit-box-orient:vertical;max-width:28rem;line-height:1.35;display:-webkit-box;overflow:hidden}.comparison-table tbody tr{transition:opacity .25s}.comparison-table .row-passed{opacity:.5}.comparison-col-address{width:300px}.comparison-col-neighborhood{width:160px}.comparison-col-price{width:96px}.comparison-col-beds,.comparison-col-baths{width:60px}.comparison-col-sqft{width:76px}.comparison-col-available{width:120px}.comparison-col-building{width:104px}.comparison-col-laundry{width:110px}.comparison-col-transit{width:220px}.comparison-col-citibike{width:180px}.comparison-col-citibike-count{width:92px}.comparison-col-broker{width:200px}.comparison-col-phone{width:138px}.comparison-col-contacted{width:96px}.comparison-col-status{width:116px;min-width:116px}.comparison-col-rating{width:128px;min-width:128px}.comparison-col-notes{width:340px}.comparison-col-open{width:64px}.map-container{--map-marker-fill:var(--accent);--map-marker-core:#fffffff5;--map-marker-halo:#2563eb2e;--map-marker-halo-strong:#2563eb4d;--map-marker-shadow:#0f172a3d;--map-popup-bg:#fffffff5;--map-popup-border:#94a3b859;--map-popup-shadow:0 18px 40px #0f172a2e;--map-chip-bg:#f8fafce0;--map-chip-border:#94a3b847;--map-divider:#94a3b838;--map-note-bg:#94a3b814;border-radius:var(--radius);width:100%;height:clamp(360px,72dvh,820px);box-shadow:var(--shadow);position:relative;overflow:hidden}:root[data-theme=dark] .map-container{--map-marker-core:#111827f0;--map-marker-halo:#3b82f63d;--map-marker-halo-strong:#3b82f65c;--map-marker-shadow:#0206177a;--map-popup-bg:#111827eb;--map-popup-border:#4b5563a6;--map-popup-shadow:0 22px 44px #0000006b;--map-chip-bg:#1f2937e6;--map-chip-border:#4b556385;--map-divider:#4b55638c;--map-note-bg:#37415194}@media (prefers-color-scheme:dark){:root:not([data-theme]) .map-container{--map-marker-core:#111827f0;--map-marker-halo:#3b82f63d;--map-marker-halo-strong:#3b82f65c;--map-marker-shadow:#0206177a;--map-popup-bg:#111827eb;--map-popup-border:#4b5563a6;--map-popup-shadow:0 22px 44px #0000006b;--map-chip-bg:#1f2937e6;--map-chip-border:#4b556385;--map-divider:#4b55638c;--map-note-bg:#37415194}}.map-container .gm-style{font-family:inherit}.map-empty{background:var(--bg);color:var(--text-light);text-align:center;justify-content:center;align-items:center;padding:20px;font-size:14px;display:flex;position:absolute;inset:0}.map-access-toolbar{z-index:5;position:absolute;top:12px;left:12px}.map-access-toolbar-inner,.map-popup{border:1px solid var(--map-popup-border);background:var(--map-popup-bg);box-shadow:var(--map-popup-shadow);-webkit-backdrop-filter:blur(14px);border-radius:12px}.map-access-toolbar-inner{flex-wrap:wrap;align-items:flex-start;gap:8px;max-width:min(520px,100vw - 64px);padding:10px 12px;display:flex}.map-access-entry{flex-wrap:wrap;align-items:flex-start;gap:8px 12px;display:flex}.map-access-entry--active{flex-basis:100%}.map-access-entry-body{flex-wrap:wrap;flex-basis:100%;gap:8px 12px;display:flex}.map-access-btn,.map-access-link,.map-access-link:visited,.map-popup-link,.map-popup-link:visited{background:var(--bg);min-height:28px;color:var(--accent);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.map-access-btn--active{color:var(--text-heading);background:#2563eb14;border-color:#2563eb33}.map-access-btn:hover,.map-access-link:hover,.map-popup-link:hover{color:var(--accent-hover);background:#2563eb14;border-color:#2563eb47}.map-access-btn:focus-visible,.map-access-link:focus-visible,.map-popup-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.map-detail-new-tab-action{background:#2563eb14;border-color:#2563eb3d}.map-detail-new-tab-icon{flex-shrink:0}.map-access-summary{color:var(--text-light);text-wrap:pretty;flex-basis:100%;font-size:11px;line-height:1.45}.map-access-actions{flex-wrap:wrap;gap:8px 12px;display:flex}.map-marker{justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:relative;overflow:visible;transform:translateZ(0)}.map-marker-button{cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex}.map-marker-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.map-marker-dot{background:var(--map-marker-fill);border:3px solid var(--map-marker-core);width:14px;height:14px;box-shadow:0 0 0 4px var(--map-marker-halo), 0 10px 24px -12px var(--map-marker-shadow);border-radius:999px;transition:transform .16s,box-shadow .16s}.map-marker:hover .map-marker-dot,.map-marker:focus-within .map-marker-dot{box-shadow:0 0 0 6px var(--map-marker-halo), 0 12px 28px -12px var(--map-marker-shadow);transform:scale(1.15)}.map-marker.is-active .map-marker-dot{box-shadow:0 0 0 7px var(--map-marker-halo-strong), 0 16px 30px -12px var(--map-marker-shadow);transform:scale(1.28)}.map-popup-shell{z-index:2;pointer-events:auto;padding-bottom:14px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.map-popup{width:min(288px,100vw - 40px);color:var(--text);padding:12px 12px 10px;font-family:inherit;position:relative}.map-popup:after{content:"";background:var(--map-popup-bg);border-right:1px solid var(--map-popup-border);border-bottom:1px solid var(--map-popup-border);width:14px;height:14px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.map-popup-price{color:var(--text-heading);font-size:15px;font-weight:700}.map-popup-address{color:var(--text-heading);overflow-wrap:anywhere;margin-top:2px;font-size:12px;font-weight:600;line-height:1.35}.map-popup-meta{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.map-popup-chip{border:1px solid var(--map-chip-border);background:var(--map-chip-bg);min-height:22px;color:var(--text);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.map-popup-chip--rating{color:var(--star);letter-spacing:.6px}.map-popup-details{border-top:1px solid var(--map-divider);flex-direction:column;gap:9px;margin-top:9px;padding-top:9px;display:flex}.map-popup-detail-row{flex-direction:column;gap:2px;min-width:0;display:flex}.map-popup-detail-main{align-items:flex-start;gap:8px;min-width:0;display:flex}.map-popup-detail-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.map-popup-train-badges{flex-wrap:wrap;flex-shrink:0;gap:4px;max-width:76px;padding-top:1px;display:flex}.map-popup-kicker{text-transform:uppercase;letter-spacing:.6px;color:var(--text-light);font-size:10px;font-weight:600}.map-popup-train-badge{width:18px;height:18px;font-size:10px}.map-popup-detail-value{color:var(--text-heading);overflow-wrap:anywhere;font-size:12px;font-weight:600;line-height:1.35}.map-popup-detail-secondary{color:var(--text-light);overflow-wrap:anywhere;font-size:11px;line-height:1.35}.map-popup-note{background:var(--map-note-bg);color:var(--text-light);-webkit-line-clamp:3;text-wrap:pretty;border-radius:10px;-webkit-box-orient:vertical;margin-top:9px;padding:8px 9px;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.map-popup-actions{border-top:1px solid var(--map-divider);flex-wrap:wrap;gap:10px 14px;margin-top:10px;padding-top:8px;display:flex}@media (width<=720px){.list-nav-row,.detail-list-row{align-items:stretch}.detail-list-row{flex-direction:column}.detail-list-actions{width:100%}.map-container{height:clamp(320px,64dvh,680px)}.map-access-toolbar-inner{max-width:calc(100vw - 32px)}.map-popup{width:min(252px,100vw - 28px);padding:11px 11px 10px}.map-popup-train-badges{max-width:64px}}.geocode-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.geocode-status{border-radius:10px;padding:2px 8px;font-size:12px;font-weight:500}.geocode-missing{color:var(--text-light);background:var(--bg-secondary)}.geocode-pending{color:var(--warning);background:var(--warning-bg)}.geocode-success{color:var(--success);background:var(--success-bg)}.geocode-failed{color:var(--danger-text);background:#ef44441a}.geocoded-address{color:var(--text-light);font-size:11px}.btn-small{padding:3px 10px;font-size:12px}.transit-table{border-collapse:collapse;background:var(--bg);width:100%;margin-bottom:16px;font-size:13px}.transit-table th{text-align:left;text-transform:uppercase;letter-spacing:.3px;color:var(--text-light);border-bottom:1px solid var(--border);padding:6px 10px;font-size:11px;font-weight:600}.transit-table td{border-bottom:1px solid var(--border);color:var(--text);padding:6px 10px}.line-badges{flex-wrap:wrap;gap:3px;display:inline-flex}.line-badge{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.notes-section{margin-top:16px;margin-bottom:16px}.notes-section label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-light);margin-bottom:6px;font-size:11px;font-weight:600;display:block}.star-rating{gap:2px;display:inline-flex}.star-rating-button{color:var(--star-muted);cursor:pointer;font-size:var(--star-size,20px);background:0 0;border:none;padding:0;line-height:1}.star-rating-button.is-active{color:var(--star)}.star-rating-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.star-rating:hover .star-rating-button{color:var(--star);opacity:.55}.star-rating:hover .star-rating-button.is-active{opacity:.85}.star-rating .star-rating-button:hover{opacity:1;transition:transform .12s ease-out;transform:scale(1.12)}.star-rating .star-rating-button:hover~.star-rating-button{color:var(--star-muted);opacity:1}@media (pointer:coarse){.star-rating-button{position:relative}.star-rating-button:before{content:"";position:absolute;inset:-8px -1px}}.listing-status-cell,.listing-rating-cell{white-space:nowrap;align-items:center;display:inline-flex}.status-badge-button{cursor:pointer;border:none;height:20px;font-family:inherit;line-height:16px;transition:box-shadow .12s ease-out,filter .12s ease-out}.status-badge-button:hover{box-shadow:0 0 0 2px var(--bg), 0 0 0 3.5px color-mix(in srgb, var(--status-badge-halo,var(--accent)) 45%, transparent);filter:brightness(1.03)}.status-badge-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.save-whisper{vertical-align:middle;flex:none;justify-content:center;align-items:center;width:14px;height:14px;margin-left:6px;display:inline-flex}.save-whisper .inline-spinner{animation:.8s linear infinite spin,.12s ease-out quick-edit-fade-in}.save-whisper-check{color:var(--success);animation:1.2s forwards quick-edit-check-fade}@keyframes quick-edit-fade-in{0%{opacity:0}to{opacity:1}}@keyframes quick-edit-check-fade{0%{opacity:0}12%{opacity:1}35%{opacity:1}to{opacity:0}}.save-whisper-fail-dot{background:var(--warning);cursor:pointer;border:none;border-radius:50%;flex:none;width:8px;height:8px;padding:0}.save-whisper-fail-dot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.quick-edit-popover{z-index:1000;background:var(--bg);border:1px solid var(--border);border-radius:8px;animation:90ms ease-out quick-edit-pop-in;position:fixed;box-shadow:0 8px 24px #0f172a1f}@keyframes quick-edit-pop-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}.quick-edit-menu{min-width:150px;padding:4px}.quick-edit-menu-option{cursor:pointer;width:100%;height:28px;color:var(--text);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:0 8px;font-family:inherit;font-size:13px;display:flex}.quick-edit-menu-option.is-highlighted{background:var(--bg-secondary)}.quick-edit-menu-option.is-current{font-weight:600}.quick-edit-menu-swatch{border-radius:50%;flex:none;width:8px;height:8px}.quick-edit-menu-check{color:var(--text-light);flex:none;margin-left:auto}.quick-edit-menu-key{color:var(--text-light);border:1px solid var(--border);border-radius:3px;flex:none;margin-left:auto;padding:0 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.quick-edit-menu-check+.quick-edit-menu-key{margin-left:8px}@media (pointer:coarse){.quick-edit-menu-option{height:36px}}.quick-edit-notecard{width:320px;padding:10px 12px 8px}.quick-edit-notecard-header{letter-spacing:.5px;text-transform:uppercase;color:var(--text-light);white-space:nowrap;text-overflow:ellipsis;margin-bottom:6px;font-size:11px;font-weight:600;overflow:hidden}.quick-edit-notecard-textarea{resize:none;font-size:13px;overflow-y:auto}.quick-edit-notecard-footer{min-height:24px;color:var(--text-light);justify-content:space-between;align-items:center;gap:12px;margin-top:4px;font-size:11px;display:flex}.quick-edit-save-state{align-items:center;gap:6px;display:inline-flex}.quick-edit-save-state--failed{color:var(--warning)}.quick-edit-saved-note{animation:1.4s forwards quick-edit-check-fade}.quick-edit-notecard-hint{flex:none}.quick-edit-link-button{cursor:pointer;color:var(--accent);font-family:inherit;font-size:inherit;background:0 0;border:none;padding:0}.quick-edit-link-button:hover{text-decoration:underline}.quick-edit-link-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.quick-edit-link-button--quiet{color:var(--text-light)}.quick-edit-recovery{width:230px;color:var(--text);padding:10px 12px;font-size:12px}.quick-edit-recovery-copy{margin:0 0 8px}.quick-edit-recovery-actions{gap:14px;display:flex}.comparison-notes-cell{position:relative}.comparison-notes-cell .save-whisper{margin-left:0;position:absolute;top:4px;right:4px}.quick-edit-notes-trigger{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:flex-start;align-items:center;width:calc(100% + 12px);margin:-4px -6px;padding:4px 6px;transition:background-color .12s ease-out;display:flex}.quick-edit-notes-trigger:hover,.quick-edit-notes-trigger[aria-expanded=true]{background:var(--bg-secondary)}.quick-edit-notes-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.quick-edit-notes-empty{display:inline-grid}.quick-edit-notes-empty>*{white-space:nowrap;grid-area:1/1}.quick-edit-notes-dash{color:var(--text-light)}.quick-edit-notes-add{color:var(--accent);opacity:0;font-size:13px;font-weight:500;transition:opacity .1s}tr:hover .quick-edit-notes-add,.quick-edit-notes-trigger:focus-visible .quick-edit-notes-add{opacity:1}tr:hover .quick-edit-notes-dash,.quick-edit-notes-trigger:focus-visible .quick-edit-notes-dash{opacity:0}@media (pointer:coarse){.quick-edit-notes-add{opacity:1}.quick-edit-notes-dash{opacity:0}}.cell-secondary:empty{display:none}.listing-note-glyph{color:var(--text-light);cursor:pointer;vertical-align:middle;background:0 0;border:none;align-items:center;margin-left:6px;padding:0;transition:color .12s ease-out;display:inline-flex}.listing-note-glyph:hover{color:var(--accent)}.listing-note-glyph:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}
