.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(../media/layers.3muxcl8sz6330.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(../media/layers-2x.23wrxu3xxu9-i.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(../media/marker-icon.1le94j_pe_ih1.png)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#17221f;--muted:#6d7773;--accent:#1677ff;--line:#1e2c2717;--glass:#ffffffd1;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--ease-drawer:cubic-bezier(.32,.72,0,1);font-optical-sizing:auto;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Helvetica Neue,Arial,sans-serif}body:has(.phone-shell){background:#e2e6e3;overflow:hidden}.map-shell.phone-shell{width:390px;height:780px;transform:translate(-50%,-50%) scale(var(--phone-scale,1));transform-origin:50%;inset:50% auto auto 50%;box-shadow:0 8px 32px #23362b18}.phone-shell .place-sheet{width:auto;height:640px;box-shadow:none;border:0;border-radius:12px;inset:auto 8px 8px}.phone-shell .sheet-handle{touch-action:none;background:0 0;border:0;place-items:center;width:100%;height:36px;min-height:36px;margin:0;padding:0;display:grid}.phone-shell .sheet-handle span{background:#c8cfcc;border-radius:2px;width:36px;height:4px}.phone-shell .sheet-head{gap:6px;padding:6px 14px 12px}.phone-shell .sheet-head h1{font-size:21px}.phone-shell .map-topbar{grid-template-columns:auto 1fr auto;top:14px;left:14px;right:14px}.phone-shell .brand-chip{padding:7px}.phone-shell .brand-chip>span:last-child{display:none}.phone-shell .city-chip{justify-self:start;margin-left:8px}.phone-shell .zoom-control{display:none}.phone-shell .locate-button{top:76px;right:14px}.phone-shell .map-add-place{top:128px;right:14px}.phone-shell .filter-row{gap:2px;padding:0 12px 12px}.phone-shell .filter-row button{padding:0 10px}.phone-shell .filter-row button.active{color:#276bbd;box-shadow:none;background:#edf4ff}.phone-shell .place-card{padding:12px}.phone-shell .place-description{font-size:14px!important}.phone-shell .comparison-heading{margin-bottom:6px}.phone-shell .comparison-heading h2{font-size:18px}.phone-shell .comparison-detail>p{min-height:46px;margin:6px 0;padding:8px 10px;font-size:14px}.phone-shell .distance-result{margin:8px 0;padding:10px 14px}.phone-shell .source-images{margin-top:12px}.phone-shell .source-images button{width:65px;height:88px}.guide-overlay{z-index:100;pointer-events:none;position:absolute;inset:0}.guide-blocker{pointer-events:auto;background:0 0;position:absolute;inset:0}.guide-ui{pointer-events:auto}.tour-dialog{background:#fff;border:1px solid #dce3de;border-radius:10px;width:min(360px,100vw - 28px);padding:22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 25px #25382b18}.tour-dialog h2{margin:0 0 12px;font-size:20px}.tour-dialog p{color:#65756c;font-size:14px;line-height:1.6}.tour-dialog button{color:#fff;cursor:pointer;background:#3478d4;border:0;border-radius:6px;width:100%;min-height:44px;margin-top:10px;display:block}.tour-dialog button.tour-secondary{color:#526158;background:#eff3f0}.tour-actions{gap:8px;display:flex}.tour-actions button{flex:1}.tour-target{pointer-events:none;border:0;border-radius:10px;position:absolute;box-shadow:0 0 0 2px #3478d480,0 0 0 6px #3478d41a}.tour-note{pointer-events:none;background:#fff;border:1px solid #1f2e281f;border-radius:10px;width:256px;max-height:756px;padding:11px 13px 9px;position:absolute;overflow:auto;box-shadow:0 8px 24px #17221f21}.tour-note p{margin:0;font-size:14px;line-height:1.5}.tour-note footer{border-top:1px solid #edf0ee;justify-content:flex-end;margin-top:8px;padding-top:7px;display:flex}.tour-note .tour-secondary{color:#61736a;cursor:pointer;background:0 0;border:0;font-size:11px}.tour-note .tour-secondary,.tour-note .tour-primary{pointer-events:auto}.tour-note .tour-primary{color:#fff;cursor:pointer;background:#17221f;border:0;border-radius:7px;min-height:32px;padding:0 12px;font-size:12px}.demo-upload-dialog{width:min(1040px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);background:#fff;border:0;border-radius:14px;padding:24px;overflow:auto}.demo-upload-dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#141d1a7a}.demo-upload-dialog header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.demo-upload-dialog h2{letter-spacing:-.025em;margin:0;font-size:26px}.demo-upload-dialog header p{color:#68766f;margin:7px 0 0;font-size:14px}.demo-processing-status{color:#276bbd;background:#edf4ff;border-radius:7px;align-items:center;gap:6px;padding:7px 10px;font-size:13px;font-weight:700;display:flex}.demo-case-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.demo-case-card{background:#f4f6f4;border:1px solid #e0e5e1;border-radius:10px;min-width:0;margin:0;position:relative;overflow:hidden}.demo-case-card img{object-fit:contain;background:#fff;width:100%;max-height:58dvh;display:block}.demo-case-card figcaption{gap:3px;padding:10px 12px;display:grid}.demo-case-card strong{font-size:14px}.demo-case-card span{color:#6d7b74;font-size:11px}.upload-track{background:#eef2ef;height:5px;overflow:hidden}.upload-track i{background:#3478d4;height:100%;transition:width .6s;display:block}.revealing .map-pin{animation:.4s 3.25s both pin-arrive}.revealing .map-pin:nth-of-type(2){animation-delay:3.45s}.revealing .map-pin:nth-of-type(3){animation-delay:3.65s}.revealing .map-pin:nth-of-type(4){animation-delay:3.85s}.revealing .map-pin:nth-of-type(5){animation-delay:4.05s}.revealing .map-pin:nth-of-type(6){animation-delay:4.25s}.revealing .map-pin:nth-of-type(7){animation-delay:4.45s}@keyframes pin-arrive{0%{opacity:0;transform:translate(-50%,-100%)scale(.92)}to{opacity:1;transform:translate(-50%,-100%)scale(1)}}.demo-source-view{z-index:95;background:#f3f6f3;padding:60px 16px 20px;position:absolute;inset:0;overflow:auto}.demo-source-view img{width:100%}.demo-source-view button{background:#fff;border:0;border-radius:6px;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:16px;right:16px}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:#eef0e8;margin:0}button,a,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.glass{background:var(--glass);-webkit-backdrop-filter:blur(22px)saturate(160%);border:1px solid #ffffffb8;box-shadow:0 12px 35px #1a2a231a,0 2px 8px #1a2a230d}.access-page{background:radial-gradient(circle at 50% 20%,#f8faf5,#e5ebe4);place-items:center;min-height:100dvh;padding:20px;display:grid}.access-card{background:#fff;border-radius:14px;width:min(390px,100%);padding:28px;box-shadow:0 18px 50px #17221f1f}.access-card .eyebrow{color:#587068;letter-spacing:.08em;margin:0 0 8px;font-size:12px;font-weight:700}.access-card h1{margin:0;font-size:28px}.access-card>p:not(.eyebrow):not(.inline-error){color:#6d7773;margin:10px 0 24px;font-size:14px;line-height:1.6}.access-card label{color:#4d5b56;gap:8px;margin-bottom:14px;font-size:13px;display:grid}.access-card input{width:100%;height:48px;color:var(--ink);background:#f9faf9;border:1px solid #cfd8d3;border-radius:9px;outline:0;padding:0 13px}.access-card input:focus{border-color:#658075;box-shadow:0 0 0 3px #415c501a}.access-card .inline-error{margin:0 0 14px}.button{cursor:pointer;min-height:48px;transition:transform .14s var(--ease-out),background-color .18s ease,color .18s ease,box-shadow .18s ease;border:0;border-radius:15px;justify-content:center;align-items:center;gap:9px;padding:0 18px;font-size:14px;font-weight:650;text-decoration:none;display:inline-flex}.button:active,.icon-button:active,.brand-chip:active,.map-pin:active,.filter-row button:active,.candidate-list button:active,.sheet-handle:active,.zoom-control button:active,.locate-button:active{transform:scale(.97)}.button.primary{color:#fff;background:#17221f;box-shadow:0 10px 22px #17221f2e}.button.secondary{color:#33413c;background:#eef2ef}.button:disabled{opacity:.45;cursor:not-allowed}.button.full{width:100%}.icon-button{color:#26332f;cursor:pointer;width:44px;height:44px;transition:transform .14s var(--ease-out),background-color .18s ease;background:#ffffffd6;border:0;border-radius:14px;place-items:center;padding:0;display:grid}.map-shell{background:#e8ebe5;position:fixed;inset:0;overflow:hidden}.map-stage{position:absolute;inset:0}.map-vignette{pointer-events:none;z-index:2;background:linear-gradient(#16241e0f,#0000 22% 70%,#16241e14);position:absolute;inset:0}.map-topbar{z-index:20;top:max(18px,env(safe-area-inset-top));pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;left:24px;right:24px}.map-topbar>*{pointer-events:auto}.brand-chip,.city-chip{color:#1d2a26;border:0;border-radius:16px;align-items:center;height:48px;display:flex}.brand-chip{cursor:pointer;transition:transform .14s var(--ease-out);justify-self:start;gap:10px;padding:0 15px 0 9px;font-weight:700}.brand-mark{color:#fff;background:#17221f;border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.city-chip{gap:9px;padding:0 16px}.city-chip strong{font-size:14px}.city-dot{background:#38a169;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #38a1691f}.top-actions{gap:8px;display:flex}.zoom-control{z-index:20;border-radius:15px;width:44px;position:absolute;top:96px;right:24px;overflow:hidden}.zoom-control button{color:#31403b;cursor:pointer;width:44px;height:42px;transition:transform .14s var(--ease-out),background-color .15s ease;background:0 0;border:0;place-items:center;display:grid}.zoom-control span{background:var(--line);height:1px;margin:0 10px;display:block}.locate-button{z-index:20;color:#31403b;cursor:pointer;width:44px;height:44px;transition:transform .14s var(--ease-out),background-color .15s ease;border:0;border-radius:15px;place-items:center;display:grid;position:absolute;top:196px;right:24px}.progress-pill{z-index:20;color:#5c6964;border-radius:19px;align-items:center;gap:8px;height:38px;padding:0 14px;font-size:12px;display:flex;position:absolute;top:88px;left:50%;transform:translate(-50%)}.progress-pill strong{color:#24322d}.progress-pulse{background:#38a169;border-radius:50%;width:8px;height:8px;animation:1.6s infinite pulse;box-shadow:0 0 #38a1694d}.demo-map,.amap-canvas,.amap-surface{position:absolute;inset:0;overflow:hidden}.schematic-world{transform-origin:50%;width:1400px;height:1000px;transition:transform .58s var(--ease-in-out);will-change:transform;position:absolute;top:50%;left:50%}.map-art{width:100%;height:100%;display:block}.demo-map.is-quiet{filter:saturate(.7)}.map-attribution{letter-spacing:.02em;color:#738079;z-index:1;font-size:9px;position:absolute;bottom:10px;right:12px}.map-pin{color:#fff;cursor:pointer;z-index:4;width:auto;max-width:none;transition:transform .22s var(--ease-out),filter .18s ease;background:0 0;border:0;flex-direction:column;align-items:center;margin:0;padding:0;display:flex;position:absolute;overflow:visible;transform:translate(-50%,-100%)}.pin-symbol{background:#3478d4;border:0;border-radius:15px 15px 15px 4px;place-items:center;width:42px;height:42px;display:grid;transform:rotate(-45deg);box-shadow:0 8px 20px #1c372e38}.pin-symbol svg{transform:rotate(45deg)}.map-pin.food .pin-symbol{background:#e78937}.map-pin.lodging .pin-symbol{background:#7a65b4}.map-pin.transport .pin-symbol{background:#459c73}.map-pin.other .pin-symbol{background:#6f7e79}.map-pin.uncertain .pin-symbol{background:#efb534}.pin-name{color:#26332f;white-space:nowrap;opacity:0;max-width:126px;transition:opacity .16s var(--ease-out),transform .16s var(--ease-out);background:#ffffffed;border-radius:9px;margin-top:7px;padding:5px 9px;font-size:11px;font-weight:650;transform:translateY(-3px);box-shadow:0 3px 12px #17221f1a}.map-pin.selected{z-index:8;transform:translate(-50%,-100%)scale(1.1)}.map-pin.selected .pin-symbol{box-shadow:0 0 0 5px #3478d429,0 10px 24px #1c372e38}.map-pin.selected .pin-name{opacity:1;transform:translateY(0)}.real-pin{color:#fff;cursor:pointer;background:0 0;border:0;width:38px;height:38px;padding:0;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;position:relative;overflow:visible}.real-pin-symbol{transition:transform .18s var(--ease-out),filter .16s ease,box-shadow .18s ease;background:#3478d4;border:0;border-radius:10px 10px 10px 3px;place-items:center;display:grid;position:absolute;inset:1px;transform:rotate(-45deg);box-shadow:0 8px 18px #142d263d}.real-pin-symbol b{font-size:12px;font-weight:700;line-height:1;transform:rotate(45deg)}.real-pin.food .real-pin-symbol{background:#e78937}.real-pin.lodging .real-pin-symbol{background:#7a65b4}.real-pin.transport .real-pin-symbol{background:#459c73}.real-pin.other .real-pin-symbol{background:#6f7e79}.real-pin-label{color:#1f2d28;letter-spacing:0;white-space:normal;overflow-wrap:anywhere;text-align:center;background:#fffffff7;border:1px solid #1f2e2814;border-radius:7px;width:max-content;max-width:190px;padding:7px 10px;font-size:12px;font-weight:600;line-height:1.4;display:none;position:absolute;bottom:48px;left:50%;transform:translate(-50%);box-shadow:0 5px 16px #142d2629}.real-pin.selected .real-pin-symbol{transform:rotate(-45deg)scale(1.12);box-shadow:0 0 0 5px #3478d429,0 10px 22px #142d263d}.real-pin.selected .real-pin-label{display:block}.map-unavailable{text-align:center;color:#55635e;background:radial-gradient(circle at 50% 45%,#ffffffa3,#e1e9deb8),linear-gradient(135deg,#e8eee5,#dfeae9);place-content:center;justify-items:center;padding:20px;display:grid;position:absolute;inset:0}.map-unavailable h2{color:#26332f;margin:14px 0 3px;font-size:20px}.map-unavailable p{max-width:320px;margin:0;font-size:13px}.map-unavailable .button{margin-top:16px}.real-pin.arriving,.place-card.arriving{animation:place-arrive .2s var(--ease-out) both}@keyframes place-arrive{0%{opacity:0;transform:translateY(6px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.place-sheet{z-index:30;will-change:transform;border-radius:28px;flex-direction:column;width:390px;display:flex;position:absolute;top:24px;bottom:24px;left:24px;overflow:hidden}.sheet-handle{display:none}.sheet-head{justify-content:space-between;gap:15px;padding:27px 26px 18px;display:flex}.sheet-head .eyebrow{color:#5d746c;letter-spacing:.09em;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:750}.sheet-head h1{letter-spacing:-.025em;margin:0;font-size:25px;line-height:1.2}.sheet-head p:last-child{color:var(--muted);margin:7px 0 0;font-size:13px}.ready-badge{color:#2d7c49;background:#e9f6ec;border-radius:13px;flex:none;align-items:center;gap:4px;height:27px;padding:0 9px;font-size:11px;font-weight:650;display:flex}.filter-row{border-bottom:1px solid var(--line);scrollbar-width:none;gap:6px;padding:0 22px 16px;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.filter-row button{color:#77817d;white-space:nowrap;cursor:pointer;height:34px;transition:transform .14s var(--ease-out),background-color .16s ease,color .16s ease;background:0 0;border:0;border-radius:11px;padding:0 12px;font-size:12px}.filter-row button.active{color:#fff;background:#18231f}.place-content{overscroll-behavior:contain;scrollbar-width:none;flex:1;min-height:0;padding:18px 16px 105px;overflow-y:auto}.place-content::-webkit-scrollbar{display:none}.place-list{gap:8px;margin-top:8px;display:grid}.place-card{cursor:pointer;transition:transform .16s var(--ease-out),background-color .18s ease,border-color .18s ease,box-shadow .18s ease;background:#f6f8f6b8;border:1px solid #0000;border-radius:19px;gap:13px;padding:15px;display:flex}.place-card.selected{background:#fff;border-color:#23322d14;box-shadow:0 9px 25px #1f302814}.place-icon{color:#3478d4;background:#e8f0fc;border-radius:13px;flex:none;place-items:center;width:40px;height:40px;display:grid}.place-icon.food{color:#d87828;background:#fff0e1}.place-icon.lodging{color:#7156ae;background:#eee9fa}.place-icon.transport{color:#3c9168;background:#e6f4ed}.place-icon.other{color:#697773;background:#ecefed}.place-card.uncertain .place-icon{color:#b77a10;background:#fff4d9}.place-copy{flex:1;min-width:0}.place-title{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.place-title span{color:#7a8581;letter-spacing:.04em;font-size:10px;font-weight:650}.place-title h2{letter-spacing:-.012em;margin:2px 0 0;font-size:15px;line-height:1.35}.place-copy>p{color:#78817e;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 0;font-size:12px;line-height:1.65;display:-webkit-box;overflow:hidden}.warning-dot{border-radius:50%;place-items:center;width:20px;height:20px;display:grid;color:#fff!important;background:#f6ba3f!important;font-size:11px!important}.candidate-list{border-top:1px solid var(--line);margin:15px -2px 0;padding-top:12px}.candidate-list>p{color:#7b8581;margin:0 0 8px;font-size:11px}.candidate-list button{text-align:left;color:#34413d;cursor:pointer;width:100%;transition:transform .14s var(--ease-out),background-color .16s ease;background:#f6f7f5e6;border:0;border-radius:12px;justify-content:space-between;align-items:center;margin-top:6px;padding:10px 11px;display:flex}.candidate-list button svg{transform:rotate(-90deg)}.candidate-list button strong,.candidate-list button small{display:block}.candidate-list button strong{font-size:12px}.candidate-list button small{color:#838c88;margin-top:2px;font-size:10px}.candidate-list .not-place{color:#8b7770;background:0 0;justify-content:center}.empty-card{text-align:center;color:#7a8580;padding:54px 20px}.empty-card h2{color:#394641;margin:10px 0 3px;font-size:16px}.empty-card p{margin:0;font-size:12px}.bottom-actions{background:linear-gradient(#fff0,#ffffffed 25%);gap:9px;padding:17px 20px 20px;display:flex;position:absolute;bottom:0;left:0;right:0}.compare-button{color:#fff;background:#17221f;flex:1;max-width:none}.compare-button.active{color:#1769dc;background:#eaf1ff}.add-button{color:#26332f;background:#edf0ee;width:92px}.add-button span:before{content:"＋"}.compare-card{z-index:50;border-radius:20px;width:min(380px,100vw - 32px);padding:16px 49px 16px 18px;position:absolute;bottom:35px;left:50%}.compare-card .icon-button{background:0 0;width:34px;height:34px;position:absolute;top:8px;right:8px}.compare-card p{color:#76817d;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11px;overflow:hidden}.compare-card strong{letter-spacing:-.02em;margin:3px 0;font-size:23px;display:block}.compare-card>span{color:#818b87;font-size:10px}.toast{z-index:80;top:max(82px,calc(env(safe-area-inset-top) + 60px));color:#36423e;white-space:nowrap;border-radius:13px;padding:10px 14px;font-size:12px;position:absolute;left:50%;transform:translate(-50%)}.upload-dialog{width:min(440px,100vw - 28px);max-height:calc(100dvh - 28px);color:var(--ink);border:0;border-radius:28px;padding:0;overflow:auto}.upload-dialog::backdrop{-webkit-backdrop-filter:blur(7px);background:#17201d47}.upload-dialog[open]{animation:dialog-in .24s var(--ease-out)}.upload-dialog form{padding:32px;position:relative}.dialog-close{background:#eff2ef;position:absolute;top:14px;right:14px}.dialog-glyph{color:#30463e;background:#e9f0ed;border-radius:18px;place-items:center;width:54px;height:54px;display:grid}.upload-dialog .eyebrow{color:#648076;letter-spacing:.09em;margin:24px 0 5px;font-size:11px;font-weight:700}.upload-dialog h2{letter-spacing:-.025em;margin:0;font-size:27px;line-height:1.2}.muted{color:#74807b;margin:7px 0 22px;font-size:13px}.drop-zone{color:#485750;cursor:pointer;width:100%;height:150px;transition:transform .14s var(--ease-out),background-color .18s ease,border-color .18s ease;background:#f5f7f5;border:1px dashed #40564d3d;border-radius:20px;place-content:center;justify-items:center;gap:6px;display:grid}.drop-zone span{color:#89928e;font-size:10px}.upload-thumbs{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.upload-thumb{aspect-ratio:.78;background:#edf0ed;border-radius:11px;position:relative;overflow:hidden}.upload-thumb img{object-fit:cover;width:100%;height:100%}.upload-thumb button{color:#fff;background:#18221fad;border:0;border-radius:50%;place-items:center;width:21px;height:21px;padding:0;display:grid;position:absolute;top:3px;right:3px}.upload-count{color:#668075;justify-content:space-between;align-items:center;margin:10px 2px 20px;font-size:11px;display:flex}.upload-count span{align-items:center;gap:4px;display:flex}.text-button{color:#3d6fca;cursor:pointer;background:0 0;border:0;font-size:11px}.consent{color:#76807c;align-items:flex-start;gap:9px;margin:17px 1px;font-size:11px;line-height:1.55;display:flex}.consent input{accent-color:#17221f;flex:none;margin-top:2px}.inline-error{color:#a74e3f;background:#fff0ed;border-radius:10px;padding:9px 11px;font-size:11px}.privacy-note{text-align:center;color:#919995;margin:14px 0 0;font-size:9px;line-height:1.6}.spin{animation:.8s linear infinite spin}.landing{background:radial-gradient(circle at 75% 20%,#b9dcdb8c,#0000 30%),radial-gradient(circle at 20% 70%,#d2e2c2b3,#0000 35%),#f4f6f2;flex-direction:column;min-height:100dvh;padding:26px clamp(22px,6vw,82px);display:flex}.landing nav{justify-content:space-between;align-items:center;display:flex}.landing nav a{color:#52605b;font-size:13px;text-decoration:none}.landing-brand{align-items:center;gap:8px;font-weight:740;display:flex}.landing-hero{max-width:720px;margin:auto 0;padding:80px 0}.landing-hero .eyebrow{color:#5e756c;letter-spacing:.08em;font-size:13px}.landing-hero h1{letter-spacing:-.045em;margin:12px 0 22px;font-size:clamp(42px,7vw,82px);line-height:1.04}.landing-hero>p:not(.eyebrow){color:#66736e;max-width:480px;font-size:17px}.landing-actions{gap:10px;margin-top:32px;display:flex}.landing footer{color:#85908b;font-size:11px}@keyframes pulse{70%{box-shadow:0 0 0 7px #38a16900}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (hover:hover) and (pointer:fine){.button:hover{transform:translateY(-1px)}.icon-button:hover,.zoom-control button:hover,.locate-button:hover,.place-card:hover{background:#fff}.candidate-list button:hover,.drop-zone:hover{background:#edf2ee}.map-pin:hover{filter:brightness(1.05)}.map-pin:hover .pin-name{opacity:1;transform:translateY(0)}}@media (max-width:760px),(hover:none) and (pointer:coarse){.landing-actions{flex-direction:column;align-items:stretch}.landing-actions .button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.schematic-world{transition:none}.upload-dialog[open],.real-pin.arriving,.place-card.arriving{animation:none}}@media (prefers-reduced-transparency:reduce){.glass{-webkit-backdrop-filter:none;background:#fff;border-color:#d7dcda}}@media (prefers-contrast:more){.glass{background:#fffffff5;border-color:#52605b}.place-card{border-color:#9ca5a1}}.progress-pulse{box-shadow:none;animation:none;position:relative}.progress-pulse:after{border-radius:inherit;content:"";pointer-events:none;border:1px solid #38a16973;animation:1.6s infinite pulse-safe;position:absolute;inset:-4px}@keyframes pulse-safe{0%{opacity:.75;transform:scale(.75)}70%,to{opacity:0;transform:scale(1.45)}}.map-pin:active{transform:translate(-50%,-100%)scale(.97)}.map-pin.selected:active{transform:translate(-50%,-100%)scale(1.04)}.pin-name{font-size:13px}.place-card.compare-selected{background:#f1f5f2;border-color:#18231f;box-shadow:inset 0 0 0 1px #18231f}.compare-check{color:#fff;background:#18231f;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;display:grid}.compare-prompt{color:#34483f;background:#edf3ef;border-radius:14px;margin:0 16px 8px;padding:12px 14px;font-size:14px;font-weight:650}.filter-row button{font-size:14px}.place-title h2{margin:0;font-size:16px}.place-card.selected .place-description{-webkit-line-clamp:unset;display:block;overflow:visible}.place-actions{flex:none;align-items:center;gap:8px;display:flex}.delete-place,.change-place{cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:4px;padding:4px 2px;font-size:12px;display:flex}.delete-place{color:#9a4f45}.delete-place:hover{color:#bf3d30}.change-place{color:#52645d}.change-place:hover{color:#17221f}.delete-place span,.change-place span{color:inherit!important;letter-spacing:0!important;font-size:12px!important}.candidate-list button.current{background:#e9f0ec}.candidate-list button.current strong{color:#29483d}.trash-button{position:relative}.trash-button>span{color:#587064;background:#e8eeeb;border:1px solid #cad8d1;border-radius:7px;place-items:center;min-width:14px;height:14px;padding:0 3px;font-size:9px;line-height:1;display:grid;position:absolute;top:1px;right:1px}.trash-list{padding-top:0}.trash-card{background:#fff;border:1px solid #e2e6e3;border-radius:10px;margin-bottom:9px;padding:14px}.trash-card h2{margin:0;font-size:16px}.trash-card p{color:#66736e;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:7px 0 12px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.trash-card>div:last-child{gap:8px;display:flex}.trash-card button{color:#315344;cursor:pointer;background:#eaf2ed;border:0;border-radius:6px;align-items:center;gap:5px;height:36px;padding:0 11px;font-size:13px;display:flex}.trash-card button.purge-place{color:#9a4f45;background:#fff0ed}.place-sheet.dragging{-webkit-backdrop-filter:none;background:#fffffff5}.upload-start{background:#eef0e8;min-height:100dvh}.map-entry{color:#64736d;background:#eef0e8;place-content:center;justify-items:center;gap:10px;min-height:100dvh;display:grid}.map-entry p{margin:0}.map-entry button{margin-top:8px}.city-picker{position:relative}.city-chip{padding-right:5px}.city-chip strong{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.city-chip>button{width:34px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;align-self:stretch;place-items:center;display:grid}.city-chip>button:active{background:#17221f14;transform:scale(.94)}.city-chip svg{pointer-events:none;flex:none}.city-menu{z-index:30;transform-origin:0 0;gap:2px;min-width:160px;padding:6px;display:grid;position:absolute;top:54px;left:0}.city-menu button{height:38px;color:var(--ink);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 12px;font-weight:650}.city-menu button:hover{background:#17221f0f}.city-menu button.active{color:#fff;background:#17221f}.candidate-list>p,.candidate-list button strong,.compare-card p{font-size:14px}.demo-map{touch-action:none;cursor:grab}.demo-map:active{cursor:grabbing}.demo-map.is-dragging .schematic-world{transition:none}.title-button{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.title-button svg{color:#7c8883}.title-input{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;border-bottom:2px solid #24332d;outline:0;font-size:25px;font-weight:700}.help-entry{display:block;position:relative}.help-hint{z-index:5;color:#fff;background:#17221f;border-radius:9px;width:185px;padding:9px 11px;font-size:12px;font-weight:600;line-height:1.4;position:absolute;top:46px;right:-1px;box-shadow:0 8px 20px #17221f2e}.help-hint:before{content:"";background:#17221f;width:12px;height:12px;position:absolute;top:-6px;right:13px;transform:rotate(45deg)}.help-entry.welcome>.icon-button{color:#3478d4;box-shadow:0 0 0 3px #3478d438}.place-description{color:#4f5d58!important;margin:10px 0 2px!important;font-size:15px!important;line-height:1.6!important;display:block!important;overflow:visible!important}.dialog-glyph{margin-bottom:20px}.upload-dialog h2{margin-bottom:22px}.consent,.upload-count,.text-button{font-size:14px}.privacy-note{display:none}.drop-zone strong{font-size:15px}.field{color:#44524d;gap:8px;margin:15px 0;font-size:14px;font-weight:650;display:grid}.field input,.field select{color:#1c2925;width:100%;height:48px;font:inherit;background:#f7f8f7;border:1px solid #d9dfdb;border-radius:13px;outline:0;padding:0 14px}.field input:focus,.field select:focus{border-color:#526b61;box-shadow:0 0 0 3px #415c501a}.upload-dialog{background:#fff}@media (max-width:420px){.landing-hero h1{font-size:38px}}.map-filter-popover{z-index:24;border-radius:17px;min-width:126px;padding:7px;display:grid;position:absolute;top:78px;right:76px}.map-filter-popover button{color:#4c5954;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;height:39px;padding:0 13px}.map-filter-popover button.active{color:#fff;background:#17221f}.map-add-place{z-index:20;color:#26332f;cursor:pointer;border:0;border-radius:15px;place-items:center;width:44px;height:44px;padding:0;display:grid;position:absolute;top:252px;right:24px}.detail-only{padding:8px 16px 26px}.detail-only .place-card{cursor:default}.map-prompt{text-align:center;place-items:center;min-height:160px;display:grid}.map-prompt h2{color:#68746f;margin:0;font-size:17px;font-weight:600}.compare-inside{margin-top:12px}.all-place-cards{margin-top:0}.all-place-cards .place-card{cursor:pointer}.back-to-all{color:#42534c;cursor:pointer;background:#edf1ee;border:0;border-radius:7px;align-items:center;gap:6px;width:max-content;margin:0 0 10px auto;padding:7px 9px;font-size:14px;font-weight:650;display:flex}.back-to-all:hover{background:#e5eae6}.comparison-detail{padding:6px 2px}.comparison-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.comparison-heading h2{margin:0;font-size:20px}.comparison-heading .icon-button{background:#eef1ef;width:36px;height:36px}.comparison-detail>p{background:#f2f4f2;border-radius:15px;align-items:center;gap:11px;margin:8px 0;padding:12px 14px;font-size:15px;font-weight:650;display:flex}.point-letter{color:#fff;background:#17221f;border-radius:9px;place-items:center;width:28px;height:28px;font-size:13px;display:grid}.choose-on-map{color:#60706a;border:1px dashed #ced6d2;border-radius:18px;place-content:center;justify-items:center;gap:10px;min-height:116px;margin-top:12px;display:grid}.choose-on-map strong{font-size:14px}.distance-result{background:#eaf3ed;border-radius:18px;margin:14px 0;padding:18px}.distance-result span{color:#607069;font-size:12px;display:block}.distance-result strong{margin-top:3px;font-size:25px;display:block}.comparison-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.comparison-actions .button{padding:0 10px}.source-images{margin-top:18px}.source-images h3{margin:0 0 10px;font-size:15px}.source-images>div{gap:9px;display:flex;overflow-x:auto}.source-images button{cursor:pointer;background:#e9ecea;border:0;border-radius:13px;flex:none;width:82px;height:108px;padding:0;overflow:hidden}.source-images img{object-fit:cover;width:100%;height:100%}.source-empty{color:#69756f;background:#f1f4f2;border-radius:13px;margin:0;padding:13px 14px;font-size:13px;line-height:1.55}.gallery-dialog{width:min(680px,100vw - 28px);max-height:calc(100dvh - 28px);color:var(--ink);background:#fff;border:0;border-radius:25px;padding:20px}.gallery-dialog::backdrop,.image-viewer::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#131b188a}.gallery-dialog header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.gallery-dialog h2{margin:0;font-size:23px}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:10px;max-height:58dvh;margin-bottom:16px;display:grid;overflow-y:auto}.gallery-grid button{aspect-ratio:.72;cursor:pointer;background:#edf0ee;border:0;border-radius:15px;padding:0;position:relative;overflow:hidden}.gallery-grid img{object-fit:cover;width:100%;height:100%}.gallery-grid span{color:#fff;background:#151e1bb8;border-radius:8px;padding:4px 7px;font-size:11px;position:absolute;bottom:7px;left:7px}.gallery-empty{color:#77827e;place-content:center;justify-items:center;gap:8px;min-height:230px;display:grid}.gallery-empty p{margin:0}.image-viewer{background:0 0;border:0;width:min(760px,100vw - 24px);height:calc(100dvh - 24px);padding:0;overflow:auto}.image-viewer>.icon-button{z-index:2;background:#ffffffeb;position:fixed;top:22px;right:22px}.image-viewer img{border-radius:18px;max-width:100%;height:auto;margin:auto;display:block}.pin-letter{font-size:15px;transform:rotate(45deg)}.place-search-results{gap:7px;margin:14px 0;display:grid}.place-search-results button{text-align:left;color:#25312d;cursor:pointer;background:#f7f8f7;border:1px solid #e1e5e2;border-radius:13px;gap:3px;padding:11px 13px;display:grid}.place-search-results strong{font-size:14px}.place-search-results span{color:#737e79;font-size:12px}@media (max-width:760px),(hover:none) and (pointer:coarse){.top-actions .icon-button:last-child{display:grid}.map-filter-popover{top:66px;right:64px}.map-add-place{top:124px;right:14px}.detail-only{padding:7px 11px 24px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-dialog{padding:17px}.source-images button{width:76px;height:102px}}.glass,.place-sheet{border-radius:12px}.button,.icon-button,.brand-chip,.city-chip,.zoom-control,.locate-button,.map-add-place{border-radius:8px}.place-card,.distance-result,.choose-on-map,.gallery-dialog,.upload-dialog,.drop-zone{border-radius:10px}.place-icon,.point-letter,.field input,.field select,.place-search-results button,.source-empty{border-radius:7px}.source-images button,.gallery-grid button,.image-viewer img{border-radius:8px}.pin-symbol,.real-pin{border-radius:10px 10px 10px 3px}.filter-row button{border-radius:6px}.sheet-head{align-items:flex-start}.sheet-head>div:first-child{flex:1;min-width:0}.sheet-tools{gap:6px;display:flex}.sheet-tools .icon-button{background:#edf0ee;width:38px;height:38px}.sheet-filters{align-items:center}.sheet-filters>svg{color:#6e7974;flex:none;margin-left:4px}.comparison-detail>.compare-point{display:flex}.compare-point>span{flex:1;min-width:0}.compare-point>button{color:#26342f;cursor:pointer;background:#fff;border:0;border-radius:6px;place-items:center;width:34px;height:34px;padding:0;display:grid}.comparison-actions{display:none}.map-pin.guide-focus .pin-name{opacity:1;transform:none}.map-pin:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){.paper{transition:opacity .15s}.revealing .map-pin{animation-duration:.01ms;animation-delay:0s}}.upload-add{aspect-ratio:.78;color:#31443d;cursor:pointer;background:#f4f6f4;border:1px dashed #9ba9a3;border-radius:8px;place-content:center;justify-items:center;gap:2px;display:grid}.upload-add span{font-size:11px;font-weight:650}.upload-add:disabled{cursor:default;opacity:.5}.place-copy>p.place-address{color:#77827d;-webkit-line-clamp:unset;margin:5px 0 0;font-size:12px;line-height:1.45;display:flex;overflow:visible}.place-address svg{flex:none;margin-top:2px}.place-address span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.detail-only>.place-card{animation:detail-card-in .2s var(--ease-out) both}@keyframes detail-card-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.city-overlay{opacity:0;transition:opacity .58s var(--ease-in-out),transform .58s var(--ease-in-out);pointer-events:none;position:absolute;inset:0;transform:translate(28px)}.city-overlay.visible{opacity:1;transform:translate(0)}.compare-line-layer{pointer-events:none;position:absolute;inset:0}.compare-line-layer line{stroke:#3478d4;stroke-width:2.5px;stroke-dasharray:10 9;stroke-linecap:round;opacity:.72;animation:compare-line-in .42s var(--ease-out) both}@keyframes compare-line-in{0%{stroke-dashoffset:1000px}to{stroke-dashoffset:0}}.demo-completion{padding:12px 2px}.demo-completion>h2{margin:0;font-size:21px}.demo-completion>p{color:#62706a;margin:8px 0 16px;font-size:14px;line-height:1.6}.completion-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.demo-feedback{background:#f7f9f7;border:1px solid #dfe5e1;border-radius:10px;padding:14px}.feedback-heading{align-items:flex-start;gap:8px;display:flex}.feedback-heading>div{flex:1}.feedback-heading h3{margin:0;font-size:16px}.feedback-heading p{color:#65736d;margin:5px 0 0;font-size:12px;line-height:1.5}.feedback-heading>button,.feedback-success button{color:#68766f;cursor:pointer;background:0 0;border:0}.feedback-options{gap:6px;margin:13px 0;display:grid}.feedback-options label{color:#34423d;cursor:pointer;background:#fff;border-radius:7px;align-items:flex-start;gap:8px;padding:8px;font-size:12px;line-height:1.45;display:flex}.feedback-options input{accent-color:#17221f;margin-top:2px}.feedback-comment{color:#52615b;gap:7px;font-size:12px;display:grid}.feedback-comment textarea{resize:vertical;min-height:76px;color:var(--ink);font:inherit;background:#fff;border:1px solid #d8dfdb;border-radius:7px;outline:0;padding:9px}.feedback-comment textarea:focus{border-color:#658075;box-shadow:0 0 0 3px #415c501a}.demo-feedback .button{margin-top:12px}.feedback-success{color:#315344;background:#eaf3ed;border-radius:8px;justify-content:space-between;align-items:center;padding:14px;font-size:13px;display:flex}.demo-feedback-link{color:#66766f;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:20px auto 0;padding:7px 10px;font-size:12px;text-decoration:underline;display:block}.place-content{touch-action:pan-y;-webkit-overflow-scrolling:touch}.empty-card .button{margin-top:16px}.gallery-dialog{flex-direction:column;width:min(1040px,100vw - 32px);display:flex;overflow:hidden}.gallery-dialog header{flex:none}.gallery-dialog>p{color:#68766f;flex:none}.gallery-dialog .gallery-grid{flex:1;min-height:0;max-height:68dvh}.gallery-dialog>.button{flex:none}.gallery-dialog header .icon-button{z-index:2;position:sticky;top:0}.gallery-dialog:not([open]),.demo-upload-dialog:not([open]),.image-viewer:not([open]),.upload-dialog:not([open]){display:none}.guide-close-only .guide-close-target{color:#1769dc;box-shadow:0 0 0 3px #fff,0 0 0 5px #3478d4}.gallery-purpose{max-width:310px;color:#52645c!important;margin:6px 0 0!important;font-size:13px!important;line-height:1.5!important}.guide-close-message{color:#52645c!important;margin:5px 0 0!important;font-size:12px!important;line-height:1.45!important}.gallery-dialog header>div{min-width:0}.upload-history{margin:7px 0 16px;padding:0;display:block}.feedback-dialog{width:min(374px,100vw);max-height:min(720px,100dvh);color:var(--ink);background:#fff;border:0;border-radius:12px;padding:16px;overflow:auto}.feedback-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#131b188a}.feedback-regret,.feedback-options{border:0;gap:6px;margin:13px 0;padding:0;display:grid}.feedback-regret legend,.feedback-options legend{color:#34423d;margin-bottom:7px;font-size:13px;font-weight:650;line-height:1.5}.feedback-regret label{color:#34423d;cursor:pointer;background:#fff;border-radius:7px;align-items:flex-start;gap:8px;padding:8px;font-size:12px;line-height:1.45;display:flex}.feedback-regret input{accent-color:#17221f;margin-top:2px}.swipe-surface{transform:translateY(var(--swipe-y,0));transition:transform .22s var(--ease-out)}.swipe-surface.is-swiping{will-change:transform;transition:none}.swipe-handle{z-index:5;touch-action:none;cursor:grab;width:48px;height:22px;margin:-10px auto 2px;display:block;position:relative}.swipe-handle:after{content:"";background:#c7cfcb;border-radius:2px;width:36px;height:4px;position:absolute;top:9px;left:6px}.swipe-handle:active{cursor:grabbing}.image-viewer>.icon-button{right:max(18px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top))}.demo-feedback{min-height:max-content}.feedback-heading{z-index:2;background:#f7f9f7;margin:-14px -14px 0;padding:14px;position:sticky;top:-14px}.demo-upload-dialog{width:374px;max-height:min(764px,100dvh - 24px);padding:17px}.demo-upload-dialog[open]{flex-direction:column;display:flex;overflow:hidden}.demo-upload-dialog header{z-index:3;background:#fff;flex:none;margin:0 0 14px}.demo-upload-dialog h2{font-size:22px}.demo-processing-status{display:none}.demo-case-grid{scroll-snap-type:x mandatory;flex:1;grid-template-columns:none;grid-auto-columns:310px;grid-auto-flow:column;min-height:0;padding-bottom:8px;overflow:auto hidden}.demo-case-card{scroll-snap-align:center;flex-direction:column;height:100%;display:flex}.demo-case-card img{flex:1;min-height:0;max-height:none}.demo-case-card figcaption,.demo-upload-dialog>.button,.demo-upload-dialog>.upload-track{flex:none}.gallery-dialog{width:374px;max-height:764px;padding:16px}.gallery-dialog header{padding-top:2px;position:relative}.gallery-dialog .gallery-grid{scroll-snap-type:x mandatory;grid-template-columns:none;grid-auto-columns:310px;grid-auto-flow:column;max-height:none;overflow:auto hidden}.gallery-grid button{scroll-snap-align:center}.upload-entry{display:block;position:relative}.upload-entry.guide-focus>.icon-button{box-shadow:0 0 0 3px #fff,0 0 0 5px #3478d4}.upload-hint{z-index:105;color:#17221f;pointer-events:none;background:#fff;border:1px solid #3478d473;border-radius:10px;width:260px;padding:12px 14px;font-size:13px;line-height:1.55;position:absolute;top:54px;right:0;box-shadow:0 8px 24px #17221f21}.gallery-item{aspect-ratio:.72;scroll-snap-align:center;min-width:0;position:relative}.gallery-grid .gallery-preview{aspect-ratio:auto;width:100%;height:100%}.gallery-grid .gallery-delete{aspect-ratio:auto;color:#a8342a;background:#fff;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:8px;right:8px;box-shadow:0 2px 10px #0003}.gallery-grid .gallery-delete:disabled{opacity:.5}@media (prefers-reduced-motion:reduce){.city-overlay,.demo-case-card{transition:opacity .15s}.is-processing .demo-case-card{animation:none;transform:none!important}.compare-line-layer line,.detail-only>.place-card{animation:none}.demo-map:not(.is-dragging) .schematic-world{transition:none}}.amap-canvas{z-index:0;isolation:isolate}.amap-surface{background:#f0f2eb}.amap-surface .leaflet-tile-pane{filter:saturate(.65)contrast(.9)}.amap-surface .leaflet-bottom.leaflet-right{inset:72px auto auto 14px}.amap-surface .leaflet-control-attribution{color:#68766f;box-shadow:none;background:#ffffffad;border-radius:4px;margin:0;padding:2px 5px;font-size:9px}.place-card,.place-card.selected{border:0}.place-card.compare-selected{border:0;box-shadow:inset 0 0 0 2px #3478d43d}.place-card:focus-visible{outline-offset:2px;outline:2px solid #3478d4}.progress-pill{border:0;max-width:calc(100% - 90px);height:auto;min-height:50px;padding:8px 12px;box-shadow:0 6px 20px #1a2a231a}.progress-copy{white-space:nowrap;gap:2px;display:grid}.progress-copy small{color:#5c6964;font-size:11px}@media (max-width:600px),(hover:none) and (pointer:coarse){body:has(.phone-shell){background:#e8ebe5}.map-shell.phone-shell{width:100vw;height:100dvh;box-shadow:none;top:0;left:0;transform:none}.demo-upload-dialog,.gallery-dialog,.upload-dialog,.image-viewer{border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0}.demo-upload-dialog,.gallery-dialog,.upload-dialog{padding:max(17px,env(safe-area-inset-top)) max(17px,env(safe-area-inset-right)) max(17px,env(safe-area-inset-bottom)) max(17px,env(safe-area-inset-left))}}
