/* 图片文字识别（OCR）· 页面专属样式 */
.ocr-preview {
  margin-top: 12px; padding: 10px; background: var(--code-bg, #f6f8fc);
  border: 1px solid var(--line, #eaeef5); border-radius: 12px;
  text-align: center;
}
.ocr-preview img { max-width: 100%; max-height: 320px; border-radius: 8px; }

.ocr-progress { margin-top: 14px; }
.ocr-bar {
  width: 100%; height: 8px; border-radius: 999px; overflow: hidden;
  background: var(--line, #eaeef5);
}
.ocr-bar-fill {
  height: 100%; width: 0%; border-radius: 999px;
  background: linear-gradient(90deg, var(--brand, #2f6df0), #5b8def);
  transition: width .2s ease;
}
#ocr-status { margin-top: 6px; font-size: 13px; }

.ocr-out {
  width: 100%; margin-top: 14px; min-height: 180px; resize: vertical;
  line-height: 1.7; font-size: 14px;
}

.dropzone.drag { border-color: var(--brand, #2f6df0); background: rgba(47,109,240,.06); }

/* file:// 协议警告条 */
.ocr-warn {
  margin: 0 0 18px; padding: 14px 16px; border-radius: 12px;
  border: 1px solid #f0c9a0; background: #fff7ec; color: #7a4a12;
}
.dark .ocr-warn { border-color: #6b4a22; background: #2e2516; color: #f0cfa0; }
.ocr-warn strong { display: block; font-size: 15px; margin-bottom: 6px; }
.ocr-warn p { margin: 6px 0; font-size: 13.5px; line-height: 1.7; }
.ocr-warn code, .ocr-warn pre { font-family: var(--mono, ui-monospace, Menlo, Consolas, monospace); }
.ocr-warn pre {
  margin: 8px 0; padding: 10px 12px; border-radius: 8px; overflow-x: auto;
  background: rgba(122,74,18,.08); color: inherit; font-size: 13px; line-height: 1.6;
}
.ocr-warn .muted { color: var(--muted, #8a93a6); }
