*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#09121d;color:#f9f4e8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,select{font:inherit}button{cursor:pointer}#world{width:100%;height:100%;display:block;touch-action:none;position:absolute;inset:0;background:#09121c}
.interface{position:fixed;inset:0;pointer-events:none;z-index:10}.interface button,.interface a,.interface select,.touch-controls{pointer-events:auto}
.interface::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,5,13,.35),transparent 19%,transparent 71%,rgba(0,5,13,.42)),linear-gradient(90deg,rgba(0,5,13,.40),transparent 32%);pointer-events:none;z-index:-1}
.header{height:76px;display:flex;justify-content:space-between;align-items:center;padding:16px 28px;gap:15px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff5dc;font-size:11px;font-weight:760;letter-spacing:.22em}.brand svg{color:#e6bf72}.brand em{font-size:10px;font-weight:400;letter-spacing:.18em;color:#bfc4cf;font-style:normal;margin-left:7px}.header-actions{display:flex;gap:9px}.ui-btn{border:1px solid rgba(238,218,179,.30);background:rgba(5,12,25,.55);color:#f8efdc;border-radius:24px;padding:11px 15px;letter-spacing:.13em;font-size:10px;font-weight:770;backdrop-filter:blur(16px)}.ui-btn:hover{background:rgba(42,58,75,.75);border-color:#f7d38b}
.intro{position:absolute;left:3.3%;top:14%;width:min(345px,30vw);text-shadow:0 1px 16px #09111f}.eyebrow{font-size:10px;letter-spacing:.24em;color:#d4b57c;text-transform:uppercase;font-weight:800}.intro h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(31px,3.2vw,55px);line-height:1.01;font-weight:400;letter-spacing:-.04em;margin:14px 0 14px}.intro p{line-height:1.7;color:#d4d8dd;font-size:13px;max-width:300px;margin-bottom:27px}.destination{border-left:2px solid #d4b778;background:rgba(5,12,25,.6);padding:12px 15px;backdrop-filter:blur(10px);width:min(295px,95%)}.destination small{display:block;color:#ebcd8f;font-size:9px;letter-spacing:.16em;font-weight:740;margin-bottom:8px}.destination strong{display:block;font:24px Georgia,serif;letter-spacing:-.02em}.destination .dist{float:right;font-family:ui-sans-serif,system-ui,sans-serif;color:#bfc0c6;font-size:11px;margin-top:7px}
.stats{position:absolute;left:3.3%;bottom:24px;display:flex;align-items:end;gap:16px}#minimap{width:126px;height:126px;border:2px solid #d7bd82;border-radius:50%;background:#0c2543;box-shadow:0 0 20px rgba(0,0,0,.25)}.scorebox{display:flex;flex-direction:column;gap:3px;margin-bottom:5px}.scorebox span{font-size:9px;letter-spacing:.17em;color:#d1c4a4}.scorebox strong{font-family:Georgia,serif;font-size:27px;font-weight:500;color:#f9d68b}.scorebox small{font-size:9px;color:#bbcbd4;letter-spacing:.1em}
.speedbox{position:absolute;right:28px;bottom:25px;text-align:right;text-shadow:0 2px 20px #010912}.speedbox .number{font:66px/1 Georgia,serif;letter-spacing:-.09em}.speedbox .unit{font-size:11px;letter-spacing:.12em;margin-left:8px}.speedbox small{display:block;font-size:10px;letter-spacing:.20em;color:#f1d493;margin-top:10px}
.controls-bar{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);padding:9px 16px;border-radius:99px;background:rgba(7,21,40,.82);border:1px solid rgba(233,207,153,.23);display:flex;gap:17px;align-items:center;white-space:nowrap;backdrop-filter:blur(10px);font-size:10px;letter-spacing:.035em}.controls-bar span{color:#daddeb}kbd{display:inline-flex;align-items:center;justify-content:center;padding:5px 7px;min-width:24px;border-radius:4px;background:#efd39a;color:#172334;font:700 10px ui-sans-serif,system-ui;margin-right:4px}
#prompt{position:absolute;left:50%;top:25%;transform:translateX(-50%);font:italic 38px Georgia,serif;color:#fff0b5;text-shadow:0 0 25px #ecb857,0 0 40px #000;transition:opacity .3s;opacity:0;pointer-events:none;white-space:nowrap}
.status{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:100;background:rgba(5,11,19,.96);padding:30px}.status[hidden]{display:none}.status-inner{width:min(400px,100%);text-align:center}.status-inner .symbol{font:60px Georgia,serif;color:#ead29b}.status-inner h2{font:40px Georgia,serif;font-weight:400;margin:18px 0 7px}.status-inner p{font-size:12px;color:#b6bec6;line-height:1.8}.progress{height:2px;background:#3d4448;margin:24px 0}.progress>div{height:100%;width:0;background:#f0d39a;transition:width .25s}#retry{margin:20px auto}
.help{position:fixed;right:28px;top:80px;background:#0c1728ec;z-index:50;pointer-events:auto;display:none;max-width:375px;padding:25px;border:1px solid #a18b69;border-radius:10px;backdrop-filter:blur(20px);box-shadow:0 10px 50px #0008}.help.open{display:block}.help h2{font:28px Georgia,serif;font-weight:400;margin:0 0 13px}.help p{color:#c7c7c6;font-size:12px;line-height:1.6}.help dl{display:grid;grid-template-columns:85px 1fr;gap:11px;font-size:12px;line-height:1.45}.help dt{font-weight:700;color:#f1d49b}.help dd{margin:0;color:#c5ced3}.help label{display:block;margin-top:17px;font-size:11px;color:#e4ceae}.help select{margin:8px 0 0;background:#15253a;border:1px solid #a68e63;color:#fff;padding:8px;border-radius:3px}.touch-controls{display:none;z-index:30}
@media(max-width:800px){.header{height:59px;padding:10px 13px}.brand{font-size:9px;letter-spacing:.12em}.brand em{display:none}.brand svg{width:20px}.header-actions{gap:5px}.ui-btn{font-size:9px;padding:8px 10px}.intro{top:79px;left:14px;width:min(260px,57vw)}.intro h1{font-size:32px;margin:8px 0}.intro p{font-size:11px;line-height:1.4;margin-bottom:12px}.eyebrow{font-size:8px}.destination{padding:8px 10px}.destination strong{font-size:18px}.stats{left:12px;bottom:112px;gap:9px}#minimap{width:88px;height:88px}.scorebox strong{font-size:21px}.speedbox{right:13px;bottom:128px}.speedbox .number{font-size:43px}.speedbox .unit{font-size:8px}.controls-bar{display:none}.touch-controls{position:fixed;bottom:10px;left:8px;right:8px;display:flex;justify-content:space-between;align-items:end;gap:9px;touch-action:none}.touch-stack{display:flex;gap:7px;align-items:end}.touch-btn{width:54px;height:55px;border-radius:14px;border:1px solid #d6c59a80;background:#081e32d9;color:#fff4d9;font-weight:800;font-size:12px;touch-action:none;backdrop-filter:blur(11px)}.touch-btn.primary{background:#dbb673;color:#101c2b}.touch-btn.jump{height:71px;width:69px;background:#e7d2a0;color:#0f1d2f}.touch-btn.active{background:#fff1c9;color:#102438}.touch-btn.vertical{height:44px;width:44px}.touch-camera{display:grid;grid-template-columns:44px 44px;gap:5px}.help{right:10px;left:10px;top:65px;max-width:none;padding:20px}.help h2{font-size:23px}.help dl{grid-template-columns:78px 1fr}.intro p{max-width:220px}#prompt{font-size:26px;top:25%}}
@media(max-width:480px) and (orientation:portrait){.intro{top:73px;left:12px;width:75vw}.intro h1{font-size:30px}.intro p{max-width:190px}.intro .destination{width:205px}.stats{bottom:120px}#minimap{width:77px;height:77px}.scorebox{display:none}.speedbox{bottom:141px}.touch-btn{width:46px;height:52px}.touch-btn.jump{width:64px}.touch-camera{display:none}}

/* Cinematic framing: the art regains the screen as soon as the journey begins. */
body.moving .intro p{opacity:0;max-height:0;margin:0;overflow:hidden;transition:opacity .25s,max-height .35s}
body.moving .intro .destination{margin-top:12px}
#autoride{border-color:rgba(228,180,99,.60);color:#f5d58d}
@media(max-width:800px){.intro p{display:none}.intro{width:220px;top:68px}.intro h1{font-size:25px}.intro .destination{margin-top:6px}.header-actions .ui-btn:nth-last-child(2){display:none}}
@media(max-width:480px) and (orientation:portrait){.intro{max-width:180px}.intro h1{font-size:24px}.intro .destination{max-width:170px}.header-actions{gap:3px}.header-actions .ui-btn{padding:8px 7px}}
