*{box-sizing:border-box}html,body,#root{width:100%;height:100dvh;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:clip}.map-root{width:100%;height:100dvh;position:relative;overflow:hidden}.map-panel{z-index:50;-webkit-backdrop-filter:blur(8px);box-sizing:border-box;touch-action:pan-y;overscroll-behavior:contain;background-color:#fffffff2;border:1px solid #d5c8b5;border-radius:10px;flex-direction:column;font-family:serif;display:flex;position:absolute;overflow:hidden;box-shadow:0 8px 30px #0000002e}.map-panel-hud{width:420px;max-width:calc(100vw - 48px);max-height:calc(100vh - 84px);bottom:24px;left:24px}.map-panel-plot-inspection{z-index:65;width:360px;max-width:calc(100vw - 48px)}[data-panel=plot]{width:340px}.map-panel-legend{z-index:60;-webkit-backdrop-filter:blur(10px);background-color:#fffdf8f5;width:440px;max-width:calc(100vw - 48px);max-height:calc(100vh - 140px);bottom:70px;right:24px;box-shadow:0 12px 36px #00000038}.map-panel-header{background-color:inherit;-webkit-user-select:text;user-select:text;border-bottom:1px solid #e0d7c7;flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:14px 18px 10px;display:flex}.map-panel-close-btn{cursor:pointer;color:#8d6e63;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0 4px;font-size:1.3rem;line-height:1;transition:color .15s,background-color .15s;display:inline-flex}.map-panel-close-btn:hover{color:#3e2723;background-color:#8d6e631f}.map-panel-tabs{background-color:inherit;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior:contain;border-bottom:1px solid #e0d7c7;flex-shrink:0;padding:8px 18px;overflow-x:auto}.map-panel-tabs-track{gap:4px;width:max-content;min-width:100%;display:flex}.map-panel-tabs button{touch-action:pan-x;white-space:nowrap!important;flex:none!important}.map-panel-body{overscroll-behavior:contain;touch-action:pan-y;-webkit-user-select:text;user-select:text;flex-direction:column;flex:auto;gap:8px;min-height:0;padding:12px 18px 16px;display:flex;overflow-y:auto}.map-panel-footer{background-color:inherit;color:#8d6e63;border-top:1px solid #e0d7c7;flex-shrink:0;padding:8px 18px;font-size:.72rem}.map-panel-body::-webkit-scrollbar{width:6px}.map-panel-body::-webkit-scrollbar-track{background:#d5c8b533;border-radius:3px}.map-panel-body::-webkit-scrollbar-thumb{background:#d5c8b5;border-radius:3px}.map-panel-body::-webkit-scrollbar-thumb:hover{background:#b45309}.map-top-controls{box-sizing:border-box}.map-search-wrapper{flex:1;align-items:center;min-width:0;display:flex;position:relative}.map-search-field,.map-search-input{box-sizing:border-box}.map-search-suggestions{box-sizing:border-box;width:330px;max-width:calc(100vw - 24px)}.map-layer-controls-toggle,.map-layer-close-btn{display:none}.map-layer-controls-header{justify-content:flex-end;align-items:flex-start;display:flex}.map-layer-controls-content{flex-direction:column;gap:8px;display:flex}.map-nav-row{align-items:center;gap:6px;display:flex}.map-nav-world-short{display:none}.map-nav-world-full{display:inline}.map-nav-btn-plot,.map-nav-divider-plot{display:none!important}.map-touch-location-chooser{z-index:85;-webkit-backdrop-filter:blur(10px);box-sizing:border-box;background-color:#fffdf8fa;border:1px solid #d5c8b5;border-radius:8px;flex-direction:column;width:min(280px,100vw - 24px);max-width:calc(100vw - 24px);display:flex;position:fixed;overflow:hidden;box-shadow:0 8px 24px #0003}.map-touch-chooser-row{transition:background-color .15s}.map-touch-chooser-row:hover,.map-touch-chooser-row:active{background-color:#fef3c7!important}@media (width<=640px),(height<=500px) and (pointer:coarse){.map-root{width:100%!important;height:100dvh!important}.map-compass{top:calc(12px + env(safe-area-inset-top,0px))!important;left:calc(12px + env(safe-area-inset-left,0px))!important}.map-layer-controls{top:calc(12px + env(safe-area-inset-top,0px))!important;right:calc(12px + env(safe-area-inset-right,0px))!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;z-index:50!important;background:0 0!important;border:none!important;padding:0!important}.map-layer-controls-toggle{color:#4a4036!important;cursor:pointer!important;box-sizing:border-box!important;background-color:#fffffff0!important;border:1px solid #d5c8b5!important;border-radius:8px!important;justify-content:center!important;align-items:center!important;min-width:44px!important;min-height:44px!important;padding:0 14px!important;font-family:serif!important;font-size:.85rem!important;font-weight:600!important;display:inline-flex!important;box-shadow:0 2px 8px #0000001f!important}.map-layer-controls:not(.mobile-open) .map-layer-controls-content{display:none!important}.map-layer-controls.mobile-open .map-layer-controls-content{width:min(320px, calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)))!important;max-height:calc(100vh - 80px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;max-height:calc(100dvh - 80px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;overscroll-behavior:contain!important;-webkit-backdrop-filter:blur(10px)!important;box-sizing:border-box!important;text-align:right!important;background-color:#fffffff5!important;border:1px solid #d5c8b5!important;border-radius:8px!important;flex-direction:column!important;gap:8px!important;padding:12px 14px!important;display:flex!important;position:absolute!important;top:calc(100% + 6px)!important;right:0!important;overflow-y:auto!important;box-shadow:0 6px 20px #00000029!important}.map-layer-controls-header{justify-content:space-between!important;align-items:flex-start!important;gap:8px!important;display:flex!important}.map-layer-close-btn{color:#8d6e63!important;cursor:pointer!important;box-sizing:border-box!important;background:0 0!important;border:none!important;border-radius:4px!important;justify-content:center!important;align-items:center!important;min-width:44px!important;min-height:44px!important;padding:0!important;font-size:1.2rem!important;display:flex!important}.map-nav-btn{box-sizing:border-box!important;justify-content:center!important;align-items:center!important;min-width:44px!important;min-height:44px!important;padding:4px 6px!important;display:inline-flex!important}.map-nav-world-full{display:none!important}.map-nav-world-short{display:inline!important}.map-nav-zoom-indicator{box-sizing:border-box!important;justify-content:center!important;align-items:center!important;min-width:36px!important;height:44px!important;display:inline-flex!important}.map-nav-btn-plot{display:inline-flex!important}.map-nav-divider-plot{display:inline-block!important}.map-nav-btn-plot.is-active,.map-nav-btn-plot[aria-pressed=true]{color:#fff!important;background-color:#854d0e!important;border-color:#854d0e!important}[data-testid=plot-card-inspect],[data-testid=plot-inspection-return],[data-testid=plot-inspection-close],.map-panel-close-btn{box-sizing:border-box!important;justify-content:center!important;align-items:center!important;min-width:44px!important;min-height:44px!important;padding:0!important;display:inline-flex!important}.map-panel-hud,.map-panel-plot-inspection,[data-panel=plot-inspection],[data-panel=plot]{max-height:calc(100vh - 80px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;left:calc(12px + env(safe-area-inset-left,0px))!important;right:calc(12px + env(safe-area-inset-right,0px))!important;width:auto!important;max-width:calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))!important;max-height:calc(100dvh - 80px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important}.map-panel-legend{bottom:calc(118px + env(safe-area-inset-bottom,0px));left:calc(12px + env(safe-area-inset-left,0px));right:calc(12px + env(safe-area-inset-right,0px));max-height:calc(100vh - 180px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));width:auto!important;max-width:calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))!important;max-height:calc(100dvh - 180px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important}.map-panel-header{padding:12px 14px 8px}.map-panel-tabs{-webkit-overflow-scrolling:touch!important;touch-action:pan-x!important;overscroll-behavior:contain!important;padding:6px 12px!important;overflow-x:auto!important}.map-panel-tabs-track{gap:4px!important;width:max-content!important;min-width:100%!important;display:flex!important}.map-panel-tabs button{white-space:nowrap!important;touch-action:pan-x!important;flex:none!important;min-height:38px!important;padding:6px 10px!important}.map-panel-body{padding:10px 14px 14px}.map-panel-footer{padding:6px 14px}.map-top-controls{top:calc(68px + env(safe-area-inset-top,0px))!important;left:calc(12px + env(safe-area-inset-left,0px))!important;right:calc(12px + env(safe-area-inset-right,0px))!important;width:auto!important;max-width:calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))!important;box-sizing:border-box!important;gap:0!important;padding:6px 10px!important}.map-search-wrapper{flex:auto!important;width:100%!important;min-width:0!important}.map-search-field,.map-search-input,.map-top-controls input{box-sizing:border-box!important;width:100%!important;max-width:100%!important;font-size:16px!important}.map-search-suggestions{width:100%!important;max-width:calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))!important;box-sizing:border-box!important}.map-top-controls-divider,.map-top-script-toggle{display:none!important}.map-navigation-toolbar{max-width:calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));flex-wrap:wrap;right:calc(12px + env(safe-area-inset-right,0px))!important;bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;gap:6px!important;padding:6px 8px!important}}@media (width<=640px){.map-navigation-toolbar{flex-direction:column!important;align-items:center!important}.map-nav-row{box-sizing:border-box!important;flex-wrap:nowrap!important;justify-content:center!important;align-items:center!important;gap:4px!important;width:100%!important;display:flex!important}.map-nav-divider-row{display:none!important}.map-nav-tier-group{gap:2px!important;padding:2px!important;display:flex!important}.map-nav-zoom-group{align-items:center!important;gap:4px!important;display:flex!important}}@media (height<=500px) and (pointer:coarse),(height<=500px) and (width<=950px){.map-layer-controls.mobile-open .map-layer-controls-content{max-height:calc(100dvh - 28px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;width:min(360px,50vw - 24px)!important}.map-panel-legend{bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;right:calc(12px + env(safe-area-inset-right,0px))!important;width:min(420px,55vw - 24px)!important;max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;left:auto!important}.map-panel-hud,.map-panel-plot-inspection,[data-panel=plot-inspection],[data-panel=plot]{bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;left:calc(12px + env(safe-area-inset-left,0px))!important;width:min(380px,50vw - 24px)!important;max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;right:auto!important}}.district-panel{background:#f9f5eaf5;width:312px;max-height:calc(100dvh - 184px);top:84px;bottom:100px;right:24px}.district-panel h2{color:#453c2c;margin:6px 0;font-size:1.35rem;line-height:1.15}.district-panel h3{margin:8px 0 0;font-size:.88rem}.district-eyebrow{letter-spacing:.12em;color:#797b57;font:600 .64rem system-ui,sans-serif}.district-chinese{color:#7d694d}.district-panel p{margin:3px 0 8px;font:.87rem/1.5 system-ui,sans-serif}.district-panel button,.district-return,.district-entry{color:#51462f;cursor:pointer;background:#fffaf0;border:1px solid #cfc6ad;border-radius:5px;min-height:40px;padding:8px 10px;font:.8rem/1.3 system-ui,sans-serif}.district-panel button:focus-visible,.district-return:focus-visible,.district-entry:focus-visible{outline-offset:2px;outline:3px solid #8d962f}.district-panel button:hover,.district-entry:hover{background:#ece9d4}.district-panel button:disabled{cursor:default;opacity:.45}.district-actions,.district-endpoints{align-items:center;gap:7px;display:flex}.district-actions button,.district-endpoints button{flex:1}.district-list{gap:7px;display:grid}.district-list button{text-align:left}.district-list span{color:#827456;margin-top:4px;font-size:.74rem;display:block}.district-panel .district-note{color:#786e5c;font-size:.75rem}.district-unavailable{color:#78603f;border-left:3px solid #a58b65;padding-left:9px}.district-panel details{border-top:1px solid #ded6c3;padding-top:10px;font:.78rem/1.5 system-ui,sans-serif}.district-panel summary{cursor:pointer;min-height:32px}.district-panel a{color:#617550}.district-footer{border-top:1px solid #ded6c3;padding:10px 14px}.district-footer button{width:100%}.district-return{z-index:55;position:absolute;top:86px;right:24px}@media (width<=640px),(height<=500px){.district-panel{width:auto;height:min(42dvh,360px);max-height:42dvh;inset:auto 12px 124px}.district-panel .map-panel-header{padding:10px 12px 7px}.district-panel .map-panel-body{padding:10px 12px}.district-panel h2{font-size:1.1rem}.district-panel button{min-height:44px}.district-eyebrow{display:none}.district-footer{padding:6px 10px}.district-return{right:12px}.district-entry{padding:6px;font-size:.7rem}}@media (width>=641px) and (height<=500px){.district-panel{width:280px;height:auto;max-height:calc(100dvh - 168px);inset:72px 12px 96px auto}}.map-root:has(.district-panel) .map-layer-controls:not(.mobile-open){box-shadow:none!important;background:0 0!important;border:none!important}.map-root:has(.district-panel) .map-layer-controls:not(.mobile-open) .map-layer-controls-content{display:none}.map-root:has(.district-panel) .map-layer-controls-toggle{display:inline-flex}.map-root:has(.district-panel) .map-layer-controls.mobile-open{z-index:80}.map-root:has(.district-panel) .map-layer-close-btn{display:flex}.route-contract-details{overflow-wrap:anywhere;font-family:system-ui,sans-serif;font-size:.85rem}.route-contract-details ol{padding-left:1.4rem}.route-contract-details li{margin:.6rem 0}.route-contract-details button{white-space:normal;text-align:left;max-width:100%;min-height:36px}
