/* One geographic rectangle; miniature scenery streams with the visible tiles. */
/* Avoid promoting every map tile container into a separate compositor layer. */
.continuous-atlas .leaflet-zoom-animated{will-change:auto}
.continuous-atlas{z-index:0;background:#8ccbdc;cursor:grab}.continuous-atlas .leaflet-pane{cursor:inherit}.continuous-atlas .leaflet-control-container{display:none}.continuous-atlas .leaflet-tile{border:0}.world-city-wrap{background:transparent;border:0}.world-city{position:absolute;transform:translate(-50%,-4px);padding:0;border:0;background:none;color:#fff;display:flex;align-items:center;flex-direction:column;font:700 12px 'Segoe UI',sans-serif;white-space:nowrap}.world-city i{width:9px;height:9px;border:2px solid #fff6da;border-radius:50%;background:#197b88;box-shadow:0 1px 4px #143c4777}.world-city span{margin-top:4px;padding:4px 8px;border-radius:7px;border:1px solid #87a9a6;background:#0d4055ed;box-shadow:0 2px 4px #11334930}.world-city small{font-size:12px;color:#afe3e1}.world-city.selected span{background:#e99414;border:2px solid #fff2ad;color:#fff}.world-city.selected i{background:#f8ad24;width:12px;height:12px}.world-city.compact i{width:7px;height:7px;border-width:1px}.world-truck img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 2px #183a4144)}.tile-failed{background:repeating-linear-gradient(45deg,#9fc7cc,#9fc7cc 10px,#8ab9c1 10px,#8ab9c1 20px)}
.mapviewport{background:#8ccbdc;isolation:isolate}
.atlas-surface.continuous-atlas{background:#8ccbdc}
.atlas-surface{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab;background:radial-gradient(ellipse,#98c1c8,#67a9be);outline-offset:-4px}
.atlas-surface.dragging{cursor:grabbing}.atlas-tiles,.atlas-labels,.atlas-vehicles{position:absolute;inset:0;pointer-events:none}
.atlas-tiles img{position:absolute;display:block;max-width:none;max-height:none;user-select:none}
.atlas-labels{z-index:2}.atlas-vehicles{z-index:1}
.atlas-city{position:absolute;pointer-events:auto;min-height:29px;padding:4px 11px;border:1px solid #b6d5d6;border-radius:10px;color:#fff;background:linear-gradient(#155269,#092d4c);font-size:15px;line-height:19px;font-weight:750;white-space:nowrap;box-shadow:0 2px 5px #092c4f60;overflow:hidden;text-overflow:ellipsis}
.atlas-city.owned:before{content:'⌂ ';color:#b6fcf0}.atlas-city.selected{background:linear-gradient(#ffb529,#f78300);border:2px solid #fff2a8;box-shadow:0 0 12px #ffcb4280,0 2px 4px #6a390c60}
.atlas-city.dot-only{width:18px;min-height:18px;height:18px;border-radius:50%;padding:0}.atlas-city.dot-only:before{display:none}
.atlas-truck{position:absolute;transform:translate(-50%,-75%);object-fit:contain;max-height:70px;filter:drop-shadow(0 3px 2px #102c4450)}
.atlas-loading{position:absolute;left:50%;top:55px;transform:translateX(-50%);background:#fffaf0ec;color:#234650;border-radius:12px;padding:6px 13px;font-size:12px;box-shadow:0 2px 6px #19435030;z-index:5;pointer-events:none;white-space:nowrap}
.atlas-toolbar{position:absolute;z-index:7;left:12px;right:12px;top:12px;display:flex;gap:7px;align-items:flex-start;pointer-events:none}
.atlas-toolbar>*,.atlas-toolbar button{pointer-events:auto}.atlas-toolbar select,.atlas-toolbar>button,.atlas-info>summary{height:36px;border:1px solid #fff;background:#fffaf1ef;color:#123c50;box-shadow:0 2px 5px #234b3a35;border-radius:10px;padding:6px 11px;font:600 13px 'Segoe UI',sans-serif}
.atlas-toolbar select{max-width:calc(100% - 180px)}.atlas-info{margin-left:auto;position:relative}.atlas-info>summary{cursor:pointer;list-style:none;display:flex;align-items:center}.atlas-info[open]>summary{background:#006f7b;color:white}
.atlas-info>div{position:absolute;right:0;top:43px;width:min(310px,calc(100vw - 32px));padding:16px;background:#fffcf5f5;border-radius:12px;box-shadow:0 5px 20px #133d4a50;font-size:12px;line-height:1.5;color:#17394e;max-height:310px;overflow:auto}
.atlas-info p{margin:6px 0 13px}.atlas-info small{display:block;color:#4b6b75}.atlas-info [data-atlas-stats]{border-top:1px solid #cddbd7;padding-top:10px;margin-top:10px}
.map-controls{gap:7px;left:12px;bottom:25px}.map-search{width:220px}.map-controls .reset-view{font-size:18px;width:42px}
.map-credit{background:#143b4ac9;border-radius:3px;padding:2px 5px;left:12px;font-size:9px;text-shadow:none}.map-credit a{color:#fff}
.atlas-directory{overflow:auto;gap:15px;padding-top:24px}.atlas-directory h2{font-size:34px;margin:2px 0 7px;letter-spacing:-.7px}.atlas-directory h3{font-size:19px;margin:8px 0}.atlas-directory p{font-size:13px;line-height:1.6;margin:0}.atlas-directory .eyebrow{color:#008d99}.atlas-directory section{flex-shrink:0}.atlas-directory .city-supplies{display:flex;flex-wrap:wrap;gap:6px}.city-supplies span{padding:5px 9px;border-radius:8px;background:#e6eeeb;font-size:12px}.atlas-connections{display:grid;gap:6px}.atlas-connections button{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:11px 12px;border:1px solid #e1e6dc;border-radius:9px;background:#fffdf9;color:#193d53;font-size:13px}.atlas-connections small{color:#5c7377;font-size:11px}.atlas-directory .primary{font-size:14px}.atlas-directory .hint{font-size:12px;margin:0}
.atlas-route-form{display:grid;gap:9px}.atlas-route-form label{font-size:13px;font-weight:700}.atlas-route-form select{width:100%;padding:10px;border-radius:9px;border:1px solid #ccd8d6;background:#fff}.atlas-route-result{margin-top:15px;font-size:13px;line-height:1.6}.atlas-route-result ol{padding-left:22px}.atlas-route-result li{margin-bottom:8px}.atlas-route-result small{display:block;color:#536974}.atlas-route-result .hint{margin-top:10px}
@media(max-width:1100px){.map-search{width:190px}.map-controls .zoom-control{width:43px}.atlas-toolbar{left:10px;right:10px}.atlas-toolbar select,.atlas-toolbar>button,.atlas-info>summary{padding:6px 8px;font-size:12px}}
@media(max-width:760px),(max-width:1000px) and (max-height:500px){.mapzone{grid-template-rows:370px 157px}.mapviewport{height:370px}.atlas-toolbar{top:9px}.atlas-city{font-size:12px;padding:3px 8px;min-height:26px}.atlas-toolbar select{max-width:calc(100% - 142px)}.atlas-toolbar>button{font-size:11px}.atlas-info>summary{font-size:11px}.atlas-loading{font-size:11px;top:51px}.map-controls{left:10px;right:10px;gap:6px}.map-search{width:auto;flex:1;min-width:0;height:40px}.map-search input{font-size:14px}.map-controls .zoom-control{width:38px;height:40px;flex:none}.map-controls .reset-view{width:34px;font-size:17px}.map-credit{left:10px;font-size:8px}.atlas-directory{min-height:0;padding-bottom:24px}.atlas-info>div{max-height:245px}.atlas-route-form select{font-size:16px}}

@media(max-width:760px),(max-width:1000px) and (max-height:500px){
 .atlas-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px}
 .atlas-toolbar select{grid-column:1/-1;width:100%;max-width:none;min-width:0;font-size:16px}
 .atlas-toolbar>button,.atlas-info>summary{min-height:44px;min-width:44px;font-size:12px;justify-content:center}
 .atlas-info{margin-left:0}.atlas-info>div{top:48px;max-height:210px}
 .map-controls .zoom-control{min-width:44px;min-height:44px}
 .map-search{min-height:44px}.map-search input{font-size:16px}
 .map-search button{min-width:44px;min-height:44px}
 .trailer-tractor-choice{display:block;margin:14px 0 20px;max-width:100%;font-size:14px}
 .trailer-tractor-choice select{display:block;max-width:100%;width:100%;font-size:16px;margin-top:8px}
}
@media(max-width:380px){
 .map-controls{flex-wrap:wrap;justify-content:flex-end}
 .map-search{flex-basis:100%;width:100%}
}

.world-port button{display:grid;place-items:center;width:26px;height:26px;padding:0;border:2px solid #fff4d5;border-radius:50%;background:#0a6372;color:#fff4d5;font-size:17px;box-shadow:0 2px 5px #123b5166;cursor:pointer}.world-port button:focus-visible{outline:3px solid #ffab32;outline-offset:2px}

dialog:has(.atlas-route-form) > form[method="dialog"]{position:sticky;top:0;height:0;z-index:3}
dialog:has(.atlas-route-form) .close{position:absolute;top:0;right:0;margin:0}

/* An in-game full map works in the Android WebView and desktop browsers alike. */
.map-controls .map-view-toggle{display:flex;align-items:center;justify-content:center;gap:6px;flex:none;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font-size:12px;font-weight:700;white-space:nowrap;box-shadow:0 2px 5px #0003}
.map-view-toggle svg{width:18px;height:18px;flex:none}
.map-view-toggle .collapse-icon{display:none}
.map-expanded .map-view-toggle .expand-icon{display:none}
.map-expanded .map-view-toggle .collapse-icon{display:block}
body:has(.map-expanded){overflow:hidden}
.shell.map-expanded{position:fixed;inset:0;z-index:26;display:block;width:100%;height:100dvh;min-height:0;padding:0}
.shell.map-expanded>.topbar,.shell.map-expanded>.sidebar,.map-expanded .fleet-deck,.map-expanded .workspace>.panel,.map-expanded .content>.notice{display:none}
.shell.map-expanded>.content{height:100%;overflow:hidden;padding:0}
.map-expanded .workspace{display:block;height:100%;min-height:0}
.map-expanded .mapzone{height:100%;min-height:0;grid-template-rows:minmax(0,1fr)}
.map-expanded .mapviewport{height:100%;min-height:0}
.map-expanded .map-controls{left:12px;right:12px;bottom:24px;gap:8px;flex-wrap:nowrap}
.map-expanded .map-search{width:auto;flex:1;max-width:320px;min-width:0}
.map-expanded .map-search button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;flex:none}
.map-expanded .map-controls .zoom-control{min-width:44px;min-height:44px;flex:none}
.map-expanded .map-view-toggle{margin-left:auto;min-height:44px}
.map-expanded .atlas-toolbar{left:12px;right:12px;top:12px}
.map-expanded .atlas-toolbar select,.map-expanded .atlas-toolbar>button,.map-expanded .atlas-info>summary{min-height:44px}
.map-expanded .atlas-info>div{max-height:calc(100dvh - 145px)}
@media(orientation:landscape){
 .map-expanded .atlas-toolbar{display:flex;flex-wrap:nowrap}
 .map-expanded .atlas-toolbar select{width:auto;max-width:260px;flex:1;min-width:0}
 .map-expanded .atlas-info{margin-left:auto}
}
@media(max-width:380px){
 .map-expanded .map-controls{flex-wrap:wrap;gap:6px}
 .map-expanded .map-search{flex-basis:100%;max-width:none}
}

.career-form{display:grid;gap:10px;margin:14px 0}.career-form label{display:grid;gap:6px}.career-form select{width:100%;max-width:100%;padding:10px;border:1px solid #cbd6cf;border-radius:8px;background:white;color:#183a48;font:inherit}.career-form .career-job{display:flex;align-items:flex-start;font-size:13px}.career-links{flex-wrap:wrap;gap:8px;margin:16px 0}.career-form input[type=checkbox]{width:20px;height:20px;flex-shrink:0}.card{overflow-wrap:anywhere}

.world-transport{border-radius:50%;background:#102d45;border:2px solid #5bdbff;box-shadow:0 2px 12px #0008;text-align:center;font-size:23px;line-height:30px;color:#ffe2a3}.world-air{border-color:#ffdc87}.local-collection{margin:12px 0;padding:12px;border:1px solid #638199;border-radius:10px}.local-collection summary{cursor:pointer;font-weight:700}.local-collection .career-job{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.local-collection input[type=number]{width:70px}

/* Moving vehicles turn around their centre without changing Leaflet positioning. */
.road-vehicle-heading{display:flex;align-items:center;justify-content:center;width:100%;height:100%;transform-origin:50% 50%;transition:transform 220ms linear;filter:drop-shadow(0 2px 1px #0e2f4277)}
.road-vehicle-art{display:block;width:100%;height:auto;overflow:visible}
@media(prefers-reduced-motion:reduce){.road-vehicle-heading{transition:none}}

/* LTW compact journey preview: totals stay visible; leg details open on demand. */
.atlas-route-result .route-preview{border:1px solid var(--line,#48677c);border-radius:12px;background:#112b3e;overflow:hidden;line-height:1.35}
.route-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px 8px}
.route-preview-heading strong{font-size:17px;overflow-wrap:anywhere}
.route-destination{color:var(--midnight-amber,#efbd66)}
.route-mode{flex:none;max-width:45%;padding:3px 8px;border-radius:20px;background:#244358;color:var(--muted,#b2c8d7);font-size:11px;text-align:center}
.route-leg-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px 9px;list-style:none;cursor:pointer}
.route-leg-disclosure>summary::-webkit-details-marker{display:none}
.route-leg-disclosure>summary:focus-visible,.route-estimate-details>summary:focus-visible{outline:2px solid #85eee4;outline-offset:-3px;border-radius:8px}
.route-metrics{display:flex;flex-wrap:wrap;align-items:center;gap:5px 13px;min-width:0;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.route-metrics>span{display:flex;align-items:center;gap:6px}
.route-preview svg{width:17px;height:17px;flex:none;color:var(--midnight-cyan,#70d4cf)}
.route-metrics .route-fee{color:#efbd66;font-size:12px}
.route-leg-toggle{display:flex;align-items:center;justify-content:center;gap:8px;flex:none;min-height:44px;padding:6px 10px;border:1px solid #70d4cf;border-radius:8px;color:#dffaf7;font-weight:700;white-space:nowrap}
.route-leg-disclosure>summary:hover .route-leg-toggle{background:#254d59}
.route-legs-open,.route-leg-disclosure[open] .route-legs-closed{display:none}
.route-leg-disclosure[open] .route-legs-open{display:inline}
.route-leg-disclosure[open] .route-leg-toggle svg{transform:rotate(180deg)}
.route-leg-content{border-top:1px solid var(--line,#48677c);padding:0 12px 8px}
.route-leg-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px;font-variant-numeric:tabular-nums}
.route-leg-table th,.route-leg-table td{padding:7px 0;border-bottom:1px solid #48677c80;vertical-align:top;text-align:right;overflow-wrap:anywhere}
.route-leg-table th:first-child{width:59%;text-align:left;padding-right:9px;font-weight:600}
.route-leg-table th:nth-child(2){width:25%}
.route-leg-table th:nth-child(3){width:16%}
.route-leg-table thead th{color:var(--muted,#b2c8d7);font-size:11px;font-weight:500}
.route-leg-table td{padding-left:4px}
.atlas-route-result .route-leg-table small{color:var(--muted,#b2c8d7);font-size:11px;line-height:1.4;font-weight:400;margin-top:3px}
.route-leg-mode{display:block;color:#70d4cf;font-size:11px;margin-top:3px}
.route-transfer-leg{background:#70d4cf08}
.atlas-route-result .route-rounding{font-size:11px;color:var(--muted,#b2c8d7);margin:7px 0}
.route-estimate-details>summary{cursor:pointer;color:#b2c8d7;font-size:12px;padding:5px 0}
.route-estimate-details p{color:#b2c8d7;font-size:12px;line-height:1.5;margin:5px 0}
.atlas-route-result .route-preview-note{color:var(--muted,#b2c8d7);font-size:11px;line-height:1.4;margin:7px 1px 0}
.route-visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:480px){
 .route-preview-heading{gap:6px;padding:10px 10px 7px}
 .route-preview-heading strong{font-size:16px}
 .route-leg-disclosure>summary{padding:0 10px 8px;gap:8px}
 .route-metrics{font-size:12px;gap:4px 9px}
 .route-leg-toggle{padding:6px 8px;font-size:12px;gap:5px}
 .route-leg-content{padding:0 10px 7px}
 .route-leg-table th:first-child{width:55%}
 .route-leg-table th:nth-child(2){width:27%}
 .route-leg-table th:nth-child(3){width:18%}
}
