.railway{color:#25342e;background:#c1cad0;width:100vw;height:100dvh;font-family:Space Grotesk Variable,sans-serif;position:relative;overflow:hidden}.railway-scene{position:absolute;inset:0}.railway-scene canvas{touch-action:none;display:block}.railway-header{pointer-events:none;background:linear-gradient(#d4dbdded,#0000);justify-content:space-between;align-items:flex-start;padding:26px 32px;display:flex;position:absolute;inset:0 0 auto}.railway-header h1{letter-spacing:-.6px;margin:6px 0;font-size:22px}.railway-header p{color:#52675d;margin:7px 0;font-size:12px}.railway-kicker{letter-spacing:1.5px;color:#657568;font:9px IBM Plex Mono,monospace;display:block}.railway-back{pointer-events:auto;color:inherit;background:#f0f3efe8;border:1px solid #fff9;border-radius:4px;align-items:center;gap:8px;padding:11px 14px;font-size:12px;text-decoration:none;display:flex}.railway-weather{gap:7px;display:flex;position:absolute;top:120px;left:32px}.railway-weather button,.railway-zoom button{color:inherit;background:#f0f3efe8;border:1px solid #fff9;border-radius:4px;justify-content:center;align-items:center;gap:7px;padding:10px 13px;font-size:11px;display:flex}.railway-panel{background:#f3f5f0ef;border:1px solid #fff9;border-radius:5px;width:246px;max-height:calc(100dvh - 250px);padding:19px 13px;position:absolute;top:115px;right:26px;overflow:auto;box-shadow:0 6px 25px #28362913}.railway-panel>.railway-kicker{margin:0 7px 12px}.railway-panel nav button{text-align:left;color:#536357;background:0 0;border:0;border-radius:3px;justify-content:space-between;align-items:center;width:100%;padding:10px 9px;font-size:12px;display:flex}.railway-panel nav button.selected{color:#fff;background:#234637}.railway-depot{border-top:1px solid #a5b0a744;gap:11px;margin:16px 7px 0;padding-top:15px;display:grid}.railway-depot strong{font-size:12px;font-weight:500}.shed-roads{gap:5px;display:flex}.shed-roads button{color:#324e3d;background:#e6ece6;border:1px solid #bac8bf;border-radius:3px;flex:1;padding:8px;font-family:IBM Plex Mono,monospace}.shed-roads button[aria-pressed=true]{color:#fff;background:#c2a25a;border-color:#a58339}.depot-auto{text-align:left;color:#607a68;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:11px;display:flex}.railway-count{color:#657568;margin:19px 7px 0;font-size:10px}.railway-count strong{color:#344a3c;margin-right:5px;font:19px IBM Plex Mono,monospace}.railway-zoom{flex-direction:column;gap:5px;display:flex;position:absolute;bottom:139px;left:26px}.railway-drive{background:#f3f5f0f2;border:1px solid #fff9;border-radius:5px;align-items:center;gap:18px;width:max-content;max-width:calc(100% - 32px);padding:14px 18px;display:flex;position:absolute;bottom:48px;left:50%;transform:translate(-50%);box-shadow:0 6px 25px #28362918}.railway-play{color:#253d2e;background:#c7a75d;border:0;border-radius:4px;place-items:center;width:43px;height:43px;display:grid}.railway-drive input{accent-color:#416c52;width:140px;margin-top:8px;display:block}.railway-drive output{font:11px IBM Plex Mono,monospace}.railway-drive label{align-items:center;gap:8px;display:flex}.railway-drive select{color:inherit;background:0 0;border:0;max-width:180px;font-size:12px}.railway-footer{color:#5d7066;justify-content:space-between;align-items:center;font-size:10px;display:flex;position:absolute;bottom:17px;left:30px;right:30px}.railway-footer a{color:inherit;pointer-events:auto;text-underline-offset:3px}.railway-loading{background:#edf1e9;border-radius:5px;max-width:80%;padding:20px;font-size:13px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}:is(.railway button:focus-visible,.railway a:focus-visible,.railway select:focus-visible){outline-offset:3px;outline:3px solid #c5973b}.railway[data-night=true]{color:#d8e3e6;background:#070e1c}.railway[data-night=true] .railway-header{background:linear-gradient(#070e1cf2,#0000)}.railway[data-night=true] .railway-kicker,.railway[data-night=true] .railway-header p,.railway[data-night=true] .railway-footer,.railway[data-night=true] .railway-count{color:#8fa7b7}.railway[data-night=true] .railway-panel,.railway[data-night=true] .railway-drive,.railway[data-night=true] .railway-weather button,.railway[data-night=true] .railway-back,.railway[data-night=true] .railway-zoom button,.railway[data-night=true] .railway-loading{background:#142331f0;border-color:#41607955}.railway[data-night=true] .railway-panel nav button,.railway[data-night=true] .railway-count strong{color:#c2d2d9}.railway[data-night=true] .railway-panel nav button.selected{background:#315544}.railway[data-night=true] .depot-auto{color:#a6c4af}@media (max-width:760px){.railway-header{padding:18px}.railway-header h1{max-width:240px;font-size:17px}.railway-header p{display:none}.railway-back{padding:9px;font-size:0}.railway-weather{top:98px;left:18px}.railway-panel{width:207px;max-height:calc(100dvh - 300px);padding:13px 9px;top:148px;right:14px}.railway-drive{flex-wrap:wrap;justify-content:center;gap:10px;min-width:310px;padding:11px;bottom:43px}.railway-drive input{width:110px}.railway-drive label{justify-content:center;width:100%}.railway-footer{font-size:8px;bottom:13px;left:16px;right:16px}.railway-zoom{bottom:170px;left:15px}.railway-count{display:none}}.railway-fx{color:#54745f;align-items:center;gap:7px;padding:10px;font:10px IBM Plex Mono,monospace;display:flex}.railway[data-night=true] .railway-fx{color:#aac8b5}.railway-panel-toggle{color:inherit;background:#f0f3efe8;border:1px solid #fff9;border-radius:4px;place-items:center;padding:8px;display:grid;position:absolute;top:78px;right:28px}.railway-whistle{width:34px;height:34px;color:inherit;background:0 0;border:1px solid #bcc9bf;border-radius:4px;place-items:center;display:grid}.railway[data-night=true] .railway-panel-toggle{background:#142331f0;border-color:#41607955}.railway-sources{align-items:center;gap:5px;display:flex}.railway-depot small{color:#98792e;font:10px IBM Plex Mono,monospace}@media (max-width:760px){.railway-panel-toggle{top:98px;right:15px}.railway-drive label{width:auto}.railway-sources>a:first-child{display:none}.railway-sources{font-size:8px}.railway-footer>span:first-child{max-width:160px}}
