@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;font-family:'Space Grotesk',sans-serif;color:#edf3f3;background:#060a10;--mint:#b8f2dd}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:4px}button:disabled{cursor:default;opacity:.3}[hidden]{display:none!important}.background{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#05090d55,#05090d33),url('assets/background.png') center/cover no-repeat}.scene{width:100%;min-height:100dvh}.journey{min-height:100dvh;display:flex;flex-direction:column;position:relative;border:2px solid transparent;transition:border-color .45s}.opened .journey{border-color:#819d9c}.map{position:relative;flex:1 0 auto;height:calc(100dvh - 286px);min-height:460px;background:transparent;transition:background-color .6s}.opened .map{background-color:#08151c70;background-image:radial-gradient(#abcbd51c 1px,transparent 1px);background-size:16px 16px}.route{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.route path{stroke:#55747c;stroke-width:4;fill:none;stroke-linejoin:miter;shape-rendering:crispEdges}.route #route-progress{stroke:#b8f2dd;stroke-width:3}.stop{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:70px;height:70px;background:transparent;border:0;padding:4px;display:grid;place-items:center;z-index:2}.pin{display:grid;place-items:center;width:62px;height:62px;border:2px solid #6a8991;background:#172a35;box-shadow:4px 4px 0 #060e16}.pin img{width:56px;height:50px;object-fit:contain}.pin.university img{width:42px;height:42px}.company-mark{font-weight:700;font-size:38px;color:#ff6d41}.label{position:absolute;top:75px;left:50%;transform:translateX(-50%);font-size:11px;line-height:1.4;white-space:nowrap;text-align:center;color:#d3e2e5;background:#101c24;padding:3px 7px}.stop.active .pin{border-color:transparent;background:transparent;box-shadow:none}.stop.active .label{color:#d9f9ee;background:transparent}.stop.visited .pin{border-color:#91bcad}.stop:hover .pin{border-color:#effff8}#runner{position:fixed;left:50%;top:calc(50dvh + 175px);width:320px;height:350px;transform:translate(-50%,-100%);z-index:5;background:none;border:0;padding:0;will-change:left,top,width,height}#runner:disabled{opacity:1}.opened #runner{position:absolute;width:130px;height:142px}.entering #runner{position:fixed}.runner-body{display:block;position:relative;z-index:1;width:100%;height:100%;transform-origin:50% 85%}.runner-body img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 9px #0006)}.runner-shadow{position:absolute;bottom:0;left:30%;width:40%;height:5%;background:#060e1660;filter:blur(3px)}body:not(.opened) .runner-body{animation:idle 4s ease-in-out infinite}#runner:hover .runner-body{filter:drop-shadow(0 0 16px #b8f2dd26)}.running .runner-body{animation:run .18s steps(2,end) infinite}.running .runner-shadow{animation:shadow .18s steps(2,end) infinite}.place{background:#111e27ed;border:2px solid #819d9c;margin:0 18px;box-shadow:4px 4px 0 #030b10}.place-bar{display:flex;justify-content:space-between;gap:12px;background:#243640;padding:9px 20px;border-bottom:2px solid #071118;font-size:10px;line-height:1.5;letter-spacing:.8px;color:#bcd6d5}.place-content{padding:20px 24px;display:flex;align-items:center;gap:24px;min-height:163px}.place-copy{flex:1;min-width:0}.place h2{font-size:28px;line-height:1.1;letter-spacing:-.9px;font-weight:500;margin:0 0 12px}.place p{font-size:13px;line-height:1.6;margin:0 0 10px;color:#c0cbd2;max-width:1050px}.place .result{color:#c4f1de;font-size:12px;margin-bottom:0}#place-art{width:116px;height:115px;object-fit:contain}.journey-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 20px 18px}.contact{display:flex;align-items:center;gap:12px;font-size:11px;color:#d9e8e9}.contact>a:not(.xp-button){padding:9px 12px}.xp-button{display:inline-flex;align-items:center;justify-content:center;min-width:104px;min-height:34px;padding:7px 17px;color:#15243e;background:linear-gradient(#fff 0%,#f7f7f0 45%,#e8e7d7 90%,#d3d0b7 100%);border:1px solid #003c74;border-radius:3px;box-shadow:inset 1px 1px #fff,inset -1px -1px #b4b49b,0 1px 0 #0008;font-weight:500;font-size:12px;text-shadow:0 1px #fff}.xp-button:hover{box-shadow:inset 0 0 0 2px #f1c45b,inset 0 0 0 3px #fff3c0}.xp-button:active{background:linear-gradient(#d8d7c3,#ecebdc);box-shadow:inset 1px 1px #9e9e89;transform:translateY(1px)}.xp-button:focus-visible{outline:1px dotted #17243c;outline-offset:-5px}.arrows{display:flex;gap:8px}.arrows button{width:44px;height:34px;border:2px solid #779291;background:#263d45;box-shadow:3px 3px 0 #061016;font-size:20px}.arrows button:hover:not(:disabled){background:#3e5b60}.arrows button:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px #061016}.route,.stop,.place,.journey-bottom{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s,visibility .5s}.opened .route,.opened .stop,.opened .place,.opened .journey-bottom{opacity:1;visibility:visible;pointer-events:auto}.opened .route{transition-delay:.15s}.opened .stop{transition-delay:calc(.15s + var(--order)*.1s)}.opened .place,.opened .journey-bottom{transition-delay:.75s}.entering .stop,.entering .arrows{pointer-events:none}@keyframes run{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-8px) rotate(6deg)}}@keyframes idle{50%{transform:translateY(-10px)}}@keyframes shadow{50%{transform:scaleX(.7)}}
@media(max-width:760px){.journey{border:0}.map{height:calc(100dvh - 296px);min-height:470px}.stop{width:58px;height:58px}.pin{width:50px;height:50px}.pin img{width:46px;height:42px}.pin.university img{width:35px;height:35px}.company-mark{font-size:32px}.label{font-size:10px;top:63px;padding:2px 4px}.opened #runner{width:96px;height:105px}.place{margin:0 10px}.place-bar{padding:8px 12px;font-size:8px;letter-spacing:.4px}.place-content{padding:16px 14px;min-height:195px;gap:10px;align-items:flex-start}.place h2{font-size:24px;margin-bottom:11px}.place p{font-size:12px;line-height:1.55}.place .result{font-size:11px}#place-art{width:62px;height:76px}.journey-bottom{padding:14px 12px calc(14px + env(safe-area-inset-bottom));gap:10px}.contact{gap:8px;font-size:10px}.xp-button{min-width:76px;min-height:34px;padding:6px 10px;font-size:11px}.contact>a:not(.xp-button){padding:8px 3px}.arrows{gap:6px}.arrows button{width:34px;height:34px}#runner{width:280px;height:306px;top:calc(50dvh + 153px)}}
@media(max-width:360px){.place-content{gap:8px}.place h2{font-size:22px}.place p{font-size:11px}#place-art{width:48px;height:60px}.contact{gap:6px}.xp-button{min-width:67px;padding:6px 7px}.label{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
body:not(.opened){height:100dvh;overflow:hidden}


.pin.company{background:#fff}.logo-crop{display:block;position:relative;width:48px;height:48px;overflow:hidden}.pin.company .logo-crop img{position:absolute;max-width:none;width:608px;height:340px;left:-60px;top:-144px;object-fit:fill}.code-mark{font-weight:600;font-size:23px;letter-spacing:-2px;color:#b8f2dd}.current-chapter .pin{border-color:#a4d3bc}.now-tag{display:inline-block;margin-left:6px;font-size:8px;letter-spacing:.5px;color:#12241e;background:#b8f2dd;padding:1px 4px;vertical-align:middle}@media(max-width:760px){.map{min-height:478px}.logo-crop{width:40px;height:40px}.pin.company .logo-crop img{width:506.67px;height:283.33px;left:-50px;top:-120px}.current-chapter .label{left:auto;right:72px;top:16px;transform:none}.code-mark{font-size:21px}.now-tag{display:block;width:max-content;margin:3px auto 0}}
.tap-hint{position:absolute;top:calc(100% + 20px);left:50%;transform:translateX(-50%);font-size:26px;font-weight:600;letter-spacing:4px;animation:tap-blink 1s steps(1,end) infinite;color:#c9f4e4;white-space:nowrap;text-shadow:0 2px 8px #000;pointer-events:none}.opened .tap-hint{display:none}.current-chapter .label{background:transparent}.now-tag{background:transparent;color:#b8f2dd;padding:0}

@keyframes tap-blink{0%,49%{opacity:1}50%,100%{opacity:0}}