/* 独立取图组件；只消费站点主题变量，不改变导航与其他页面。 */
.photo-search { margin:24px 0 40px; padding:28px; border:1px solid var(--line-strong); background:var(--bg-1); }
.photo-search [hidden] { display:none !important; }
.photo-heading { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-bottom:16px; }
.photo-heading h2 { font-size:28px; margin-top:8px; }
.photo-mode-label { padding:8px 12px; border:1px solid var(--accent-line); color:var(--accent); font-size:12px; }
.photo-search p { color:var(--tx-2); line-height:1.85; margin:12px 0; }
.photo-actions { display:flex; flex-wrap:wrap; gap:10px; margin:16px 0; }
.photo-search button { padding:12px 16px; min-height:44px; border:1px solid var(--accent-line); background:var(--bg-2); color:var(--tx-1); font:inherit; cursor:pointer; }
.photo-search button:hover:not(:disabled) { background:var(--accent-hover); }
.photo-search button:disabled { color:var(--tx-2); border-color:var(--line-strong); cursor:not-allowed; opacity:.6; }
.photo-search :focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
#photo-status { min-height:28px; overflow-wrap:anywhere; }
.photo-edit-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr); gap:24px; margin:24px 0 16px; }
.photo-image-panel { display:flex; align-items:center; justify-content:center; padding:12px; background:var(--bg-3); min-width:0; }
#photo-canvas { display:block; max-width:100%; height:auto; max-height:70vh; object-fit:contain; }
.photo-edit-controls label { display:flex; justify-content:space-between; margin-top:12px; color:var(--tx-2); }
.photo-edit-controls input[type=range] { display:block; width:100%; min-height:40px; accent-color:var(--accent); }
.photo-search textarea { display:block; width:100%; margin-top:12px; padding:12px; font:inherit; background:var(--bg-2); color:var(--tx-1); border:1px solid var(--line-strong); resize:vertical; }
#photo-text-preview { display:block; white-space:pre-wrap; overflow-wrap:anywhere; margin:16px 0; }
#photo-output { margin:20px 0; padding:16px; border:1px solid var(--accent-line); }
#photo-output-preview { display:block; max-width:100%; max-height:70vh; height:auto; object-fit:contain; }
#photo-output-caption { color:var(--tx-2); line-height:1.8; margin-top:12px; }
.photo-search .photo-footnote { font-size:12px; }
@media(max-width:720px) {
  .photo-search { padding:18px 14px; }
  .photo-heading { align-items:flex-start; flex-direction:column; }
  .photo-edit-layout { grid-template-columns:minmax(0,1fr); gap:16px; }
  .photo-actions > button { flex:1 1 auto; }
}
