:root{--navy:#102f49;--ink:#19394f;--muted:#687b87;--line:#dce5e9;--coral:#dd6956;--green:#16866e;--paper:#f5f8fa}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);font-size:13px}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.5}button:focus-visible{outline:3px solid #327eb1;outline-offset:4px}button{min-height:42px}header{display:flex;justify-content:space-between;align-items:center;padding:22px 36px;background:white;border-bottom:1px solid var(--line)}.brand{display:flex;gap:15px;align-items:center}.brand>b{font-size:33px;letter-spacing:-2px;line-height:1}.brand>b>span{color:var(--coral)}.brand>div{font-size:8px;letter-spacing:1.7px;border-left:1px solid var(--line);padding-left:15px}.brand small{display:block;letter-spacing:.2px;color:var(--muted);font-size:10px;margin-top:5px}.top-right{display:flex;gap:19px;align-items:center}.demo-badge{color:var(--muted);font-size:8px;letter-spacing:1.5px}.top-right button{border:1px solid var(--line);background:white;padding:9px 13px;border-radius:8px;font-size:11px}.top-right button span{margin-left:10px;color:var(--muted)}main{max-width:1800px;margin:auto;padding:0 36px}.heading{display:flex;align-items:flex-end;justify-content:space-between;padding:30px 0 12px;gap:20px}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--muted);margin:0 0 12px}h1{font-size:clamp(27px,2.8vw,39px);font-weight:500;letter-spacing:-1.5px;margin:0 0 9px}.subtitle{margin:0;color:var(--muted);font-size:12px}.scene-controls{display:flex;gap:8px}.scene-controls button{font-size:10px;padding:10px 13px;background:white;border:1px solid var(--line);border-radius:22px}.map-shell{position:relative;min-height:480px}.summary{position:absolute;z-index:2;left:0;top:36px;pointer-events:none;width:165px}.section-title{display:block;font-size:8px;letter-spacing:1.4px;color:var(--muted);font-weight:500}.summary>div,.summary>button{margin-top:21px;display:flex;gap:10px;align-items:center}.summary strong{font-size:27px;font-weight:500;letter-spacing:-1px;min-width:26px}.summary span:not(.section-title){font-size:11px;color:var(--muted);max-width:95px;line-height:1.5}.summary>button{padding:0;border:0;background:none;text-align:left;pointer-events:auto}.summary .alert-summary{color:var(--coral)}.summary .alert-summary span{color:#b35041}.summary>p{font-size:10px;line-height:1.8;color:var(--muted);margin-top:30px}#world{height:560px;position:relative;isolation:isolate;overflow:hidden}canvas{display:block;touch-action:none}#labels{position:absolute;inset:0;pointer-events:none}.place-label{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;border:1px solid #d6e0e6;background:#ffffffed;padding:9px 12px;border-radius:9px;line-height:1.45;white-space:nowrap;text-align:left;box-shadow:0 7px 20px #213e4a08;transition:opacity .35s,border-color .2s;min-height:42px}.place-label strong{display:block;font-size:11px;font-weight:600}.place-label small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.place-label:after{content:'';position:absolute;left:50%;top:100%;height:13px;width:1px;background:#b6c9d1}.place-label i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--green);margin-right:6px;vertical-align:middle}.place-label.blocked{border-color:#e4b1a7}.place-label.blocked i{background:var(--coral)}.place-label.selected{border-color:var(--navy);box-shadow:0 0 0 3px #1d577b16}.place-label.client{background:#eef7f4;border-color:#c4ddd4}.place-label.delivery{background:var(--navy);color:white;border-color:var(--navy)}.place-label.delivery small{color:#d0e2ed}.map-hint{position:absolute;bottom:9px;right:0;color:var(--muted);font-size:9px}.detail{position:absolute;right:0;top:16px;bottom:24px;width:340px;z-index:4;border:1px solid var(--line);background:#fffffffa;box-shadow:0 15px 50px #193c4a14;border-radius:15px;padding:20px;overflow:auto}.detail[hidden],.registry[hidden],.scrim[hidden]{display:none}.detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.detail-head>span{font-size:8px;letter-spacing:1.5px;color:var(--muted)}.detail-head>button{border:1px solid var(--line);background:white;border-radius:20px;padding:6px 12px;font-size:10px;min-height:34px}h2{font-size:25px;letter-spacing:-.6px;font-weight:500;margin:0 0 12px}.detail .intro{font-size:11px;line-height:1.7;color:var(--muted);margin:0 0 18px}.work{border-top:1px solid var(--line);padding:14px 0}.work .ref{font-size:9px;color:var(--muted);letter-spacing:.6px}.work h3{font-size:13px;margin:7px 0;font-weight:600}.work p{font-size:11px;color:var(--muted);line-height:1.65;margin:5px 0}.work .status{display:inline-block;font-size:9px;padding:5px 8px;background:#eef4f5;border-radius:6px}.work .status.blocked{background:#fff0e9;color:#b84f3e}.work .reason{color:#b84f3e}.empty-note{padding:15px;background:#f0f5f6;border-radius:9px;font-size:11px;line-height:1.7}.delivery-strip{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.delivery-strip>div:first-child>strong{display:block;font-size:17px;font-weight:500;letter-spacing:-.3px;margin-top:7px}#destinations{display:flex;gap:30px;flex:1;justify-content:center}.destination{font-size:11px}.destination strong{font-weight:500}.destination small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.delivery-strip>button{border:0;background:none;font-size:11px;padding:10px 0}.demo-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0}.demo-caption{max-width:550px}.demo-caption>span{font-size:8px;letter-spacing:1.4px;color:#7e7661}.demo-caption p{font-size:10px;color:var(--muted);line-height:1.6;margin:7px 0 0}.demo-actions{display:flex;gap:7px;flex-shrink:0}.demo-actions button{font-size:10px;border:1px solid #d5ddd9;border-radius:7px;background:#fffef7;padding:9px 12px}.demo-actions button:last-child{background:transparent;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:9px;padding:12px 0 24px;line-height:1.7}.fallback{position:absolute;inset:45% 20% auto;text-align:center;color:var(--muted)}.scrim{position:fixed;inset:0;background:#17384c45;z-index:8}.registry{position:fixed;z-index:9;inset:30px 24px 30px auto;width:440px;max-width:calc(100% - 48px);background:#fff;border:1px solid var(--line);box-shadow:0 20px 80px #17384c20;border-radius:18px;padding:24px;overflow:auto}.registry>p{font-size:12px;line-height:1.7;color:var(--muted)}.registry h3{margin:25px 0 8px;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.registry-item{padding:13px 0;border-bottom:1px solid var(--line)}.registry-item>div{display:flex;justify-content:space-between;gap:10px;font-size:12px}.registry-item small{font-size:9px;color:var(--muted)}.registry-item p{font-size:10px;color:var(--muted);line-height:1.7;margin:6px 0 0}.registry-item .active{color:var(--green)}.registry .registry-note{font-size:10px}.blocked-notice{border:1px solid #e7bfb6;background:#fff6ef;border-radius:8px;padding:12px;font-size:11px;line-height:1.6;color:#b35041}
@media(min-width:1500px){#world{height:620px}.summary{top:65px}}
@media(max-width:1000px) and (min-width:701px){main{padding:0 24px}.summary{width:125px}.summary span:not(.section-title){font-size:10px}.summary strong{font-size:24px}.detail{width:310px}.demo-controls{align-items:flex-start}.demo-actions{flex-wrap:wrap;max-width:340px;justify-content:flex-end}#world{height:530px}}
@media(max-width:700px){header{padding:17px 18px}.brand>b{font-size:29px}.brand{gap:10px}.brand>div{padding-left:10px;font-size:7px;letter-spacing:1px}.brand small{font-size:9px}.demo-badge{display:none}.top-right button{font-size:10px;padding:8px 10px}main{padding:0 18px}.heading{padding:24px 0 10px;display:block}h1{font-size:29px;letter-spacing:-1px}.subtitle{font-size:11px}.scene-controls{margin-top:18px;justify-content:flex-end}.scene-controls button{font-size:9px;min-height:38px;padding:8px 11px}.summary{position:relative;top:auto;left:auto;width:100%;display:flex;justify-content:space-between;align-items:center;gap:9px;margin:10px 0 0}.summary>.section-title,.summary>p{display:none}.summary>div,.summary>button{margin:0;gap:7px;min-height:47px}.summary strong{font-size:23px;min-width:20px}.summary span:not(.section-title){font-size:9px;max-width:72px}.map-shell{min-height:0}#world{height:455px;margin:0 -18px}.place-label{padding:6px 8px;min-height:32px;border-radius:7px}.place-label strong{font-size:8px}.place-label small{font-size:7px;margin-top:2px}.place-label:after{height:8px}.place-label i{width:4px;height:4px;margin-right:4px}.map-hint{font-size:8px;bottom:8px;right:18px}.detail{position:fixed;inset:auto 10px 12px;width:auto;max-height:74dvh;z-index:6;padding:19px;border-radius:17px;box-shadow:0 0 0 100vmax #15374d26;overscroll-behavior:contain}h2{font-size:23px}.delivery-strip{padding:17px 0;gap:10px;flex-wrap:wrap}.delivery-strip>div:first-child{width:100%}.delivery-strip>div:first-child>strong{font-size:16px}#destinations{justify-content:flex-start;gap:24px}.destination{font-size:10px}.destination small{font-size:9px}.delivery-strip>button{font-size:10px}.demo-controls{display:block;padding:16px 0}.demo-caption{min-height:70px}.demo-actions{flex-wrap:wrap;gap:6px}.demo-actions button{font-size:9px;padding:9px 10px;min-height:38px}.demo-actions button:last-child{margin-left:auto}footer{display:block;font-size:8px;padding-bottom:18px}footer span{display:block}.registry{inset:12px;max-width:none;width:auto;padding:21px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.orientation-notice{display:none}
@media (orientation:portrait) and (max-width:700px), (orientation:portrait) and (pointer:coarse){header,main{display:none}.orientation-notice{min-height:100dvh;padding:36px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:#f5f8fa}.orientation-notice>b{font-size:44px;letter-spacing:-3px}.orientation-notice>b>span{color:var(--coral)}.orientation-notice h1{font-size:31px;line-height:1.15;max-width:340px;letter-spacing:-1px;margin:35px 0 15px}.orientation-notice p{font-size:14px;line-height:1.7;color:var(--muted);max-width:340px}.orientation-notice small{font-size:10px;color:var(--muted);margin-top:35px}.registry,.scrim,.detail{display:none!important}}
@media (orientation:landscape) and (max-height:600px){header{padding:12px 24px}.brand>b{font-size:27px}.brand small{font-size:8px}.brand>div{font-size:7px}main{padding:0 24px}.heading{padding:16px 0 5px}.eyebrow{font-size:8px;margin-bottom:7px}h1{font-size:26px;letter-spacing:-1px;margin-bottom:6px}.subtitle{font-size:10px}.scene-controls button{font-size:9px;min-height:35px;padding:8px 11px}#world{height:400px}.summary{top:20px;width:120px}.summary strong{font-size:23px}.summary span:not(.section-title){font-size:9px}.summary>div,.summary>button{margin-top:15px}.summary>p{font-size:9px;margin-top:20px}.place-label{padding:7px 9px;min-height:33px}.place-label strong{font-size:9px}.place-label small{font-size:8px}.detail{position:fixed;inset:8px 12px 8px auto;bottom:8px;max-height:none;width:330px;z-index:7}.demo-actions button{font-size:9px;padding:8px 10px}.registry{inset:10px 16px 10px auto}.map-shell{min-height:0}}
