html,body,#room{width:100%;height:100%;margin:0;overflow:hidden;background:#11130e}body{font-family:monospace}#room{position:fixed;inset:0}canvas{display:block;width:100%;height:100%;image-rendering:pixelated;outline:none}#crosshair{position:fixed;left:50%;top:50%;width:28px;height:28px;margin:-14px;pointer-events:none;color:#e1a93c;filter:drop-shadow(0 1px 0 #251a05);opacity:.88}#crosshair i,#crosshair b{position:absolute;display:block;background:currentColor}#crosshair i:nth-child(1){width:7px;height:2px;left:0;top:13px}#crosshair i:nth-child(2){width:7px;height:2px;right:0;top:13px}#crosshair i:nth-child(3){height:7px;width:2px;left:13px;top:0}#crosshair i:nth-child(4){height:7px;width:2px;left:13px;bottom:0}#crosshair b{width:2px;height:2px;left:13px;top:13px}#enter{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border:1px solid #b38838aa;background:#191d17c9;cursor:pointer;border-radius:2px;box-shadow:0 0 35px #0007}#enter svg{width:48px;height:48px;fill:#dfa32f}#enter:hover{background:#3b3a25}#enter:focus-visible{outline:2px solid #edb84e;outline-offset:5px}body.playing #enter,body.console #enter{display:none}body.console #crosshair{display:none}body.console canvas{cursor:crosshair}body:not(.playing):not(.console) #crosshair{display:none}
body.playing canvas{cursor:none}

body.meter-inspect #crosshair{display:none}

#budget-hud{position:fixed;inset:0;pointer-events:none;image-rendering:pixelated;mix-blend-mode:screen}body:not(.playing):not(.console) #budget-hud{display:none}

body.touch-controls{overscroll-behavior:none;-webkit-user-select:none;user-select:none}body.touch-controls #room canvas{touch-action:none;-webkit-touch-callout:none}body.touch-controls #enter{touch-action:manipulation}
#touch-ui{position:fixed;inset:0;z-index:20;pointer-events:none;color:#e1b35a;font:14px Consolas,monospace}#touch-ui button{min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #99824b;background:#142016ed;color:#e1b35a;font:inherit;touch-action:manipulation;border-radius:3px;pointer-events:auto}#touch-ui button:disabled{opacity:.4}#touch-ui [hidden]{display:none!important}.touch-top{position:absolute;top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));display:flex;gap:8px;justify-content:space-between}.touch-help,.touch-tools{position:absolute;top:calc(max(8px,env(safe-area-inset-top)) + 52px);right:max(8px,env(safe-area-inset-right));max-width:min(320px,calc(100vw - 32px));padding:14px;background:#111b12f5;border:1px solid #99824b;pointer-events:auto;line-height:1.6;max-height:70dvh;overflow:auto}.touch-tools{display:grid;grid-template-columns:1fr 1fr;gap:7px}.touch-help p{margin:8px 0 12px}.touch-book{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;flex-direction:column;background:#142016f5;padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));box-sizing:border-box;pointer-events:auto;gap:8px;touch-action:none}.touch-book-label{font-size:12px;text-align:center;min-height:28px}.touch-book canvas{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 125px);object-fit:contain;image-rendering:auto;flex-shrink:1;min-height:0}.touch-book nav{display:flex;gap:8px;flex-shrink:0}.touch-book nav button{font-size:13px}.touch-controls #field-estimate-status{top:calc(max(8px,env(safe-area-inset-top)) + 56px)!important}.touch-controls #radio-hint,.touch-controls #reverb-status{white-space:normal!important;text-align:center;max-width:calc(100vw - 24px);width:max-content;font-size:12px!important}

.touch-room{position:absolute;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;gap:8px;white-space:nowrap}#touch-ui .touch-room button{color:#6aef85;border-color:#6aef85;background:#06210eeb}
/* Native modal keeps naming separate from movement and touch gestures. */
body.capture-dialog #enter,body.capture-dialog #crosshair{display:none}
#room-capture{box-sizing:border-box;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:26px;background:#07150d;color:#b2edc5;border:1px solid #63ee8a;box-shadow:0 0 24px #20bb5940;font:16px/1.5 Consolas,'Courier New',monospace;touch-action:auto}
#room-capture::backdrop{background:#000b}
#room-capture h2{margin:0 0 12px;color:#6aef85;font-size:23px;text-shadow:0 0 6px #39c86b80}
#room-capture label{display:block;margin-bottom:6px}
#room-capture input{box-sizing:border-box;width:100%;min-height:46px;padding:8px 10px;background:#020a06;color:#ddffe5;border:1px solid #538e66;font:inherit}
#room-capture input:focus{outline:2px solid #6aef85;outline-offset:2px}
#room-capture .capture-status{min-height:1.5em;overflow-wrap:anywhere}
#room-capture .capture-link{color:#91ffb2;overflow-wrap:anywhere}
#room-capture .capture-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:22px}
#room-capture button{min-height:46px;padding:9px 14px;border:1px solid #6aef85;background:#0b2b18;color:#baffcb;font:inherit;cursor:pointer}
#room-capture button[type=submit]{background:#6aef85;color:#04150a}
#room-capture button:disabled{opacity:.5;cursor:wait}
