:root{color-scheme:light;--ink:#234d48;--green:#287b68;--paper:#fffdf7;--line:#dce5d9}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:'Noto Sans TC','PingFang TC','Microsoft JhengHei',sans-serif;background:#71bedc;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #226a5c;outline-offset:3px}button:disabled{opacity:.4;cursor:default}svg{fill:none;stroke:currentColor;stroke-width:1.5;width:20px;height:20px;flex-shrink:0}header{position:absolute;top:0;left:0;right:0;height:104px;padding:26px 38px;z-index:5;display:flex;justify-content:space-between;align-items:center;pointer-events:none}header>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:12px;font-weight:850;font-size:25px;letter-spacing:3px}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:5px}.brand-icon{width:43px;height:43px;display:grid;place-items:center;background:#32816c;border-radius:15px;color:white;font-size:25px;box-shadow:0 4px 0 #246353;transform:rotate(-8deg)}.topright{display:flex;align-items:center;gap:16px;font-size:12px}.topright button{background:transparent;font-size:12px;min-height:40px}.topright .search-button{background:var(--paper);border-radius:30px;display:flex;align-items:center;gap:10px;padding:9px 17px;border:1px solid #d4e3d8}.official{border-bottom:1px solid #85b5a6;padding:8px 0}.intro{position:absolute;left:3.8%;top:19%;z-index:2;pointer-events:none;width:365px}.intro button{pointer-events:auto}.eyebrow{font-size:10px;letter-spacing:2px;display:flex;gap:9px;align-items:center}.eyebrow span{width:7px;height:7px;border-radius:50%;background:#4e9880}h1{font-size:clamp(30px,3.15vw,48px);line-height:1.42;letter-spacing:2px;margin:20px 0 14px;font-weight:850}h1 span{color:#368774}.intro p{font-size:12px;line-height:2;color:#627f75;margin-bottom:22px}.primary{background:#2d7f6b;color:#fffdf7;border-radius:12px;padding:13px 17px;display:inline-flex;gap:20px;align-items:center;font-size:12px;font-weight:700}.primary:hover{background:#236853}.text-button{display:block;background:none;padding:12px 0;font-size:11px;color:#528575}.journey{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:9px;color:#648176}.journey svg{width:30px;height:30px}.journey strong{display:block;font-size:11px;color:var(--ink);margin-top:4px}#progress-dots{width:70px;display:flex;flex-wrap:wrap;gap:4px;margin-left:4px}#progress-dots i{width:7px;height:7px;border:1px solid #9bbdab;border-radius:50%}#progress-dots i.visited{background:#408771;border-color:#408771}#scene{position:absolute;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}#loading{position:absolute;top:52%;left:55%;max-width:260px;transform:translate(-50%,-50%);font-size:13px;line-height:1.8;background:#fffdf7;padding:16px;border-radius:15px;z-index:1}#labels{position:absolute;inset:0;pointer-events:none}.island-label{position:absolute;transform:translate(-50%,-50%);background:#fffdf4ee;border:1px solid white;border-radius:10px;padding:7px 10px;box-shadow:0 4px 12px #426f6512;pointer-events:auto;font-size:11px;white-space:nowrap;font-weight:700;min-height:31px}.island-label small{font-size:8px;color:#7e9588;margin-right:5px}.island-label.visited:after{content:' ·';color:#47957a}.map-tools{position:absolute;right:30px;bottom:150px;display:flex;gap:6px}.map-tools button{background:var(--paper);border:1px solid #cbded2;border-radius:12px;min-width:40px;height:40px;font-size:20px;box-shadow:0 3px 0 #b8d0c450}.map-tools span{font-size:11px;margin:0 8px}.map-note{position:absolute;bottom:150px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:1px;color:#628c82}.nav-wrap{position:absolute;left:50%;bottom:52px;transform:translateX(-50%);display:flex;width:min(1120px,94vw);align-items:center;gap:8px}.island-nav{display:flex;gap:9px;overflow-x:auto;scrollbar-width:none;padding:7px 3px;scroll-behavior:smooth}.island-nav::-webkit-scrollbar{display:none}.island-nav button{flex:0 0 171px;display:flex;align-items:center;gap:10px;background:#fffdf8ee;border:1px solid white;border-radius:17px;padding:12px;text-align:left;transition:transform .2s}.island-nav button:hover{transform:translateY(-3px)}.island-nav button.active{outline:2px solid #4d9682;outline-offset:-2px}.nav-icon{width:34px;height:37px;border-radius:11px;display:grid;place-items:center;font-size:24px;background:color-mix(in srgb,var(--color) 25%,white);color:var(--color)}.island-nav small{display:block;font-size:8px;letter-spacing:1px;color:#7d978a;margin-bottom:4px}.island-nav b{font-size:12px;white-space:nowrap}.nav-scroll{flex:0 0 28px;width:28px;height:40px;background:#fffdf7ad;border-radius:20px;font-size:26px}.nav-scroll:hover{background:white}footer{position:absolute;bottom:16px;left:38px;right:38px;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1px;color:#739387}footer div{display:flex;gap:20px;align-items:center}footer button{font-size:10px;background:none;color:#628978;padding:6px}#panel{position:absolute;right:25px;top:109px;bottom:147px;width:382px;z-index:8;background:#fffdf8f7;border:1px solid white;border-radius:25px;padding:25px;box-shadow:0 20px 60px #36594d26;overflow:auto;overscroll-behavior:contain;backdrop-filter:blur(12px);scrollbar-width:thin}#panel[hidden]{display:none}.panel-top{display:flex;align-items:center;justify-content:space-between;min-height:30px;margin-bottom:15px}#close{margin-left:auto;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:#eef2e9;font-size:25px}#panel-back{font-size:11px;background:none;color:#608575;padding:7px 0}#panel h2{font-size:24px;margin:13px 0 10px;line-height:1.4}#panel .kicker{font-size:9px;letter-spacing:1.7px;color:#659080}#panel p{font-size:12px;line-height:1.85;color:#617b70}#panel h3{font-size:14px;margin:21px 0 10px}.exam{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px;background:#f2f4ec;border:1px solid #e5eadf;border-radius:12px;text-align:left;margin:7px 0;padding:12px;font-size:12px;line-height:1.5}.exam:hover,.exam.selected{background:#e1eee3;border-color:#8ab29b}.exam>span:last-child{flex-shrink:0;color:#719581}.exam small{display:block;color:#8b9e91;font-size:9px;margin-top:4px;overflow-wrap:anywhere}.tag{display:inline-block;font-size:9px;padding:5px 8px;background:#edf1e7;border-radius:6px;margin:3px 4px 3px 0;color:#658373}.section-count{font-size:10px;color:#7c9485;font-weight:400;margin-left:7px}.panel-search{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fffdf8;font-size:12px;margin:14px 0 4px}.group-title{font-size:11px;color:#748f7f;margin:20px 0 8px}.detail-title{overflow-wrap:anywhere}.english{font-size:11px!important;overflow-wrap:anywhere;color:#82958b!important}.detail-description{font-size:14px!important;line-height:1.95!important;color:#355c50!important}.source-link{display:inline-block;font-size:11px;color:#327762;border-bottom:1px solid #abc8b2;padding-bottom:3px;margin:9px 0;line-height:1.7}.related-link{display:block;padding:12px;background:#f0f3e9;border-radius:10px;margin:8px 0;font-size:12px;line-height:1.7}.save-exam{background:#f9f0e5;border:1px solid #ead9c0;border-radius:10px;padding:11px;width:100%;font-size:12px;margin:12px 0}.save-exam.saved{background:#dfede3;border-color:#a1c4ad}.cross-links{display:flex;gap:6px;flex-wrap:wrap}.cross-links button{font-size:10px;border-radius:20px;padding:7px 10px;background:#eaf0e5}.disclaimer{font-size:10px!important;color:#85988a!important}.consult{display:flex;gap:8px;margin-top:17px}.consult a{flex:1;text-align:center;border:1px solid #c9dccd;border-radius:9px;padding:10px 6px;font-size:11px}.consult a:last-child{background:#2d7f6b;color:white;border-color:#2d7f6b}.panel-open .intro{opacity:.12;pointer-events:none}.panel-open .intro button{pointer-events:none}.panel-open .map-note{visibility:hidden}dialog{border:1px solid #fff;border-radius:26px;background:#fffdf8;color:var(--ink);box-shadow:0 25px 100px #284b4055;padding:28px;max-width:calc(100vw - 30px)}dialog::backdrop{background:#244c4840;backdrop-filter:blur(5px)}#directory{width:800px;height:min(780px,88dvh);overflow:hidden}#directory[open]{display:flex;flex-direction:column}.directory-head{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.directory-head h2{font-size:25px;margin:9px 0 20px}.directory-head>button,#about-close{width:36px;height:36px;border-radius:50%;background:#edf1e8;font-size:24px;align-self:flex-start}.directory-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:18px;flex-shrink:0}.directory-tabs button{background:none;padding:12px 0;color:#819489;font-size:12px;border-bottom:2px solid transparent}.directory-tabs button.active{color:#2b795f;border-color:#2b795f;font-weight:700}.search-field{display:flex;gap:10px;align-items:center;background:#f1f5ed;border:1px solid #e1e8dc;border-radius:12px;padding:11px 14px}.search-field input{width:100%;border:0;background:none;outline:none;font-size:13px;min-width:0}.filter-row{display:flex;gap:10px;margin-top:10px}.filter-row select{border:1px solid #dde5d8;background:white;border-radius:8px;padding:8px;font-size:11px;flex:1;min-width:0}.filter-row button{font-size:11px;background:none;color:#6b907d}#result-count{font-size:11px;color:#7c9284;margin:15px 0 8px;min-height:16px;flex-shrink:0}#results{overflow:auto;overscroll-behavior:contain;min-height:0;scrollbar-width:thin;padding:2px 4px 10px}#results .exam{margin-top:0;background:#f6f6ee}#results .exam:hover{background:#e8f0e2}.result-tags{font-size:10px;color:#7a9481;margin-top:5px}.empty{padding:35px 20px;text-align:center;color:#759282;font-size:13px;line-height:1.9}.island-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.island-card{padding:18px 15px;background:color-mix(in srgb,var(--color) 12%,#fffdf7);border:1px solid color-mix(in srgb,var(--color) 35%,white);border-radius:17px;text-align:left;min-height:130px}.island-card .nav-icon{margin-bottom:10px}.island-card strong{display:block;font-size:14px}.island-card small{display:block;font-size:10px;margin-top:7px;color:#80917e}#about{width:470px;line-height:1.9;font-size:13px}#about-close{float:right}#about h2{font-size:26px;line-height:1.5}#about .muted{font-size:11px;color:#82948a}#toast{position:fixed;left:50%;bottom:150px;transform:translateX(-50%) translateY(15px);z-index:50;background:#285e50;color:white;padding:12px 20px;border-radius:30px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:90vw;text-align:center}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.noscript{position:fixed;z-index:20;background:white;padding:30px;top:35%;left:10%;right:10%}.fallback #scene{background:radial-gradient(ellipse at 65% 50%,#9bdce9,#71bedc)}.fallback .map-note{visibility:hidden}
@media(min-width:1600px){.intro{left:5%;top:23%}.nav-wrap{bottom:60px}.map-tools,.map-note{bottom:162px}}@media(max-width:950px) and (min-width:701px){.intro{width:220px;left:25px;top:18%}h1{font-size:31px}.intro p{font-size:10px}.official{display:none}.topright{gap:10px}#panel{width:340px}.map-note{left:40%}}
@media(max-width:700px){header{height:78px;padding:18px}.brand{font-size:20px;gap:9px}.brand-icon{width:34px;height:34px;font-size:20px}.brand small{font-size:7px}.topright{gap:8px}.official,.search-button span{display:none}.topright .search-button{padding:8px;width:35px;height:35px;min-height:35px}.topright button{font-size:10px;min-height:35px;padding:4px}.intro{top:99px;left:22px;width:calc(100% - 44px)}.eyebrow{font-size:9px}h1{font-size:clamp(22px,6.7vw,27px);margin:11px 0 8px;line-height:1.4}h1 br{display:none}.intro p{font-size:10px;line-height:1.8;margin:8px 0 10px}.intro p br{display:none}.intro .primary{padding:9px 12px;font-size:10px;gap:10px}.intro .text-button{display:inline-block;font-size:10px;padding:8px 10px}.journey{margin-top:10px;font-size:8px;gap:8px}.journey svg{width:23px;height:23px}.journey strong{font-size:10px}#progress-dots{width:auto}.nav-wrap{bottom:46px;width:calc(100% - 14px);gap:2px}.island-nav{gap:6px}.island-nav button{flex:0 0 116px;padding:11px 9px;border-radius:14px;gap:7px}.nav-icon{width:27px;height:31px;font-size:22px;border-radius:9px}.island-nav small{font-size:7px}.island-nav b{font-size:10px}.nav-scroll{flex:0 0 21px;width:21px;font-size:24px;height:35px}.map-tools{right:16px;bottom:126px}.map-tools button{min-width:35px;height:35px;font-size:18px}.map-tools span{font-size:9px;margin:0 5px}.map-note{bottom:173px;font-size:9px;width:100%;text-align:center}footer{left:18px;right:18px;font-size:7px;bottom:10px}footer div>span{display:none}footer button{font-size:9px}.island-label{font-size:9px;padding:5px 6px;border-radius:7px;min-height:24px}.island-label small{display:none}#panel{top:auto;bottom:0;left:0;right:0;width:100%;max-height:57dvh;border-radius:25px 25px 0 0;padding:20px 24px;padding-bottom:calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain}.panel-top{margin-bottom:8px}.panel-open .intro{opacity:0}.panel-open .nav-wrap,.panel-open .map-tools,.panel-open footer{visibility:hidden}#panel h2{font-size:23px}#panel p{font-size:12px}.panel-search{margin-top:10px}.detail-description{font-size:13px!important}#directory{max-width:100%;width:100%;height:92dvh;max-height:92dvh;margin:auto 0 0;border-radius:24px 24px 0 0;padding:22px 18px}.directory-head h2{font-size:23px}.directory-tabs{gap:22px}.search-field{padding:11px}.search-field input{font-size:12px}.filter-row{gap:5px}.filter-row select{font-size:10px;padding:8px 4px}.filter-row button{font-size:10px}.island-grid{grid-template-columns:repeat(2,1fr);gap:9px}.island-card{padding:14px;min-height:120px}.island-card strong{font-size:13px}#toast{bottom:125px;font-size:11px}#about{padding:25px}#loading{left:50%;top:48%}}@media(max-height:600px){.intro{top:100px}.intro h1{font-size:26px}.intro p,.journey{display:none}.map-note{display:none}#panel{top:85px;bottom:115px;max-height:none}.nav-wrap{bottom:35px}.map-tools{bottom:120px}footer{bottom:5px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.nav-icon svg{width:24px;height:24px;stroke-width:1.65}.map-tools #list-mode{display:inline-flex;align-items:center;justify-content:center;padding:0 11px}.map-tools #list-mode svg{width:17px;height:17px}

.station-label{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;white-space:nowrap;border:1px solid #d6e0d0;border-radius:8px;background:#fffdf4f2;padding:6px 9px;font-size:10px;color:#456b5b;box-shadow:0 3px 9px #3a64551a;z-index:2}.station-label[hidden]{display:none}#map-tooltip{position:fixed;z-index:20;pointer-events:none;background:#fffdf5f5;color:#315c50;border:1px solid #d3dfce;border-radius:10px;padding:10px 13px;font-size:11px;box-shadow:0 5px 20px #33584a25;max-width:230px}#map-tooltip[hidden]{display:none}@media(max-width:700px){.station-label{font-size:8px;padding:5px 6px}}
/* Customer flow and live overview */
.intro{top:16%;width:290px}.intro h1{font-size:34px;margin:15px 0 10px}.intro p{margin-bottom:14px}.intro .journey[hidden]{display:none}.simulation-card{pointer-events:auto;background:#fffdf5ef;border:1px solid #fff;border-radius:20px;padding:18px;box-shadow:0 8px 30px #446e5610}.sim-top{display:flex;align-items:center;gap:7px;font-size:11px}.sim-top time{margin-left:auto;font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.live-dot{height:7px;width:7px;background:#64a782;border-radius:50%}.sim-stats{display:flex;justify-content:space-between;margin-top:20px;font-size:10px;color:#6a8778}.sim-stats strong{display:block;font-size:23px;font-weight:600;color:#315e50;margin-bottom:5px;font-variant-numeric:tabular-nums}.intro #sim-caption{font-size:10px;margin:12px 0}.sim-controls{display:flex;align-items:center;gap:5px;padding-top:10px;border-top:1px solid #e0e8db;font-size:10px}.sim-controls button{background:#eff3e9;border-radius:7px;padding:7px}.sim-controls button.active{background:#3b816d;color:white}.sim-controls #sim-restart{margin-left:auto;background:none}.simulation-card .primary{margin-top:13px;width:100%;justify-content:space-between}.sim-disclaimer{display:block;font-size:9px;color:#809084;margin-top:10px;text-align:center}.atlas-actions{display:flex;justify-content:space-between}.atlas-actions .text-button{font-size:10px}.customer-label{position:absolute;transform:translate(-50%,-100%);border:1px solid white;border-left:4px solid var(--pack);border-radius:7px;background:#fffdf6f5;font-size:9px;white-space:nowrap;padding:5px 7px;box-shadow:0 3px 9px #365c5030;pointer-events:auto;z-index:4}.customer-label:after{content:'';position:absolute;left:50%;bottom:-5px;border:5px solid transparent;border-top-color:#fffdf6;border-bottom:0}.customer-label.selected{outline:2px solid #3d7b66;z-index:5}.customer-label[hidden],.service-label[hidden]{display:none}.service-label{position:absolute;transform:translate(-50%,-50%);background:#eaf3e9ef;color:#527965;border:1px solid #b3cdb5;border-radius:6px;padding:3px 6px;font-size:8px;pointer-events:auto}.station-label.occupied{background:#e1ecd7;border-color:#8aaf79}.pack-pill{background:color-mix(in srgb,var(--pack) 25%,white);border-radius:7px;padding:8px 10px;font-size:11px;display:inline-block}.customer-progress{height:7px;border-radius:5px;background:#e8ecdf;overflow:hidden}.customer-progress>div{height:100%;background:#71a78b;transition:width .3s}.customer-actions{display:flex;align-items:center;gap:10px}.customer-actions button{font-size:11px}.customer-actions #back-customers{background:none}.checklist{list-style:none;padding:0;margin:0}.checklist li{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid #edf0e5;font-size:12px}.checklist li small{margin-left:auto;font-size:9px;color:#8c9d90}.checklist .task-icon{color:#9cad9b}.checklist .done{color:#74947e}.checklist .done .task-icon{color:#4f9274}.checklist .current{background:#eaf1df;border-radius:8px;color:#2b7359}.checklist .current .task-icon{color:#478a6c}#customers{width:580px;max-height:85dvh;overflow:hidden}#customers[open]{display:flex;flex-direction:column}#customers>p{font-size:12px;color:#7b9282;margin:0 0 15px}#customer-list{overflow:auto;min-height:0}.customer-row{display:flex;align-items:center;width:100%;gap:12px;background:#f2f4eb;border:1px solid #e3e9db;border-radius:12px;padding:12px;margin-bottom:8px;text-align:left;font-size:12px}.customer-row>span:last-child{margin-left:auto;font-size:10px;color:#72947e}.customer-row small{display:block;font-size:10px;color:#799481;margin-top:5px}.avatar-dot{display:grid;place-items:center;width:34px;height:38px;border-radius:13px;background:var(--pack);color:white;font-weight:700}.panel-open .simulation-card{pointer-events:none}.panel-open .intro{visibility:hidden}
@media(max-width:950px) and (min-width:701px){.intro{width:240px}.intro h1{font-size:28px}.simulation-card{padding:14px}}
@media(max-width:700px){.intro{top:91px;left:18px;width:calc(100% - 36px)}.intro .eyebrow{font-size:8px}.intro h1{font-size:22px;margin:8px 0}.intro>p{display:none}.simulation-card{border-radius:14px;padding:10px 12px;display:grid;grid-template-columns:1fr 1fr;column-gap:14px}.sim-top{grid-column:1;font-size:9px}.sim-top time{font-size:15px}.sim-stats{grid-column:2;grid-row:1 / 3;margin:0;align-self:center;gap:7px;font-size:8px}.sim-stats strong{font-size:17px}.intro #sim-caption{grid-column:1;font-size:8px;margin:4px 0}.sim-controls{grid-column:1;padding-top:5px;font-size:9px;gap:3px}.sim-controls button{padding:5px}.simulation-card .primary{grid-column:2;margin:3px 0 0;padding:8px;font-size:9px;align-self:end}.sim-disclaimer{display:none}.atlas-actions{justify-content:flex-start;gap:18px}.atlas-actions .text-button{font-size:9px;padding:7px 0}.customer-label{font-size:8px;padding:4px 5px}.service-label{font-size:7px}.map-note{display:none}#customers{padding:22px 18px}.customer-view #panel{max-height:53dvh}.customer-view .customer-label{z-index:3}}
@media(max-height:650px) and (min-width:701px){.intro{top:100px}.intro h1,.intro>p{display:none}.simulation-card{margin-top:10px}.sim-stats{margin-top:10px}}
.customer-label:before{content:'';position:absolute;width:1px;height:var(--leader,0px);background:#78978488;left:50%;top:100%;pointer-events:none}

.embedded canvas{touch-action:pan-y}.embedded .official{display:none}
.facility-preview{margin:20px 0;padding:30px;text-align:center;border-radius:20px;background:color-mix(in srgb,var(--color) 18%,white);color:var(--color)}.facility-preview svg{width:80px;height:80px;stroke-width:1.3}
.topright #music-toggle{color:#3b7b64;white-space:nowrap}.music-credit{background:#f1f4e9;border-radius:13px;padding:15px;margin:20px 0}.music-credit h3{font-size:14px;margin:0}.music-credit p{font-size:11px;line-height:1.8}.music-credit a{text-decoration:underline}.music-credit label{font-size:11px;display:block}.music-credit input{width:100%;accent-color:#4c8b6e}.music-credit small{display:block;font-size:9px;color:#7b9280}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){#music-toggle span{display:none}.topright #music-toggle{font-size:17px;padding:3px}.topright{gap:5px}}
#panel .package-origin{font-size:10px;background:#f1f4e8;border-radius:9px;padding:10px;line-height:1.8}.package-items{margin-top:20px;font-size:11px;line-height:1.8}.package-items summary{cursor:pointer;color:#39775e;padding:10px;border:1px solid #d7e3d1;border-radius:10px}.package-items h4{margin:16px 0 4px;font-size:12px}.package-items ul{padding-left:20px;margin:4px 0;color:#738573}
/* Keep projected labels inside the viewport, including the resize frame. */
#labels{overflow:hidden}
#scene{overflow:hidden}#scene canvas{max-width:100%;max-height:100%}
/* Homepage: a living island scene, with tools available only when needed. */
.embedded .intro,.embedded .nav-wrap,.embedded .map-tools,.embedded .map-note,.embedded footer,.embedded header .topright{display:none}
.embedded header{height:64px;padding:18px 24px;right:auto}
.embedded .brand{font-size:16px;letter-spacing:2px;gap:0;opacity:.8}
.embedded .brand-icon,.embedded .brand small{display:none}
.embed-dock{position:absolute;top:12px;right:16px;z-index:7;display:flex;gap:6px;align-items:center}
.embed-dock>button,.embed-menu>summary{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;border:1px solid #ffffff80;border-radius:50%;background:#fffdf7b8;color:#376b5c;cursor:pointer;backdrop-filter:blur(8px);font-size:11px;padding:8px}
.embed-dock #music-toggle{font-size:20px}.embed-dock #music-toggle span{display:none}
.embed-dock #motion{border-radius:24px;padding:8px 12px}
.embed-menu>summary{list-style:none;font-size:18px}.embed-menu>summary::-webkit-details-marker{display:none}
.embed-actions{position:absolute;top:48px;right:0;width:190px;padding:8px;border:1px solid white;border-radius:16px;background:#fffdf7f5;box-shadow:0 10px 30px #315a4520;backdrop-filter:blur(12px)}
.embed-actions button,.embed-actions a{display:flex;align-items:center;gap:8px;width:100%;padding:12px;margin:0;background:none;border-radius:9px;color:#315e50;font-size:12px;text-align:left;font-weight:400}
.embed-actions button:hover,.embed-actions a:hover{background:#e9f1e3}.embed-actions .primary>span{display:none}
.embedded .island-label{background:#fffdf4c9;border-color:#ffffff80;box-shadow:none;font-size:10px;padding:5px 8px;min-height:26px}
.embedded .island-label small{display:none}
.embedded #panel{top:64px;bottom:16px}
.embedded #loading{left:50%;top:50%}
@media(max-width:700px){.embedded header{padding:20px 16px}.embed-dock{right:10px}.embedded .island-label{font-size:8px;padding:4px 5px;min-height:22px}.embedded #panel{top:auto;bottom:0;max-height:80dvh}.embedded .search-button span{display:inline}}

/* Keep small map captions legible against the blue water. */
.map-note,footer,footer button{color:#315e70}.embedded .brand{color:#245568;opacity:1}
.customer-destination{display:block}
.customer-task-progress{display:block;width:100%;min-width:36px;height:4px;margin-top:4px;border-radius:4px;overflow:hidden;background:#dce8dd}
.customer-task-progress[hidden]{display:none}
.customer-task-progress i{display:block;height:100%;width:0;border-radius:inherit;background:var(--pack);transition:width .3s linear}
@media(prefers-reduced-motion:reduce){.customer-task-progress i{transition:none}}
/* Compact map controls, available without opening the general menu. */
.earth-controls{position:absolute;right:18px;bottom:145px;z-index:7;display:flex;align-items:flex-end;gap:7px}.embedded .earth-controls{bottom:18px}
.earth-controls button,.earth-options>summary{background:#fffdf7ed;color:#315c60;border:1px solid #fff;border-radius:12px;min-width:42px;min-height:42px;padding:9px;cursor:pointer;box-shadow:0 3px 12px #28536b15;font-size:12px}
.earth-controls button:hover,.earth-options>summary:hover{background:white}.earth-controls button[aria-pressed=true]{background:#315f70;color:white}.earth-controls [data-map=north]{position:relative;width:44px;height:48px;padding:3px}.compass-needle{display:block;font-size:22px;color:#ba7066;line-height:25px}.earth-controls small{font-size:9px;display:block}.earth-zoom{display:flex;flex-direction:column;gap:4px}.earth-zoom button{font-size:22px;line-height:22px}
.earth-options>summary{list-style:none;display:grid;place-items:center}.earth-options>summary::-webkit-details-marker{display:none}.earth-options>div{position:absolute;right:0;bottom:100px;width:238px;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:6px;border-radius:17px;background:#fffdf7f5;box-shadow:0 8px 30px #28536b30;backdrop-filter:blur(10px)}.earth-options p{grid-column:1/-1;font-size:10px;line-height:1.8;margin:4px;color:#6a827e}.earth-options [data-map=reset]{grid-column:1/-1}
.map-tools{right:290px}.map-tools #home,.map-tools #zoomIn,.map-tools #zoomOut{display:none}.embedded canvas{touch-action:none;cursor:grab}.panel-open .earth-controls{visibility:hidden}
@media(max-width:700px){.earth-controls{right:10px;bottom:120px;gap:5px}.embedded .earth-controls{bottom:12px}.earth-controls button,.earth-options>summary{min-width:40px;min-height:40px;padding:7px}.earth-options>div{bottom:92px}.earth-controls [data-map=mode]{font-size:11px}}
@media(max-width:700px){.map-tools{right:240px}}

.embedded #labels button{touch-action:none}
/* Following uses a small card while preserving the chosen map view. */
.customer-compact #panel{top:auto;bottom:145px;left:24px;right:auto;width:270px;max-height:230px;padding:14px 16px;border-radius:18px;overflow:auto}
.embedded.customer-compact #panel{top:auto;bottom:18px}
.customer-compact #panel .kicker,.customer-compact #panel .customer-extra{display:none}
.customer-compact .panel-top{position:absolute;right:10px;top:10px;margin:0;min-height:0}.customer-compact #close{width:28px;height:28px;font-size:22px}
.customer-compact #panel h2{font-size:17px;margin:0 35px 5px 0}.customer-compact #customer-status{font-size:11px;margin:4px 0 9px;line-height:1.6}
.customer-compact #customer-expand{padding:8px 0;font-size:11px}.customer-compact .customer-actions{gap:6px}.customer-compact .customer-actions button{font-size:10px;padding:8px 10px}
.customer-compact .earth-controls{visibility:visible}
@media(max-width:700px){.customer-compact #panel,.embedded.customer-compact #panel{left:10px;right:10px;width:auto;bottom:110px;max-height:170px;padding:12px 14px}.customer-compact .customer-actions{display:inline-flex;margin-left:12px}.customer-compact #customer-expand{display:inline-block}.customer-compact #panel h2{font-size:16px}.customer-compact #customer-status{margin-bottom:7px}.customer-compact .customer-progress{height:5px}.customer-compact .earth-controls{bottom:12px}}

#motion{display:none!important}
