:root{font-family:Inter,Arial,sans-serif;color:#f9f6ef;background:#1a201f;font-synthesis:none}*{box-sizing:border-box}html,body,main,#viewport{width:100%;height:100%;margin:0;overflow:hidden}body{touch-action:none}button{font:inherit;cursor:pointer;color:inherit;border:1px solid #ffffff29;background:#1b201fcc;border-radius:8px;padding:10px 14px;backdrop-filter:blur(16px)}button:hover{background:#41433c}button:focus-visible{outline:3px solid #d1b370;outline-offset:3px}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}canvas{display:block;width:100%;height:100%;touch-action:none}header{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:24px 30px;background:linear-gradient(#131917bb,transparent);gap:14px;pointer-events:none}.brand{display:flex;align-items:center;gap:12px;text-shadow:0 1px 8px #000}.brand-mark{display:grid;place-items:center;border:1px solid #c4a25d;color:#d6bd84;font-family:Georgia,serif;font-size:28px;width:42px;height:46px;border-radius:18px 18px 4px 4px}.brand strong{font-size:15px;letter-spacing:1.1px}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:6px;color:#dbd9ce}.top-actions{display:flex;align-items:center;gap:8px;pointer-events:auto}.dimensions{font-size:12px;letter-spacing:1px;margin-right:10px}.panel{position:absolute;left:5%;bottom:13%;width:min(360px,90%);padding:28px;background:#171d1ce8;border:1px solid #d7c59640;border-radius:15px;box-shadow:0 16px 60px #0003;backdrop-filter:blur(18px)}.eyebrow{color:#d0b475;font-size:10px;letter-spacing:2.2px;font-weight:600}h1{font-weight:400;font-family:Georgia,serif;font-size:45px;margin:14px 0}p{font-size:14px;color:#e2e2d7;line-height:1.6}#loading{font-size:12px;color:#d6ba81;margin:24px 0 12px}.primary{background:#cfb47c;color:#19201f;font-weight:600;display:flex;justify-content:space-between;align-items:center;width:100%;border:0;padding:16px 18px}.primary:hover{background:#e1c997}.control-hint{font-size:10px;line-height:1.8;color:#b6bdb7;margin:14px 0 0}#error{font-size:13px;color:#ffdbba;line-height:1.6;margin-top:16px}footer{position:absolute;bottom:20px;left:30px;font-size:9px;letter-spacing:1.5px;opacity:.72;pointer-events:none;text-shadow:0 1px 4px #000}footer span{padding:0 10px;color:#d0b475}#crosshair{position:absolute;top:50%;left:50%;width:4px;height:4px;border-radius:50%;background:#fff8;box-shadow:0 0 0 1px #0003;pointer-events:none}#walkHint{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);font-size:11px;white-space:nowrap;background:#1b201fcc;padding:12px 18px;border-radius:30px;pointer-events:none}#pause{position:absolute;right:30px;bottom:25px}dialog{background:#202824;color:#f5f2e8;border:1px solid #a58a5055;border-radius:16px;max-width:430px;width:calc(100% - 36px);padding:34px}dialog::backdrop{background:#09120e9c;backdrop-filter:blur(8px)}h2{font-family:Georgia,serif;font-weight:400;font-size:28px}.close{float:right;padding:4px 10px;font-size:22px;border:0}.touch-look{position:absolute;bottom:60px;right:55px;opacity:.75;font-size:11px;pointer-events:none}#joystick{position:absolute;bottom:max(45px,env(safe-area-inset-bottom));left:38px;width:112px;height:112px;border-radius:50%;background:#ffffff12;border:1px solid #ffffff65;touch-action:none}#stick{width:44px;height:44px;position:absolute;left:33px;top:33px;background:#e8ddbd8c;border:1px solid #fff9;border-radius:50%;pointer-events:none}.playing footer{display:none}.touch #walkHint,.touch #crosshair{display:none}.touch #pause{right:20px;bottom:18px}body:not(.touch) #touchControls{display:none!important}@media(max-width:700px){header{padding:18px 16px;align-items:flex-start}.brand{gap:8px}.brand strong{font-size:10px;letter-spacing:.6px}.brand small{font-size:6px;letter-spacing:1px}.brand-mark{width:28px;height:33px;font-size:22px}.dimensions{display:none}.top-actions{gap:5px}.top-actions button{padding:7px 9px;font-size:14px}#reset span{display:none}.panel{left:5%;bottom:12%;padding:23px;width:90%;max-width:330px}h1{font-size:38px}footer{left:20px;bottom:18px;font-size:7px}}@media(max-height:520px){.panel{bottom:10%;padding:20px;width:310px}h1{font-size:30px;margin:8px 0}.panel p{margin:8px 0}.control-hint{display:none}#loading{margin:10px 0}header{padding:14px 20px}.primary{padding:12px}footer{bottom:12px}}
