:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#513729;background:#fff1de;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}button,a{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #378fbe;outline-offset:3px}[hidden]{display:none!important}
.map-app{position:fixed;inset:0;overflow:hidden;background:#fff1de}.map-viewport{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:none}.map-viewport::-webkit-scrollbar{display:none}.map-canvas{position:relative;width:max(100vw,133.333dvh);aspect-ratio:1448/1086;background:#fff0cf}.map-canvas.is-overview{width:min(100vw,133.333dvh);min-width:0}.map-art{display:block;width:100%;height:100%;object-fit:fill;user-select:none;pointer-events:none;transition:filter .25s ease}.pin-layer{position:absolute;inset:0;pointer-events:none}.map-pin{position:absolute;transform:translate(-50%,-50%);width:52px;height:52px;padding:0;border:0;border-radius:50%;background:#fff9e6dd;box-shadow:0 4px 15px #6e43284d,0 0 0 2px #fff;display:grid;place-items:center;pointer-events:auto;transition:transform .18s ease,background .18s ease}.map-pin svg{width:35px;height:35px;filter:drop-shadow(0 1px 1px #99562688)}.map-pin path{fill:#f3b625;stroke:#fff;stroke-width:2;stroke-linejoin:round}.map-pin:hover,.map-pin:focus-visible,.map-pin.is-selected{transform:translate(-50%,-50%) scale(1.15);background:#e9633f}.map-pin.is-selected path,.map-pin:hover path{fill:#fff2b0}.map-canvas.is-overview .map-pin{width:28px;height:28px}.map-canvas.is-overview .map-pin svg{width:21px;height:21px}
.floating-header{position:fixed;z-index:4;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:calc(22px + env(safe-area-inset-top,0px)) 26px 0;pointer-events:none}.brand-card,.header-right,.map-tip,.map-actions,.store-card,.bottom-caption,.icp{pointer-events:auto}.brand-card{display:flex;align-items:center;gap:12px;padding:12px 19px 12px 12px;background:#fffaf2f0;border:1px solid #fff;box-shadow:0 8px 28px #66422526;border-radius:18px;backdrop-filter:blur(16px)}.brand-icon{width:46px;height:46px;background:#e96a42;color:#fff;border-radius:13px;display:grid;place-items:center;font-size:29px}.brand-eyebrow{display:block;color:#aa6440;font-size:9px;font-weight:900;letter-spacing:.19em;margin-bottom:3px}.brand-card h1{margin:0;font-size:22px;line-height:1.2;letter-spacing:.02em}.brand-card h1 span{font-weight:500;margin-left:5px}.header-right{display:flex;align-items:center;gap:9px}.demo-label{padding:10px 13px;background:#fffaf2ed;border-radius:99px;border:1px solid #fff;color:#a66e55;font-size:11px;font-weight:800;white-space:nowrap;box-shadow:0 5px 16px #6642251c}.theme-switch{display:flex;gap:3px;padding:5px;background:#fffaf2ed;border:1px solid #fff;border-radius:99px;box-shadow:0 5px 16px #6642251c;backdrop-filter:blur(16px)}.theme-button{border:0;border-radius:99px;padding:8px 12px;background:none;color:#8f705e;font-size:12px;font-weight:800;white-space:nowrap}.theme-button.is-active{background:#e96a42;color:#fff;box-shadow:0 2px 8px #d6532e50}
.map-tip{position:fixed;z-index:2;left:26px;bottom:calc(54px + env(safe-area-inset-bottom,0px));padding:11px 16px;background:#fffaf2e8;border:1px solid #fff;border-radius:99px;font-size:13px;font-weight:800;color:#685040;box-shadow:0 5px 18px #6c4a2c26;backdrop-filter:blur(12px)}.tip-star{color:#eea724;font-size:19px;vertical-align:-2px;margin-right:4px}.map-actions{position:fixed;z-index:3;right:26px;bottom:calc(54px + env(safe-area-inset-bottom,0px))}.map-action{min-width:70px;display:grid;justify-items:center;gap:1px;padding:8px 12px;border:1px solid #fff;border-radius:14px;background:#fffaf2ed;box-shadow:0 5px 18px #6c4a2c29;color:#775747;font-size:11px;font-weight:800}.map-action span:first-child{font-size:22px;line-height:1}.bottom-caption{position:fixed;z-index:1;left:26px;right:26px;bottom:calc(16px + env(safe-area-inset-bottom,0px));display:flex;justify-content:space-between;gap:12px;color:#654d40;font-size:11px;font-weight:700;text-shadow:0 1px 2px #fff}.icp{position:fixed;z-index:1;bottom:calc(3px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);color:#8f7363;font-size:9px;text-decoration:none}
.store-card{position:fixed;z-index:5;right:26px;top:50%;transform:translateY(-50%);width:min(360px,calc(100vw - 36px));padding:22px;background:#fffaf3f7;border:1px solid #fff;border-radius:20px;box-shadow:0 20px 60px #46302255;backdrop-filter:blur(20px)}.card-top{display:flex;align-items:center;justify-content:space-between}.card-kicker{color:#ba6a42;font-size:11px;font-weight:900;letter-spacing:.08em}.close-card{width:30px;height:30px;border:0;border-radius:8px;background:#f4e7dc;color:#7e5b47;font-size:23px;line-height:1}.store-card h2{font-size:23px;margin:14px 0 5px;line-height:1.25}.store-area{margin:0 0 18px;color:#a28775;font-size:12px}.address-box{border-top:1px solid #e9d6c4;border-bottom:1px solid #e9d6c4;padding:15px 0}.address-box span{color:#bd8c6c;font-size:10px;font-weight:900;letter-spacing:.15em}.address-box p{margin:7px 0 0;color:#533d30;font-size:15px;line-height:1.55;user-select:text}.demo-notice{color:#a08673;font-size:11px;line-height:1.5;margin:14px 0}.navigate-button{display:flex;align-items:center;justify-content:space-between;border-radius:11px;padding:13px 16px;background:#e96a42;color:#fff;text-decoration:none;font-size:14px;font-weight:900;box-shadow:0 4px 0 #bf5130}.navigate-button:hover{background:#d75e39}.navigate-button span{font-size:20px;font-weight:400}
body[data-theme=vintage]{background:#e9dcc8}body[data-theme=vintage] .map-art{filter:sepia(.38) saturate(.78) contrast(1.06)}body[data-theme=mono]{background:#e7e4de}body[data-theme=mono] .map-art{filter:grayscale(1) contrast(1.08)}
.map-pin{background:transparent;box-shadow:none;border:0}.map-pin svg{display:none}.map-pin:hover,.map-pin:focus-visible,.map-pin.is-selected{background:#ffc94030;box-shadow:0 0 0 2px #e5a620,0 0 0 8px #fff7d580}
.store-card{max-height:calc(100dvh - 40px);overflow-y:auto}.card-actions{display:flex;align-items:stretch;gap:7px}.social-button{display:flex;align-items:center;justify-content:center;gap:4px;min-width:73px;padding:10px 7px;border:1px solid #e9d6c4;border-radius:11px;background:#fff8ee;color:#795640;font-size:12px;font-weight:800}.social-button span[aria-hidden]{font-size:19px;line-height:1}.social-button small{font-size:10px;color:#ad8268}.social-button.is-liked{border-color:#ef9c84;background:#fff0ea;color:#d75e39}.social-button.is-liked small{color:#d75e39}.navigate-button{flex:1;justify-content:center;gap:8px;white-space:nowrap;box-shadow:none}.comments-panel{padding:12px 0 14px;border-top:1px solid #e9d6c4}.comments-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;font-size:12px;color:#6e4732}.comments-heading small{font-size:10px;font-weight:400;color:#ad8268}.comment-list{max-height:130px;overflow:auto}.comments-empty{margin:8px 0;color:#a08673;font-size:11px}.comment-item{padding:7px 0;border-bottom:1px solid #f0e1d3}.comment-item strong{font-size:11px;color:#a76545}.comment-item p{margin:3px 0 0;font-size:12px;line-height:1.45;color:#5e4436;white-space:pre-wrap;overflow-wrap:anywhere}.comment-form{display:grid;gap:6px;margin-top:11px}.comment-form label{font-size:11px;font-weight:800;color:#7c5843}.comment-form textarea{width:100%;resize:vertical;min-height:50px;max-height:100px;padding:8px;border:1px solid #dfc8b6;border-radius:8px;background:#fffdfa;color:#513729;font:inherit;font-size:12px}.comment-form button{justify-self:end;border:0;border-radius:8px;padding:8px 11px;background:#e96a42;color:#fff;font-size:11px;font-weight:800}
@media(max-width:700px){.floating-header{padding:calc(12px + env(safe-area-inset-top,0px)) 12px 0;gap:7px;align-items:flex-start}.brand-card{gap:7px;padding:8px 10px 8px 8px;border-radius:12px}.brand-icon{width:34px;height:34px;font-size:22px;border-radius:8px}.brand-eyebrow{font-size:6px;letter-spacing:.1em}.brand-card h1{font-size:16px}.brand-card h1 span{display:block;margin:1px 0 0;font-size:12px}.header-right{display:block}.demo-label{display:none}.theme-switch{padding:3px;gap:0}.theme-button{font-size:10px;padding:7px 7px}.map-tip{left:12px;bottom:calc(41px + env(safe-area-inset-bottom,0px));font-size:10px;padding:7px 9px}.map-actions{right:12px;bottom:calc(40px + env(safe-area-inset-bottom,0px))}.map-action{min-width:52px;padding:5px 6px;font-size:9px;border-radius:10px}.map-action span:first-child{font-size:18px}.bottom-caption{left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px));font-size:9px}.bottom-caption span:last-child{display:none}.icp{font-size:8px;bottom:calc(2px + env(safe-area-inset-bottom,0px))}.store-card{left:12px;right:12px;top:auto;bottom:calc(85px + env(safe-area-inset-bottom,0px));transform:none;width:auto;padding:16px 18px;border-radius:17px}.store-card h2{font-size:20px;margin-top:10px}.store-area{margin-bottom:10px}.address-box{padding:10px 0}.address-box p{font-size:13px}.demo-notice{margin:10px 0;font-size:10px}.navigate-button{padding:11px 13px;font-size:13px}.map-pin{width:46px;height:46px}.map-pin svg{width:31px;height:31px}}
