:root{color-scheme:dark;font-family:system-ui,-apple-system,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#17251e;color:#f3e4c7}#scene{width:100%;height:100%;display:block;touch-action:none}#loading{position:fixed;inset:0;z-index:20;background:radial-gradient(circle at 50% 30%,#344c3a,#111b17);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;text-align:center;padding:30px}.logo{font-family:serif;font-size:clamp(35px,7vw,62px);letter-spacing:.35em;color:#efdebc}#enter{padding:13px 38px;background:#a7864c;color:#151912;border:none;border-radius:7px;font-size:17px;cursor:pointer}#enter:disabled{opacity:.55;cursor:progress}button{font:inherit;cursor:pointer}#hud{position:fixed;inset:0;pointer-events:none}#hud button,#hud input,#hud select{pointer-events:auto}#top{position:absolute;top:18px;left:22px;right:22px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}#title{font-family:serif;font-size:23px;letter-spacing:.13em;text-shadow:0 2px 8px #07120b}#tip{font-size:12px;color:#e6d1a6;margin-top:6px}#actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}#actions button,#interact,#panel button{background:#1a3028e6;border:1px solid #bda06c7a;color:#f5dfb9;border-radius:7px;padding:9px 12px}#status{position:absolute;left:22px;bottom:48px;font-size:12px;line-height:1.9;padding:10px 14px;background:#14251fd9;border:1px solid #bda06c44;border-radius:8px;max-width:52vw;white-space:pre-line}#keys{position:absolute;bottom:18px;left:50%;transform:translate(-50%);font-size:12px;white-space:nowrap;color:#e7dcc9;text-shadow:0 2px 5px #000}#interact{position:absolute;bottom:110px;left:50%;transform:translate(-50%);display:none}#panel{position:absolute;right:18px;top:78px;width:min(320px,calc(100vw - 36px));padding:16px;border-radius:12px;background:#14251ff5;border:1px solid #c4a6757c;display:none;pointer-events:auto;max-height:80vh;overflow:auto}#panel h3{margin:0 0 12px}#panel label{display:block;margin:12px 0;font-size:13px}#panel input[type=file]{width:100%;font-size:12px;margin-top:6px}#panel select{background:#24372d;color:#eedfc4;padding:6px;border:1px solid #927957;border-radius:5px}#log{font-size:12px;color:#c9bd9f;white-space:pre-wrap;line-height:1.6}#joy{position:absolute;left:22px;bottom:100px;width:108px;height:108px;border:2px solid #d3bf9166;background:#23382b6b;border-radius:100%;display:none;pointer-events:auto;touch-action:none}#knob{position:absolute;left:31px;top:31px;width:42px;height:42px;background:#d4be8b88;border-radius:100%}#touchInteract{position:absolute;right:24px;bottom:136px;border-radius:100%;width:55px;height:55px;background:#8c704bcf;color:#fff;border:1px solid #f0daaa;display:none}#message{position:absolute;top:21%;left:50%;transform:translate(-50%);background:#192b23e8;padding:12px 20px;border-radius:8px;opacity:0;transition:opacity .3s}#message.show{opacity:1}@media (pointer: coarse){#joy,#touchInteract{display:block}#keys{display:none}#status{bottom:12px;left:12px;font-size:10px;max-width:60vw}#actions button{padding:7px}#top{left:12px;right:12px}}
