*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font:14px/1.5 'Segoe UI',system-ui,sans-serif;color:#fff8e9;background:#83bec8}button{font:inherit;color:inherit;cursor:pointer;border:1px solid #fff7e52e;background:#183f48b8;border-radius:9px;padding:10px 16px;backdrop-filter:blur(14px);transition:background .2s}button:hover{background:#285b60}button:focus-visible{outline:3px solid #ffdfa0;outline-offset:4px}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}#game,#world{position:absolute;inset:0;width:100%;height:100%;display:block}#world{touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#11383b45,transparent 25%,transparent 70%,#102f3c55)}.hud{transition:opacity .25s}header{position:absolute;left:32px;right:32px;top:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none}header button{pointer-events:auto}.brand{font:40px/.85 Georgia,serif;letter-spacing:2px;text-shadow:0 2px 12px #10373c55}.brand span{display:block;font:8px 'Segoe UI',sans-serif;letter-spacing:3px;margin-top:10px}.place{display:flex;gap:12px;align-items:center;text-shadow:0 2px 10px #224e61aa;font-size:17px;font-weight:550}.place small{display:block;font-size:10px;font-weight:400;letter-spacing:1.5px;opacity:.8}.sun{font-size:25px;color:#ffe4ac}.top-actions{display:flex;gap:8px}#pause{font-size:18px;padding:8px 17px}.quest{position:absolute;top:118px;left:32px;width:274px;padding:18px 20px;background:linear-gradient(110deg,#183b3de6,#1e464b85);border-radius:4px 16px 16px 4px;border-left:3px solid #e4c78a;backdrop-filter:blur(16px);box-shadow:0 6px 25px #153e3d15}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:650;color:#f3d69b}.quest .eyebrow{display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:1.4px}.quest .eyebrow span{color:#e2e5d6aa;white-space:nowrap}.quest h2{font:24px/1.2 Georgia,serif;margin:11px 0 8px}.quest p{font-size:12px;color:#e6eee2cf;margin:0 0 16px;line-height:1.65}.quest-progress{height:2px;background:#dbe4cb25}.quest-progress i{height:100%;display:block;width:12%;background:#edcf8f;transition:width .5s}.bottom-left{position:absolute;left:32px;bottom:28px}.companion{display:flex;gap:14px;align-items:center;background:#163c449e;padding:14px 20px 14px 14px;border:1px solid #f6e8bf26;border-radius:14px;backdrop-filter:blur(16px)}.companion small{display:block;font-size:8px;letter-spacing:1.6px;color:#d3ded8aa}.companion strong{display:block;font-size:13px;font-weight:500;margin:2px 0}.companion span{display:block;font-size:10px;color:#e9dba9}.ghost-icon{position:relative;width:40px;height:43px;border-radius:55% 55% 44% 44%;background:linear-gradient(135deg,#f1ffed,#75c0bd);box-shadow:0 0 20px #aae7dc40}.ghost-icon:before,.ghost-icon:after{content:'';position:absolute;top:-7px;width:14px;height:23px;border-radius:70% 70% 30% 30%;background:#c6f0dd;transform:rotate(-25deg)}.ghost-icon:before{left:1px}.ghost-icon:after{right:1px;transform:rotate(25deg)}.ghost-icon i{position:absolute;top:19px;width:5px;height:9px;border-radius:50%;background:#1c4957}.ghost-icon i:first-child{left:10px}.ghost-icon i:last-child{right:10px}.save{display:block;margin-top:9px;font-size:9px;color:#e4eee0aa;text-shadow:0 1px 5px #123b44}.bottom-right{position:absolute;right:32px;bottom:28px;text-align:right}.compass{width:88px;height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #f6edc966;border-radius:50%;background:#1e4a4c66;margin-left:auto;backdrop-filter:blur(10px)}.compass span{font-size:8px;color:#f8d59a}.compass i{font-style:normal;font-size:31px;line-height:32px;color:#e5e9ce}.compass b{font-size:6px;letter-spacing:1px;font-weight:500}.keyboard-help{font-size:10px;line-height:2;margin-top:12px;color:#f1f3e0d9;text-shadow:0 1px 5px #163f4f}kbd{font:inherit;padding:2px 5px;background:#eaf4e721;border:1px solid #eef0d642;border-radius:4px;color:#fff6dc}.interact{position:absolute;left:50%;bottom:70px;transform:translateX(-50%);display:flex;align-items:center;gap:13px;border:1px solid #f2db9a99;border-radius:30px;background:#183d46ed;box-shadow:0 8px 40px #15383f33;padding:9px 22px 9px 10px;white-space:nowrap}.interact kbd{display:grid;place-items:center;border-radius:50%;width:32px;height:32px;background:#f1db9d;color:#2d4848;font-size:15px}.waypoint{position:absolute;pointer-events:none;display:flex;align-items:center;gap:4px;flex-direction:column;transform:translate(-50%,-100%);filter:drop-shadow(0 2px 4px #314d5a88)}.waypoint span{color:#ffdf89;font-size:35px;line-height:35px}.waypoint b{font-size:10px;background:#2147529e;border-radius:4px;padding:2px 6px;font-weight:500}.overlay{position:absolute;inset:0;display:flex;align-items:center;z-index:10;background:linear-gradient(90deg,#0f374ae8,#17475177 44%,#18444e08 80%)}.intro{padding:40px 7vw;max-width:800px}.intro .eyebrow{font-size:10px;letter-spacing:3px}.intro h1{font:clamp(40px,5.4vw,78px)/1.06 Georgia,serif;letter-spacing:-2px;margin:24px 0;color:#fff9e8;text-shadow:0 5px 40px #173f4f33}.intro h1 em{font-weight:400;color:#f0d699}.intro p{font-size:15px;line-height:1.8;color:#e0ece6ca;margin:0 0 32px}.primary{background:#f0d79c;border:1px solid #f9e8bd;color:#214247;padding:14px 24px;font-weight:600;border-radius:6px;box-shadow:0 5px 15px #17383c22}.primary:hover{background:#fff0c0}.intro-meta{display:flex;gap:20px;margin-top:22px;font-size:8px;letter-spacing:1.4px;color:#b7d1ce}.version{position:absolute;bottom:30px;right:32px;font-size:9px;letter-spacing:1.3px;line-height:1.8;color:#e6f1e7bb;text-align:right}.dialog{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);width:min(760px,calc(100% - 40px));padding:24px;display:flex;gap:24px;background:linear-gradient(125deg,#153c46fa,#22545af7);border:1px solid #e9d6a24d;border-radius:13px;box-shadow:0 18px 80px #0b2a4299;z-index:15;backdrop-filter:blur(20px)}.dialog-portrait{width:62px;height:75px;flex-shrink:0;background:#e6d5a724;border:1px solid #f0da9933;border-radius:35px 35px 20px 20px;display:grid;place-items:center;font:35px Georgia,serif;color:#f3db9f}.dialog-content{flex:1}.dialog p{font-size:15px;line-height:1.75;margin:8px 0 18px;color:#f1f4e6}.actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.actions button{padding:10px 18px;font-size:13px}.menu{justify-content:center;background:#12333dbd;backdrop-filter:blur(14px)}.menu-card{width:min(420px,90vw);text-align:center;padding:30px 18px}.menu-card h2{font:35px/1.2 Georgia,serif;margin:16px 0}.menu-card p{font-size:12px;color:#d3e2d9}.menu-buttons{display:flex;flex-direction:column;gap:10px;margin:28px 0}.help{line-height:1.8}.joystick,.touch-action{display:none}.joystick{position:absolute;bottom:28px;left:24px;width:110px;height:110px;border-radius:50%;border:1px solid #fff3c666;background:#214b4955;touch-action:none;backdrop-filter:blur(6px)}#stick{position:absolute;width:48px;height:48px;border-radius:50%;background:#fff1c788;border:1px solid #fff5d4aa;left:50%;top:50%;margin:-24px;pointer-events:none}.touch-action{position:absolute;right:30px;bottom:45px;border-radius:50%;width:68px;height:68px;background:#e9d497cc;color:#234c50;border:2px solid #fff3c799;font-size:22px;touch-action:none}#toast{position:absolute;top:90px;left:50%;transform:translateX(-50%);padding:9px 17px;background:#183e47e8;border-radius:6px;font-size:12px;z-index:30;max-width:90vw;text-align:center}#show-ui{position:absolute;right:20px;bottom:20px;font-size:11px}.photo .hud,.photo .waypoint{opacity:0;pointer-events:none}.photo .vignette{display:none}
.loading .hud{opacity:0;pointer-events:none}
#toast{pointer-events:none}
@media(max-width:700px) and (orientation:portrait){#toast{top:auto;bottom:330px;width:calc(100% - 40px);font-size:11px}}
@media(max-height:540px) and (orientation:landscape){#toast{top:auto;bottom:12px;max-width:400px;font-size:10px}}
@media(pointer:coarse){.joystick,.touch-action{display:block}.bottom-left{bottom:162px}.bottom-right{bottom:148px}.keyboard-help{display:none}.interact{bottom:45px}.interact kbd{display:none}}
@media(max-width:700px){header{top:16px;left:18px;right:18px}.brand{font-size:30px}.brand span{font-size:6px;letter-spacing:2px}.place{display:none}.top-actions button{font-size:11px;padding:8px 12px}.quest{left:18px;top:88px;width:225px;padding:12px 15px}.quest h2{font-size:20px;margin:7px 0}.quest p{font-size:11px;margin-bottom:10px}.bottom-left{left:18px;bottom:150px}.companion{padding:10px 13px;gap:11px;max-width:245px}.companion strong{font-size:11px}.companion small{font-size:7px}.companion span{font-size:9px}.ghost-icon{transform:scale(.8);margin:-3px;flex-shrink:0}.save{font-size:8px;max-width:190px}.bottom-right{right:18px;bottom:145px}.compass{width:58px;height:58px}.compass b{font-size:5px}.keyboard-help{display:none}.joystick,.touch-action{display:block}.interact{bottom:275px;font-size:11px;padding:8px 12px;max-width:calc(100% - 40px)}.interact kbd{display:none}.dialog{bottom:18px;padding:18px;gap:12px;width:calc(100% - 26px)}.dialog-portrait{width:37px;height:48px;font-size:24px}.dialog p{font-size:13px}.actions button{font-size:12px;padding:9px 12px;min-height:42px}.intro{padding:30px 25px}.intro .eyebrow{font-size:8px;letter-spacing:1.8px}.intro h1{font-size:44px;letter-spacing:-1px}.intro p{font-size:13px}.intro-meta{flex-direction:column;gap:6px;font-size:7px}.version{right:20px;bottom:20px;font-size:8px}.overlay{background:linear-gradient(90deg,#143a4ad9,#17475177)}.menu{background:#12333de8}.menu-card{padding:16px}.menu-card h2{font-size:29px}.menu-buttons{margin:15px 0}.help{font-size:10px!important}}
@media(max-height:540px) and (orientation:landscape){header{top:10px}.brand{font-size:25px}.brand span{display:none}.quest{top:65px;width:215px;padding:10px 14px}.quest h2{font-size:19px}.quest p{font-size:10px;margin-bottom:8px}.bottom-left{left:auto;right:18px;bottom:145px}.companion{padding:8px 12px}.save,.bottom-right{display:none}.joystick{bottom:18px;width:90px;height:90px}.touch-action{bottom:30px;width:58px;height:58px}.interact{bottom:30px}.intro{padding:20px 6vw}.intro h1{font-size:42px;margin:12px 0}.intro p{font-size:12px;margin-bottom:15px}.intro-meta{margin-top:12px}.dialog{bottom:12px;max-width:650px;padding:16px}.dialog p{font-size:12px;margin:5px 0 12px}.dialog-portrait{height:45px;width:40px}.menu-card{padding:10px}.menu-card h2{font-size:25px;margin:6px}.menu-buttons{display:grid;grid-template-columns:1fr 1fr;margin:12px 0;gap:8px}.help{font-size:10px}.menu-card p{margin:4px}.version{display:none}}
