*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#1c2336;color:#fff0d8;font-family:Arial,sans-serif}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible{outline:3px solid #eaba79;outline-offset:3px}#world{position:fixed;inset:0;width:100%;height:100%;touch-action:none;display:block}#loading{position:absolute;inset:0;display:grid;place-items:center;letter-spacing:4px;background:#171b2a;z-index:20;font-size:12px}#hud{position:fixed;inset:0;pointer-events:none;background:linear-gradient(#10182d66,transparent 27%,transparent 70%,#10182d77)}header{position:absolute;top:25px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:center}.logo{font-size:29px;font-weight:900;letter-spacing:-2px;text-shadow:0 2px 15px #0008}.logo>span{color:#edb476}.logo small{font-size:8px;letter-spacing:2px;vertical-align:middle;margin-left:14px;color:#f5d8b1;font-weight:normal}nav{display:flex;gap:8px}nav button,#radio button{pointer-events:auto;color:#fff0d8;background:#172033b8;border:1px solid #c4bba33f;backdrop-filter:blur(10px);padding:11px 14px;font-size:9px;letter-spacing:1px;border-radius:4px}#mission{position:absolute;top:92px;left:32px;max-width:380px;text-shadow:0 2px 10px #0009}#chapter{font-size:9px;letter-spacing:2px;color:#efbd7e}h1{font:italic 32px Georgia;margin:8px 0}#objective{font-size:12px;line-height:1.6;max-width:340px;color:#fff0da;margin:4px 0}#distance{font-size:10px;letter-spacing:1px;color:#f0c483;margin-top:13px}#stats{position:absolute;right:32px;top:93px;display:flex;gap:22px;font-size:13px;text-shadow:0 1px 5px #000}#stats span:first-child{color:#aed0a7}#location{position:absolute;right:34px;bottom:280px;font:italic 24px Georgia;text-shadow:0 2px 9px #000a}#mapcorner{position:absolute;right:30px;bottom:43px;width:190px;background:#162238d9;border:1px solid #e0c39860;border-radius:50%;height:190px;overflow:hidden;box-shadow:0 8px 30px #0003}#minimap{width:100%;height:100%}#mapcorner>span{position:absolute;bottom:20px;left:0;right:0;text-align:center;font-size:7px;letter-spacing:1.5px;color:#e6cda9}#controls{position:absolute;bottom:18px;left:32px;right:32px;font-size:8px;letter-spacing:1.2px;color:#e2d7ca}#radio{position:absolute;bottom:50px;left:30px;display:flex;align-items:center;gap:12px;background:#142035dd;border:1px solid #b8b5af40;border-radius:5px;padding:10px 13px;max-width:360px;backdrop-filter:blur(10px);pointer-events:auto}#radio small{font-size:7px;letter-spacing:2px;color:#e9b47b}#radio b{display:block;font-size:10px;letter-spacing:1px;max-width:220px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:4px 0}#radio span{font-size:7px;letter-spacing:1.8px;color:#b7c2ce}#radio button{border:0;padding:9px}#prompt{position:absolute;bottom:185px;left:50%;transform:translateX(-50%);background:#142035ed;border:1px solid #efbc79;border-radius:4px;padding:13px 22px;font-size:12px;letter-spacing:1px;text-align:center;max-width:90%}#notice{position:absolute;left:50%;top:25px;transform:translateX(-50%);padding:13px 25px;background:#162339e8;border-top:2px solid #edb476;font-size:12px;max-width:75%;text-align:center;z-index:2}#carhud{position:absolute;left:50%;bottom:45px;transform:translateX(-50%);font-size:10px;letter-spacing:1px}#carhud b{font-size:30px;margin-right:8px}.overlay{position:fixed;inset:0;background:#101a2cbd;backdrop-filter:blur(9px);display:flex;align-items:center;justify-content:center;z-index:10;padding:25px}.card{background:linear-gradient(140deg,#243148f5,#172036f5);border:1px solid #dac39b55;border-radius:8px;box-shadow:0 30px 100px #0006;padding:36px;max-width:620px;width:100%;max-height:92dvh;overflow:auto}.eyebrow{font-size:9px;letter-spacing:2.5px;color:#e6b87f}.card h2{font:italic 42px/1.1 Georgia;margin:13px 0 19px}.card p{font-size:13px;line-height:1.75;color:#cbd0da}.card strong{color:#fff1d7}.primary{border:0;background:#e9b578;color:#1d263b;padding:15px 24px;font-size:11px;letter-spacing:1px;font-weight:bold;border-radius:3px;margin:7px 8px 0 0}.choice{width:100%;background:#ffffff08;border:1px solid #e5d1ac44;border-radius:4px;text-align:left;padding:15px;color:#fff0d8;margin:7px 0;font-size:13px}.choice small{display:block;font-size:10px;color:#aeb9c9;margin-top:7px;line-height:1.5}.card a{color:#efbd7e;font-size:11px}.card input[type=text]{background:#101b30;border:1px solid #a5967c80;width:100%;padding:12px;color:#fff0d8;margin:10px 0}.card .muted{font-size:10px;color:#9fadc2}.badge{display:inline-block;padding:7px 9px;font-size:8px;letter-spacing:1.5px;border:1px solid #d4b38877;color:#e9b578;margin:0 6px 10px 0}.timing{height:70px;border:1px solid #c7b18c66;background:#101c30;margin:26px 0;position:relative;overflow:hidden;border-radius:3px}.timing .zone{position:absolute;left:38%;width:24%;height:100%;background:#8fc7bd44;border-left:2px solid #8fc7bd;border-right:2px solid #8fc7bd}.needle{position:absolute;left:0;width:5px;height:100%;background:#f7cc8a;box-shadow:0 0 20px #ffca86}#hit{width:100%;padding:22px;touch-action:manipulation}.take{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;color:#e9b578}#fullmap{width:100%;max-height:46vh;aspect-ratio:1;object-fit:contain}.maplegend{display:flex;gap:16px;font-size:10px;flex-wrap:wrap;color:#c4cedc}.hidden{display:none!important}#touch{display:none}button:hover{filter:brightness(1.13)}body.touch-enabled #touch{display:block;pointer-events:none}body.touch-enabled #controls{display:none}body.touch-enabled #joystick{position:absolute;bottom:max(25px,env(safe-area-inset-bottom));left:30px;width:110px;height:110px;border-radius:50%;background:#14203570;border:1px solid #ebdbba55;pointer-events:auto;touch-action:none}body.touch-enabled #stick{width:45px;height:45px;position:absolute;left:32px;top:32px;background:#e7c8977d;border:1px solid #ffe0b1a0;border-radius:50%}body.touch-enabled .touchActions{position:absolute;right:25px;bottom:max(24px,env(safe-area-inset-bottom));width:150px;display:flex;flex-wrap:wrap;gap:8px;justify-content:end}body.touch-enabled .touchActions button{border:1px solid #e8d9b577;background:#18253ad4;color:#fff0d8;border-radius:30px;width:55px;height:45px;font-size:9px;pointer-events:auto;touch-action:none}body.touch-enabled .touchActions #interact{width:108px;background:#e4b478de;color:#1b2537;font-weight:bold}body.touch-enabled #swipehint{position:absolute;right:28px;bottom:145px;font-size:6px;letter-spacing:1.3px;opacity:.7}body.touch-enabled #radio{bottom:166px;left:22px}body.touch-enabled #mapcorner{bottom:175px;width:110px;height:110px;right:20px}body.touch-enabled #location{bottom:300px;font-size:18px}body.touch-enabled #carhud{bottom:30px}body.touch-enabled #prompt{bottom:310px;padding:10px;font-size:10px}body.touch-enabled #mapcorner>span{bottom:10px;font-size:5px}
@media(max-width:650px){header{top:18px;left:18px;right:18px}.logo{font-size:24px}.logo small{font-size:6px;letter-spacing:1px;margin-left:7px}nav button{font-size:8px;padding:9px}#mission{top:77px;left:20px;max-width:270px}#chapter{font-size:7px;letter-spacing:1.5px}h1{font-size:26px}#objective{font-size:11px;max-width:260px}#distance{font-size:8px}#stats{top:205px;left:20px;right:auto;font-size:11px;gap:18px}#radio{padding:7px;gap:5px;max-width:225px}#radio b{font-size:8px;max-width:145px}#radio small,#radio span{font-size:6px}.card{padding:26px 23px}.card h2{font-size:35px}.card p{font-size:12px}.overlay{padding:16px}#notice{top:245px;max-width:90%;width:max-content;font-size:10px}#location{bottom:300px;right:20px}.maplegend{font-size:8px}#fullmap{max-height:38vh}}
@media(max-height:550px) and (pointer:coarse){#mission{top:65px;max-width:230px}#objective{font-size:10px}h1{font-size:22px}#stats{top:66px;left:auto;right:20px}#radio{bottom:22px;left:170px}#mapcorner{bottom:80px;width:90px;height:90px}#prompt{bottom:150px}#location{bottom:180px;font-size:16px}#swipehint{display:none}#joystick{width:90px;height:90px;left:23px;bottom:20px}#stick{left:22px;top:22px}.touchActions{bottom:16px}#notice{top:15px}#carhud{bottom:80px}.card h2{font-size:28px}.card p{font-size:11px}}

#playlist .selected{border-color:#edbb7d;background:#e6b87f18}#radio #trackArtist{display:block;max-width:200px;white-space:normal;line-height:1.4;font-size:7px}#radio button{flex-shrink:0}#radio>div{min-width:0}#radio{max-width:390px}#radio #trackTitle{max-width:230px}#playlist{margin:15px 0}#playlist .choice{padding:12px}
@media(max-width:650px){#radio{max-width:240px}#radio #trackTitle{max-width:140px}#radio #trackArtist{max-width:140px;font-size:6px}#radio button{padding:6px;font-size:8px}}

.touchActions button.active{background:#afc7a1;color:#172334}.touchActions button:disabled{opacity:.42}#qualityChoices .choice{padding:11px;margin:5px 0}#sensitivity{width:100%;margin:15px 0}#qualityBtn{font-size:16px;padding:5px 11px}.card label{font-size:12px;color:#d2d8df}.card .muted{line-height:1.7}

.card select{display:block;width:100%;background:#172238;border:1px solid #ac97776b;color:#f4e8d0;padding:12px;margin:12px 0 20px;border-radius:4px}body.touch-enabled #radio{max-width:calc(100vw - 150px)}#radio #trackArtist{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#touch #sprint.active{border-color:#c6e0ad}#touch #interact:disabled{opacity:.45}

.chapterList{display:grid;gap:10px;margin:20px 0}.chapterEntry{border:1px solid #b7a78944;border-radius:5px;padding:16px;background:#ffffff04}.chapterEntry.current{border-color:#edb476;background:#edb4760b}.chapterEntry>span{font-size:9px;letter-spacing:2px;color:#e8ba80}.chapterEntry h3{font:italic 24px Georgia;margin:9px 0}.chapterEntry p{margin:0;font-size:12px}
