.prop-handle{position:absolute;width:10px;height:10px;border:1px solid var(--accent2);background:#000c;border-radius:50%;z-index:20;pointer-events:all;transition:background .1s}.prop-handle:hover{background:var(--accent2)}.prop-handle.corner-tl{top:-5px;left:-5px;cursor:nwse-resize}.prop-handle.corner-tr{top:-5px;right:-5px;cursor:nesw-resize}.prop-handle.corner-bl{bottom:-5px;left:-5px;cursor:nesw-resize}.prop-handle.corner-br{bottom:-5px;right:-5px;cursor:nwse-resize}.prop-handle.edge-l{top:50%;left:-5px;transform:translateY(-50%);cursor:ew-resize}.prop-handle.edge-r{top:50%;right:-5px;transform:translateY(-50%);cursor:ew-resize}.prop-handle.rotate-handle{top:-28px;left:50%;margin-left:-5px;cursor:crosshair;border-color:var(--warn);background:#000c}.prop-handle.rotate-handle:after{content:"\21bb";position:absolute;font-size:9px;color:var(--warn);top:-1px;left:0;pointer-events:none}.stage-prop-pixel{position:absolute;cursor:move;user-select:none}.stage-prop-pixel canvas{display:block;image-rendering:auto}.line-prop-svg{overflow:visible;display:block;position:absolute;top:0;left:0;pointer-events:none}.stage-prop-label-tag{position:absolute;top:-18px;left:0;font-size:7px;letter-spacing:1px;color:var(--text2);white-space:nowrap;pointer-events:none;background:var(--surface);padding:1px 4px;border:1px solid var(--border);border-radius:var(--r-xs)}.stage-prop-pixel.selected-prop>canvas{outline:1px solid var(--accent2);box-shadow:0 0 10px #00e88f4d}.stage-prop-pixel.multi-selected>canvas{outline:1px solid var(--accent2)!important;box-shadow:0 0 8px #00e88f40!important}.stage-rubber-band{position:absolute;border:1px solid var(--accent2);background:#00e88f0d;pointer-events:none;z-index:100}.stage-sel-actions{position:absolute;top:10px;left:10px;z-index:120;display:flex;align-items:center;gap:6px;padding:5px 7px;border-radius:var(--r-md, 6px);background:var(--surface2, #15171c);border:1px solid var(--border2, #333);box-shadow:0 6px 18px #00000080;font-family:DM Mono,monospace}.stage-sel-actions .ssa-count{font-size:9px;letter-spacing:1px;color:var(--accent2)}.stage-sel-actions .ssa-btn{font-family:inherit;font-size:9px;letter-spacing:.5px;padding:4px 8px;cursor:pointer;color:var(--bg);background:var(--accent2);border:none;border-radius:4px;font-weight:600}.stage-sel-actions .ssa-btn:hover{filter:brightness(1.1)}.stage-sel-actions .ssa-add{font-family:inherit;font-size:9px;padding:3px 5px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;cursor:pointer}.prop-overlap-menu{position:fixed;z-index:10000;min-width:150px;display:flex;flex-direction:column;gap:2px;padding:5px;background:var(--surface2, #15171c);border:1px solid var(--border2, #333);border-radius:var(--r-md, 6px);box-shadow:0 8px 22px #0000008c;font-family:DM Mono,monospace}.prop-overlap-menu .pom-hdr{font-size:8px;letter-spacing:1.5px;color:var(--label, #888);padding:2px 6px 5px;border-bottom:1px solid var(--border);margin-bottom:2px}.prop-overlap-menu .pom-item{font-family:inherit;font-size:10px;text-align:left;padding:5px 8px;cursor:pointer;border-radius:4px;color:var(--text);background:var(--bg);border:1px solid transparent}.prop-overlap-menu .pom-item:hover{border-color:var(--accent2);color:var(--accent2)}.prop-overlap-menu .pom-item.sel{border-color:var(--accent2);color:var(--accent2);background:#00e88f14}.pixel-preview-wrap{background:var(--bg);border:1px solid var(--border);padding:12px;display:flex;align-items:center;justify-content:center;min-height:100px;position:relative;overflow:auto}.pixel-preview-wrap canvas{image-rendering:pixelated}.wiring-diagram{display:grid;gap:3px;margin-top:8px}.wiring-cell{width:20px;height:20px;border:1px solid var(--border2);border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:7px;color:var(--label);background:var(--bg);transition:.1s}.wiring-cell.highlighted{background:var(--accent2);color:#000;border-color:var(--accent2)}.pm-section{margin-bottom:20px}.pm-section-title{font-size:8px;letter-spacing:3px;text-transform:uppercase;color:var(--label);margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--border)}.pm-row{display:flex;gap:12px;margin-bottom:10px;align-items:flex-start}.pm-field{flex:1}.pm-field-label{font-size:8px;letter-spacing:2px;color:var(--label);text-transform:uppercase;margin-bottom:5px}.pm-input{width:100%;font-family:DM Mono,monospace;font-size:10px;background:var(--bg);color:var(--text);border:1px solid var(--border);padding:5px 8px;outline:none;transition:var(--trans);border-radius:var(--r-sm)}.pm-input:focus{border-color:var(--accent2)}.pm-select{width:100%;font-family:DM Mono,monospace;font-size:10px;background:var(--bg);color:var(--text);border:1px solid var(--border);padding:5px 8px;outline:none;cursor:pointer;transition:var(--trans);border-radius:var(--r-sm)}.pm-select:focus{border-color:var(--accent2)}
