/* Miniature World reference layout. Gameplay state remains server-owned. */
:root{--ink:#092344;--teal:#009ba6;--paper:#fcf8f1;--line:#e8e1d7;--muted:#52657a;--panel-width:clamp(390px,33.5vw,560px);color:var(--ink);font-family:Bahnschrift,'Segoe UI',Arial,sans-serif}
body{background:#ede8df}.shell{display:block;height:100dvh;padding:0}.content{height:calc(100dvh - 64px);overflow:auto}.topbar{height:64px;padding:4px 12px 4px 20px;gap:18px;background:linear-gradient(#fffdf8,#f1ebe2);box-shadow:0 2px 6px #081d3420;position:relative;z-index:25;border-bottom:1px solid #d4cec4}.topbar button{display:flex;align-items:center;justify-content:center;color:var(--ink)}
.brandmark{padding:0;background:transparent;gap:10px;font-size:clamp(22px,2.2vw,36px);font-weight:900;letter-spacing:-1.4px;white-space:nowrap}.brandmark>svg{width:43px;height:43px;color:#008995;stroke-width:1.5}.brandmark b{color:#008c98}.header-controls{display:flex;gap:10px;align-items:center}.rank-chip,.balance-chip,.header-icon{height:50px;border:1px solid #fffaf4;border-radius:15px;background:linear-gradient(#fffdf9,#f0eae1);box-shadow:0 2px 3px #463b2923;gap:10px;font-size:22px;padding:7px 14px}.rank-chip>svg{width:30px;height:30px;color:#ed9205;fill:#ffbd34;filter:drop-shadow(0 1px 1px #a7652b60)}.rank-track{height:18px;width:104px;border-radius:20px;background:#dedbd6;overflow:hidden}.rank-track i{display:block;height:100%;background:linear-gradient(90deg,#008d99,#10b1ae);border-radius:20px}.balance-chip>svg{width:18px;height:18px;color:#d8d0c6}.header-icon{width:50px;padding:12px}.header-icon svg{width:26px;height:26px}.coin-token{display:inline-block;position:relative;flex:none;width:22px;height:18px;border:2px solid #d98608;border-radius:50%;background:radial-gradient(ellipse at 45% 30%,#ffe798 0 25%,#ffbc28 28% 55%,#f6a815 58%);box-shadow:0 3px 0 #f8b62d,0 5px 0 #c77c09,0 7px 0 #f7b125,0 9px 0 #bb7209;transform:translateY(-4px);margin:0 3px}.balance-chip .coin-token{width:27px;height:21px}.coin-token:after{content:'';position:absolute;inset:2px 5px;border:1px solid #dd8f0f;border-radius:50%}
.sidebar{position:fixed;left:auto;right:0;bottom:0;width:var(--panel-width);height:94px;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:7px 10px 10px;z-index:24;background:#f2ece3;border:0;border-radius:0;box-shadow:none}.nav{width:auto;min-height:0;height:100%;gap:5px;padding:9px 3px;border:1px solid #fffaf4;border-radius:14px;background:linear-gradient(#fffaf5,#f2ede6);color:var(--ink);font-size:17px;font-weight:750;box-shadow:0 2px 3px #4a3b2426}.nav svg{width:32px;height:32px;stroke-width:2.2}.nav.active{background:linear-gradient(#05a9b1,#008b97);color:#fff;border:3px solid #fff;box-shadow:0 3px 4px #14383c50}.nav:hover:not(.active){background:#fffdf8}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) var(--panel-width);height:100%;min-height:0}.mapzone{display:grid;grid-template-rows:minmax(0,1fr) clamp(170px,21vh,210px);position:relative;height:100%;min-height:0;background:#e7edda;overflow:hidden}.mapviewport{position:relative;overflow:hidden;min-height:0;background:#7eaf77}.mapstage{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;max-height:none;aspect-ratio:auto;margin:0;background:url('/scotland-diorama.png') center/100% 100% no-repeat;transition:transform .3s ease;isolation:isolate}.mapstage>svg{width:100%;height:100%;position:absolute;inset:0;z-index:1;overflow:visible}.mapstage path{fill:none;stroke-linecap:round;stroke-linejoin:round}.road-shadow{stroke:#2332296c;stroke-width:22;transform:translateY(4px)}.road-edge{stroke:#c5c6b4;stroke-width:19}.road-asphalt{stroke:#666f6e;stroke-width:14}.road-line{stroke:#fff5d8;stroke-width:1.8;stroke-dasharray:10 9}.city-dot{fill:#e5e4d9;stroke:#9c9e97;stroke-width:3}.map-landmark{width:26%;position:absolute;transform:translate(-50%,-84%);filter:drop-shadow(4px 10px 4px #15351c65);pointer-events:none;z-index:2}.map-depot{position:absolute;width:15%;transform:translate(-50%,-50%);z-index:3;filter:drop-shadow(3px 7px 3px #1b351c60);pointer-events:none}.city-button{position:absolute;transform:translate(-50%,0);background:linear-gradient(#0e4f71,#092e50);color:white;min-height:31px;padding:5px 16px;border:1px solid #6896a6;border-radius:12px;font-size:20px;font-weight:800;white-space:nowrap;box-shadow:0 3px 5px #052d3780;z-index:5}.city-button.active{background:linear-gradient(#ffb626,#ff8100);border:2px solid #fff5ad;box-shadow:0 0 8px 3px #ffb32d9c,0 3px 5px #622d2960;color:#fff}.moving-rig{width:86px;height:64px;position:absolute;transform:translate(-50%,-60%);background:none;border:0;box-shadow:none;border-radius:0;z-index:6;pointer-events:none;filter:drop-shadow(3px 5px 2px #102f2766)}.moving-rig img{width:100%;max-height:100%;object-fit:contain}.moving-rig:after{display:none}.map-region-label{position:absolute;left:18px;top:16px;padding:7px 12px;border-radius:9px;background:#fdfbf0e6;box-shadow:0 2px 9px #2e402a3b;color:#18484b;font-size:11px;letter-spacing:1.6px;font-weight:800;z-index:8}.map-region-label span{font-weight:500;letter-spacing:0;margin-left:8px;font-size:12px}.map-controls{display:flex;align-items:center;gap:10px;position:absolute;left:20px;bottom:28px;z-index:8}.map-search{height:49px;width:240px;display:flex;align-items:center;gap:10px;background:#fffaf2ed;border:1px solid #fff;border-radius:12px;padding:8px 12px;box-shadow:0 3px 6px #27362850}.map-search>svg{width:25px;height:25px;flex:none}.map-search input{min-width:0;width:100%;background:transparent;border:0;outline:0;color:var(--ink);font-size:17px}.map-search button{background:none;color:var(--ink);padding:0;width:18px}.map-search button svg{width:17px;height:17px}.zoom-control{height:49px;width:49px;border-radius:12px;background:#fffcf5;color:var(--ink);font-size:36px;line-height:1;box-shadow:0 3px 6px #27362850;border:1px solid #fff}.zoom-control:disabled{opacity:.7}.map-credit{position:absolute;bottom:4px;left:20px;font-size:9px;margin:0;color:#fff;text-shadow:0 1px 3px #052d21;z-index:8;display:block}
.fleet-deck{position:relative;z-index:10;background:linear-gradient(#fcf9f1,#eee8df);border-radius:18px 18px 0 0;border-top:1px solid #fff;padding:10px 14px;min-height:0;box-shadow:0 -2px 6px #1e30252b}.fleet-cards{height:100%;display:flex;gap:12px;overflow-x:auto;padding:0 2px 3px}.vehicle-card{position:relative;display:grid;grid-template-columns:62% 38%;grid-template-rows:minmax(70px,1fr) 32px;min-width:285px;max-width:450px;flex:1;padding:7px 12px;border:2px solid #e9e2d8;background:linear-gradient(#fffdf8,#f3ede4);border-radius:14px;color:var(--ink);text-align:left;overflow:hidden}.vehicle-card.selected{border-color:#04aab7;background:linear-gradient(#e8ffff,#d4eeee);box-shadow:0 0 5px #00a4ae36}.vehicle-image{display:flex;align-items:center;justify-content:center;min-height:0}.vehicle-image img{width:100%;height:100%;max-height:140px;object-fit:contain;filter:drop-shadow(0 4px 2px #23362c24)}.vehicle-name{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding-left:8px}.vehicle-name>b{font-size:20px}.vehicle-name small{font-size:10px;line-height:1.3}.tier{display:inline-block;background:#008a95;color:white;border-radius:6px;font-size:14px;padding:3px 10px;font-weight:800}.vehicle-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;white-space:nowrap}.fuel-display{display:flex;align-items:center;gap:7px}.fuel-display>svg{width:19px;height:22px}.fuel-track{display:block;width:67px;height:12px;border-radius:3px;background:#d7dedd;overflow:hidden}.fuel-track i{display:block;height:100%;background:repeating-linear-gradient(90deg,#46b76d 0 11px,#a1dab2 11px 13px)}.vehicle-status{display:flex;align-items:center;gap:6px}.vehicle-status>i{width:9px;height:9px;border-radius:50%;background:#06a6b1}.vehicle-status>i.driving{background:#31b828}.next-vehicle{border-style:dashed}.next-vehicle .vehicle-image{opacity:.72}.next-vehicle .tier{background:#87958e}.next-vehicle .vehicle-bottom>svg{width:19px;height:19px}.vehicle-timer{grid-column:1/-1;display:flex;gap:7px;font-size:10px;align-items:center}.vehicle-timer .progress{flex:1;margin:0}.vehicle-card:has(.vehicle-timer){grid-template-rows:minmax(55px,1fr) 26px 16px}
.panel{padding:14px 14px 104px;background:linear-gradient(120deg,#fffdf7,#f4eee7);height:100%;min-height:0;gap:10px;border-left:1px solid #e8e1d7;overflow:hidden;display:flex;flex-direction:column}.city-head{display:flex;gap:16px;align-items:center;flex-shrink:0;min-height:94px}.city-preview{position:relative;width:38%;height:94px;flex:none;background:linear-gradient(#85cee8,#d7edee 55%,#a8c587);border-radius:14px;overflow:hidden;border:1px solid #fff;box-shadow:inset 0 0 20px #fff5}.preview-landmark{position:absolute;height:100%;width:100%;object-fit:contain;right:-12%;top:-12%}.preview-depot{position:absolute;width:100%;height:85%;object-fit:contain;left:-8%;bottom:-13%}.city-heading{min-width:0}.city-heading h2{font-size:clamp(26px,2.4vw,39px);font-weight:850;letter-spacing:-1px;line-height:1.1;margin:0 0 9px}.city-heading p{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:14px;line-height:1.3;margin:0;color:#153b57}.city-heading p svg{width:22px;height:22px;flex:none}.city-heading p>span{color:#0498a0}.tabs{background:transparent;padding:0;gap:7px;flex-shrink:0;border-radius:0}.tabs button{display:flex;align-items:center;justify-content:center;gap:10px;height:50px;min-height:50px;font-size:21px;border-radius:13px;background:linear-gradient(#fffdf8,#f7f1ea);box-shadow:0 2px 3px #43372325;border:1px solid #e9e3db;color:var(--ink);font-weight:800}.tabs svg{width:26px;height:26px;stroke-width:2}.tabs button.active{background:linear-gradient(#03a7b2,#008d97);color:white;border:1px solid #26c3c9;box-shadow:0 3px 4px #194c5030}.cargo-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0;padding:0 4px}.cargo-heading h3{font-size:23px;margin:0 0 1px;font-weight:850}.cargo-heading small{font-size:13px;color:#1d395a}.cargo-heading>span{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:14px;font-weight:600}.cargo-heading svg{width:24px;height:24px}.tutorial-tip{background:#fff0ca;border:1px solid #e9c77c;color:#735323;padding:7px 10px;border-radius:9px;font-size:12px;line-height:1.4;flex-shrink:0}
.joblist{display:flex;flex-direction:column;gap:7px;overflow:auto;padding:0 2px 2px;min-height:98px;max-height:none;flex:1}.job{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr) 34px 80px 17px;gap:7px;min-height:100px;flex-shrink:0;padding:10px 8px;border:2px solid #e9e3da;border-radius:13px;background:linear-gradient(135deg,#fffdf8,#f6f0e8);box-shadow:0 1px 2px #1d365512;cursor:pointer}.job.checked{background:linear-gradient(110deg,#edffff,#d9f5f3);border-color:#00b5c2}.job:has(input:disabled){opacity:.66;cursor:default}.job:focus-within{outline:3px solid #ffa320;outline-offset:-3px}.job input{position:absolute;width:1px;height:1px;opacity:0;left:10px;top:10px}.job img{width:70px;height:76px;object-fit:contain}.job .jobtext{min-width:0;align-self:center}.job .jobtext>b{font-size:18px;font-weight:850;line-height:1.1;margin:0 0 4px}.job .jobtext>span{font-size:15px;display:block;line-height:1.2}.job .cargo-type{display:flex;align-items:center;gap:4px;font-size:11px;margin-top:6px;color:#285070;flex-wrap:wrap}.cargo-type svg{width:22px;height:17px}.cargo-type em{font-style:normal;color:#5c796a;font-size:10px;white-space:nowrap}.cargo-weight{font-size:18px;font-weight:800;align-self:center;white-space:nowrap}.job .pay{display:flex;align-items:center;justify-content:flex-end;font-size:18px;gap:3px;white-space:nowrap}.job .pay .coin-token{width:16px;height:13px;border-width:1.5px;box-shadow:0 2px 0 #f8b62d,0 4px 0 #c77c09,0 6px 0 #f7b125;margin:0 3px 0 0}.job-check{display:flex;align-items:center;justify-content:center}.job-check svg{width:16px;height:20px}.job.checked .job-check{background:#039eaa;width:26px;height:26px;border-radius:50%;color:white;margin-left:-6px}.job.checked .job-check svg{width:18px;height:18px}.manifest{padding:0;margin:0;border:0;flex-shrink:0}.selection-summary{height:31px;padding:5px 11px;background:#e9e5df;border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;margin-bottom:8px}.selection-summary button{border:0;background:transparent;color:#008a95;font-size:12px;font-weight:800;padding:3px}.orange{background:linear-gradient(#ff9b0b,#ff7900);border:2px solid #ffd58b;box-shadow:0 3px 4px #9d4b1e40;color:white}.dispatch-button{min-height:59px;border-radius:15px;font-size:25px;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:850;padding:8px 12px}.dispatch-button>svg:first-child{width:34px;height:32px}.dispatch-button>svg:last-child{width:24px;height:24px;margin-left:auto}.dispatch-button>svg:first-child{margin-left:auto}.manifest-links{display:flex;justify-content:space-between;align-items:center;padding:9px 3px 0;gap:6px;font-size:11px}.manifest-links button{padding:0;border:0;background:transparent;color:#325875;font-size:12px;text-decoration:underline;text-underline-offset:3px}.manifest-links>span{display:flex;gap:3px;align-items:center;font-weight:800}.manifest-links .coin-token{width:12px;height:9px;box-shadow:0 2px 0 #f8b62d,0 4px 0 #c77c09;border-width:1px;transform:translateY(-2px)}
.depot-body{overflow:auto;min-height:0;flex:1}.depot-detail{height:170px;width:100%;object-fit:contain}.depot-body .primary{display:flex;align-items:center;justify-content:center;gap:10px}.depot-body .primary svg{width:20px;height:20px}.page-shell .content{padding-bottom:100px}.page-shell .sidebar{border-radius:18px 0 0 0;box-shadow:-3px -2px 12px #102f4517}.page{max-width:1400px}.view-links{display:flex;gap:10px;margin-bottom:20px}.primary{background-color:#0099a3}.primary:not(.orange){background:linear-gradient(#05aab4,#008e98)}.contract-empty{max-width:600px;margin:30px auto;text-align:center}.contract-empty .art{height:180px}.contract-empty .primary{display:inline-flex;align-items:center;gap:12px}.contract-empty .primary svg{width:20px;height:20px}.activity-list{display:grid;gap:12px}.activity-list>div{display:flex;justify-content:space-between;gap:15px;font-size:13px;padding-bottom:12px;border-bottom:1px solid var(--line)}.activity-list span{white-space:nowrap;color:#31755f}.hint{background:#edf4ee}.notice{position:absolute;left:14px;top:12px;z-index:20;box-shadow:0 4px 10px #062d3540;max-width:calc(100% - var(--panel-width) - 30px)}
@media(min-width:1500px){.panel{padding:18px 18px 110px;gap:13px}.city-head{min-height:115px}.city-preview{height:115px}.job{grid-template-columns:100px minmax(0,1fr) 40px 100px 22px;min-height:117px;padding:10px 12px;gap:9px}.job img{width:100px;height:93px}.job .jobtext>b{font-size:23px}.job .jobtext>span{font-size:19px}.job .pay,.cargo-weight{font-size:23px}.job .cargo-type{font-size:14px}.job .pay .coin-token{width:20px;height:16px}.tabs button{height:55px;font-size:25px}.cargo-heading h3{font-size:27px}.dispatch-button{min-height:67px;font-size:30px}.nav{font-size:21px}.sidebar{height:101px}.vehicle-name>b{font-size:23px}.vehicle-bottom{font-size:14px}.vehicle-image img{max-height:160px}}
@media(max-width:1100px) and (min-width:761px){:root{--panel-width:380px}.brandmark{font-size:25px}.brandmark>svg{width:34px;height:34px}.rank-track{width:66px}.header-controls{gap:6px}.rank-chip,.balance-chip{font-size:18px;padding:6px 10px}.header-icon{width:43px}.panel{padding-left:10px;padding-right:10px}.job{grid-template-columns:54px minmax(0,1fr) 30px 72px 13px;gap:5px}.job img{width:54px;height:68px}.job .jobtext>b{font-size:16px}.job .pay,.cargo-weight{font-size:16px}.tabs button{font-size:19px}.city-head{gap:10px}.city-heading h2{font-size:28px}.city-heading p{font-size:12px}.map-controls{gap:7px;left:13px}.map-search{width:190px}.map-search input{font-size:15px}.map-region-label span{display:none}.vehicle-card{min-width:255px}.city-button{font-size:16px}.map-depot{width:18%}.map-landmark{width:30%}}
@media(max-width:760px),(max-width:1000px) and (max-height:500px){:root{--panel-width:100%}.shell{height:auto;min-height:100dvh;padding:0 0 75px;display:block}.topbar{height:58px;padding:5px 10px;gap:8px}.brandmark{font-size:21px;letter-spacing:-.8px;gap:5px}.brandmark>svg{width:26px;height:26px}.header-controls{gap:4px}.rank-chip,.balance-chip{height:39px;padding:5px 8px;font-size:15px;gap:5px;border-radius:11px}.rank-chip>svg{width:21px;height:21px}.rank-track,.balance-chip>svg,.header-icon{display:none}.balance-chip .coin-token{width:16px;height:12px}.balance-chip{font-size:15px}.content{height:auto;overflow:visible}.sidebar{height:74px;padding:5px 7px 7px;gap:6px;width:100%;border-radius:15px 15px 0 0;box-shadow:0 -3px 10px #0d2d4420}.nav{font-size:13px;padding:5px;gap:2px;border-radius:11px}.nav svg{height:26px;width:26px}.workspace{display:flex;flex-direction:column;height:auto;min-height:0}.mapzone{height:auto;min-height:0;display:grid;grid-template-rows:340px 157px;overflow:hidden}.mapviewport{height:340px}.mapstage{position:absolute;width:100%;height:100%;min-height:0;min-width:0;margin:0;aspect-ratio:auto;inset:0}.map-landmark{width:31%}.map-depot{width:19%}.city-button{font-size:15px;min-height:28px;padding:3px 10px;border-radius:9px}.moving-rig{width:55px;height:44px}.map-region-label{left:10px;top:10px;font-size:9px;padding:6px 9px;letter-spacing:1px}.map-region-label span{font-size:10px;margin-left:5px}.map-controls{left:12px;bottom:22px;gap:7px}.map-search{height:42px;width:204px;padding:6px 10px}.map-search input{font-size:16px}.map-search>svg{width:23px;height:23px}.zoom-control{height:42px;width:42px;font-size:28px}.map-credit{display:block;left:12px;bottom:3px;font-size:8px}.fleet-deck{padding:8px;border-radius:13px 13px 0 0}.fleet-cards{gap:8px}.vehicle-card{min-width:260px;max-width:300px;padding:5px 10px;grid-template-rows:minmax(65px,1fr) 27px;border-radius:12px}.vehicle-name>b{font-size:18px}.vehicle-image img{max-height:105px}.vehicle-bottom{font-size:10px}.fuel-track{width:49px;height:10px}.vehicle-name small{font-size:9px}.vehicle-timer{font-size:9px}.panel{padding:17px 12px 18px;height:auto;min-height:590px;overflow:visible;gap:10px;border:0}.city-head{min-height:84px;gap:14px}.city-preview{height:84px;width:35%}.city-heading h2{font-size:30px}.city-heading p{font-size:13px}.tabs button{font-size:21px;min-height:48px;height:48px}.cargo-heading h3{font-size:23px}.cargo-heading small{font-size:12px}.cargo-heading>span{font-size:13px}.joblist{max-height:330px;min-height:110px;flex:auto;overflow:auto;display:flex}.job{grid-template-columns:62px minmax(0,1fr) 31px 76px 16px;gap:6px;min-height:96px;padding:8px 7px}.job img{width:62px;height:73px}.job .jobtext>b{font-size:17px}.job .jobtext>span{font-size:14px}.job .pay,.cargo-weight{font-size:17px}.job .cargo-type{font-size:10px;gap:3px}.cargo-type em{font-size:9px}.job .pay .coin-token{width:14px;height:11px}.manifest{margin-top:0}.selection-summary{font-size:13px}.dispatch-button{min-height:57px;font-size:24px}.manifest-links{padding-top:10px}.page-shell .content{padding-bottom:10px}.page-shell .sidebar{border-radius:15px 15px 0 0}.page{padding:22px 15px}.notice{position:relative;max-width:none;left:auto;top:auto;margin:10px}.view-links{flex-wrap:wrap}.depot-detail{height:170px}.depot-body{overflow:visible}.activity-list>div{font-size:12px}.brand{color:var(--ink)}}
@media(max-width:380px){.brandmark{font-size:18px}.brandmark>svg{width:23px}.rank-chip{font-size:13px;padding:5px}.rank-chip>svg{width:18px}.balance-chip{font-size:14px;padding:5px}.job{grid-template-columns:52px minmax(0,1fr) 28px 69px 13px;gap:4px}.job img{width:52px}.job .jobtext>b{font-size:16px}.job .pay,.cargo-weight{font-size:16px}.map-region-label span{display:none}}
.mapzone,.fleet-deck,.fleet-cards,.panel,.content{min-width:0}.rank-chip b{white-space:nowrap}.fleet-cards{max-width:100%}.vehicle-image img{transform:scale(1.17)}
@media(max-width:760px),(max-width:1000px) and (max-height:500px){.topbar .header-icon{display:none}.workspace,.mapzone,.panel{width:100%;max-width:100%}.fleet-deck{width:100%;max-width:100%;overflow:hidden}.fleet-cards{width:100%}.topbar .brandmark{flex-shrink:0}.header-controls{min-width:0}.vehicle-image img{transform:scale(1.1)}}

/* Regional dispatch and stored freight */
.journey-destination{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:8px;font-size:13px;font-weight:700;margin:7px 0}.journey-destination select{width:100%;min-width:0;padding:7px;border:1px solid #c9d8d6;border-radius:8px;background:#fffdf8;color:var(--ink);font:inherit}.fuel-option{display:flex;align-items:center;gap:7px;font-size:12px;margin:6px 0 9px}.fuel-option input{accent-color:var(--teal);width:16px;height:16px}.depot-summary{display:flex;flex-wrap:wrap;gap:7px;font-size:12px;padding:8px;background:#eaf1eb;border-radius:10px}.depot-summary span{flex:1;min-width:80px}.depot-summary b{display:block}.depot-summary button{background:none;color:var(--teal);font-weight:700}.regional-panel .joblist{min-height:85px}.regional-panel .dispatch-button{font-size:23px;min-height:48px}.regional-panel .manifest-links{font-size:12px}.route-cities{font-size:12px;color:var(--muted);line-height:1.6}.fuel-itinerary{font-size:12px;max-height:200px;overflow:auto;padding:10px;border-radius:9px;background:#f1f5ec}.fuel-itinerary p{margin:6px 0}.regional-panel .job .cargo-type{font-size:10px}.regional-panel .job .cargo-type em{font-size:9px}@media(max-width:760px),(max-width:1000px) and (max-height:500px){.journey-destination select{font-size:16px}.regional-panel .joblist{max-height:300px}.regional-panel .manifest{margin-top:10px}}

/* Phone controls: long balances, touch targets, modal and navigation clearance. */
@media(max-width:760px),(max-width:1000px) and (max-height:500px){
 .topbar{height:auto;min-height:94px;flex-wrap:wrap;gap:6px;padding:8px 10px}
 .topbar .brandmark{flex-basis:100%;justify-content:flex-start;font-size:20px;min-height:26px}
 .header-controls{width:100%;gap:8px}
 .rank-chip{flex:1;min-width:0;min-height:44px;font-size:15px}
 .rank-track{display:block;flex:1;min-width:15px;width:auto;height:12px}
 .balance-chip{min-height:44px;font-size:15px;white-space:nowrap}
 .journey-destination select,.select-rig{min-height:44px}
 .selection-summary button,.manifest-links button,.depot-summary button{min-height:44px}
 .fuel-option{min-height:44px;margin:0;cursor:pointer}
 .fuel-option input{width:20px;height:20px;flex:none}
 .atlas-toolbar select,.atlas-toolbar>button,.atlas-info>summary{min-height:44px}
 dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:24px 18px}
 dialog h2{padding-right:34px;overflow-wrap:anywhere}
 dialog .close{min-width:44px;min-height:44px;top:5px;right:5px}
 .review-line{gap:12px}.review-line>span{min-width:0}.review-line>b{max-width:60%;overflow-wrap:anywhere}
 #toast{bottom:calc(86px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 24px);white-space:normal;opacity:0;transition:transform .25s,opacity .25s}
 #toast.show{opacity:1}
 .sidebar{padding-bottom:calc(7px + env(safe-area-inset-bottom,0px));height:calc(74px + env(safe-area-inset-bottom,0px))}
 .shell{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
 .page-header{flex-wrap:wrap;gap:10px}.page-header h1{overflow-wrap:anywhere}
}
@media(max-width:380px){
 .job{grid-template-columns:48px minmax(0,1fr) 24px;grid-template-rows:auto auto;gap:5px 8px}
 .job img{grid-column:1;grid-row:1/3;width:48px;align-self:center}
 .job .jobtext{grid-column:2;grid-row:1;overflow-wrap:anywhere}
 .job .job-check{grid-column:3;grid-row:1/3;align-self:center}
 .job .cargo-weight{grid-column:2;grid-row:2;justify-self:start}
 .job .pay{grid-column:2;grid-row:2;justify-self:end;padding-left:36px}
}
/* Keep the full silhouette of transparent landmark models inside city previews. */
.city-preview .preview-landmark{right:0;top:0;padding:4px;box-sizing:border-box}

#starting-city{display:block;width:100%;min-height:48px;margin:8px 0 14px;padding:10px;border:1px solid #b4c9c8;border-radius:10px;background:#fff;color:#173b3e;font:inherit}.career-links{gap:8px;flex-wrap:wrap}
