.mapPage{max-width:1220px}.mapPageHeading{justify-content:space-between;align-items:center;display:flex}.mapPageHeading .lead{margin-top:15px}.mapHeadingGlyph{color:#72b9b1;font-size:105px;line-height:1}.mapWorkspace{gap:20px}.mapRegionTabs{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.mapRegionTabs button{text-align:left;color:var(--fg);background:#101e2c;border:1px solid #314659;border-radius:14px;gap:5px;min-height:95px;padding:19px 22px;transition:border-color .18s,background .18s;display:grid;position:relative}.mapRegionTabs button[aria-pressed=true]{background:#183934;border-color:#67ab9e}.mapRegionTabs button>span{color:#a0bebd;letter-spacing:.13em;font-size:11px}.mapRegionTabs strong{font-size:18px}.mapRegionTabs small{color:#bbccd5;font-size:11px}.mapFilters{background:#111e2c;border:1px solid #304255;border-radius:16px;gap:17px;padding:19px;display:grid}.mapFilters .search{height:52px}.mapFilterOptions{flex-wrap:wrap;gap:16px 24px;display:flex}.mapFilterOptions .checkLine{font-size:12px}.mapFilters .formColumns{max-width:760px}.mapMain{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;display:grid}.mapBoard{background:#101e2b;border:1px solid #344b60;border-radius:18px;overflow:hidden}.mapBoardHeading{justify-content:space-between;align-items:center;gap:15px;padding:22px 24px;display:flex}.mapBoardHeading h2{margin-top:5px;font-size:23px}.mapCount{color:#c0d0dd;text-align:right;max-width:120px;font-size:11px}.mapCanvasWrap{isolation:isolate;border-top:1px solid #2c4151;border-bottom:1px solid #2c4151;position:relative;overflow:hidden}.mapCanvasWrap>svg{aspect-ratio:1000/650;touch-action:none;cursor:grab;width:100%;min-height:340px;display:block}.mapCanvasWrap>svg:active{cursor:grabbing}.mapGrid line{stroke:#263e4b;stroke-width:.7px;vector-effect:non-scaling-stroke}.mapGrid text{fill:#bbd1dd;text-anchor:middle;pointer-events:none;font-size:10px}.mapNoCoordinates{text-align:center;pointer-events:none;background:radial-gradient(#0b1925f2,#0b192500 70%);flex-direction:column;justify-content:center;align-items:center;gap:13px;padding:45px 60px;display:flex;position:absolute;inset:0}.mapNoCoordinates>span{color:#6faaa8;font-size:64px;line-height:1.1}.mapNoCoordinates strong{max-width:330px;font-size:20px}.mapNoCoordinates p{color:#b8cad6;max-width:330px;font-size:13px;line-height:1.7}.mapZoom{background:#101e2cf0;border:1px solid #486372;border-radius:10px;align-items:center;display:flex;position:absolute;bottom:17px;right:16px;overflow:hidden;box-shadow:0 4px 18px #0004}.mapZoom button{color:#d3eee9;background:0 0;border:0;min-width:42px;min-height:42px;font-size:22px}.mapZoom button:hover{background:#284a4b}.mapZoom output{text-align:center;min-width:47px;padding:0 7px;font-size:12px}.mapAxis{color:#bfd0da;pointer-events:none;background:#0b1925cc;border-radius:6px;padding:6px;font-size:11px;position:absolute;bottom:20px;left:16px}.mapDisclaimer{color:#d0cfb1;padding:16px 22px;font-size:11px;line-height:1.7}.mapRouteLine{fill:none;stroke:#b8dfb4;stroke-width:2px;stroke-dasharray:7 5;vector-effect:non-scaling-stroke}.mapMarker{cursor:pointer}.mapMarker circle{fill:#244c49;stroke:#b5f3de;stroke-width:2px;vector-effect:non-scaling-stroke}.mapMarker text{fill:#e4fff4;pointer-events:none;font-size:13px;font-weight:700}.mapMarker:hover circle,.mapMarker:focus circle,.mapMarkerSelected circle{fill:#427f70;stroke:#f4fff9;stroke-width:3px}.mapPointPanel{background:#111f2d;border:1px solid #344b60;border-radius:18px;min-width:0;overflow:hidden}.mapPanelHeading{border-bottom:1px solid #2e4458;justify-content:space-between;align-items:center;gap:12px;padding:20px 21px;display:flex}.mapPanelHeading h2{font-size:19px}.mapPointList{scrollbar-width:thin;max-height:490px;margin:0;padding:0 10px 10px;list-style:none;overflow:auto}.mapPointList li{border-top:1px solid #293e4f;align-items:center;gap:6px;display:flex}.mapPointList li>button:first-child{color:var(--fg);text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:11px;min-width:0;min-height:72px;padding:15px 6px;display:flex}.mapPointList li:hover{background:#1a303d;border-radius:9px}.mapPointList strong,.mapRouteName strong{overflow-wrap:anywhere;font-size:13px;line-height:1.5;display:block}.mapPointList small,.mapRouteName small{color:#bbcad6;margin-top:4px;font-size:10px;display:block}.mapPointIcon{color:#c0ece6;border:1px solid #426c70;border-radius:9px;place-items:center;min-width:31px;height:31px;font-size:16px;display:grid}.mapPointIcon.done{color:#ccf3cf;background:#244b39}.mapAdd{width:38px;min-height:40px;color:var(--mint);background:#1a303d;border:1px solid #3b5b66;border-radius:8px;flex-shrink:0;font-size:20px}.mapPage button:disabled{opacity:.5;cursor:default}.mapListNote{padding:15px 20px;line-height:1.7}.mapPointDetails{flex-direction:column;gap:16px;padding:21px;animation:.2s ease-out mapReveal;display:flex}.mapPointDetails h3{overflow-wrap:anywhere;font-size:24px;line-height:1.3}.mapPointDetails>p{color:#bdccda;font-size:12px;line-height:1.75}.mapPointDetails .flag{white-space:normal;align-self:start}.mapPointDetails .mapCoordinates{color:#d0e8e2;font-variant-numeric:tabular-nums;font-size:17px}.mapPointActions{gap:9px;display:grid}.mapProgress{border:0;border-top:1px solid #3b5263;gap:12px;margin:0;padding:15px 0 0;display:grid}.mapProgress legend{color:#c5d5df;padding:0 8px 0 0;font-size:12px}.mapProgress .checkLine{font-size:12px}.mapPointSources{color:#c6d6e0;border-top:1px solid #334b5d;flex-direction:column;gap:8px;padding-top:15px;font-size:11px;display:flex}.mapPointSources a{color:var(--mint);overflow-wrap:anywhere}.mapPointDetails .subtleLink{font-size:12px}.mapRouteEditor{background:#111f2c;border:1px solid #354b5e;border-radius:18px;padding:0 22px 24px}.mapRouteEditor>.mapPanelHeading{padding-left:0;padding-right:0}.mapRouteEditor>.small{margin-top:17px;line-height:1.7}.mapRouteTools{flex-wrap:wrap;gap:9px;margin:19px 0;display:flex}.mapRouteTools .secondaryButton{padding:10px 13px;font-size:11px}.mapRouteList{gap:8px;margin:0;padding:0;list-style:none;display:grid}.mapRouteList li{background:#0e1927;border:1px solid #2f475c;border-radius:10px;align-items:center;gap:14px;padding:11px;display:flex}.mapRouteNumber{width:30px;height:30px;color:var(--mint);border:1px solid #4c726b;border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;display:grid}.mapRouteName{text-align:left;min-width:0;color:var(--fg);background:0 0;border:0;flex:1;padding:3px}.mapRouteList li>div{gap:5px;display:flex}.mapRouteList li>div button{color:#d7e5ed;background:#1c303f;border:1px solid #3c596e;border-radius:7px;width:36px;min-height:40px;font-size:17px}.mapRouteEmpty{color:#b2c8d6;text-align:center;border:1px dashed #3c5766;border-radius:12px;padding:23px 15px;font-size:13px}.mapRouteSave{grid-template-columns:minmax(140px,1fr) minmax(140px,1.2fr) auto auto;align-items:end;gap:15px;margin-top:22px;display:grid}.mapRouteSave .checkLine{min-height:44px;font-size:12px}.mapSavedRoutes{border-top:1px solid #334958;gap:11px;margin-top:24px;padding-top:20px;display:grid}.mapSavedRoutes h3{font-size:16px}.mapSavedRoutes>div{background:#142733;border:1px solid #335060;border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.mapSavedLoad{text-align:left;min-width:0;color:var(--fg);background:0 0;border:0;flex:1;gap:4px;display:grid}.mapSavedLoad strong{overflow-wrap:anywhere;font-size:13px}.mapSavedLoad small{color:#b9cdd8;font-size:11px}.mapGuest{color:#c6d9df;background:#173239;border:1px solid #3e626a;border-radius:10px;padding:15px 19px;font-size:13px}.mapPage .saveNotice{overflow-wrap:anywhere;background:#17392f;border:1px solid #3b6458;border-radius:10px;padding:14px 18px}.mapPage .error{background:#302326;border:1px solid #7c5056;border-radius:10px;padding:14px 18px}@keyframes mapReveal{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.mapCanvasWrap>svg>g{transition:transform .1s ease-out}.mapCanvasWrap>svg:active>g{transition:none}.mapMarkerSelected circle{animation:1.7s ease-in-out infinite mapMarkerGlow}@keyframes mapMarkerGlow{50%{stroke:#a0eadd;stroke-width:5px}}@media (max-width:1000px){.mapMain{grid-template-columns:minmax(0,1fr) 285px}.mapRouteSave{grid-template-columns:1fr 1fr}.mapBoardHeading{padding:17px}.mapBoardHeading h2{font-size:20px}.mapHeadingGlyph{font-size:80px}.mapNoCoordinates{padding:40px}.mapNoCoordinates strong{font-size:18px}}@media (max-width:760px){.mapMain{grid-template-columns:1fr}.mapPointList{max-height:330px}.mapRegionTabs{grid-template-columns:1fr 1fr;gap:8px}.mapRegionTabs button{min-height:95px;padding:14px}.mapRegionTabs strong{font-size:15px}.mapRegionTabs small{font-size:10px}.mapHeadingGlyph{display:none}.mapCanvasWrap>svg{min-height:310px}.mapNoCoordinates{padding:35px}.mapNoCoordinates>span{font-size:45px}.mapNoCoordinates p{font-size:12px}.mapBoardHeading h2{font-size:21px}.mapFilters{padding:15px}.mapFilterOptions{gap:12px 15px}.mapRouteEditor{padding:0 15px 20px}.mapRouteEditor .mapPanelHeading{flex-wrap:wrap}.mapRouteSave{grid-template-columns:1fr}.mapRouteList li{gap:7px;padding:9px 6px}.mapRouteNumber{width:25px;height:25px}.mapRouteList li>div button{width:31px;min-height:40px}.mapRouteName strong{font-size:12px}.mapSavedRoutes>div{flex-wrap:wrap}.mapSavedLoad{flex-basis:100%}.mapDisclaimer{padding:14px 17px}.mapCount{font-size:10px}.mapRouteTools{gap:7px}.mapRouteTools .secondaryButton{flex:1;min-width:145px}}@media (prefers-reduced-motion:reduce){.mapPage *{transition:none!important;animation:none!important}}.mapBlocked{background:linear-gradient(135deg,#0c1d32,#142a40);border-block:1px solid #c9a46555;flex-direction:column;justify-content:center;align-items:flex-start;gap:18px;min-height:390px;padding:38px 30px;display:flex}.mapBlocked strong{font-family:var(--font-display,serif);color:#f7f0de;font-size:28px;line-height:1.3}.mapBlocked p,.mapBlocked li{color:#d9e2e9;font-size:13px;line-height:1.8}.mapBlocked ul{padding-left:20px}.mapBlocked a{color:#e9c98d;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.calibrationTool{max-width:1100px}.calibrationTool textarea{width:100%;font-family:monospace}.calibrationImage{cursor:crosshair;max-width:100%;height:auto;display:block}.calibrationTool .tableScroll{overflow:auto}.calibrationTool table{border-collapse:collapse;width:100%}.calibrationTool th,.calibrationTool td{text-align:left;border-bottom:1px solid #c9a46555;padding:12px}@media (max-width:760px){.mapBlocked{padding:28px 20px}.mapBlocked strong{font-size:23px}.calibrationTool th,.calibrationTool td{padding:8px}}.mapCandidatePanel{background:#0c1d32;border:1px solid #c9a46566;border-radius:14px;padding:20px}.mapCandidatePanel summary{cursor:pointer;color:#e9c98d;min-height:44px;line-height:1.6}.mapCandidatePanel ul{gap:14px;margin-top:18px;padding:0;list-style:none;display:grid}.mapCandidatePanel li{border-top:1px solid #c9a46533;gap:6px;padding-top:14px;display:grid}.mapCandidatePanel li span,.mapCandidatePanel li a{overflow-wrap:anywhere;font-size:12px;line-height:1.7}.mapCandidatePanel a{color:#e9c98d}
