.photo-editor-panel { position:fixed; top:110px; left:16px; z-index:10001; width:280px; padding:16px; background:#202020f5; border:1px solid #666; border-radius:8px; font:13px/1.5 Arial,sans-serif; color:white; box-shadow:0 4px 20px #0008; }
.photo-editor-panel button { background:#444; color:white; border:1px solid #777; padding:7px 9px; border-radius:4px; margin:4px 3px 4px 0; cursor:pointer; }
.photo-editor-panel button.primary { background:#fff; color:#111; }
.photo-editor-panel label { display:block; margin-top:8px; }
.photo-editor-panel input { width:100%; }
.photo-editor-panel p { margin:8px 0; }
.photo-editor-panel .editor-status { color:#bcdcff; white-space:pre-line; }
.photo-editor-on .resizable-draggable { opacity:1 !important; transform:none !important; animation:none !important; cursor:move !important; touch-action:none; outline:1px solid #777; }
.photo-editor-on .resizable-draggable.editor-selected { outline:3px solid #61baff; z-index:5; }
.photo-editor-on #canvas { background-image:linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px); background-size:30px 30px; }
.editor-resize-handle { position:absolute; bottom:0; right:0; width:calc(18px / var(--photo-zoom,1)); height:calc(18px / var(--photo-zoom,1)); background:#61baff; cursor:nwse-resize; z-index:6; }
.photo-editor-on .resizable-draggable img { pointer-events:none; user-select:none; }
.photo-editor-on .text-reveal-container { pointer-events:none; }

.photo-editor-on .resizable-draggable.editor-pushed { transition:top .12s ease; }
@media(prefers-reduced-motion:reduce) { .photo-editor-on .resizable-draggable.editor-pushed { transition:none; } }

.photo-zoom-wrapper { position:relative; margin-inline:auto; overflow:clip; }
.photo-editor-on #canvas { max-width:none; touch-action:none; }
.photo-editor-panel { max-height:calc(100vh - 135px); overflow-y:auto; }
.photo-zoom-controls { margin-block:8px; padding-bottom:8px; border-bottom:1px solid #555; }
.photo-zoom-controls output { float:right; font-variant-numeric:tabular-nums; }
.photo-zoom-controls small { display:block; color:#ccc; }
