#psg-tool { min-width:0 }
.psg-controls { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:12px 0 }
.psg-controls label { display:flex; flex-direction:column; gap:4px; max-width:100% }
.psg-controls input[type=number] { width:100px }
#psg-pad { width:100%; height:auto; aspect-ratio:1800/840; display:block; border:1px solid #bac7c1; background:#fff; touch-action:none; border-radius:8px }
.psg-assets { display:flex; flex-wrap:wrap; gap:10px; margin:12px 0 }
.psg-asset { width:120px; min-height:80px; display:flex; flex-direction:column; align-items:center; gap:5px }
.psg-asset img { max-width:100px; height:45px; object-fit:contain }
.psg-asset[aria-pressed=true] { outline:3px solid #267052 }
.psg-preview { position:relative; margin:16px auto; max-width:100%; background:white; box-shadow:0 0 0 1px #ccc; overflow:hidden }
#psg-pdf { display:block; width:100%; height:100% }
#psg-overlay { position:absolute; inset:0; touch-action:none }
.psg-object { position:absolute; border:0; outline:1px dashed #888; padding:0; background:transparent; cursor:move; touch-action:none; transform-origin:center; }
.psg-object[aria-pressed=true] { outline:2px solid #267052 }
.psg-object img { position:absolute; display:block; pointer-events:none; transform-origin:center }
.psg-handle { position:absolute; right:-6px; bottom:-6px; width:14px; height:14px; padding:0; background:#267052; border:2px solid white; border-radius:3px; touch-action:none; cursor:nwse-resize }
.psg-image-preview { max-width:100%; max-height:150px; background:repeating-conic-gradient(#eee 0% 25%,#fff 0% 50%) 0/16px 16px; margin:12px 0 }
#psg-tool details { margin:12px 0 } #psg-tool summary { cursor:pointer; font-weight:600 }
#psg-edit { min-width:0; margin:14px 0; border:1px solid #ddd; border-radius:8px }
#psg-range { width:150px } #psg-text { width:100% }
