html,body{margin:0;height:100%;overflow:hidden;background:#ccbbad;font:14px/1.3 system-ui,-apple-system,sans-serif;color:#2b2118;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}canvas{display:block;width:100vw;height:100vh;height:100dvh;touch-action:none}#hud{position:fixed;top:max(8px,env(safe-area-inset-top));left:10px;background:#fffaf0bf;padding:4px 8px;border-radius:6px;font-variant-numeric:tabular-nums;pointer-events:none}#toolbar{position:fixed;bottom:max(10px,env(safe-area-inset-bottom));left:0;right:0;display:flex;justify-content:center;gap:8px;pointer-events:none}#toolbar button,#panel button{pointer-events:auto;font:inherit;padding:10px 14px;border-radius:10px;border:1px solid #8a6f4e;background:#fffaf0e6;color:#2b2118}#panel{position:fixed;top:max(44px,calc(env(safe-area-inset-top) + 36px));right:10px;width:min(300px,calc(100vw - 20px));max-height:calc(100dvh - 140px);overflow-y:auto;background:#fffaf0f0;border-radius:10px;padding:10px 12px;box-shadow:0 2px 10px #0003}#panel[hidden]{display:none}body.side canvas{width:calc(100vw - 340px)}body.side #toolbar{right:340px}body.side #panel{top:0;right:0;bottom:0;width:340px;max-height:none;border-radius:0;box-sizing:border-box;box-shadow:none;border-left:1px solid #3a3a3d}#panel h3{margin:8px 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#6b5438}#panel label{display:block;margin:6px 0}#panel label span{display:flex;justify-content:space-between;font-size:13px}#panel input[type=range]{width:100%}#panel select{width:100%;font:inherit;padding:6px;margin-bottom:4px}#error{position:fixed;inset:20% 10px auto;background:#fff3f0;border:1px solid #b0402a;padding:14px;border-radius:8px;white-space:pre-wrap}#error[hidden]{display:none}
