/* html-overlay schema 1.0：站点与宿主语言预览共用此唯一源文件。只渲染宿主验证后的比例坐标。 */
.umd-overlay-preview { max-width: 1000px; margin: 0 auto; padding: 24px; font-family: system-ui, "Segoe UI", "Noto Sans", "Microsoft YaHei", sans-serif; line-height: 1.65; color: #172033; }
.umd-overlay { margin: 1.5rem 0; max-width: 100%; min-width: 0; }
.umd-overlay .umd-overlay-stage { position: relative; width: 100%; aspect-ratio: var(--umd-ratio); isolation: isolate; }
.umd-overlay img.umd-overlay-image { display: block; width: 100%; height: auto; max-width: 100%; margin: 0; border-radius: 8px; object-fit: contain; transform: none; direction: ltr; }
.umd-overlay ol.umd-overlay-labels { list-style: none; padding: 0; margin: 0; }
.umd-overlay .umd-overlay-label { box-sizing: border-box; position: absolute; left: var(--umd-x); top: var(--umd-y); width: var(--umd-w); height: var(--umd-h); padding: 6px 8px; margin: 0; border: 1px solid #bcc6d4; border-radius: 5px; line-height: 1.45; font-weight: 500; white-space: pre-wrap; overflow-wrap: anywhere; word-break: normal; overflow: visible; unicode-bidi: plaintext; }
.umd-overlay .umd-tone-neutral { color: #172033; background: #ffffffed; }
.umd-overlay .umd-tone-light { color: #102334; background: #f4f8ff; }
.umd-overlay .umd-tone-dark { color: #fff; background: #182c42f5; border-color: #62758b; }
.umd-overlay .umd-tone-accent { color: #fff; background: #075b7c; border-color: #075b7c; }
.umd-overlay .umd-size-small { font-size: 14px; }
.umd-overlay .umd-size-normal { font-size: 16px; }
.umd-overlay .umd-size-large { font-size: 20px; }
.umd-overlay .umd-align-start { text-align: start; }
.umd-overlay .umd-align-center { text-align: center; }
.umd-overlay .umd-align-end { text-align: end; }
.umd-overlay figcaption { margin: 0.65rem 0 0; font-size: 0.95rem; line-height: 1.65; color: inherit; overflow-wrap: anywhere; }
/* 手机将标签放入图片之后的正常文档流，完整保留 DOM 阅读顺序；RTL 只改变文字方向，底图绝不镜像。 */
@media (max-width: 680px) {
    .umd-overlay-preview { padding: 12px; }
    .umd-overlay .umd-overlay-stage { aspect-ratio: auto; }
    .umd-overlay ol.umd-overlay-labels { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
    .umd-overlay .umd-overlay-label { position: static; width: 100%; height: auto; min-height: 0; padding: 10px 12px; }
}
@media print {
    .umd-overlay .umd-overlay-stage { aspect-ratio: auto; }
    .umd-overlay .umd-overlay-label { position: static; width: 100%; height: auto; margin: 0.5em 0; }
}
