:root{color:#414a38;font-synthesis:none;text-rendering:optimizelegibility;--ink:#414a38;--muted:#737763;--paper:#faf7ea;--line:#515a4229;background:#f5efda;font-family:PingFang SC,Noto Sans CJK SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none}button{color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline-offset:5px;outline:2px solid #76632f}button,svg{flex-shrink:0}svg{fill:none;stroke:currentColor;stroke-width:1.45px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}[hidden]{display:none!important}.game-shell{isolation:isolate;position:relative}.game-shell>canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.intro{z-index:10;pointer-events:none;background:linear-gradient(90deg,#f5efdae8,#f5efda66 32%,#0000 60%);transition:opacity .6s,visibility .6s;position:absolute;inset:0}.intro.is-hidden{opacity:0;visibility:hidden}.intro-top{letter-spacing:.14em;align-items:center;gap:12px;font-size:15px;display:flex;position:absolute;top:35px;left:5.5vw}.intro-top small{letter-spacing:.19em;color:var(--muted);margin-top:5px;font:8px ui-monospace,monospace;display:block}.brand-mark{color:#7c8b67;font:42px Georgia,serif}.intro-copy{pointer-events:auto;position:absolute;top:29%;left:7vw}.eyebrow{letter-spacing:.16em;color:#85896f;font:9px ui-monospace,SFMono-Regular,monospace}h1{letter-spacing:-.03em;margin:20px 0 22px;font-family:Songti SC,STSong,Georgia,serif;font-size:clamp(44px,5.2vw,78px);font-weight:500;line-height:1.32}.intro-lead{color:#6a705c;margin:0 0 30px;font-size:13px;line-height:2}.start-button{color:#f9f6e8;letter-spacing:.05em;background:#4b583e;border:1px solid #4b583e;border-radius:4px;justify-content:space-between;align-items:center;width:218px;min-height:52px;padding:0 23px;font-size:13px;transition:background .18s,transform .18s;display:inline-flex;box-shadow:0 7px 22px #30382214}.start-button>span:last-child{font-size:24px;font-weight:300}.start-button:hover{background:#64734f;transform:translateY(-2px)}.headphone-note{color:#868977;align-items:center;gap:8px;margin-top:17px;font-size:10px;display:flex}.headphone-note svg{width:15px;height:15px}.intro-bottom{color:#7e836a;letter-spacing:.11em;justify-content:space-between;font-size:10px;display:flex;position:absolute;bottom:30px;left:5.5vw;right:4vw}.hud{z-index:5;pointer-events:none;position:absolute;inset:0}.route-status{top:max(28px, env(safe-area-inset-top));left:max(32px, env(safe-area-inset-left));background:#faf7eae3;border:1px solid #ffffff59;border-radius:5px;flex-direction:column;align-items:flex-start;padding:17px 22px 16px;display:flex;position:absolute;box-shadow:0 6px 28px #4b4d2c0a}.route-status .eyebrow{font-size:8px}.route-dot{padding:0 5px}.region-name{letter-spacing:.06em;margin:8px 0 7px;font:500 26px Songti SC,STSong,serif}.region-note{color:var(--muted);font-size:10px}.hud-actions{top:max(28px, env(safe-area-inset-top));right:max(32px, env(safe-area-inset-right));pointer-events:auto;gap:8px;display:flex;position:absolute}.control{background:#faf7eae8;border:1px solid #fff9;border-radius:5px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:0 15px;font-size:11px;transition:background .18s,border-color .18s;display:inline-flex;box-shadow:0 4px 20px #44482c0a}.control:hover{background:#fffdf3;border-color:#a3ac8b}.control.icon-only{width:44px;padding:0}.control[aria-pressed=true]{color:#fbf8ea;background:#536245;border-color:#536245}.sound-panel{top:max(84px, calc(env(safe-area-inset-top) + 58px));right:max(32px, env(safe-area-inset-right));pointer-events:auto;z-index:8;background:#faf7ed;border:1px solid #e3dfcc;border-radius:6px;width:256px;padding:19px 20px 13px;position:absolute;box-shadow:0 14px 50px #363d271f}.panel-title{margin-bottom:13px;font:20px Songti SC,serif;display:block}.setting{border:0;border-top:1px solid var(--line);text-align:left;background:0 0;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:0;font-size:12px;display:flex}.setting small{color:#8b8d7a;margin-left:8px;font-size:10px}.switch{background:#d9dccd;border-radius:10px;width:28px;height:16px;position:relative}.switch:after{content:"";background:#faf8ef;border-radius:50%;width:10px;height:10px;transition:transform .18s;position:absolute;top:3px;left:3px}.setting[aria-pressed=true] .switch:not(.switch-inverse),.setting[aria-pressed=false] .switch-inverse{background:#7e9066}.setting[aria-pressed=true] .switch:not(.switch-inverse):after,.setting[aria-pressed=false] .switch-inverse:after{transform:translate(12px)}.audio-status{color:#888c79;margin:12px 0 3px;font-size:9px;line-height:1.6}.drive-readout{bottom:67px;left:max(32px, env(safe-area-inset-left));background:#faf7eae0;border-radius:5px;align-items:center;gap:24px;padding:14px 20px;display:flex;position:absolute}.drive-readout>div{flex-direction:column;gap:7px;display:flex}.drive-readout strong{letter-spacing:-.06em;font:400 23px ui-monospace,SFMono-Regular,monospace}.drive-readout strong small{letter-spacing:0;font-size:10px}.drive-readout div>span{color:#8b8e7a;font-size:9px}.readout-divider{background:var(--line);width:1px;height:28px}.listen-controls{right:max(32px, env(safe-area-inset-right));pointer-events:auto;position:absolute;bottom:80px}.listen-toggle{min-height:48px;padding:0 18px}kbd{border:1px solid #606c4d38;border-radius:3px;justify-content:center;align-items:center;min-width:19px;height:19px;margin-right:3px;padding:0 4px;font:9px ui-monospace,monospace;display:inline-flex}.listen-toggle kbd{opacity:.5;margin-left:7px;font-size:8px}.journey-note{color:#5a634c;letter-spacing:.07em;white-space:nowrap;background:#f7f5e3ba;border-radius:30px;margin:0;padding:9px 17px;font-size:11px;position:absolute;bottom:33px;left:50%;transform:translate(-50%)}.desktop-controls{color:#656e55;gap:13px;font-size:9px;display:flex;position:absolute;bottom:29px;left:34px}.touch-controls{display:none}.pause-card{z-index:20;pointer-events:auto;text-align:center;background:#faf7ea;border:1px solid #fffdf4;border-radius:8px;width:320px;padding:36px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 120px #29301d2e}.pause-card h2{margin:16px 0 10px;font:500 30px Songti SC,serif}.pause-card p{color:var(--muted);margin-bottom:25px;font-size:11px}.pause-card .start-button{width:100%;min-height:46px}.contact-vignette{pointer-events:none;opacity:0;transition:opacity .2s;position:absolute;inset:0;box-shadow:inset 0 -20px 90px #b1955426}.is-bumping .contact-vignette{opacity:1}noscript{background:#f5efda;place-items:center;display:grid;position:fixed;inset:0}@media (height<=640px) and (width>=761px){.intro-copy{top:24%}h1{margin:13px 0 14px;font-size:48px}.intro-lead{margin-bottom:20px}.intro-top{top:22px}}@media (width<=760px),(pointer:coarse){.intro{background:linear-gradient(#0000 33%,#f5efdab8 64%,#f5efdaf5 100%)}.intro-top{top:max(22px, env(safe-area-inset-top));font-size:13px;left:25px}.intro-copy{top:auto;bottom:max(63px, calc(env(safe-area-inset-bottom) + 42px));left:28px;right:28px}.intro-copy .eyebrow{font-size:7px}h1{margin:12px 0 13px;font-size:clamp(37px,10vw,50px);line-height:1.2}.intro-lead{margin-bottom:20px;font-size:11px;line-height:1.8}.start-button{width:205px;min-height:48px}.headphone-note{margin-top:14px;font-size:9px}.intro-bottom{bottom:max(21px, env(safe-area-inset-bottom));font-size:8px;left:28px}.intro-bottom span:last-child{display:none}.route-status{top:max(16px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));padding:12px 14px}.route-status .eyebrow{letter-spacing:.1em;font-size:6px}.region-name{margin:7px 0 0;font-size:23px}.region-note{display:none}.hud-actions{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));gap:5px}.hud-actions .control{width:39px;min-height:40px;padding:0}.hud-actions .control span{display:none}.sound-panel{right:16px;top:max(69px, calc(env(safe-area-inset-top) + 53px));width:246px}.drive-readout{top:max(104px, calc(env(safe-area-inset-top) + 87px));background:#faf7eacc;gap:16px;padding:10px 13px;bottom:auto;left:16px}.drive-readout strong{font-size:18px}.drive-readout div>span{font-size:8px}.listen-controls{right:16px;top:max(109px, calc(env(safe-area-inset-top) + 91px));bottom:auto}.listen-toggle{gap:6px;min-height:43px;padding:0 11px;font-size:10px}.listen-toggle kbd,.desktop-controls{display:none}.journey-note{bottom:max(100px, calc(env(safe-area-inset-bottom) + 87px));white-space:normal;text-align:center;max-width:calc(100% - 30px);padding:8px 13px;font-size:9px}.touch-controls{left:24px;right:24px;bottom:max(25px, env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;display:flex;position:absolute}.touch-controls button{pointer-events:auto;touch-action:none;color:#59664b;background:#faf7eae8;border:1px solid #ffffffa6;border-radius:8px;width:69px;height:56px;font-size:26px}.touch-controls button.is-active{color:#f8f5e7;background:#677950}.pause-card{width:min(310px,100vw - 36px)}}@media (height<=520px) and (pointer:coarse){.intro-copy{bottom:28px;left:32px}.intro-copy h1{font-size:30px}.intro-top,.intro-bottom,.intro-lead,.intro-copy .eyebrow{display:none}.intro{background:linear-gradient(90deg,#f5efdae6,#0000 65%)}.headphone-note{margin-bottom:0}.drive-readout{top:95px}.listen-controls{top:75px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}
