.image-results-dialog{width:min(1320px,94vw);max-width:94vw;max-height:92vh;padding:0;border:1px solid var(--border,var(--color-border));border-radius:12px;color:var(--text,#fff);background:var(--bg,var(--color-surface-muted))}
.image-results-dialog::backdrop{background:rgba(20,23,26,.4)}
.image-results-header,.image-results-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;background:var(--color-surface)}
.image-results-header{border-bottom:1px solid var(--border,var(--color-border))}
.image-results-header h2{font-size:24px;margin:0}.image-results-header p,.image-results-footer p{margin:5px 0 0;color:var(--muted,rgb(var(--ink) / 50%))}
.image-results-body{padding:24px;max-height:calc(92vh - 190px);overflow:auto}.image-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.image-result-card{background:var(--color-surface);border:1px solid var(--border,var(--color-border));border-radius:8px;overflow:hidden;min-width:0}.image-result-picture{height:300px;background:var(--surface-alt,var(--color-surface-muted));display:grid;place-items:center}.image-result-picture a{width:100%;height:100%;display:block}.image-result-picture img{width:100%;height:100%;object-fit:contain;display:block}.image-result-info{padding:16px}.image-result-info h3{font-size:18px;margin:0 0 8px}.image-result-info p{margin:6px 0;font-size:14px}.image-item-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.image-results-dialog a.primary,.image-results-dialog a.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;text-decoration:none;padding:10px 18px;box-sizing:border-box}.image-results-footer{border-top:1px solid var(--border,var(--color-border));flex-wrap:wrap}.image-results-footer>div{display:flex;gap:10px;flex-wrap:wrap}.image-error{color:#ff7a72;overflow-wrap:anywhere}.image-load-error{padding:24px}.image-review{font-size:14px;margin:12px 0}.image-review summary{cursor:pointer;color:var(--text,#fff)}.image-review-note{color:var(--muted,rgb(var(--ink) / 50%))}.image-generated-library{margin-top:28px}.image-generated-library h2{font-size:20px}.image-work-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--border,var(--color-border))}.image-work-row img{width:100px;height:100px;object-fit:contain;background:var(--color-surface);border-radius:6px}.image-work-row>div{flex:1;min-width:0}.image-work-row h3{font-size:18px;margin:0 0 8px}.image-work-row p{margin:0;color:var(--muted,rgb(var(--ink) / 50%))}.image-generation-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:18px}.image-result-hint{margin:12px 0;color:var(--muted,rgb(var(--ink) / 50%));font-size:14px}
@media(max-width:800px){.image-results-dialog{width:96vw;max-width:96vw;max-height:94vh}.image-results-header,.image-results-footer{padding:16px}.image-results-body{padding:16px;max-height:calc(94vh - 230px)}.image-result-grid{grid-template-columns:1fr}.image-result-picture{height:320px}.image-results-header h2{font-size:20px}.image-work-row{flex-wrap:wrap}.image-work-row img{width:76px;height:76px}}

/* Image counts come from returned media; elapsed time never advances this bar. */
.image-results-heading{flex:1;min-width:0}
.image-job-progress{width:min(100%,480px);margin-top:14px}
.image-job-progress-label{font-size:14px;color:var(--text,#fff);margin-bottom:8px}
.image-job-progress progress{display:block;width:100%;height:6px;border:0;border-radius:999px;overflow:hidden;background:var(--color-surface-muted);accent-color:var(--color-primary,#7b76ff)}
.image-job-progress progress::-webkit-progress-bar{background:var(--color-surface-muted);border-radius:999px}
.image-job-progress progress::-webkit-progress-value{background:var(--color-primary,#0f1115);border-radius:999px;transition:width .2s ease}
.image-job-progress progress::-moz-progress-bar{background:var(--color-primary,#0f1115);border-radius:999px}
@media(prefers-reduced-motion:reduce){.image-job-progress progress::-webkit-progress-value{transition:none}}

/* 2026-10-26: listing copy saved with the job, shown below the images. */
.image-listing{margin-top:24px;padding:20px;background:var(--color-surface);border:1px solid var(--border,var(--color-border));border-radius:8px}
.image-listing-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}
.image-listing-head h3{font-size:18px;margin:0}.image-listing-head p{margin:4px 0 0;color:var(--muted,rgb(var(--ink) / 50%));font-size:14px}
.image-listing-fields{display:grid;gap:14px}
.image-listing-field{padding-top:14px;border-top:1px solid var(--border,var(--color-border))}
.image-listing-label{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;font-weight:600;color:var(--text,#fff)}
.image-listing-field p{margin:6px 0 0;font-size:14px;line-height:1.7;white-space:pre-line;overflow-wrap:anywhere}
@media(max-width:800px){.image-listing{padding:16px}.image-listing-head{flex-wrap:wrap}}

/* 2026-10-26: one status block in the header, images and listing copy on separate tabs, no footer. */
.image-results-step{margin:10px 0 0;font-size:13px;color:var(--color-text-muted,rgb(var(--ink) / 50%))}
.image-results-offline{margin:8px 0 0;font-size:13px;color:#ff7a72}
.image-results-tabs{display:flex;gap:28px;padding:0 22px;background:var(--color-surface,var(--color-surface));border-bottom:1px solid var(--color-border,var(--color-border));flex-shrink:0}
.image-results-tab{min-height:46px;padding:0;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;font-size:15px;font-weight:500;color:var(--color-text-muted,rgb(var(--ink) / 50%));cursor:pointer}
.image-results-tab:hover{color:var(--color-text,#fff)}
.image-results-tab.is-active{color:var(--color-text,#fff);font-weight:600;border-bottom-color:var(--color-primary,rgb(var(--ink) / 60%))}
.image-results-panel[hidden]{display:none}
.image-results-panel>.image-listing{margin-top:0}
.image-result-picture{position:relative}
.image-result-picture.is-redrawing img{width:100%;height:100%;object-fit:contain;opacity:.4;filter:grayscale(.4)}
.image-result-badge{position:absolute;left:12px;right:12px;bottom:12px;width:fit-content;max-width:calc(100% - 24px);padding:7px 11px;border:1px solid var(--color-glass-border,var(--color-border));border-radius:8px;background:var(--color-surface);backdrop-filter:blur(8px);font-size:13px;line-height:1.5;color:var(--color-text,#fff);box-shadow:0 1px 3px rgb(15 17 21 / 12%)}
@media(max-width:600px){.image-results-tabs{padding:0 16px;gap:22px}}

/* 2026-10-26: administrator quality statistics. Numbers only. */
.image-stats-dialog{width:min(1100px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:0;overflow:hidden;border:1px solid var(--color-border,var(--color-border));border-radius:12px;background:var(--color-surface-muted);color:var(--color-text,#fff)}
.image-stats-dialog[open]{display:flex;flex-direction:column}
.image-stats-dialog::backdrop{background:rgb(20 22 27 / 44%)}
.image-stats-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 22px;background:var(--color-surface,var(--color-surface));border-bottom:1px solid var(--color-border,var(--color-border));flex-shrink:0}
.image-stats-header h2{margin:0;font-size:22px}.image-stats-header p{margin:5px 0 0;font-size:14px;color:var(--color-text-muted,rgb(var(--ink) / 50%))}
.image-stats-body{flex:1;min-height:0;overflow:auto;padding:22px}
.image-stats-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.image-stats-tile{padding:14px 16px;background:var(--color-surface,var(--color-surface));border:1px solid var(--color-border,var(--color-border));border-radius:10px;min-width:0}
.image-stats-tile span{display:block;font-size:13px;color:var(--color-text-muted,rgb(var(--ink) / 50%))}
.image-stats-tile strong{display:block;margin-top:6px;font-size:24px;font-weight:600;font-variant-numeric:tabular-nums}
.image-stats-tile small{display:block;margin-top:4px;font-size:12px;color:var(--color-text-muted,rgb(var(--ink) / 50%))}
.image-stats-note{margin:12px 0 0;font-size:13px;color:var(--color-text-muted,rgb(var(--ink) / 50%))}
.image-stats-section{margin-top:20px;padding:16px 18px;background:var(--color-surface,var(--color-surface));border:1px solid var(--color-border,var(--color-border));border-radius:10px;min-width:0}
.image-stats-section h3{margin:0 0 10px;font-size:15px}
.image-stats-table-wrap{overflow-x:auto}
.image-stats-section table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.image-stats-section th,.image-stats-section td{padding:8px 10px;text-align:right;white-space:nowrap;border-top:1px solid var(--color-border,var(--color-border))}
.image-stats-section thead th{border-top:0;font-size:13px;font-weight:500;color:var(--color-text-muted,rgb(var(--ink) / 50%))}
.image-stats-section th[scope=row],.image-stats-section thead th:first-child{text-align:left;font-weight:500}
.image-stats-empty{margin:0;font-size:14px;color:var(--color-text-muted,rgb(var(--ink) / 50%))}
.image-stats-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:0 16px}
@media(max-width:600px){.image-stats-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.image-stats-header,.image-stats-body{padding:16px}.image-stats-columns{grid-template-columns:minmax(0,1fr)}}
.image-result-slow{margin:0 0 6px;font-size:13px;line-height:1.5;color:var(--color-text-secondary,rgb(var(--ink) / 80%))}
/* 2026-10-26 第三批：改图上文字、换文字语言（不重新生图）。 */
.image-text-editor{display:grid;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--color-border,var(--color-border))}
.image-text-editor label{display:grid;gap:6px;font-size:13px;color:var(--color-text-secondary,rgb(var(--ink) / 80%))}
.image-text-editor input,.image-text-editor textarea{width:100%;padding:10px 12px;box-sizing:border-box;font:inherit;font-size:14px;color:var(--color-text,#fff)}
.image-text-editor input{min-height:44px}.image-text-editor textarea{resize:vertical;min-height:72px}
.image-text-editor .field-hint{margin:0}
.image-text-editor-actions{display:flex;justify-content:flex-end;gap:10px}
.image-language-switch{display:inline-flex;white-space:nowrap;align-items:center;gap:8px;font-size:13px;color:var(--color-text-secondary,rgb(var(--ink) / 80%))}
.image-language-switch select{min-height:44px;padding:0 32px 0 12px;font-size:14px}
/* 2026-10-26 第五批：店铺预览。普通商品页示意，不仿任何平台。 */
.store-preview{display:grid;gap:16px}
.store-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.store-preview-note{margin:0;color:var(--color-text-muted,rgb(var(--ink) / 50%));font-size:13px}
.store-preview-devices{display:inline-flex;padding:3px;border:1px solid var(--color-border,var(--color-border));border-radius:10px;background:var(--color-surface,var(--color-surface))}
.store-preview-device{min-height:32px;padding:0 14px;border:0;border-radius:7px;background:none;color:var(--color-text-secondary,rgb(var(--ink) / 80%));font-size:14px;cursor:pointer}
.store-preview-device.is-active{background:var(--color-primary,#0f1115);color:var(--color-on-primary,#fff)}
.store-preview-layout{display:grid;grid-template-columns:minmax(0,375px) minmax(0,1fr);gap:24px;align-items:start}
.store-preview-layout.is-desktop{grid-template-columns:minmax(0,1fr)}
/* 2026-10-31 店铺预览照平台真实商品页：浅色页面、平台常规颜色（颜色和版式在 image-client.js 的 STORE_SKINS），
   文字处用半透明玻璃马赛克占位（.sp，--sp 带出平台颜色）。 */
.store-page{background:var(--store-bg);color:var(--store-ink);border:1px solid rgb(0 0 0 / 8%);border-radius:20px;overflow:clip;font-family:system-ui,-apple-system,"PingFang SC",sans-serif}
.store-page.is-phone{width:100%;max-width:375px;justify-self:center}
.store-page.is-desktop{border-radius:10px;background:#fff}
.store-page img{display:block;width:100%;height:auto}
.sp{display:block;flex:none;max-width:100%;border-radius:4px;
 background:linear-gradient(105deg,rgb(255 255 255 / 0) 25%,rgb(255 255 255 / 45%) 50%,rgb(255 255 255 / 0) 75%),
 repeating-conic-gradient(color-mix(in srgb,var(--sp,#000) 9%,transparent) 0 25%,color-mix(in srgb,var(--sp,#000) 17%,transparent) 0 50%) 0 0/6px 6px;
 -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.sp.is-fill{aspect-ratio:var(--store-ratio,1/1);border-radius:0}
.sp-lines{display:grid;gap:8px}
.sp-row{display:flex;align-items:center;gap:8px}
.store-gallery,.store-summary,.store-detail{background:#fff}
.store-gallery-main{position:relative;background:#fff}
.store-gallery-main img{aspect-ratio:var(--store-ratio,1/1);object-fit:contain}
.store-gallery-count{position:absolute;right:12px;bottom:12px;padding:2px 10px;border-radius:999px;background:rgb(0 0 0 / 45%);color:#fff;font-size:12px}
.sp-step{position:absolute;top:0;bottom:0;width:35%;padding:0;border:0;background:none;cursor:pointer}
.sp-step.is-prev{left:0;cursor:w-resize}.sp-step.is-next{right:0;cursor:e-resize}
.sp-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:6px}
.sp-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgb(0 0 0 / 22%);cursor:pointer}
.sp-dots button.is-on{background:var(--store-accent)}
.store-gallery-thumbs{display:flex;gap:8px}
.store-gallery-thumb{flex:0 0 auto;width:48px;height:48px;padding:0;border:1px solid rgb(0 0 0 / 15%);border-radius:8px;background:#fff;overflow:hidden;cursor:pointer}
.store-gallery-thumb img{width:100%;height:100%;object-fit:cover}
.store-gallery-thumb.is-active{border:2px solid var(--store-accent);box-shadow:0 0 3px 1px color-mix(in srgb,var(--store-accent) 40%,transparent)}
.store-summary{display:grid;gap:10px;min-width:0;padding:12px 16px 16px;overflow-wrap:anywhere}
.store-summary h3{margin:0;color:var(--store-ink);font-size:16px;line-height:1.4;font-weight:500;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.store-summary ul{margin:0;padding-left:18px;color:var(--store-ink);opacity:.8;font-size:13px;line-height:1.55}
.store-summary li span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sp-price{display:grid;gap:6px;border-radius:8px}
.sp-price[style]{padding:10px 12px}
.sp-band{display:grid;gap:6px;padding:12px 16px;background:var(--store-band)}
.sp-variants{display:flex;flex-wrap:wrap;gap:8px}
.sp-variants span{display:grid;place-items:center;width:72px;height:34px;border:1px solid rgb(0 0 0 / 18%);border-radius:6px}
.sp-variants span.is-on{border:2px solid var(--store-accent)}
.sp-buttons{display:flex;gap:8px}
.sp-btn{flex:1;display:grid;place-items:center;min-height:38px;border-radius:999px}
.sp-btn.is-big{min-height:44px}
.store-detail{border-top:8px solid var(--store-bg)}
.store-detail h4{margin:0;padding:12px 16px;color:var(--store-ink);font-size:14px;font-weight:600}
.store-detail.is-empty{display:grid;gap:12px;padding:16px}
.sp-search{flex:1;display:flex;align-items:center;justify-content:space-between;height:36px;padding-left:12px;border-radius:6px;background:#fff;overflow:hidden;border:1px solid rgb(0 0 0 / 10%)}
.sp-search b{align-self:stretch;width:44px}
.sp-search.is-round{height:32px;border-radius:999px;background:#f2f2f2;border:0}
/* 手机 */
.sp-top{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#fff}
.store-summary.is-head{padding-bottom:10px}
.store-page.is-phone .sp-buttons{flex:1}
.store-buy{position:sticky;bottom:0;display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border-top:1px solid rgb(0 0 0 / 8%)}
.sp-icons{display:flex;gap:14px;padding-right:4px}
.sk-amazon.is-phone .sp-buttons{flex-direction:column}
/* 电脑 */
.sp-nav{display:flex;align-items:center;gap:16px;padding:10px 16px;border-bottom:1px solid rgb(0 0 0 / 8%)}
.sp-sub{display:flex;gap:18px;padding:8px 16px}
.sp-crumb{padding:12px 20px 0}
.sp-main{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;padding:20px}
.sp-main.has-buybox{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(140px,.5fr);gap:20px}
.store-page.is-desktop .store-gallery{display:grid;gap:12px;align-content:start}
.store-page.is-desktop .store-gallery.is-left{grid-template-columns:48px minmax(0,1fr)}
.store-page.is-desktop .store-gallery.is-left .store-gallery-thumbs{flex-direction:column}
.store-page.is-desktop .store-gallery.is-below .store-gallery-main{order:-1}
.store-page.is-desktop .store-summary{padding:0;align-content:start;gap:12px}
.store-page.is-desktop .store-summary h3{font-size:20px;line-height:1.35}
.store-page.is-desktop .store-summary ul{font-size:14px}
.store-page.is-desktop .sp-buttons{flex-direction:column;max-width:280px}
.sp-buybox{display:grid;gap:12px;align-content:start;padding:16px;border:1px solid #d5d9d9;border-radius:8px}
.store-page.is-desktop .store-detail{margin:0 20px;padding:16px 0 24px;border-top:1px solid rgb(0 0 0 / 10%)}
.store-page.is-desktop .store-detail h4{padding:0 0 12px}
.store-page.is-desktop .store-detail img{max-width:970px;margin:0 auto}
.store-search{display:grid;gap:10px;align-content:start}
.store-search h3{margin:0;font-size:16px}
.store-search>p{margin:0;color:var(--color-text-muted,rgb(var(--ink) / 50%));font-size:13px}
.store-search-sizes{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}
.store-search-tile{margin:0;width:var(--tile);display:grid;gap:6px}
.store-search-tile img{width:var(--tile);height:var(--tile);object-fit:cover;border-radius:8px;background:var(--color-surface-muted)}
.store-search-title{font-size:12px;line-height:1.4;color:var(--color-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.store-search-title .sp{margin-top:4px}
.store-search-tile figcaption{display:grid;font-size:12px;line-height:1.5;color:var(--color-text-muted,rgb(255 255 255 / 50%));white-space:nowrap}.store-search-tile figcaption b{font-weight:500;color:var(--color-text-secondary,rgb(255 255 255 / 80%))}
@media(max-width:760px){.store-preview-layout{grid-template-columns:minmax(0,1fr)}.sp-main,.sp-main.has-buybox{grid-template-columns:minmax(0,1fr)}}

/* 2026-10-28 上架文案：所选语言与中文对照左右并排。 */
.image-listing-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.image-listing-zh{color:var(--color-text-secondary)}.image-listing-zh span{display:block;margin-bottom:2px;font-size:12px;color:var(--color-text-muted)}
/* 2026-11-01 原文、中文各自复制：标题行分两格，与下面两栏对齐。 */
.image-listing-label.is-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.image-listing-cell{display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0}.image-listing-cell:last-child{justify-content:flex-end}
@media(max-width:760px){.image-listing-pair{grid-template-columns:1fr}}