@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#29483e;background:#b7d6cb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select{font:inherit}button{cursor:pointer;border:0;color:inherit}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #edac3b;outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}#world{position:fixed;width:100%;height:100%;touch-action:none}header{position:fixed;top:24px;left:28px;right:28px;display:flex;align-items:center;gap:20px;pointer-events:none}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#254f42;font:700 29px 'Outfit',sans-serif;letter-spacing:-1px;pointer-events:auto}.brand-icon{display:grid;place-items:center;background:#2c5746;color:#fcf5da;width:45px;height:47px;border-radius:14px;font-size:34px}.brand small{display:block;font:600 10px 'DM Sans',sans-serif;letter-spacing:2.1px;margin-top:3px}.stats{margin-left:auto;display:flex;background:#fffdf5ed;border:1px solid #ffffff90;box-shadow:0 8px 28px #32584910;border-radius:17px;padding:14px 22px;gap:28px}.stats small{font-size:10px;letter-spacing:1.6px;display:block;margin-bottom:4px;color:#7b8d7b}.stats b{font-size:18px;font-weight:600}.stats .date b{font-size:14px}#help{pointer-events:auto;background:#fffdf5;width:38px;height:38px;border-radius:50%;font-size:19px}.panel{position:fixed;top:121px;left:28px;width:302px;max-height:calc(100dvh - 216px);overflow:auto;background:#fffdf5f5;border:1px solid #fff;border-radius:22px;padding:25px;box-shadow:0 12px 45px #25483413}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.9px;color:#85907a}h1{font:600 33px/1.12 'Outfit',sans-serif;letter-spacing:-1px;margin:12px 0}p{font-size:14px;line-height:1.6}.intro{color:#7b8676;margin:0 0 23px}.tabs{display:flex;border-bottom:1px solid #dfe4d5;margin-bottom:20px;gap:22px}.tabs button{background:none;padding:0 0 11px;font-size:14px;color:#8a9282}.tabs .active{color:#294f43;border-bottom:3px solid #294f43;font-weight:700}.route{background:#eef1e4;border-radius:12px;padding:12px;margin-bottom:9px}.route-top{display:flex;justify-content:space-between;font-size:13px;font-weight:700}.route small{display:block;color:#7a8974;font-size:12px;margin-top:6px}.route .remove{background:none;font-size:15px;padding:0 2px;color:#899782}.empty{font-size:14px;color:#768471;line-height:1.6;padding-bottom:14px}.primary{background:#305c48;color:#fffbea;border-radius:10px;padding:13px 15px;width:100%;font-size:14px;font-weight:600}.primary:hover{background:#234a38}.secondary{background:#e9eddf;border-radius:9px;padding:10px;width:100%;margin-top:10px;font-size:13px}.order{margin-top:21px;border-top:1px solid #dfe4d5;padding-top:16px}.order h3{font-size:14px;margin:0 0 10px}.order p{display:flex;justify-content:space-between;font-size:12px;margin:8px 0}progress{width:100%;height:5px;accent-color:#b6c777;display:block;border:0}label{font-size:12px;display:block;margin:14px 0 6px}select{width:100%;padding:10px;border:1px solid #d5dccb;border-radius:8px;background:#fffdf5;color:#345741}.cost{font-size:12px;color:#7e8b76;margin:12px 0}.build-item{display:flex;width:100%;align-items:center;text-align:left;background:#eef1e4;padding:12px;border-radius:10px;margin:8px 0;gap:12px}.build-item.selected{outline:2px solid #385e43}.build-icon{font-size:24px}.build-item b{display:block;font-size:14px}.build-item small{font-size:12px;color:#7c8874}.build-item em{font-style:normal;font-size:12px;margin-left:auto}.guide-chain{font-size:14px;line-height:1.9;padding:12px;background:#edf1e1;border-radius:10px;margin-bottom:12px}.detail-title{font:600 23px 'Outfit',sans-serif;margin:0 0 10px}.map-title{position:fixed;bottom:112px;right:40px;text-align:right;color:#527e6e;pointer-events:none}.map-title span{font:500 12px 'Outfit';letter-spacing:4px}.map-title small{display:block;margin-top:7px;font-size:12px;font-style:italic}footer{position:fixed;bottom:24px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.time-controls,.view-controls{display:flex;align-items:center;background:#fffdf5ed;padding:7px;border-radius:13px;gap:3px}footer button{width:34px;height:34px;border-radius:8px;background:transparent;font-size:17px}footer button.active{background:#305c48;color:#fffbea}.time-controls span{font-size:11px;letter-spacing:1px;padding:0 12px}.hint{font-size:12px;color:#4f7766;background:#f9f9e6bd;padding:10px 16px;border-radius:25px}#toast{position:fixed;top:110px;left:55%;transform:translateX(-50%);background:#305c48;color:#fffbe9;border-radius:12px;padding:13px 20px;font-size:14px;opacity:0;transition:opacity .2s;pointer-events:none;max-width:420px}#toast.show{opacity:1}dialog{border:1px solid white;border-radius:24px;background:#fffdf5;color:#29483e;padding:34px;max-width:450px;box-shadow:0 25px 100px #143b4655}dialog::backdrop{background:#193e3438;backdrop-filter:blur(4px)}dialog h2{font:600 39px/1.1 'Outfit';margin:16px 0}dialog ol{padding-left:20px;font-size:14px;line-height:1.6}dialog li{margin:12px 0}.save-note{color:#839079;font-size:12px}@media(max-width:760px){header{top:14px;left:14px;right:14px;gap:9px}.brand{font-size:22px}.brand-icon{display:none}.brand small{font-size:8px;letter-spacing:1px}.stats{padding:10px 13px;gap:13px}.stats small{font-size:8px}.stats b{font-size:14px}.date{display:none}#help{width:30px;height:30px}.panel{top:auto;bottom:79px;left:14px;width:250px;max-height:39dvh;padding:17px;border-radius:17px}.panel h1,.panel .intro,.panel>.eyebrow{display:none}.tabs{margin-bottom:12px}.map-title{display:none}footer{left:14px;right:14px;bottom:15px}.hint{display:none}.order{margin-top:12px}#toast{top:90px;left:50%;width:90%}dialog{max-width:calc(100% - 28px);padding:24px}}
/* Fleet inspectors, land deeds, and the company books. */
.tabs{gap:16px}.panel{width:320px}.section-title{font-size:14px;margin:20px 0 10px}.route-button{display:block;width:100%;text-align:left;border:1px solid transparent}.route-button:hover{border-color:#a4b68a;background:#e7eddb}.route-button small{line-height:1.5}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px;background:#edf1e3;border-radius:12px}.metrics small{display:block;font-size:9px;letter-spacing:.8px;color:#7a8974;margin-bottom:5px}.metrics b{font-size:16px;font-weight:600}.note{font-size:12px;line-height:1.6;padding:12px;background:#f1e9cd;border-radius:9px;color:#6d704d}.accounts{margin:12px 0;font-size:12px}.accounts>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #e4e9da}.accounts dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}.accounts .total{font-weight:700;color:#2e5945;border-bottom:2px solid #bccaa7}table{width:100%;border-collapse:collapse;font-size:12px;text-align:right;font-variant-numeric:tabular-nums}td,th{padding:8px 4px;border-bottom:1px solid #e4e9da}th{font-weight:500;color:#7a8974}td:first-child,th:first-child{text-align:left;text-transform:capitalize}#stock p{margin:10px 0}#world{cursor:grab}#world:active{cursor:grabbing}select:disabled{opacity:.75}#content>.eyebrow{margin-bottom:9px}@media(max-width:760px){.panel{width:280px}.tabs{gap:16px}.stats b{font-size:13px}.brand{font-size:20px}.metrics small{font-size:9px}}

.save-controls{display:flex;gap:6px;margin:12px 0}.save-controls button{flex:1;padding:8px 4px;border:1px solid #c8c9aa;border-radius:7px;background:#f4efd9;color:#385345;font:inherit;font-size:11px;cursor:pointer}

.tabs button{font-size:11px;padding-inline:7px}.problem-card{display:flex;flex-direction:column;gap:5px;width:100%;text-align:left;margin:9px 0;padding:12px;border:1px solid #d7cfb9;border-radius:10px;background:#fbf7e9;color:#355547;font:inherit;cursor:pointer}.problem-card small{color:#788277;line-height:1.5}.rename-row{display:flex;gap:6px;margin-bottom:15px}.rename-row input{min-width:0;flex:1}input{box-sizing:border-box;padding:9px;border:1px solid #c9cbb6;border-radius:7px;background:#fffdf4;color:#385345;font:inherit}.rename-row button{border:0;border-radius:7px;background:#dce6ce;color:#345645;cursor:pointer}#problem-count{font-size:10px;color:#ad694f}#map-labels{position:fixed;inset:0;pointer-events:none;z-index:2}.world-label{position:absolute;left:0;top:0;font:600 11px system-ui;background:#fff9e8e8;color:#365647;border:1px solid #c5cbb5;border-radius:5px;padding:3px 6px;white-space:nowrap;box-shadow:0 1px 4px #35533b22}.resource-label{background:#e9d9ace8}#construction-preview{position:fixed;right:22px;top:110px;z-index:5;max-width:290px;background:#fffbeded;border:1px solid #c6cdb5;border-radius:12px;padding:14px;color:#385744;pointer-events:none}#construction-preview b,#construction-preview span,#construction-preview small{display:block;margin-bottom:5px}#construction-preview small{font-size:11px}.view-controls button[aria-pressed=true]{background:#d3dfbd}#network-overlay,#labels-overlay{width:auto;padding-inline:10px;font-size:11px}button:disabled{cursor:default;opacity:.45}@media(max-width:760px){#construction-preview{top:100px;right:10px;max-width:180px}.world-label{font-size:10px}.view-controls{gap:2px}#network-overlay,#labels-overlay{padding-inline:5px}}
