.image-mode-switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 16px 0 18px; }
.image-mode-switch button, .image-edit-target button, .image-edit-tool-row button, .image-edit-rectangle button { min-height: 44px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2); color: var(--ink); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.image-mode-switch button[aria-pressed="true"], .image-edit-target button[aria-pressed="true"], .image-edit-tool-row button[aria-pressed="true"] { border-color: var(--brand); color: var(--brand-text); background: var(--brand-soft); }
.image-mode-switch button:hover, .image-edit-target button:hover, .image-edit-tool-row button:hover, .image-edit-rectangle button:hover { border-color: var(--brand); }
.image-mode-switch button:focus-visible, .image-edit-panel button:focus-visible, .image-edit-panel input:focus-visible, .image-edit-preview canvas:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }
.image-edit-panel[hidden], #imgInputs[hidden], .image-edit-panel [hidden] { display: none !important; }
.image-edit-panel { margin: 14px 0 8px; }
.image-edit-intro { margin: 0 0 12px; color: var(--muted-3); font-size: 13px; line-height: 1.5; }
.image-edit-warning { padding: 11px 13px; border: 1px solid var(--line); border-radius: 10px; color: var(--brand-text); background: var(--surface-2); font-size: 13px; }
.image-edit-preview { position: relative; width: 100%; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); }
.image-edit-preview img { display: block; width: 100%; height: auto; }
.image-edit-preview canvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .5; }
.image-edit-preview canvas.is-editable { cursor: crosshair; touch-action: none; }
.image-edit-status, .image-edit-note { margin: 8px 0; color: var(--muted-3); font-size: 12px; line-height: 1.45; }
.image-edit-target { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0; }
.image-edit-tools { padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); }
.image-edit-tools > p:first-child { margin: 0 0 12px; font-size: 13px; line-height: 1.45; }
.image-edit-tool-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.image-edit-tool-row label { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 12px; }
.image-edit-tool-row input[type="range"] { width: 100px; accent-color: var(--brand); }
.image-edit-tool-row output { min-width: 38px; }
.image-edit-panel button:disabled { opacity: .5; cursor: not-allowed; }
.image-edit-rectangle { margin-top: 12px; font-size: 13px; }
.image-edit-rectangle summary { cursor: pointer; min-height: 36px; }
.image-edit-rectangle-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 8px 0; }
.image-edit-rectangle-fields label { display: grid; gap: 4px; margin: 0; font-size: 12px; }
.image-edit-rectangle-fields input { width: 100%; min-width: 0; padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); font: inherit; }
@media (max-width: 600px) { .image-edit-rectangle-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.image-references{padding:16px;margin:14px 0 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.image-ref-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.image-ref-heading h3{margin:0;font-size:15px}.image-ref-heading span{font-size:12px;color:var(--muted)}
.image-references p{font-size:13px;line-height:1.6;color:var(--muted);margin:10px 0}
.image-ref-actions{display:flex;flex-wrap:wrap;gap:8px}
.image-references button,.image-ref-dialog button{min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;cursor:pointer;touch-action:manipulation}
.image-references button:disabled{opacity:.5;cursor:default}.image-references button:focus-visible,.image-ref-dialog button:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.image-ref-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:12px;margin-top:14px}.image-ref-list:empty{display:none}
.image-ref-card{min-width:0;display:grid;gap:6px}.image-ref-card img{width:100%;aspect-ratio:1;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.image-ref-card strong{font-size:13px}.image-ref-card small{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-ref-card button{padding:6px 10px}
#imageRefStatus:empty{display:none}#imageRefStatus{color:var(--brand-text)}.image-ref-tip{border-top:1px solid var(--line);padding-top:12px}
.image-ref-dialog{width:min(760px,calc(100vw - 24px));max-height:85dvh;overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);padding:20px}.image-ref-dialog::backdrop{background:rgba(0,0,0,.65)}
.image-ref-dialog header{display:flex;align-items:center;justify-content:space-between;gap:14px}.image-ref-dialog h2{font-size:20px;margin:0}.image-ref-dialog p{font-size:13px;color:var(--muted)}
.image-ref-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.image-ref-gallery-card{display:grid;gap:10px;text-align:left;min-width:0}.image-ref-gallery-card img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:8px;background:var(--surface-2)}.image-ref-gallery-card span{overflow-wrap:anywhere;font-size:12px;max-height:4.5em;overflow:hidden}
.image-ref-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 10px}.image-ref-tabs button[aria-pressed=true]{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-text)}.image-ref-dialog>.image-ref-gallery+button{margin-top:16px}
@media(max-width:600px){.image-ref-actions button{flex:1}.image-references{padding:12px}.image-ref-dialog{padding:16px}.image-ref-dialog h2{font-size:17px}}
