
:root{--ink:#293f35;--muted:#7e877d;--green:#355e4b;--sage:#dfe7d4;--lime:#d7e6a4;--paper:#f8f8f2;--line:#e5e7dd;--orange:#d89549;--red:#b96751;--shadow:0 12px 40px #243a3011;--radius:14px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:13px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--paper);overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;transition:background .15s,transform .15s,color .15s}button:active{transform:translateY(1px)}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #e5a756;outline-offset:3px}button svg,a svg,span svg{pointer-events:none}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,h4,p{margin:0}button[hidden],[hidden]{display:none!important}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}#app{height:100dvh;min-height:640px;display:flex;flex-direction:column}.app-header{height:76px;min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 29px;border-bottom:1px solid var(--line);background:#fcfcf7;z-index:5}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink);min-width:243px}.brand-mark{width:42px;height:46px;background:var(--lime);border-radius:12px;display:grid;place-items:center}.brand-mark svg{width:27px;height:27px;stroke-width:1.8}.brand strong{font-size:29px;line-height:29px;font-weight:780;letter-spacing:-1.5px}.brand-dot{color:#84a06b}.brand small{display:block;font-size:8px;letter-spacing:3.55px;margin:4px 0 0 2px;font-weight:700;color:#73816e}.main-nav{display:flex;align-items:center;gap:7px;height:100%}.nav-item{display:flex;gap:9px;align-items:center;padding:12px 17px;border-radius:9px;font-weight:600;font-size:13px;color:#758073;white-space:nowrap}.nav-item svg{width:18px;height:18px}.nav-item:hover{background:#edf0e4}.nav-item.active{background:var(--green);color:#fff}.nav-count{background:#e6eadc;color:#64745e;padding:2px 5px;border-radius:4px;font-size:10px;margin-left:1px}.header-actions{display:flex;gap:12px;align-items:center}.xp-badge{display:flex;align-items:center;gap:6px;margin-right:12px;font-size:11px;color:#a4a58d}.xp-badge svg{fill:#e8c372;stroke:#d1a44e;width:17px}.xp-badge b{font-size:14px;color:#677450}.icon-button{display:grid;place-items:center;width:35px;height:35px;border-radius:9px;color:#73816e}.icon-button:hover{background:#e7ebdd}.engineer-avatar{background:#ecded0;color:#8d775e;width:35px;height:35px;font-size:15px;font-weight:700;border:2px solid #f4ede2;border-radius:50%;position:relative;margin-left:9px}.engineer-avatar span{position:absolute;bottom:-2px;right:-2px;width:10px;height:10px;border-radius:50%;background:#a1b66e;border:2px solid white}.journey-bar{height:76px;min-height:76px;display:flex;align-items:center;padding:0 30px;gap:14px;border-bottom:1px solid #d8ded1;background:#f7f8f0;z-index:3}.journey-icon{display:grid;place-items:center;width:37px;height:39px;background:#e7eddb;border-radius:9px;color:#789266}.journey-icon svg{width:20px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.5px;color:#8c9785;line-height:1.6}.journey-title h1{font-size:16px;font-weight:650;letter-spacing:-.3px;margin-top:3px}.journey-title .eyebrow{font-size:8px;letter-spacing:1.6px}.journey-separator{height:28px;width:1px;background:var(--line);margin:0 14px}.journey-facts{display:flex;gap:23px;font-size:11px;color:#8b9385}.journey-facts>span{display:flex;gap:6px;align-items:center}.journey-facts b{font-weight:600;color:#697762;margin-right:-3px}.journey-facts svg{width:14px;height:14px}.journey-right{margin-left:auto;display:flex;align-items:center;gap:26px}.weather-button{display:flex;gap:8px;align-items:center;color:#697962;font-size:11px}.weather-button>svg:first-child{color:#bc9c56;width:18px;height:18px}.weather-button .tiny{width:11px;height:11px}.time-chip{display:flex;gap:8px;align-items:center;font-size:12px;letter-spacing:.3px}.time-chip svg{width:15px;height:15px;color:#8e9a85}.time-chip b{font-weight:550}.pause-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid #dce2d0;border-radius:8px;background:#fdfdf7;color:#66775e}.pause-button svg{width:13px}.stage{position:relative;flex:1;min-height:300px;overflow:hidden;background:#cadfd8;isolation:isolate}#scene{width:100%;height:100%;display:block;touch-action:none;outline:none;cursor:grab}#scene:active{cursor:grabbing}.scene-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#28483c55,transparent 25%,transparent 88%,#83948009);z-index:1}.quest-card{position:absolute;top:25px;left:28px;width:270px;background:#fcfdf5f0;backdrop-filter:blur(14px);padding:19px 21px 17px;border-radius:13px;box-shadow:0 6px 24px #344b3910;z-index:3;border:1px solid #ffffff60}.quest-top{display:flex;align-items:center;gap:6px;letter-spacing:1.2px;font-size:8px;font-weight:700;color:#85937a}.quest-top>span:last-child{margin-left:auto;font-size:9px;letter-spacing:1px;color:#a3ac96}.live-dot{width:5px;height:5px;border-radius:50%;background:#8fa967;box-shadow:0 0 0 3px #91a87712}.quest-card h2{font-size:24px;letter-spacing:-.8px;font-weight:600;margin:11px 0 7px}.quest-meta{display:flex;align-items:center;gap:7px;font-size:10px;color:#8d9785}.small-dot{background:#b6bdaa;width:3px;height:3px;border-radius:50%}.mini-route{display:flex;align-items:center;gap:8px;height:35px;margin:12px 0 4px}.route-dot{border:1.5px solid #bbc9a3;width:9px;height:9px;border-radius:50%}.route-dot.done{background:#97ad77;border-color:#97ad77}.route-line{height:2px;flex:1;position:relative;background:repeating-linear-gradient(to right,#cdd7bd,#cdd7bd 4px,transparent 4px,transparent 7px)}.route-line i{display:block;width:20%;height:100%;background:#91a873}.mini-train{width:17px;height:17px;color:#658555}.quest-hint{border-top:1px solid #e1e6d6;padding-top:12px;display:flex;gap:9px;align-items:center;font-size:10px;line-height:1.8;color:#87927f}.quest-hint strong{font-weight:500;color:#566b4d}.hint-icon{width:25px;height:25px;display:grid;place-items:center;color:#8ca369;background:#e8eddc;border-radius:50%;flex-shrink:0}.hint-icon svg{width:14px}.service-button{margin-top:12px!important;font-size:10px!important;width:100%;padding:11px!important}.boarding-progress{position:relative;height:25px;background:#e1e9d4;margin-top:12px;border-radius:6px;overflow:hidden;display:grid;place-items:center;font-size:10px}.boarding-progress i{position:absolute;inset:0 auto 0 0;background:#c8dc9c;width:0}.boarding-progress span{z-index:1}.camera-bar{position:absolute;top:25px;right:28px;display:flex;padding:5px;gap:3px;border:1px solid #ffffff66;border-radius:10px;background:#f9faf2eb;backdrop-filter:blur(12px);box-shadow:var(--shadow);z-index:3}.camera-bar button{border-radius:6px;display:flex;gap:6px;align-items:center;padding:8px 10px;font-size:10px;color:#7a8671}.camera-bar button svg{width:16px;height:16px}.camera-bar button.active{background:#e4ead8;color:#42613b}.camera-bar button:hover{background:#e8eddf}.camera-bar kbd{font-size:8px;background:#e4e9da;margin-left:3px;padding:1px 3px;color:#8f9b82;border:0}.camera-bar i{width:1px;height:16px;background:#dfe5d5;align-self:center;margin:0 4px}.world-tools{position:absolute;left:28px;top:278px;display:flex;flex-direction:column;gap:8px;z-index:3}.world-tools>span{height:3px}.floating-tool{display:grid;place-items:center;width:38px;height:38px;background:#f9faf0e8;backdrop-filter:blur(8px);border:1px solid #ffffff66;box-shadow:0 3px 14px #2b48340b;border-radius:9px;color:#6a815c}.floating-tool svg{width:18px;height:18px}.floating-tool:hover{background:#e4efc8}.scenic-caption{position:absolute;left:88px;bottom:28px;color:#faffec;pointer-events:none;z-index:2;text-shadow:0 1px 6px #34433322}.scenic-kicker{display:flex;align-items:center;gap:6px;font-size:7px;letter-spacing:2px;font-weight:650;color:#e3edcb;margin-bottom:10px}.scenic-kicker i{display:block;width:15px;height:1px;background:#d2deb8}.scenic-caption h2{font-family:Georgia,"Times New Roman",serif;font-size:30px;line-height:1.16;letter-spacing:-.6px;font-weight:400}.scenic-caption>span:last-child{display:flex;gap:6px;align-items:center;font-size:9px;color:#e2ebd1;margin-top:12px}.scenic-caption svg{width:12px;height:12px}.signal-card{position:absolute;bottom:28px;right:28px;display:flex;align-items:center;gap:12px;background:#fbfcf2ed;backdrop-filter:blur(10px);padding:11px 12px 11px 17px;border-radius:12px;box-shadow:var(--shadow);z-index:3}.signal-dot{width:8px;height:8px;background:#90ad6a;border-radius:50%;box-shadow:0 0 0 4px #9cb58014}.signal-card strong{display:block;font-size:11px;font-weight:600;margin-bottom:5px}.signal-card small{font-size:9px;color:#8f9a83}.speed-limit{border:3px solid #c2846d;border-radius:50%;width:41px;height:41px;display:grid;place-items:center;margin-left:14px;font-size:16px;font-weight:650;background:#fffdf4;color:#696e5d}.world-marker{position:absolute;background:#f7f9eed9;color:#556b4d;box-shadow:var(--shadow);padding:7px 11px;border-radius:30px;display:flex;gap:5px;align-items:center;font-size:10px;transform:translate(-50%,-100%);pointer-events:none;z-index:2;white-space:nowrap}.world-marker svg{width:12px;height:12px}.walk-hint{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);background:#f9fbf0ed;padding:15px 20px;border-radius:12px;display:flex;gap:14px;align-items:center;z-index:4}.walk-hint span{font-size:10px;max-width:140px;line-height:1.6}.walk-hint .button{font-size:10px;padding:9px}.drive-controls{height:163px;min-height:163px;background:#fbfcf5;display:flex;align-items:center;padding:14px 29px 10px;gap:27px;z-index:4;border-top:1px solid #ffffff88}.speedometer{position:relative;width:167px;height:137px;flex-shrink:0;align-self:center}.dial{position:absolute;width:165px;height:111px;top:3px;left:0;overflow:visible;stroke:none}.dial-track{fill:none;stroke:#e8ecdd;stroke-width:8;stroke-linecap:round}.dial-fill{fill:none;stroke:#a8bd80;stroke-width:8;stroke-linecap:round;stroke-dasharray:294;stroke-dashoffset:294;transition:stroke-dashoffset .15s}.dial-ticks{fill:none;stroke:#c0c9b1;stroke-width:.8}.dial text{fill:#a6ad9b;font-size:8px;font-family:inherit}.speed-number{position:absolute;top:42px;width:165px;display:flex;flex-direction:column;align-items:center}.speed-number b{font-size:43px;line-height:40px;font-weight:500;letter-spacing:-2px;font-variant-numeric:tabular-nums}.speed-number>span{font-size:9px;color:#97a08c;margin-top:7px}.speed-status{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:9px;color:#7c8c70;display:flex;gap:5px;align-items:center;justify-content:center}.speed-status i{background:#9cb97a;width:4px;height:4px;border-radius:50%}.control-divider{width:1px;background:var(--line);height:94px;flex-shrink:0}.lever-block{flex:1;max-width:190px;min-width:105px}.lever-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.lever-heading label{font-size:11px;font-weight:650}.lever-heading b{font-size:19px;font-weight:500;letter-spacing:-.4px}.lever-heading b span{font-size:10px;font-weight:400;margin-left:3px;color:#8c9981}.lever-scale{display:flex;justify-content:space-between;font-size:8px;color:#9ba48f;margin-top:8px}.control-shortcut{display:flex;align-items:center;gap:4px;font-size:8px;color:#a5ae9a;margin-top:14px}kbd{font-family:inherit;font-size:9px;border:1px solid #e1e6d6;border-radius:3px;min-width:16px;min-height:15px;padding:2px 3px;background:#f4f6ec;color:#859277;display:inline-grid;place-items:center;line-height:1}.control-shortcut span{margin-left:3px}input[type=range]{--range-color:#a5ba82;width:100%;height:6px;appearance:none;-webkit-appearance:none;background:linear-gradient(to right,var(--range-color) 0%,var(--range-color) var(--fill,0%),#e8ecde var(--fill,0%),#e8ecde 100%);border-radius:4px;cursor:pointer;display:block;margin:0}input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:14px;height:24px;border:3px solid #fbfcf5;border-radius:5px;background:var(--range-color);box-shadow:0 1px 4px #47603228;cursor:ew-resize}input[type=range]::-moz-range-thumb{width:10px;height:20px;border:3px solid #fbfcf5;border-radius:5px;background:var(--range-color)}.throttle-block input{--range-color:#dca257}.brake-block input{--range-color:#92aa7a}.reverser-block{width:133px;flex-shrink:0}.control-title{font-size:10px;font-weight:600;display:block;margin-bottom:9px}.reverser{background:#edf0e5;padding:3px;display:flex;gap:2px;border-radius:6px;width:106px}.reverser button{width:32px;height:25px;display:grid;place-items:center;font-size:10px;border-radius:4px;color:#92a080}.reverser button.active{background:#e0e8cd;color:#526d40;box-shadow:0 1px 3px #3e5a2820}.reverser-block>span:last-of-type{display:block;font-size:8px;color:#99a78a;margin-top:6px;margin-left:5px}.emergency-button{display:flex;align-items:center;gap:5px;margin-top:11px;font-size:8px;color:#b3826b;padding:0}.emergency-button>span{border:1px solid #bc8b74;font-size:8px;font-weight:700;border-radius:50%;width:13px;height:13px;display:grid;place-items:center}.emergency-button kbd{font-size:9px;line-height:6px;min-width:22px;margin-left:4px;color:#b59680;border-color:#e4dcd1}.equipment-block{flex:1.9;max-width:360px;min-width:260px}.equipment-grid{display:flex;gap:6px}.equipment-grid button{width:49px;height:64px;position:relative;display:flex;align-items:center;flex-direction:column;gap:8px;border-radius:7px;background:#f4f6eb;color:#8b9a7c;border:1px solid #e9eddf}.equipment-grid button svg{width:20px;height:20px;margin-top:9px}.equipment-grid button span{font-size:8px}.equipment-grid button:hover{background:#eaf0da}.equipment-grid button.on{background:#e9f0d9;border-color:#dfe9cc;color:#749052}.equipment-grid button i{position:absolute;width:3px;height:3px;border-radius:50%;right:5px;top:5px;background:#c3cdb6}.equipment-grid button.on i{background:#94aa69}.equipment-status{display:flex;justify-content:space-between;margin-top:16px;font-size:8px;color:#95a088;gap:10px}.equipment-status>span{display:flex;gap:4px;align-items:center;white-space:nowrap}.equipment-status svg{width:11px;height:11px}.equipment-status i{width:4px;height:4px;background:#94ad6c;border-radius:50%}.equipment-status b{font-weight:500}.mini-telemetry{min-width:94px;margin-left:auto}.mini-telemetry>div:not(.resource-meter){display:flex;justify-content:space-between;gap:13px;font-size:8px;align-items:center;margin-bottom:15px;color:#96a08b}.mini-telemetry b{font-size:12px;font-weight:500;color:#6a7a5d;white-space:nowrap}.mini-telemetry small{font-size:8px;font-weight:400;color:#9eaa91}.resource-meter{height:3px;background:#e5ebd7;border-radius:2px;margin-top:-4px}.resource-meter i{display:block;width:100%;height:100%;background:#a9bc83;border-radius:2px}.status-bar{height:33px;min-height:33px;display:flex;gap:23px;align-items:center;padding:0 28px;border-top:1px solid #e9ecdf;background:#f7f9ef;font-size:8px;color:#a0a991;z-index:4}.assist-pill{display:flex;gap:5px;align-items:center;font-size:8px;padding:3px 0;color:#819568}.assist-pill svg{width:11px;height:11px}.assist-pill b{font-weight:500}.assist-pill>span{font-size:6px;letter-spacing:.5px;color:#819860;background:#e8eed8;padding:2px 4px;border-radius:3px;margin-left:4px}.footer-train{display:flex;gap:7px;align-items:center}.footer-train svg{width:11px;height:11px}.footer-train b{color:#8a987d;font-weight:500}.footer-train>span{color:#a6af99}.footer-spacer{flex:1}.save-state,.footer-help{display:flex;align-items:center;gap:5px;font-size:8px;white-space:nowrap}.save-state svg,.footer-help svg{width:11px;height:11px}.footer-help{color:#94a184}.backend-status{display:flex;gap:5px;align-items:center;font-size:7px;white-space:nowrap}.backend-status i{width:4px;height:4px;background:#a1b786;border-radius:50%}.backend-status b{font-weight:500;margin-left:5px}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;padding:12px 16px;border:1px solid #dde3d2;border-radius:8px;font-size:11px;font-weight:550;color:#667a55;background:#f7f9ef;white-space:nowrap}.button:hover{background:#eaf0db}.button svg{width:16px;height:16px}.button.primary{background:var(--green);color:#f4f7eb;border-color:var(--green)}.button.primary:hover{background:#446e58}.button.subtle{border-color:transparent;background:none;color:#98a087}.button.large{padding:15px 22px;font-size:12px}.button.small{font-size:10px;padding:7px 11px}.button.active{background:#dfeacb;border-color:#bccc9e;color:#466331}.loading-screen{position:absolute;inset:0;background:#f1f4e9;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.loading-mark{background:#dfe9c5;border-radius:22px;width:80px;height:80px;display:grid;place-items:center;margin-bottom:24px}.loading-mark svg{width:42px;height:42px;color:#607d4d}.loading-screen h2{font-family:Georgia,serif;font-size:28px;font-weight:400;margin-bottom:12px}.loading-screen p{font-size:12px;color:#99a18d;max-width:500px;padding:0 20px;line-height:1.6}.loading-screen>span{font-size:8px;letter-spacing:2px;margin-top:35px;color:#a5ad97}.loading-line{width:180px;height:3px;background:#dfe6d2;margin-top:25px;overflow:hidden;border-radius:2px}.loading-line i{display:block;width:50%;height:100%;background:#a5bb7e;animation:loading 1.8s infinite ease-in-out}@keyframes loading{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}#toast-region{position:absolute;bottom:21px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;z-index:22;max-width:520px;width:max-content}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;background:#fbfcf4f5;border:1px solid #ffffff88;backdrop-filter:blur(12px);border-radius:11px;box-shadow:0 8px 40px #20362b1a;padding:13px 17px;font-size:11px;line-height:1.5;animation:toastin .3s ease-out;color:#5d7350;max-width:100%}.toast svg{color:#91a969;width:19px;height:19px}.toast.achievement{background:#e6efc9;border-color:#d5e3ae}@keyframes toastin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.pause-overlay{position:absolute;inset:0;display:grid;place-items:center;z-index:20;background:#314d3933;backdrop-filter:blur(8px)}.pause-card{background:#f9fbf0;border:1px solid white;border-radius:18px;padding:34px 48px;text-align:center;box-shadow:0 20px 80px #19372630;display:flex;align-items:center;flex-direction:column}.pause-card .brand-mark{margin-bottom:21px}.pause-card h2{font-family:Georgia,serif;font-size:33px;line-height:1.2;font-weight:400;margin:10px 0 15px;letter-spacing:-.5px}.pause-card p{font-size:11px;color:#94a086;margin-bottom:24px;max-width:310px;line-height:1.7}.pause-card .button.subtle{margin-top:8px}.app-dialog{color:var(--ink);background:#f9fbf1;border:1px solid #ffffffa0;border-radius:17px;box-shadow:0 25px 100px #21372938;padding:28px;width:min(660px,calc(100% - 32px));max-height:calc(100dvh - 55px);overflow:auto}.app-dialog::backdrop{background:#243d3555;backdrop-filter:blur(8px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:15px}.dialog-heading h2{font-family:Georgia,serif;font-size:32px;line-height:1.25;font-weight:400;margin-top:5px;letter-spacing:-.4px}.dialog-heading .icon-button{background:#eef2e4;align-self:flex-start}.wide-dialog{width:min(1040px,calc(100% - 38px))}.dialog-intro{font-size:12px;line-height:1.7;color:#93a084;margin-top:-8px;margin-bottom:21px}.route-dialog-layout{display:grid;grid-template-columns:285px 1fr;gap:30px}.route-catalog{display:flex;flex-direction:column;gap:10px}.route-card{display:flex;text-align:left;align-items:center;gap:13px;padding:14px;border:1px solid #e1e7d5;background:#f3f6e9;border-radius:10px;width:100%}.route-card.active{background:#e8efda;border-color:#b5c696}.route-card .route-swatch{width:59px;height:57px;flex-shrink:0;border-radius:8px;overflow:hidden}.route-card svg{width:100%;height:100%;stroke-width:1}.route-card strong{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.route-card small{font-size:9px;color:#94a082}.route-card .route-card-tag{font-size:8px;margin-top:9px;display:block;color:#879a6f}.route-preview{min-width:0}.route-art{height:196px;border-radius:11px;background:#eaf0dd;margin-bottom:18px;overflow:hidden;position:relative}.route-art svg{width:100%;height:100%}.route-art .map-label{font-family:inherit;font-size:9px;fill:#68795b;stroke:none}.route-preview h3{font-size:25px;font-weight:550;letter-spacing:-.6px;margin:5px 0 9px}.route-preview>p{font-size:11px;line-height:1.8;color:#89967b;margin-bottom:18px;max-width:550px}.route-stops{display:flex;justify-content:space-between;margin:13px 0 24px;gap:4px}.route-stops span{position:relative;font-size:8px;flex:1;text-align:center;color:#82906e;padding-top:17px;border-top:2px solid #d3debf}.route-stops span:before{content:'';position:absolute;width:7px;height:7px;background:#99b270;border:3px solid #f9fbf1;box-sizing:content-box;top:-7px;left:calc(50% - 6px);border-radius:50%}.route-options{display:flex;gap:14px}.route-options label{font-size:9px;color:#8e9c7e;flex:1}.route-options select{display:block;width:100%;margin-top:7px}select{appearance:auto;background:#f1f5e7;color:#627650;border:1px solid #dfe6d2;border-radius:7px;padding:10px 11px;cursor:pointer;font-size:11px}.route-footer{display:flex;align-items:center;justify-content:space-between;margin-top:20px;gap:10px}.route-footer>span{font-size:9px;color:#99a782}.dispatcher-strip{margin-top:25px;padding-top:18px;border-top:1px solid #e0e7d3;display:flex;align-items:center;gap:11px}.dispatcher-strip>span:first-of-type{font-size:8px;letter-spacing:1px;color:#82976c;margin-right:12px}.dispatcher-strip>svg{width:18px;height:18px;color:#8da176}.dispatcher-note{font-size:9px;color:#a0ad90;margin-left:auto}.systems-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.system-card{display:flex;align-items:center;text-align:left;gap:11px;background:#f0f5e5;border:1px solid #e1e8d2;padding:14px 12px;border-radius:9px;min-height:82px}.system-card>svg{width:22px;height:22px;color:#839c69}.system-card span{flex:1}.system-card b{display:block;font-size:11px;font-weight:600;margin-bottom:5px}.system-card small{display:block;line-height:1.6;font-size:9px;color:#97a585}.system-card em{font-size:8px;white-space:nowrap;font-style:normal;background:#e0ebcd;padding:5px;border-radius:4px;color:#7a965b}.system-card.on{border-color:#bbcda0;background:#e8f0da}.system-slider{margin-top:24px}.system-slider label{font-size:11px;display:flex;justify-content:space-between;margin-bottom:15px}.system-slider p{font-size:9px;color:#98a588;margin-top:13px}.system-diagnostic{margin-top:20px;padding:14px;background:#ebf0e0;border-radius:8px;font-size:10px;line-height:1.8;color:#8d9f7b}.settings-fields{display:flex;flex-direction:column}.settings-fields>label{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid #e4ead9}.settings-fields b{display:block;font-size:12px;font-weight:550;margin-bottom:5px}.settings-fields small{font-size:10px;color:#96a185}.settings-fields select{min-width:158px}.settings-fields input[type=range]{max-width:160px;--fill:35%}.settings-fields input[type=checkbox]{accent-color:#79945d;width:18px;height:18px}.save-actions{display:flex;gap:9px;margin-top:25px;flex-wrap:wrap}.privacy-note{display:flex;align-items:center;gap:7px;font-size:9px;color:#a1aa90;margin-top:24px}.privacy-note svg{width:13px;height:13px}.guide-intro{background:#eaf0dc;border-radius:12px;display:flex;gap:22px;padding:22px;margin-bottom:28px;align-items:center}.guide-emblem{width:64px;height:74px;display:grid;place-items:center;background:#dce7c1;border-radius:14px;flex-shrink:0;color:#6a8a4a}.guide-emblem svg{width:35px;height:35px}.guide-intro h3{font-size:17px;font-weight:500;margin-bottom:9px}.guide-intro p{font-size:11px;line-height:1.9;color:#83966b}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.guide-grid article{display:flex;gap:14px;margin-top:20px}.guide-grid article>b{font-size:11px;color:#9daf85;background:#edf2e3;display:grid;place-items:center;width:26px;height:27px;flex-shrink:0;border-radius:7px}.guide-grid h4{font-size:12px;font-weight:550;margin-bottom:5px}.guide-grid p{font-size:10px;line-height:1.85;color:#96a286}.key-table{display:grid;grid-template-columns:1fr auto;gap:14px 10px;margin-top:22px;font-size:10px;color:#91a07f;align-items:center}.key-table span:nth-child(even){color:#7f916d;text-align:right}.key-table kbd{margin-left:3px;min-width:20px;min-height:20px;font-size:9px;background:#eef3e4}.guide-note{display:flex;gap:9px;align-items:center;border-top:1px solid #e3e9d7;margin-top:27px;padding-top:20px;font-size:10px;line-height:1.6;color:#93a481}.guide-note svg{color:#a0b285}.completion-dialog{text-align:center;width:min(560px,calc(100% - 32px));padding:45px}.completion-close{position:absolute;right:15px;top:15px}.completion-icon{width:80px;height:80px;border-radius:50%;background:#e3eccb;display:grid;place-items:center;margin:0 auto 20px;color:#95a969}.completion-icon svg{width:39px;height:39px}.completion-dialog h2{font-family:Georgia,serif;font-size:34px;font-weight:400;margin:10px 0 18px}.completion-stars{display:flex;gap:10px;justify-content:center;margin-bottom:20px}.completion-stars svg{width:32px;height:32px;fill:#e1c06e;stroke:#cdb467}.completion-stars svg.empty{fill:#e7eadc;stroke:#d5ddc6}.completion-dialog>p{font-size:12px;line-height:1.8;color:#90a078}.completion-dialog #completion-stats{display:flex;justify-content:center;gap:30px;margin:28px 0}.completion-dialog #completion-stats b{display:block;font-size:25px;font-weight:500;margin-bottom:6px}.completion-dialog #completion-stats span{font-size:10px;color:#95a782}.completion-dialog .button{margin:auto}.profile-banner{display:flex;gap:24px;align-items:center;background:#e6efd4;padding:24px;border-radius:12px;margin-bottom:25px}.profile-banner svg{height:48px;width:48px;color:#9aac74}.profile-banner b{font-size:25px;font-weight:500}.profile-banner p{margin-top:6px;font-size:11px;color:#90a074}.passport-row{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid #e1e9d3;font-size:12px}.passport-row span{color:#92a27a;font-size:10px}.shed-panel{position:absolute;top:0;left:0;bottom:0;width:290px;z-index:4;background:#f7f9efeF;border-right:1px solid #fff9;padding:23px 20px;overflow:auto;backdrop-filter:blur(12px)}.shed-panel h2{font-family:Georgia,serif;font-size:29px;line-height:1.12;letter-spacing:-.4px;font-weight:400;margin:8px 0 12px}.shed-panel>p{font-size:10px;color:#8e9e7f;margin-bottom:22px}.train-card{display:flex;gap:10px;align-items:center;width:100%;text-align:left;background:#f0f4e6;border:1px solid #e0e7d3;border-radius:9px;margin-top:8px;padding:10px}.train-card.active{background:#e1eace;border-color:#bbcda1}.train-card .train-thumb{width:63px;height:46px;flex-shrink:0;display:grid;place-items:center;background:#e6ecda;border-radius:6px}.train-thumb svg{width:60px;height:40px;stroke:none}.train-card b{display:block;font-size:11px;font-weight:600;margin-bottom:5px}.train-card small{font-size:8px;color:#97a785}.train-card>svg{width:12px;height:12px;margin-left:auto;color:#8ca670}.part-panel{position:absolute;right:20px;top:24px;width:230px;bottom:24px;z-index:4;padding:20px;background:#f8faf0e8;backdrop-filter:blur(12px);border:1px solid #fff8;border-radius:12px;overflow:auto}.part-panel .eyebrow{font-size:7px;letter-spacing:1.1px}.part-panel h3{font-size:23px;font-weight:550;letter-spacing:-.7px;margin:8px 0 11px}.part-panel>p{font-size:10px;line-height:1.9;color:#8e9e7b}.model-stats{display:flex;justify-content:space-between;margin-top:17px}.model-stats b{font-size:14px;font-weight:500;display:block}.model-stats span{font-size:8px;color:#9cab88;display:block;margin-top:5px}.panel-divider{height:1px;background:#dfe7d3;margin:18px 0}.part-button{display:flex;align-items:center;gap:8px;font-size:9px;padding:9px 8px;width:100%;border-radius:6px;margin-top:3px;text-align:left;color:#839871}.part-button svg{width:14px;height:14px}.part-button.active{background:#e2eccf;color:#5d7e42}.part-button:hover{background:#e8efdc}.part-detail{margin-top:17px;padding:13px;border-radius:8px;background:#edf2e1}.part-detail>svg{width:15px;height:15px;color:#9bad7b;margin-bottom:8px}.part-detail h4{font-size:11px;font-weight:550;margin-bottom:7px}.part-detail p{font-size:9px;line-height:1.8;color:#97a981}.part-detail small{display:block;margin-top:11px;padding-top:9px;border-top:1px solid #dfe8ce;font-size:8px;line-height:1.8;color:#a3af8e}.shed-model-label{position:absolute;bottom:24px;left:calc(50% + 15px);transform:translateX(-50%);display:flex;gap:12px;align-items:center;flex-direction:column;pointer-events:none;font-size:8px;color:#90a07d;z-index:3}.shed-model-label>span:first-child{background:#f1f6e3b8;border:1px solid #ffffff66;padding:7px 11px;border-radius:20px;font-size:7px;letter-spacing:1.4px;color:#81985f}.workshop-controls{height:130px;min-height:130px;padding:22px 30px;display:flex;gap:22px;align-items:center;background:#fafbf3;border-top:1px solid #e4ead8;z-index:4}.workshop-controls h3{font-family:Georgia,serif;font-size:21px;font-weight:400;margin-top:6px}.workshop-controls>div:first-child{width:260px}.explode-control{flex:1;max-width:350px;padding:0 16px}.explode-control label{display:flex;align-items:center;gap:7px;font-size:11px;margin-bottom:19px}.explode-control label svg{width:15px;height:15px;color:#8ea173}.explode-control b{font-size:10px;color:#9aac87;margin-left:auto;font-weight:500}.workshop-controls>#drive-train{margin-left:auto}#cab-overlay{position:absolute;inset:0;pointer-events:none;z-index:2}.windshield-top{position:absolute;top:0;left:0;width:100%;height:24px;background:#30473e}.windshield-pillar{position:absolute;width:18px;height:100%;background:#364c41;top:0;box-shadow:4px 0 #536858}.windshield-pillar.left{left:7%;transform:skew(-9deg)}.windshield-pillar.right{right:7%;transform:skew(9deg)}.cab-dash{position:absolute;bottom:0;height:78px;background:#3a5142;width:100%;border-top:10px solid #4b6051;box-shadow:0 -6px 20px #21382935;padding:10px 110px;color:#a8bc8f;display:flex;align-items:center;justify-content:space-between}.cab-dash>span{font-size:8px;letter-spacing:2px}.cab-instruments{display:flex;gap:35px;font-size:8px;align-items:center}.cab-instruments b{font-size:22px;font-weight:450;display:inline-block;padding:4px 9px;margin-left:8px;background:#263e32;color:#c9ddb0;border-radius:4px}#wiper-arm{position:absolute;bottom:55px;left:50%;height:49%;width:5px;background:#31483dcc;border-radius:3px;transform:rotate(-43deg);transform-origin:bottom}#wiper-arm:before{content:'';position:absolute;top:2%;width:3px;height:60%;background:#293e32;left:-5px;transform:rotate(-14deg)}#wiper-arm.moving{animation:wiper 1.7s ease-in-out infinite alternate}@keyframes wiper{to{transform:rotate(43deg)}}#weather-fx{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}.weather-particle{position:absolute;top:-20%;height:17px;width:1px;background:#e8f0e966;animation:precipitation linear infinite;transform:rotate(10deg)}.weather-particle.snow{width:4px;height:4px;background:#fffdf8bd;border-radius:50%}@keyframes precipitation{to{transform:translate(-80px,100vh) rotate(10deg)}}.photo-mode .drive-hud,.photo-mode .drive-controls,.photo-mode .app-header,.photo-mode .journey-bar,.photo-mode .status-bar{visibility:hidden}.reduced-motion *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
@media(min-width:1700px){.drive-controls{gap:40px;padding-left:40px;padding-right:40px}.lever-block{max-width:230px}.equipment-block{max-width:390px}.equipment-grid button{width:57px}.quest-card{width:290px}.scenic-caption h2{font-size:37px}}
@media(max-width:1250px){.brand{min-width:200px}.app-header{padding:0 21px}.nav-item{padding:10px 12px;gap:7px}.main-nav{gap:3px}.header-actions{gap:6px}.xp-badge{margin-right:7px}.journey-facts{gap:15px}.drive-controls{gap:18px;padding-left:20px;padding-right:20px}.speedometer{width:150px}.dial{width:145px;height:100px;top:11px}.speed-number{width:145px}.equipment-block{min-width:250px}.equipment-grid{gap:5px}.equipment-grid button{width:42px}.mini-telemetry{display:none}.quest-card{left:22px;width:250px}.camera-bar{right:22px}.camera-bar button{padding:8px}.camera-bar kbd{display:none}.world-tools{left:22px}.status-bar{gap:17px;padding:0 20px}.save-state{display:none}.scenic-caption{left:78px}.part-panel{width:212px;right:15px}.shed-panel{width:260px}.workshop-controls{gap:12px;padding:20px}.workshop-controls>div:first-child{width:240px}.workshop-controls h3{font-size:19px}.workshop-controls .button{padding:11px;font-size:10px}.explode-control{padding:0 8px}}
@media(max-width:1000px){.app-header{height:64px;min-height:64px;padding:0 18px}.brand{min-width:178px}.brand strong{font-size:24px}.brand-mark{width:35px;height:39px}.brand small{font-size:7px;letter-spacing:2.9px}.nav-item{font-size:11px;gap:6px;padding:9px}.nav-item svg{width:15px;height:15px}.nav-count{display:none}.header-actions{gap:2px}.header-actions>.xp-badge{display:none}.engineer-avatar{margin-left:3px}.journey-bar{padding:0 20px;height:65px;min-height:65px}.journey-facts{display:none}.journey-separator{display:none}.journey-right{gap:20px}.quest-card{top:20px;width:227px;padding:16px}.quest-card h2{font-size:21px}.camera-bar{top:20px}.camera-bar button span{display:none}.camera-bar button{padding:9px}.world-tools{top:257px;gap:6px}.floating-tool{width:32px;height:32px}.world-tools>.floating-tool:last-child{display:none}.scenic-caption h2{font-size:24px}.scenic-caption{bottom:21px;left:69px}.signal-card{bottom:22px;right:21px}.drive-controls{gap:14px;height:145px;min-height:145px;padding:9px 17px}.speedometer{width:135px}.dial{width:133px}.speed-number{width:133px;top:44px}.speed-number b{font-size:36px}.control-divider{display:none}.reverser-block{width:106px}.lever-block{min-width:92px;max-width:155px}.lever-heading{margin-bottom:15px}.equipment-block{min-width:187px;max-width:195px;flex:1.4}.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.equipment-grid button{height:40px;width:100%;flex-direction:row;justify-content:center;gap:4px;border-radius:6px}.equipment-grid button svg{width:15px;height:15px;margin:0}.equipment-grid button span{font-size:7px}.equipment-status{font-size:7px;margin-top:8px}.equipment-status>span:last-child{display:none}.status-bar{height:29px;min-height:29px;gap:15px}.footer-train>span{display:none}.quest-meta{font-size:9px}.scenic-kicker{font-size:6px}.route-dialog-layout{grid-template-columns:245px 1fr;gap:23px}.route-card{padding:11px;gap:10px}.route-card strong{font-size:12px}.dispatcher-note{display:none}.shed-panel{width:235px;padding:19px 16px}.shed-panel h2{font-size:25px}.part-panel{width:190px;padding:15px}.part-panel h3{font-size:21px}.part-panel>p{font-size:9px}.part-detail{padding:10px}.train-card{padding:9px 7px}.train-card .train-thumb{width:49px;height:37px}.train-thumb svg{width:49px}.train-card b{font-size:10px}.train-card small{font-size:7px}.workshop-controls{height:115px;min-height:115px}.workshop-controls>div:first-child{display:none}.workshop-controls .button{font-size:9px;gap:5px}.workshop-controls .button svg{width:13px;height:13px}.explode-control{max-width:250px}.shed-model-label{left:calc(50% + 25px)}.model-stats{gap:5px}.model-stats b{font-size:12px}}
@media(max-width:740px){#app{min-height:570px}.app-header{padding:0 13px;height:60px;min-height:60px}.brand{min-width:0;margin-right:12px;gap:7px}.brand strong{font-size:22px}.brand small{letter-spacing:2.4px;font-size:6px;margin-top:0}.brand-mark{width:32px;height:36px;border-radius:9px}.brand-mark svg{width:21px}.main-nav{margin-left:auto;gap:4px}.nav-item{font-size:0;gap:0;padding:10px}.nav-item svg{width:17px;height:17px}.header-actions{margin-left:8px}.header-actions .engineer-avatar{display:none}.header-actions .icon-button{width:28px;height:32px}.header-actions .icon-button svg{width:16px}.journey-bar{height:60px;min-height:60px;padding:0 14px;gap:10px}.journey-icon{width:30px;height:33px}.journey-title h1{font-size:13px}.journey-title .eyebrow{font-size:7px}.journey-right{gap:12px}.weather-button{padding:0;gap:4px}.weather-button>span{display:none}.weather-button .tiny{display:none}.time-chip{font-size:10px;gap:5px}.pause-button{width:28px;height:28px}.quest-card{left:14px;top:15px;width:199px;padding:13px}.quest-card h2{font-size:19px;margin-top:9px}.quest-top{font-size:7px;letter-spacing:.8px}.quest-top>span:last-child{font-size:8px}.quest-meta{font-size:8px;gap:5px}.mini-route{margin:6px 0 0;height:30px}.quest-hint{font-size:8px;gap:6px;padding-top:9px}.hint-icon{width:21px;height:21px}.camera-bar{top:15px;right:14px;padding:4px;gap:0}.camera-bar button{padding:7px}.camera-bar button svg{width:14px;height:14px}.camera-bar i{margin:0 2px}.world-tools{left:14px;top:222px;gap:6px}.floating-tool{width:30px;height:30px}.world-tools>span{display:none}.world-tools .floating-tool:nth-child(3){display:none}.scenic-caption{left:58px;bottom:19px}.scenic-caption h2{font-size:20px}.scenic-kicker{display:none}.scenic-caption>span:last-child{font-size:7px;margin-top:7px;max-width:120px}.scenic-caption>span:last-child svg{width:10px;height:10px}.signal-card{right:14px;bottom:18px;gap:7px;padding:8px 9px 8px 11px;border-radius:8px}.signal-card strong{font-size:9px;margin-bottom:3px}.signal-card small{font-size:7px}.signal-card .speed-limit{width:32px;height:32px;border-width:2px;font-size:13px;margin-left:4px}.signal-dot{width:6px;height:6px}.drive-controls{height:166px;min-height:166px;flex-wrap:wrap;gap:10px 14px;padding:11px 14px 7px;justify-content:space-between}.speedometer{width:100px;height:93px;align-self:flex-start}.dial{width:98px;height:74px;top:2px}.speed-number{width:98px;top:29px}.speed-number b{font-size:27px;line-height:27px}.speed-number>span{font-size:7px;margin-top:3px}.speed-status{font-size:7px;bottom:0}.lever-block{min-width:76px;max-width:none;flex:1;height:85px;padding-top:5px}.lever-heading{margin-bottom:13px}.lever-heading label{font-size:10px}.lever-heading b{font-size:16px}.lever-scale{font-size:7px;margin-top:9px}.control-shortcut{display:none}.reverser-block{width:78px;align-self:flex-start;padding-top:5px}.reverser{width:78px}.reverser button{width:23px;height:23px}.control-title{font-size:9px}.reverser-block>span:last-of-type{display:none}.emergency-button{font-size:7px;margin-top:11px;gap:4px}.emergency-button kbd{display:none}.equipment-block{min-width:100%;max-width:100%;height:43px}.equipment-grid{grid-template-columns:repeat(6,1fr);gap:6px}.equipment-grid button{height:34px}.equipment-grid button svg{width:15px;height:15px}.equipment-grid button span{font-size:7px}.equipment-status{display:none}.status-bar{padding:0 14px;height:27px;min-height:27px;font-size:7px;gap:9px}.assist-pill{font-size:7px}.footer-train{font-size:7px;gap:4px}.footer-help{font-size:0;gap:0}.footer-help svg{width:13px;height:13px}.backend-status{font-size:6px;gap:3px}.backend-status b{margin-left:2px}.footer-spacer{min-width:0}.world-marker{font-size:8px;padding:5px 9px}.route-dialog-layout{grid-template-columns:1fr;gap:22px}.route-catalog{display:grid;grid-template-columns:1fr 1fr;gap:8px}.route-card .route-swatch{width:43px;height:47px}.route-card strong{font-size:11px}.route-card small{font-size:8px}.route-card .route-card-tag{font-size:6px;margin-top:6px}.app-dialog{padding:21px;max-height:calc(100dvh - 32px);border-radius:13px}.dialog-heading h2{font-size:28px}.dialog-heading .eyebrow{font-size:8px}.route-art{height:170px}.route-preview h3{font-size:22px}.dispatcher-strip{flex-wrap:wrap;gap:8px}.dispatcher-strip>span:first-of-type{font-size:7px;flex:1}.dispatcher-strip .button{font-size:9px}.route-options{gap:9px}.route-options select{font-size:10px;padding:9px 6px}.route-footer{gap:8px}.route-footer .button{font-size:10px;padding:11px}.route-footer>span{font-size:8px}.systems-grid{gap:7px}.system-card{padding:11px 8px;gap:8px;flex-wrap:wrap}.system-card>svg{width:17px;height:17px}.system-card b{font-size:10px}.system-card small{font-size:8px}.system-card em{margin-left:auto;padding:3px}.settings-fields b{font-size:11px}.settings-fields small{font-size:9px;display:block;max-width:190px;line-height:1.6}.settings-fields select{min-width:125px;max-width:140px;font-size:10px;padding:8px}.settings-fields input[type=range]{max-width:125px}.guide-intro{padding:17px;gap:14px}.guide-emblem{width:45px;height:55px}.guide-emblem svg{width:28px}.guide-intro h3{font-size:14px}.guide-intro p{font-size:10px}.guide-grid{grid-template-columns:1fr;gap:27px}.guide-grid article{margin-top:14px}.shed-panel{width:175px;padding:16px 11px}.shed-panel .eyebrow{font-size:7px}.shed-panel h2{font-size:21px;margin-bottom:10px}.shed-panel>p{font-size:8px;line-height:1.6;margin-bottom:13px}.train-card{gap:7px;margin-top:6px;padding:8px 5px}.train-card .train-thumb{width:36px;height:32px}.train-thumb svg{width:36px}.train-card b{font-size:9px}.train-card small{font-size:6px;line-height:1.5;display:block}.train-card>svg{display:none}.part-panel{width:155px;right:11px;top:17px;bottom:19px;padding:12px}.part-panel>p,.model-stats,.part-panel .panel-divider,.part-panel>.eyebrow:first-child{display:none}.part-panel h3{font-size:18px;margin:3px 0 15px}.part-panel .eyebrow{font-size:6px}.part-button{font-size:8px;padding:8px 4px;gap:6px}.part-button svg{width:12px;height:12px}.part-detail{padding:9px;margin-top:12px}.part-detail h4{font-size:10px;line-height:1.4}.part-detail p{font-size:8px}.part-detail small{display:none}.shed-model-label{display:none!important}.workshop-controls{height:125px;min-height:125px;flex-wrap:wrap;padding:14px;gap:12px}.explode-control{width:100%;max-width:100%;flex:100%;padding:0 5px}.explode-control label{margin-bottom:12px;font-size:10px}.workshop-controls .button{padding:9px 10px;font-size:9px;flex:1}.workshop-controls>#drive-train{margin:0}.workshop-controls #isolate{display:none}.walk-hint{padding:10px;bottom:64px;gap:10px;max-width:90%;width:330px}.walk-hint b{font-size:10px}.walk-hint span{font-size:8px;line-height:1.6}.walk-hint .button{font-size:8px;padding:8px}.cab-dash{padding:8px 32px;height:60px}.cab-dash>span{display:none}.cab-instruments{gap:15px;margin:auto}.cab-instruments b{font-size:15px;padding:3px 6px;margin-left:4px}.cab-instruments span{font-size:6px}.pause-card{padding:25px 28px;margin:18px}.pause-card h2{font-size:29px}.pause-card p{font-size:10px}.pause-card .brand-mark{margin-bottom:17px}#toast-region{max-width:calc(100% - 28px);bottom:63px;width:390px}.toast{padding:11px 13px;font-size:10px;gap:7px}.toast svg{width:16px;height:16px}.completion-dialog{padding:30px 22px}.completion-dialog h2{font-size:28px}.completion-dialog #completion-stats{gap:25px}.privacy-note{font-size:8px;line-height:1.6}.loading-screen h2{font-size:23px;max-width:280px}.loading-screen p{font-size:10px}.loading-mark{height:62px;width:62px;border-radius:17px}.loading-mark svg{width:34px}}
@media(max-width:470px){.nav-item{padding:8px}.main-nav{gap:1px}.header-actions{margin-left:4px}.header-actions #mute{display:none}.quest-card{width:180px}.camera-bar button{padding:6px}.camera-bar button svg{width:13px}.camera-bar i{display:none}.camera-bar #photo{display:none}.quest-meta{font-size:7px}.quest-card h2{font-size:18px}.quest-hint{font-size:7px}.scenic-caption h2{font-size:18px}.scenic-caption{left:54px;bottom:22px}.signal-card small{max-width:92px;display:block;line-height:1.5}.signal-card strong{font-size:8px}.signal-card{padding:8px;gap:5px}.speed-limit{margin-left:3px!important}.speedometer{width:87px}.dial{width:87px}.speed-number{width:87px}.speed-number b{font-size:25px}.drive-controls{gap:7px 11px}.reverser-block{width:71px}.reverser{width:71px}.reverser button{width:21px}.lever-heading label{font-size:9px}.equipment-grid{gap:4px}.equipment-grid button{gap:3px}.equipment-grid button span{font-size:6px}.equipment-grid button svg{width:13px;height:13px}.status-bar{gap:7px}.footer-help{display:none}.backend-status>span:last-child{display:none}.footer-train{gap:3px}.footer-train svg{display:none}.shed-panel{width:153px}.shed-panel h2{font-size:19px}.train-card .train-thumb{width:30px}.train-thumb svg{width:30px}.part-panel{width:139px;right:8px;padding:10px}.part-button{font-size:7px}.part-panel h3{font-size:16px}.part-detail p{font-size:7px}.part-detail h4{font-size:9px}}
@media(max-height:740px) and (min-width:741px){.app-header{height:60px;min-height:60px}.journey-bar{height:60px;min-height:60px}.drive-controls{height:139px;min-height:139px}.quest-card{top:18px;padding:14px 17px}.quest-card h2{font-size:21px}.mini-route{height:26px;margin-top:8px}.camera-bar{top:18px}.world-tools{top:229px;flex-direction:row}.world-tools>.floating-tool:nth-child(3),.world-tools>span{display:none}.world-tools .floating-tool{width:31px;height:31px}.scenic-caption{bottom:18px;left:28px}.scenic-caption h2{font-size:25px}.scenic-kicker{display:none}.part-panel{top:16px;bottom:16px;padding:16px}.part-panel>p{display:none}.model-stats{margin-top:12px}.part-panel .panel-divider{margin:13px 0}.part-button{padding:6px}.shed-panel{padding-top:17px}.shed-panel h2{font-size:25px}.shed-panel>p{margin-bottom:13px}.train-card{padding:7px;margin-top:6px}.workshop-controls{height:108px;min-height:108px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
@media(max-width:740px){.in-workshop .part-panel{display:none!important}.in-workshop .shed-panel{background:#f7f9efd9}.in-workshop .stage{min-height:320px}}

#mobile-part{display:none}@media(max-width:740px){#mobile-part{display:block;flex:1;font-size:9px;padding:9px;max-width:130px}.workshop-controls #isolate{display:none}.workshop-controls{gap:10px}}

/* Touch walking and portrait framing: keep the model, not the sidebar, central. */
.walk-pad{display:none;gap:4px}.walk-pad button{width:34px;height:34px;background:var(--sage);border-radius:7px;font-size:19px;touch-action:none}
@media(max-width:740px){
.in-workshop .shed-panel{width:100%;height:95px;bottom:auto;padding:9px 12px;border-bottom:1px solid var(--line);border-right:0;background:#f7f9efeb;overflow:hidden}
.in-workshop .shed-panel>h2,.in-workshop .shed-panel>p{display:none}
.in-workshop .shed-panel>.eyebrow{display:block;margin-bottom:6px;font-size:7px}
.in-workshop #train-list{display:flex;gap:7px;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}
.in-workshop .train-card{flex:0 0 135px;min-height:50px;margin:0;padding:6px;gap:7px}
.in-workshop .train-card .train-thumb{width:35px;height:32px}.in-workshop .train-thumb svg{width:35px}
.in-workshop .train-card b{font-size:9px}.in-workshop .train-card small{font-size:6px}
.workshop-controls #isolate{display:inline-flex;flex:0 0 auto;font-size:8px;padding:9px 7px}.workshop-controls #isolate svg{display:none}
.workshop-controls #mobile-part{max-width:95px;width:70px;padding:8px 4px;font-size:8px}
.walk-hint{flex-wrap:wrap;justify-content:center}.walk-hint>span{display:none}.walk-pad{display:flex}.walk-hint .button{min-height:34px}
}
