/* Scoped explorer: shared site cards and navigation keep their existing appearance. */
body.page-map-explorer { --mx-ink:#182126; --mx-muted:#68757b; --mx-line:#e2e8e8; --mx-accent:#087f75; --mx-soft:#edf8f6; margin:0; overflow:hidden; background:#fff; color:var(--mx-ink); }
.page-map-explorer #sidebar { position:relative!important; inset:auto!important; transform:none!important; height:64px!important; z-index:30; }
.page-map-explorer main { margin:0!important; padding:0!important; height:auto!important; min-height:0!important; overflow:visible!important; }
.mx-header,.mx-app,.mx-filter-dialog { font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; color:var(--mx-ink,#182126); line-height:1.45; font-size:14px; }
.mx-header *,.mx-app *,.mx-filter-dialog * { box-sizing:border-box; }
.mx-header button,.mx-app button,.mx-filter-dialog button,.mx-header select,.mx-app select,.mx-filter-dialog select,.mx-app input,.mx-filter-dialog input { font:inherit; }
.mx-app [hidden],.mx-header [hidden],.mx-filter-dialog [hidden] { display:none!important; }
.mx-header a,.mx-app a { color:inherit; text-decoration:none; }
.mx-header button,.mx-app button,.mx-filter-dialog button { cursor:pointer; }
.mx-header :focus-visible,.mx-app :focus-visible,.mx-filter-dialog :focus-visible { outline:3px solid #54b8ac; outline-offset:3px; }
.mx-header button:disabled,.mx-app button:disabled { opacity:.55; cursor:wait; }
.mx-icon { flex:none; vertical-align:middle; }
.mx-sr { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.mx-header { height:64px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0 28px; border-bottom:1px solid var(--mx-line); background:#fff; }
.mx-brand { display:flex; align-items:center; flex:none; }
.mx-brand img { width:186px; height:34px; object-fit:contain; }
.mx-nav { display:flex; height:100%; align-items:stretch; gap:28px; }
.mx-nav a { display:flex; align-items:center; border-bottom:3px solid transparent; padding:3px 8px 0; font-weight:550; }
.mx-nav a[aria-current] { border-color:var(--mx-accent); color:var(--mx-accent); }
.mx-header__tools { display:flex; align-items:center; gap:19px; }
.mx-saved-button { display:flex; align-items:center; gap:7px; border:0; background:transparent; color:inherit; padding:8px 0; }
.mx-saved-button[aria-pressed=true] { color:var(--mx-accent); }
.mx-saved-button small { font-size:11px; border-radius:20px; background:#eef3f2; padding:2px 5px; }
.mx-currency select { border:0; background:transparent; color:inherit; max-width:64px; }
.mx-language { position:relative; }
.mx-language summary { list-style:none; display:flex; align-items:center; gap:4px; cursor:pointer; padding:10px 0; }
.mx-language summary::-webkit-details-marker { display:none; }
.mx-language>div { position:absolute; inset-inline-end:0; top:100%; background:white; border:1px solid var(--mx-line); padding:8px; border-radius:10px; min-width:130px; box-shadow:0 8px 30px #152a2520; z-index:60; }
.mx-language a { display:block; padding:9px 12px; border-radius:6px; }
.mx-language a:hover { background:var(--mx-soft); }
.mx-app { height:calc(100vh - 64px); height:calc(100dvh - 64px); display:flex; flex-direction:column; position:relative; }
.mx-toolbar { flex:none; z-index:20; background:white; border-bottom:1px solid var(--mx-line); }
.mx-toolbar__main { display:flex; align-items:center; gap:10px; padding:14px 24px 10px; margin:0; }
.mx-search { display:flex; align-items:center; gap:10px; border:1px solid var(--mx-line); border-radius:10px; height:46px; padding:0 12px; flex:1; min-width:140px; position:relative; background:#fcfdfd; }
.mx-search:focus-within { border-color:var(--mx-accent); box-shadow:0 0 0 3px #087f7510; }
.mx-search input { border:0!important; box-shadow:none!important; outline:none!important; padding:0!important; min-width:0; width:100%; background:transparent; color:var(--mx-ink); font-size:14px; height:42px; }
.mx-search-go { border:0; background:transparent; color:var(--mx-accent); display:grid; place-items:center; width:30px; height:36px; }
.mx-toolbar select,.mx-filter-dialog select { background-color:#fff; border:1px solid var(--mx-line); border-radius:10px; padding:0 28px 0 12px; height:46px; color:var(--mx-ink); width:100%; }
.mx-mode-select { display:none; }
.mx-property-select { width:165px; margin:0; }
.mx-btn { border:1px solid var(--mx-line); border-radius:10px; background:#fff; padding:11px 15px; height:46px; display:inline-flex; align-items:center; justify-content:center; gap:9px; color:var(--mx-ink); white-space:nowrap; }
.mx-btn:hover { background:#f6f9f8; border-color:#b9cfca; }
.mx-btn--primary { background:var(--mx-accent); color:white; border-color:var(--mx-accent); }
.mx-btn--primary:hover { background:#066a62; color:white; }
[data-filter-count] { background:var(--mx-accent); color:#fff; border-radius:50px; min-width:22px; height:22px; padding:2px 5px; font-size:12px; text-align:center; }
.mx-toolbar__sub { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 24px 10px; min-height:43px; }
.mx-active-filters { display:flex; align-items:center; gap:7px; flex-wrap:wrap; min-width:0; }
.mx-chip { border:1px solid var(--mx-line); border-radius:8px; background:#f4f6f6; display:inline-flex; align-items:center; gap:8px; padding:6px 9px; color:#364447; font-size:12px; max-width:240px; }
.mx-chip span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mx-chip--status { background:var(--mx-soft); color:var(--mx-accent); border-color:#d1e9e4; }
.mx-chip--launch { background:#fff8e9; color:#845400; border-color:#ead099; }
.mx-text-button { background:none; border:0; color:var(--mx-accent); padding:7px 3px; text-decoration:underline; text-underline-offset:3px; font-size:12px; }
.mx-view-toggle { display:flex; flex:none; padding:3px; background:#f6f8f8; border:1px solid var(--mx-line); border-radius:9px; gap:2px; }
.mx-view-toggle button { display:flex; align-items:center; gap:7px; padding:6px 10px; border:1px solid transparent; border-radius:6px; background:transparent; font-size:12px; color:#667378; }
.mx-view-toggle button[aria-pressed=true] { color:var(--mx-accent); border-color:#afd7d0; background:#fff; }
.mx-workspace { flex:1; min-height:0; display:flex; position:relative; }
#mx-split-resizer { display:none; }
.mx-viewport-note { font-size:11px; color:var(--mx-accent); background:var(--mx-soft); border-radius:8px; padding:9px 10px; margin:0 0 12px; }
.mx-results-divider { grid-column:1/-1; color:var(--mx-muted); font-size:12px; font-weight:600; border-top:1px solid var(--mx-line); margin:18px 0 12px; padding-top:15px; }
.mx-app.is-viewport-loading .mx-list-head { box-shadow:inset 0 -2px var(--mx-soft); }
@media(min-width:768px) {
    .mx-app[data-view=split] .mx-list { width:var(--mx-panel-width,35%); min-width:280px; max-width:calc(100% - 340px); flex:none; }
    .mx-app[data-view=split] #mx-split-resizer { display:flex; align-items:center; justify-content:center; flex:0 0 10px; background:#f6faf9; cursor:col-resize; touch-action:none; z-index:6; }
    #mx-split-resizer span { width:3px; height:44px; border-radius:4px; background:#b4cfca; }
    #mx-split-resizer:hover span,#mx-split-resizer:focus-visible span,.is-resizing #mx-split-resizer span { background:var(--mx-accent); }
    .mx-app.is-resizing { cursor:col-resize; user-select:none; }
    .mx-app.is-resizing .mx-map-pane { pointer-events:none; }
}
.mx-list { width:35%; min-width:370px; max-width:550px; background:#fff; border-inline-end:1px solid var(--mx-line); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#cbd6d3 transparent; position:relative; z-index:5; }
#mx-listing { padding:0 16px; }
.mx-list-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:21px 0 15px; background:#fff; position:sticky; top:0; z-index:3; }
.mx-list-head h1 { font-size:21px; font-weight:700; line-height:1.3; margin:0; letter-spacing:-.5px; }
.mx-list-note { font-size:11px; color:var(--mx-muted); margin:5px 0 0; }
.mx-list-note:empty { display:none; }
.mx-sort { max-width:125px; margin:0; }
.mx-sort select { width:100%; border:0; background:white; padding:8px 0; font-size:12px; color:#536269; }
#mx-cards { display:flex; flex-direction:column; gap:12px; }
.mx-card { display:flex; align-items:stretch; gap:13px; padding:10px; border:1px solid var(--mx-line); border-radius:12px; position:relative; background:white; transition:border-color .15s,background .15s,box-shadow .15s; min-height:152px; }
.mx-card:hover { border-color:#a5cec6; box-shadow:0 3px 12px #152f2510; }
.mx-card.is-selected { border-color:var(--mx-accent); background:var(--mx-soft); }
.mx-card__image { display:block; flex:0 0 30%; max-width:145px; border:0; padding:0; border-radius:8px; overflow:hidden; background:#edf0ee; align-self:stretch; position:relative; }
.mx-card__image img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.mx-card__body { min-width:0; flex:1; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.mx-card__heading { display:flex; align-items:flex-start; gap:5px; width:100%; margin-bottom:4px; }
.mx-card__heading h2 { flex:1; min-width:0; padding-top:5px; }
.mx-card__actions { display:flex; align-items:center; gap:3px; flex:none; }
.mx-card__body h2 { font-size:14px; font-weight:650; line-height:1.4; margin:0 0 6px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.mx-card__body h2 a:hover { color:var(--mx-accent); }
.mx-card__price { color:var(--mx-accent); font-weight:700; font-size:17px; line-height:1.25; margin:0 0 8px; text-align:start; }
.mx-card__price span { color:var(--mx-muted); font-size:11px; font-weight:400; }
.mx-card__location { font-size:11px; color:#56656b; margin:0 0 5px; line-height:1.45; }
.mx-card__details { font-size:11px; color:#59696e; margin:0 0 7px; line-height:1.4; }
.mx-card__status { display:flex; align-items:center; gap:4px; font-size:10px; font-weight:500; color:#4e6568; margin:0; background:#f3f6f6; border-radius:4px; padding:3px 5px; }
.mx-card__status.is-launch { color:#846324; background:#fcf1d9; }
.mx-card__status.is-ready { background:#e5f5ee; color:#25755b; }
.mx-copy-link { position:relative; display:grid; place-items:center; flex:none; width:32px; height:32px; padding:0; border:0; border-radius:8px; background:transparent; color:var(--mx-accent); }
.mx-copy-link::before { content:""; position:absolute; inset:0; border:1px solid #d1e9e4; border-radius:8px; background:#fff; }
.mx-copy-link:hover::before { background:var(--mx-soft); border-color:#afd7d0; }
.mx-copy-link>.mx-icon { position:relative; }
.mx-copy-link::after { content:attr(data-tooltip); position:absolute; top:calc(100% + 6px); inset-inline-end:0; z-index:25; border-radius:6px; background:#213536; color:white; padding:7px 9px; font:500 11px/1.4 Inter,system-ui,sans-serif; white-space:nowrap; box-shadow:0 3px 12px #152f2520; pointer-events:none; visibility:hidden; opacity:0; transition:opacity .12s; }
.mx-copy-link:focus-visible::after { visibility:visible; opacity:1; }
@media(hover:hover) { .mx-copy-link:hover::after { visibility:visible; opacity:1; } }
.mx-copy-link:disabled { opacity:.65; cursor:wait; }
.mx-preview__copy { width:44px; height:44px; }
.mx-preview__copy::after { top:auto; bottom:calc(100% + 6px); }
.mx-save { position:absolute; inset-inline-end:8px; top:10px; width:26px; height:29px; border:0; background:transparent; color:#596a70; display:grid; place-items:center; padding:0; border-radius:50%; }
.mx-save[aria-pressed=true] { color:var(--mx-accent); }
.mx-save[aria-pressed=true] svg { fill:#d6eee8; }
.mx-card__actions .mx-save { position:static; width:32px; height:32px; flex:none; }
.mx-list-foot { display:flex; align-items:center; justify-content:space-between; padding:18px 2px 24px; font-size:11px; color:var(--mx-muted); gap:10px; }
.mx-load-more { border:0; background:transparent; color:var(--mx-accent); display:flex; align-items:center; gap:8px; font-weight:600; padding:8px; }
.mx-selected-label { display:block; font-size:11px; color:var(--mx-accent); padding-bottom:6px; }
#mx-selected-card { padding-bottom:16px; margin-bottom:12px; border-bottom:1px solid var(--mx-line); }
.mx-map-pane { flex:1; min-width:0; position:relative; background:#eef2ef; overflow:hidden; }
#mx-map { width:100%; height:100%; min-height:200px; }
.mx-map-top { position:absolute; top:16px; inset-inline-start:18px; inset-inline-end:64px; display:flex; flex-wrap:wrap; align-items:flex-start; gap:12px; pointer-events:none; }
.mx-city-pills { display:flex; gap:6px; max-width:100%; overflow:auto; scrollbar-width:none; pointer-events:auto; }
.mx-city-pills button,.mx-search-area { background:white; border:1px solid #d5e0dd; box-shadow:0 2px 6px #19382d12; border-radius:9px; padding:9px 12px; font-size:12px; color:var(--mx-ink); white-space:nowrap; }
.mx-city-pills button.is-active { background:var(--mx-accent); border-color:var(--mx-accent); color:white; }
.mx-search-area { display:flex; align-items:center; gap:7px; pointer-events:auto; font-weight:600; margin-inline:auto; }
.mx-search-area:hover { background:var(--mx-soft); }
.mx-map-count { position:absolute; top:66px; inset-inline-start:18px; font-size:11px; color:#526365; background:#fffffff2; padding:7px 11px; border-radius:20px; box-shadow:0 2px 6px #19382d12; pointer-events:none; max-width:calc(100% - 80px); }
.mx-map-status { position:absolute; top:45%; left:50%; transform:translate(-50%,-50%); background:white; padding:18px 22px; border-radius:12px; box-shadow:0 4px 20px #172a2520; width:max-content; max-width:85%; text-align:center; z-index:1; }
.mx-map-status.is-error { color:#785444; }
.mx-fullscreen { position:absolute; top:16px; inset-inline-end:14px; }
.mx-map-controls { position:absolute; inset-inline-end:14px; bottom:38px; display:flex; flex-direction:column; gap:10px; }
.mx-map-control { width:39px; height:39px; background:#fff; border:1px solid #dde6e2; color:#253a3b; border-radius:9px; display:grid; place-items:center; box-shadow:0 2px 8px #122e2212; padding:0; }
.mx-map-control:hover { background:var(--mx-soft); }
.mx-zoom { border-radius:9px; overflow:hidden; box-shadow:0 2px 8px #122e2212; }
.mx-zoom button { border-radius:0; box-shadow:none; }
.mx-zoom button+button { border-top:0; }
.mx-pin { width:172px; min-height:60px; padding:9px 8px 9px 51px; border:2px solid white; border-radius:11px; background:#087f75; color:white; font:600 12px/1.35 Inter,system-ui,sans-serif; box-shadow:0 4px 12px #123c3038; position:relative; box-sizing:border-box; cursor:pointer; transition:box-shadow .15s,border-color .15s; }
.mx-pin::after { content:""; position:absolute; width:11px; height:11px; background:#087f75; border-right:2px solid white; border-bottom:2px solid white; left:calc(50% - 6px); bottom:-8px; transform:rotate(45deg); }
.mx-pin__body { display:block; min-width:0; }
.mx-pin__name { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; line-height:16px; color:white!important; }
.mx-pin__price { display:block; color:white!important; font-size:14px; line-height:19px; font-weight:750; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mx-pin__photo { display:none; height:88px; width:100%; overflow:hidden; background:#d9ece7; border-radius:8px 8px 0 0; }
.mx-pin__image { display:block; width:100%; height:100%; object-fit:cover; }
.mx-pin__brand { position:absolute; top:10px; left:7px; z-index:1; }
.mx-developer-badge { position:relative; width:36px; height:36px; display:grid; place-items:center; background:#fff; border-radius:7px; overflow:hidden; box-shadow:0 1px 6px #15372e25; flex:none; }
.mx-developer-initials { color:#087f75!important; font:700 12px/1 system-ui,sans-serif; }
.mx-pin__developer { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; padding:4px; background:white; }
.mx-pin__developer[hidden],.mx-pin__image[hidden] { display:none!important; }
.mx-pin__status { display:none; position:absolute; top:6px; right:6px; padding:3px 5px; border-radius:5px; background:#fff1cc; color:#724c00!important; font:650 9px/1.2 Inter,system-ui,sans-serif; max-width:95px; }
.mx-pin.is-photo { padding:0; }
.mx-pin.is-photo .mx-pin__photo,.mx-pin.is-photo .mx-pin__status { display:block; }
.mx-pin.is-photo .mx-pin__body { padding:7px 9px 8px; }
.mx-pin.is-photo .mx-pin__brand { top:6px; left:6px; }
.mx-pin.is-photo .mx-developer-badge { width:42px; height:42px; }
.mx-pin.is-photo .mx-pin__name { font-size:12px; }
.mx-pin.is-selected,.mx-pin.is-hover { box-shadow:0 0 0 3px #42baaa,0 6px 20px #103e3845; }
.mx-pin.is-selected { border-color:#b3f6e9; }
.mx-pin.is-pre-launch { border-color:#f3d48a; }
.mx-pin.is-pre-launch::after { border-color:#f3d48a; animation:mx-launch-pulse 2.8s ease-out infinite; }
@keyframes mx-launch-pulse { 0%,100% { box-shadow:0 0 0 0 #dcaa454d; } 65% { box-shadow:0 0 0 6px #dcaa4500; } }
.mx-cluster { display:flex; align-items:center; gap:6px; min-height:48px; padding:4px 10px 4px 4px; background:#087f75; color:white; border:2px solid white; border-radius:12px; box-shadow:0 4px 12px #123c3038; font:750 14px/1.2 system-ui,sans-serif; cursor:pointer; }
.mx-cluster__brands { display:flex; gap:3px; }
.mx-cluster__brands .mx-developer-badge { width:32px; height:32px; }
.mx-cluster__count { color:white!important; }
.mx-app[dir=rtl] .mx-pin:not(.is-photo) { padding:9px 51px 9px 8px; }
.mx-app[dir=rtl] .mx-pin__brand { left:auto; right:7px; }
.mx-app[dir=rtl] .mx-pin__status { right:auto; left:6px; }
.mx-app[dir=rtl] .mx-pin.is-photo .mx-pin__brand { right:6px; }
.mx-preview { display:grid; grid-template-columns:108px minmax(0,1fr); position:absolute; inset-inline-end:64px; bottom:34px; width:380px; max-width:calc(100% - 82px); border-radius:14px; overflow:hidden; box-shadow:0 12px 40px #152d2830; background:white; z-index:10; max-height:calc(100% - 110px); overflow-y:auto; }
.mx-preview__image { position:relative; min-height:156px; margin:10px 0; margin-inline-start:10px; border-radius:9px; overflow:hidden; background:#eef2f0; }
.mx-preview__image>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.mx-preview__close,.mx-preview .mx-save { position:absolute; top:10px; inset-inline-end:10px; width:30px; height:30px; background:#fff; border:0; border-radius:50%; display:grid; place-items:center; color:#213b3a; }
.mx-preview .mx-save { inset-inline-end:6px; top:6px; }
.mx-preview__body { min-width:0; padding:14px 12px; }
.mx-preview h2 { font-size:15px; font-weight:650; line-height:1.35; margin:0 0 6px; padding-inline-end:26px; }
.mx-preview .mx-card__price { margin:8px 0; font-size:19px; }
.mx-preview .mx-card__status { width:max-content; max-width:100%; }
.mx-preview__developer { display:flex; align-items:center; gap:5px; margin:4px 0; font-size:10px; color:var(--mx-muted); }
.mx-preview__developer img { width:23px; height:23px; object-fit:contain; border:1px solid var(--mx-line); border-radius:5px; }
.mx-preview__developer span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mx-preview__actions { display:flex; align-items:center; gap:7px; margin-top:10px; }
body.page-map-explorer .mx-preview a.mx-preview__link { display:flex; flex:1; align-items:center; justify-content:center; gap:6px; min-height:44px; min-width:0; background:var(--mx-accent); color:#fff!important; border:1px solid var(--mx-accent); border-radius:9px; padding:10px 8px; font-weight:650; font-size:13px; line-height:1.3; text-decoration:none!important; }
body.page-map-explorer .mx-preview a.mx-preview__link:hover,body.page-map-explorer .mx-preview a.mx-preview__link:focus-visible { background:#066a62; border-color:#066a62; color:#fff!important; }
body.page-map-explorer .mx-preview a.mx-preview__link>span { color:inherit!important; }
.mx-app[dir=rtl] .mx-preview__link .mx-icon { transform:rotate(180deg); }
.mx-preview__handle { display:none; }
.mx-empty { text-align:center; padding:55px 20px; color:var(--mx-muted); }
.mx-empty h2 { font-size:18px; margin:17px 0 9px; color:var(--mx-ink); }
.mx-empty p { font-size:13px; line-height:1.6; }
.mx-error { padding:20px; text-align:center; background:#fff6ee; }
.mx-error p { margin:0 0 10px; }
.mx-toast { position:fixed; bottom:26px; left:50%; transform:translateX(-50%); z-index:120; padding:12px 20px; background:#172e2b; color:#fff; border-radius:10px; box-shadow:0 8px 26px #14251c30; max-width:90vw; text-align:center; }
.mx-sheet-handle,.mx-mobile-actions { display:none; }
.mx-app[data-view=list] .mx-map-pane { display:none; }
.mx-app[data-view=list] .mx-list { width:100%; max-width:none; border:0; }
.mx-app[data-view=list] #mx-listing { max-width:1500px; margin:auto; padding:0 24px; }
.mx-app[data-view=list] #mx-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.mx-app[data-view=map] .mx-list { display:none; }
.mx-app.is-loading #mx-cards { opacity:.5; pointer-events:none; }
.mx-app.is-map-loading .mx-pin,.mx-app.is-map-loading .mx-cluster { opacity:.55; pointer-events:none; }
.mx-map-pane:fullscreen { width:100vw; height:100dvh; }
.mx-app.is-loading .mx-list-head::after { content:""; width:16px; height:16px; border:2px solid #d4e9e4; border-top-color:var(--mx-accent); border-radius:50%; animation:mx-spin .7s linear infinite; }
@keyframes mx-spin { to { transform:rotate(360deg); } }
#mx-suggestions { position:absolute; top:calc(100% + 7px); inset-inline:0; padding:6px; background:#fff; border:1px solid var(--mx-line); border-radius:12px; box-shadow:0 12px 30px #1b392520; z-index:40; max-height:min(380px,55vh); overflow:auto; }
.mx-suggestion { width:100%; display:flex; align-items:center; justify-content:space-between; gap:14px; border:0; border-radius:7px; background:white; padding:10px 9px; color:var(--mx-ink); text-align:start; }
.mx-suggestion:hover,.mx-suggestion[aria-selected=true] { background:var(--mx-soft); }
.mx-suggestion span { font-size:13px; }
.mx-suggestion small { font-size:10px; color:var(--mx-muted); flex:none; }
.mx-suggestion-empty { margin:12px; font-size:12px; color:var(--mx-muted); }
.mx-filter-dialog { --mx-accent:#087f75; --mx-line:#e2e8e8; --mx-ink:#182126; --mx-muted:#68757b; --mx-soft:#edf8f6; width:440px; max-width:100%; max-height:100%; height:100%; border:0; border-inline-start:1px solid var(--mx-line); padding:0; margin:0 0 0 auto; background:white; box-shadow:-12px 0 60px #122b2520; }
.mx-filter-dialog[dir=rtl] { margin:0 auto 0 0; }
.mx-filter-dialog::backdrop { background:#172c2945; backdrop-filter:blur(2px); }
.mx-filter-dialog form { display:flex; flex-direction:column; height:100%; margin:0; }
.mx-dialog-head { display:flex; align-items:center; justify-content:space-between; padding:25px 25px 19px; flex:none; border-bottom:1px solid var(--mx-line); }
.mx-dialog-head h2 { font-size:23px; font-weight:650; margin:0; }
.mx-icon-button { border:0; padding:8px; background:transparent; color:var(--mx-ink); border-radius:8px; display:grid; place-items:center; }
.mx-dialog-body { padding:24px 25px; overflow-y:auto; flex:1; }
.mx-dialog-body fieldset { margin:0 0 27px; padding:0; border:0; min-width:0; }
.mx-dialog-body legend { font-size:14px; font-weight:650; margin:0 0 12px; float:none; width:auto; }
.mx-range-inputs { display:flex; gap:10px; }
.mx-range-inputs label { flex:1; min-width:0; margin:0; }
.mx-range-inputs input { width:100%; height:44px; border:1px solid var(--mx-line); border-radius:8px; padding:10px 12px; color:var(--mx-ink); }
.mx-budget-sliders { display:flex; gap:15px; margin:14px 0; }
.mx-budget-sliders label { width:50%; font-size:10px; color:var(--mx-muted); }
.mx-budget-sliders input { width:100%; accent-color:var(--mx-accent); margin-top:7px; }
.mx-budget-presets,.mx-choice-row { display:flex; gap:7px; flex-wrap:wrap; }
.mx-budget-presets button { border:1px solid var(--mx-line); border-radius:7px; padding:8px 11px; font-size:12px; background:#f8faf9; color:var(--mx-ink); }
.mx-choice-row label { margin:0; position:relative; }
.mx-choice-row input { position:absolute; width:1px; height:1px; opacity:0; }
.mx-choice-row span { display:block; padding:10px 14px; border:1px solid var(--mx-line); border-radius:8px; font-size:13px; cursor:pointer; }
.mx-choice-row input:checked+span { color:#fff; background:var(--mx-accent); border-color:var(--mx-accent); }
.mx-choice-row input:focus-visible+span { outline:3px solid #54b8ac; outline-offset:3px; }
.mx-help { color:var(--mx-muted); font-size:11px; margin:9px 0 0; }
.mx-dialog-foot { display:flex; align-items:center; justify-content:space-between; padding:18px 25px; padding-bottom:max(18px,env(safe-area-inset-bottom)); border-top:1px solid var(--mx-line); gap:20px; box-shadow:0 -4px 18px #102a2008; }
.mx-dialog-foot .mx-btn { flex:1; }
.mx-filter-error { color:#a44332; font-size:12px; }
.mx-link-dialog { width:430px; max-width:calc(100vw - 24px); border:1px solid var(--mx-line); border-radius:16px; padding:0; margin:auto; color:var(--mx-ink); background:#fff; box-shadow:0 15px 70px #122b2538; font:14px/1.5 Inter,system-ui,sans-serif; }
.mx-link-dialog::backdrop { background:#172c2945; backdrop-filter:blur(2px); }
.mx-link-dialog * { box-sizing:border-box; }
.mx-link-dialog button { cursor:pointer; }
.mx-link-dialog :focus-visible { outline:3px solid #54b8ac; outline-offset:3px; }
.mx-link-body { padding:22px; }
.mx-link-body p { color:var(--mx-muted); font-size:13px; margin:0 0 17px; }
.mx-link-body label { display:block; font-weight:600; margin-bottom:6px; }
.mx-link-body input { width:100%; border:1px solid var(--mx-line); border-radius:8px; padding:11px; font:13px/1.5 system-ui,sans-serif; background:#f6faf9; color:var(--mx-ink); }
.mx-link-body .mx-btn { width:100%; margin-top:14px; }
.mx-link-body #mx-link-status { margin:12px 0 0; color:var(--mx-accent); }
.mx-link-body #mx-link-status:empty { display:none; }
@media(min-width:1600px) { .mx-card { min-height:164px; } .mx-card__body h2 { font-size:16px; } .mx-card__price { font-size:20px; } .mx-card__details,.mx-card__location { font-size:12px; } }
@media(max-width:1150px) { .mx-header { padding-inline:20px; } .mx-nav { gap:14px; } .mx-quick-filter { display:none; } .mx-list { width:39%; min-width:345px; } .mx-card { gap:10px; } .mx-card__image { flex-basis:27%; } .mx-card__price { font-size:16px; } .mx-app[data-view=list] #mx-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
    .page-map-explorer #sidebar { height:56px!important; }
    .mx-header { height:56px; padding:0 14px; gap:10px; }
    .mx-brand img { width:150px; height:30px; }
    .mx-header__tools { gap:11px; font-size:12px; }
    .mx-saved-button>span,.mx-nav { display:none; }
    .mx-saved-button { gap:3px; }
    .mx-currency select { max-width:53px; }
    .mx-app { height:calc(100vh - 56px); height:calc(100dvh - 56px); }
    .mx-toolbar__main { padding:9px 12px 6px; gap:7px; flex-wrap:wrap; }
    .mx-search { order:-1; flex:1 1 calc(100% - 52px); height:42px; padding-inline:10px; }
    .mx-search input { font-size:13px; height:39px; }
    .mx-filter-trigger { order:-1; width:43px; height:42px; padding:0; position:relative; }
    .mx-filter-trigger>span { display:none; }
    .mx-filter-trigger small { position:absolute; top:-5px; right:-3px; min-width:17px; height:17px; font-size:10px; padding:1px 3px; }
    .mx-mode-select { display:block; width:110px; margin:0; }
    .mx-property-select { flex:1; width:auto; }
    .mx-toolbar select { height:33px; font-size:12px; border-radius:7px; }
    .mx-toolbar__sub { padding:0 12px 7px; min-height:0; }
    .mx-active-filters { flex-wrap:nowrap; overflow:auto; scrollbar-width:none; gap:5px; }
    .mx-active-filters:empty { display:none; }
    .mx-chip { flex:none; padding:5px 8px; font-size:11px; max-width:180px; }
    .mx-active-filters>.mx-text-button { flex:none; white-space:nowrap; }
    .mx-view-toggle { display:none; }
    .mx-workspace { display:block; }
    .mx-map-pane { position:absolute; inset:0; }
    .mx-map-top { top:11px; inset-inline-start:12px; inset-inline-end:52px; gap:9px; }
    .mx-city-pills { gap:5px; }
    .mx-city-pills button { font-size:10px; padding:7px 9px; border-radius:18px; }
    .mx-map-count { top:48px; inset-inline-start:12px; font-size:10px; padding:5px 8px; }
    .mx-search-area { position:fixed; top:auto; bottom:calc(160px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); padding:9px 13px; font-size:12px; }
    .mx-fullscreen { top:10px; inset-inline-end:9px; }
    .mx-map-control { width:33px; height:33px; }
    .mx-map-controls { inset-inline-end:9px; bottom:calc(160px + env(safe-area-inset-bottom)); gap:7px; }
    .mx-app[data-view=map] .mx-list,.mx-app[data-view=split] .mx-list { display:block; position:absolute; bottom:calc(70px + env(safe-area-inset-bottom)); left:8px; right:8px; width:auto; min-width:0; max-width:none; height:76px; border:1px solid var(--mx-line); border-radius:17px; box-shadow:0 -4px 24px #15332618; overflow:hidden; transition:height .22s; z-index:8; }
    .mx-app[data-view=map].is-sheet-expanded .mx-list,.mx-app[data-view=split].is-sheet-expanded .mx-list { height:76%; }
    .mx-app:not([data-view=list]):not(.is-sheet-expanded) #mx-listing>:not(.mx-list-head),.mx-app:not([data-view=list]):not(.is-sheet-expanded) .mx-sort { display:none; }
    .mx-app:not([data-view=list]):not(.is-sheet-expanded) .mx-list-head { padding:0 2px; }
    .mx-app.is-sheet-expanded .mx-search-area { display:none; }
    .mx-app.is-sheet-expanded .mx-list #mx-listing { overflow:auto; max-height:calc(100% - 21px); }
    .mx-sheet-handle { display:flex; justify-content:center; align-items:center; width:100%; height:21px; background:white; border:0; padding:0; touch-action:none; }
    .mx-sheet-handle span,.mx-preview__handle span { width:35px; height:4px; background:#c8d4d1; border-radius:10px; }
    .mx-list-head { padding:4px 0 9px; position:static; }
    .mx-list-head h1 { font-size:18px; }
    .mx-list-note { font-size:10px; margin-top:3px; }
    #mx-listing { padding:0 10px; }
    .mx-card { min-height:124px; gap:10px; padding:8px; border-radius:10px; }
    .mx-card__image { flex-basis:29%; }
    .mx-card__body h2 { font-size:13px; margin-bottom:5px; }
    .mx-card__price { font-size:16px; margin-bottom:5px; }
    .mx-card__location,.mx-card__details { font-size:10px; margin-bottom:4px; }
    .mx-card__status { font-size:9px; }
    .mx-copy-link,.mx-card__actions .mx-save { width:44px; height:44px; }
    .mx-card__actions { gap:0; margin-inline-end:-6px; }
    .mx-card__actions .mx-copy-link::before { inset:6px; }
    .mx-card__heading { gap:0; }
    .mx-card__heading h2 { padding-top:7px; }
    .mx-mobile-actions { display:flex; justify-content:center; gap:9px; position:absolute; bottom:max(17px,env(safe-area-inset-bottom)); left:0; right:0; pointer-events:none; z-index:12; }
    .mx-mobile-actions button { pointer-events:auto; display:flex; align-items:center; justify-content:center; gap:9px; min-width:112px; padding:12px 17px; color:#fff; background:var(--mx-accent); border:1px solid var(--mx-accent); border-radius:11px; box-shadow:0 3px 15px #192f2522; font-size:13px; }
    .mx-mobile-actions button:hover { background:#066a62; color:#fff; }
    .mx-mobile-actions button>span { color:inherit; }
    .mx-mobile-actions button+button { background:#fff; color:var(--mx-accent); border-color:#afd7d0; }
    .mx-mobile-actions button+button:hover { background:var(--mx-soft); }
    .mx-app[data-view=list] .mx-list { position:absolute; inset:0; width:100%; max-width:none; min-width:0; padding:12px 0 78px; }
    .mx-app[data-view=list] #mx-listing { padding:0 12px; }
    .mx-app[data-view=list] #mx-cards { display:flex; gap:10px; }
    .mx-app[data-view=list] .mx-sheet-handle { display:none; }
    .mx-app[data-view=list] .mx-list-head { position:sticky; top:-12px; padding:10px 0 15px; }
    .mx-preview { grid-template-columns:92px minmax(0,1fr); width:auto; max-width:none; left:8px; right:8px; bottom:70px; max-height:calc(100% - 118px); border-radius:17px; }
    .mx-preview__handle { grid-column:1/-1; height:20px; display:flex; justify-content:center; align-items:center; width:100%; border:0; background:#fff; touch-action:none; }
    .mx-preview__image { min-height:130px; margin-top:0; }
    .mx-preview__body { padding:0 12px 12px; }
    .mx-preview__close { top:22px; inset-inline-end:7px; }
    .mx-preview h2 { font-size:15px; }
    .mx-preview .mx-card__price { font-size:18px; margin:8px 0; }
    .mx-app.is-preview-open .mx-list { visibility:hidden; }
    .mx-app.is-preview-open .mx-search-area { display:none; }
    .mx-filter-dialog { width:100%; height:94%; margin:auto 0 0; border-radius:20px 20px 0 0; }
    .mx-filter-dialog[dir=rtl] { margin:auto 0 0; }
    .mx-dialog-head { padding:20px 20px 16px; }
    .mx-dialog-body { padding:20px; }
    .mx-dialog-foot { padding-inline:20px; }
    .mx-choice-row span { padding:10px 13px; }
    .mx-toast { bottom:80px; font-size:12px; }
    #mx-suggestions { min-width:calc(100vw - 24px); }
}
@media(prefers-reduced-motion:reduce) { .mx-app * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } .mx-pin::after { animation:none!important; } }

/* Small entry points keep comparison/history out of the map until requested. */
.mx-library-tools { display:flex; gap:6px; margin-inline-start:auto; flex:none; }
.mx-library-button { display:flex; align-items:center; gap:6px; padding:7px 10px; min-height:34px; border:1px solid var(--mx-line); border-radius:8px; background:white; color:var(--mx-accent); font-size:12px!important; white-space:nowrap; }
.mx-library-button small { border-radius:12px; padding:2px 5px; background:var(--mx-soft); font-size:10px; }
.mx-library-button:hover { background:var(--mx-soft); }
.mx-card__foot { display:flex; align-items:center; justify-content:space-between; gap:6px; flex-wrap:wrap; }
.mx-card__foot .mx-card__status { margin:0; }
.mx-compare-toggle { display:inline-flex; align-items:center; gap:5px; padding:5px 7px; min-height:32px; border:1px solid #d8e5e1; border-radius:6px; background:white; color:var(--mx-accent); font-size:11px!important; cursor:pointer; }
.mx-compare-toggle::before { content:'+'; font-size:15px; line-height:1; }
.mx-compare-toggle[aria-pressed=true] { background:var(--mx-soft); border-color:#78bbb0; }
.mx-compare-toggle[aria-pressed=true]::before { content:'✓'; }
.mx-preview .mx-compare-toggle { margin-top:5px; }
.mx-library-dialog { width:960px; max-width:calc(100vw - 24px); max-height:90dvh; padding:0; margin:auto; border:1px solid var(--mx-line); border-radius:18px; background:#fff; color:var(--mx-ink); box-shadow:0 18px 80px #122b2538; font:14px/1.5 Inter,system-ui,sans-serif; }
.mx-library-dialog[open] { display:flex; flex-direction:column; }
.mx-library-dialog::backdrop { background:#172c2959; backdrop-filter:blur(3px); }
.mx-library-dialog * { box-sizing:border-box; }
.mx-library-dialog button { font-family:inherit; cursor:pointer; }
.mx-library-dialog .mx-dialog-head,.mx-library-dialog .mx-dialog-foot { flex:none; }
.mx-library-dialog h2 { font-size:21px; color:var(--mx-ink); }
.mx-library-hint { margin:0; padding:0 25px 16px; color:var(--mx-muted); font-size:12px; flex:none; }
#mx-library-content { overflow:auto; min-height:100px; }
.mx-library-empty { padding:32px 25px; text-align:center; color:var(--mx-muted); }
.mx-library-retry { margin:0 25px 20px; }
.mx-library-dialog :focus-visible { outline:3px solid #54b8ac; outline-offset:2px; }
.mx-library-dialog .mx-dialog-foot .mx-btn { flex:0 1 auto; }
/* No inline scroll gutter: content must pass behind the opaque sticky labels, not beside them. */
.mx-compare-scroll { overflow:auto; padding:0 0 20px; isolation:isolate; }
.mx-compare-table { width:100%; min-width:calc(130px + var(--mx-columns)*210px); table-layout:fixed; border-collapse:separate; border-spacing:0; text-align:start; margin:0; }
/* Override the shared site's td { white-space:nowrap } without changing other tables. */
.mx-compare-table th,.mx-compare-table td { padding:14px; border:0; border-bottom:1px solid var(--mx-line); vertical-align:top; font-weight:400; text-align:start; white-space:normal; overflow-wrap:anywhere; word-break:normal; overflow:hidden; background:white; }
.mx-compare-table tr>:first-child { width:130px; color:var(--mx-muted); font-size:12px; background:#f6faf9; position:sticky; inset-inline-start:0; z-index:2; border-inline-end:1px solid var(--mx-line); }
.mx-compare-table thead th { border-top:1px solid var(--mx-line); }
.mx-compare-table thead img { width:100%; height:120px; object-fit:cover; border-radius:9px; display:block; margin-bottom:12px; }
.mx-library-dialog a.mx-library-link { display:block; color:var(--mx-ink)!important; font-size:14px; font-weight:650; text-decoration:none; line-height:1.4; }
.mx-library-dialog a.mx-library-link:hover { color:var(--mx-accent)!important; text-decoration:underline; }
.mx-library-remove { display:block; border:0; padding:7px 0 0; background:transparent; font-size:11px; color:var(--mx-muted); text-decoration:underline; }
.mx-library-dialog .mx-card__price { font-size:16px; margin:0; white-space:normal; }
.mx-library-dialog .mx-card__price span { display:block; font-size:11px; color:var(--mx-muted); font-weight:400; }
.mx-recent-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:0 24px 24px; }
.mx-recent-card { display:flex; gap:12px; border:1px solid var(--mx-line); border-radius:12px; padding:12px; min-width:0; }
.mx-recent-card>img { width:80px; height:96px; flex:none; object-fit:cover; border-radius:8px; }
.mx-recent-card>div { min-width:0; }
.mx-recent-card .mx-card__location { margin:5px 0; }
.mx-recent-card .mx-compare-toggle { margin-top:7px; }
.mx-skeletons { display:grid; gap:12px; grid-column:1/-1; }
.mx-list>.mx-skeletons { position:absolute; inset-inline:16px; z-index:4; pointer-events:none; }
.mx-app.is-loading #mx-cards,.mx-app.is-loading .mx-list-foot,.mx-app.is-loading .mx-empty,.mx-app.is-loading #mx-selected-card { visibility:hidden; }
.mx-skeleton-card { display:flex; gap:13px; padding:10px; border:1px solid var(--mx-line); border-radius:12px; height:164px; background:#fff; }
.mx-skeleton-photo { width:28%; flex:none; border-radius:8px; }
.mx-skeleton-card>div { flex:1; padding-top:10px; }
.mx-skeleton-card span { display:block; background:linear-gradient(100deg,#eef3f1 25%,#f9fbfa 45%,#eef3f1 65%); background-size:250% 100%; animation:mx-shimmer 1.8s ease-in-out infinite; }
.mx-skeleton-card>div>span { height:12px; width:90%; margin-bottom:16px; border-radius:4px; }
.mx-skeleton-card>div>span:nth-child(2) { width:65%; height:18px; }
.mx-skeleton-card>div>span:last-child { width:40%; }
@keyframes mx-shimmer { to { background-position:-200% 0; } }
@media(max-width:767px) {
    .mx-toolbar__sub { flex-wrap:wrap; gap:5px; }
    .mx-active-filters { flex:1 1 100%; }
    .mx-library-tools { margin-inline-start:0; gap:6px; }
    .mx-library-button { min-height:32px; padding:4px 8px; font-size:11px!important; }
    .mx-compare-toggle { min-height:36px; }
    .mx-library-dialog { max-width:100vw; width:100%; max-height:91dvh; margin:auto 0 0; border-radius:18px 18px 0 0; }
    .mx-library-hint { padding-inline:16px; }
    .mx-compare-table { min-width:calc(88px + var(--mx-columns)*190px); }
    .mx-compare-table tr>:first-child { width:88px; padding:12px 8px; }
    .mx-compare-table th,.mx-compare-table td { padding:12px 10px; }
    .mx-recent-list { grid-template-columns:1fr; padding:0 14px 18px; }
    .mx-library-dialog .mx-dialog-foot { gap:10px; padding:12px 16px max(12px,env(safe-area-inset-bottom)); }
    .mx-skeleton-card { height:148px; }
}
@media(prefers-reduced-motion:reduce) { .mx-skeleton-card span { animation:none; } }

.mx-cluster-dialog { width:520px; }
.mx-cluster-list { overflow:auto; padding:0 18px 16px; display:grid; gap:9px; }
.mx-group-choice { display:flex; align-items:center; gap:12px; width:100%; border:1px solid var(--mx-line); border-radius:11px; background:white; padding:10px; color:var(--mx-ink); text-align:start; }
.mx-group-choice:hover { border-color:#76b9af; background:var(--mx-soft); }
.mx-group-choice>img { width:80px; height:64px; object-fit:cover; border-radius:7px; flex:none; }
.mx-group-deck { position:relative; font-family:Inter,ui-sans-serif,system-ui,sans-serif; }
.mx-group-deck__panel { border-radius:12px; border:1px solid #badbd4; background:#fff; box-shadow:0 6px 22px #15332624; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-gutter:stable; scrollbar-width:thin; scrollbar-color:#9bc6bd transparent; touch-action:pan-y; }
.mx-group-deck__head { display:flex; align-items:center; height:36px; padding:3px 9px; color:var(--mx-accent); position:sticky; top:0; z-index:2; background:#fff; }
.mx-group-deck__head strong { flex:1; font-size:11px; }
.mx-group-deck__rail { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr)); gap:10px; padding:0 9px 9px; min-width:0; }
.mx-group-deck__card { position:relative; display:flex; flex-direction:column; min-width:0; border:1px solid var(--mx-line); border-radius:8px; overflow:hidden; background:#fff; }
.mx-app .mx-group-deck__card:hover,.mx-app .mx-group-deck__card.is-selected { border-color:var(--mx-accent); color:var(--mx-ink); }
.mx-group-deck__photo { width:100%; height:102px; object-fit:cover; }
.mx-group-deck__brand { position:absolute; top:65px; inset-inline-end:5px; width:38px; height:38px; box-shadow:0 1px 5px #15332625; }
.mx-group-deck__name { padding:7px 8px 2px; font-size:11px; line-height:1.35; white-space:normal; overflow-wrap:anywhere; height:38px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.mx-group-deck__price { padding:0 8px 8px; font-size:13px; font-weight:750; color:var(--mx-accent); white-space:normal; }
.mx-group-deck__launch { position:absolute; top:5px; inset-inline-start:5px; background:#fff5d9; color:#805207; border-radius:4px; padding:3px 5px; font-size:8px; }
.mx-group-deck__more { grid-column:1/-1; min-height:40px; padding:9px; border:1px dashed #afd7d0; border-radius:8px; background:var(--mx-soft); color:var(--mx-accent); font-size:12px; }
.mx-group-deck__tether { position:absolute; left:50%; bottom:0; width:1px; height:1px; overflow:visible; pointer-events:none; }
.mx-group-deck__tether path { stroke:var(--mx-accent); stroke-width:2; fill:none; }
.mx-group-deck__tether circle { fill:var(--mx-accent); stroke:white; stroke-width:2; }
@media(max-width:767px) {
    .mx-group-deck__rail { grid-template-columns:repeat(auto-fit,minmax(min(100%,128px),1fr)); }
    .mx-group-deck__photo { height:82px; }
    .mx-group-deck__brand { top:47px; width:35px; height:35px; }
}
.mx-group-choice__body { display:flex; flex-direction:column; gap:4px; flex:1; min-width:0; }
.mx-group-choice strong { font-size:13px; }
.mx-group-choice .mx-card__location { margin:0; font-size:11px; }
.mx-cluster-dialog .mx-dialog-foot [hidden] { display:none!important; }
@media(max-width:767px) {
    .mx-pin { width:148px; padding:8px 6px 8px 46px; min-height:58px; }
    .mx-pin__brand { left:5px; }
    .mx-pin__name { font-size:10px; }
    .mx-pin__price { font-size:13px; }
    .mx-pin__photo { height:78px; }
    .mx-pin.is-photo .mx-pin__body { padding:6px 7px 7px; }
    .mx-pin.is-photo .mx-pin__name { font-size:11px; }
    .mx-pin.is-photo .mx-developer-badge { width:37px; height:37px; }
    .mx-pin__status { font-size:8px; }
    .mx-app[dir=rtl] .mx-pin:not(.is-photo) { padding:8px 46px 8px 6px; }
    .mx-cluster { min-height:43px; gap:5px; padding-inline-end:8px; font-size:13px; }
    .mx-cluster__brands .mx-developer-badge { width:29px; height:29px; }
    .mx-cluster-list { padding-inline:12px; }
}
