/* Room consoles sit above room canvases and retain the camera while tools change. */
.room-dev-console{position:fixed;z-index:140;left:12px;top:12px;bottom:12px;width:min(355px,calc(100vw - 24px));overflow:auto;padding:12px;background:#171529f5;border:1px solid #eac17d;border-radius:12px;box-shadow:0 12px 50px #05010de0;color:#f5efff;font:12px/1.5 system-ui,sans-serif;backdrop-filter:blur(9px);box-sizing:border-box}
.room-dev-console[hidden],.room-dev-console [hidden]{display:none!important}.room-dev-console *{box-sizing:border-box}.room-dev-console.room-dev-dock-right{left:auto;right:12px}.room-dev-console .room-dev-head{display:flex;align-items:center;gap:6px;position:sticky;top:-12px;z-index:3;background:#171529;padding:7px 0}.room-dev-head strong{flex:1;color:#ffe0a1}.room-dev-console button,.room-dev-console input,.room-dev-console select{font:inherit;min-width:0;min-height:36px;color:#fff1ff;background:#29243d;border:1px solid #75638b;border-radius:5px;padding:6px 8px;touch-action:manipulation}.room-dev-console button{cursor:pointer}.room-dev-console button:hover{background:#463951;border-color:#b8a2ce}.room-dev-console button:disabled{opacity:.4;cursor:default}.room-dev-console [aria-selected=true],.room-dev-console [aria-pressed=true]{border-color:#9bffcc;background:#365746}.room-dev-console label{display:grid;gap:4px;margin:9px 0}.room-dev-console label>select,.room-dev-console label>input{width:100%}.room-dev-console .room-dev-check{display:flex;align-items:center;gap:7px}.room-dev-check input{width:auto;min-height:20px;accent-color:#92f7d9}.room-dev-console input[type=color]{height:36px;padding:3px}.room-dev-console p{font-size:12px;margin:9px 0}.room-dev-console .room-dev-hint{font-size:11px;color:#c9bdd7;line-height:1.5}.room-dev-camera,.room-dev-row{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0}.room-dev-camera button,.room-dev-row button{flex:1}.room-dev-camera button[data-room-action=zoom-reset]{min-width:60px}.room-dev-console .room-dev-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:10px 0;position:sticky;top:32px;z-index:3;background:#171529;padding:5px 0}.room-dev-tabs button{padding:7px 2px;min-height:40px}.room-dev-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.room-dev-console hr{border:0;border-top:1px solid #655374;margin:14px 0}.room-dev-console h3{color:#ffe0a1;font-size:14px}.room-dev-console .room-dev-bottom{display:block;position:sticky;bottom:-12px;padding:5px 0;background:#171529;border-top:1px solid #655374;color:#aef7dc;font:11px/1.5 system-ui}.room-dev-bottom p{margin:5px 0;font-size:11px;min-height:32px}.room-dev-playtest [data-room-pane]{pointer-events:none;opacity:.5}.room-developer-open canvas{touch-action:none}.room-developer-open canvas.room-dev-panning{cursor:grab}.room-developer-open canvas.room-dev-panning:active{cursor:grabbing}.room-developer-open .fishing-location-badge{display:none!important}
@media(max-width:760px) and (orientation:portrait){.room-dev-console{position:relative;inset:auto!important;width:100%;max-width:none;margin:16px auto}.room-dev-console .room-dev-head,.room-dev-console .room-dev-tabs,.room-dev-console .room-dev-bottom{position:static}.room-dev-console [data-room-action=dock]{display:none}.room-developer-open .piano-room-canvas-wrap,.room-developer-open .fishing-cave-scene{position:sticky;top:0;z-index:2}.room-dev-console button{min-height:44px}}
@media(max-height:550px) and (orientation:landscape){.room-dev-console{width:310px}.room-dev-console .room-dev-hint{font-size:10px}.room-dev-camera,.room-dev-row{margin:5px 0}.room-dev-console .room-dev-tabs{margin:6px 0}.room-dev-bottom p{min-height:0;max-height:36px;overflow:auto}}

.room-developer-open #pianoRoomCanvas{max-height:none!important;object-fit:fill!important}
@media(max-width:760px){.room-dev-console input,.room-dev-console select{min-height:44px}}

.room-dev-console .room-dev-tabs{grid-template-columns:repeat(auto-fit,minmax(58px,1fr))}
.room-dev-console .pixel-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.room-dev-console .pixel-field{min-width:0}.room-dev-console .pixel-check{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.room-dev-console .pixel-check input{width:22px;height:22px;min-height:22px}.room-dev-console .pixel-palette{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.room-dev-console .pixel-swatch{min-width:0;border:2px solid #bfaacc;padding:0}.room-dev-console .pixel-grid-scroll{max-height:440px;max-width:100%;overflow:auto;border:2px solid #796b9d;border-radius:6px;background:#192135;overscroll-behavior:contain;padding:4px;touch-action:pan-x pan-y}.room-dev-console .pixel-grid{display:block;max-width:none!important;max-height:none!important;image-rendering:pixelated;touch-action:none}.room-dev-console .pixel-preview{display:block;width:160px;height:192px;image-rendering:pixelated;background:repeating-conic-gradient(#263149 0% 25%,#35425c 0% 50%) 0/20px 20px;border:1px solid #8e7da7;border-radius:7px;margin:10px auto}.room-dev-console .pixel-actions{display:flex;gap:5px;flex-wrap:wrap}.room-dev-console .pixel-actions button{flex:1}.room-dev-console .pixel-status{color:#bbf5e5;min-height:34px}

.room-dev-console .room-dev-tabs button{font-size:12px;padding:7px 2px;overflow-wrap:anywhere}
.piano-room-heading-actions{display:flex;align-items:center;gap:6px;min-width:0}
/* Overlay visibility is independent of the selected paint or object tool. */
.room-dev-console .room-dev-overlays{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0}
.room-dev-console .room-dev-overlays button{min-height:44px;font-size:12px;font-weight:650}
.room-dev-console .room-dev-overlay-legend{font:11px/1.5 system-ui;margin:0 0 8px;padding:7px;background:#101b2b;border:1px solid #635a79;border-radius:6px}
.room-dev-console .dev-key-blocked{color:#ff8aa1}.room-dev-console .dev-key-walkable{color:#8bf2bb}.room-dev-console .dev-key-background{color:#8fc8ff}.room-dev-console .dev-key-depth{color:#ffdc84}.room-dev-console .dev-key-foreground{color:#8bffda}
.room-developer-open canvas.room-dev-layer-brush{cursor:none}

/* Full-resolution artwork uses its own bounded viewport at up to 64× zoom. */
.room-dev-console [data-room-action=edit-artwork],.room-dev-console [data-room-action=edit-character-artwork]{min-height:44px;width:100%;border-color:#7df0cc}
.room-dev-console [data-room-pane=artwork]{min-width:0;max-width:100%}
.room-dev-console .artwork-editor canvas{width:100%;max-width:100%!important;max-height:none!important;object-fit:fill}
