@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');:root{--cream:#e7e6d6;--light:#f2f0e4;--green:#163c36;--mint:#99c7ae;--line:#b9c0a8}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:#263b31;font-family:'DM Sans',sans-serif}button{font:inherit;cursor:pointer}button:disabled{opacity:.38;cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #54896a;outline-offset:4px}header{display:flex;align-items:center;justify-content:space-between;padding:25px 5%;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font:600 21px/.85 'Barlow Condensed';letter-spacing:-.02em}.transport-symbol{font-size:44px;line-height:1}.brand>span:last-child{border-left:1px solid #7e9179;padding-left:12px}nav{display:flex;gap:35px;font:10px 'IBM Plex Mono';letter-spacing:.06em}.network{font:9px 'IBM Plex Mono'}.terminal{padding:0 5% 50px}.departure-board{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.3fr;gap:20px;padding:25px 0}.departure-board>div{border-right:1px solid var(--line)}.departure-board small{font:8px 'IBM Plex Mono';letter-spacing:.15em;display:block;color:#829179;margin-bottom:8px}.departure-board strong{font:500 13px 'IBM Plex Mono';letter-spacing:.03em}.departure-board .service{display:flex;align-items:center;justify-content:end;border:0;font:8px 'IBM Plex Mono';letter-spacing:.05em;color:#819379}.service>span{width:5px;height:5px;background:#5b8d65;border-radius:50%;margin-right:8px}.window-frame{border:1px solid #b1baa1;border-radius:120px 120px 8px 8px;padding:11px;background:#d3d8c3;box-shadow:inset 0 0 0 4px #eef0df,0 8px 15px #33442b12}.window{position:relative;height:min(640px,65vh);min-height:500px;border-radius:108px 108px 4px 4px;overflow:hidden;background:#163c36;border:1px solid #758771}.window>img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:opacity .6s,transform 2s}.window.travelling>img{transform:scale(1.08)}.window-shade{position:absolute;inset:0;background:linear-gradient(90deg,#08251ee6 0%,#08251e70 40%,transparent 80%),linear-gradient(0deg,#08251eaa,transparent 30%)}.welcome{position:absolute;left:6%;top:12%;color:#f3f0df}.eyebrow{font:9px 'IBM Plex Mono';letter-spacing:.14em;color:#8a9b80}.welcome .eyebrow,.arrival .eyebrow,.travel-overlay .eyebrow{color:#c0d8bd}h1,h2{font-family:'Barlow Condensed';font-weight:500;letter-spacing:-.025em;line-height:.88}h1{font-size:clamp(55px,6.5vw,100px);margin:23px 0}.welcome em{font-style:normal;color:#d4e6be}.welcome>p:not(.eyebrow):not(.small){font-size:13px;line-height:1.7;color:#d8dfc8}.button{border:0;padding:16px 20px;display:inline-flex;align-items:center;justify-content:space-between;gap:40px;font:500 9px 'IBM Plex Mono';letter-spacing:.1em}.cream{background:#e7e9cf;color:#23412c}.cream:hover{background:#fffdec}.dark{background:#234c39;color:#eff1df}.small{font-size:8px;color:#c3d2b7;margin-top:15px}.window-label{position:absolute;bottom:22px;left:6%;right:6%;display:flex;justify-content:space-between;color:#d4e2c7;font:8px 'IBM Plex Mono';letter-spacing:.12em}.console{display:grid;grid-template-columns:20% 80%;padding-top:35px}.trip-state{border-right:1px solid var(--line);padding:5px 30px 0 0}.trip-state>strong{display:block;font:400 90px/.95 'Barlow Condensed';letter-spacing:-.04em;margin-top:20px;color:#456c4c}.energy-cells{display:flex;gap:4px;margin:18px 0}.energy-cells>i{width:10px;height:20px;background:#cad1b9}.energy-cells>i.on{background:#6d956c}.trip-state>p{font-size:9px;line-height:1.7;color:#899980}.route-panel{padding-left:35px}.route-title{display:flex;justify-content:space-between;align-items:center}.route-title h3{font:500 29px 'Barlow Condensed';margin:8px 0 20px}.route-title .eyebrow{font-size:8px}.route-number{font:12px 'IBM Plex Mono';color:#94a28a}.route-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.route-option{border:1px solid var(--line);background:#f1f0df;padding:19px 15px;display:flex;gap:15px;align-items:center;color:#314d34;text-align:left}.route-option:not(:disabled):hover{background:#dbe6ce;border-color:#68875c}.route-cost{font:400 28px 'Barlow Condensed';border-right:1px solid var(--line);padding-right:12px}.route-cost small{display:block;font:6px 'IBM Plex Mono';color:#97a48c}.route-option strong{font:500 12px 'IBM Plex Mono';letter-spacing:-.03em}.route-option>span:nth-child(2)>small{display:block;font-size:9px;line-height:1.6;color:#90a084;margin-top:7px}.route-option>b{font-size:18px;margin-left:auto}.relay{border:1px dashed #91a77d;background:none;padding:10px 15px;margin-top:15px;font:9px 'IBM Plex Mono';color:#6b895b}.relay span{margin-left:20px;color:#2d633c}#status{font-size:10px;line-height:1.6;color:#869a79;min-height:17px}.route-map svg{width:100%;height:70px}.route-map .map-base{stroke:#b8c5a7;stroke-width:1;fill:none}.route-map #map-line{stroke:#5a8558;stroke-width:2;fill:none}.route-map circle{fill:#8fac7b}.route-map #map-ship{fill:#315b3b;transition:cx 1.8s,cy 1.8s}.route-map text{font:6px 'IBM Plex Mono';fill:#93a584;letter-spacing:.3px}.travel-overlay,.arrival{position:absolute;left:6%;right:6%;top:30%;color:#edf0dc}.travel-overlay h2{font-size:70px;margin:25px 0}.arrival{top:22%}.arrival h2{font-size:clamp(65px,8vw,120px);margin:25px 0}.arrival>p{font-size:16px;max-width:400px;line-height:1.6;color:#d4dec6}.text-button{display:block;border:0;background:none;padding:15px 0;color:#d0ddbd;font:9px 'IBM Plex Mono';letter-spacing:.1em}.journal{padding:65px 8%;background:#f2f0e4}.section-label{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:16px;font:8px 'IBM Plex Mono';letter-spacing:.12em;color:#8d9b7e}.journal h2{font-size:65px;margin:40px 0}.journal h2 em,.poster h2 em{font-style:normal;color:#91a87e}.empty{font-size:13px;color:#8d9d7f}.entry{display:grid;grid-template-columns:70px 1fr 1.6fr;gap:25px;border-top:1px solid #c4cdb4;padding:25px 0;align-items:start}.entry>span{font:10px 'IBM Plex Mono';color:#99a589}.entry strong{font:500 13px 'IBM Plex Mono';color:#627b51}.entry p{font-size:13px;line-height:1.7;margin:0;color:#849774}.journal .button{margin-top:20px}.poster{padding:90px 8%;background:#d9e2cb}.poster h2{font-size:clamp(55px,6.5vw,95px);margin:30px 0}.poster>p{max-width:550px;color:#7a916a;font-size:14px;line-height:1.8}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:35px 5%;font:8px 'IBM Plex Mono';color:#829675}footer>strong{font:600 20px 'Barlow Condensed';color:#46653d}footer p{max-width:330px;font:10px/1.6 'DM Sans'}.contract{padding:15px;margin-bottom:20px;border:1px solid #6e8e5e;font:9px 'IBM Plex Mono';display:flex;flex-wrap:wrap;gap:15px}.contract code{overflow-wrap:anywhere}.contract button{border:0;background:none;color:inherit;font:inherit}.image-unavailable{min-height:100px;background:#274a38}@media(max-width:900px){.departure-board{grid-template-columns:1fr 1fr 1fr}.departure-board .service{display:none}.network{display:none}.route-option{gap:10px;padding:15px 10px}.route-option>span:nth-child(2)>small{display:none}.console{grid-template-columns:18% 82%}.route-panel{padding-left:20px}}@media(max-width:650px){header nav{gap:15px;font-size:8px}.brand{font-size:18px}.transport-symbol{font-size:30px}.departure-board strong{font-size:9px}.departure-board small{font-size:7px}.window-frame{border-radius:60px 60px 4px 4px}.window{border-radius:50px 50px 4px 4px;min-height:550px}.window>img{object-position:65%}.welcome{top:17%}.welcome h1{font-size:70px}.welcome .eyebrow{font-size:7px}.console{grid-template-columns:1fr}.trip-state{border-right:0;display:flex;align-items:center;gap:20px;padding:0 0 20px}.trip-state>strong{font-size:45px;margin:0}.trip-state>p{display:none}.route-panel{padding-left:0}.route-option strong{font-size:10px}.entry{grid-template-columns:35px 1fr}.entry p{grid-column:2}.journal h2{font-size:55px}.section-label>span:last-child{display:none}footer{align-items:start;flex-direction:column}.window-label{font-size:6px}.arrival h2{font-size:65px}.travel-overlay h2{font-size:50px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
