:root{--yellow: #f2a900;--red: #d0021b;--ink: #15171a;--paper: #fbfaf6;--glass: rgba(18, 22, 28, .42);--serif: "Instrument Serif", Georgia, serif;--sans: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--cond: "Barlow Condensed", "Arial Narrow", sans-serif;--screws: radial-gradient(circle at 9px 9px, #7d7f82 2.4px, transparent 3px), radial-gradient(circle at 9px calc(100% - 9px) , #7d7f82 2.4px, transparent 3px);--st: env(safe-area-inset-top, 0px);--sr: env(safe-area-inset-right, 0px);--sb: env(safe-area-inset-bottom, 0px);--sl: env(safe-area-inset-left, 0px)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#8fa9c4;color:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}canvas#scene{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none}body:not(.touch) .touch-only{display:none!important}body.touch .desk-only{display:none!important}button{font:inherit;cursor:pointer}kbd{font:600 11px var(--sans);padding:1px 5px;border-radius:4px;border:1px solid rgba(255,255,255,.35);background:#ffffff14}.hidden{display:none!important}.screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10}#fade{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;opacity:0;pointer-events:none;z-index:30;transition:opacity .9s ease}#fade.on{opacity:1}.brand{font:700 12px var(--sans);letter-spacing:.32em;text-transform:uppercase;display:inline-block;padding:6px 10px 6px 12px;background:var(--yellow);color:var(--ink)}.brand.small{font-size:11px}#loading{z-index:20;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 120%,#c9d7e6,#6f8daf)}.loading-inner{display:grid;gap:18px;justify-items:center}.bar{width:220px;height:2px;background:#ffffff4d}.bar i{display:block;height:100%;width:0;background:#fff;transition:width .25s}.loading-text{font:italic 22px var(--serif);opacity:.9}#loading.over{background:none;pointer-events:none;align-content:start;padding-top:calc(var(--st) + 24vh)}#loading.over .loading-inner{padding:22px 30px 24px;border-radius:12px;background:#101318cc;box-shadow:0 10px 40px #00000040}#loading.over .loading-text{font-size:19px}#loading.over .bar{width:180px}#title{pointer-events:none;background:linear-gradient(90deg,rgba(10,14,20,.55) 0%,rgba(10,14,20,.15) 45%,transparent 70%)}.title-panel{position:absolute;left:clamp(16px,6vw,96px);bottom:clamp(56px,12vh,140px);max-width:min(560px,calc(100vw - 32px));pointer-events:auto}.title-panel h1{font:400 clamp(44px,6.4vw,84px) / .95 var(--serif);margin:22px 0 30px;text-shadow:0 2px 30px rgba(0,0,0,.25)}.title-panel h1 em{font-style:italic;opacity:.92}.route-picker{display:flex;align-items:stretch;width:fit-content;max-width:100%;cursor:pointer;transition:transform .15s}.route-picker:hover{transform:translate(4px)}.route-picker:active{transform:translate(8px)}.route-picker:focus-visible{outline:2px solid #fff;outline-offset:4px}.ww-plate{background:#fff;color:var(--ink);padding:8px 14px;display:grid;align-content:center;justify-items:center;font-family:var(--cond);line-height:1.05;border-right:1px solid rgba(0,0,0,.12)}.ww-from{font-weight:700;font-size:19px}.ww-ele{font-weight:600;font-size:16px}.wegweiser{min-width:0;color:var(--ink);background:var(--screws),var(--yellow);padding:8px 52px 9px 24px;clip-path:polygon(0 0,calc(100% - 30px) 0,100% 50%,calc(100% - 30px) 100%,0 100%)}.ww-main{display:flex;align-items:baseline;gap:22px}.ww-name{font:700 clamp(24px,2.6vw,30px) / 1.05 var(--cond);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ww-time{font:600 clamp(20px,2.2vw,25px) / 1.05 var(--cond);white-space:nowrap;margin-left:auto}.ww-sub{font:500 15px var(--cond);margin-top:1px}.ww-facts{font:500 12px var(--sans);opacity:.8;margin-top:10px}.blurb{font:italic 21px/1.35 var(--serif);margin:18px 0 26px;max-width:470px;opacity:.95}.title-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}button.primary{background:var(--paper);color:var(--ink);border:0;padding:14px 34px;font-weight:600;font-size:15px;letter-spacing:.04em;border-radius:999px;box-shadow:0 10px 30px #00000040;transition:transform .15s,box-shadow .2s}button.primary:hover{transform:translateY(-1px);box-shadow:0 14px 34px #0000004d}button.ghost{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.45);padding:12px 24px;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.title-corner{position:absolute;right:calc(16px + var(--sr));top:calc(16px + var(--st));display:flex;gap:8px;pointer-events:auto}button.ghost.small{padding:8px 14px;font-size:12px;display:inline-flex;gap:6px;align-items:center}button.ghost.small.icon{padding:8px 10px}button.icon{display:inline-flex;align-items:center;justify-content:center}.fs-out{display:none}:fullscreen .fs-in,.is-fullscreen .fs-in{display:none}:fullscreen .fs-out,.is-fullscreen .fs-out{display:inline}.no-fullscreen .fs-toggle{display:none!important}.credits{position:absolute;right:calc(16px + var(--sr));bottom:calc(12px + var(--sb));left:calc(16px + var(--sl));text-align:right;font-size:10.5px;opacity:.7;pointer-events:auto}.credits a{color:inherit}#intro{pointer-events:none}.caption{position:absolute;left:clamp(16px,5vw,64px);right:calc(24px + var(--sr));bottom:calc(clamp(40px,9vh,90px) + var(--sb));display:grid;grid-template-columns:1fr auto;column-gap:24px;row-gap:4px;align-items:center}.cap-small,.cap-lift{grid-column:1;text-shadow:0 1px 16px rgba(0,0,0,.5);animation:rise 1.6s ease both .6s}.cap-small{font:600 11px var(--sans);letter-spacing:.3em;text-transform:uppercase;opacity:.85}.cap-lift{font:italic 34px var(--serif);grid-row:2}#skip{grid-column:2;grid-row:2;pointer-events:auto;background:var(--yellow);color:var(--ink);border:0;font:700 20px var(--cond);padding:8px 44px 9px 24px;background:var(--screws),var(--yellow);clip-path:polygon(0 0,calc(100% - 24px) 0,100% 50%,calc(100% - 24px) 100%,0 100%);box-shadow:0 8px 22px #00000038;transition:transform .15s,filter .15s}#skip:hover{transform:translate(4px);filter:brightness(1.05)}#skip:active{transform:translate(8px)}#skip:focus-visible{outline:2px solid #fff;outline-offset:3px}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5}.hud-sign{position:absolute;left:calc(16px + var(--sl));top:calc(16px + var(--st));background:var(--yellow);color:var(--ink);padding:8px 46px 9px 14px;clip-path:polygon(0 0,calc(100% - 26px) 0,100% 50%,calc(100% - 26px) 100%,0 100%);box-shadow:0 6px 18px #0003}.hs-dest{font:700 16px var(--sans)}.hs-meta{font:500 12px var(--sans);opacity:.8;margin-top:1px}.hud-tools{position:absolute;right:calc(16px + var(--sr));top:calc(16px + var(--st));display:flex;gap:8px;pointer-events:auto}.hud-tools button{background:var(--glass);color:#fff;border:1px solid rgba(255,255,255,.18);padding:7px 10px;border-radius:8px;font-size:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;gap:6px;align-items:center}.hud-tools button.on{background:var(--yellow);color:var(--ink);border-color:transparent}.hud-tools button.on kbd{border-color:#0000004d}.progress{position:absolute;left:50%;bottom:calc(22px + var(--sb));transform:translate(-50%);width:min(420px,calc(100vw - 230px));height:4px;background:#ffffff4d;border-radius:2px}.progress i{position:absolute;left:0;top:0;bottom:0;background:var(--yellow);border-radius:2px}.progress b{position:absolute;bottom:9px;left:0;right:0;text-align:center;font:500 12px var(--sans);text-shadow:0 1px 8px rgba(0,0,0,.6)}#minimap{position:absolute;right:calc(16px + var(--sr));bottom:calc(16px + var(--sb));width:180px;height:180px;border-radius:50%;box-shadow:0 6px 24px #0000004d;border:2px solid rgba(255,255,255,.7)}#arrival{position:absolute;left:0;right:0;top:30%;text-align:center;text-shadow:0 2px 30px rgba(0,0,0,.45);transition:opacity 1.5s}.arr-place{font:400 clamp(46px,7vw,92px) / 1 var(--serif)}.arr-route{font:500 15px var(--sans);letter-spacing:.08em;margin-top:12px}#hint{position:absolute;left:50%;bottom:64px;transform:translate(-50%);background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:10px 16px;border-radius:10px;font-size:13px;white-space:nowrap;transition:opacity .6s}#labels{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4;overflow:hidden}.label{position:absolute;left:0;top:0;transform-origin:50% 100%;display:grid;justify-items:center;text-shadow:0 1px 8px rgba(0,0,0,.7);white-space:nowrap;transition:opacity .4s}.label .n{font:600 13px var(--sans)}.label .s{font:500 11px var(--sans);opacity:.85}.label:after{content:"";width:1px;height:18px;background:#ffffffb3;margin-top:3px}.label.lake .n{font:italic 17px var(--serif);font-weight:400;color:#e3f4ff}.label.place .n{font:500 12px var(--sans);letter-spacing:.12em;text-transform:uppercase}#pause,#finish{display:grid;place-items:center;background:#080c1259;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.card{width:min(460px,calc(100vw - 32px));background:#14181eb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:28px}.card h2{font:400 40px/1.05 var(--serif);margin:14px 0 18px}.controls{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:10px;font-size:14px;opacity:.92}.row{display:flex;gap:12px;flex-wrap:wrap}.settings{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 22px}.seg{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:3px;font-size:12px}.seg span{padding:0 8px 0 10px;opacity:.75}.seg button{background:none;border:0;color:#fff;padding:5px 12px;border-radius:999px}.seg button.on{background:var(--paper);color:var(--ink);font-weight:600}.ios-note{font-size:12.5px;opacity:.8;margin:-8px 0 20px;line-height:1.45}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 18px;margin:4px 0 26px}.stats div{display:grid;gap:2px}.stats b{font:400 30px var(--serif)}.stats span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.7}@media(max-width:640px){.hud-tools button kbd{display:none}.hud-tools{gap:6px}.hud-tools button{padding:7px 9px}#minimap{width:120px;height:120px}.progress{width:calc(100vw - 170px);left:16px;transform:none}.hud-sign{top:calc(64px + var(--st))}.title-corner .q-toggle{display:none}.ww-plate{padding:8px 10px}.ww-from{font-size:16px}.ww-ele{font-size:14px}.wegweiser{padding:7px 40px 8px 20px}.ww-main{flex-wrap:wrap;gap:2px 12px}.ww-name{white-space:normal;font-size:24px}.ww-time{margin-left:0;font-size:19px}#hint{bottom:calc(150px + var(--sb));white-space:normal;text-align:center;width:max-content;max-width:calc(100vw - 32px)}}@media(max-height:500px){#minimap{width:116px;height:116px}.hud-tools button kbd{display:none}.title-panel h1{font-size:34px}.blurb{font-size:16px;margin:10px 0 14px}}
