@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(31,193,124,.5)}70%{box-shadow:0 0 0 8px rgba(31,193,124,0)}to{box-shadow:0 0 0 0 rgba(31,193,124,0)}}@keyframes milo-spin{to{transform:rotate(1turn)}}.milo-map-home{--milo-blue:#3c5cff;--milo-blue-dark:#2b45d1;--ink:#111528;--sub:#5b6178;--line:#e7e9f3;--bg:#f4f6fc;--card:#fff;--none:#aeb4c6;--offer:#f6a623;--activated:#1fc17c;--star:#f5b301;--radius:20px;--shadow:0 12px 34px rgba(20,25,60,0.1);font-family:Arial,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;*{box-sizing:border-box}.wrap{max-width:1240px;margin:0 auto;padding:28px 22px 0}.head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:26px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--milo-blue);background:#e9edff;border-radius:100px;padding:6px 13px;margin-bottom:14px}.eyebrow .pulse{width:7px;height:7px;border-radius:50%;background:var(--activated);animation:pulse 2s infinite}h1{font-family:Arial,sans-serif;font-size:clamp(30px,4.2vw,46px);font-weight:800;letter-spacing:-.025em;margin:0 0 8px;line-height:1.05}h1 .grad{background:linear-gradient(92deg,var(--milo-blue),#7a4bff);-webkit-background-clip:text;background-clip:text;color:transparent}.lede{color:var(--sub);font-size:16px;max-width:520px;margin:0;line-height:1.55}.stat-strip{display:flex;gap:26px}.stat b{font-family:Arial,sans-serif;font-size:26px;font-weight:800;display:block;line-height:1}.stat span{font-size:12px;color:var(--sub);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.stat.g b{color:var(--activated)}.stat.o b{color:var(--offer)}.search-card{background:var(--card);border:1px solid var(--line);border-radius:100px;padding:8px 8px 8px 20px;box-shadow:var(--shadow);flex-wrap:wrap}.search-card,.search-field{display:flex;align-items:center;gap:12px}.search-field{flex:1;min-width:0}.search-card .pin{color:var(--milo-blue);width:18px;height:18px;flex:none}.search-card input{flex:1;min-width:150px;border:none;outline:none;font-size:15.5px;font-family:Arial,sans-serif;padding:12px 0;overflow:hidden;text-overflow:ellipsis;background:transparent;color:var(--ink)}.search-clear{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:none;border:none;border-radius:50%;background:#eef1ff;color:var(--sub);cursor:pointer;padding:0}.search-clear:hover{background:#e2e7ff;color:var(--ink)}.search-clear svg{width:14px;height:14px}.radius-wrap{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--sub);white-space:nowrap;padding-right:6px}.radius-wrap input[type=range]{-webkit-appearance:none;appearance:none;width:120px;height:16px;margin:0;background:transparent;cursor:pointer;accent-color:var(--milo-blue)}.radius-wrap input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:linear-gradient(to right,var(--milo-blue) 0,var(--milo-blue) var(--radius-pct,29%),#e7e9f3 var(--radius-pct,29%),#e7e9f3 100%)}.radius-wrap input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;margin-top:-5px;border:2px solid #fff;border-radius:50%;background:var(--milo-blue);box-shadow:0 1px 4px rgba(60,92,255,.45)}.radius-wrap input[type=range]::-moz-range-track{height:6px;border:none;border-radius:999px;background:#e7e9f3}.radius-wrap input[type=range]::-moz-range-progress{height:6px;border-radius:999px;background:var(--milo-blue)}.radius-wrap input[type=range]::-moz-range-thumb{width:16px;height:16px;border:2px solid #fff;border-radius:50%;background:var(--milo-blue);box-shadow:0 1px 4px rgba(60,92,255,.45)}.radius-wrap b{color:var(--ink);min-width:44px}.btn{border:none;cursor:pointer;font-family:Arial,sans-serif;font-weight:700;border-radius:100px;font-size:14px;transition:transform .12s,background .15s}.btn:active{transform:scale(.97)}.btn-primary{background:var(--milo-blue);color:#fff;padding:13px 24px;box-shadow:0 6px 16px rgba(60,92,255,.32)}.btn-primary:hover{background:var(--milo-blue-dark)}.btn-ghost{background:#eef1ff;color:var(--milo-blue);padding:13px 18px;display:inline-flex;align-items:center;gap:8px}.btn-ghost:hover{background:#e2e7ff}.btn-ghost.active{background:var(--milo-blue);color:#fff}.btn-ghost:disabled{opacity:.7;cursor:wait}.location-status{display:flex;align-items:flex-start;gap:6px;margin:12px 6px 0;color:var(--sub);font-size:13px;font-weight:600;line-height:1.4}.location-status svg{width:16px;height:16px;color:var(--milo-blue);flex:none;margin-top:1px}.location-status-text{min-width:0}.location-status b{color:var(--ink);font-weight:700}.btn-icon{width:16px;height:16px;flex:none}.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:22px 0 10px}.chip{display:flex;align-items:center;gap:6px;border:none;background:#fff;border-radius:100px;padding:11px 22px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;color:var(--milo-blue);user-select:none;transition:transform .12s,background .15s,box-shadow .15s,color .15s;appearance:none;box-shadow:0 8px 22px rgba(60,92,255,.12);@media (max-width:600px){padding-left:9px;padding-bottom:9px;padding-right:9px;padding-top:9px;gap:3px;font-size:13px}}.chip:hover{background:#f7f8ff}.chip .dot{width:9px;height:9px;border-radius:50%;flex:none}.chip .chip-icon{width:18px;height:18px;flex:none;color:var(--milo-blue);@media (max-width:600px){width:14px;height:14px}}.chip.active{color:#fff;background:linear-gradient(180deg,#6d8cff,#3c5cff);box-shadow:0 8px 20px rgba(60,92,255,.38)}.chip.active:hover{background:linear-gradient(180deg,#5d7fff,#2b45d1)}.chip.active .chip-icon{color:#fff}.chip .count{opacity:.6;font-weight:500}.view-toggle{display:flex;gap:4px;background:#e9ecf7;border-radius:100px;padding:4px;margin-left:auto}.view-toggle button[data-view=split]{order:-1}@media (max-width:768px){.view-toggle button[data-view=split]{order:0}}.view-toggle button{border:none;background:transparent;padding:9px 18px;border-radius:100px;font-size:13px;font-weight:700;color:var(--sub);cursor:pointer;font-family:Arial,sans-serif}.view-toggle button.active{background:#fff;color:var(--ink);box-shadow:0 2px 6px rgba(0,0,0,.07)}#mapCanvas,.milo-google-map{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab}#mapCanvas .gm-style,#mapCanvas .gm-style>div:first-child{width:100%!important;height:100%!important}.map-fallback{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center;background:radial-gradient(900px 280px at 50% 0,#eaefff,transparent),#eef1f8;color:var(--ink)}.map-fallback p{margin:0;font-size:16px;font-weight:700}.map-fallback span{color:var(--sub);font-size:14px;max-width:280px;line-height:1.4}.milo-map-pin{width:32px;height:32px;padding:0;border:2.5px solid #fff;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(17,21,40,.35);cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;appearance:none}.milo-map-pin img{width:100%;height:100%;object-fit:cover;pointer-events:none;display:block}.milo-map-pin.selected{box-shadow:0 0 0 4px rgba(60,92,255,.28),0 2px 8px rgba(17,21,40,.35)}.milo-popup{position:relative;display:flex;align-items:flex-start;gap:10px;min-width:180px;max-width:240px;padding-right:22px;font-family:Arial,sans-serif}.milo-popup-close{position:absolute;top:-6px;right:-6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:8px;background:transparent;color:#8b90a5;cursor:pointer}.milo-popup-close:hover{color:var(--ink);background:#f4f6fc}.milo-popup-img{width:56px;height:56px;flex:none;border-radius:10px;object-fit:contain}.milo-popup-body{min-width:0;flex:1}.milo-popup-body strong{display:block;font-size:14px;line-height:1.25}.milo-popup-body p{margin:4px 0 0;font-size:12px;color:var(--sub);line-height:1.4}.milo-popup-offer{color:var(--offer);font-weight:600}.gm-style-iw-chr{display:none!important}.gm-style-iw-d{overflow:hidden!important;padding:0!important}.gm-style-iw-c{padding:12px!important;border-radius:16px!important}.layout{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;align-items:start}@media (max-width:900px){.layout{grid-template-columns:1fr}}.map-shell{position:relative;height:620px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#dfe6d8}#mapCanvas.drag{cursor:grabbing}.map-ctrl{position:absolute;right:14px;top:14px;display:flex;flex-direction:column;gap:6px;z-index:5}.map-ctrl button{width:38px;height:38px;border:none;background:#fff;border-radius:11px;font-size:20px;font-weight:700;color:var(--ink);cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.14);display:flex;align-items:center;justify-content:center}.map-ctrl button:hover{background:#f3f5fd}.map-hint{left:14px;bottom:12px;font-size:11px;color:#40485f;background:rgba(255,255,255,.9);padding:5px 10px;border-radius:8px}.attrib,.map-hint{position:absolute;z-index:5}.attrib{right:10px;bottom:8px;font-size:9px;color:rgba(30,40,60,.5);background:rgba(255,255,255,.7);padding:2px 6px;border-radius:5px}.map-pop{position:absolute;z-index:10;width:248px;background:#fff;border-radius:16px;box-shadow:0 16px 40px rgba(0,0,0,.26);overflow:hidden;transform:translate(-50%,calc(-100% - 18px));display:none}.map-pop .pt-img{height:132px;width:100%;overflow:hidden;background:#e8ecf6}.map-pop .pb{padding:13px 15px 15px}.map-pop .pn{font-family:Arial,sans-serif;font-weight:700;font-size:16px;line-height:1.2}.map-pop .p-stars{display:flex;align-items:center;gap:6px;margin:5px 0 3px}.map-pop .pc{font-size:12px;color:var(--sub);margin-bottom:7px}.map-pop .pa{font-size:11.5px;color:var(--sub);margin-bottom:9px}.map-pop .po{font-size:12.5px;font-weight:600;padding:7px 10px;border-radius:8px}.map-pop .close{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;border:none;cursor:pointer;font-size:15px;line-height:1;z-index:2}.map-pop:after{content:"";position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);border:9px solid transparent;border-top-color:#fff;border-bottom:0}.p-stars .st,.st,.stars{font-size:13px;letter-spacing:1px}.st{color:#dcdfe8}.st.f{color:var(--star)}.st.h{position:relative;color:#dcdfe8}.st.h:before{content:"★";position:absolute;left:0;top:0;width:50%;overflow:hidden;color:var(--star)}.c-rv,.rv{font-size:11.5px;color:var(--sub);font-weight:600}.list-head{display:flex;justify-content:space-between;align-items:baseline;padding:0 4px 10px}.list-head .t{font-family:Arial,sans-serif;font-weight:700;font-size:15px}.list-head .c{font-size:12.5px;color:var(--sub)}.list-panel{position:relative;max-height:620px;overflow-y:auto;padding:2px 6px 8px 2px;display:flex;flex-direction:column;gap:14px}.list-panel--two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.list-panel--two-col .empty,.list-panel--two-col .list-span{grid-column:1/-1}@media (max-width:640px){.list-panel--two-col{grid-template-columns:1fr}}.list-panel::-webkit-scrollbar{width:8px}.list-panel::-webkit-scrollbar-thumb{background:#d3d8ea;border-radius:8px}.place-card{background:var(--card);border:1px solid var(--line);border-radius:18px;cursor:pointer;transition:transform .14s,box-shadow .14s,border-color .14s;display:flex;align-items:stretch}.place-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#d5dbf0}.place-card.selected{border-color:var(--milo-blue);box-shadow:0 0 0 3px rgba(60,92,255,.15)}.place-card-body{padding:16px 18px 16px 16px;flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:8px}.thumb{position:relative;width:120px;min-width:120px;flex:0 0 120px;align-self:stretch;margin:0;overflow:hidden;border-top-left-radius:12px;border-bottom-left-radius:12px;max-width:120px;width:100%;aspect-ratio:16/10}.thumb canvas,.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb>span{position:absolute!important;inset:0!important}.ribbon{position:absolute;top:8px;left:0;font-size:9px;font-weight:800;letter-spacing:.04em;color:#fff;padding:4px 10px 4px 8px;border-radius:0 7px 7px 0;box-shadow:0 2px 6px rgba(0,0,0,.2);z-index:1}.ribbon.of{background:var(--offer)}.ribbon.gc{background:var(--activated)}.ribbon.soon{background:var(--none)}.c-name{font-family:Arial,sans-serif;font-weight:700;font-size:16px;line-height:1.25;color:var(--ink);overflow:hidden;white-space:normal}.c-rating{display:flex;align-items:center;gap:6px}.c-meta{font-size:12.5px;color:var(--sub);line-height:1.35}.c-meta b{color:#3a4056}.c-addr{font-size:12px;color:var(--sub);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge-container{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between}.badge-container{display:flex;flex-direction:row;gap:4px}.status-badge{display:block;width:fit-content;box-sizing:border-box;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;text-align:center;line-height:1.2}.badge-none{background:#eef0f6;color:#727890}.badge-offer{background:#fff2dc;color:#a4680a}.badge-activated{background:#e0f9ee;color:#0e9a62}.offer-line{font-size:12px;font-weight:600;color:var(--offer);background:#fff8ec;border:1px dashed #f3cf87;border-radius:10px;padding:8px 12px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offer-line.gc{color:#0e9a62;background:#eafaf2;border-color:#a5e6c7}.empty{text-align:center;border-radius:16px}.empty,.list-loading{padding:56px 22px;color:var(--sub);font-size:14px}.list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-weight:600}.list-loading--compact{flex-direction:row;padding:12px 8px;font-size:13px;font-weight:600}.list-loading--compact .list-spinner{width:18px;height:18px}.list-panel--busy .place-card{opacity:.45;pointer-events:none}.list-spinner{width:28px;height:28px;color:var(--milo-blue);animation:milo-spin .7s linear infinite}.c-links{display:flex;flex-wrap:wrap;gap:12px 16px;margin-top:2px;padding-top:2px}.c-links a{font-size:12.5px;font-weight:700;color:var(--milo-blue);text-decoration:none}.c-links a:hover{text-decoration:underline}.map-pop .p-links{display:flex;gap:8px;margin-top:10px}.plink{flex:1;text-align:center;font-size:12px;font-weight:700;padding:8px 6px;border-radius:9px;text-decoration:none;border:1px solid var(--line);color:var(--ink);transition:background .12s}.plink:hover{background:#f4f6fc}.plink.primary{background:var(--milo-blue);color:#fff;border-color:transparent}.search-actions{display:flex;align-items:center;gap:8px;flex:none;border-left:1px solid var(--line);padding-left:16px;@media (max-width:768px){border-left-color:currentcolor;border-left-style:none;border-left-width:medium;padding-left:0}}.layout--list{grid-template-columns:1fr}.layout--list .map-shell,.map-shell[hidden]{display:none!important}@media (max-width:768px){.wrap{padding:16px 14px 0}.head{gap:16px;margin-bottom:18px}.stat-strip{gap:18px;width:100%;justify-content:space-between}.search-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 10px;border-radius:24px;padding:12px 14px 14px}.search-card,.search-field{position:relative;align-items:center}.search-field{grid-column:1/-1;width:100%;display:flex;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--line)}.search-card .pin{position:static;top:auto;left:auto;transform:none;pointer-events:none;flex:none}.search-card input{min-width:0;width:100%;padding:8px 0;font-size:14px;overflow:hidden;text-overflow:ellipsis}.search-clear{position:static;top:auto;right:auto;transform:none}.search-actions{grid-column:1;display:flex;width:auto;border-left:none;padding-left:0}.search-actions .btn{width:auto;justify-content:center;padding:10px;white-space:nowrap;font-size:12px}.radius-wrap{grid-column:2;border-left:none;padding:0;width:auto;min-width:0;gap:5px;font-size:12px}.radius-wrap input[type=range]{flex:1;width:auto;min-width:0}.radius-wrap b{min-width:auto;text-align:right}.filters{align-items:stretch}.view-toggle{margin-left:0;width:100%}.view-toggle button{flex:1}.map-shell{height:min(58vw,280px);min-height:220px}.map-hint{display:none}.list-panel{max-height:none;overflow:visible;padding-right:2px}.place-card{min-width:0}.thumb{width:84px;min-width:84px;flex-basis:84px;max-width:84px}.place-card-body{padding:12px 12px 12px 10px}.status-badge-container{flex-wrap:wrap;gap:8px}}.plink.primary:hover{background:var(--milo-blue-dark)}}