:root{--bg:#07060a;--panel:rgba(17,14,23,0.94);--panel-solid:#110e17;--panel-2:#17131f;--ink:#f4f1f8;--ink-2:#c9c3d4;--muted:#8f889c;--line:rgba(255,255,255,0.09);--line-2:rgba(255,255,255,0.16);--brand:#5f1a87;--violet:#8b3fd1;--lilac:#b98cf5;--glow:rgba(139,63,209,0.45);--ok:#7ee0b2;--warn:#f2a43a;--bad:#f4a3a3;--gold:#f5c542;--sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--serif:"Instrument Serif",ui-serif,Georgia,serif;--ease:cubic-bezier(0.22,1,0.36,1);--r:16px;color-scheme:dark}*,:after,:before{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 var(--sans);-webkit-font-smoothing:antialiased;overflow:hidden}a{color:var(--lilac);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}:focus-visible{outline:2px solid var(--lilac);outline-offset:2px;border-radius:6px}h2,h3{font-weight:500;letter-spacing:-.02em}h2,h3,p{margin:0}em{font-family:var(--serif);font-style:italic;font-weight:400}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--bad)}.ok{color:var(--ok)}.pad{padding:16px}input:not([type]),input[type=number],input[type=text],input[type=url],select,textarea{background:rgba(255,255,255,.05);border:1px solid var(--line-2);border-radius:10px;padding:7px 10px;min-width:0}select option{background:var(--panel-solid)}textarea{width:100%;resize:vertical}.btn-ghost,.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 18px;border-radius:999px;border:0;font-weight:500;text-decoration:none!important}.btn-primary{background:var(--ink);color:#0b0710;box-shadow:0 10px 40px -12px var(--glow)}.btn-primary:hover{background:#fff}.btn-ghost{background:rgba(255,255,255,.06);color:var(--ink);box-shadow:0 0 0 1px var(--line-2) inset}.mini{height:32px;padding:0 12px;border-radius:999px;border:0;background:rgba(255,255,255,.1);white-space:nowrap}.mini:hover{background:rgba(255,255,255,.16)}.mini.ghost{background:transparent;box-shadow:0 0 0 1px var(--line-2) inset}.linkish{background:none;border:0;padding:0;color:var(--lilac);text-align:left}.app{position:fixed;inset:0}.map{position:absolute;inset:0;background:#e8e6e1}.leaflet-tile-pane{filter:saturate(.75) brightness(1.02)}.map-loading{background:#e8e6e1}.leaflet-container{font-family:var(--sans)}.leaflet-control-attribution{font-size:10px}.pin-wrap{background:none;border:0}.pin{transform:translate(-50%,calc(-100% - 6px));white-space:nowrap;padding:3px 8px;border-radius:999px;background:#fff;color:#1b1424;font:600 12px/1.3 var(--sans);box-shadow:0 1px 2px rgba(0,0,0,.25),0 0 0 1px rgba(0,0,0,.12);cursor:pointer;transition:transform .15s var(--ease)}.pin,.pin:after{position:absolute}.pin:after{content:"";left:50%;bottom:-5px;transform:translateX(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:0;border-top:5px solid #fff}.pin:hover{transform:translate(-50%,calc(-100% - 6px)) scale(1.08);z-index:5}.pin.new{background:var(--violet);color:#fff}.pin.new:after{border-top-color:var(--violet)}.pin.starred:before{content:"★ ";color:#d49b00}.pin.new.starred:before{color:var(--gold)}.pin.starred{box-shadow:0 0 0 2px var(--gold),0 2px 6px rgba(0,0,0,.3)}.pin.check{box-shadow:0 0 0 1.5px dashed;outline:1.5px dashed #6b6377;outline-offset:-1px}.pin.drop:before{content:"↓ ";color:#10965a}.pin.dismissed{opacity:.45;background:#d9d6de;color:#555;text-decoration:line-through}.pin.dismissed:after{border-top-color:#d9d6de}.pin.approx{font-style:normal}.pin.selected{background:#1b1424;color:#fff;transform:translate(-50%,calc(-100% - 6px)) scale(1.15);z-index:10;box-shadow:0 0 0 3px var(--lilac),0 6px 16px rgba(0,0,0,.35)}.pin.selected:after{border-top-color:#1b1424}.cluster{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;text-align:center;min-width:46px;height:46px;padding:0 8px;border-radius:999px;background:rgba(27,20,36,.92);color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.85),0 4px 12px rgba(0,0,0,.3);line-height:1.05;cursor:pointer}.cluster b{font-size:14px}.cluster span{font-size:10px;color:#d6c8ec;white-space:nowrap}.cluster.has-new{background:rgba(110,40,170,.95)}.cluster.has-star{box-shadow:0 0 0 3px var(--gold),0 4px 12px rgba(0,0,0,.3)}.panel{position:absolute;top:12px;left:12px;z-index:1000;width:340px;overflow-x:hidden;max-height:calc(100% - 24px);overflow:auto;background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--r);box-shadow:0 0 0 1px var(--line) inset,0 20px 50px -20px rgba(0,0,0,.6);padding:12px;display:grid;gap:10px;align-content:start}.panel-top{display:flex;gap:8px;align-items:center}.seg{display:inline-flex;background:rgba(255,255,255,.07);border-radius:999px;padding:3px}.seg button{border:0;background:none;padding:6px 14px;border-radius:999px;font-weight:600;font-size:13px;letter-spacing:.06em;color:var(--ink-2)}.seg button.on{background:var(--ink);color:#0b0710}.country{flex:1 1}.panel-toggle{display:none}.count{font-size:14px;color:var(--ink-2)}.badge{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;font-size:11.5px;font-weight:600;background:rgba(255,255,255,.1)}.badge.new{background:var(--violet);color:#fff}.badge.drop{background:#145c3a;color:#b9f3d6}.badge.gone{background:#5a1e1e;color:#ffd0d0}.badge.plain{background:transparent;box-shadow:0 0 0 1px var(--line-2) inset;font-weight:500}.panel-body{display:grid;gap:10px}.row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.row select{flex:1 1}.notes{font-size:12.5px;color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:0;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.07);font-size:13px;color:var(--ink-2)}.chip.on{background:var(--lilac);color:#1b1424;font-weight:600}.chip.ghost{background:none;box-shadow:0 0 0 1px var(--line-2) inset}.grid2{grid-template-columns:1fr 1fr;gap:8px}.grid2,.num{display:grid}.num{gap:3px;font-size:12px;color:var(--muted)}.num-in{display:flex;align-items:center;gap:6px}.num-in input{width:100%;flex:1 1;min-width:0}.num-in em{font:12px var(--sans);color:var(--muted);white-space:nowrap}.checks{display:grid;gap:4px}.check{display:flex;gap:8px;align-items:center;font-size:14px;cursor:pointer}.check input{accent-color:var(--violet);width:16px;height:16px}.more{background:none;border:0;color:var(--lilac);text-align:left;padding:0;font-size:13.5px}.more-body{display:grid;gap:8px}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;padding-top:4px;border-top:1px solid var(--line)}.legend .pin{position:static;transform:none;font-size:11px;cursor:default}.legend .pin:after{display:none}.toolbar{position:absolute;top:12px;right:12px;z-index:1000;display:flex;gap:6px}.tb{height:38px;padding:0 14px;border-radius:999px;border:0;background:var(--panel);color:var(--ink);box-shadow:0 0 0 1px var(--line) inset,0 8px 24px -10px rgba(0,0,0,.5);font-size:14px}.tb.on{background:var(--ink);color:#0b0710}.list-panel{position:absolute;z-index:999;top:60px;right:12px;bottom:12px;width:390px;display:flex;flex-direction:column;background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--r);box-shadow:0 0 0 1px var(--line) inset,0 20px 50px -20px rgba(0,0,0,.6);overflow:hidden}.list-panel header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.list,.list-panel header select{flex:1 1}.list{overflow:auto}.item{display:grid;grid-template-columns:76px 1fr auto;gap:10px;padding:9px 12px;border-bottom:1px solid var(--line);cursor:pointer;align-items:center}.item:hover{background:rgba(255,255,255,.04)}.item.sel{background:rgba(139,63,209,.18)}.item.dim{opacity:.5}.item .noimg,.item img{width:76px;height:58px;object-fit:cover;border-radius:8px;background:var(--panel-2)}.item-top{display:flex;align-items:center;gap:6px}.item-title{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score{margin-left:auto;font-size:11px;color:var(--muted);border:1px solid var(--line-2);border-radius:999px;padding:0 6px}.star{color:var(--gold)}.cmp input{accent-color:var(--violet);width:18px;height:18px}.sheet-wrap{position:fixed;inset:0;z-index:2000;background:rgba(8,6,12,.28);display:flex;align-items:center;justify-content:center;padding:16px;animation:fade .18s var(--ease)}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(24px);opacity:0}}.sheet{width:min(880px,100%);max-height:min(92vh,1000px);display:flex;flex-direction:column;background:var(--panel-solid);border-radius:22px;box-shadow:0 0 0 1px var(--line) inset,0 40px 100px -30px rgba(0,0,0,.8);overflow:hidden;outline:none;animation:rise .22s var(--ease)}.sheet.settings{width:min(720px,100%)}.sheet.compare{width:min(1180px,100%)}.grab{display:none}.sheet-head{justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.sheet-head,.sheet-head .nav{display:flex;align-items:center}.sheet-head .nav{gap:6px}.sheet-head .nav button{width:34px;height:34px;border-radius:999px;border:0;background:rgba(255,255,255,.08);font-size:20px;line-height:1}.actions{display:flex;gap:4px}.act,.actions{align-items:center}.act{height:34px;padding:0 11px;border-radius:999px;border:0;background:rgba(255,255,255,.07);font-size:13.5px;display:inline-flex;gap:5px}.act.on{background:rgba(255,255,255,.18)}.act.on.star{color:var(--gold)}.act.close{width:34px;padding:0;justify-content:center;font-size:22px}.sheet-body{overflow:auto;padding:0 0 20px;display:grid;gap:14px;align-content:start}.photos{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;padding:12px 12px 0}.photos img{height:260px;width:auto;max-width:86%;object-fit:cover;border-radius:12px;scroll-snap-align:start;flex:none;background:var(--panel-2)}.photos.empty{padding:28px 16px 8px;font-size:14px}.title-block{padding:0 18px;display:grid;gap:6px;justify-items:start}.title-block .badges .badge:first-child{margin-left:0}.title-block h2{font-size:22px}.price{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}.price b{font-size:26px;font-weight:600;letter-spacing:-.02em}.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;padding:0 18px}.fact{background:rgba(255,255,255,.04);border-radius:10px;padding:7px 10px;display:grid}.fact span{font-size:12px;color:var(--muted)}.fact b{font-weight:500;font-size:14px;text-transform:none}.card{margin:0 18px;padding:14px;border-radius:14px;background:rgba(255,255,255,.035);box-shadow:0 0 0 1px var(--line) inset;display:grid;gap:8px}.card h3{font-size:16px}.card.dog.large_ok{box-shadow:inset 0 0 0 1px rgba(126,224,178,.45)}.card.dog.no_pets,.card.dog.small_only{box-shadow:inset 0 0 0 1px rgba(244,163,163,.5)}.card.dog.negotiable,.card.dog.unknown{box-shadow:inset 0 0 0 1px rgba(242,164,58,.45)}table.calc{width:100%;border-collapse:collapse;font-size:14px}table.calc td{padding:6px 0;border-bottom:1px solid var(--line);vertical-align:top}table.calc td:last-child{text-align:right;padding-left:12px;white-space:nowrap}table.calc tr.total td{font-weight:600;border-bottom:0}.facts-list{margin:0;padding-left:18px;display:grid;gap:6px;font-size:14px}details summary{cursor:pointer;color:var(--lilac);font-size:14px}details[open] summary{margin-bottom:8px}.desc{white-space:pre-wrap;font-size:14px;color:var(--ink-2)}.features{padding:0 18px}.bars{display:grid;gap:8px}.bar-row{display:grid;grid-template-columns:130px 1fr 70px;gap:10px;align-items:center;font-size:13px}.bar-track{position:relative;height:14px;background:rgba(255,255,255,.05);overflow:hidden}.bar,.bar-track{border-radius:999px}.bar{position:absolute;left:0;top:0;bottom:0}.bar.ask{background:#d9d6de}.bar.fair{background:var(--ok);opacity:.85}.bar.mine{background:var(--lilac)}.bar-range{position:absolute;top:0;bottom:0;background:rgba(126,224,178,.25)}.bar-val{text-align:right;font-weight:600}.factor-edit,.factors{display:grid;gap:6px}.factor{display:grid;grid-template-columns:1fr 140px 26px auto;gap:8px;align-items:center;font-size:13.5px}.factor input[type=range]{accent-color:var(--violet)}.factor input[type=range].unset{opacity:.35}.factor-edit .factor{grid-template-columns:1fr 120px 26px auto}.fv{text-align:right;font-weight:600}.cmp-scroll{overflow:auto}.cmp-table{border-collapse:collapse;font-size:13.5px;margin:12px}.cmp-table td,.cmp-table th{padding:7px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;min-width:180px}.cmp-table tbody th{color:var(--muted);font-weight:500;min-width:130px;position:sticky;left:0;background:var(--panel-solid)}.cmp-table thead th{vertical-align:bottom}.cmp-table .noimg,.cmp-table img{width:100%;height:110px;object-fit:cover;border-radius:10px;margin-bottom:6px;background:var(--panel-2)}.sources{width:100%;border-collapse:collapse}.sources td{padding:9px 0;border-bottom:1px solid var(--line);vertical-align:top}.sources td:last-child{width:60px;text-align:right}.tag{display:inline-block;font-size:11px;padding:0 7px;border-radius:999px;background:rgba(255,255,255,.08)}.tag.api{background:#145c3a;color:#b9f3d6}.tag.scrape{background:#5c3d14;color:#ffe0b3}.switch{position:relative;display:inline-block;width:42px;height:24px}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;inset:0;border-radius:999px;background:rgba(255,255,255,.15);transition:.2s;cursor:pointer}.switch span:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.switch input:checked+span{background:var(--violet)}.switch input:checked+span:before{transform:translateX(18px)}.log{margin:0;padding-left:16px;font-size:12.5px;max-height:240px;overflow:auto}.field{display:grid;gap:4px;font-size:13px;color:var(--muted)}.field input,.field select,.field textarea{color:var(--ink)}.settings .sheet-body{padding:14px 0 20px}.settings .sheet-body>.btn-primary,.settings .sheet-body>.checks,.settings .sheet-body>.error,.settings .sheet-body>.field,.settings .sheet-body>.grid2,.settings .sheet-body>p{margin:0 18px}.toast{position:fixed;z-index:3000;left:50%;bottom:calc(24px + env(safe-area-inset-bottom, 0px));transform:translateX(-50%);background:var(--ink);color:#0b0710;padding:9px 16px;border-radius:999px;font-size:14px;box-shadow:0 10px 30px -10px rgba(0,0,0,.5);max-width:calc(100% - 32px)}.toast.error{background:#5a1e1e;color:#ffd0d0}.login-page{position:relative;min-height:100vh;display:grid;place-items:center;padding:24px;overflow:hidden}.aura{position:absolute;inset:auto -20% 40% -20%;height:70vh;pointer-events:none;background:radial-gradient(ellipse at center,rgba(139,63,209,.28),transparent 60%);filter:blur(20px)}.login-card{position:relative;display:grid;justify-items:center;gap:16px;text-align:center;width:min(420px,100%);padding:40px 28px;border-radius:24px;background:linear-gradient(180deg,var(--panel-2),var(--panel-solid));box-shadow:0 0 0 1px var(--line) inset,0 30px 80px -40px var(--glow)}.login-card h1{font-size:40px;font-weight:500;letter-spacing:-.035em;margin:0}.login-card h1 em{background:linear-gradient(100deg,#e9dcff 10%,var(--lilac) 45%,#8b3fd1 90%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}.login-error{color:var(--bad);font-size:14px}.login-card .btn{display:inline-flex;height:48px;align-items:center;padding:0 22px;border-radius:999px}.login-card .btn-primary{height:48px}@media (max-width:720px){.panel{top:calc(8px + env(safe-area-inset-top, 0px));left:8px;right:8px;width:auto;padding:8px;gap:6px;max-height:calc(100% - 90px)}.panel-toggle{display:inline-flex;height:34px;align-items:center;padding:0 12px;border-radius:999px;border:0;background:rgba(255,255,255,.1);font-size:13.5px;white-space:nowrap}.panel-body{display:none}.panel.open .panel-body{display:grid}.count{font-size:13px;padding-left:4px}.country{width:0;flex:1 1}.toolbar{top:auto;right:auto;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom, 0px))}.leaflet-bottom.leaflet-right{bottom:64px}.list-panel{top:auto;left:0;right:0;bottom:0;width:auto;height:62vh;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom,0)}.sheet-wrap{align-items:flex-end;padding:0}.sheet{width:100%;max-height:90vh;border-radius:22px 22px 0 0;animation:rise .25s var(--ease);padding-bottom:env(safe-area-inset-bottom,0)}.grab{display:block;width:40px;height:4px;border-radius:4px;background:rgba(255,255,255,.25);margin:8px auto 0}.act span{display:none}.photos img{height:200px}.facts,.features,.title-block{padding:0 14px}.card{margin:0 14px}.bar-row{grid-template-columns:92px 1fr 60px}.factor{grid-template-columns:1fr 100px 22px auto}}