@font-face{font-family:Manrope;src:url('/assets/manrope-variable.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{color-scheme:dark;--bg:#080a0d;--text:#f3f4ef;--muted:#bbc3c7;--mint:#c3f3cf;--line:#353e42}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:5px}h1:focus{outline:none}button,a{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}p,h1{margin:0}#network,.vignette{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}.vignette{background:linear-gradient(180deg,#080a0df5 0%,#080a0d66 28%,transparent 50%,#080a0d88 74%,#080a0d 100%)}.experience{position:relative;max-width:1600px;margin:auto;padding:0 22px;min-height:100svh}header{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff16}.brand{font-size:23px;font-weight:650;letter-spacing:-.06em}.brand span{color:var(--mint)}header nav{display:flex;gap:3px;border:1px solid #3a4146;border-radius:30px;padding:4px}header nav a{font-size:11px;padding:5px 14px;border-radius:20px;color:var(--muted)}header nav a[aria-current]{background:#d2ead9;color:#15211b}#soundless{height:38px;width:38px;border:1px solid #3a4146;border-radius:50%;background:#10151b}#soundless svg{width:15px;height:15px;fill:none;stroke:var(--muted);stroke-width:1.4}#soundless[aria-pressed=true]{border-color:var(--mint);background:#203128}main{display:flex;flex-direction:column;min-height:calc(100svh - 78px)}.heading{padding-top:30px;position:relative;z-index:2;max-width:600px}.eyebrow{display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#c5cdd0}.eyebrow i{width:5px;height:5px;border-radius:50%;background:var(--mint);box-shadow:0 0 15px #adffb6}h1{font-size:clamp(35px,10vw,43px);line-height:1.08;letter-spacing:-.055em;font-weight:450;margin:20px 0 16px;max-width:590px}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--mint);letter-spacing:-.045em}.heading>p:last-child{font-size:12px;line-height:1.8;color:var(--muted);max-width:340px}.space{position:relative;flex:1;min-height:260px;display:flex;align-items:center;justify-content:center;padding:42px 8px 40px;perspective:900px}.coordinate{position:absolute;top:18px;left:0;right:0;display:flex;align-items:center;gap:13px;color:#b4c6c0;font-size:8px;letter-spacing:.12em}.coordinate-line{height:1px;background:linear-gradient(90deg,#86baa660,#86baa610);flex:1}.coordinate>span:last-child{color:var(--mint);font-size:6px}.station{width:100%;max-width:330px;position:relative;z-index:1}.glass{background:linear-gradient(140deg,#182126f2,#10161beb);border:1px solid #71877c77;border-radius:4px;padding:19px 20px;box-shadow:0 15px 70px #0009,0 0 45px #92d3ad0b;position:relative}.glass:before{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:var(--mint);left:-3px;top:50%;box-shadow:0 0 0 5px #b7ebcb0a,0 0 22px #9aefb5}.card-top{display:flex;align-items:center;justify-content:space-between;color:#d5ddda;font-size:9px;letter-spacing:.05em;margin-bottom:16px}.card-top>span:first-child{display:flex;align-items:center;gap:9px}.mini-star{font-size:19px;color:var(--mint)}.card-top small{font-size:8px;color:var(--muted)}.ad-title{font:italic 28px/1.15 Georgia,serif;color:#e3efdf;letter-spacing:-.03em}.ad-description{font-size:10px;color:var(--muted);margin-top:9px}.ad-bottom{border-top:1px solid #6d8d7b40;margin-top:18px;padding-top:11px;font-size:10px;display:flex;justify-content:space-between}.avatar{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#a6c9b022;color:var(--mint);font-size:10px;border:1px solid #779a8155}.message{font-size:12px;line-height:1.65;border-left:1px solid #9abda3;padding:2px 0 2px 12px;margin:9px 0 16px}.message small{display:block;font-size:9px;color:#c1cbc5;margin-bottom:5px}.message.last{border-color:var(--mint);color:var(--mint);margin-bottom:0}.receipt{display:flex;align-items:center;gap:13px;margin:3px 0 15px}.receipt>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid #9ad2a6;color:var(--mint);font-size:17px;box-shadow:0 0 28px #b5ffc014}.receipt b{display:block;font-size:18px;font-weight:500}.receipt small{color:var(--muted);font-size:10px}.comparison{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #3a4843;padding-top:14px;gap:18px}.comparison span{color:var(--muted);font-size:9px;display:block;margin-bottom:4px}.comparison strong{font-size:12px;font-weight:500}.comparison .unknown{color:#dfc79d}.comparison .known{color:var(--mint)}.received-label{display:flex;align-items:center;gap:10px;color:var(--mint);font-size:11px;border-top:1px solid #3a4843;padding-top:12px;margin-top:14px}.received-label span{font-size:20px}.world-caption{position:absolute;left:0;right:0;bottom:14px;display:flex;align-items:center;gap:8px;justify-content:center;font-size:9px;color:#b6c7bf}.beacon{width:4px;height:4px;border-radius:50%;background:var(--mint)}.controls{position:relative;z-index:2;padding:6px 0 max(15px,env(safe-area-inset-bottom))}.route{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:9px;color:#c3ceca}.route>span:last-child{margin-left:auto;color:var(--text)}#progress{display:flex;gap:5px}#progress i{height:2px;width:19px;background:#46534c}#progress i.active{background:var(--mint);box-shadow:0 0 10px #b2f5bf40}.actions{display:flex;gap:9px}.back{border:1px solid #4b5952;background:#101712;border-radius:3px;width:49px;font-size:20px}.back:disabled{color:#737e77;border-color:#2e3932}.next{display:flex;align-items:center;justify-content:space-between;gap:15px;flex:1;min-height:53px;padding:15px 19px;background:var(--mint);color:#102219;border:1px solid #daf8e0;border-radius:3px;font-size:12px;font-weight:650}.next b{font-size:18px;font-weight:400}.next:disabled{background:#a2b9a8;border-color:#a2b9a8}.footnote{text-align:center;font-size:8px;color:#9eaaa4;margin-top:13px}.sending .glass{border-color:#c3f3cf}.space-token{position:fixed;z-index:4;pointer-events:none;border:1px solid #b9e9c6;border-radius:30px;background:#12251b;color:var(--mint);padding:9px 15px;font-size:11px;box-shadow:0 0 45px #9bf4bd44}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.no-js{position:fixed;bottom:20px;background:#102219;padding:15px;z-index:10}.station-enter{animation:arrive .65s cubic-bezier(.2,.7,.2,1) both}@keyframes arrive{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
@media(min-width:800px){.experience{padding:0 60px}header{height:100px}.brand{font-size:28px}main{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr auto;column-gap:80px;min-height:calc(100svh - 100px)}.heading{padding-top:clamp(70px,13vh,150px);align-self:center;padding-bottom:90px}h1{font-size:clamp(52px,5.4vw,82px);margin:30px 0 28px}.eyebrow{font-size:10px}.heading>p:last-child{font-size:15px;max-width:430px}.space{min-height:500px;padding-inline:45px;align-self:stretch}.station{max-width:370px}.glass{padding:27px}.coordinate{top:65px}.world-caption{bottom:65px;font-size:10px}.controls{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 80px;padding-bottom:28px;align-items:center}.route{margin:0}.actions{max-width:430px;width:100%;justify-self:end}.footnote{text-align:left;grid-column:1/-1;margin-top:22px}.ad-title{font-size:34px}.message{font-size:14px}.comparison strong{font-size:14px}.next{min-height:56px}.vignette{background:linear-gradient(90deg,#080a0df0,transparent 75%),linear-gradient(0deg,#080a0df0,transparent 40%,#080a0d77)}}
@media(max-width:359px){.experience{padding-inline:17px}header{height:65px}main{min-height:calc(100svh - 65px)}.heading{padding-top:23px}h1{font-size:34px;margin-block:17px 13px}.heading>p:last-child{font-size:11px}.space{min-height:250px;padding-inline:0}.glass{padding:17px}.next{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.glass{transform:perspective(900px) rotateY(-7deg) rotateX(2deg)}

/* The route stays visible while the camera and message move together. */
[hidden]{display:none!important}
header{height:68px;gap:12px}
header nav{flex-shrink:0}
#soundless{width:auto;height:36px;border-radius:20px;display:flex;align-items:center;gap:6px;padding:0 10px;font-size:9px;background:#10151b}
#soundless b{font-size:9px;color:var(--mint);font-weight:500}
#soundless[aria-pressed=false]{border-color:#626c65;background:#10151b}
#soundless[aria-pressed=false] b{color:#bdc6c0}
.heading{padding-top:24px}
h1{font-size:clamp(33px,9.5vw,39px);margin:17px 0 13px}
.heading>p:last-child{font-size:12px;line-height:1.65}
main{min-height:calc(100svh - 68px)}
.space{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:17px 5px 20px;min-height:0}
.route-map{position:relative;width:100%;max-width:370px;height:151px;flex-shrink:0}
.places{display:flex;justify-content:space-between;gap:20px;font-size:13px;line-height:1.2;color:#f0f4f0}
.places small{display:block;font-size:8px;color:#c3cec7;margin-top:4px;letter-spacing:.02em}
.platform-place{min-width:100px}.business-place{width:47%;padding-left:3px;border-left:1px solid #496251}
#journey-map{position:absolute;left:0;top:28px;width:100%;height:112px;overflow:visible}
.connection{fill:none;stroke:#7a9b8960;stroke-width:1.2}
.connection.passed{stroke:#a4e0b6;stroke-width:1.6}
.return-connection{stroke-dasharray:3 5;stroke:#92aa7c60}
.return-connection.passed{stroke-dasharray:none;stroke:#c3f3cf}
.signal-halo{fill:#c1ffcd1a;stroke:#bdf6cc44;stroke-width:1}.signal-core{fill:#e4ffec;filter:drop-shadow(0 0 4px #c3ffce)}
#traveller text{fill:#e8fff0;font:11px Manrope,Arial,sans-serif;paint-order:stroke;stroke:#080d0a;stroke-width:4px;stroke-linejoin:round}
.map-stop{position:absolute;top:53px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;transform:translateX(-50%);border:0;background:transparent;color:#bdc9c1;padding:8px 5px;min-width:65px;min-height:50px;font-size:9px;line-height:1}
.platform-stop{left:11.667%}.chat-stop{left:58.333%}.sale-stop{left:87.778%}
.map-stop i{width:10px;height:10px;border:1px solid #90b29d;background:#101a16;border-radius:50%;box-shadow:0 0 0 5px #080d0a}
.map-stop[aria-current=step]{color:#f0fff4}.map-stop[aria-current=step] i{background:#c3f3cf;box-shadow:0 0 0 5px #a0e3b318,0 0 18px #a7edba66}
.map-stop.received i{background:#c3f3cf}.map-stop:disabled{opacity:.65}
.return-label{position:absolute;left:0;right:0;top:134px;text-align:center;font-size:8px;color:#b5c6b9;line-height:1.4}
.route-map.received .return-label{color:var(--mint)}
.station-position{display:flex;align-items:center;gap:7px;width:100%;max-width:330px;font-size:10px;color:#d0ded5}
.station-dot{width:4px;height:4px;background:var(--mint);border-radius:50%}
.station{min-height:210px;display:flex;align-items:center;will-change:opacity}
.glass{width:100%;padding:18px;transform:perspective(900px) rotateY(-4deg) rotateX(1deg)}
.world-caption{position:static;margin-top:0;min-height:16px;font-size:9px;text-align:center;line-height:1.45}
.controls{position:sticky;bottom:0;background:linear-gradient(0deg,#080a0d 86%,#080a0d00);padding-top:14px;margin-top:auto}
.route{margin-bottom:10px}.footnote{margin-top:10px}
#restart{display:block;background:transparent;border:0;border-bottom:1px solid #5a7063;padding:6px 0;font-size:10px;color:#cadacf;margin:12px auto 0}
.space[aria-busy=true] .station-position{color:var(--mint)}
dialog{width:min(510px,calc(100% - 30px));max-height:calc(100svh - 40px);padding:32px 26px;border:1px solid #7d978666;border-radius:7px;background:#101814;color:var(--text);box-shadow:0 30px 140px #000b;overflow:auto}
dialog::backdrop{background:#030705d9;backdrop-filter:blur(7px)}
.dialog-close{position:absolute;right:16px;top:12px;width:38px;height:38px;background:none;border:0;color:#bfcfc3;font-size:27px}
dialog h2{font-weight:450;font-size:35px;letter-spacing:-.05em;line-height:1.1;margin:25px 0 16px}dialog h2 em{font-family:Georgia,serif;font-weight:400;color:var(--mint)}
.dialog-intro{font-size:12px;line-height:1.7;color:var(--muted)}
.problem-options{display:flex;flex-direction:column;gap:9px;margin:22px 0}
.problem-options button{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:1px solid #496051;background:#18231c;padding:15px;font-size:12px;border-radius:3px}
.problem-options button[aria-pressed=true]{background:#283f2e;border-color:#b4e0bf;color:#e4ffeb}
#problem-answer p{font-size:12px;line-height:1.8;color:#cfdbd2}#problem-answer a{display:flex;justify-content:space-between;gap:14px;background:var(--mint);color:#102219;padding:16px;margin-top:16px;border-radius:3px;font-size:12px;font-weight:650}
.dialog-note{font-size:9px;color:#aebeb3;border-top:1px solid #3b5143;margin-top:24px;padding-top:16px;line-height:1.6}
.route-map{background:radial-gradient(ellipse at center,#080d0adb 0%,#080d0a88 65%,transparent 100%)}
.station-position{background:#0b130de0;border-radius:2px;padding:4px 6px}
.map-stop{font-size:10px}.places small{font-size:9px}.dialog-open{overflow:hidden}
@media(max-width:799px){.heading{padding-top:20px}.space{padding-top:12px;padding-bottom:12px}.footnote{margin-top:8px}.controls{padding-top:10px}}
@media(min-width:800px){header{height:88px}main{min-height:calc(100svh - 88px)}.heading{padding-top:60px;padding-bottom:75px}h1{font-size:clamp(50px,5.4vw,78px);margin:28px 0 24px}.heading>p:last-child{font-size:15px;line-height:1.8}.space{padding:35px 35px 28px;gap:17px;min-height:640px}.route-map{height:178px;max-width:420px}#journey-map{top:39px;height:125px}.map-stop{top:68px;font-size:10px}.return-label{top:157px;font-size:9px}.places{font-size:16px}.places small{font-size:9px}.station{min-height:250px}.station-position{max-width:370px;font-size:11px}.glass{padding:26px}.world-caption{font-size:10px}.controls{position:static;background:none;padding-top:12px}.controls #restart{grid-column:2;justify-self:end;margin:12px 0 0}.footnote{margin-top:18px}#soundless{padding:0 13px;font-size:10px;gap:8px}#soundless b{font-size:10px}}
@media(max-width:359px){.experience{padding-inline:15px}header{gap:6px}.brand{font-size:21px}header nav a{padding-inline:10px}#soundless{padding-inline:8px;font-size:8px;gap:4px}#soundless b{font-size:8px}.heading{padding-top:19px}h1{font-size:32px}.heading>p:last-child{font-size:11px}.space{padding-inline:0;gap:8px}.places{font-size:12px}.places small{font-size:7px}.glass{padding:16px}.station{min-height:205px}.world-caption{font-size:8px}.next{font-size:11px;padding-inline:15px}.footnote{font-size:7px}}
@media(max-width:390px){header nav a{padding-inline:6px;font-size:10px}}
