:root{font-family:Arial,PingFang HK,sans-serif;color:#f1f0df;background:#202d2c;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select{font:inherit}button{cursor:pointer;color:inherit;background:#142f2cd9;border:1px solid #c6d4c32b;border-radius:5px;padding:10px 15px;transition:background .2s}button:hover{background:#326153}button:focus-visible,select:focus-visible{outline:3px solid #e9b36e;outline-offset:3px}canvas{display:block}#viewport{position:fixed;top:0;right:0;bottom:0;left:0}.hidden{display:none!important}#identity{position:fixed;top:28px;left:32px;display:flex;align-items:center;gap:12px;z-index:5;text-shadow:0 1px 12px #172d29}#identity strong{font-size:19px;letter-spacing:2px}#identity strong span{font-weight:400;opacity:.75}#identity small{font-size:12px;border-left:1px solid #ffffff66;padding-left:15px;letter-spacing:2px}.brand-dot{height:9px;width:9px;background:#ecaa5c;border-radius:50%}#top-actions{position:fixed;right:28px;top:24px;display:flex;gap:7px;z-index:8}#top-actions button{font-size:11px;background:#1d3634bd}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;padding:145px 6vw 65px;background:linear-gradient(90deg,#102c2bf2 0%,#142e2ace 29%,#152e2b50 49%,transparent 67%);overflow:auto;z-index:4;pointer-events:none}.sheet>*{pointer-events:auto;max-width:530px}.overline{font-size:11px;letter-spacing:3px;color:#dcb98a}h1{font-size:clamp(40px,4.2vw,66px);letter-spacing:-2.5px;font-weight:500;line-height:1.06;margin:24px 0 20px}h1 em{color:#e9b36e;font-style:normal}.subhead{letter-spacing:3px;font-size:15px;opacity:.9}.intro{font-size:14px;line-height:1.7;color:#c4d0c7;margin:25px 0}.facts{display:flex;gap:30px;margin:25px 0}.facts span{font-size:11px;color:#c3d0c8}.facts b{font-size:26px;color:#f1efde;margin-right:5px;font-weight:400}.choices{display:flex;gap:12px}.choices label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#c1ccc3;flex:1}select{display:block;width:100%;background:#193430;color:#ebe9d9;border:1px solid #6a8072;padding:10px 6px;margin-top:8px;font-size:12px;border-radius:3px}.primary{background:#e4b174;color:#1c3129;border:0;font-weight:600;padding:15px 25px;font-size:16px}.primary:hover{background:#f1c994}.primary span{font-size:12px;margin-left:32px}#begin{margin-top:23px}.note{font-size:10px;color:#adbcaf;margin-top:16px}.sheet details{font-size:11px;color:#bbc9bd;line-height:1.6;margin-top:18px}.sheet summary{cursor:pointer}.sheet details p{max-width:460px}#load{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#132d28;display:grid;place-content:center;text-align:center}#load h1{font-size:38px}#load p{font-size:13px;color:#b8cbbb}.load-track{height:2px;background:#41584c;margin-top:30px;overflow:hidden}.load-track i{display:block;width:40%;height:100%;background:#e0af6f;animation:loading 2s infinite}.failed .load-track{display:none}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(350%)}}#hud{pointer-events:none}#next-panel{position:fixed;top:94px;left:32px;background:#12312cd4;border-left:3px solid #e1af6d;padding:17px 23px;min-width:264px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#next-panel small,#score-panel small{font-size:9px;letter-spacing:2px;color:#bdcbbd}#next-panel h2{font-size:23px;margin:9px 0 7px;font-weight:500}#next-distance{font-size:12px;color:#d0d7c6}#signal-status{font-size:11px;margin-top:10px}#score-panel{position:fixed;top:94px;right:32px;text-align:right;text-shadow:0 2px 8px #173629;background:#16382fc4;padding:15px 20px}#score-panel b{display:block;font-size:29px;color:#edbd7e;font-weight:400;margin:5px 0}#score-panel span{display:block;font-size:11px;margin:3px 0;color:#d6dccd}#cluster{position:fixed;left:30px;bottom:94px;background:#102c29e8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;border-top:2px solid #d2ac77;padding:17px 24px;gap:22px}.speed{position:relative;min-width:75px;text-align:center}.speed>b{font-size:56px;line-height:1;font-weight:400;letter-spacing:-3px}.speed>span{font-size:10px;display:block;color:#b6c6b8}#limit{position:absolute;left:66px;top:-5px;border:3px solid #be5e4f;border-radius:50%;background:#e6e7d9;color:#20312b;width:30px;height:30px;display:grid;place-content:center;font-size:12px;font-weight:700}.switches{font-size:10px;line-height:1.9;padding-left:9px;color:#c6d4c6;min-width:165px}.switches span{display:block}#telemetry{position:fixed;right:30px;bottom:104px;display:grid;grid-template-columns:1fr 1fr;gap:15px 20px;background:#112e28df;padding:19px 23px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#telemetry span{font-size:8px;letter-spacing:1px;color:#afc3b4}#telemetry b{display:block;font-size:17px;font-weight:400;letter-spacing:0;color:#e5e9d7;margin-top:4px}#route-strip{position:fixed;bottom:35px;left:50%;transform:translate(-50%);display:flex;background:#18362bde;padding:13px 18px 9px;gap:28px}#route-strip>div{display:flex;position:relative;flex-direction:column;align-items:center;font-size:9px;gap:7px}#route-strip>div:not(:last-child):after{content:"";position:absolute;background:#526b5d;height:2px;left:13px;top:5px;width:35px}#route-strip i{border:2px solid #92ad98;border-radius:50%;height:12px;width:12px;background:#143526;z-index:1}#route-strip .done i{background:#8eb898}#route-strip .here i{border-color:#ecb26b;background:#ecb26b}#route-strip .missed i{background:#b8614b}#instruction{position:fixed;bottom:211px;left:50%;transform:translate(-50%);font-size:12px;max-width:560px;text-align:center;padding:10px 22px;background:#142e27e8;border:1px solid #9bb39555;border-radius:4px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#buttons{pointer-events:auto;position:fixed;bottom:35px;left:30px;display:flex;gap:4px}#buttons button{font-size:10px;padding:10px;background:#18362edd}#dwell{position:fixed;bottom:190px;width:330px;left:50%;transform:translate(-50%);height:4px;background:#33493d;display:none}#dwell.active{display:block}#dwell i{display:block;height:4px;background:#dcbb79}#dwell span{display:block;text-align:center;font-size:8px;letter-spacing:2px;margin-top:8px;color:#c7d4c0}#toast{position:fixed;top:35%;left:50%;transform:translate(-50%,-15px);padding:12px 24px;background:#1d3d2de8;color:#f0d5a4;border:1px solid #bda46b66;z-index:15;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;font-size:13px}#toast.visible{opacity:1;transform:translate(-50%)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#142b28ef;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;overflow:auto}.modal h1{font-size:46px}.modal small{font-size:11px;letter-spacing:3px;color:#d8b17a}.modal button{margin:7px}#report-grade{font-size:72px;color:#e0b16d;margin:5px}#report-data{width:370px;max-width:90vw;margin-bottom:15px}#report-data>div{display:flex;justify-content:space-between;font-size:12px;padding:7px 0;border-bottom:1px solid #d4dfce25}#report-data b{color:#e4c090}#footnote{position:fixed;right:30px;bottom:15px;font-size:8px;letter-spacing:1.5px;color:#c3cec1b5;pointer-events:none}body[data-screen=menu] #top-actions #pause{display:none}@media (max-height:790px){.sheet{padding-top:105px}.sheet h1{font-size:48px;margin:14px 0}.intro,.facts{margin:15px 0}.sheet details{margin-top:10px}}@media (max-width:900px){#identity small{display:none}.sheet{padding-left:30px;background:linear-gradient(90deg,#102c2bf5,#142e2a94 80%,transparent)}#identity{left:22px}#top-actions{right:15px}#cluster{left:15px;padding:13px;bottom:100px}.switches{display:none}#next-panel{left:15px;min-width:220px}#score-panel{right:15px}#telemetry{right:15px;bottom:100px;padding:12px;gap:10px}#route-strip{bottom:17px;gap:22px}#buttons{left:15px;bottom:62px}#instruction{bottom:220px;width:70vw;font-size:11px}#footnote{display:none}.facts{gap:20px}.sheet>*{max-width:480px}}.operation-control{display:flex;align-items:center;gap:.5rem;color:#f0efdd;font-size:13px;background:#173d35;padding:8px 12px;border-radius:5px}.operation-control select{width:auto;margin:0;padding:6px;background:#264e43;color:#fff;border:1px solid #759b89;border-radius:3px}#top-actions{flex-wrap:wrap}@media (max-width:700px){#top-actions{max-width:70%;gap:4px}.operation-control{padding:4px}#top-actions button{padding:8px}}#mobile-buttons{display:none}html.mobile #viewport canvas{touch-action:none}html.mobile #buttons,html.mobile #telemetry,html.mobile #score-panel,html.mobile .note,html.mobile .sheet details,html.mobile #camera{display:none!important}html.mobile #mobile-buttons{display:flex;position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:12px;right:12px;gap:8px;pointer-events:auto}html.mobile #mobile-buttons button{flex:1;min-height:52px;padding:8px 4px;font-size:13px;touch-action:manipulation;background:#173d35}html.mobile #mobile-buttons button:first-child{background:#e4b174;color:#17352b}html.mobile #identity{top:12px;left:14px;font-size:15px}html.mobile #top-actions{top:45px;left:12px;right:12px;max-width:none;justify-content:flex-end;gap:5px}html.mobile #top-actions button{min-height:40px;padding:6px 9px}html.mobile #next-panel{top:100px;left:12px;padding:10px 12px;min-width:0;max-width:70vw}html.mobile #next-panel h2{font-size:18px;margin:5px 0}html.mobile #cluster{bottom:82px;left:12px;padding:8px 14px}html.mobile .speed>b{font-size:34px}html.mobile #route-strip{bottom:84px;left:auto;right:12px;transform:none;gap:13px;padding:10px}html.mobile #route-strip>div:not(:last-child):after{width:22px}html.mobile #instruction{bottom:145px;width:calc(100vw - 24px);max-width:500px;padding:8px;font-size:11px}html.mobile #dwell{bottom:135px;width:60vw}html.mobile .sheet{width:100%;padding:100px 20px 25px;overflow:auto;max-height:100dvh}html.mobile .sheet h1{font-size:36px}.mobile .choices{flex-direction:column}html.mobile .facts{gap:12px;margin:14px 0}.mobile .intro{font-size:12px}@media (max-height:500px){html.mobile #identity{display:none}html.mobile #top-actions{top:8px}html.mobile #next-panel{top:8px;max-width:37vw}html.mobile #instruction{bottom:80px;max-width:42vw}html.mobile #route-strip{display:none}html.mobile .sheet{padding-top:20px}html.mobile .sheet .facts,html.mobile .sheet .intro{display:none}}#clean-view{position:fixed;right:8px;top:8px;width:30px;height:30px;padding:0;z-index:50;border-radius:50%;background:#16362ba8;color:#fff;font-size:18px}body.clean-view>:not(#viewport):not(#clean-view){visibility:hidden!important}body.clean-view #clean-view{opacity:.45}body.clean-view #clean-view:hover,body.clean-view #clean-view:focus-visible{opacity:1}html.mobile #clean-view{width:40px;height:40px;top:3px;right:8px}#minimap{position:absolute;right:24px;top:32%;width:150px;height:206px;border:1px solid #77998d66;border-radius:8px}#route-choices{position:absolute;left:24px;bottom:185px;display:flex;gap:5px}#route-choices button{padding:8px;font-size:12px}.mobile #minimap{width:92px;height:126px;right:10px;top:31%}.mobile #route-choices{left:10px;bottom:140px;gap:3px}.mobile #route-choices button{font-size:10px;padding:7px}@media (max-height:500px){.mobile #route-choices{bottom:76px}.mobile #minimap{top:80px;width:80px;height:110px}}#route-choices{pointer-events:auto;bottom:260px}#route-choices button{min-height:44px}body[data-mode=free] #route-choices{display:none}.mobile #route-choices{bottom:195px}.mobile #route-choices button{font-size:11px;padding:8px;min-height:44px}.mobile #minimap{width:120px;height:165px}@media (max-height:500px){.mobile #route-choices{left:12px;bottom:132px}.mobile #minimap{right:10px;top:90px;width:100px;height:138px}}#minimap{width:170px;height:auto;top:30%}.mobile #minimap{width:135px;height:auto;top:25%}@media (max-height:500px){.mobile #minimap{width:106px;height:auto;top:75px}}body[data-screen=driving] #identity,body[data-screen=paused] #identity,#route-strip,#footnote,#signal-status,.switches{display:none!important}#map-button{position:fixed;left:max(12px,env(safe-area-inset-left));top:12px;width:126px;height:126px;border:2px solid #b8c8bf;border-radius:50%;overflow:hidden;padding:0;background:#12372f;pointer-events:auto;z-index:8;box-shadow:0 2px 8px #0005}#map-button #minimap{position:static!important;width:100%!important;height:100%!important;border:0;border-radius:0}body.map-expanded #map-button{width:190px;height:min(430px,calc(100dvh - 96px));border-radius:12px;z-index:18}body.map-expanded #map-button #minimap{object-fit:contain}#hud #next-panel{position:fixed;left:154px;top:14px;right:78px;max-width:270px;min-width:0;padding:8px 12px;border:0;border-radius:20px;background:#14382ad9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#hud #service-label{display:none}#hud #next-panel h2{font-size:15px;margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#hud #next-distance{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#edge-tools{position:fixed;top:64px;right:max(12px,env(safe-area-inset-right));display:flex;flex-direction:column;gap:8px;pointer-events:auto;z-index:9}#edge-tools button,#clean-view{width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;background:#263b3be6;border:2px solid #aebeb7;color:#edf4ed;font-size:22px;display:grid;place-items:center;box-shadow:0 2px 6px #0005}html.mobile #edge-tools #camera{display:grid!important}#clean-view,html.mobile #clean-view{right:max(12px,env(safe-area-inset-right));top:12px;width:44px;height:44px}#hud #mobile-buttons{display:contents!important}#mobile-buttons button{position:fixed!important;bottom:max(14px,env(safe-area-inset-bottom));width:58px;min-height:58px;height:58px;flex:none!important;padding:4px!important;border-radius:50%;border:2px solid #b9cac1;background:#263b3bed!important;pointer-events:auto;touch-action:manipulation;box-shadow:0 2px 8px #0005;z-index:9}#mobile-buttons b{font-size:21px;display:block;line-height:22px}#mobile-buttons small{display:block;font-size:10px}#mobile-buttons [data-action=doors]{left:max(12px,env(safe-area-inset-left));color:#9ce9eb}#mobile-buttons [data-action=stop]{right:82px;color:#ff9f8b}#mobile-buttons [data-action=go]{right:max(12px,env(safe-area-inset-right));color:#b8f08d!important}#hud #cluster{position:fixed;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translate(-50%);padding:5px 12px;width:106px;height:54px;min-width:0;border:1px solid #94aa9b;border-radius:12px;display:flex;justify-content:flex-start;background:#18352deb;gap:0}#hud .speed{min-width:43px}#hud .speed>b{font-size:29px;letter-spacing:-1px}#hud .speed>span{font-size:9px}#hud #limit{left:48px;top:5px;width:28px;height:28px;font-size:11px}#hud #instruction,#toast{position:fixed;left:50%;top:auto;bottom:86px;transform:translate(-50%);width:max-content;max-width:min(440px,calc(100vw - 32px));padding:9px 14px;border-radius:18px;background:#15362deb;text-align:center;font-size:12px;opacity:0;pointer-events:none;transition:opacity .25s}#hud #instruction.prompt-visible,#toast.visible{opacity:1;transform:translate(-50%)}#toast.visible~*{pointer-events:auto}body:has(#toast.visible) #instruction{opacity:0!important}#hud #dwell{bottom:78px;width:180px;height:3px}#hud #dwell span{display:none}#drive-options{color:#eff3e9;background:#17382cf5;border:1px solid #8ba295;border-radius:16px;width:min(430px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:18px;overflow:auto;z-index:60}#drive-options::backdrop{background:#0008;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}#drive-options h2{font-size:18px;margin:0 44px 16px 0}#close-options{position:absolute;right:10px;top:8px;width:40px;height:40px;padding:0;font-size:25px}#drive-options #top-actions,#drive-options #route-choices,#drive-options #buttons,#drive-options #telemetry,#drive-options #score-panel{position:static!important;display:flex!important;flex-wrap:wrap;max-width:none!important;width:auto;transform:none;padding:8px 0;gap:8px;pointer-events:auto;background:transparent;text-align:left;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;margin:0}#drive-options button:not(#close-options){font-size:12px;min-height:44px;padding:8px 12px}#drive-options #telemetry,#drive-options #score-panel{border-top:1px solid #526f5f;font-size:12px;align-items:center}#drive-options #score-panel b{font-size:20px;margin:0}#drive-options #score-panel small{display:none}body[data-mode=free] #mobile-buttons,body[data-mode=free] #cluster{display:none!important}@media (max-width:480px){#map-button{width:104px;height:104px}#hud #next-panel{left:126px;right:70px;padding:7px 9px}#hud #next-panel h2{font-size:13px}#hud #next-distance{font-size:10px}#hud #cluster{left:44%;width:92px;padding-left:7px}#hud #instruction{font-size:11px}#mobile-buttons button{width:52px;height:52px;min-height:52px}#mobile-buttons [data-action=stop]{right:74px}}@media (max-height:400px){#map-button{width:96px;height:96px}#hud #next-panel{left:120px;top:12px}#edge-tools{top:62px;gap:6px}#edge-tools button{width:42px;height:42px;min-height:42px}#hud #instruction{bottom:78px;max-width:52vw;font-size:11px}#hud #dwell{bottom:72px}#drive-options{max-height:calc(100dvh - 16px)}}body.map-expanded #next-panel{visibility:hidden}body[data-mode=free] #mobile-buttons button{display:none!important}#hud #route-choices{position:fixed;left:12px;bottom:84px;display:flex;flex-direction:column;gap:6px;max-width:155px;z-index:9}#hud #route-choices button{min-height:38px;padding:7px 12px;font-size:12px;background:#18382eea;border-radius:18px;white-space:nowrap}#hud #route-choices [data-action^=depot-]{display:none}body[data-depot=true] #hud #route-choices [data-action^=depot-]{display:block}#clean-view{font-weight:700;font-size:27px}#edge-tools svg{width:25px;height:25px}#speed-dial{display:none}.mobile #speed-dial{position:fixed;right:12px;bottom:84px;width:112px;height:112px;border:2px solid #9ebaae;border-radius:50%;background:#17382fed;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:auto;z-index:9;box-shadow:0 2px 8px #0006}#speed-dial span{font-size:8px;letter-spacing:1px}#speed-dial output{font-size:28px;line-height:30px}#speed-dial small{font-size:9px}#speed-control{width:80px;height:28px;margin:0;accent-color:#e6b579;touch-action:none}body[data-mode=free] #speed-dial{display:none}@media (max-height:500px) and (orientation:landscape){#hud #next-panel{left:120px;top:10px;right:auto;width:220px;max-width:calc(100vw - 210px);padding:5px 10px;border-radius:14px}#hud #next-panel h2{font-size:12px;margin-bottom:2px}#hud #next-distance{font-size:10px}#hud #route-choices{bottom:76px;gap:4px}#hud #route-choices button{min-height:32px;font-size:11px;padding:5px 10px}.mobile #speed-dial{right:68px;bottom:80px;width:96px;height:96px}#hud #instruction{max-width:calc(100vw - 340px)}}body[data-depot=true] #hud #route-choices [data-action=express],body[data-depot=true] #hud #route-choices [data-action=depot],body[data-mode=free] #hud #route-choices{display:none}
