*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#f4eddb;color:#263d36;font:14px Arial,Helvetica,sans-serif}main{position:fixed;inset:0;isolation:isolate;background:#f4eddb}main:fullscreen{width:100vw;height:100vh}canvas,#fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid #b44129;outline-offset:5px}#loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f4eddb;letter-spacing:.26em;z-index:10}#loading span{margin-top:18px;font:italic 20px Georgia;letter-spacing:0}#door{position:absolute;left:max(24px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));border:1px solid #b4412955;border-radius:28px;padding:14px 23px;background:#f4eddbed;backdrop-filter:blur(10px);z-index:4}#door:hover{background:#fff}#door b{font-weight:400;margin-left:6px}#controls{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));display:flex;padding:3px;border:1px solid #263d3626;border-radius:28px;background:#f4eddbed;backdrop-filter:blur(10px);z-index:4}#controls button{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;padding:11px;background:transparent}#controls button:hover{background:#fff}#controls button[hidden]{display:none}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}#arrival{position:absolute;inset:0;display:flex;justify-content:center;flex-direction:column;padding-left:8%;background:#f4eddb;pointer-events:none;opacity:0;z-index:6}#arrival small{font-size:12px;letter-spacing:.3em}#arrival p{font-size:clamp(55px,9vw,135px);letter-spacing:-.055em;line-height:1;margin:32px 0}#arrival em{font-family:Georgia,serif;color:#b44129}#error{position:absolute;bottom:90px;left:24px;background:#f4eddb;padding:14px;max-width:450px;z-index:5}body.entering #controls,body.entering #door{visibility:hidden}@media(max-width:650px){#door{left:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:14px 17px;font-size:13px}#controls{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}#arrival p{font-size:58px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
