:root{color:#fff;font-synthesis:none;background:#232720;font-family:Arial,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;cursor:pointer;color:inherit;background:#20251dcc;border:1px solid #ffffff30;border-radius:30px;padding:11px 19px;transition:background .2s}button:hover{background:#526044}button:focus-visible{outline-offset:4px;outline:2px solid #e7d5a6}button:disabled{opacity:.5;cursor:wait}#view{touch-action:none;outline:0;width:100%;height:100%;position:fixed}header{top:max(24px,env(safe-area-inset-top));pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;left:28px;right:28px}.brand{letter-spacing:2px;text-shadow:0 1px 7px #000;align-items:center;gap:12px;font-size:10px;display:flex}.mark{letter-spacing:-5px;font-family:Georgia,serif;font-size:42px}.brand small{letter-spacing:0;margin-top:6px;font-size:14px;display:block}.modes{pointer-events:auto;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#20251dbb;border-radius:30px;padding:4px}.modes button{background:0 0;border:0;padding:9px 15px}.modes .active{color:#282d22;background:#e6dcc6}nav{gap:6px;display:flex;position:fixed;top:100px;left:28px}nav button{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:9px 15px;font-size:12px}#welcome{background:linear-gradient(90deg,#172018ee,#19201755),url(/cover.jpg) 50%/cover;align-items:center;padding:8vw;display:flex;position:fixed;inset:0}body:has(#welcome:not([hidden])) header{z-index:2}.intro{max-width:490px}.eyebrow{letter-spacing:3px;color:#d3c8aa;font-size:10px}h1{margin:24px 0;font:clamp(44px,6vw,80px)/1.03 Georgia,serif}p{color:#e1e1d5;line-height:1.7}#loading{color:#cfcfbd;margin-top:28px;font-size:12px}progress{accent-color:#dbcca9;width:100%;height:3px;margin:12px 0 20px;display:block}#enter{color:#242c21;background:#e6dcc6;border:0;min-width:225px;padding:16px 30px;display:block}.intro small{color:#bcbfaf;margin-top:20px;font-size:11px;line-height:1.8;display:block}footer{bottom:max(22px,env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;align-items:center;font-size:11px;display:flex;position:fixed;left:28px;right:28px}footer button{pointer-events:auto;padding:8px 13px;font-size:11px}#hint{letter-spacing:2px;background:#20251dbb;border-radius:30px;padding:12px 18px}i{color:#c5caba;letter-spacing:0;margin:0 5px;font-style:normal}#map{opacity:.85;pointer-events:none;width:105px;height:161px;position:fixed;bottom:77px;right:28px}#pause{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#resume{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:18px 26px}#joystick,#touch-hint{display:none}dialog{color:#eee;background:#242c23;border:1px solid #ffffff30;border-radius:18px;width:min(640px,90vw);max-height:80vh;padding:32px;line-height:1.6}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0009}dialog a{color:#e6d2a1}dialog h2{font:32px Georgia,serif}dialog li{margin-bottom:14px;font-size:13px}#close-info{float:right;padding:6px 13px;font-size:22px}[hidden]{display:none!important}@media (pointer:coarse){header{left:18px;right:18px;top:max(18px,env(safe-area-inset-top))}.brand{letter-spacing:1px;font-size:8px}.brand small{font-size:12px}.mark{font-size:33px}.modes button{padding:9px 11px;font-size:12px}nav{top:85px;left:18px}#hint{display:none}footer{justify-content:flex-end;left:18px;right:18px}#joystick{left:30px;bottom:max(60px,env(safe-area-inset-bottom));touch-action:none;background:#20251d40;border:1px solid #ffffff70;border-radius:50%;width:110px;height:110px;display:block;position:fixed}#stick{pointer-events:none;background:#eee5ce90;border-radius:50%;width:46px;height:46px;position:absolute;top:31px;left:31px}#touch-hint{color:#eee;pointer-events:none;font-size:10px;display:block;position:fixed;bottom:115px;right:30px}#map{width:75px;height:115px;bottom:170px;right:20px}.intro{width:100%}h1{font-size:52px}#welcome{padding:28px}:is(body:has(#welcome:not([hidden])) #joystick,body:has(#welcome:not([hidden])) #touch-hint){display:none}}@media (height<=500px){h1{margin:12px 0;font-size:35px}.intro p,.intro small{display:none}#loading{margin-top:15px}#map{display:none}}
