#character-loading{position:absolute;left:50%;bottom:110px;transform:translate(-50%);max-width:min(540px,80vw);padding:11px 16px;background:#0c1a22e6;border:1px solid #8ab4af55;border-radius:10px;color:#e1eeec;display:grid;gap:6px;font-size:12px;pointer-events:auto}#character-loading[hidden]{display:none}#character-loading small{color:#a0b3b6;font-size:10px}#character-loading progress{width:100%;height:4px;accent-color:#a9d8cf}#character-loading button{justify-self:start;background:#cee4de;color:#142c32;border:0;border-radius:4px;padding:5px 10px;cursor:pointer}#character-credit{position:absolute;bottom:8px;left:50%;transform:translate(-50%);font-size:9px;letter-spacing:.05em;color:#ccd5d199;text-shadow:0 1px 3px #000;pointer-events:none;white-space:nowrap}#character-credit[hidden]{display:none}:root{font-family:PingFang SC,Noto Sans SC,system-ui,sans-serif;color:#f0f0e4;font-synthesis:none;background:#102326}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;cursor:pointer;color:inherit;border:1px solid #bccdc237;background:#253b3ae8;border-radius:5px;padding:11px 17px;transition:background .15s}button:hover{background:#466057}button:focus-visible{outline:2px solid #d6efd9;outline-offset:3px}kbd{font:11px system-ui;display:inline-block;border:1px solid #ecf5e94a;border-radius:3px;padding:2px 5px;margin:0 4px;color:#dfe7d9}#game{width:100vw;height:100vh;display:block;touch-action:none;outline:none}#ui{position:fixed;inset:0;pointer-events:none;text-shadow:0 1px 5px #00101455}#ui button,#map-panel,#pause{pointer-events:auto}[hidden]{display:none!important}header{display:flex;align-items:center;gap:30px;padding:27px 34px;background:linear-gradient(#0b1f285c,transparent)}.wordmark{font-size:27px;font-weight:600;letter-spacing:7px}.wordmark span{display:block;font-size:8px;font-weight:400;letter-spacing:3.5px;margin-top:3px}.location{display:flex;align-items:center;gap:11px;font-size:14px;letter-spacing:1px}.location i{width:6px;height:6px;background:#a6d6bf;border-radius:50%}.location small{border-left:1px solid #c9d3ce55;padding-left:14px;font-size:12px;color:#ced4ce}#map-button{margin-left:auto;font-size:12px;padding:9px 14px;background:#192e3666;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.intro{position:absolute;top:19%;left:35px;transition:opacity 2s}.intro>span{font-size:10px;letter-spacing:4px;color:#ced8cb}.intro h1{font-weight:500;font-size:30px;letter-spacing:3px;margin:13px 0 8px}.intro p{font-size:12px;color:#d4d9ce}.intro.gone{opacity:0}#toast{position:absolute;top:110px;left:50%;transform:translate(-50%) translateY(-10px);opacity:0;transition:.3s;background:#18353be3;border:1px solid #b8d8c733;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:12px 24px;border-radius:6px;font-size:13px;letter-spacing:.5px}#toast.visible{opacity:1;transform:translate(-50%)}#route-hud{position:absolute;right:35px;top:130px;background:linear-gradient(90deg,transparent,#163031a6);text-align:right;padding:15px;border-right:2px solid #adc9ad}#route-hud small,#route-hud strong,#route-hud span{display:block}#route-hud small{font-size:10px;letter-spacing:3px;color:#c1cbbb}#route-hud strong{font-size:18px;font-weight:500;margin:7px 0}#route-hud span{font-size:12px;color:#d1dacd}#minimap{position:absolute;bottom:80px;left:34px;width:214px;height:214px;box-shadow:0 5px 30px #10232a30;border:1px solid #d8e7dc44;border-radius:50%;overflow:hidden;background:#1a3439}#mini-map{width:100%;height:100%;opacity:.86}.north{position:absolute;top:9px;left:50%;font:10px system-ui;color:#e1e7d9}#road-name{position:absolute;bottom:0;left:0;right:0;text-align:center;padding:18px 9px;background:linear-gradient(transparent,#142a31ed);font-size:11px}#speedometer{position:absolute;right:43px;bottom:94px;width:220px}#speedometer>div:first-child{display:flex;align-items:baseline;justify-content:flex-end;gap:10px}#speed{font-size:76px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-4px}#speedometer span{font-size:10px;letter-spacing:1px;color:#d2dfd7}.speed-line{height:2px;background:#c0d6d540;margin:14px 0 12px;overflow:hidden}.speed-line i{display:block;width:0;height:100%;background:#c3e6d3;box-shadow:0 0 15px #8dddce}#speedometer small{display:flex;justify-content:space-between}#speedometer #gear{font-size:13px;font-weight:700;color:#f5ebc4}.controls{position:absolute;bottom:32px;left:34px;right:34px;display:flex;justify-content:center;gap:19px;font-size:10px;color:#d2dfd8;text-shadow:0 1px 5px #000}.controls span{white-space:nowrap}#credits{position:absolute;bottom:7px;left:34px;font-size:8px;letter-spacing:.4px;color:#a7b9b2}#fps{position:absolute;right:34px;bottom:8px;font:10px monospace;color:#d8e4d9}#loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at 65% 30%,#365353,#11272e 65%);pointer-events:auto}.brand{font-size:54px;letter-spacing:14px}.brand span{display:block;font-size:10px;letter-spacing:4.4px;padding-top:15px}#loading p{font-size:12px;letter-spacing:2px;color:#b7c6bc;margin:40px 0}.load-line{width:240px;height:2px;background:#f3f8eb22;overflow:hidden}.load-line i{display:block;width:45%;height:100%;background:#bed4bd;animation:load 1.8s ease-in-out infinite}#progress{font-size:10px;color:#afc5bb;margin-top:16px;letter-spacing:1px}@keyframes load{0%{transform:translate(-120%)}to{transform:translate(330%)}}#map-panel{position:absolute;inset:0;display:grid;place-items:center;background:#07191dc7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:35px}.map-shell{width:min(1440px,100%);background:#152c30;border:1px solid #94afa92d;box-shadow:0 24px 100px #0007;border-radius:10px;overflow:hidden}.map-heading{display:flex;justify-content:space-between;align-items:center;padding:26px 32px}.map-heading small{font-size:9px;letter-spacing:4px;color:#9ebcaf}.map-heading h2{font-size:24px;font-weight:500;letter-spacing:2px;margin:7px 0 0}.map-heading button{font-size:12px}.map-body{display:grid;grid-template-columns:minmax(0,1fr) 295px}.map-image{align-self:center;position:relative}#city-map{display:block;width:100%;height:auto}.legend{padding:12px 24px;color:#97b1a5;font-size:10px}.legend i{display:inline-block;width:18px;height:2px;background:#738d86;vertical-align:middle}.legend i.route{background:#bfe5d2}.legend span{color:#bbcfb6}aside{background:#0f24295e;padding:0 20px 20px;max-height:62vh;overflow:auto}#places{display:grid;gap:5px}.place{display:block;text-align:left;padding:10px 13px;background:transparent;border:1px solid transparent}.place span{display:block;font-size:12px}.place small{display:block;font-size:9px;color:#98b0a6;margin-top:4px}.place.selected{border-color:#9ab7a969;background:#31504a}#destination-actions{border-top:1px solid #a6c7bb2c;margin-top:16px;padding-top:18px}#destination-actions strong{font-size:14px}#destination-actions p{font-size:10px;color:#b5c8bd;line-height:1.6}#destination-actions button{width:100%;margin-top:7px;background:#b7ccad;color:#17362d;font-size:12px}#destination-actions button.secondary{background:transparent;color:#b8cbc0;border-color:#b7ccad30;font-size:10px}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #afc8ba24;padding:17px 30px;color:#adc0b5;font-size:10px}footer span{font-size:9px;color:#7f9b91}#pause{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:#09232988;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#pause h2{font-size:36px;font-weight:400;letter-spacing:5px}@media(max-width:1000px){.controls{gap:7px;font-size:8px}#minimap{width:155px;height:155px}.map-body{grid-template-columns:minmax(0,1fr) 230px}header{padding:20px}.intro{left:25px}.intro h1{font-size:23px}.location{font-size:12px}footer span{display:none}}#city-map{cursor:crosshair}.legend b{display:inline-block;font-weight:400;color:#c8dece;margin-bottom:8px}#journal-button{position:absolute;right:35px;bottom:250px;font-size:12px;background:#17313bc9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}#wallet{color:#d3e9bc;margin:0 10px}#life-journal{pointer-events:auto;position:absolute;top:100px;right:35px;bottom:90px;width:410px;overflow:auto;padding:26px;background:#102c34f5;border:1px solid #b9d5c94a;border-radius:10px;box-shadow:0 20px 80px #0007}.life-heading small{font-size:10px;letter-spacing:3px;color:#b3c8b9}.life-heading h2{font-size:22px;font-weight:500}.life-heading p{font-size:12px;color:#d5deb6}#life-progress{width:100%;height:5px;accent-color:#bcd8b4}#ride-list article{border-top:1px solid #bccdc22d;padding:20px 0}#ride-list small{font-size:10px;color:#bed4c2}#ride-list h3{font-size:16px;font-weight:500;margin:8px 0}#ride-list p{font-size:12px;line-height:1.8;color:#c3cfc7}#ride-list button{font-size:12px;width:100%}#ride-list button:disabled{opacity:.5;cursor:default}.life-note{font-size:10px;color:#9cb7a5;line-height:1.8}#ride-prompt{position:absolute;bottom:155px;left:50%;transform:translate(-50%);border:1px solid #b9d5c94a;background:#132f36ed;padding:15px 25px;border-radius:6px;font-size:13px}#observer-help{position:fixed;left:50%;bottom:42px;transform:translate(-50%);background:#102229d9;border:1px solid #bdd3c34d;border-radius:10px;padding:12px 24px;color:#dfebe2;display:flex;flex-direction:column;gap:5px;text-align:center;font-size:12px;pointer-events:none}#observer-help[hidden]{display:none}#observer-help strong{letter-spacing:3px;font-size:14px}.observer-muted{opacity:.25}body:has(#observer-help:not([hidden])) .intro{display:none}body:has(#observer-help:not([hidden])) .controls{display:none}body.recording-cursor-hidden:not(:has(#map-panel:not([hidden]),#life-journal:not([hidden]),#pause:not([hidden]),.observer-beacon-panel:not([hidden]),.observer-beacon-list:not([hidden]))) :is(#game,#ui,#ui *){cursor:none!important}#area-reveal{position:absolute;z-index:2;top:64px;left:12%;right:12%;overflow:hidden;color:#f4f3ef;font:500 clamp(30px,2.35vw,45px)/1.18 "Songti SC","Noto Serif SC","STSong",serif;letter-spacing:.22em;text-align:center;text-overflow:ellipsis;text-shadow:0 1px 2px #0004;white-space:nowrap;opacity:0;pointer-events:none}#area-reveal.visible{animation:area-reveal 1s ease-in-out both}@keyframes area-reveal{0%,to{opacity:0}18%,68%{opacity:1}}@media(max-width:1000px){#area-reveal{top:86px;left:5%;right:5%;font-size:clamp(22px,3vw,30px);letter-spacing:.14em}}@media(prefers-reduced-motion:reduce){#area-reveal.visible{animation-duration:1s}}.city-audio-controls{width:min(430px,90vw);margin:22px auto 0;padding:18px 0;border-top:1px solid #e6ede025;text-align:left;color:#eef0e8;font:13px/1.6 system-ui,sans-serif}.audio-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;letter-spacing:.08em}.audio-heading button{padding:5px 13px;border:1px solid #cbdcca44;border-radius:5px;background:#d3ebdb12;color:#d2ebda;font:inherit;cursor:pointer}.city-audio-controls label{display:flex;align-items:center;justify-content:space-between;margin:9px 0;gap:20px;color:#c4c9c4}.city-audio-controls input{width:48%;accent-color:#a9d3b8;cursor:pointer}.city-audio-controls small{display:block;margin-top:12px;color:#a3aca7;font-size:11px}#route-hud #cancel-autodrive{display:block;margin:12px 0 0 auto;padding:7px 12px;color:#e4eee6;background:#0c191b88;border:1px solid #c0d7c044;border-radius:4px;font:12px/1.4 system-ui,sans-serif;letter-spacing:.08em;pointer-events:auto;cursor:pointer}#route-hud #cancel-autodrive[hidden]{display:none}#route-hud small{line-height:1.55}.city-loader{--loader-mint:#436d67;--loader-paper:#243a3e;position:fixed;inset:0;z-index:1000;overflow:hidden;color:var(--loader-paper);background:#e8eae5;font-family:PingFang SC,Noto Sans SC,system-ui,sans-serif;pointer-events:auto;opacity:1;transition:opacity .7s ease;isolation:isolate;text-shadow:none}.city-loader *{box-sizing:border-box}.city-loader:focus{outline:none}.city-loader.is-leaving{opacity:0}.city-loader-poster,.city-loader-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%;pointer-events:none}.city-loader-film{opacity:0;transition:opacity .8s ease}.city-loader[data-film=playing] .city-loader-film{opacity:1}.city-loader-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#f3efe6d9 0,#f1ede3a3 29%,#edf0e50a 60%,transparent 80%),linear-gradient(0deg,#e9e6dccf 0,#e9e6dc66 17%,transparent 40%)}.city-loader-topline{position:absolute;top:5.4%;left:6.1%;right:6.1%;display:flex;justify-content:space-between;font:10px Helvetica Neue,Arial,sans-serif;letter-spacing:.23em;color:#526967}.city-loader-topline span:last-child{font-family:PingFang SC,sans-serif;font-size:10px;letter-spacing:.21em}.city-loader-title{position:absolute;left:11%;top:27%;animation:city-loader-enter 1.2s ease both}.city-loader-edition{font-size:10px;letter-spacing:.35em;color:#55756d}.city-loader-title h1{margin:20px 0;font-family:Songti SC,"Noto Serif SC",STSong,serif;font-size:clamp(65px,7.4vw,122px);line-height:1.3;font-weight:400;letter-spacing:.21em;color:#233b3e;text-shadow:0 1px 16px #ffffff66}.city-loader-title-rule{height:1px;width:42px;background:#758e84;margin:27px 0}.city-loader-title p{margin:0;font-family:Songti SC,"Noto Serif SC",STSong,serif;font-size:clamp(15px,1.5vw,23px);font-weight:400;line-height:1.9;letter-spacing:.17em;color:#3f5655}.city-loader-districts{display:flex;align-items:center;gap:16px;margin-top:28px;font-size:10px;letter-spacing:.19em;color:#617570}.city-loader-districts>span{height:1px;width:16px;background:#95a69a}.city-loader-bottom{position:absolute;left:11%;right:8%;bottom:9.5%}.city-loader-progress-block{width:min(660px,61%)}.city-loader-progress-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:17px}.city-loader-group{display:block;font-size:9px;letter-spacing:.24em;color:var(--loader-mint)}.city-loader-status{margin:8px 0 0;font-size:12px;line-height:1.7;letter-spacing:.09em;color:#304948}.city-loader-percent{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.city-loader-percent b{font-family:DIN Alternate,Helvetica Neue,Arial,sans-serif;font-weight:300;font-size:39px;font-variant-numeric:tabular-nums;letter-spacing:-.035em;line-height:.9}.city-loader-percent>span{font:10px Arial,sans-serif;color:#617570}.city-loader-progress{height:2px;background:#667f7133;overflow:hidden}.city-loader-progress>i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#396b65,#698a73 70%,#a78d5b);box-shadow:0 0 9px #a6d7bd52;transform:scaleX(0);transform-origin:0 50%;transition:transform .28s ease}.city-loader-progress-meta{display:flex;justify-content:space-between;gap:15px;margin-top:11px;font-size:9px;letter-spacing:.12em;color:#5a7068;font-variant-numeric:tabular-nums}.city-loader-failure{margin-top:24px}.city-loader-failure p{margin:0 0 15px;color:#9b4b31;font-size:12px;line-height:1.7;overflow-wrap:anywhere;max-height:18vh;overflow:auto}.city-loader-failure button{border:1px solid #708c7580;background:#6a887514;color:#304948;padding:10px 15px;font:12px PingFang SC,sans-serif;letter-spacing:.13em;border-radius:2px;cursor:pointer}.city-loader-failure button span{margin-left:24px;color:#4a6e5c}.city-loader-failure button:hover{background:#7a93752b}.city-loader-failure button:focus-visible{outline:2px solid #486e59;outline-offset:4px}.city-loader[data-state=error] .city-loader-group{color:#9b4b31}.city-loader[data-state=error] .city-loader-title p,.city-loader[data-state=error] .city-loader-districts{display:none}.city-loader[data-state=ready] .city-loader-percent{color:#365f50}@keyframes city-loader-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1000px){.city-loader-title{left:8%;top:26%}.city-loader-bottom{left:8%;right:8%;bottom:9%}.city-loader-progress-block{width:70%}.city-loader-title h1{font-size:82px}.city-loader-topline{left:8%;right:8%}.city-loader-topline span:last-child{display:none}}@media(max-width:650px){.city-loader-vignette{background:linear-gradient(90deg,#f1ede3c9,#eef0e955),linear-gradient(0deg,#f1f2ebf2,transparent 72%)}.city-loader-title{left:9%;top:23%}.city-loader-title h1{font-size:74px;letter-spacing:.18em;margin-top:18px}.city-loader-title p{font-size:17px}.city-loader-title-rule{margin:21px 0}.city-loader-districts{margin-top:22px}.city-loader-topline{left:9%;right:9%;top:7%;font-size:8px;letter-spacing:.17em}.city-loader-bottom{left:9%;right:9%;bottom:max(9%,calc(env(safe-area-inset-bottom) + 28px))}.city-loader-progress-block{width:100%}.city-loader-status{font-size:11px;letter-spacing:.015em}.city-loader-progress-basis{font-size:8px;letter-spacing:0}.city-loader-percent b{font-size:34px}}@media(max-height:600px){.city-loader-title{top:18%}.city-loader-title h1{font-size:66px;margin:12px 0}.city-loader-title-rule{margin:15px 0}.city-loader-title p{font-size:15px;line-height:1.6}.city-loader-districts{margin-top:14px}.city-loader-bottom{bottom:7%}.city-loader-topline{top:5%}.city-loader[data-state=error] .city-loader-title p,.city-loader[data-state=error] .city-loader-districts{display:none}}@media(prefers-reduced-motion:reduce){.city-loader,.city-loader *{animation:none!important;transition:none!important}}.city-quicktips{position:absolute;left:50%;bottom:max(19px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:3;width:max-content;max-width:calc(100vw - 2 * var(--hud-dial,260px) - 90px);font:10px PingFang SC,Noto Sans SC,system-ui,sans-serif;color:#edf0e6b3;text-shadow:0 1px 4px #07131dcc;pointer-events:none}.city-quicktips-line{display:flex;align-items:center;gap:16px;min-height:30px;padding:3px 9px;background:linear-gradient(90deg,#08151d00,#08151d47 20% 80%,#08151d00);white-space:nowrap}.city-quicktips-mode{font-size:9px;letter-spacing:.12em;color:#b8d7c596;padding-right:2px}.city-quicktips ul{display:flex;gap:17px;align-items:center;padding:0;margin:0;list-style:none}.city-quicktips li{display:flex;gap:5px;align-items:center}.city-quicktips kbd{display:inline-block;padding:1px 4px;margin:0;border:1px solid #e0e5da2a;border-radius:2px;background:#13252b26;color:#eef2e3c9;font:9px Helvetica Neue,Arial,sans-serif;line-height:1.5;letter-spacing:.015em;box-shadow:0 1px #edf2e011}.city-quicktips button{font:inherit;color:inherit;cursor:pointer;pointer-events:auto}.city-quicktips .city-quicktips-toggle{display:flex;align-items:center;gap:5px;flex-shrink:0;border:0;border-left:1px solid #e4eade26;border-radius:0;padding:3px 0 3px 13px;background:none;font-size:10px;color:#eff2e4ba}.city-quicktips-toggle:hover,.city-quicktips-toggle:focus-visible{color:#fff}.city-quicktips .city-quicktips-toggle:focus-visible{outline:1px solid #c1dccc;outline-offset:5px}.city-quicktips.is-expanded .city-quicktips-toggle{color:#c7ebd9}.city-quicktips.is-expanded .city-quicktips-toggle kbd{border-color:#c7ebd970}.city-quicktips-help{position:absolute;bottom:calc(100% + 17px);left:50%;transform:translate(-50%);width:min(670px,calc(100vw - 44px));max-height:min(570px,calc(100vh - 120px));overflow:auto;padding:25px 29px 17px;border:1px solid #d5e5d431;border-top-color:#c6e0d65c;border-radius:3px;background:linear-gradient(145deg,#162933f5,#101d29f5);box-shadow:0 15px 60px #02091055;color:#edf0e2d6;pointer-events:auto;text-shadow:none}.city-quicktips-help-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.city-quicktips-help-heading small{font:8px Arial,sans-serif;letter-spacing:.2em;color:#acccbd91}.city-quicktips-help-heading h2{margin:9px 0 0;font:23px Songti SC,"Noto Serif SC",serif;font-weight:400;letter-spacing:.06em;color:#f1eee0}.city-quicktips .city-quicktips-close{border:0;border-radius:0;background:none;padding:0;font-size:10px;color:#d4ddcf91;white-space:nowrap}.city-quicktips-close span{margin-left:6px;font-size:17px;line-height:.7}.city-quicktips-close:hover{color:#fff}.city-quicktips-help-grid,.city-quicktips-common{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px}.city-quicktips-help-grid>div,.city-quicktips-common>div{display:flex;align-items:baseline;gap:9px;font-size:11px;line-height:1.65}.city-quicktips-help-grid kbd,.city-quicktips-common kbd{font-size:10px;flex-shrink:0;color:#e3ebdb;border-color:#d9e8d833;background:#d9e8d806}.city-quicktips-common{margin-top:24px;padding-top:21px;border-top:1px solid #ccdcca1f;color:#d0dfcb9e}.city-quicktips-footnote{margin:20px 0 0;text-align:right;font-size:9px;letter-spacing:.07em;color:#a9c1b475}.city-quicktips .city-quicktips-action{display:flex;align-items:center;gap:5px;padding:0;border:0;border-radius:0;background:none}.city-quicktips-action:hover{color:#fff}.city-quicktips-action:focus-visible{outline:1px solid #c1dccc;outline-offset:5px}.city-quicktips-action:disabled{opacity:.5;cursor:wait}#ui.has-city-quicktips #observer-help,#ui.has-city-quicktips #walk-help{display:none!important}@media(max-width:1200px){.city-quicktips{max-width:calc(100vw - 2 * var(--hud-dial,205px) - 60px)}.city-quicktips-line{gap:11px;padding-inline:4px}.city-quicktips ul{gap:12px}.city-quicktips [data-secondary=true],.city-quicktips-mode{display:none}}@media(max-width:800px){.city-quicktips{max-width:calc(100vw - 32px);bottom:7px}.city-quicktips-line{min-height:23px;padding:1px 6px;gap:12px}.city-quicktips ul{gap:11px}.city-quicktips .city-quicktips-toggle{padding-left:10px}}@media(max-width:650px){.city-quicktips{bottom:max(3px,env(safe-area-inset-bottom));font-size:9px}.city-quicktips-line{min-height:21px;gap:10px}.city-quicktips ul{gap:10px}.city-quicktips li{gap:4px}.city-quicktips kbd{font-size:8px;padding:0 3px}.city-quicktips .city-quicktips-toggle{font-size:9px;padding-block:1px}.city-quicktips-help{bottom:calc(100% + 12px);padding:20px;width:calc(100vw - 24px);max-height:calc(100dvh - 85px)}.city-quicktips-help-heading{margin-bottom:20px;gap:10px}.city-quicktips-help-heading h2{font-size:20px}.city-quicktips-help-grid,.city-quicktips-common{grid-template-columns:1fr;gap:10px}.city-quicktips-common{margin-top:17px;padding-top:17px}.city-quicktips-help-grid>div,.city-quicktips-common>div{font-size:11px}.city-quicktips-help-grid kbd,.city-quicktips-common kbd{font-size:10px}}@media(max-height:540px)and (min-width:651px){.city-quicktips{bottom:5px}.city-quicktips-help{max-height:calc(100vh - 60px);padding:18px 23px}.city-quicktips-help-heading{margin-bottom:16px}.city-quicktips-help-grid,.city-quicktips-common{gap:8px 20px}.city-quicktips-common{margin-top:15px;padding-top:15px}.city-quicktips-footnote{margin-top:12px}}#flight-hud{position:absolute;inset:0;pointer-events:none;color:#f4f3e9;z-index:12;font-family:inherit}#flight-hud[hidden],#flight-hud [hidden]{display:none!important}.flight-help button{background:none;border:0;padding:0;color:inherit;font:inherit;pointer-events:auto}.flight-help button:hover{color:#fff}.flight-help button:focus-visible{outline:1px solid #84dbcb;outline-offset:4px}.flight-help kbd{font-size:10px;margin:0 3px 0 0;padding:1px 4px}.flight-instruments{position:absolute;left:32px;top:155px;width:232px;padding:20px 22px;background:linear-gradient(120deg,#0f202edb,#12252d9c);border:1px solid #ffffff29;border-radius:9px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 30px #0002}.flight-title{display:flex;flex-direction:column;gap:8px}.flight-title small{font-size:10px;letter-spacing:2px;color:#9ecac5}.flight-title strong{font-size:17px;font-weight:500}.flight-phase{font-size:11px;color:#d5dcd2a6}.flight-instruments dl{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin:24px 0 16px}.flight-instruments dt{font-size:11px;color:#a0b5bd;letter-spacing:1px}.flight-instruments dd{margin:5px 0 0;font-size:26px;font-weight:400;font-variant-numeric:tabular-nums}.flight-instruments dd small{font-size:9px;letter-spacing:1px;margin-left:6px;color:#b6cdc8}.flight-throttle{height:3px;background:#ffffff16}.flight-throttle i{display:block;height:100%;background:#95d9c6}.flight-help{position:absolute;bottom:26px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;text-align:center;gap:7px;padding:14px 26px;background:#0b1b27d9;border:1px solid #ffffff25;border-radius:7px;white-space:nowrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:12px}.flight-help strong{font-weight:500;font-size:13px}.flight-help span{color:#bdcbc8}.flight-crash{position:absolute;left:50%;top:32%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;padding:25px 48px;border-top:2px solid #ffb968;background:linear-gradient(180deg,#2a171dcc,#161c2800);text-shadow:0 2px 10px #0008}.flight-crash small{letter-spacing:4px;color:#ffbc8a;font-size:11px}.flight-crash strong{font-size:30px;letter-spacing:6px;font-weight:500}.flight-crash span{font-size:14px}.flight-help .flight-missile-status{color:#bde8d8;font-variant-numeric:tabular-nums}@media(max-width:760px){.flight-instruments{left:16px;top:146px;width:180px;padding:13px}.flight-help{width:90%;white-space:normal;bottom:14px;padding:10px;font-size:10px}.flight-help strong{font-size:11px}}#map-panel.city-map-panel{position:absolute;inset:0;z-index:12;display:grid;place-items:center;padding:clamp(14px,2vw,34px);background:#081923e8;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:auto;color:#edf4f6;font-family:PingFang SC,Noto Sans SC,system-ui,sans-serif;text-shadow:none}#map-panel.city-map-panel[hidden]{display:none!important}#map-panel.city-map-panel .atlas-shell{display:flex;flex-direction:column;width:100%;height:100%;max-width:1850px;max-height:1060px;min-height:0;overflow:hidden;border:1px solid #b7e0ec45;border-radius:12px;background:#142b36;box-shadow:0 20px 70px #0005}#map-panel.city-map-panel .atlas-heading{position:static;inset:auto;display:grid;grid-template-columns:minmax(190px,1fr) minmax(260px,470px) minmax(180px,1fr);align-items:center;gap:28px;min-height:104px;padding:20px 29px;border-bottom:1px solid #b9deea26;background:#172f3a}#map-panel.city-map-panel .atlas-brand small{display:block;margin-bottom:7px;font:9px Helvetica Neue,Arial,sans-serif;letter-spacing:.22em;color:#a7c7d2}#map-panel.city-map-panel .atlas-brand h2{margin:0;font-family:Songti SC,"Noto Serif SC",STSong,serif;font-size:29px;font-weight:400;line-height:1.2;letter-spacing:.14em;color:#f3f4e9}#map-panel.city-map-panel button{margin:0;border:1px solid #a1ccda40;border-radius:3px;background:transparent;box-shadow:none;color:#deedf2;font:inherit;cursor:pointer;transition:color .14s,border-color .14s,background .14s}#map-panel.city-map-panel button:hover{border-color:#b4dfef7a;background:#95d9ed14;color:#f2fbff}#map-panel.city-map-panel button:focus-visible,#map-panel.city-map-panel a:focus-visible,#map-panel.city-map-panel canvas:focus-visible{outline:2px solid #88dbed;outline-offset:-2px}#map-panel.city-map-panel button:disabled{opacity:.7;cursor:default}#map-panel.city-map-panel button:disabled:hover{background:transparent;border-color:#a1ccda40}#map-panel.city-map-panel .atlas-search{display:flex;align-items:center;gap:12px;height:44px;padding:0 13px;border:1px solid #9ec8d64d;border-radius:3px;background:#0b202d8c}#map-panel.city-map-panel .atlas-search:focus-within{border-color:#8ad9e6}#map-panel.city-map-panel .atlas-search svg{width:17px;height:17px;fill:none;stroke:#a6c9d6;stroke-width:1.4;flex:0 0 auto}#map-panel.city-map-panel .atlas-search input{width:100%;min-width:0;height:100%;padding:0;border:0;outline:none;background:transparent;color:#edf7fa;font:13px PingFang SC,system-ui,sans-serif;letter-spacing:.03em}#map-panel.city-map-panel .atlas-search input::placeholder{color:#9ebac6}#map-panel.city-map-panel .atlas-search kbd{margin:0;border:0;color:#a2bac3;font-size:14px}#map-panel.city-map-panel #close-map{justify-self:end;padding:9px 0 9px 14px;border:0;font-size:11px;letter-spacing:.05em}#map-panel.city-map-panel #close-map:hover{background:none}#map-panel.city-map-panel kbd{border-color:#a8d2df4d;color:#c2d9e2;font-size:10px}#map-panel.city-map-panel .atlas-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;flex:1 1 auto;min-height:0}#map-panel.city-map-panel .atlas-map-wrap{position:relative;min-width:0;min-height:0;overflow:hidden;background:#245f74}#map-panel.city-map-panel #city-map{display:block;width:100%;height:100%;min-height:0;outline:none;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}#map-panel.city-map-panel #city-map.is-dragging{cursor:grabbing}#map-panel.city-map-panel .atlas-map-caption{position:absolute;left:24px;top:21px;display:flex;flex-direction:column;gap:7px;pointer-events:none;color:#d8eaf1;text-shadow:0 1px 4px #091015}#map-panel.city-map-panel .atlas-map-caption>span{font-size:12px;letter-spacing:.18em}#map-panel.city-map-panel .atlas-map-caption small{font-size:9px;letter-spacing:.05em;color:#b7d3de}#map-panel.city-map-panel .atlas-map-tools{position:absolute;top:17px;right:17px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #afd9e84a;border-radius:3px;background:#132e3bee}#map-panel.city-map-panel .atlas-map-tools button{width:37px;height:36px;padding:0;border:0;border-radius:0;font:22px Helvetica Neue,Arial,sans-serif;color:#def1f7}#map-panel.city-map-panel .atlas-map-tools button:hover{background:#9de2f027;color:#f1fcff}#map-panel.city-map-panel .atlas-map-tools>span{height:1px;margin:2px 8px;background:#a7d4e342}#map-panel.city-map-panel .atlas-map-north{position:absolute;right:28px;bottom:64px;display:flex;flex-direction:column;align-items:center;gap:4px;color:#cfe8ef;font:9px Arial,sans-serif;pointer-events:none}#map-panel.city-map-panel .atlas-map-north span{font-size:25px;line-height:1}#map-panel.city-map-panel .atlas-map-bottom{position:absolute;right:22px;bottom:20px;left:24px;display:flex;align-items:flex-end;gap:27px;pointer-events:none;color:#d6ecf1;text-shadow:0 1px 4px #061214}#map-panel.city-map-panel .atlas-scale{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:105px;font:10px Helvetica Neue,Arial,sans-serif}#map-panel.city-map-panel .atlas-scale i{display:block;height:5px;border:1px solid #c7e5ef;border-top:0}#map-panel.city-map-panel #map-status{padding-bottom:1px;font-size:10px;line-height:1.5;color:#d0e3e9}#map-panel.city-map-panel .atlas-sidebar{display:flex;flex-direction:column;min-height:0;max-height:none;padding:0;border-left:1px solid #b6dcea35;overflow:hidden;background:#192f3b}#map-panel.city-map-panel .atlas-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:3px 6px;padding:18px 19px 10px}#map-panel.city-map-panel .atlas-filters button{padding:9px 4px;border-color:transparent;border-radius:6px;font-size:12px;color:#b4cbd5}#map-panel.city-map-panel .atlas-filters button[aria-pressed=true]{border-color:#8bdae15e;background:#78d1e321;color:#c9f4fc}#map-panel.city-map-panel .atlas-list-heading{display:flex;justify-content:space-between;align-items:center;min-height:42px;padding:3px 23px 12px;font-size:11px;color:#aec9d4}#map-panel.city-map-panel .atlas-list-heading label{display:flex;gap:5px;align-items:center;cursor:pointer;color:#c3d8e1}#map-panel.city-map-panel .atlas-list-heading input{width:12px;height:12px;margin:0;accent-color:#8ed9e4}#map-panel.city-map-panel #places{display:flex;flex-direction:column;gap:4px;min-height:80px;flex:1 1 auto;padding:0 10px 13px;overflow:auto;scrollbar-width:thin;scrollbar-color:#9cd8e255 transparent}#map-panel.city-map-panel #places .atlas-place{display:flex;align-items:center;gap:11px;width:100%;flex:0 0 auto;min-height:66px;padding:12px 11px;border:1px solid transparent;border-radius:8px;background:#122b371f;text-align:left}#map-panel.city-map-panel #places .atlas-place:hover{background:#80cfe413;border-color:#9ed6e333}#map-panel.city-map-panel #places .atlas-place.selected{background:#80d1e220;border-color:#93ddeb73}#map-panel.city-map-panel .atlas-place-icon{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border:1px solid #8cbece35;border-radius:8px;background:#84cee611;font: 21px Helvetica Neue,Arial,sans-serif;color:#a4ceda}#map-panel.city-map-panel .atlas-place.selected .atlas-place-icon{color:#b7f0f8}#map-panel.city-map-panel #places .atlas-place-copy{display:block;min-width:0;flex:1 1 auto}#map-panel.city-map-panel #places .atlas-place-copy>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;line-height:1.5;color:#edf4f6}#map-panel.city-map-panel #places .atlas-place-copy small{display:block;margin-top:5px;font-size:11px;line-height:1.5;color:#a6c1cd}#map-panel.city-map-panel #places .atlas-place em{flex:0 0 auto;font: 11px Helvetica Neue,Arial,sans-serif;color:#b6ced8}#map-panel.city-map-panel #places .atlas-place.selected em{color:#c4ecf4}#map-panel.city-map-panel .atlas-empty{margin:auto 12px;padding:40px 15px;text-align:center;font-size:12px;line-height:1.9;color:#b4cdd7}#map-panel.city-map-panel .atlas-more{margin:12px 10px 5px;padding:10px 8px;border-color:#b7d7e138;font-size:10px;color:#c1d9e2}#map-panel.city-map-panel #destination-actions{display:block;flex:0 0 auto;margin:0;padding:20px 23px 23px;box-shadow:0 -8px 24px #071c2726;border-top:1px solid #b1d9e644;background:#1c3641}#map-panel.city-map-panel .atlas-destination-eyebrow{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;font-size:11px;letter-spacing:.13em;color:#a1cbd7}#map-panel.city-map-panel #map-selection-visited{font-size:10px;letter-spacing:0;color:#a4d8d6}#map-panel.city-map-panel #destination-name{display:block;font-size:21px;font-weight:500;line-height:1.6;letter-spacing:.04em;color:#f2f6ed}#map-panel.city-map-panel #destination-status{margin:9px 0 17px;font-size:12px;line-height:1.8;color:#c5dbe4}#map-panel.city-map-panel #map-destination-address{margin:-7px 0 16px;font-size:11px;line-height:1.5;color:#abc7d3}#map-panel.city-map-panel .atlas-route-actions{display:grid;gap:8px}#map-panel.city-map-panel #destination-actions .atlas-route-actions button{display:flex;justify-content:space-between;align-items:center;width:100%;margin:0;padding:12px 13px;border:1px solid #97ccd957;border-radius:7px;background:#173442;color:#daedf3;font-size:13px;text-align:left}#map-panel.city-map-panel #destination-actions .atlas-route-actions button span{font:16px Helvetica Neue,Arial,sans-serif;opacity:.8}#map-panel.city-map-panel #destination-actions #auto-drive{border-color:#9bdeea;background:#9bdeea;color:#143544}#map-panel.city-map-panel #destination-actions #auto-drive:hover:not(:disabled){background:#b5ecf4;border-color:#b5ecf4}#map-panel.city-map-panel #destination-actions #auto-drive:disabled{background:#8dcddd30;border-color:#a2d6e343;color:#daedf3}#map-panel.city-map-panel #destination-actions #drive-route:hover:not(:disabled){background:#8bd9eb13;border-color:#acdeeb8f}#map-panel.city-map-panel .atlas-secondary-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px;margin-top:14px}#map-panel.city-map-panel #destination-actions .atlas-secondary-actions button,#map-panel.city-map-panel .atlas-secondary-actions a{display:inline-block;width:auto;margin:0;padding:2px 0;border:0;border-radius:0;background:transparent;font-size:10px;line-height:1.5;color:#a9cbd7;text-decoration:none}#map-panel.city-map-panel #destination-actions .atlas-secondary-actions button:hover,#map-panel.city-map-panel .atlas-secondary-actions a:hover{color:#e6f9ff;background:transparent}#map-panel.city-map-panel .atlas-travel-actions{display:grid;grid-template-columns:1.25fr 1fr;gap:8px;margin-top:10px}#map-panel.city-map-panel #destination-actions .atlas-travel-actions button{margin:0;padding:12px 8px;border:1px solid #a1d9e779;border-radius:7px;background:#285261;color:#ebf7f9;font-size:12px;line-height:1.5;white-space:nowrap}#map-panel.city-map-panel #destination-actions .atlas-travel-actions button:hover:not(:disabled){background:#35697a;border-color:#b9f0f7}#map-panel.city-map-panel #destination-actions .atlas-travel-actions button:disabled{background:#213c48;color:#abc2cc;border-color:#9cbfce47;cursor:default}#map-panel.city-map-panel .atlas-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:39px;margin:0;padding:12px 25px;border-top:1px solid #a5d1e02e;background:#142c37;font-size:10px;line-height:1.4;color:#adc8d4}#map-panel.city-map-panel .atlas-footer span{display:inline;font-size:inherit;color:inherit}#map-panel.city-map-panel .atlas-footer small{font-size:9px;color:#9ebdcb}#map-panel.city-map-panel #map-discovery-count{white-space:nowrap;color:#cae0e7}@media(max-width:1100px){#map-panel.city-map-panel{padding:16px}#map-panel.city-map-panel .atlas-layout{grid-template-columns:minmax(0,1fr) 292px}#map-panel.city-map-panel .atlas-heading{min-height:89px;grid-template-columns:minmax(140px,1fr) minmax(220px,1.6fr) auto;gap:20px;padding:17px 21px}#map-panel.city-map-panel .atlas-brand h2{font-size:25px}#map-panel.city-map-panel .atlas-brand small{font-size:8px;letter-spacing:.12em}#map-panel.city-map-panel #destination-actions{padding:16px 18px 18px}#map-panel.city-map-panel #destination-name{font-size:17px}#map-panel.city-map-panel .atlas-filters{padding:13px 13px 7px}#map-panel.city-map-panel .atlas-list-heading{padding:3px 18px 10px}#map-panel.city-map-panel #places .atlas-place{min-height:60px;gap:7px;padding:10px 8px}#map-panel.city-map-panel .atlas-footer{padding:10px 18px}}@media(max-width:760px){#map-panel.city-map-panel{padding:0}#map-panel.city-map-panel .atlas-shell{max-height:none;border:0;border-radius:0}#map-panel.city-map-panel .atlas-heading{grid-template-columns:1fr auto;gap:12px;min-height:116px;padding:16px}#map-panel.city-map-panel .atlas-search{grid-column:1 / -1;grid-row:2;height:37px}#map-panel.city-map-panel .atlas-brand small{display:none}#map-panel.city-map-panel .atlas-brand h2{font-size:22px}#map-panel.city-map-panel #close-map{grid-column:2;grid-row:1;font-size:10px}#map-panel.city-map-panel .atlas-layout{grid-template-columns:minmax(0,1fr) 240px}#map-panel.city-map-panel .atlas-map-caption{left:14px;top:16px}#map-panel.city-map-panel .atlas-map-caption>span{font-size:9px;letter-spacing:.05em}#map-panel.city-map-panel .atlas-map-tools{top:64px;right:11px}#map-panel.city-map-panel .atlas-map-tools button{width:31px;height:32px;font-size:20px}#map-panel.city-map-panel .atlas-map-bottom{left:15px;bottom:15px;right:12px}#map-panel.city-map-panel #map-status{display:none}#map-panel.city-map-panel .atlas-filters{gap:1px;padding:10px}#map-panel.city-map-panel .atlas-filters button{font-size:10px;padding:6px 2px}#map-panel.city-map-panel .atlas-place-icon{display:none}#map-panel.city-map-panel #places .atlas-place-copy>span{font-size:11px}#map-panel.city-map-panel #destination-actions{padding:14px}#map-panel.city-map-panel #destination-name{font-size:15px}#map-panel.city-map-panel #destination-actions .atlas-route-actions button{font-size:11px;padding:10px 11px}#map-panel.city-map-panel .atlas-footer{padding:9px 15px;min-height:33px}#map-panel.city-map-panel .atlas-footer>span:first-child{display:none}}@media(max-width:540px){#map-panel.city-map-panel .atlas-layout{grid-template-columns:minmax(0,1fr) 205px}#map-panel.city-map-panel .atlas-map-caption>span{display:none}#map-panel.city-map-panel .atlas-map-tools{top:43px}#map-panel.city-map-panel .atlas-list-heading{font-size:9px;padding:3px 13px 9px}#map-panel.city-map-panel #places{padding:0 5px 8px}#map-panel.city-map-panel #places .atlas-place{padding:9px 7px}#map-panel.city-map-panel #places .atlas-place em{display:none}#map-panel.city-map-panel #destination-status{margin:7px 0 12px}#map-panel.city-map-panel #destination-actions .atlas-travel-actions button{padding:10px 5px;font-size:10px}#map-panel.city-map-panel .atlas-secondary-actions{margin-top:10px}#map-panel.city-map-panel .atlas-footer small{font-size:7px}}@media(max-height:650px)and (min-width:761px){#map-panel.city-map-panel{padding:12px}#map-panel.city-map-panel .atlas-heading{min-height:74px;padding-top:12px;padding-bottom:12px}#map-panel.city-map-panel .atlas-brand small{display:none}#map-panel.city-map-panel .atlas-filters{grid-template-columns:repeat(6,1fr);padding:10px 10px 5px;gap:0}#map-panel.city-map-panel .atlas-filters button{font-size:10px;padding:5px 2px}#map-panel.city-map-panel #destination-actions{padding:13px 18px}#map-panel.city-map-panel .atlas-route-actions{grid-template-columns:1fr 1fr;gap:6px}#map-panel.city-map-panel #destination-actions .atlas-route-actions button{padding:10px 8px;font-size:10px}#map-panel.city-map-panel #destination-actions .atlas-route-actions button span{display:none}#map-panel.city-map-panel #destination-status{margin:7px 0 12px}}@media(prefers-reduced-motion:reduce){#map-panel.city-map-panel button{transition:none}}#ui.cinematic-hud{--hud-white: #f4f3ef;--hud-muted: rgba(238, 240, 235, .68);--hud-edge: clamp(22px, 1.7vw, 40px);--hud-dial: clamp(224px, 16vw, 308px);--hud-map: calc(var(--hud-dial) * .865);color:var(--hud-white);font-family:PingFang SC,Noto Sans SC,system-ui,sans-serif;text-shadow:0 1px 3px rgba(0,0,0,.42)}.cinematic-hud header{position:absolute;inset:0 0 auto;align-items:flex-start;padding:clamp(25px,2.5vh,40px) var(--hud-edge);background:none}.cinematic-hud .wordmark{font-family:Songti SC,"Noto Serif SC",STSong,serif;font-size:clamp(30px,2.35vw,45px);font-weight:500;line-height:1.18;letter-spacing:.26em;white-space:nowrap;text-shadow:0 1px 2px #0004}.cinematic-hud .wordmark span{margin-top:8px;font-family:PingFang SC,Noto Sans SC,system-ui,sans-serif;font-size:clamp(11px,.93vw,17px);font-weight:400;line-height:1.5;letter-spacing:.12em;color:#f9f7f0db}.cinematic-hud .location,.cinematic-hud .intro{display:none}.cinematic-hud #map-button,.cinematic-hud #journal-button{position:absolute;right:var(--hud-edge);top:33px;bottom:auto;padding:5px 0 5px 14px;border:0;border-radius:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;font-size:11px;letter-spacing:.08em;color:#f5f5efb8;opacity:.72;transition:opacity .18s,color .18s}.cinematic-hud #journal-button{top:69px}.cinematic-hud #wallet{display:none}.cinematic-hud #map-button:hover,.cinematic-hud #journal-button:hover,.cinematic-hud #map-button:focus-visible,.cinematic-hud #journal-button:focus-visible{color:#fff;opacity:1}.cinematic-hud kbd{border-color:#ffffff35;color:#efeee4;font-size:10px}.cinematic-hud #minimap{bottom:49px;left:calc(var(--hud-edge) - 10px);width:var(--hud-map);height:var(--hud-map);border:1px solid rgba(240,242,237,.24);border-radius:50%;overflow:visible;background:none;box-shadow:none;transition:opacity .2s}.cinematic-hud #mini-map{display:block;width:100%;height:100%;opacity:1;border-radius:50%}.cinematic-hud .north{top:5%;bottom:auto;left:50%;transform:translate(-50%,-50%);font-family:Helvetica Neue,Arial,sans-serif;font-size:10px;font-weight:500;line-height:1;color:#f7f8ef;text-shadow:0 1px 3px #000}.cinematic-hud .cinematic-road-label{position:absolute;top:calc(100% + 12px);left:-5%;width:110%;display:flex;align-items:baseline;justify-content:center;gap:10px;white-space:nowrap;font-size:clamp(10px,.82vw,14px);line-height:1.4;color:#f2f3ecd4}.cinematic-hud #road-name{position:static;padding:0;background:none;font-size:inherit;letter-spacing:.04em}.cinematic-hud .cinematic-road-english{padding-left:10px;border-left:1px solid #f1f1e961;font-family:Helvetica Neue,Arial,sans-serif;font-size:.95em;letter-spacing:.02em;color:#f0f0ecb0}.cinematic-hud #speedometer{right:var(--hud-edge);bottom:20px;width:var(--hud-dial);height:calc(var(--hud-dial) * .9643);text-align:center;transition:opacity .2s}.cinematic-hud #speedometer:before{content:"";position:absolute;inset:8% 3% 13%;border-radius:50%;background:radial-gradient(ellipse at 50% 48%,#070d164d 0,#070d162b 43%,#070d1600 72%);pointer-events:none}.cinematic-hud .cinematic-dial{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;fill:none}.cinematic-dial .dial-track{stroke:#f5f5ed70;stroke-width:1.15}.cinematic-dial .dial-inner-ring{stroke:#f5f5ed38;stroke-width:.6}.cinematic-dial .dial-progress{stroke:#fcfcf6;stroke-width:4;stroke-linecap:butt;transition:stroke-dasharray .12s linear}.cinematic-dial .dial-limit{stroke:#d87477;stroke-width:5}.cinematic-dial .dial-tick{stroke:#f0f0e966;stroke-width:.75}.cinematic-dial .dial-tick-major{stroke:#f9f9efd6;stroke-width:1}.cinematic-dial .dial-label{fill:#f3f3ed94;stroke:none;font:7px Helvetica Neue,Arial,sans-serif;text-anchor:middle}.cinematic-dial .dial-needle{stroke:#fff;stroke-width:2}.cinematic-dial .dial-power-ring{fill:#10202927;stroke:#ffffff36;stroke-width:.7}.cinematic-dial .dial-power{fill:#6de2c9;stroke:none}.cinematic-hud #speedometer .cinematic-speed-readout{position:absolute;inset:29.5% 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}.cinematic-hud #speed{display:block;padding-right:.02em;color:#f6f5f0;font-family:DIN Alternate,Arial Narrow,Helvetica Neue,Arial,sans-serif;font-size:calc(var(--hud-dial) * .34);font-weight:700;font-style:normal;font-stretch:normal;font-variant-numeric:tabular-nums lining-nums;letter-spacing:.045em;line-height:.98;transform:skew(-8deg) scaleX(.73);transform-origin:center;text-shadow:0 2px 5px #0008}.cinematic-hud #speedometer .cinematic-speed-readout>span{margin-top:5px;padding-left:3px;font-family:Helvetica Neue,Arial,sans-serif;font-size:calc(var(--hud-dial) * .069);font-style:normal;font-weight:300;letter-spacing:.13em;color:#f4f4ecaa;transform:skew(-8deg) scaleX(.9)}.cinematic-hud #speedometer .speed-line{display:none}.cinematic-hud #speedometer .cinematic-speed-meta{position:absolute;right:20%;left:20%;bottom:17px;display:flex;justify-content:space-between;align-items:baseline;font-family:Helvetica Neue,Arial,sans-serif;opacity:.58}.cinematic-hud #speedometer .cinematic-speed-meta>span{font-size:9px;letter-spacing:.06em}.cinematic-hud #speedometer .cinematic-speed-meta>span:last-child{display:none}.cinematic-hud #speedometer #gear{font-size:10px;color:#f4f4eb}.cinematic-hud #route-hud{top:auto;right:auto;left:var(--hud-edge);bottom:calc(var(--hud-map) + 90px);width:var(--hud-map);padding:5px 12px;border-right:0;border-left:1px solid #c1d69caf;background:none;text-align:left}.cinematic-hud #route-hud small{font-size:9px;letter-spacing:.16em;color:#e8eddfa6}.cinematic-hud #route-hud strong{margin:6px 0;font-size:15px;font-weight:400}.cinematic-hud #route-hud span{font-size:11px;color:#e8eddfbf}.cinematic-hud #toast,.cinematic-hud #ride-prompt{padding:11px 20px;border:1px solid #f5f5e91f;border-radius:2px;background:#172026c9;-webkit-backdrop-filter:none;backdrop-filter:none;font-size:12px;line-height:1.65;color:#f2f1e7}.cinematic-hud #toast{top:120px}.cinematic-hud #ride-prompt{bottom:75px}.cinematic-hud #fps{right:var(--hud-edge);bottom:9px;color:#eeeedea3}.cinematic-hud #map-panel{z-index:5;padding:38px;background:#0b121be8;-webkit-backdrop-filter:none;backdrop-filter:none}.cinematic-hud .map-shell{border:1px solid #d7e0df29;border-radius:4px;background:#17222bf5;box-shadow:0 18px 70px #0005}.cinematic-hud .map-heading h2{font-family:Songti SC,"Noto Serif SC",serif;font-size:28px}.cinematic-hud .map-heading small{color:#d7ddd291}.cinematic-hud aside{background:#0d162254}.cinematic-hud .place.selected{background:#d5e1d111;border-color:#d5e1d147}.cinematic-hud #destination-actions button{background:#c1d5bc;color:#1c2c28}.cinematic-hud #destination-actions button.secondary{background:transparent;color:#d5e1d1}.cinematic-hud #life-journal{z-index:5;top:111px;right:var(--hud-edge);bottom:56px;max-width:calc(100vw - var(--hud-edge) * 2);border-color:#d7e0df40;border-radius:4px;background:#14212bf7}.cinematic-hud .life-heading h2{font-family:Songti SC,"Noto Serif SC",serif;font-size:26px}.cinematic-hud #pause{z-index:6;padding:25px;background:#0b1723d9;-webkit-backdrop-filter:none;backdrop-filter:none}.cinematic-hud #pause h2{font-family:Songti SC,"Noto Serif SC",serif;font-size:44px}.cinematic-hud #pause>button{justify-self:center;min-width:170px;background:#d2dfcb1c;border-color:#d9e3d847}.cinematic-hud #pause .controls{position:static;display:grid;grid-template-columns:repeat(4,auto);gap:17px 25px;margin-top:56px;font-size:11px;color:#e8ecdfb5}.cinematic-hud #observer-help{z-index:2;bottom:34px;padding:10px 19px;border:1px solid #f4f4e924;border-radius:3px;background:#101b26a8;font-size:11px;color:#f0f3e8bf}.cinematic-hud #observer-help strong{font-size:12px;font-weight:500}.cinematic-hud[data-observer=true] #speedometer{opacity:0}.cinematic-hud[data-observer=true] #minimap{opacity:.62}.cinematic-hud[data-observer=true] #route-hud,.cinematic-hud[data-menu-open=true] #minimap,.cinematic-hud[data-menu-open=true] #speedometer,.cinematic-hud[data-menu-open=true] #route-hud{opacity:0}@media(max-width:1000px){#ui.cinematic-hud{--hud-edge: 22px;--hud-dial: 205px}.cinematic-hud #minimap{bottom:57px}.cinematic-hud #speedometer{bottom:40px}.cinematic-hud .wordmark{font-size:31px}.cinematic-hud .wordmark span{font-size:11px}.cinematic-hud #map-button{top:24px}.cinematic-hud #journal-button{top:59px}.cinematic-hud #route-hud{bottom:290px}.cinematic-hud #pause .controls{grid-template-columns:repeat(2,auto);font-size:10px}.cinematic-hud #map-panel{padding:22px}.cinematic-hud .map-heading{padding:20px}}@media(max-width:650px),(max-height:540px){#ui.cinematic-hud{--hud-edge: 15px;--hud-dial: 150px}.cinematic-hud header{padding-top:17px}.cinematic-hud .wordmark{font-size:25px}.cinematic-hud .wordmark span{margin-top:5px;font-size:9px}.cinematic-hud #minimap{bottom:45px}.cinematic-hud #speedometer{bottom:34px}.cinematic-hud .cinematic-road-label{top:calc(100% + 8px);font-size:9px;gap:6px}.cinematic-hud .cinematic-road-english{display:none}.cinematic-hud #map-button{top:17px;font-size:10px}.cinematic-hud #journal-button{top:48px;font-size:10px}.cinematic-hud #route-hud{bottom:222px;padding:3px 8px}.cinematic-hud #route-hud strong{font-size:12px}.cinematic-hud #route-hud span{font-size:9px}.cinematic-hud #toast{top:92px;max-width:75%;font-size:10px}.cinematic-hud #pause .controls{margin-top:25px;gap:11px}.cinematic-hud #pause h2{margin:15px 0 25px;font-size:32px}.cinematic-hud #observer-help{bottom:18px;font-size:9px;padding:8px 12px}.cinematic-hud #observer-help strong{font-size:10px}}@media(prefers-reduced-motion:reduce){.cinematic-hud .dial-progress,.cinematic-hud #minimap,.cinematic-hud #speedometer{transition:none}}body.inside-bamboo-cafe #speedometer,body.inside-bamboo-cafe #minimap,body.inside-bamboo-cafe #career-invitation,body.inside-bamboo-cafe #walk-help{display:none}body.inside-bamboo-cafe #ride-prompt{bottom:88px;color:#f2e6cf;background:#201e1beb;border-color:#bfa26b66}.observer-beacons{position:absolute;inset:0;z-index:21;pointer-events:none;font-family:PingFang SC,Noto Sans SC,system-ui,sans-serif;color:#edf8f2}.observer-beacons[hidden],.observer-beacons [hidden]{display:none!important}.observer-beacons button,.observer-beacons input{font:inherit;letter-spacing:.03em}.observer-beacons button{cursor:pointer}.observer-beacons button:focus-visible,.observer-beacons input:focus-visible{outline:2px solid #a0f6d9;outline-offset:3px}.observer-beacons-toggle{position:absolute;top:124px;right:var(--hud-edge, 28px);border:1px solid #b5e5d33d;border-radius:5px;padding:9px 13px;background:#172b29a6;color:#edf8f2;font-size:12px!important;pointer-events:auto;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.observer-beacons-toggle:before{content:"◇";display:inline-block;margin-right:8px;color:#9ef0d3}.observer-beacon-panel,.observer-beacon-list{position:absolute;right:var(--hud-edge, 28px);box-sizing:border-box;width:310px;border:1px solid #b5e5d339;border-radius:9px;padding:19px;background:linear-gradient(145deg,#172e2beb,#132220ed);box-shadow:0 12px 38px #0003;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;text-shadow:none}.observer-beacon-panel{bottom:max(142px,19vh)}.observer-beacon-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.observer-beacon-eyebrow{font-size:10px;color:#a9cbbb;letter-spacing:.08em}.observer-beacons .observer-beacon-dismiss{flex:0 0 auto;border:0;background:transparent;color:#b7d5c8;font-size:23px;line-height:20px;padding:0 0 0 8px}.observer-beacon-title{margin:17px 0 19px;font-size:23px;font-weight:500;line-height:1.35;overflow-wrap:anywhere}.observer-beacon-name-label{display:flex;flex-direction:column;gap:8px;color:#b9cfc5;font-size:11px}.observer-beacon-name{box-sizing:border-box;width:100%;border:1px solid #9cbeaf49;border-radius:4px;padding:10px 11px;background:#07151265;color:#f3fbf7;font-size:13px!important}.observer-beacon-hint{margin:12px 0 18px;color:#b5cec2;font-size:11px;line-height:1.7}.observer-beacon-actions{display:flex;gap:9px}.observer-beacon-actions button{flex:1 1 0;border:1px solid #a5dec273;border-radius:4px;padding:11px 5px;font-size:12px;white-space:nowrap}.observer-beacon-save{background:#9edec515;color:#e0f5eb}.observer-beacon-travel{background:#abdfc8;color:#15372b}.observer-beacons button:disabled{cursor:default;opacity:.42}.observer-beacon-foot{margin:15px 0 0;color:#8eafa0;font-size:10px;line-height:1.6}.observer-beacon-list{top:171px;max-height:min(59vh,530px);padding:16px}.observer-beacon-list-title{font-size:13px;font-weight:500;margin:0;color:#d6ebdf}.observer-beacon-empty{margin:24px 0 10px;color:#acc5b8;font-size:12px;line-height:1.8}.observer-beacon-rows{max-height:min(calc(59vh - 70px),460px);margin-top:14px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#6f9683 #152821}.observer-beacon-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid #a8cbb820}.observer-beacon-place{flex:1 1 0;min-width:0;border:0;background:transparent;color:#e7f5ee;padding:8px 0;text-align:left;font-size:12px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.observer-beacon-place:before{content:"◇";color:#89d9b5;margin-right:9px}.observer-beacon-remove{border:0;padding:8px 2px;background:transparent;color:#a6bdb1;font-size:10px!important}.observer-beacon-hold{position:fixed;width:34px;height:34px;transform:translate(-50%,-50%);border-radius:50%;background:conic-gradient(#b9ffe2 var(--hold-progress, 0turn),#b9ffe235 0);box-shadow:0 0 15px #60ffc744}.observer-beacon-hold:after{content:"";position:absolute;inset:3px;border-radius:50%;background:#173c34a6}.observer-beacon-hold-dot{position:absolute;z-index:1;inset:14px;border-radius:50%;background:#d9ffec}@media(max-width:700px){.observer-beacons-toggle{top:110px;right:16px}.observer-beacon-panel,.observer-beacon-list{right:16px;width:min(292px,calc(100vw - 32px));padding:15px}.observer-beacon-panel{bottom:142px}.observer-beacon-list{top:158px}}@media(max-height:620px){.observer-beacon-panel{bottom:100px}.observer-beacon-title{font-size:19px;margin:10px 0}.observer-beacon-hint{margin:9px 0}.observer-beacon-foot{margin-top:9px}}.cinematic-hud #life-journal.career-panel{width:min(1020px,calc(100vw - 48px));max-width:none;top:70px;bottom:32px;right:24px;padding:0;background:#152c35f7;box-shadow:0 28px 100px #0008;color:#ecf1e8;border:1px solid #c6d8d247;overflow:auto}.career-panel button{cursor:pointer;font:13px/1.5 system-ui,sans-serif;letter-spacing:0;border:1px solid #b7d4cd40;border-radius:4px;background:#6caa9b20;color:#e8f0e6;padding:11px 16px}.career-panel button:hover:not(:disabled){background:#82bba340;border-color:#b7d4cd8c}.career-panel button:disabled{opacity:.42;cursor:default}.career-panel button:focus-visible{outline:2px solid #e3c793;outline-offset:3px}.career-heading{padding:27px 30px 22px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(105deg,#3154537d,transparent)}.career-heading small{font:10px system-ui;letter-spacing:.2em;color:#a8c9bf}.career-heading h2{font:32px Songti SC,serif;margin:10px 0}.career-heading p{font:12px system-ui;color:#adc1bf;margin:0}.career-heading button{height:max-content;background:transparent}.career-account{display:grid;grid-template-columns:1fr 1fr .8fr 1.5fr;gap:25px;margin:0 30px;padding:22px 0;border-block:1px solid #c5d9d023}.career-account small{display:block;color:#98b8b7;font:11px system-ui;margin-bottom:9px}.career-account strong{font:23px system-ui;font-weight:400;color:#ebebd7}.career-account i{font:11px system-ui;color:#99b2ad}.career-account div:last-child strong{font-size:16px}.career-panel progress,#career-objective progress{display:block;width:100%;height:4px;accent-color:#bad5a9;border:0;margin-top:14px}.career-tabs{display:flex;gap:12px;padding:19px 30px 0;position:sticky;top:0;background:#152c35f5;z-index:2;border-bottom:1px solid #d2e6e018}.career-tabs button{border:0;border-radius:0;background:transparent;padding:10px 12px 14px;color:#a9c1bd}.career-tabs button[aria-selected=true]{color:#f1efda;border-bottom:2px solid #c7d4a7}.unread{display:inline-block;border-radius:50%;width:6px;height:6px;background:#f2c583;vertical-align:middle}.career-content{padding:25px 30px}.career-roles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.career-roles button{text-align:left;background:#101f292e;padding:15px}.career-roles button.selected{border-color:#b1d8b5;background:#a3d4b516}.career-roles small{float:right;color:#acd0c5;font-size:10px}.career-roles strong{display:block;font-size:15px;font-weight:500;margin-bottom:10px}.career-roles span{display:block;color:#9db9b8;font-size:11px}.career-level{display:flex;gap:16px;align-items:center;margin:20px 0;font:11px system-ui;color:#bad0c9}.career-level progress{width:140px;margin:0}.career-level small{margin-left:auto;color:#94aeaa}.career-jobs,.career-upgrades{display:grid;grid-template-columns:1fr 1fr;gap:15px}.career-jobs article,.career-upgrades article,.career-active,.career-conversation{padding:23px;border:1px solid #c0d5cf28;background:linear-gradient(140deg,#37646430,#18323a50);border-radius:5px}.career-panel h3{font:20px Songti SC,serif;margin:12px 0}.career-panel p{font-size:12px;line-height:1.8;color:#b4c8c4}.career-jobs p,.career-upgrades p{min-height:44px}.job-top{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#b2d0bc}.job-top small{color:#8ca7a3}.job-pay{margin:20px 0}.job-pay strong{font:25px system-ui;color:#e6d6a9}.job-pay span{display:block;margin-top:6px;font-size:10px;color:#9db9b0}.career-jobs article>button,.career-upgrades article>button{width:100%}.career-note{margin:22px 0 0;color:#8ba9a4!important;font-size:11px!important}.career-active{margin-bottom:20px;border-left:3px solid #bddbb2}.career-active small{font-size:10px;color:#b5d2b3}.career-active div{display:flex;gap:9px}.career-panel .quiet{background:transparent;color:#a9bdb5}.career-panel .warning{color:#e7b681}.career-section-title{margin-bottom:24px}.career-section-title h3{font-size:23px}.career-upgrades small{font:10px system-ui;color:#a3c2b8}.career-supply{display:flex;flex-wrap:wrap;gap:12px;align-items:center;border:1px solid #bad0c42b;padding:18px;margin-top:20px}.career-supply>div{flex:1;min-width:260px}.career-supply p{margin-bottom:0}.career-people{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.career-people article{padding:18px;background:#28494455;border-radius:5px}.person-seal{display:inline-grid;place-items:center;width:44px;height:44px;background:#94aaa026;border:1px solid #c9d5bc47;border-radius:50%;font:21px Songti SC,serif}.career-people h3{font-size:18px}.career-people small{font-size:10px;color:#aac5b6}.career-people p{min-height:44px}.career-empty{padding:35px 0;color:#b0c7b9}.career-conversation{margin-top:22px}.career-conversation small{font-size:11px;color:#e2c899}.career-conversation blockquote{font:18px/1.9 Songti SC,serif;margin:20px 0;color:#ede8d7}.career-conversation button{display:block;width:100%;text-align:left;margin:12px 0}.career-conversation button strong{display:block;font-weight:400}.career-conversation button span{display:block;font-size:11px;color:#9fbbb3;margin-top:7px}.career-footer{padding:17px 30px;border-top:1px solid #b5d1c822;display:flex;justify-content:space-between;gap:15px;font:10px system-ui;color:#8ba8a7}#career-objective{position:absolute;left:var(--hud-edge,30px);top:150px;width:274px;padding:17px 20px;background:#152b32e6;color:#edf0de;border:1px solid #b4cbbb3b;border-left:2px solid #c3d7a7;pointer-events:auto;border-radius:3px}#career-objective small{display:block;font:10px system-ui;letter-spacing:.1em;color:#b4c8b0}#career-objective strong{display:block;font:21px Songti SC,serif;margin:9px 0}#career-objective span{display:block;font:11px/1.8 system-ui;color:#b5c6bb}#career-objective button{font:10px system-ui;padding:7px 9px;margin:12px 7px 0 0;color:#d4decd;background:#a8c3a514;border:1px solid #a6bda33d;cursor:pointer;border-radius:2px}.objective-metrics{display:flex;gap:22px;margin-top:15px}.objective-metrics b{font:16px system-ui;color:#e1d9b7}.objective-metrics i{display:block;font:9px system-ui;color:#a6bdaf;margin-top:7px}.career-world-label{position:absolute;transform:translate(-50%,-110%);font:11px/1.6 system-ui;color:#ecf6e3;background:#163d36dd;padding:6px 11px;border:1px solid #b2e3c676;border-radius:3px;white-space:nowrap;pointer-events:none}.career-world-label:after{content:"";position:absolute;bottom:-12px;left:50%;width:1px;height:12px;background:#cfdfb9}#walk-help{position:absolute;bottom:28px;left:50%;transform:translate(-50%);padding:10px 16px;background:#15242cdb;border:1px solid #c5d6c330;font:11px system-ui;color:#dce7d4;white-space:nowrap}#career-invitation{position:absolute;top:165px;left:var(--hud-edge,30px);max-width:330px;text-align:left;background:#173437dc;border:1px solid #adc8b540;padding:18px 22px;pointer-events:auto;cursor:pointer;color:#e6ead5}#career-invitation small{display:block;font:10px system-ui;letter-spacing:.12em;color:#accbb6}#career-invitation strong{display:block;font:21px Songti SC,serif;margin:12px 0}#career-invitation span{font:11px/1.8 system-ui;color:#b7cfc1}#career-objective[hidden],#walk-help[hidden],#career-invitation[hidden],.career-world-label[hidden]{display:none}@media(max-width:800px){.cinematic-hud #life-journal.career-panel{top:20px;bottom:20px;right:12px;width:calc(100vw - 24px)}.career-heading,.career-content{padding:18px}.career-account{margin:0 18px;grid-template-columns:1fr 1fr;gap:18px}.career-tabs{padding:10px 12px 0;gap:0;justify-content:space-between}.career-roles{gap:6px}.career-roles span{display:none}.career-roles button{padding:10px}.career-roles strong{font-size:12px}.career-jobs,.career-upgrades{grid-template-columns:1fr}.career-level small{display:none}.career-people{grid-template-columns:1fr}.career-people article{display:flex;gap:16px}.career-people p{min-height:0}.career-footer span:last-child{display:none}#career-objective{top:125px;width:220px;padding:12px}#walk-help{font-size:9px;max-width:80vw;white-space:normal}}
