:root{line-height:1.5;font-weight:400;color:#1f1417;background-color:#f6f1f3;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-family:Helvetica Neue,Arial,sans-serif;font-size:17px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:#f6f1f3;color:inherit;font-family:inherit}#root{min-height:100vh}a{color:inherit}button{font-family:inherit}#root{width:100%;min-height:100vh;margin:0;padding:0;box-sizing:border-box;background-color:#782f40}:root{--cluster-circle-color: #721414ff;--cluster-circle-radius-base: 20;--cluster-circle-radius-mid: 30;--cluster-circle-radius-high: 40;--cluster-circle-threshold-mid: 10;--cluster-circle-threshold-high: 50;--map-zoom: 9;--map-max-zoom: 17;--map-min-zoom: 4;--house-icon-color: #782f40;--panel-inset: .35rem}.filter-section{display:flex;flex-direction:column;gap:1rem;margin:2rem}.price-input-row{display:flex;align-items:center;gap:.75rem}.price-input-label{min-width:2.5rem;font-weight:600;color:#1c1c1c}.price-input-row .text-input{max-width:10rem;padding:.45rem .6rem;font-size:.9rem}.price-input-toggle{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer}.price-input-toggle input{margin:0}.price-input-row-disabled .price-input-label,.price-input-row-disabled .text-input{color:#9b8b91}.price-input-row-disabled .text-input{background-color:#f3ecee;border-color:#e1d4d9}.text-input-disabled{background-color:#f3ecee;border-color:#e1d4d9;color:#9b8b91}.location-input-row{display:flex;align-items:center;gap:.75rem}.location-input-row-disabled .location-input-toggle,.location-input-row-disabled .text-input{color:#9b8b91}.location-input-row-disabled .text-input{background-color:#f3ecee;border-color:#e1d4d9}.location-input-toggle{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:#1c1c1c;cursor:pointer}.location-input-toggle input{margin:0}.sidebar-divider{border:0;border-top:2px solid #782f40;margin:.5rem 0 1.5rem;width:100%}.app-layout{display:flex;flex-direction:row;align-items:flex-start;gap:1rem;height:100vh;width:100%;position:relative;padding:1rem;box-sizing:border-box}.map-shell{position:relative;height:100%;width:calc(70% - .5rem);border-radius:8px;overflow:hidden}.map-container{height:100%;width:100%}.filter-crumbs{position:absolute;top:12px;left:12px;display:flex;flex-wrap:wrap;gap:.4rem;max-width:calc(100% - 24px);font-size:.82rem;opacity:.92;z-index:2}.filter-crumb{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border-radius:999px;border:1px solid rgba(120,47,64,.22);background:#f8f8f8e6;color:#4a1f2a;box-shadow:0 4px 10px #0000001f}.filter-crumb-remove{border:0;background:transparent;padding:0;font-size:.85rem;font-weight:700;color:#782f40;cursor:pointer;line-height:1}.filter-crumb-remove:hover{color:#4a1f2a}.sidebar{width:calc(30% - .5rem);height:100%;box-sizing:border-box;background-color:#f8f8f8;border-radius:8px;padding:1rem;font-family:Helvetica Neue,Arial,sans-serif;transform:translate(var(--panel-inset));overflow-y:auto}.text-input{width:100%;padding:.6rem .75rem;border-radius:8px;border:1px solid #d6c7cc;background-color:#fff;font-size:1rem;color:#1c1c1c}.text-input:focus{outline:2px solid rgba(120,47,64,.45);border-color:#782f40}.header{text-align:center;margin-bottom:1rem;color:#782f40;font-size:1.3rem;font-weight:700}.header2{text-align:left;margin-bottom:1rem;color:#000;font-size:1.05rem}.header3{text-align:left;margin-bottom:.8rem;color:#000;font-size:.95rem}.house-info{font-size:21px;background-color:transparent;border:none}.panel-toggle{position:fixed;z-index:950;background:#782f40;color:#fff;border:none;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px #0000002e;transition:transform .1s ease,box-shadow .2s ease;margin:1.5rem}.panel-toggle:hover{transform:translateY(-1px);box-shadow:0 8px 20px #0000002e}.panel-toggle:active{transform:translateY(0);box-shadow:none}.panel-toggle--sidebar{top:16px;left:26px}.panel-toggle--house{right:16px;bottom:26px}.house-info-text{font-size:16px;color:#4a4a4a;background-color:#f8f8f8;width:fit-content;text-align:left;padding-top:20px}.info-grid{min-width:fit-content;gap:10px}.info-row{display:flex;justify-content:space-between;gap:8px;font-size:16px;color:#303030}.info-key{font-weight:600;color:#782f40}.info-value{text-align:right;color:#1c1c1c}.bottom-sheet-toggle{display:inline-flex;align-items:center;gap:8px;position:fixed;top:40px;left:10px;padding:10px 14px;background:#782f40;color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px #0000002e;z-index:1000;margin:1.5rem}.bottom-sheet-toggle:hover{transform:translateY(-1px);box-shadow:0 8px 20px #0000002e}.bottom-sheet-toggle:active{transform:translateY(0);box-shadow:none}@media screen and (min-width: 769px){.app-layout.sidebar-collapsed .sidebar{display:none}.app-layout.sidebar-collapsed .map-shell{width:100%}}@media screen and (max-width: 768px){.panel-toggle--sidebar{display:none}.panel-toggle--house{bottom:86px;right:12px}.sidebar{position:fixed;bottom:0;left:0;width:100%;height:60vh;max-height:90vh;transform:translateY(100%);transition:transform .3s ease;border-radius:8px 8px 0 0;z-index:999}.sidebar.open{transform:translateY(0)}.map-shell{width:100%;height:80vh;z-index:1}.bottom-sheet-handle{width:40px;border-radius:8px}.bottom-sheet-toggle{display:flex;position:fixed;top:auto;bottom:0;left:0;width:100%;height:10%;justify-content:center;align-items:center;background:#782f40;color:#fff;border:none;border-radius:8px 8px 0 0;z-index:1000;cursor:pointer;box-shadow:none}}.layer-toggle-row{display:flex;align-items:center;color:#000;gap:.5rem;font-size:1.05rem}.feature-overlay{position:fixed;right:calc(16px + var(--panel-inset, .35rem));bottom:16px;max-width:340px;max-height:80vh;width:28%;min-width:240px;background:#fff;border-radius:10px;box-shadow:0 8px 24px #0000001f;padding:12px 14px;box-sizing:border-box;z-index:900;display:flex;flex-direction:column;gap:8px;margin:1.5rem}.feature-overlay__title{font-weight:700;color:#782f40;font-size:16px}.feature-overlay__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.feature-overlay__close{background:transparent;border:none;color:#4a1f2a;font-size:18px;cursor:pointer;line-height:1}.feature-overlay__button{background:#782f40;color:#fff;border:none;border-radius:8px;padding:8px 10px;cursor:pointer;font-weight:600;font-size:14px;transition:transform .1s ease,box-shadow .2s ease}.feature-overlay__button:hover{transform:translateY(-1px);box-shadow:0 4px 10px #0000001f}.feature-overlay__button:active{transform:translateY(0);box-shadow:none}.feature-overlay__props{max-height:calc(80vh - 64px);overflow:auto;display:flex;flex-direction:column;gap:6px}.feature-overlay__section{background:#f6f1f3;border:1px solid #e6d6da;border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:6px}.feature-overlay__section-title{font-weight:700;color:#4a1f2a;font-size:14px}.feature-overlay__row{display:flex;justify-content:space-between;gap:8px;font-size:14px;color:#1c1c1c}.feature-overlay__key{font-weight:600;color:#3d1a22}.feature-overlay__value{text-align:right;word-break:break-word}.feature-overlay__empty{color:#6b6b6b;font-size:14px}.start-screen{min-height:100vh;display:grid;place-items:center;padding:3rem 1.5rem;background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.18),transparent 55%),radial-gradient(circle at 85% 80%,rgba(255,255,255,.12),transparent 50%)}.start-screen__panel{width:min(980px,100%);background:#f8f6f7;color:#1f1417;border-radius:22px;padding:clamp(1.5rem,3vw,3.5rem);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2.5rem;box-shadow:0 30px 60px #2f0e1659}.start-screen__intro{display:flex;flex-direction:column;gap:1rem}.start-screen__eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#782f40}.start-screen__title{font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin:0}.start-screen__subtitle{margin:0;font-size:1.05rem;color:#4a1f2a}.start-screen__list{margin:0;padding-left:1.1rem;display:grid;gap:.45rem;color:#3c2a2f}.start-screen__actions{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.start-screen__cta{align-self:flex-start;padding:.75rem 1.4rem;border-radius:999px;border:0;background:#782f40;color:#f8f8f8;font-weight:600;font-size:1rem;cursor:pointer;box-shadow:0 12px 24px #782f404d}.start-screen__cta:hover{background:#5e2331}.start-screen__cta:disabled{background:#b9a3aa;cursor:not-allowed;box-shadow:none;opacity:.8}.start-screen__note{font-size:.95rem;color:#6b4a53}.start-screen__debug{font-size:.85rem;color:#8b6b74}.start-screen__preview{position:relative;background:linear-gradient(155deg,#fff,#f2e8eb);border-radius:18px;padding:1.5rem;display:grid;gap:1.2rem;align-content:start;min-height:320px}.start-screen__preview-map{position:relative;height:190px;border-radius:16px;background:linear-gradient(135deg,rgba(120,47,64,.12),transparent 60%),linear-gradient(0deg,#ffffffe6,#ffffffe6);border:1px solid rgba(120,47,64,.18);overflow:hidden}.start-screen__preview-dot{position:absolute;height:12px;width:12px;border-radius:50%;background:#782f40;box-shadow:0 6px 16px #782f4059}.start-screen__preview-dot--a{top:25%;left:20%}.start-screen__preview-dot--b{top:55%;left:55%}.start-screen__preview-dot--c{top:35%;left:70%}.start-screen__preview-card{position:absolute;right:12px;bottom:12px;width:140px;padding:.6rem;background:#fff;border-radius:10px;box-shadow:0 12px 30px #0000001f;display:grid;gap:.4rem}.start-screen__preview-row{height:8px;border-radius:999px;background:#782f402e}.start-screen__preview-row--short{width:70%}.start-screen__preview-pill{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .9rem;border-radius:999px;background:#782f401f;color:#5e2331;font-weight:600;font-size:.9rem;width:fit-content}.start-screen__preview-pill--accent{background:#0b1e3a1f;color:#0b1e3a}@media (max-width: 900px){.start-screen__panel{grid-template-columns:1fr}.start-screen__preview{min-height:260px}}@media (max-width: 600px){.start-screen{padding:2rem 1rem}.start-screen__panel{padding:1.5rem}.start-screen__cta{width:100%;justify-content:center}}
