@font-face{font-family:'DM Sans';src:url('assets/fonts/GoogleSans-Regular.ttf') format('truetype');font-weight:400 500;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/fonts/GoogleSans-Bold.ttf') format('truetype');font-weight:600 700;font-display:swap}
@font-face{font-family:'Noto Sans Thai';src:url('assets/fonts/NotoSansThai-Regular.ttf') format('truetype');font-weight:400 500;font-display:swap}
@font-face{font-family:'Noto Sans Thai';src:url('assets/fonts/NotoSansThai-Bold.ttf') format('truetype');font-weight:600 700;font-display:swap}
:root{font-family:'DM Sans','Noto Sans Thai',sans-serif;color:#253b31;background:#edf1e9;font-synthesis:none;--forest:#234a3c;--deep:#193d32;--sand:#f7f4ed;--gold:#bd7340;--muted:#758278}
*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,input:focus-visible{outline:3px solid #c6874a;outline-offset:4px}button{touch-action:manipulation}button svg,.icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}button{color:inherit}button:hover{filter:brightness(.97)}[hidden]{display:none!important}#map{position:absolute;inset:0;right:0;transition:right .55s cubic-bezier(.2,.8,.2,1)}#scene,#scene canvas{width:100%;height:100%;display:block;outline:none}#scene canvas{touch-action:none}#leaders,#labels{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}#labels{overflow:visible}#leaders path{stroke:#a1744e;stroke-width:1.2;fill:none;opacity:.8}#leaders circle{fill:#fbf7e9;stroke:#a1744e;stroke-width:2}.header{position:absolute;top:28px;left:32px;right:32px;display:flex;align-items:center;justify-content:space-between;gap:18px;z-index:30;pointer-events:none}.header button{pointer-events:auto}.brand{border:0;background:#fbf9f2e8;backdrop-filter:blur(14px);border-radius:17px;display:flex;align-items:center;padding:15px 21px;gap:20px;box-shadow:0 3px 22px #30463508}.brand img{width:150px;height:auto;display:block}.brand-rule{height:27px;width:1px;background:#d5d8cb}.brand-caption{font-size:8px;letter-spacing:1.5px;text-align:left;line-height:1.75;color:#738073}.brand-caption b{font-size:7px;font-weight:500}.guide-toggle{display:flex;align-items:center;gap:13px;background:var(--deep);color:#fcf6e8;border:0;border-radius:100px;min-height:52px;padding:0 23px;font-size:13px;box-shadow:0 6px 25px #163b2a18}.toggle-arrow{margin-left:18px;font-size:22px}.map-meta{position:absolute;top:126px;left:40px;display:flex;align-items:center;gap:9px;font-size:8px;letter-spacing:1.6px;color:#748174;z-index:2;pointer-events:none}.live-dot{width:5px;height:5px;background:#57876d;border-radius:50%;box-shadow:0 0 0 4px #5d826b13}.meta-divider{width:17px;height:1px;background:#a8b4a4;margin:0 4px}.welcome{position:absolute;left:52px;bottom:148px;max-width:340px;pointer-events:none;transition:opacity .4s,transform .5s}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:600;color:#7b8a79}.welcome h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(42px,4.8vw,78px);letter-spacing:-3px;line-height:1.03;margin:20px 0 22px;color:#294d3c}.welcome h1 em{font-weight:400;color:#8e9b7f}.welcome-th{font-size:13px;line-height:1.85;color:#71806f;margin:0 0 24px}.text-button{pointer-events:auto;padding:0 0 9px;border:0;border-bottom:1px solid #a6b29c;background:none;font-size:12px;display:flex;justify-content:space-between;width:200px}.text-button span{font-size:21px}.selection-card{position:absolute;left:36px;bottom:124px;width:320px;border-radius:24px;padding:23px 25px 25px;background:#fbf9f1ef;backdrop-filter:blur(15px);box-shadow:0 12px 45px #183e2212;animation:cardin .45s}.selection-top{display:flex;justify-content:space-between;align-items:center}.selection-card h2{font-family:Georgia,'Noto Sans Thai',serif;font-size:30px;font-weight:400;letter-spacing:-.6px;margin:10px 0}.selection-card p{color:#7a8374;font-size:12px;line-height:1.85;margin:0}.selection-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.selection-chips span{background:#e8eede;border:1px solid #dfe6d4;border-radius:100px;padding:5px 10px;font-size:10px}.plain-icon{border:0;background:none;font-size:28px;line-height:1;width:34px;height:34px;display:grid;place-items:center;font-weight:400}.guide{position:absolute;right:24px;top:104px;bottom:28px;width:340px;border-radius:27px;background:var(--deep);color:#faf8eb;display:flex;flex-direction:column;padding:27px 24px 20px;transform:translateX(400px);opacity:0;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .35s;z-index:25;box-shadow:0 18px 60px #163a2920}.guide-open .guide{transform:translateX(0);opacity:1}.guide-open #map{right:355px}.guide-heading{display:flex;justify-content:space-between;align-items:flex-start}.guide-heading .eyebrow{color:#9bb29e;font-size:8px}.guide h2{font-size:25px;letter-spacing:-.5px;font-weight:500;margin:7px 0 22px}.search{height:46px;flex-shrink:0;background:#ffffff0b;border:1px solid #ffffff16;border-radius:12px;display:flex;align-items:center;gap:10px;padding:0 12px}.search .icon{display:flex;color:#b1c1af}.search input{width:100%;min-width:0;border:0;background:none;color:#fff;outline:none;font-size:11px}.search input::placeholder{color:#a4b8a5}.search kbd{color:#9aaf9e}.filters{display:flex;gap:4px;padding:16px 0 14px;flex-shrink:0}.filters button{flex:1;white-space:nowrap;padding:8px 5px;border:0;border-radius:8px;background:transparent;color:#a6b8a5;font-size:10px}.filters button[aria-selected=true]{background:#d9e3c5;color:#294633;font-weight:600}.guide-scroll{min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ffffff25 transparent;margin:0 -5px;padding:0 5px}.list-heading{color:#94aa94;display:flex;align-items:center;gap:10px;font-size:8px;letter-spacing:1.5px;margin:17px 0 6px}.list-heading::after{content:'';height:1px;background:#ffffff0d;flex:1}.destination{position:relative;display:flex;align-items:center;gap:12px;width:100%;background:transparent;border:0;border-bottom:1px solid #ffffff0c;text-align:left;padding:15px 5px;color:inherit;border-radius:9px;transition:background .2s}.destination:hover,.destination.selected{background:#ffffff0a}.destination.selected::before{content:'';position:absolute;left:-5px;top:22px;bottom:22px;width:2px;background:#e4bd7c}.dest-icon{width:37px;height:37px;display:grid;place-items:center;background:#ffffff08;border:1px solid #ffffff0d;border-radius:11px;flex-shrink:0;color:#bfcfb3}.destination.selected .dest-icon{background:#cdaa6a;color:#183e2d}.dest-copy{flex:1;min-width:0}.dest-copy b{display:block;font-weight:500;font-size:12px}.dest-copy small{display:block;font-size:9px;color:#9eb19d;margin-top:5px}.dest-arrow{font-size:17px;color:#98ae96}.guide-bottom{border-top:1px solid #ffffff12;display:flex;gap:13px;align-items:center;padding-top:19px;margin-top:14px;flex-shrink:0}.guide-bottom>.icon{width:37px;height:37px;border:1px solid #ffffff19;border-radius:50%;display:grid;place-items:center;color:#d5cda1}.guide-bottom p{font-size:9px;line-height:1.9;color:#93a98e;margin:0}.guide-bottom button{border:0;background:none;color:#dfe6ca;padding:0;font-size:11px}.guide-bottom button span{margin-left:18px}.no-results{font-size:12px;color:#afbdab;padding:30px 0;text-align:center;line-height:1.8}.map-tools{position:absolute;bottom:41px;left:50%;transform:translateX(-50%);background:#fbf9f0f2;display:flex;align-items:center;border:1px solid #fff;border-radius:100px;padding:7px;box-shadow:0 6px 32px #294b3410;z-index:4;transition:left .5s}.map-tools button{width:41px;height:37px;border:0;background:none;border-radius:100px;display:grid;place-items:center;font-size:23px;line-height:1;color:#4b6753}.map-tools button:hover{background:#e7ebdd}.tool-divider{height:17px;width:1px;background:#dfe3d4;margin:0 4px}.guide-open .map-tools{left:calc((100% - 355px)/2)}.compass{position:absolute;right:40px;top:117px;width:44px;height:64px;display:flex;align-items:center;flex-direction:column;justify-content:center;border:0;background:transparent;color:#385d49;transition:right .5s}.compass>span{font-size:9px;letter-spacing:1px}.guide-open .compass{right:388px}.compass svg{stroke:none}.bottom-bar{position:absolute;left:40px;right:40px;bottom:45px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;gap:25px;z-index:3}.gesture{display:flex;align-items:center;gap:9px;color:#758673;font-size:9px}.gesture .icon{display:flex}.gesture svg{width:18px;height:18px}.tour-button{pointer-events:auto;display:flex;align-items:center;gap:9px;border:0;background:none;color:#48674c;font-size:10px;padding:10px 0}.tour-button .icon{display:flex}.guide-open .tour-button{margin-right:355px}.guide-open .gesture{max-width:210px}.map-key{position:absolute;right:40px;bottom:100px;display:flex;gap:8px;align-items:center;color:#80907b;font-size:8px;transition:right .5s;pointer-events:none}.guide-open .map-key{right:390px}.key-pin{width:5px;height:5px;border:1px solid #8c9f82;border-radius:50%;box-shadow:0 0 0 4px #9aaa8a12}.poi-label{position:absolute;pointer-events:auto;background:#fbf9efed;color:#35503c;border:1px solid #ffffff;border-radius:8px;padding:8px 12px;box-shadow:0 5px 15px #1f3a2310;white-space:nowrap;text-align:left;opacity:0;transition:opacity .5s,background .2s;display:flex;gap:8px;align-items:center;min-height:34px;font-size:10px;backdrop-filter:blur(8px)}.poi-label.visible{opacity:1}.poi-label:hover{background:#fff}.poi-label b{font-size:10px;font-weight:600}.poi-label small{color:#86927b;font-size:8px;display:block;margin-top:2px}.poi-dot{width:5px;height:5px;border-radius:50%;background:#8c9c6f}.poi-label.active{background:#284d3c;color:#fff;border-color:#284d3c}.poi-label.active small{color:#b5c8a5}.poi-label.active .poi-dot{background:#e2bf80}.tour-strip{position:absolute;bottom:110px;left:50%;transform:translateX(-50%);width:360px;max-width:calc(100% - 40px);background:#f9f6eccf;backdrop-filter:blur(15px);border-radius:12px;overflow:hidden;box-shadow:0 6px 30px #304e2810;z-index:7}.tour-line{height:2px;background:#dde4d0}.tour-line i{display:block;height:100%;width:0;background:#9b8154}.tour-strip-content{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.tour-strip small{font-size:8px;color:#98a28c;margin-right:10px}.tour-strip b{font-size:10px;font-weight:500}.tour-strip button{background:none;border:0;padding:5px 0;font-size:9px;color:#77846a}.guide-open .tour-strip{left:calc((100% - 355px)/2)}.toast{position:absolute;bottom:110px;left:50%;transform:translate(-50%,10px);padding:10px 18px;border-radius:10px;background:#234331;color:#f6f3e5;font-size:11px;opacity:0;pointer-events:none;z-index:60;transition:opacity .3s,transform .3s}.toast.show{opacity:1;transform:translate(-50%,0)}.loading{position:absolute;inset:0;background:#f6f2e9;display:grid;place-items:center;z-index:100;transition:opacity .8s}.loading.done{opacity:0;pointer-events:none}.loading-content{width:300px;text-align:center}.loading img{width:245px}.loading p{font-size:8px;letter-spacing:2.7px;color:#9b947e;margin:28px 0 30px}.loading-track{height:2px;background:#dddccc;overflow:hidden}.loading-track i{height:100%;background:#bc7343;width:3%;display:block;transition:width .35s}.loading-content>span{display:block;font-size:10px;color:#8b9582;margin-top:17px}.loading button{border:1px solid #bcc7ac;background:transparent;border-radius:8px;padding:10px 18px;color:#50634d;margin-top:20px}.backdrop{position:absolute;inset:0;border:0;background:#1e392b40;backdrop-filter:blur(3px);z-index:24}@keyframes cardin{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.welcome{left:66px;bottom:165px}.guide{width:360px}.guide-open #map{right:375px}.guide-open .map-tools,.guide-open .tour-strip{left:calc((100% - 375px)/2)}.guide-open .tour-button{margin-right:375px}}
@media(max-width:1050px){.brand-caption,.brand-rule{display:none}.brand{padding:14px 18px}.brand img{width:132px}.welcome{left:32px;max-width:250px}.welcome h1{font-size:51px}.bottom-bar .gesture{max-width:160px;line-height:1.7}.guide{width:310px;padding:24px 20px}.guide-open #map{right:325px}.guide-open .map-tools,.guide-open .tour-strip{left:calc((100% - 325px)/2)}.guide-open .compass{right:350px}.guide-open .map-key{display:none}.guide-open .tour-button{display:none}.selection-card{width:270px;left:24px}}
@media(max-width:760px){.header{top:max(17px,env(safe-area-inset-top));left:18px;right:18px;gap:10px}.brand{padding:13px 15px;border-radius:12px}.brand img{width:109px}.guide-toggle{min-height:43px;padding:0 16px;font-size:11px;gap:9px}.guide-toggle svg{width:16px}.toggle-arrow{margin-left:3px;font-size:18px}.map-meta{top:88px;left:23px;font-size:6px;letter-spacing:1.1px}.map-meta .meta-divider,.map-meta>span:last-child{display:none}.welcome{left:24px;top:124px;bottom:auto;max-width:235px}.welcome>.eyebrow{font-size:6px;letter-spacing:1.5px}.welcome h1{font-size:44px;line-height:1.02;letter-spacing:-1.7px;margin:12px 0 13px}.welcome-th{font-size:10px;line-height:1.7;margin:0 0 17px}.text-button{font-size:10px;width:165px;padding-bottom:5px}.text-button span{font-size:17px}.guide{top:82px;right:12px;bottom:18px;width:calc(100% - 24px);max-width:390px;border-radius:22px;transform:translateX(110vw);padding:22px}.guide-open #map{right:0}.guide-open .compass{right:20px}.guide-open .map-tools,.guide-open .tour-strip{left:50%}.guide-open .map-key{display:none}.guide h2{margin-bottom:17px}.destination{padding:13px 4px}.guide-heading .eyebrow{font-size:7px}.compass{right:16px;top:91px;transform:scale(.85)}.map-tools{bottom:70px;padding:5px;box-shadow:0 5px 26px #294b3415}.map-tools button{width:38px;height:35px}.bottom-bar{bottom:max(19px,env(safe-area-inset-bottom));left:22px;right:22px;justify-content:center}.gesture{font-size:8px}.bottom-bar .gesture{max-width:none}.tour-button{position:absolute;right:0;bottom:120px;border-radius:100px;width:38px;height:38px;background:#f9f7ec;justify-content:center;padding:0;box-shadow:0 5px 14px #2343280b}.tour-button>span:last-child{display:none}.map-key{display:none}.selection-card{left:16px;right:16px;bottom:127px;width:auto;padding:16px 20px;border-radius:19px;max-width:360px}.selection-card h2{font-size:25px;margin:4px 0}.selection-card p{font-size:10px;line-height:1.7}.selection-chips{margin-top:10px;gap:5px}.selection-chips span{font-size:9px;padding:4px 8px}.selection-top .eyebrow{font-size:7px}.tour-strip{bottom:126px;width:320px}.poi-label{padding:6px 8px;min-height:28px;gap:6px}.poi-label b{font-size:8px}.poi-label small{font-size:6px}.toast{bottom:120px;max-width:calc(100% - 36px);width:max-content;font-size:10px}.tool-divider{margin:0 2px}.guide-bottom{padding-top:13px;margin-top:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

@media(max-width:760px){.bottom-bar .tour-button{bottom:59px;right:-4px}}

html,body{overflow:clip}#app{position:fixed;inset:0;overflow:clip}#map{overflow:clip}
.guide-open .welcome{opacity:0;pointer-events:none;transform:translateY(10px)}

/* Building identity: consistent color across facade, map pin and Guide. */
.building-key{position:absolute;top:153px;left:40px;display:flex;gap:15px;align-items:center;z-index:3;pointer-events:none;font-size:9px;color:#526451}
.building-key>span{display:flex;align-items:center;gap:5px;white-space:nowrap}
.building-key i{font-style:normal;display:grid;place-items:center;background:var(--key-color);color:#263b31;border:1px solid #ffffffb0;border-radius:5px;width:19px;height:19px;font-size:9px;font-weight:700}
.poi-label{border-color:color-mix(in srgb,var(--building-color,#a6bcae) 50%,white);background:#fffdf5f5;color:#294232}
.poi-dot{width:19px;height:21px;border-radius:5px;display:grid;place-items:center;flex-shrink:0;font-size:9px;font-weight:700;background:var(--building-color,#84a292);color:#243c30}
.poi-label.active{background:var(--building-ink,#284d3c);border-color:var(--building-ink,#284d3c)}
.poi-label.active .poi-dot{background:var(--building-color,#c8d5b5);color:#243c30}
.poi-label small{color:#657864}.poi-label.active small{color:#f0f1df}
.dest-icon.building-icon{background:color-mix(in srgb,var(--building-color) 24%,transparent);color:var(--building-color);border-color:color-mix(in srgb,var(--building-color) 40%,transparent)}
.destination.selected .dest-icon.building-icon{background:var(--building-color);color:#1e3c2b}
.guide-scroll .dest-copy small{color:#b1c3ad}.map-meta{color:#60755e}.welcome-th,.gesture,.map-key{color:#61755c}
@media(max-width:760px){.building-key{top:112px;left:23px;gap:10px;font-size:7px}.building-key i{width:16px;height:17px;font-size:8px}.welcome{top:155px}.poi-dot{width:17px;height:19px;font-size:8px}}
@media(max-width:760px){.welcome{top:145px}.welcome .eyebrow,.welcome-th,.welcome .text-button{display:none}.welcome h1{font-size:27px;letter-spacing:-.8px;margin:0;line-height:1.05}}

/* Reference-inspired isometric palette: slate, ivory, olive and sand. */
:root{background:#8ca8ad}.welcome h1{color:#203e33}.welcome h1 em{color:#405c48}.welcome-th,.gesture,.map-key,.map-meta,.building-key{color:#2d5045}.eyebrow{color:#4b6650}.text-button{border-color:#607f69}.brand{background:#faf8eedd}.map-tools{background:#f9f6e9ed}.compass{color:#23463a}.tour-button{color:#254c3d}.selection-card{background:#faf6e9f5}.selection-card p{color:#52634d}

/* SEESEA brand: soft orange, light wood, warm cream. */
:root{color:#5d4637;background:#e9e0d4;--forest:#926849;--deep:#76533d;--sand:#faf5ed;--gold:#c87943;--muted:#947d68}
.welcome h1{color:#684b35}.welcome h1 em{color:#b87549}.welcome-th,.gesture,.map-key,.map-meta,.building-key{color:#80674f}.eyebrow{color:#956f50}.text-button{border-color:#c0a385}.brand,.map-tools{background:#fffaf2ed}.brand-caption{color:#947b62}.brand-rule{background:#dcccb8}.live-dot{background:#c87943;box-shadow:0 0 0 4px #c8794314}.meta-divider{background:#bfa88e}.compass,.tour-button{color:#825d42}.selection-card{background:#fffaf2f5}.selection-card p{color:#89715b}.selection-chips span{background:#f2e3cf;border-color:#e6d3bc}.building-key i,.poi-dot,.poi-label.active .poi-dot{color:#62452f}.poi-label{color:#634932}.poi-label small{color:#947960}.destination.selected .dest-icon.building-icon{color:#5d402d}.guide-heading .eyebrow,.list-heading{color:#dfc5a9}.search .icon,.dest-icon,.dest-arrow{color:#e4c8a9}.search input::placeholder,.search kbd{color:#d2b69d}.filters button{color:#ddc2a8}.filters button[aria-selected=true]{background:#efcfaa;color:#68472f}.guide-scroll .dest-copy small,.guide-bottom p{color:#dec3a8}.guide-bottom button{color:#fff0dc}.no-results{color:#dfc3a7}.destination.selected::before{background:#efb77f}.guide-bottom>.icon{color:#ebc6a1}
.map-tools button{color:#89664c}

/* Soft, textured sand surround with no framed rectangular map. */
:root{background:#f2e8d8}#map::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at 8% 25%,#f7cf8e1c,transparent 50%),radial-gradient(ellipse at 95% 85%,#edb97512,transparent 55%);box-shadow:inset 0 0 100px 20px #f2e8d877}#labels,#leaders{z-index:2}.welcome,.selection-card{z-index:3}.map-tools,.compass,.bottom-bar{z-index:4}

.embedded-map .brand,.embedded-map .welcome{display:none}.embedded-map .header{justify-content:flex-end}.embedded-map .map-meta{top:36px}.embedded-map .building-key{top:65px}@media(max-width:760px){.embedded-map .map-meta{top:88px}.embedded-map .building-key{top:110px}}

/* Shared public-site finishes: warm paper, clay accents and quiet contour texture. */
.embedded-map { --deep:#bd6638; --forest:#8f4525; --sand:#faf7f1; --gold:#bd6638; --muted:#746b61; color:#29241f; background:#faf7f1; }
.embedded-map #map::after { background:linear-gradient(180deg,#faf7f100 75%,#faf7f18c),url('assets/map-surround.svg') repeat; background-size:auto,640px 640px; box-shadow:inset 0 0 70px 12px #faf7f1a0; }
.embedded-map .guide-toggle { background:#bd6638; color:#fff; box-shadow:0 6px 24px #8f452514; }
.embedded-map .guide { background:#faf7f1f5; color:#29241f; border:1px solid #e5d9cc; border-radius:16px; box-shadow:0 16px 50px #4d33281a; }
.embedded-map .guide-heading .eyebrow,.embedded-map .list-heading { color:#bd6638; }
.embedded-map .guide h2 { font-weight:500; }
.embedded-map .search { background:#fffaf5; border-color:#ddd2c4; border-radius:6px; }
.embedded-map .search input { color:#29241f; }
.embedded-map .search input::placeholder,.embedded-map .search kbd { color:#746b61; }
.embedded-map .search .icon,.embedded-map .dest-arrow { color:#8f6e54; }
.embedded-map .filters button { color:#746b61; border-radius:5px; }
.embedded-map .filters button[aria-selected=true] { background:#f0dfd0; color:#8f4525; }
.embedded-map .list-heading::after,.embedded-map .guide-bottom { border-color:#e5d9cc; }
.embedded-map .list-heading::after { background:#e5d9cc; }
.embedded-map .destination { border-color:#e8dfd5; border-radius:6px; }
.embedded-map .destination:hover,.embedded-map .destination.selected { background:#efe3d6; }
.embedded-map .destination.selected::before { background:#bd6638; }
.embedded-map .dest-icon { background:#f1e8dd; border-color:#e7dbcd; color:#8f4525; }
.embedded-map .guide-scroll .dest-copy small,.embedded-map .guide-bottom p,.embedded-map .no-results { color:#746b61; }
.embedded-map .guide-bottom button { color:#8f4525; }
.embedded-map .guide-bottom>.icon { color:#bd6638; border-color:#dbc9b7; }
.embedded-map .map-tools,.embedded-map .selection-card,.embedded-map .poi-label { background:#fffdf7ed; border-color:#e8ddd0; }
.embedded-map .selection-card { border-radius:12px; }
.embedded-map .selection-card h2 { color:#29241f; }
.embedded-map .selection-card p,.embedded-map .gesture,.embedded-map .map-key,.embedded-map .map-meta { color:#746b61; }
.embedded-map .poi-label.active { background:#8f4525; color:#fff; border-color:#8f4525; }
.embedded-map .poi-label.active small { color:#f5e5d4; }
.embedded-map .loading { background:#faf7f1; }
@media(max-width:760px){.embedded-map .guide{border-radius:16px 16px 0 0;}.embedded-map .guide-toggle{min-height:46px;}}

/* Match the public homepage: square CTAs, 3px cards, 1px borders, real font weights. */
.embedded-map {
 --site-ink:#29241f; --site-muted:#746b61; --site-paper:#faf7f1; --site-clay:#bd6638; --site-clay-dark:#8f4525;
 --map-body:'SEESEA Kanit',sans-serif; --map-heading:'SEESEA Kanit',sans-serif;
 font-family:var(--map-body); font-weight:400; font-synthesis:none; color:var(--site-ink);
}
html:lang(en) .embedded-map,html:lang(ms) .embedded-map { --map-body:'SEESEA Google Sans','SEESEA Kanit',sans-serif; --map-heading:'SEESEA Cinzel','SEESEA Kanit',serif; }
html:lang(zh) .embedded-map { --map-body:'SEESEA Noto SC','SEESEA Kanit',sans-serif; --map-heading:var(--map-body); }
.embedded-map button,.embedded-map input,.embedded-map kbd { font-family:var(--map-body); }
.embedded-map h1,.embedded-map h2,.embedded-map h3 { font-family:var(--map-heading); font-weight:500; letter-spacing:normal; }
.embedded-map .guide-toggle { min-height:45px; padding:0 18px; border:0; border-radius:0; box-shadow:none; font-size:11px; font-weight:400; letter-spacing:.1em; text-transform:uppercase; transition:background .25s ease; }
.embedded-map .guide-toggle:hover { background:var(--site-clay-dark); filter:none; }
.embedded-map .guide-toggle svg { width:16px; height:16px; }
.embedded-map .guide,.embedded-map .selection-card,.embedded-map .tour-strip { border:1px solid rgba(41,36,31,.14); border-radius:3px; background:#fffdf8f5; box-shadow:0 18px 36px -20px rgba(42,37,33,.25); }
.embedded-map .guide { padding:24px; }
.embedded-map .guide h2 { font-size:26px; line-height:1.4; }
.embedded-map .search { border:1px solid rgba(41,36,31,.22); border-radius:3px; background:transparent; }
.embedded-map .search input { font-size:13px; font-weight:400; }
.embedded-map .filters button { min-height:42px; border-radius:0; border-bottom:1px solid rgba(41,36,31,.14); font-size:12px; font-weight:400; }
.embedded-map .filters button[aria-selected=true] { border-bottom-color:var(--site-clay); color:var(--site-clay-dark); background:#bd66380a; font-weight:500; }
.embedded-map .destination { border-radius:0; }
.embedded-map .dest-icon { border-radius:3px; border:1px solid rgba(41,36,31,.14); }
.embedded-map .dest-copy b { color:var(--site-ink); font-size:14px; font-weight:500; }
.embedded-map .dest-copy small { font-size:11px; font-weight:400; line-height:1.55; }
.embedded-map .eyebrow,.embedded-map .guide-heading .eyebrow,.embedded-map .list-heading { font-size:11px; font-weight:500; letter-spacing:.12em; }
html:lang(th) .embedded-map .eyebrow,html:lang(th) .embedded-map .guide-heading .eyebrow,html:lang(th) .embedded-map .list-heading { letter-spacing:normal; line-height:1.55; }
.embedded-map .guide-bottom>.icon,.embedded-map .selection-chips span,.embedded-map .toast,.embedded-map .loading button { border-radius:3px; }
.embedded-map .guide-bottom p { font-size:11px; font-weight:400; }
.embedded-map .guide-bottom button { font-size:12px; font-weight:500; }
.embedded-map .map-tools { border:1px solid rgba(41,36,31,.14); border-radius:3px; box-shadow:0 6px 24px -16px rgba(42,37,33,.25); }
.embedded-map .map-tools button { border-radius:0; color:var(--site-ink); }
.embedded-map .map-tools button:hover { background:#eee5d9; }
.embedded-map .poi-label { border:1px solid rgba(41,36,31,.14); border-radius:3px; box-shadow:0 6px 18px -12px rgba(42,37,33,.3); }
.embedded-map .poi-label b { font-size:11px; font-weight:500; }
.embedded-map .poi-label small { font-size:9px; font-weight:400; }
.embedded-map .selection-card p { font-size:13px; font-weight:400; line-height:1.8; }
.embedded-map .selection-chips span { font-size:11px; font-weight:400; }
.embedded-map .tour-button { font-size:12px; font-weight:400; }
.embedded-map .tour-strip b { font-size:12px; font-weight:500; }
.embedded-map .tour-strip small,.embedded-map .tour-strip button { font-size:11px; font-weight:400; }
.embedded-map .loading-content>span { color:var(--site-muted); font-size:12px; font-weight:400; }
.embedded-map .guide-scroll { scrollbar-color:#bd663855 transparent; }
@media(max-width:760px) {
 .embedded-map .guide { top:72px; bottom:12px; padding:20px; border-radius:3px; }
 .embedded-map .guide-toggle { min-height:45px; font-size:11px; }
 .embedded-map .tour-button { border:1px solid rgba(41,36,31,.14); border-radius:3px; box-shadow:none; }
 .embedded-map .selection-card { border-radius:3px; }
 .embedded-map .selection-card p { font-size:12px; }
 .embedded-map .poi-label b { font-size:10px; }
 .embedded-map .poi-label small { font-size:8px; }
}

/* Check-in uses the same dimensions as the other map labels. */
.poi-label.checkin-label { z-index:5; border:1px solid #bd6638; border-radius:3px; background:#fffdf7ed; color:#634932; padding:8px 12px; }
.poi-label.checkin-label b { color:inherit; font-size:11px; font-weight:500; }
.poi-label.checkin-label small { color:#746b61; font-size:9px; }
.poi-label.checkin-label .poi-dot { display:grid; place-items:center; width:20px; height:22px; border-radius:3px; background:#f0dfd0; color:#8f4525; font-size:10px; font-weight:500; }
.poi-label.checkin-label:hover { background:#fff; }
.poi-label.checkin-label.active { background:#8f4525; color:#fff; border-color:#8f4525; }
.poi-label.checkin-label.active small { color:#fff0df; }
@media(max-width:760px){.poi-label.checkin-label{padding:6px 8px;}.poi-label.checkin-label b{font-size:10px;}.poi-label.checkin-label small{font-size:8px;}}

/* Keep the moving arrival arrow unobstructed, especially on phones. */
.guided-tour.route-travelling .selection-card { display:none; }
.guided-tour .tour-strip { border-radius:3px; }
@media(max-width:760px){.guided-tour .selection-card{bottom:184px;max-height:calc(100% - 290px);overflow-y:auto;}.guided-tour .tour-strip{bottom:124px;}.guided-tour .tour-strip-content{gap:8px;}.guided-tour .tour-strip b{display:block;font-size:11px;line-height:1.5;}.guided-tour .tour-strip small{font-size:10px;}.guided-tour .tour-strip button{white-space:nowrap;}}

/* One compact selection summary, placed away from the projected highlights. */
.embedded-map .selection-card { width:220px; max-width:calc(100% - 32px); max-height:160px; padding:14px 16px; overflow-y:auto; animation:none; transition:left .16s ease,top .16s ease; }
.embedded-map .selection-top { position:absolute; top:8px; right:8px; }
.embedded-map #selectionTag { display:none; }
.embedded-map .selection-card h2 { padding-right:24px; margin:0 0 5px; font-size:20px; line-height:1.35; }
.embedded-map .selection-card p { margin:0; font-size:11px; line-height:1.6; }
.embedded-map .selection-card .plain-icon { width:26px; height:26px; font-size:23px; }
.embedded-map .selection-chips { margin-top:8px; gap:4px 10px; }
.embedded-map .selection-chips span { padding:0; border:0; border-radius:0; background:none; color:#8f4525; font-size:11px; line-height:1.5; }
.embedded-map .poi-label small { display:none; }
.embedded-map .poi-label { padding:6px 9px; min-height:28px; gap:6px; }
.embedded-map .poi-label b { font-size:10px; }
.embedded-map .poi-label.checkin-label { padding:6px 9px; }
.embedded-map .poi-label.checkin-label b { font-size:10px; }
@media(max-width:760px){.embedded-map .selection-card{width:200px;padding:12px 14px;max-height:148px;}.embedded-map .selection-card h2{font-size:18px;}.embedded-map.guide-open .selection-card{visibility:hidden;}}

/* Resort directory: a small typographic list rather than a second dashboard. */
.embedded-map .guide { width:292px; top:92px; bottom:24px; padding:18px 20px 10px; border:1px solid #29241f1f; background:#faf7f1fa; box-shadow:0 12px 28px -24px #29241f66; }
.embedded-map .guide-heading { align-items:center; padding-bottom:12px; border-bottom:1px solid #29241f1f; }
.embedded-map .guide h2 { margin:0; font-size:18px; font-weight:500; line-height:1.4; }
.embedded-map .guide-heading .plain-icon { width:28px; height:28px; font-size:24px; }
.embedded-map .guide-scroll { margin:0 -6px; padding:4px 6px 8px; scrollbar-width:thin; }
.embedded-map .list-heading { margin:17px 0 4px; color:#8f4525; font-size:11px; font-weight:500; letter-spacing:normal; }
.embedded-map .list-heading::after { display:none; }
.embedded-map .destination { min-height:42px; gap:8px; padding:9px 7px; border:0; border-bottom:1px solid #29241f0d; border-radius:0; }
.embedded-map .destination.selected { background:#bd66380d; }
.embedded-map .destination.selected::before { top:10px; bottom:10px; left:0; width:2px; }
.embedded-map .dest-copy { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.embedded-map .dest-copy b { font-size:13px; font-weight:400; line-height:1.5; }
.embedded-map .destination.selected .dest-copy b { color:#8f4525; font-weight:500; }
.embedded-map .dest-copy small { margin:0; color:#746b61; font-size:10px; white-space:nowrap; }
.embedded-map .dest-check { width:12px; flex:0 0 12px; color:#bd6638; font-size:12px; }
.embedded-map.guide-open #map { right:316px; }
.embedded-map.guide-open .map-tools,.embedded-map.guide-open .tour-strip { left:calc((100% - 316px)/2); }
.embedded-map.guide-open .compass { right:340px; }
.embedded-map.guide-open .map-key { right:340px; }
.embedded-map.guide-open .tour-button { margin-right:316px; }
@media(max-width:760px){.embedded-map .guide{top:72px;right:12px;bottom:16px;width:min(292px,calc(100% - 24px));padding:16px 18px 8px;}.embedded-map.guide-open #map{right:0;}.embedded-map.guide-open .map-tools,.embedded-map.guide-open .tour-strip{left:50%;}.embedded-map.guide-open .compass{right:16px;}.embedded-map.guide-open .tour-button{margin-right:0;}}

/* Each facility marker has a recognisable pictogram, never an empty badge. */
.embedded-map .poi-label .poi-dot { display:grid; place-items:center; flex:0 0 22px; width:22px; height:22px; font-size:10px; }
.embedded-map .poi-label .poi-dot svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.embedded-map .poi-label.parking-label .poi-dot,.embedded-map .poi-label.parking-label.active .poi-dot { border:0; border-radius:50%; background:#34724b; color:#fff; }
.embedded-map .poi-label:not(.parking-label).active .poi-dot { color:#634932; }
.embedded-map .poi-label.checkin-label .poi-dot { color:#8f4525; }

/* A continuous sand surface, with no pale rectangular vignette around the map. */
.embedded-map,#scene { background:#eee5d9; }
.embedded-map #map::after { background:url('assets/map-surround.svg') repeat; background-size:640px 640px; opacity:.35; box-shadow:none; }

/* Solid geographic surroundings replace the decorative paper and faded edge. */
.embedded-map,#scene { background:#d5c6aa; }
.embedded-map #map::after { display:none; background:none; box-shadow:none; }

/* Neutral canvas beyond the crisp, finite terrain cutaway. */
.embedded-map,#scene { background:#faf7f1; }
