:root{color-scheme:dark;font-family:system-ui,sans-serif;color:#fff4dc;background:#343254}*{box-sizing:border-box}body{margin:0;overflow:hidden}#world{position:fixed;inset:0;background:linear-gradient(#7474ac,#eac3a5)}canvas{display:block}header{position:fixed;inset:0 0 auto;display:flex;align-items:center;gap:20px;padding:12px 20px;background:#211d37df;z-index:2}header a{color:#ffe3a1;font-size:13px}header strong{font-family:Georgia,serif;font-size:22px}#bag{margin-left:auto;white-space:nowrap;color:#ffd27b}#quest{position:fixed;top:68px;left:50%;transform:translateX(-50%);padding:9px 16px;border-radius:20px;background:#211d37ce;font-size:13px;text-align:center;max-width:90vw}button{background:#453559;border:1px solid #a48cae;color:#fff3db;border-radius:10px;padding:11px 15px;min-height:44px;font:inherit;cursor:pointer}button:hover{background:#655077}button:focus-visible,a:focus-visible{outline:3px solid #ffe2a1;outline-offset:3px}button:disabled{opacity:.5;cursor:default}button.primary{background:#f7b95f;color:#30203a;font-weight:700}.hidden{display:none!important}.overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#100b2399;z-index:10}.panel{position:relative;width:min(510px,100%);max-height:92dvh;overflow:auto;padding:25px;border:1px solid #af91b9;border-radius:20px;background:#28213cee;box-shadow:0 25px 90px #130b26aa}.intro{width:min(600px,100%);text-align:center;padding:38px}.eyebrow{color:#ffd59a;letter-spacing:2px;font-size:11px}h1{font-family:Georgia,serif;font-size:clamp(34px,6vw,58px);line-height:1.06;margin:18px 0}h2{font-family:Georgia,serif;color:#ffd59a;margin:12px 0}p{line-height:1.65}.small{font-size:12px;color:#d8c9df}#loading{display:block;font-size:12px;margin:12px;color:#d3c0db}#tools{position:fixed;right:12px;top:105px;display:flex;flex-direction:column;gap:7px;z-index:2}#tools button{font-size:12px;padding:9px 11px;background:#27203ad9}#reticle{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:22px;color:#fff9;pointer-events:none}#prompt{position:fixed;bottom:120px;left:50%;transform:translateX(-50%);border-radius:20px;background:#251831d9;padding:8px 15px;text-align:center;max-width:80vw;pointer-events:none}#prompt:empty{display:none}#interact{position:fixed;right:22px;bottom:32px;background:#f6b35c;color:#312037;font-weight:700;width:145px;height:70px;touch-action:none}#stick{position:fixed;left:22px;bottom:24px;width:116px;height:116px;border-radius:50%;border:2px solid #f6dfba99;background:#2d24477a;touch-action:none}#knob{position:absolute;width:44px;height:44px;left:34px;top:34px;border-radius:50%;background:#ffdeb6bb;pointer-events:none}.close{position:absolute;top:10px;right:10px;z-index:2;font-size:24px}#portraitStage{height:150px;position:relative;overflow:hidden;border-radius:12px;background:#3c304b}#portraitStage canvas{position:absolute;width:100%;height:100%;inset:0}#answers{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}#answers button{flex:1;min-width:100px;background:#5f4470}#symbols{font-size:32px;letter-spacing:12px;text-align:center;min-height:45px}#feedback{color:#ffe1a0;min-height:26px}#notice{position:fixed;bottom:0;left:50%;transform:translateX(-50%);background:#21182de8;color:#ffe1aa;font-size:12px;padding:6px 13px;border-radius:15px;z-index:4;pointer-events:none}#notice:empty{display:none}#destinations{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:20px}#destinations button{font-size:13px}details{margin-top:18px;font-size:13px}@media(max-width:600px){header{padding:10px;gap:9px;flex-wrap:wrap}header strong{font-size:16px}header a{font-size:11px}#bag{font-size:13px}#quest{top:65px;font-size:11px;width:max-content}#tools{top:110px;right:8px}#tools button{font-size:10px;min-height:38px;padding:6px 8px}#stick{width:100px;height:100px;left:14px}#knob{left:26px;top:26px}#interact{width:125px;right:14px;height:64px;font-size:13px}.panel{padding:20px;max-height:94dvh}#portraitStage{height:125px}.overlay{padding:12px}#dialog p{font-size:14px;margin:10px 0}#symbols{font-size:27px;min-height:34px}.intro{padding:28px 22px}}

/* Keep Android browser panning from cancelling free-look drags. */
#world,#world canvas{touch-action:none}#quest{pointer-events:none}
