.steam-train-module__HAI7pG__game{--ivory:#f4ead2;--ink:#17211e;--brass:#c5964e;isolation:isolate;width:100%;height:100dvh;min-height:560px;color:var(--ivory);background:#1e2c29;font-family:DM Sans,sans-serif;position:relative;overflow:hidden}.steam-train-module__HAI7pG__canvas{opacity:0;cursor:grab;touch-action:none;width:100%;height:100%;transition:opacity .65s;display:block;position:absolute;inset:0}.steam-train-module__HAI7pG__canvasReady{opacity:1}.steam-train-module__HAI7pG__canvas:active{cursor:grabbing}.steam-train-module__HAI7pG__loading,.steam-train-module__HAI7pG__error{z-index:10;color:#ead9b5;letter-spacing:.12em;text-transform:uppercase;background:radial-gradient(circle at 50% 38%,#2d4941,#14201d 70%);place-content:center;justify-items:center;gap:14px;font:600 12px/1 DM Sans,sans-serif;display:grid;position:absolute;inset:0}.steam-train-module__HAI7pG__loading svg{animation:1.4s ease-in-out infinite steam-train-module__HAI7pG__arrive}.steam-train-module__HAI7pG__error{text-align:center;padding:30px;line-height:1.6}.steam-train-module__HAI7pG__topBar{z-index:5;top:max(18px, env(safe-area-inset-top));pointer-events:none;grid-template-columns:48px 1fr 48px;align-items:start;display:grid;position:absolute;left:clamp(16px,2.6vw,40px);right:clamp(16px,2.6vw,40px)}.steam-train-module__HAI7pG__topBar>*{pointer-events:auto}.steam-train-module__HAI7pG__iconButton,.steam-train-module__HAI7pG__viewButton,.steam-train-module__HAI7pG__colorButton,.steam-train-module__HAI7pG__controlButton,.steam-train-module__HAI7pG__brakeButton,.steam-train-module__HAI7pG__whistleButton,.steam-train-module__HAI7pG__regulator{-webkit-backdrop-filter:blur(14px)saturate(115%);border:1px solid #e5cc994d;box-shadow:0 12px 34px #040a094d,inset 0 1px #ffffff14}.steam-train-module__HAI7pG__iconButton{width:48px;height:48px;color:var(--ivory);cursor:pointer;background:#0f1c19b8;border-radius:50%;place-items:center;transition:transform .17s,background .17s;display:grid}.steam-train-module__HAI7pG__iconButton:last-child{justify-self:end}.steam-train-module__HAI7pG__iconButton:hover{background:#193029e6;transform:translateY(-2px)}.steam-train-module__HAI7pG__plate{min-width:min(420px,48vw);color:var(--ivory);text-align:center;text-shadow:0 2px 12px #101a17;background:linear-gradient(90deg,#0000,#091311a6 18% 82%,#0000);border-top:1px solid #ddbb76ad;border-bottom:1px solid #ddbb7647;justify-self:center;padding:8px 24px 10px}.steam-train-module__HAI7pG__eyebrow{color:#cfad6a;letter-spacing:.2em;text-transform:uppercase;font-size:8px;font-weight:700;display:block}.steam-train-module__HAI7pG__plate h1{letter-spacing:-.035em;margin:3px 0 6px;font:600 clamp(25px,3vw,38px)/1 Fraunces,serif}.steam-train-module__HAI7pG__location{color:#f4ead2b3;letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;gap:7px;font-size:8px;font-weight:600;display:flex}.steam-train-module__HAI7pG__location i{background:#dfb557;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #dfb55724}.steam-train-module__HAI7pG__telemetry{z-index:4;color:var(--ivory);pointer-events:none;align-items:center;gap:12px;display:flex;position:absolute;top:50%;left:clamp(18px,2.6vw,40px);transform:translateY(-50%)}.steam-train-module__HAI7pG__dial{--needle:-118deg;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#121b18d1;border:4px solid #b38643;border-radius:50%;place-content:center;width:94px;height:94px;display:grid;position:relative;box-shadow:0 0 0 2px #121816cc,0 12px 30px #00000059,inset 0 0 0 5px #0f1916ad}.steam-train-module__HAI7pG__dial strong{margin-top:11px;font:600 25px/1 Fraunces,serif}.steam-train-module__HAI7pG__dial small{color:#b9ac8d;letter-spacing:.18em;margin-top:3px;font-size:7px;font-weight:700}.steam-train-module__HAI7pG__tickRing{border:1px dashed #e0cca16b;border-radius:50%;position:absolute;inset:8px}.steam-train-module__HAI7pG__needle{width:3px;height:28px;transform:rotate(var(--needle));transform-origin:50% 100%;background:#d45136;border-radius:3px;transition:transform .3s;position:absolute;bottom:44px;left:calc(50% - 1.5px);box-shadow:0 0 6px #d45136b3}.steam-train-module__HAI7pG__readouts{text-shadow:0 1px 6px #0d1513;background:linear-gradient(90deg,#0c1714bd,#0000);border-left:1px solid #d5b36f7a;min-width:88px;padding:8px 10px}.steam-train-module__HAI7pG__readouts>div+div{margin-top:10px}.steam-train-module__HAI7pG__readouts span{color:#c3af85;letter-spacing:.13em;text-transform:uppercase;font-size:7px;font-weight:700;display:block}.steam-train-module__HAI7pG__readouts strong{margin-top:2px;font:600 16px/1 Fraunces,serif;display:block}.steam-train-module__HAI7pG__readouts small{color:#f4ead28f;letter-spacing:.08em;text-transform:uppercase;font:700 7px/1 DM Sans,sans-serif}.steam-train-module__HAI7pG__viewControls{z-index:5;flex-direction:column;align-items:flex-end;gap:9px;display:flex;position:absolute;top:50%;right:clamp(18px,2.6vw,40px);transform:translateY(-50%)}.steam-train-module__HAI7pG__viewButton,.steam-train-module__HAI7pG__colorButton{min-height:42px;color:var(--ivory);letter-spacing:.06em;cursor:pointer;background:#0f1c19b8;border-radius:100px;align-items:center;gap:8px;padding:0 15px;font:700 9px/1 DM Sans,sans-serif;transition:transform .17s,background .17s;display:flex}.steam-train-module__HAI7pG__viewButton:hover,.steam-train-module__HAI7pG__colorButton:hover{background:#193029e6;transform:translateY(-2px)}.steam-train-module__HAI7pG__colorPicker{position:relative}.steam-train-module__HAI7pG__colorMenu{width:224px;color:var(--ivory);-webkit-backdrop-filter:blur(18px)saturate(120%);background:#0d1916f0;border:1px solid #e5cc9961;border-radius:13px;padding:7px;position:absolute;top:0;right:calc(100% + 11px);box-shadow:0 18px 46px #03090880,inset 0 1px #ffffff14}.steam-train-module__HAI7pG__colorMenuHeading{border-bottom:1px solid #e5cc9929;padding:8px 9px 10px}.steam-train-module__HAI7pG__colorMenuHeading span,.steam-train-module__HAI7pG__colorMenuHeading small{display:block}.steam-train-module__HAI7pG__colorMenuHeading span{font:600 14px/1.2 Fraunces,serif}.steam-train-module__HAI7pG__colorMenuHeading small{color:#f4ead285;letter-spacing:.1em;text-transform:uppercase;margin-top:4px;font-size:7px;font-weight:700}.steam-train-module__HAI7pG__colorOption{width:100%;min-height:50px;color:var(--ivory);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:46px 1fr 16px;align-items:center;gap:9px;padding:7px 9px;transition:background .15s;display:grid}.steam-train-module__HAI7pG__colorOption:hover{background:#ffffff12}.steam-train-module__HAI7pG__colorOptionActive{background:#cda75e1f}.steam-train-module__HAI7pG__colorOptionActive>svg{color:#e0b961}.steam-train-module__HAI7pG__colorSwatches{border:2px solid #f4ead29e;border-radius:7px;height:30px;display:flex;overflow:hidden;box-shadow:0 4px 10px #00000042}.steam-train-module__HAI7pG__colorSwatches i{flex:1}.steam-train-module__HAI7pG__colorOptionLabel strong,.steam-train-module__HAI7pG__colorOptionLabel small{display:block}.steam-train-module__HAI7pG__colorOptionLabel strong{font:600 13px/1.2 Fraunces,serif}.steam-train-module__HAI7pG__colorOptionLabel small{color:#f4ead28c;letter-spacing:.06em;text-transform:uppercase;margin-top:3px;font-size:7px;font-weight:700}.steam-train-module__HAI7pG__cameraHint{z-index:4;top:max(105px, calc(env(safe-area-inset-top) + 88px));color:#f4ead2b8;letter-spacing:.07em;text-align:center;text-transform:uppercase;white-space:nowrap;pointer-events:none;-webkit-backdrop-filter:blur(10px);background:#0f1c1994;border:1px solid #e5cc9933;border-radius:100px;margin:0;padding:8px 12px;font-size:8px;font-weight:700;transition:color .18s,background .18s,border-color .18s;position:absolute;left:50%;transform:translate(-50%)}.steam-train-module__HAI7pG__cameraHintActive{color:#f4dfad;background:#122d25c2;border-color:#dab15b6b}.steam-train-module__HAI7pG__controlDeck{z-index:5;right:0;bottom:max(43px, calc(env(safe-area-inset-bottom) + 27px));pointer-events:none;justify-content:center;align-items:center;gap:9px;display:flex;position:absolute;left:0}.steam-train-module__HAI7pG__controlDeck>*{pointer-events:auto}.steam-train-module__HAI7pG__controlButton,.steam-train-module__HAI7pG__brakeButton,.steam-train-module__HAI7pG__whistleButton{height:48px;color:var(--ivory);letter-spacing:.055em;text-transform:uppercase;cursor:pointer;background:#101e1ad6;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font:700 9px/1 DM Sans,sans-serif;transition:transform .16s,background .16s,border-color .16s;display:flex}.steam-train-module__HAI7pG__controlButton:hover,.steam-train-module__HAI7pG__brakeButton:hover,.steam-train-module__HAI7pG__whistleButton:hover{background:#172d26f5;transform:translateY(-2px)}.steam-train-module__HAI7pG__regulator{height:48px;color:var(--ivory);background:#101e1ad6;border-radius:8px;align-items:center;gap:15px;padding:0 13px;display:flex}.steam-train-module__HAI7pG__regulatorLabel{grid-template-columns:18px auto;align-items:center;column-gap:7px;display:grid}.steam-train-module__HAI7pG__regulatorLabel svg{color:#cda75e;grid-row:span 2}.steam-train-module__HAI7pG__regulatorLabel span{color:#bcae91;letter-spacing:.1em;text-transform:uppercase;font-size:7px;font-weight:700}.steam-train-module__HAI7pG__regulatorLabel strong{font:600 13px/1 Fraunces,serif}.steam-train-module__HAI7pG__notches{align-items:flex-end;gap:5px;display:flex}.steam-train-module__HAI7pG__notches button{cursor:pointer;background:#ffffff14;border:1px solid #e2ca9b52;border-radius:2px;width:11px;height:23px;padding:0;transition:background .15s,box-shadow .15s;transform:skew(-5deg)}.steam-train-module__HAI7pG__notches button:first-child{height:8px}.steam-train-module__HAI7pG__notches button:nth-child(2){height:12px}.steam-train-module__HAI7pG__notches button:nth-child(3){height:16px}.steam-train-module__HAI7pG__notches button:nth-child(4){height:20px}.steam-train-module__HAI7pG__notches button.steam-train-module__HAI7pG__notchActive{background:#c28c3e;box-shadow:0 0 7px #daac576b}.steam-train-module__HAI7pG__brakeButton{border-color:#ba574373}.steam-train-module__HAI7pG__brakeActive{color:#fff2e8;background:#71271fe6;border-color:#da765f}.steam-train-module__HAI7pG__whistleButton{color:#211c12;background:linear-gradient(#d9b76e,#ad7d38);border-color:#ffe0a099}.steam-train-module__HAI7pG__whistleButton:hover{background:linear-gradient(#e3c57f,#ba8941)}.steam-train-module__HAI7pG__whistleNotice{z-index:6;color:#f5e9cf;letter-spacing:.08em;text-transform:uppercase;opacity:0;pointer-events:none;background:#111f1bcc;border:1px solid #e6cf9f59;border-radius:100px;align-items:center;gap:7px;padding:9px 13px;font-size:9px;font-weight:700;transition:opacity .18s,transform .18s;display:flex;position:absolute;top:25%;left:50%;transform:translate(-50%,8px)}.steam-train-module__HAI7pG__whistleVisible{opacity:1;transform:translate(-50%)}.steam-train-module__HAI7pG__keyHint{z-index:4;right:0;bottom:max(13px, env(safe-area-inset-bottom));color:#f0e2c58c;letter-spacing:.08em;text-shadow:0 1px 6px #0c1512;text-transform:uppercase;pointer-events:none;justify-content:center;align-items:center;gap:9px;margin:0;font-size:7px;font-weight:700;display:flex;position:absolute;left:0}.steam-train-module__HAI7pG__keyHint i{background:#b88d4a;border-radius:50%;width:2px;height:2px}.steam-train-module__HAI7pG__vignette{z-index:2;pointer-events:none;background:linear-gradient(#0308073d,#0000 22% 73%,#03080757);position:absolute;inset:0;box-shadow:inset 0 0 120px 12px #03090875}.steam-train-module__HAI7pG__iconButton:focus-visible,.steam-train-module__HAI7pG__viewButton:focus-visible,.steam-train-module__HAI7pG__colorButton:focus-visible,.steam-train-module__HAI7pG__colorOption:focus-visible,.steam-train-module__HAI7pG__controlButton:focus-visible,.steam-train-module__HAI7pG__brakeButton:focus-visible,.steam-train-module__HAI7pG__whistleButton:focus-visible,.steam-train-module__HAI7pG__notches button:focus-visible{outline-offset:3px;outline:3px solid #f0be60}@keyframes steam-train-module__HAI7pG__arrive{0%,to{opacity:.65;transform:translate(-7px)}50%{opacity:1;transform:translate(7px)}}@media (max-width:760px){.steam-train-module__HAI7pG__game{min-height:500px}.steam-train-module__HAI7pG__plate{min-width:min(350px,58vw)}.steam-train-module__HAI7pG__telemetry{top:auto;bottom:116px;transform:none}.steam-train-module__HAI7pG__dial{border-width:3px;width:76px;height:76px}.steam-train-module__HAI7pG__dial strong{margin-top:9px;font-size:21px}.steam-train-module__HAI7pG__needle{height:22px;bottom:35px}.steam-train-module__HAI7pG__readouts{display:none}.steam-train-module__HAI7pG__viewControls{top:auto;bottom:120px;transform:none}.steam-train-module__HAI7pG__viewButton span{display:none}.steam-train-module__HAI7pG__viewButton,.steam-train-module__HAI7pG__colorButton{justify-content:center;width:42px;padding:0}.steam-train-module__HAI7pG__colorButton>span{display:none}.steam-train-module__HAI7pG__colorMenu{top:auto;bottom:0}.steam-train-module__HAI7pG__controlDeck{bottom:max(35px, calc(env(safe-area-inset-bottom) + 25px))}.steam-train-module__HAI7pG__controlButton span,.steam-train-module__HAI7pG__brakeButton span,.steam-train-module__HAI7pG__whistleButton span{display:none}.steam-train-module__HAI7pG__controlButton,.steam-train-module__HAI7pG__brakeButton,.steam-train-module__HAI7pG__whistleButton{width:46px;padding:0}}@media (max-width:520px){.steam-train-module__HAI7pG__topBar{top:max(12px, env(safe-area-inset-top));grid-template-columns:44px 1fr 44px}.steam-train-module__HAI7pG__iconButton{width:44px;height:44px}.steam-train-module__HAI7pG__plate{width:100%;min-width:0;padding-inline:6px}.steam-train-module__HAI7pG__eyebrow{letter-spacing:.1em;font-size:6px}.steam-train-module__HAI7pG__plate h1{font-size:24px}.steam-train-module__HAI7pG__location{font-size:6px}.steam-train-module__HAI7pG__regulator{gap:8px;padding-inline:10px}.steam-train-module__HAI7pG__regulatorLabel{grid-template-columns:auto}.steam-train-module__HAI7pG__regulatorLabel svg,.steam-train-module__HAI7pG__regulatorLabel span{display:none}.steam-train-module__HAI7pG__regulatorLabel strong{font-size:12px}.steam-train-module__HAI7pG__notches{gap:4px}.steam-train-module__HAI7pG__notches button{width:9px}.steam-train-module__HAI7pG__controlDeck{gap:5px}.steam-train-module__HAI7pG__telemetry{bottom:102px;left:13px}.steam-train-module__HAI7pG__viewControls{bottom:106px;right:13px}.steam-train-module__HAI7pG__colorMenu{right:calc(100% + 8px)}.steam-train-module__HAI7pG__keyHint{display:none}.steam-train-module__HAI7pG__cameraHint{top:max(94px, calc(env(safe-area-inset-top) + 80px));white-space:normal;max-width:calc(100vw - 32px)}}@media (max-width:370px){.steam-train-module__HAI7pG__regulator{gap:5px;padding-inline:7px}.steam-train-module__HAI7pG__regulatorLabel{display:none}.steam-train-module__HAI7pG__notches button{width:8px}.steam-train-module__HAI7pG__controlButton,.steam-train-module__HAI7pG__brakeButton,.steam-train-module__HAI7pG__whistleButton{width:42px}}@media (prefers-reduced-motion:reduce){.steam-train-module__HAI7pG__canvas,.steam-train-module__HAI7pG__iconButton,.steam-train-module__HAI7pG__viewButton,.steam-train-module__HAI7pG__colorButton,.steam-train-module__HAI7pG__controlButton,.steam-train-module__HAI7pG__brakeButton,.steam-train-module__HAI7pG__whistleButton,.steam-train-module__HAI7pG__needle,.steam-train-module__HAI7pG__whistleNotice,.steam-train-module__HAI7pG__cameraHint{transition:none}.steam-train-module__HAI7pG__loading svg{animation:none}}
