/* 款视界 · 由前AI 设计系统 */
:root{
  --rail-w:64px;
  --rail-expanded-w:200px;
  --sidebar-width:var(--rail-w);
  --config-w:360px;
  /* 工作台左配置栏宽度：唯一真源；禁止再引入宽栏第二套数值 */
  --studio-config-w:380px;
  --studio-config-min-w:320px;
  --studio-config-max-w:420px;
  --sidebar-w:208px;
  --sidebar-collapsed-w:84px;
  --bg:#fcfcfc;
  --surface:#fff;
  --surface-2:#f5f5f5;
  --zone-rail:#f5f6f8;
  --zone-workspace:#f0f2f5;
  --shadow-rail:none;
  --shadow-panel:2px 0 20px rgba(15,23,42,.035);
  --shadow-topbar:0 1px 8px rgba(15,23,42,.025);
  --shadow-footer:0 -2px 12px rgba(15,23,42,.02);
  --shadow-card:0 2px 8px rgba(15,23,42,.05),0 12px 32px rgba(15,23,42,.04);
  --text:#0a0a0a;
  --text-2:#52525b;
  --muted:#737373;
  --line:#e5e5e5;
  --line-2:#d4d4d4;
  --select-border:#a8a8a8;
  --accent:#2563eb;
  --accent-soft:#eff6ff;
  /* 批量多选选中描边：素材页 / 工作台历史 / 生成结果 / 导入弹窗等共用 */
  --batch-sel-color:#2563eb;
  --batch-sel-ring:0 0 0 1px var(--batch-sel-color);
  --batch-sel-shadow:var(--batch-sel-ring),0 1px 3px rgba(15,23,42,.05),0 4px 14px rgba(15,23,42,.04);
  /* 全站动效 token */
  --ecom-ease-fluid:cubic-bezier(.32,.72,0,1);
  --ecom-ease-spring:cubic-bezier(.25,.9,.35,1);
  --ecom-ease-out:cubic-bezier(.22,1,.36,1);
  --ecom-dur-fast:.18s;
  --ecom-dur-ui:.24s;
  --ecom-dur-panel:.32s;
  --ecom-dur-modal:.28s;
  --ecom-dur-enter:.32s;
  --ecom-dur-stagger:.04s;
  --ecom-dur-leave:.22s;
  --ecom-shift-sm:6px;
  --ecom-shift-md:10px;
  --opt-card-on-bg:#eff6ff;
  --opt-card-on-border:#bfdbfe;
  --opt-card-on-ring:rgba(37,99,235,.14);
  --orange:#f59e0b;
  --promo-bg:#e5ff7a;
  --promo-text:#2a3300;
  --radius:8px;
  --radius-lg:12px;
  --font:"PingFang SC","Noto Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;
  --font-brand:"STKaiti","KaiTi","楷体",serif;
  --err:#dc2626;--ok:#059669;
  --yq-avatar-bg:#fff;
  --yq-avatar-fg:#0a0a0a;
  --yq-avatar-ring:#e4eaf0;
  --ctrl-h:32px;
  --wb-tab-py:7px;
  --wb-tab-fs:12px;
  --wb-tab-px:14px;
  --wb-tab-block-h:calc(var(--wb-tab-py)*2 + var(--wb-tab-fs));
  --scrollbar-size:3px;
  --scrollbar-thumb:rgba(10,10,10,.16);
  --scrollbar-thumb-hover:rgba(10,10,10,.26);
}
*{box-sizing:border-box;margin:0;padding:0}
html{color-scheme:light;height:100%}
html.dark{color-scheme:dark}
body{height:100%;color-scheme:light}
html.dark body{color-scheme:dark}
body.page-studio,body.page-home,body.page-canvas,body.page-history,body.page-copy,body.page-cases,body.broker-active{color-scheme:light}
html.dark body.page-studio,html.dark body.page-home,html.dark body.page-canvas,html.dark body.page-history,html.dark body.page-copy,html.dark body.page-cases,html.dark body.broker-active{color-scheme:dark}
body.page-studio{overflow:hidden;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
body.page-home{overflow:hidden;height:100%;font-family:var(--font);background:var(--bg);color:var(--text);--scrollbar-size:2px}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
.ico{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.ico svg{display:block}

/* ═══ 全站动效系统（流畅 · 克制） ═══ */
@keyframes ecom-fade-up{
  from{opacity:0;transform:translateY(var(--ecom-shift-sm))}
  to{opacity:1;transform:translateY(0)}
}
@keyframes ecom-enter-soft{
  from{opacity:0}
  to{opacity:1}
}
@keyframes ecom-fade-in{
  from{opacity:0}
  to{opacity:1}
}
@keyframes ecom-scale-in{
  from{opacity:0;transform:scale(.97)}
  to{opacity:1;transform:scale(1)}
}
@keyframes ecom-item-in{
  from{opacity:0}
  to{opacity:1}
}
.ecom-reveal,.ecom-reveal[data-ecom-reveal]{
  opacity:0;transform:translateY(var(--ecom-shift-sm));
  transition:opacity var(--ecom-dur-enter) var(--ecom-ease-fluid),transform var(--ecom-dur-enter) var(--ecom-ease-fluid);
  pointer-events:none;
}
.ecom-reveal.is-visible,.ecom-reveal[data-ecom-reveal].is-visible{
  opacity:1;transform:translateY(0);pointer-events:auto;
}
.ecom-item-in{animation:ecom-item-in var(--ecom-dur-enter) var(--ecom-ease-fluid) both}
.ecom-img-reveal{
  opacity:0;transform:scale(.985);
  transition:opacity var(--ecom-dur-ui) var(--ecom-ease-out),transform var(--ecom-dur-ui) var(--ecom-ease-out);
}
.ecom-img-reveal.is-loaded,.ecom-img-reveal.ecom-img-loaded{
  opacity:1;transform:scale(1);
}
html:not(.ecom-nav-pending) body.page-home:not(.page-home-leaving) .home-hero{
  animation:ecom-fade-up var(--ecom-dur-enter) var(--ecom-ease-fluid) both;
}
html:not(.ecom-nav-pending) body.page-home:not(.page-home-leaving) .home-prompt{
  animation:ecom-enter-soft var(--ecom-dur-enter) var(--ecom-ease-fluid) both;
  animation-delay:calc(var(--ecom-dur-stagger) * 2);
}
html:not(.ecom-nav-pending) body.page-home:not(.page-home-leaving) .home-split-nav{
  animation:ecom-enter-soft var(--ecom-dur-enter) var(--ecom-ease-fluid) both;
  animation-delay:calc(var(--ecom-dur-stagger) * 4);
}
html:not(.ecom-nav-pending) body.page-home:not(.page-home-leaving) .home-tools{
  animation:ecom-enter-soft var(--ecom-dur-enter) var(--ecom-ease-fluid) both;
  animation-delay:calc(var(--ecom-dur-stagger) * 5);
}
html:not(.ecom-nav-pending) body.page-home:not(.page-home-leaving) .home-showcase{
  animation:ecom-enter-soft var(--ecom-dur-enter) var(--ecom-ease-fluid) both;
  animation-delay:calc(var(--ecom-dur-stagger) * 6);
}
.btn-gen,.float-gen,.sup-btn,.rail-member,.upload-action-btn,.sidebar-upgrade-btn{
  transition:background var(--ecom-dur-ui) var(--ecom-ease-fluid),color var(--ecom-dur-ui) var(--ecom-ease-fluid),
    border-color var(--ecom-dur-ui) var(--ecom-ease-fluid),box-shadow var(--ecom-dur-ui) var(--ecom-ease-fluid),
    opacity var(--ecom-dur-fast) var(--ecom-ease-fluid);
}
@media (hover:hover){
  .btn-gen:not(:disabled):active,.float-gen:not(:disabled):active,.sup-btn:active,.rail-member:active,
  .upload-action-btn:active,.sidebar-upgrade-btn:active{
    opacity:.88;
  }
}
.home-prompt{
  transition:box-shadow var(--ecom-dur-ui) var(--ecom-ease-fluid),border-color var(--ecom-dur-ui) var(--ecom-ease-fluid);
}
.home-prompt:focus-within{
  box-shadow:0 6px 28px rgba(15,23,42,.07),0 2px 6px rgba(15,23,42,.04);
}
.gen-job-card.ecom-item-in,.hist-card.ecom-item-in,.home-case-card.ecom-item-in{
  animation:ecom-item-in var(--ecom-dur-enter) var(--ecom-ease-fluid) both;
}
.gen-job-img img.ecom-img-reveal,.result-thumb img.ecom-img-reveal,.hist-card img.ecom-img-reveal,.home-case-card img.ecom-img-reveal{
  opacity:0;transform:scale(.985);
  transition:opacity var(--ecom-dur-ui) var(--ecom-ease-out),transform var(--ecom-dur-ui) var(--ecom-ease-out);
}
.gen-job-img img.ecom-img-loaded,.result-thumb img.ecom-img-loaded,.hist-card img.ecom-img-loaded,.home-case-card img.ecom-img-loaded{
  opacity:1;transform:scale(1);
}

/* ═══ 统一壳：侧栏 + 主区（首页 / 工作台共用侧栏） ═══ */
#ecomSidebarSlot{display:contents}
.studio-app{display:flex;min-height:100vh;width:100%}
html.ecom-nav-pending{background:#fcfcfc!important}
html.ecom-nav-pending body{background:#fcfcfc!important}
html.dark.ecom-nav-pending{background:#0a0a0a!important}
html.dark.ecom-nav-pending body{background:#0a0a0a!important}
/* Studio/Copy：JS 完成表单构建后再显示主区，避免刷新时先闪默认 HTML（空下拉/无动态字段）再切换 */
html:not(.studio-form-ready) body.page-studio .studio-body{visibility:hidden}
html.studio-form-ready body.page-studio .studio-body{visibility:visible}
html:not(.cases-ready) body.page-cases .home-main,
html:not(.cases-ready) body.broker-active .broker-tool-shell .home-main{visibility:hidden}
html.cases-ready body.page-cases .home-main,
html.cases-ready body.broker-active .broker-tool-shell .home-main{visibility:visible}
body.page-studio-leaving .studio-body{
  opacity:0;
  transform:translateY(4px);
  transition:opacity var(--ecom-dur-leave) var(--ecom-ease-fluid),transform var(--ecom-dur-leave) var(--ecom-ease-fluid);
}
body.page-cases-leaving .home-main{
  opacity:0;
  transform:translateY(4px);
  transition:opacity var(--ecom-dur-leave) var(--ecom-ease-fluid),transform var(--ecom-dur-leave) var(--ecom-ease-fluid);
}
body.page-home-leaving .home-main{
  opacity:0;
  transform:translateY(4px);
  transition:opacity var(--ecom-dur-leave) var(--ecom-ease-fluid),transform var(--ecom-dur-leave) var(--ecom-ease-fluid);
}
html.cases-ready body.page-cases .home-main,
html.cases-ready body.broker-active .broker-tool-shell .home-main{
  animation:ecom-fade-up var(--ecom-dur-enter) var(--ecom-ease-fluid) both;
}
body.page-studio .studio-app{height:100dvh;max-height:100dvh;overflow:hidden}

.icon-rail{
  width:var(--rail-w);min-width:var(--rail-w);flex:0 0 var(--rail-w);
  background:var(--surface);border-right:1px solid rgba(10,10,10,.06);
  box-shadow:none;
  display:flex;flex-direction:column;align-items:center;padding:16px 0;gap:4px;
  flex-shrink:0;z-index:45;position:relative;
  transition:width var(--ecom-dur-panel) var(--ecom-ease-fluid),min-width var(--ecom-dur-panel) var(--ecom-ease-fluid),flex-basis var(--ecom-dur-panel) var(--ecom-ease-fluid);
  contain:layout style;overflow:visible;
}
.icon-rail.expanded{
  width:var(--rail-expanded-w);min-width:var(--rail-expanded-w);flex-basis:var(--rail-expanded-w);
  align-items:stretch;padding-left:12px;padding-right:12px;
}
.rail-logo{
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;align-self:center;text-decoration:none;color:inherit;
  margin-bottom:8px;
}
.rail-logo-img{
  width:36px;height:36px;object-fit:contain;display:block;flex-shrink:0;
}
.rail-mark{
  display:none;width:36px;height:36px;border-radius:10px;background:var(--text);color:#fff;
  align-items:center;justify-content:center;font-weight:800;font-size:14px;flex-shrink:0;
}
.rail-mark.show{display:flex}
.rail-brand-text{display:none;min-width:0;margin-left:10px;text-align:left}
.icon-rail.expanded .rail-logo{align-self:flex-start;justify-content:flex-start;margin-bottom:12px}
.icon-rail.expanded .rail-brand-text{display:block}
.rail-brand-text strong{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--text)}
.rail-brand-text em{display:block;font-style:normal;font-size:12px;color:var(--muted);margin-top:2px}
.rail-menu{flex:1;width:100%;display:flex;flex-direction:column;gap:2px;min-height:0;overflow-y:auto;overflow-x:hidden;padding:4px 0}
.rail-nav-item{
  height:40px;width:100%;border:none;background:transparent;border-radius:20px;
  color:var(--text-2);display:flex;align-items:center;justify-content:center;gap:12px;
  padding:0 12px;transition:background var(--ecom-dur-ui) var(--ecom-ease-fluid),color var(--ecom-dur-ui) var(--ecom-ease-fluid);cursor:pointer;font-size:14px;
}
.rail-nav-item .ico{transition:transform var(--ecom-dur-ui) var(--ecom-ease-fluid)}
.rail-nav-item:hover .ico{transform:scale(1.06)}
.icon-rail.expanded .rail-nav-item{justify-content:flex-start}
a.rail-nav-item{text-decoration:none}
.rail-nav-item:hover{color:var(--text);background:rgba(0,0,0,.04)}
.rail-nav-item.on{color:var(--text);background:rgba(0,0,0,.06);font-weight:500}
.rail-label{display:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.icon-rail.expanded .rail-label{display:inline}
.rail-gap{flex:1;min-height:8px}
.rail-foot{width:100%;display:flex;flex-direction:column;gap:6px;padding-top:10px;margin-top:8px}
.rail-user{
  display:none;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius);
  background:rgba(0,0,0,.04);font-size:12px;color:var(--text-2);
}
.icon-rail.expanded .rail-user{display:flex}
.rail-user-avatar{
  width:32px;height:32px;border-radius:50%;
  background:#fff;color:var(--yq-avatar-fg,#0a0a0a);
  box-sizing:border-box;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;
}
.rail-user-meta{min-width:0}
.rail-user-meta b{display:block;font-size:13px;color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rail-user-meta span{font-size:11px;color:var(--muted)}
.rail-member{
  display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;
  border-radius:20px;background:rgba(37,99,235,.08);color:var(--accent);font-size:12px;font-weight:600;
  text-decoration:none;border:0;cursor:pointer;font:inherit;width:100%;
}
.icon-rail.expanded .rail-member{justify-content:flex-start}
.icon-rail:not(.expanded) .rail-member{width:40px;height:40px;padding:0;border-radius:10px}
.icon-rail:not(.expanded) .rail-member em{display:none}
.rail-member em{font-style:normal}
.rail-toggle{
  position:absolute;top:50%;right:-20px;transform:translateY(-50%);
  width:40px;height:40px;border:1px solid var(--line);border-radius:50%;
  background:var(--surface);color:var(--text-2);display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(0,0,0,.08);transition:transform .15s,background .15s;z-index:41;
}
.rail-toggle:hover{background:var(--surface-2);color:var(--text)}
.rail-toggle:active{transform:translateY(-50%) scale(.95)}
.icon-rail.expanded .rail-toggle .ico{transform:rotate(180deg)}
.rail-btn{
  width:40px;height:40px;border:none;background:transparent;border-radius:10px;
  color:var(--muted);display:flex;align-items:center;justify-content:center;transition:.12s;
}
.rail-btn:hover{background:var(--surface-2);color:var(--text)}
.rail-btn.on{background:var(--accent-soft);color:var(--accent)}

.drawer-mask{position:fixed;inset:0;background:rgba(0,0,0,.2);z-index:40;display:none}
.drawer-mask.open{display:block}
.tool-drawer{
  position:fixed;left:var(--sidebar-width,var(--rail-w));top:0;bottom:0;width:280px;background:var(--surface);
  border-right:none;z-index:50;
  transform:translateX(calc(-100% - var(--sidebar-width,var(--rail-w))));
  transition:transform .22s ease,left .2s cubic-bezier(.4,0,.2,1),visibility .22s;
  visibility:hidden;display:flex;flex-direction:column;box-shadow:8px 0 32px rgba(15,23,42,.08);
  pointer-events:none;
}
.tool-drawer.open{
  transform:translateX(0);visibility:visible;pointer-events:auto;
}
.drawer-hd{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--line)}
.drawer-hd strong{font-size:15px}
.drawer-hd button{border:none;background:none;color:var(--muted);padding:4px}
.drawer-region{display:flex;gap:6px;padding:12px 14px}
.drawer-region button{
  flex:1;padding:0 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);
  font-size:12px;color:var(--text-2);
}
.drawer-region button.on{background:var(--text);color:#fff;border-color:var(--text)}
.drawer-body{flex:1;overflow-y:auto;padding:8px 10px 16px}
.drawer-grp{font-size:11px;font-weight:600;color:var(--muted);padding:10px 8px 6px;letter-spacing:.04em}
.drawer-item{
  display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius);
  font-size:13px;color:var(--text-2);transition:.12s;
}
.drawer-item:hover{background:var(--surface-2);color:var(--text)}
.drawer-item.on{background:var(--accent-soft);color:var(--accent);font-weight:600}
.drawer-item i{margin-left:auto;font-size:10px;padding:2px 6px;background:var(--line);border-radius:4px;font-style:normal}

.config-panel{
  width:var(--config-w);background:var(--surface);border-right:1px solid var(--line);
  box-shadow:none;
  display:flex;flex-direction:column;flex-shrink:0;
}
.config-head{position:relative;padding:16px 18px 12px;border-bottom:1px solid var(--line);flex-shrink:0}
.config-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.config-title-main{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.config-title-row h2{margin:0;font-size:16px;font-weight:700;white-space:nowrap;flex-shrink:0}
/* 工作台标题区：标题左 + 市场专区文字切换右（与下方 seg-pill 表单控件区分） */
body.page-studio .config-panel--studio .config-title-main{
  flex-direction:row;align-items:center;justify-content:space-between;gap:10px;width:100%;
}
body.page-studio .config-panel--studio .config-title-row{align-items:center;width:100%}
body.page-studio .config-panel--studio .config-title-row h2{min-width:0;overflow:hidden;text-overflow:ellipsis}
body.page-studio .config-panel--studio .region-switch{
  display:inline-flex;align-items:stretch;gap:2px;padding:3px;margin:0;
  border-radius:9px;background:#e8eaee;border:1px solid #d5d9e0;
  flex-shrink:0;box-shadow:inset 0 1px 2px rgba(15,23,42,.04);
}
body.page-studio .config-panel--studio .region-switch .region-tab{
  position:relative;flex:0 0 auto;min-height:0;padding:5px 12px;border:none;border-radius:6px;
  background:transparent;font-size:12px;font-weight:500;line-height:1.2;
  color:var(--text-2);cursor:pointer;white-space:nowrap;
  transition:color .15s,background .15s,box-shadow .15s;
}
body.page-studio .config-panel--studio .region-switch .region-tab:hover:not(.on){
  color:var(--text);background:rgba(255,255,255,.55);
}
body.page-studio .config-panel--studio .region-switch .region-tab.on{
  background:var(--accent);color:#fff;font-weight:600;
  box-shadow:0 1px 4px rgba(37,99,235,.32);
}
/* ── 文本型蓝色操作链接：悬停淡底高亮，无下划线 ── */
.upload-hist-link,
.wb-link-btn,
.wb-hist-dl,
.help-link,
.yq-feed-link.yq-feed-link--primary,
.wb-hist-feed .yq-feed-link.yq-feed-link--primary,
body.page-studio .gen-job-pack-lbl a,
body.page-studio .gen-job-pack-lbl .gen-job-dl,
.text-edit-retry,
.collapsible-field-toggle,
.ms-plaza-link,
.si-link-btn,
.upload-zone .upload-txt a{
  text-decoration:none;border-radius:4px;
  transition:color .15s,background .15s;
}
.upload-hist-link:hover,
.wb-link-btn:hover,
.wb-hist-dl:hover,
.help-link:hover,
.yq-feed-link.yq-feed-link--primary:hover,
.wb-hist-feed .yq-feed-link.yq-feed-link--primary:hover,
body.page-studio .gen-job-pack-lbl a:hover,
body.page-studio .gen-job-pack-lbl .gen-job-dl:hover,
.text-edit-retry:hover,
.collapsible-field-toggle:hover,
.ms-plaza-link:hover,
.si-link-btn:hover,
.upload-zone .upload-txt a:hover{
  text-decoration:none;color:#1d4ed8;background:rgba(37,99,235,.08);
}
.help-link{font-size:12px;color:var(--accent);display:flex;align-items:center;gap:4px;padding:2px 4px}
.seg-row,
.scene-tab-row{
  position:relative;display:flex;gap:2px;padding:3px;margin-bottom:10px;
  border-radius:9px;background:#e8eaee;border:1px solid #d5d9e0;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.04);
}
.seg-pill,
.scene-tab,
.model-filter,
.drawer-region button,
.config-panel .field select,
.btn-split-layout,
.model-thumb-more,
.wb-chip,
.adv-bar-toggle,
.upload-collapse-bar .upload-collapse-toggle,
.wb-btn{
  box-sizing:border-box;min-height:var(--ctrl-h);
  display:inline-flex;align-items:center;justify-content:center;line-height:1.2;
}
.seg-row .seg-pill,
.scene-tab-row .scene-tab{min-height:0}
.seg-pill{
  position:relative;z-index:1;
  flex:1;padding:5px 10px;border:none;border-radius:6px;
  background:transparent;font-size:12px;font-weight:500;color:var(--text-2);
  transition:color .15s,background .15s,box-shadow .15s;cursor:pointer;
}
.seg-pill:hover:not(.on){background:rgba(255,255,255,.55);color:var(--text)}
.seg-pill.on{
  background:var(--accent);color:#fff;font-weight:600;
  box-shadow:0 1px 4px rgba(37,99,235,.32);
}
/* 仅在色块已定位显示时改透明底，避免隐藏态扫指标导致白字无底 */
.seg-row.seg-indicator-host.seg-indicator-ready:has(.seg-slide-indicator) .seg-pill.on,
.scene-tab-row.seg-indicator-host.seg-indicator-ready:has(.seg-slide-indicator) .scene-tab.on,
.region-switch.seg-indicator-host.seg-indicator-ready:has(.seg-slide-indicator) .region-tab.on,
body.page-studio .config-panel--studio .region-switch.seg-indicator-host.seg-indicator-ready:has(.seg-slide-indicator) .region-tab.on{
  background:transparent;box-shadow:none;color:#fff;
}
/* 历史筛选：强调色块用白字，浅色时间段用正文色（勿一律白字） */
.hist-seg:not(.hist-time-seg).seg-indicator-host.seg-indicator-ready:has(.seg-slide-indicator) button.on{
  background:transparent;box-shadow:none;color:#fff;
}
.hist-seg.hist-time-seg.seg-indicator-host.seg-indicator-ready:has(.seg-slide-indicator) button.on{
  background:transparent;box-shadow:none;color:var(--text,#0a0a0a);
}
.config-body{
  flex:1;overflow-y:scroll;
  --config-pad-x:18px;
  padding:14px calc(var(--config-pad-x) - var(--scrollbar-size)) 14px var(--config-pad-x);
  scrollbar-gutter:stable;
}
.field{margin-bottom:14px}
.field>label{display:block;font-size:12px;font-weight:600;color:var(--text-2);margin-bottom:8px}
.upload-shell{
  border:1px dashed #d8dee8;border-radius:12px;overflow:hidden;
  background:linear-gradient(180deg,#f1f4f8 0%,#f8fafc 42%,#fff 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 1px 3px rgba(15,23,42,.04);
  transition:border-color .18s,box-shadow .18s,background .18s;
}
.upload-shell:hover{
  border-color:#94a3b8;
  background:linear-gradient(180deg,#e9eef4 0%,#f3f6fa 48%,#fff 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 2px 6px rgba(15,23,42,.06);
}
.upload-shell.has-img{
  border-style:solid;border-color:#e8e8e8;background:#fff;
  box-shadow:none;
}
.upload-shell.has-img:hover{
  border-color:#e8e8e8;background:#fff;box-shadow:none;
}
.upload-shell.has-img .upload-drop-foot{display:none}
.upload-zone{
  border:none;border-radius:0;background:transparent;
  min-height:108px;display:block;cursor:pointer;position:relative;overflow:hidden;
  color:#64748b;font-size:12px;padding:0;
  transition:background var(--ecom-dur-ui) var(--ecom-ease-fluid),border-color var(--ecom-dur-ui) var(--ecom-ease-fluid),box-shadow var(--ecom-dur-ui) var(--ecom-ease-fluid);
}
.upload-zone:hover{background:transparent;box-shadow:none}
.upload-zone-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:18px 16px 14px;text-align:center;pointer-events:none;min-height:108px;box-sizing:border-box;
}
.upload-drop-core{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:100%}
.upload-drop-title{font-size:13px;font-weight:600;color:#334155;line-height:1.35}
.upload-drop-meta{font-size:11px;color:#94a3b8;line-height:1.4}
.upload-drop-foot{
  padding:6px 12px 12px;text-align:center;border-top:none;background:transparent;
  display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap;
}
.upload-foot-sep{
  color:#94a3b8;font-size:11px;line-height:1;user-select:none;
}
.upload-drop-foot .upload-hist-link{
  border:none;background:transparent;box-shadow:none;
  min-height:0;padding:2px 6px;border-radius:4px;
  color:var(--accent);font-size:11px;font-weight:500;line-height:1.4;
}
.upload-drop-foot .upload-hist-link:hover{
  border:none;background:rgba(37,99,235,.08);color:#1d4ed8;
  box-shadow:none;text-decoration:none;
}
.upload-drop-foot .upload-mobile-link{
  border:none;background:transparent;color:var(--accent);
}
.upload-drop-foot .upload-mobile-link:hover{
  border:none;background:rgba(37,99,235,.08);color:#1d4ed8;
  text-decoration:none;
}
.upload-action-row{
  --ua-ctrl-h:30px;--ua-fs:12px;--ua-px:10px;--ua-r:5px;--ua-gap:6px;
  display:flex;align-items:stretch;justify-content:stretch;flex-wrap:nowrap;gap:var(--ua-gap);
  margin-top:8px;padding:6px 8px;background:#f2f3f5;border-radius:8px;
}
.upload-action-row .upload-action-btn,
.upload-action-row .upload-hist-link,
.upload-action-row .upload-continue-btn{
  flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;
  min-height:var(--ua-ctrl-h);padding:5px var(--ua-px);
  border:1px solid #e5e6eb;border-radius:var(--ua-r);background:#fff;color:#4e5969;
  font-size:var(--ua-fs);font-weight:400;line-height:1.35;white-space:nowrap;box-sizing:border-box;
  cursor:pointer;transition:border-color .15s,background .15s,color .15s;
}
.upload-action-row [data-upload-hist]{
  flex:1.45 1 0;padding-left:14px;padding-right:14px;
}
.upload-action-row [data-upload-mobile],
.upload-action-row [data-upload-continue],
.upload-action-row .upload-continue-btn{
  flex:1 1 0;
}
.upload-action-row .upload-action-btn:hover,
.upload-action-row .upload-hist-link:hover,
.upload-action-row .upload-continue-btn:hover{
  border-color:#c9cdd4;background:#fff;color:#1d2129;text-decoration:none;
}
.home-upload-extra{margin-top:4px;padding-top:0}
.upload-lib-extra{display:none}
.upload-hist-link{
  border:none;background:transparent;padding:2px 6px;font-size:11px;font-weight:500;color:var(--accent);
  cursor:pointer;
}
.upload-shell{display:flex;flex-direction:column;gap:0}
.upload-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.upload-action-btn{
  display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 10px;
  border:1px solid #e5e6eb;border-radius:5px;background:#fff;color:#4e5969;
  font-size:12px;font-weight:400;cursor:pointer;transition:border-color .15s,background .15s,color .15s;
}
.upload-action-btn:hover{border-color:#c9cdd4;background:#fff;color:#1d2129}
.upload-action-ico{display:inline-flex;align-items:center;justify-content:center;color:#64748b}
.upload-action-btn--ghost{border-style:dashed}
.upload-action-btn--accent{border-color:rgba(37,99,235,.28);color:var(--accent);background:#f8fbff}
.upload-action-btn--accent:hover{background:#eff6ff}
.upload-zone .upload-cloud,
.upload-zone .upload-hint-ico{
  width:44px;height:44px;border-radius:12px;background:#fff;border:1px solid #e8edf3;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.upload-zone-empty .upload-txt,
.upload-zone-empty .upload-hint-txt{
  display:flex;flex-direction:column;align-items:center;gap:4px;line-height:1.55;pointer-events:none;
}
.upload-zone--text-edit-more .upload-zone-empty .upload-txt{
  flex-direction:row;align-items:center;gap:10px;
}
.upload-te-title,.upload-te-sub,.upload-te-meta{display:block}
.upload-zone .upload-txt small,
.upload-zone .upload-hint-txt small{color:#a3a3a3;font-size:11px}
.upload-zone .upload-txt a{color:var(--accent);padding:2px 4px;pointer-events:auto}
.upload-preview-wrap{
  position:relative;width:100%;display:flex;justify-content:center;align-items:center;
  background:#fff;border-radius:12px;overflow:visible;
  padding:12px 10px;box-sizing:border-box;
}
.upload-preview-wrap .upload-preview{
  display:block;max-width:100%;width:auto;height:auto;
  max-height:min(360px,50vh);object-fit:contain;cursor:zoom-in;
}
.upload-preview-stack{
  position:relative;display:inline-block;max-width:100%;line-height:0;vertical-align:top;
}
.upload-preview-stack .upload-preview{
  display:block;max-width:100%;width:auto;height:auto;
  max-height:min(360px,50vh);object-fit:contain;cursor:zoom-in;
}
.upload-preview-stack .upload-mask-preview{
  position:absolute;inset:0;width:100%;height:100%;object-fit:fill;
  pointer-events:none;z-index:1;
}
.upload-preview-stack .upload-edit-mask-hover{z-index:2}
.upload-zone.has-img > input[type="file"]{pointer-events:none}
.upload-remove{
  position:absolute;top:10px;right:10px;z-index:3;
  width:26px;height:26px;padding:0;border:none;border-radius:50%;
  background:rgba(0,0,0,.52);color:#fff;font-size:18px;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.upload-remove:hover{background:rgba(220,38,38,.88)}
.upload-zone.has-img{
  min-height:0;padding:0;border:none;border-radius:12px;background:#fff;
  overflow:hidden;
}
.upload-zone.has-img .upload-zone-empty{display:none}
.upload-zone.has-img .upload-preview-wrap{
  display:flex;border-radius:0;background:transparent;
}
.upload-zone.is-uploading::after{
  content:'';position:absolute;inset:0;background:rgba(255,255,255,.55);pointer-events:none;z-index:4;
}
.upload-zone.is-uploading::before{
  content:'';position:absolute;left:50%;top:50%;width:28px;height:28px;margin:-14px 0 0 -14px;
  border:2px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;
  animation:upload-spin .7s linear infinite;z-index:5;pointer-events:none;
}
.upload-zone.drag-over,.upload-zone.is-drag{
  outline:none;background:rgba(37,99,235,.06);
  transition:background var(--ecom-dur-ui) var(--ecom-ease-fluid),border-color var(--ecom-dur-ui) var(--ecom-ease-fluid),box-shadow var(--ecom-dur-ui) var(--ecom-ease-fluid);
}
.upload-shell.is-drag,
.upload-shell:has(.upload-zone.drag-over),
.upload-shell:has(.upload-zone.is-drag){
  border-color:var(--accent,#2563eb);
  border-style:dashed;
  background:linear-gradient(180deg,#eff6ff 0%,#f8fbff 45%,#fff 100%);
  box-shadow:inset 0 0 0 1px rgba(37,99,235,.12),0 0 0 3px rgba(37,99,235,.1),0 2px 8px rgba(37,99,235,.08);
}
.upload-shell.is-drag .upload-drop-title,
.upload-shell:has(.upload-zone.drag-over) .upload-drop-title,
.upload-shell:has(.upload-zone.is-drag) .upload-drop-title{
  color:var(--accent,#2563eb);
}
.upload-shell.is-drag .upload-cloud,
.upload-shell.is-drag .upload-hint-ico,
.upload-shell:has(.upload-zone.drag-over) .upload-cloud,
.upload-shell:has(.upload-zone.drag-over) .upload-hint-ico,
.upload-shell:has(.upload-zone.is-drag) .upload-cloud,
.upload-shell:has(.upload-zone.is-drag) .upload-hint-ico{
  border-color:rgba(37,99,235,.35);
  background:#eff6ff;
  color:var(--accent,#2563eb);
  transform:scale(1.06);
  transition:transform .18s ease,border-color .18s,background .18s,color .18s;
}
.upload-shell.has-img.is-drag,
.upload-shell.has-img:has(.upload-zone.drag-over),
.upload-shell.has-img:has(.upload-zone.is-drag){
  border-style:dashed;border-color:var(--accent,#2563eb);
  background:#eff6ff;
  box-shadow:inset 0 0 0 1px rgba(37,99,235,.12),0 0 0 3px rgba(37,99,235,.1);
}
@keyframes upload-spin{to{transform:rotate(360deg)}}
.upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:2}
.upload-zone.has-img input{z-index:1}
.upload-txt{line-height:1.6}
.textarea-wrap{position:relative}
.textarea-wrap textarea{
  width:100%;min-height:38px;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:12px 12px 36px;font-size:13px;line-height:1.6;resize:none;overflow:hidden;
  white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;
  field-sizing:content;font-family:inherit;box-sizing:border-box;
}
.textarea-wrap textarea:focus{outline:none;border-color:var(--accent)}
.opt-btn{
  border:1px solid #e5e7eb;background:#fff;
  border-radius:8px;padding:5px 10px;font-size:11px;color:#52525b;display:inline-flex;align-items:center;gap:4px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,opacity .15s ease,transform .12s ease;
}
.opt-btn:hover{background:#fafafa;border-color:#d4d4d8;color:#27272a}
.opt-btn:active:not(:disabled):not(.is-disabled){opacity:.88;transform:scale(.98)}
.textarea-wrap .opt-btn-row{
  position:absolute;right:10px;bottom:10px;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;
}
.field select{
  width:100%;height:var(--ctrl-h);padding:0 28px 0 10px;border:1px solid var(--line);border-radius:var(--radius);
  font-size:13px;background-color:var(--surface);color:var(--text);
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 8px center;
}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
/* 详情页 · 平台/语言/比例/数量 参数面板 */
.detail-opts-panel{
  margin:2px 0 14px;padding:10px;border-radius:14px;
  background:linear-gradient(180deg,#fafafa 0%,#f5f5f5 100%);
  border:1px solid rgba(10,10,10,.06);
}
.main-image-opts-panel--disabled{
  opacity:.48;pointer-events:none;filter:grayscale(.08);
}
.detail-opts-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
}
.detail-opt-item{
  display:flex;flex-direction:column;gap:6px;min-width:0;
  padding:10px 12px;border-radius:10px;background:#fff;
  border:1px solid rgba(10,10,10,.05);
  box-shadow:0 1px 2px rgba(0,0,0,.03);
  transition:border-color .15s,box-shadow .15s;
}
.detail-opt-item:focus-within{
  border-color:rgba(10,10,10,.12);
  box-shadow:0 2px 8px rgba(0,0,0,.05);
}
.detail-opt-k{
  font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.02em;line-height:1.2;
}
.detail-opt-v{min-width:0}
.detail-opt-v select,
.detail-opt-v .ui-select-trigger{
  width:100%;height:28px;min-height:28px;padding:0 20px 0 0;border:none;border-radius:0;
  background:transparent;color:var(--text);font-size:13px;font-weight:600;
  box-shadow:none;
}
.detail-opt-v select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a3a3a3' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 0 center;
}
.detail-opt-v .ui-select{width:100%}
.detail-opt-v .ui-select-trigger{
  padding:0 20px 0 0;border:none;min-height:28px;height:28px;
}
.detail-opt-v .ui-select-label{
  font-size:13px;font-weight:600;color:var(--text);line-height:28px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.detail-long-size-hint{margin:2px 2px 0;grid-column:1/-1}
/* 分辨率档位名较长：款视界-Image-1K/2K/4K */
.resolution-field .ui-select-label,
.resolution-field .ui-select-option-title,
.resolution-detail-opt-item .ui-select-label,
.resolution-detail-opt-item .ui-select-option-title{
  overflow:visible;text-overflow:clip;white-space:nowrap;
}
.resolution-field .ui-select,
.resolution-detail-opt-item .ui-select{
  min-width:200px;
}
.detail-opt-v .ui-select-chevron{right:0;color:#a3a3a3}
.detail-opt-v .ui-select.open .ui-select-trigger{border:none;box-shadow:none}
/* 通用表单 · 双列参数卡片（输出语言/画面比例等） */
.form-opts-panel{margin-top:2px}
.form-opts-panel .detail-opts-grid{gap:10px}
.form-opts-panel .detail-opt-item{
  padding:10px 12px;border-radius:12px;
  background:linear-gradient(180deg,#fff 0%,#fafafa 100%);
}
.form-opts-panel .detail-opt-k{
  font-size:11px;font-weight:500;color:var(--muted);letter-spacing:0;
}
.form-opts-panel .detail-opt-v select,
.form-opts-panel .detail-opt-v .ui-select-label{font-size:14px;font-weight:600}
.lbl-opt-sm{font-weight:400;font-size:10px;color:#a3a3a3;letter-spacing:0}
/* 设置项分组（开关选项） */
.settings-group{
  margin-bottom:14px;border-radius:14px;overflow:hidden;
  background:linear-gradient(180deg,#fafafa 0%,#f5f5f5 100%);
  border:1px solid rgba(10,10,10,.06);
}
.settings-item{
  display:flex;align-items:center;gap:10px;
  padding:13px 14px;background:#fff;
}
.settings-item + .settings-item{border-top:1px solid rgba(10,10,10,.05)}
.settings-label{
  flex:1;min-width:0;font-size:13px;font-weight:600;color:var(--text);line-height:1.35;
}
.settings-status{
  flex-shrink:0;font-size:11px;font-weight:500;color:var(--muted);
  min-width:28px;text-align:right;
}
.settings-extra{
  padding:12px 14px;background:#fff;border-top:1px solid rgba(10,10,10,.05);
}
.settings-extra-label{
  display:block;font-size:11px;font-weight:600;color:var(--muted);margin-bottom:8px;
}
.settings-extra input[type=text]{
  width:100%;height:var(--ctrl-h);padding:0 12px;
  border:1px solid var(--line);border-radius:10px;
  font-size:13px;background:var(--surface);color:var(--text);
  box-sizing:border-box;transition:border-color .15s,box-shadow .15s;
}
.settings-extra textarea.settings-extra-textarea{
  width:100%;min-height:var(--ctrl-h);padding:8px 12px;
  border:1px solid var(--line);border-radius:10px;
  font-size:13px;line-height:1.5;background:var(--surface);color:var(--text);
  box-sizing:border-box;transition:border-color .15s,box-shadow .15s;
  resize:none;overflow:hidden;white-space:pre-wrap;word-wrap:break-word;
  overflow-wrap:break-word;field-sizing:content;font-family:inherit;
}
.settings-extra input[type=text]:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.08);
}
.settings-extra textarea.settings-extra-textarea:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.08);
}
.settings-extra input[type=text]::placeholder{color:#a3a3a3}
.ui-select-search-wrap{
  flex-shrink:0;padding:5px 8px 4px;background:var(--surface,#fff);
  border-bottom:1px solid rgba(0,0,0,.05);position:relative;
}
.ui-select-search-ico{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  color:#bbb;pointer-events:none;display:flex;align-items:center;
}
.ui-select-search{
  width:100%;box-sizing:border-box;padding:3px 8px 3px 24px;border:none;border-radius:6px;
  font-size:12px;outline:none;background:#f7f7f7;color:var(--text,#333);
}
.ui-select-search::placeholder{color:#bbb}
.ui-select-search:focus{background:#f0f0f0;box-shadow:none}
.ui-select-menu--searchable{padding:0;border-radius:10px}
.ui-select--searchable .ui-select-menu--searchable .ui-select-option{
  padding:8px 12px;border-radius:8px;margin:2px 4px;width:calc(100% - 8px);
  white-space:nowrap;
}
.ui-select--searchable .ui-select-menu--searchable .ui-select-option:hover{background:#f5f5f5}
.ui-select--searchable .ui-select-menu--searchable .ui-select-option.on{
  color:var(--text);background:#fafafa;font-weight:600;border:1px solid var(--line);
}
.ui-select--searchable .ui-select-menu--searchable .ui-select-option.on .ui-select-option-check{color:var(--text)}
.ui-select-empty{padding:12px 10px;font-size:12px;color:var(--muted,#999);text-align:center}
.detail-adv-inner{display:flex;flex-direction:column;gap:16px}
.detail-adv-section{display:flex;flex-direction:column;gap:8px}
.detail-adv-section--last{margin-bottom:0}
.detail-adv-section-head{display:flex;align-items:center;gap:6px}
.detail-adv-section-title{font-size:12px;font-weight:600;color:var(--text,#1a1a1a);letter-spacing:.01em}
.detail-adv-section-tag{
  font-size:10px;padding:1px 6px;border-radius:4px;background:#f1f5f9;color:#94a3b8;font-weight:500;
}
.detail-adv-settings-card{
  border:1px solid #eef2f6;border-radius:10px;background:#fafbfc;overflow:hidden;
}
.detail-adv-setting-row{
  display:flex;align-items:center;gap:10px;padding:10px 12px;
}
.detail-adv-setting-row--sm{padding:8px 12px}
.detail-adv-setting-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.detail-adv-setting-label{font-size:12px;font-weight:600;color:var(--text,#333);line-height:1.4}
.detail-adv-setting-desc{font-size:10px;color:var(--muted,#94a3b8);line-height:1.45}
.detail-adv-setting-action{display:flex;align-items:center;gap:8px;flex-shrink:0}
.detail-adv-setting-divider{height:1px;background:#eef2f6;margin:0 12px}
.detail-adv-bar-body{padding:14px 12px!important;background:var(--surface,#fff)}
.detail-adv-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}
.detail-adv-upload .field{margin:0}
.detail-adv-card{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  min-height:96px;padding:12px 8px;border-radius:10px;border:1px dashed #e2e8f0;
  background:#f8fafc;cursor:pointer;position:relative;text-align:center;
  transition:border-color .15s,background .15s;
}
.detail-adv-card:hover{border-color:#cbd5e1;background:#f1f5f9}
.detail-adv-card--style{
  background:#fffbf5;border-color:#fed7aa;
}
.detail-adv-card--style:hover{border-color:#fdba74;background:#fff7ed}
.detail-adv-card--model.has-img,.detail-adv-card--style.has-img{padding:8px;border-style:solid;border-color:#e2e8f0}
.detail-adv-card-head{display:flex;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:600;color:#334155}
.detail-adv-card-ico{font-size:16px;line-height:1;opacity:.85}
.detail-adv-card-hint{font-size:10px;color:var(--muted,#94a3b8);line-height:1.35}
.detail-adv-card input{position:absolute;inset:0;opacity:0;cursor:pointer}
.detail-adv-card .upload-preview{
  position:relative;z-index:1;max-width:100%;max-height:80px;object-fit:contain;border-radius:6px;display:none;
}
.detail-adv-card.has-img .upload-preview{display:block}
.detail-adv-card.has-img .detail-adv-card-head{display:none}
.detail-adv-remove{display:none}
.detail-adv-card.has-img .detail-adv-remove{display:flex}
.detail-adv-card.has-img input[type="file"]{pointer-events:none}
.detail-adv-card.has-img .detail-adv-card-hint{display:none}
.detail-adv-card.has-img .detail-adv-card-ico{display:none}
.detail-adv-card .lbl-help{position:relative;z-index:2}
.detail-adv-card.is-uploading::after{
  content:'';position:absolute;inset:0;background:rgba(255,255,255,.55);pointer-events:none;z-index:4;border-radius:10px;
}
.detail-adv-card.is-uploading::before{
  content:'';position:absolute;left:50%;top:50%;width:28px;height:28px;margin:-14px 0 0 -14px;
  border:2px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;
  animation:upload-spin .7s linear infinite;z-index:5;pointer-events:none;
}
.detail-adv-textarea.adv-textarea{margin-top:0;field-sizing:auto}
.detail-adv-textarea{
  width:100%;margin:0;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;
  background:#fff;font-size:12px;line-height:1.6;color:var(--text,#333);
  resize:none;overflow:hidden;box-sizing:border-box;
  min-height:40px;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;
  transition:border-color .15s,box-shadow .15s;
}
.detail-adv-textarea::placeholder{color:#cbd5e1}
.detail-adv-textarea:focus{
  outline:none;border-color:rgba(37,99,235,.35);box-shadow:0 0 0 3px rgba(37,99,235,.08);
}
.detail-adv-action-btn{
  margin:0;padding:9px 12px;border-radius:8px;border:1px dashed #e2e8f0;
  background:#fafbfc;font-size:12px;color:#64748b;text-align:center;
}
.detail-adv-action-btn:hover{border-color:var(--accent,#2563eb);color:var(--accent,#2563eb);background:#f8fafc}
.detail-adv-foot-hint{font-size:10px;color:var(--muted,#94a3b8);line-height:1.45;margin:0}
.detail-adv-preview{
  font-size:11px;color:#64748b;line-height:1.5;margin:4px 0 0;padding:8px 10px;
  background:#f8fafc;border-radius:6px;border:1px solid #eef2f6;
}
.detail-remember-adv .detail-adv-setting-label{font-weight:400;font-size:11px;color:#64748b}
.si-toolbar{display:flex;align-items:center;gap:8px;margin:0}
.si-toolbar .btn-split-layout,.si-toolbar .detail-adv-action-btn{flex:1;margin:0}
.si-clear-btn{
  flex-shrink:0;padding:8px 12px;border:none;border-radius:8px;background:transparent;
  color:var(--muted,#888);font-size:12px;cursor:pointer;white-space:nowrap;
}
.si-clear-btn:hover{color:#dc2626}
.si-preview--editable{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}
.si-preview--editable:hover{color:var(--accent,#2563eb)!important}
@media(max-width:520px){.detail-adv-grid{grid-template-columns:1fr}}
.btn-link-style,.btn-split-layout{
  display:block;width:100%;margin:8px 0 4px;padding:10px 12px;border:1px dashed var(--line,#ddd);
  border-radius:10px;background:transparent;color:var(--text-2,#666);font-size:13px;cursor:pointer;text-align:left;
}
.btn-link-style:hover,.btn-split-layout:hover{border-color:var(--accent,#2563eb);color:var(--accent,#2563eb)}
.detail-plan-modal .ms-modal-panel{
  width:min(780px,calc(100vw - 32px));max-height:min(88vh,900px);display:flex;flex-direction:column;
}
.detail-plan-modal .ms-modal-body{
  flex:0 1 auto;min-height:0;max-height:min(65vh,640px);overflow-y:auto;padding:14px 18px 18px;
}
.dp-concept{
  margin-bottom:14px;padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid #eef2f6;
}
.dp-concept-head{font-size:12px;font-weight:600;color:#64748b;margin-bottom:10px;letter-spacing:.02em}
.dp-concept-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px 16px}
.dp-concept-item{display:flex;flex-direction:column;gap:3px;min-width:0}
.dp-concept-item--full{grid-column:1/-1}
.dp-concept-k{font-size:11px;color:#94a3b8;line-height:1.3}
.dp-concept-v{font-size:13px;line-height:1.5;color:var(--text,#334155);word-break:break-word}
.dp-screens{display:flex;flex-direction:column;gap:12px}
.dp-screen{
  border:1px solid var(--line,#e5e7eb);border-radius:12px;background:#fff;overflow:hidden;
}
.dp-screen-head{
  display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f8fafc;border-bottom:1px solid #eef2f6;
}
.dp-poster-meta{
  display:flex;flex-wrap:wrap;gap:6px;padding:8px 14px 0;
}
.dp-poster-tag{
  display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;
  background:#f1f5f9;color:#475569;font-size:10px;line-height:1.4;
}
.dp-screen-num{
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  min-width:24px;height:24px;border-radius:7px;background:#eef2ff;color:#4338ca;font-size:12px;font-weight:600;
}
.dp-title{
  flex:1;min-width:0;border:none;background:transparent;font-size:14px;font-weight:600;
  color:var(--text,#1e293b);padding:2px 0;font-family:inherit;
}
.dp-title:focus{outline:none}
.dp-title::placeholder{color:#cbd5e1;font-weight:500}
.dp-fields{display:flex;flex-direction:column}
.dp-field{padding:10px 14px;border-bottom:1px solid #f1f5f9}
.dp-field:last-child{border-bottom:none}
.dp-field-label{
  display:block;margin-bottom:6px;font-size:11px;font-weight:600;color:#64748b;letter-spacing:.02em;
}
.dp-field-input{
  display:block;width:100%;min-height:36px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;
  font-size:13px;line-height:1.5;font-family:inherit;box-sizing:border-box;background:#fff;color:var(--text,#334155);
  resize:none;overflow:hidden;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;field-sizing:content;
  transition:border-color .15s,box-shadow .15s;
}
.dp-field-input:focus{outline:none;border-color:var(--accent,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.detail-stream-item{position:relative}
.detail-stream-regen,.gen-job-regen{
  position:absolute;top:6px;right:6px;padding:4px 8px;border:none;border-radius:6px;
  background:rgba(0,0,0,.55);color:#fff;font-size:11px;cursor:pointer;opacity:0;transition:opacity .15s;
}
.detail-stream-item.is-done:hover .detail-stream-regen,.gen-job-pack-item:hover .gen-job-regen{opacity:1}
.gen-job-pack-item{position:relative}
body.page-studio .yq-feed-link--regen.is-busy,
body.page-studio .yq-feed-act--regen.is-busy,
body.page-studio .yq-feed-link--regen:disabled,
body.page-studio .yq-feed-act--regen:disabled,
.hist-card-act--regen.is-busy,
.hist-card-act--regen:disabled{
  opacity:.55;cursor:wait;
}
.msg-bar-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}
.msg-bar-row .msg-bar{flex:1;margin-bottom:0}
.detail-plan-cancel-btn{
  flex-shrink:0;padding:4px 10px;border:1px solid #fca5a5;border-radius:8px;
  background:#fff5f5;color:#b91c1c;font-size:12px;cursor:pointer;
}
.detail-plan-cancel-btn:hover{background:#fee2e2}
.detail-remember-adv{margin:0}
.detail-remember-adv .switch-label{font-weight:400}
.agree-switch .switch-label{font-weight:400;font-size:12px;line-height:1.5}
.screen-ideas-modal .ms-modal-panel{
  width:640px;height:680px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);
  display:flex;flex-direction:column;overflow:hidden;
}
.screen-ideas-modal .ms-modal-head{
  gap:10px;flex-wrap:nowrap;padding:16px 20px 12px;
}
.screen-ideas-modal .ms-modal-head h4{flex:0 0 auto}
.screen-ideas-modal .ms-modal-body{
  flex:1;min-height:0;max-height:none;overflow-y:auto;
  padding:12px 20px 16px;
}
.screen-ideas-modal .ms-modal-foot{
  display:flex;align-items:center;justify-content:flex-end;gap:8px;
  padding:10px 20px 14px;text-align:right;
}
.screen-ideas-modal .si-foot-summary--modal{
  flex-shrink:0;margin:0;padding:10px 20px;
  border-top:1px solid #f0f0f0;background:#fafafa;
  font-size:12px;color:var(--text-2,#64748b);
}
.si-tabs{
  display:flex;gap:4px;margin-bottom:12px;padding:4px;
  background:#f1f5f9;border-radius:10px;
}
.si-tab{
  flex:1;padding:8px 10px;border:none;background:transparent;
  font-size:13px;border-radius:8px;cursor:pointer;color:#64748b;
  transition:background .15s,color .15s,box-shadow .15s;
}
.si-tab:hover{color:#334155}
.si-tab.on{
  background:var(--accent,#2563eb);color:#fff;font-weight:600;
  box-shadow:0 1px 3px rgba(37,99,235,.22);
}
.si-intro-hint{margin:0 0 10px;font-size:12px;line-height:1.55;color:#94a3b8}
.si-preset-list{
  display:flex;flex-direction:column;gap:0;max-height:320px;overflow-y:auto;
  border:1px solid #eef2f6;border-radius:10px;background:#fff;
}
.si-preset-item{
  display:flex;flex-direction:column;gap:6px;padding:0;
  border:none;border-bottom:1px solid #f1f5f9;border-radius:0;font-size:13px;background:#fff;
}
.si-preset-item:last-child{border-bottom:none}
.si-preset-item--on{background:#fafbff}
.si-preset-head{display:flex;align-items:center;gap:8px;padding:9px 12px}
.si-preset-check{display:flex;align-items:center;gap:8px;flex:1;min-width:0;cursor:pointer;margin:0}
.si-preset-check input[type="checkbox"]{
  width:15px;height:15px;margin:0;accent-color:var(--accent,#2563eb);cursor:pointer;flex-shrink:0;
}
.si-preset-name{flex:1;min-width:0;font-weight:500;font-size:13px;color:var(--text,#334155)}
.si-preset-extra{
  display:flex;align-items:flex-start;gap:8px;padding:0 12px 10px 35px;flex-wrap:wrap;
}
.si-preset-framing,.si-custom-framing,.si-creative-framing{min-width:0}
.si-preset-note,.si-custom-note,.si-custom-text,.si-creative-text{
  flex:1;min-width:0;padding:8px 10px;border:1px solid #e2e8f0;
  border-radius:8px;font-size:12px;line-height:1.55;background:#fff;font-family:inherit;
  box-sizing:border-box;resize:none;overflow:hidden;
  white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;
}
.si-creative-text{width:100%;min-height:38px}
.si-custom-text{min-width:120px}
.si-preset-count,.si-custom-count,.si-creative-count{flex-shrink:0;min-width:0}
.si-custom-row{display:flex;gap:6px;align-items:center;margin-bottom:6px;flex-wrap:wrap}
.si-custom-note-row{padding-left:0;margin:-2px 0 8px}
.si-custom-note-row .si-custom-note{width:100%}
.si-row-del{
  width:28px;height:28px;border:none;border-radius:6px;background:#f1f5f9;
  cursor:pointer;font-size:16px;line-height:1;color:#94a3b8;
}
.si-row-del:hover{background:#fee2e2;color:#dc2626}
.si-custom-block{margin-top:14px;padding-top:12px;border-top:1px dashed #e2e8f0}
.si-custom-block-title{font-size:12px;font-weight:600;margin-bottom:8px;color:#334155}
.si-add-theme{
  display:block;width:100%;margin-top:6px;padding:9px 12px;border:1px dashed #e2e8f0;border-radius:8px;
  background:#fafbfc;font-size:12px;color:#64748b;cursor:pointer;text-align:center;
}
.si-add-theme:hover{border-color:var(--accent,#2563eb);color:var(--accent,#2563eb);background:#f8fafc}
.si-creative-count-field{margin-bottom:12px}
.si-creative-count-label{
  display:block;margin-bottom:6px;font-size:12px;font-weight:600;color:#334155;
}
.si-creative-count{width:100%;max-width:none}
.screen-ideas-modal .ui-select--screen-ideas.ui-select--chip-count.si-creative-count-ui,
.screen-ideas-modal select.si-creative-count + .ui-select--screen-ideas{width:100%;max-width:none}
.si-creative-list{
  display:flex;flex-direction:column;gap:10px;max-height:340px;overflow-y:auto;
}
.si-creative-row{display:flex;flex-direction:column;gap:5px}
.si-creative-label{font-size:12px;font-weight:600;color:#334155;line-height:1.3}
.si-creative-fields{display:flex;flex-direction:column;gap:6px}
.si-creative-actions{
  display:flex;align-items:center;gap:14px;margin-top:12px;padding-top:4px;
}
.si-link-btn{
  border:none;background:transparent;padding:2px 4px;font-size:12px;color:var(--accent,#2563eb);
  cursor:pointer;
}
.si-foot-summary{margin-top:12px;padding:10px 12px;background:#f8fafc;border-radius:8px;font-size:13px}
/* 分屏构思 · 自定义下拉（屏数 / 景别 / 模板） */
.screen-ideas-modal .ui-select--screen-ideas.ui-select--chip-count{
  flex-shrink:0;width:78px;min-width:78px;max-width:78px;
}
.screen-ideas-modal .ui-select--screen-ideas.ui-select--chip-count .ui-select-trigger{
  height:32px;min-height:32px;padding:0 22px 0 8px;
  border:1px solid var(--line,#e0e0e0);border-radius:8px;background:#fff;
  font-size:12px;color:var(--text,#333);
}
.screen-ideas-modal .ui-select--screen-ideas.ui-select--chip-count .ui-select-label{
  text-align:left;font-weight:500;
}
.screen-ideas-modal .ui-select--screen-ideas.ui-select--chip-count .ui-select-chevron{
  right:6px;color:#94a3b8;
}
.screen-ideas-modal .ui-select--screen-ideas.ui-select--chip-count.open .ui-select-trigger{
  border-color:var(--accent,#2563eb);box-shadow:0 0 0 3px var(--accent-soft,rgba(37,99,235,.12));
}
.screen-ideas-modal .ui-select--screen-ideas.ui-select--chip-count .ui-select-menu{
  min-width:88px;border-radius:10px;padding:4px;
  box-shadow:0 8px 24px rgba(15,23,42,.12);
}
.screen-ideas-modal .ui-select--screen-ideas.ui-select--chip-count .ui-select-option{
  padding:7px 10px;font-size:12px;text-align:left;border-radius:6px;
}
.screen-ideas-modal .ui-select--screen-ideas:not(.ui-select--chip-count){
  flex:0 0 auto;width:auto;min-width:108px;max-width:148px;
}
.screen-ideas-modal .ui-select--screen-ideas:not(.ui-select--chip-count) .ui-select-trigger{
  height:32px;min-height:32px;padding:0 26px 0 10px;font-size:12px;border-radius:8px;
}
.screen-ideas-modal .ui-select--screen-ideas:not(.ui-select--chip-count) .ui-select-menu{
  min-width:100%;border-radius:10px;
  box-shadow:0 8px 24px rgba(15,23,42,.12);
}
.screen-ideas-modal .ui-select--screen-ideas:not(.ui-select--chip-count) .ui-select-option{
  padding:8px 10px;font-size:12px;border-radius:6px;
}
.screen-ideas-modal .ui-select--screen-ideas .ui-select-option.on{
  background:#eff6ff;color:#1d4ed8;font-weight:500;
}
.screen-ideas-modal .ui-select--screen-ideas .ui-select-option:hover{background:#f8fafc}
.screen-ideas-modal .ui-select--screen-ideas.ui-select--disabled .ui-select-trigger{
  opacity:.55;cursor:not-allowed;background:#f5f5f5;border-color:var(--line,#e5e5e5);
}
.screen-ideas-modal .ui-select--screen-ideas.ui-select--disabled .ui-select-trigger:hover{
  border-color:var(--line,#e5e5e5);box-shadow:none;
}
.screen-ideas-modal .ms-modal-head .ui-select--screen-ideas{
  flex:1;min-width:120px;max-width:180px;
}
.screen-ideas-modal .ms-modal-head .ui-select--screen-ideas .ui-select-trigger{
  height:30px;min-height:30px;font-size:12px;
}
.screen-ideas-modal .ui-select--screen-ideas .ui-select-option--template .ui-select-option-title{
  flex:1;min-width:0;text-align:left;
}
.si-template-sel{flex:1;min-width:120px;max-width:200px}
.screen-ideas-modal .si-creative-count-field .ui-select--screen-ideas.ui-select--chip-count{
  width:100%;min-width:0;max-width:none;
}
.screen-ideas-modal .si-creative-count-field .ui-select--screen-ideas.ui-select--chip-count .ui-select-trigger{
  height:36px;min-height:36px;padding:0 28px 0 12px;font-size:13px;
}
.screen-ideas-modal .ms-modal-foot .wb-btn.primary:disabled{opacity:.45;cursor:not-allowed}
/* AI 生成配饰图 / 单品搭配图弹窗（尺寸对齐精选模特 ms-modal-panel--plaza） */
.accessory-gen-modal .ms-modal-panel,
.match-gen-modal .ms-modal-panel{
  display:flex;flex-direction:column;
}
.accessory-gen-modal .ms-modal-body,
.match-gen-modal .ms-modal-body{
  flex:1;min-height:0;overflow-y:auto;padding:16px 18px 12px;
  display:flex;flex-direction:column;
}
.accessory-gen-modal .ms-modal-head h4,
.match-gen-modal .ms-modal-head h4{
  display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
}
.acc-gen-cost-hint{font-size:12px;font-weight:400;color:var(--muted,#888)}
.acc-gen-cat-grid{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;
}
.acc-gen-cat{
  padding:6px 14px;border:1px solid #e5e7eb;border-radius:8px;
  background:#f9fafb;font-size:12px;font-weight:500;color:#4b5563;cursor:pointer;
  transition:background .15s,border-color .15s,color .15s,box-shadow .15s;
}
.acc-gen-cat:hover:not(.on){
  border-color:#d1d5db;background:#fff;color:#374151;
}
.acc-gen-cat.on{
  background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.32);color:var(--accent,#2563eb);
  font-weight:600;box-shadow:0 0 0 1px rgba(37,99,235,.1);
}
.acc-gen-custom-cat{
  width:100%;margin-top:8px;padding:8px 10px;border:1px solid var(--line,#e5e5e5);
  border-radius:8px;font-size:12px;line-height:1.45;box-sizing:border-box;font-family:inherit;
  resize:none;overflow:hidden;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;
  field-sizing:content;
}
.acc-gen-desc{min-height:38px;resize:none;overflow:hidden}
.acc-gen-count-row{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px;
}
.acc-gen-count-seg{
  display:inline-flex;align-items:stretch;gap:2px;padding:3px;
  border-radius:9px;background:#eef2f7;border:1px solid #e2e8f0;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.04);
}
.acc-gen-count-seg .acc-gen-count{
  min-width:48px;padding:6px 12px;font-size:12px;text-align:center;
}
.acc-gen-count-row .acc-gen-subtotal{
  margin-left:auto;font-size:12px;color:var(--muted,#888);white-space:nowrap;
}
.acc-gen-preview-field{
  flex:1;display:flex;flex-direction:column;min-height:0;margin-top:4px;
}
.acc-gen-preview-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px;
  flex-shrink:0;
}
.acc-gen-preview-head label{margin:0}
.acc-gen-preview{
  position:relative;display:flex;align-items:stretch;justify-content:center;
  flex:1;min-height:min(420px,42vh);padding:12px;
  border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb;
}
.acc-gen-preview-inner{
  display:grid;width:100%;height:100%;gap:12px;
  grid-template-columns:1fr;grid-template-rows:1fr;
}
.acc-gen-preview--n2 .acc-gen-preview-inner{
  grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr;
}
.acc-gen-preview--n3 .acc-gen-preview-inner,
.acc-gen-preview--n4 .acc-gen-preview-inner{
  grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));
}
.acc-gen-preview:not(.has-images) .acc-gen-preview-inner{
  place-items:center;
}
.acc-gen-preview:not(.has-images){
  align-items:center;justify-content:center;
}
.acc-gen-preview-empty{
  width:min(220px,56vw);min-height:220px;display:flex;align-items:center;justify-content:center;
  border:1.5px dashed #d1d5db;border-radius:12px;background:#fafafa;
}
.acc-gen-preview-ico{color:#d1d5db;display:block}
.acc-gen-preview-item{
  display:flex;flex-direction:column;min-height:0;min-width:0;
  border:2px solid transparent;border-radius:10px;overflow:hidden;
  background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.06);
}
.acc-gen-preview-item.on{border-color:var(--batch-sel-color);box-shadow:var(--batch-sel-ring)}
.acc-gen-preview-thumb{
  position:relative;flex:1;min-height:0;padding:0;border:none;background:#f3f4f6;
  cursor:zoom-in;overflow:hidden;
}
.acc-gen-preview-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.acc-gen-preview-zoom{
  position:absolute;right:8px;top:8px;width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;
  border-radius:999px;background:rgba(15,23,42,.52);color:#fff;
  opacity:0;transition:opacity .15s,background .15s;pointer-events:none;
}
.acc-gen-preview-thumb:hover .acc-gen-preview-zoom,.acc-gen-preview-item.on .acc-gen-preview-zoom{opacity:1}
.acc-gen-use-btn{
  flex-shrink:0;padding:8px 10px;border:none;border-top:1px solid #e5e7eb;
  background:#fff;color:var(--accent,#2563eb);font-size:13px;font-weight:600;
  cursor:pointer;transition:background .15s,color .15s;
}
.acc-gen-use-btn:hover{background:rgba(37,99,235,.06)}
.acc-gen-preview-item.on .acc-gen-use-btn{
  background:var(--accent,#2563eb);color:#fff;border-top-color:transparent;
}
.acc-gen-preview-item.on .acc-gen-use-btn:hover{background:#1d4ed8}
.acc-gen-loading{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;
  background:rgba(255,255,255,.82);font-size:13px;color:var(--muted,#666);border-radius:12px;
}
.acc-gen-foot{
  display:flex;align-items:center;justify-content:flex-end;gap:12px;
}
.accessory-gen-modal .acc-gen-foot .wb-btn.primary,
.match-gen-modal .acc-gen-foot .wb-btn.primary{
  min-width:120px;min-height:38px;padding:0 22px;border-radius:8px;
  background:var(--accent,#2563eb);border-color:var(--accent,#2563eb);color:#fff;
  font-size:13px;font-weight:600;
  box-shadow:0 1px 2px rgba(37,99,235,.24),0 4px 12px rgba(37,99,235,.1);
  transition:background .15s,border-color .15s,box-shadow .15s,opacity .15s;
}
.accessory-gen-modal .acc-gen-foot .wb-btn.primary:hover:not(:disabled),
.match-gen-modal .acc-gen-foot .wb-btn.primary:hover:not(:disabled){
  background:#1d4ed8;border-color:#1d4ed8;
  box-shadow:0 2px 6px rgba(37,99,235,.28),0 6px 16px rgba(37,99,235,.14);
}
.accessory-gen-modal .acc-gen-foot .wb-btn.primary:disabled,
.match-gen-modal .acc-gen-foot .wb-btn.primary:disabled{
  opacity:.5;cursor:not-allowed;box-shadow:none;
}

/* 我的配饰弹窗（尺寸对齐精选模特 ms-modal-panel--plaza） */
.accessory-lib-modal .ms-modal-panel{
  display:flex;flex-direction:column;
}
.acc-lib-count{font-size:13px;font-weight:400;color:var(--muted,#888)}
.acc-lib-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:10px 18px 12px;border-bottom:1px solid #f0f0f0;flex-shrink:0;
}
.acc-lib-hint{
  margin:0;font-size:12px;color:var(--muted,#888);line-height:1.45;flex:1;min-width:180px;
}
.acc-lib-actions{
  display:inline-flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:nowrap;
}
.acc-lib-actions-sep{
  width:1px;height:18px;background:#e5e7eb;flex-shrink:0;margin:0 2px;
}
.acc-lib-btn-ico{display:block;flex-shrink:0}
.acc-lib-upload-btn,
.acc-lib-action-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  min-height:32px;padding:0 12px;border-radius:8px;
  font-size:12px;font-weight:500;line-height:1.2;white-space:nowrap;
  cursor:pointer;transition:border-color .12s,background .12s,color .12s,box-shadow .12s;
}
.acc-lib-upload-btn{
  border:1px solid transparent;
  background:var(--accent,#2563eb);color:#fff;
  box-shadow:0 1px 2px rgba(37,99,235,.24);
}
.acc-lib-upload-btn:hover:not(:disabled){
  background:#1d4ed8;box-shadow:0 2px 6px rgba(37,99,235,.28);
}
.acc-lib-upload-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
.acc-lib-action-btn{
  border:1px solid var(--line,#e5e5e5);background:#fff;color:var(--text-2,#666);
}
.acc-lib-action-btn:hover:not(:disabled){
  border-color:#cbd5e1;background:#f8fafc;color:var(--text,#333);
}
.acc-lib-action-btn:disabled{opacity:.55;cursor:not-allowed}
.accessory-lib-modal .acc-lib-body{
  position:relative;flex:1;min-height:0;overflow-y:auto;padding:16px 18px;
}
.acc-lib-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;
}
.acc-lib-item{
  position:relative;border:2px solid transparent;border-radius:10px;padding:0;overflow:hidden;
  background:#f5f5f5;cursor:pointer;aspect-ratio:1;
  transition:border-color .12s,box-shadow .12s;
}
.acc-lib-item img{width:100%;height:100%;object-fit:cover;display:block}
.acc-lib-preview-btn{
  position:absolute;top:6px;left:6px;z-index:2;
  width:24px;height:24px;border:none;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.92);color:var(--text,#333);
  box-shadow:0 1px 4px rgba(0,0,0,.15);cursor:pointer;
  opacity:0;transform:scale(.92);transition:opacity .12s,transform .12s,background .12s;
}
.acc-lib-preview-btn:hover{background:#fff}
.acc-lib-preview-btn svg{display:block}
.acc-lib-item:hover .acc-lib-preview-btn,
.acc-lib-item:focus-within .acc-lib-preview-btn{opacity:1;transform:scale(1)}
.acc-lib-item.on{border-color:var(--batch-sel-color);box-shadow:var(--batch-sel-ring)}
.acc-lib-check{
  position:absolute;top:6px;right:6px;width:20px;height:20px;border-radius:50%;
  background:var(--accent,#2563eb);color:#fff;font-size:12px;line-height:20px;text-align:center;
  opacity:0;transform:scale(.8);transition:opacity .12s,transform .12s;
}
.acc-lib-item.on .acc-lib-check{opacity:1;transform:scale(1)}
.acc-lib-empty{
  min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;text-align:center;color:var(--muted,#888);
}
.acc-lib-empty p{margin:0;font-size:13px;line-height:1.5;max-width:320px}
.acc-lib-empty-ico{color:#d1d5db}
.acc-lib-loading,.acc-lib-uploading{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;
  background:rgba(255,255,255,.82);font-size:13px;color:var(--muted,#666);border-radius:12px;
}
.acc-lib-foot{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
}
.acc-lib-selected{font-size:13px;color:var(--text-2,#666)}
.acc-lib-foot-actions{display:flex;align-items:center;gap:8px}
.acc-lib-foot .wb-btn.ghost{
  min-width:72px;background:#fff;border:1px solid var(--line,#e5e5e5);color:var(--text,#333);
}
.acc-lib-foot .wb-btn.primary:disabled{opacity:.45;cursor:not-allowed}
.si-preview{color:var(--accent,#2563eb)!important}
.strategy-modal .strategy-grid{display:flex;flex-direction:column;gap:10px}
.strategy-card{
  display:block;width:100%;text-align:left;padding:12px 14px;border:1px solid rgba(10,10,10,.05);
  border-radius:10px;background:#fff;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.03);
  transition:border-color .15s,background .15s,box-shadow .15s;
}
.strategy-card:hover{border-color:rgba(10,10,10,.1);background:#fff}
.strategy-card.on{
  background:var(--opt-card-on-bg);border-color:var(--opt-card-on-border);
  box-shadow:0 0 0 1px var(--opt-card-on-ring);
}
.strategy-card.on .strategy-card-title{color:#1e3a5f}
.strategy-card-num{font-size:11px;color:var(--muted,#888)}
.strategy-card-title{display:block;margin:4px 0;font-size:14px}
.strategy-card-desc{font-size:12px;color:var(--text-2,#666);margin:0 0 6px;line-height:1.45}
.strategy-card-tag{display:inline-block;padding:2px 8px;border-radius:999px;background:#f3f4f6;font-size:11px;color:#666}
.detail-stream-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.detail-stream-head .detail-plan-cancel-btn{margin-left:auto}
.field-chk{font-size:12px;color:var(--text-2);display:flex;gap:6px;line-height:1.5;align-items:flex-start}
.field-chk.remember{margin-bottom:8px}
.thumb-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.thumb-row img{width:44px;height:44px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}
.config-footer{padding:12px 18px 18px;border-top:1px solid var(--line);flex-shrink:0;background:var(--surface)}
.config-status:not(.is-visible){display:none}
.config-status.is-visible{flex-shrink:0;padding:0 18px 8px;background:var(--surface)}
.config-footer .gen-action-stack{
  display:flex;flex-direction:column;gap:0;
}
.config-footer .gen-action-stack .btn-gen-shell{display:block}
.config-footer .gen-action-stack.has-case-apply .btn-gen{
  border-radius:0 0 12px 12px;
}
.config-footer .case-apply-strip[hidden]{display:none!important}
.case-apply-strip{
  border:1px solid var(--line,#e5e5e5);
  border-bottom:none;
  border-radius:12px 12px 0 0;
  background:var(--surface-2,#f7f7f7);
  padding:10px 12px 9px;
}
.case-apply-strip-main{
  display:flex;align-items:center;gap:8px;min-width:0;
}
.case-apply-strip-badge{
  flex-shrink:0;padding:2px 6px;border-radius:4px;
  background:var(--text,#111);color:#fff;
  font-size:10px;font-weight:600;line-height:1.3;letter-spacing:.02em;
}
.case-apply-strip-title{
  flex:1;min-width:0;font-size:13px;font-weight:500;color:var(--text);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.case-apply-strip-clear{
  flex-shrink:0;border:none;background:transparent;
  padding:4px 8px;margin:-4px -8px -4px 0;
  font-size:12px;color:var(--muted);cursor:pointer;border-radius:6px;
}
.case-apply-strip-clear:hover{color:var(--text);background:rgba(0,0,0,.05)}
.case-apply-strip-hint{
  margin:5px 0 0;font-size:11px;line-height:1.4;color:var(--muted);
}
.case-apply-strip--home{
  flex:1 1 100%;min-width:0;margin-right:auto;
  border:1px solid var(--line,#e5e5e5);border-radius:10px;
  background:var(--surface-2,#f7f7f7);padding:8px 10px 7px;
}
.case-apply-strip--home .case-apply-strip-hint{margin-top:4px}
.home-prompt-action:has(.case-apply-strip.is-on){
  flex-wrap:wrap;align-items:flex-end;gap:8px 10px;
}
.home-prompt-action .case-apply-strip--home.is-on{order:-1;width:100%}
.config-status-card{display:flex;flex-direction:column;gap:8px}
.remember-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.remember-row .switch-label{font-size:12px;font-weight:400;color:var(--text-2);flex:1}
.cost-footer{
  display:flex;align-items:center;justify-content:space-between;
  font-size:12px;color:var(--muted);margin-top:10px;min-height:18px;flex-shrink:0;
}
.cost-footer.has-promo .cost-est s{display:none!important}
.cost-footer.has-promo .cost-est b::before{content:none!important;display:none!important}
.home-cost-tag,.promo-flag,.promo-old-price{display:none!important}
.home-cost-line s{display:none!important}
.cost-est b{font-size:14px;color:var(--text);font-weight:700}
.cost-unit{font-size:12px;color:var(--muted);white-space:nowrap}
.cost-unit b{font-size:12px;color:var(--text);font-weight:700}
.trial-badge{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:8px;font-size:12px;color:#7c3aed}
.trial-badge b{font-weight:700}
.cost-line{font-size:12px;color:var(--muted);text-align:center;margin-bottom:10px}
.cost-line b{font-size:17px;color:var(--text)}
.btn-gen{
  width:100%;padding:13px;border:none;border-radius:var(--radius-lg);background:var(--text);color:#fff;
  font-size:15px;font-weight:600;
}
.btn-gen:disabled{background:#e8e8e8;color:#aaa;cursor:not-allowed}
.btn-gen-shell{display:block;width:100%}
.btn-gen-shell--blocked .btn-gen{pointer-events:none}
.btn-gen-shell--blocked{cursor:not-allowed}
.btn-gen .spin{display:inline-block;width:14px;height:14px;border:2px solid #fff;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px;margin-right:4px}
@keyframes spin{to{transform:rotate(360deg)}}

/* 由前 AI 对齐 · 工具表单组件 */
.lbl-opt{font-weight:400;color:var(--muted)}
.lbl-help{
  display:inline-flex;align-items:center;justify-content:center;
  width:14px;height:14px;border-radius:50%;background:#eee;color:var(--muted);
  font-size:10px;font-weight:600;margin-left:4px;vertical-align:1px;cursor:help;
  flex-shrink:0;
}
.switch-label .lbl-help{margin-left:6px;vertical-align:middle}
#ecomUiTipLayer{
  position:fixed;z-index:10050;left:0;top:0;box-sizing:border-box;
  max-width:min(300px,calc(100vw - 24px));padding:9px 13px;
  border-radius:10px;background:var(--surface);border:1px solid var(--line);
  box-shadow:0 12px 32px rgba(15,23,42,.12),0 2px 8px rgba(15,23,42,.06);
  font-size:12px;font-weight:500;line-height:1.55;color:var(--text-2);
  text-align:left;white-space:normal;word-break:break-word;pointer-events:none;
  animation:ecomUiTipIn .16s ease;
}
#ecomUiTipLayer[hidden]{display:none!important}
#ecomUiTipLayer .ecom-ui-tip-arrow{
  position:absolute;left:var(--arrow-left,12px);width:8px;height:8px;
  background:var(--surface);box-sizing:border-box;
  transform:translateX(-50%) rotate(45deg);
}
#ecomUiTipLayer.ecom-ui-tip-layer--below .ecom-ui-tip-arrow{top:-4px}
#ecomUiTipLayer.ecom-ui-tip-layer--above .ecom-ui-tip-arrow{
  top:auto;bottom:-4px;transform:translateX(-50%) rotate(225deg);
}
#ecomUiTipLayer .ecom-ui-tip-list{
  list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;
}
#ecomUiTipLayer .ecom-ui-tip-item{
  display:flex;align-items:flex-start;gap:8px;
  font-size:12px;line-height:1.55;color:var(--text-2);
}
#ecomUiTipLayer .ecom-ui-tip-ico{
  flex-shrink:0;width:14px;height:14px;margin-top:2px;color:var(--muted);
}
#ecomUiTipLayer .ecom-ui-tip-ico svg{display:block;width:14px;height:14px}
#ecomUiTipLayer .ecom-ui-tip-text{flex:1;min-width:0}
#ecomUiTipLayer .ecom-ui-tip-plain{
  font-size:12px;line-height:1.55;color:var(--text-2);
}
@keyframes ecomUiTipIn{
  from{opacity:0;transform:translateY(4px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.field-hint{font-size:11px;color:var(--muted);line-height:1.5;margin:-4px 0 8px}
.field-hint-sm{font-size:10px;margin-top:6px}
.text-edit-panel{margin-top:4px}
.text-edit-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.text-edit-head label{margin:0}
.text-edit-retry{border:none;background:none;color:var(--accent);font-size:12px;cursor:pointer;padding:2px 4px}
.text-edit-body{border:1px solid var(--border);border-radius:12px;padding:10px;background:var(--surface-2,#fafafa)}
.text-edit-lines{display:flex;flex-direction:column;gap:8px}
.text-edit-input{width:100%;min-height:36px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:13px;line-height:1.45;resize:vertical;background:#fff}
.text-edit-input:focus{outline:none;border-color:var(--accent)}
.text-edit-status{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px;padding:4px 0}
.text-edit-status--err{color:#dc2626}
.text-edit-spin{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:textEditSpin .8s linear infinite}
.text-edit-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.text-edit-thumb-wrap{position:relative;width:52px;height:52px}
.text-edit-thumb{width:52px;height:52px;border-radius:10px;object-fit:cover;border:1px solid var(--border);background:#fff}
.text-edit-thumb-num{position:absolute;right:4px;bottom:4px;font-size:10px;line-height:1;padding:2px 5px;border-radius:6px;background:rgba(0,0,0,.55);color:#fff}
.text-edit-cards,.text-edit-body>.text-edit-card{margin-top:0}
.text-edit-card{border:1px solid var(--border);border-radius:12px;padding:10px;margin-bottom:10px;background:var(--surface-2,#fafafa)}
.text-edit-card:last-child{margin-bottom:0}
.text-edit-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:12px;font-weight:600;color:var(--text,#111)}
.text-edit-card-actions{display:flex;align-items:center;gap:10px}
.text-edit-remove{border:none;background:none;color:var(--muted);font-size:12px;cursor:pointer;padding:0}
.text-edit-remove:hover{color:#dc2626}
@keyframes textEditSpin{to{transform:rotate(360deg)}}

.text-edit-workbench{
  flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;
  padding:16px 20px 20px;overflow:hidden;
}
.text-edit-wb-side{
  flex:0 0 auto;display:flex;flex-direction:column;align-items:center;
  padding-top:28px;
}
.text-edit-wb-toolbar{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 2px;
}
.text-edit-wb-switch{display:flex;flex-direction:column;align-items:center;gap:8px}
.text-edit-wb-switch-btn{
  position:relative;width:52px;height:52px;padding:0;border:2px solid transparent;
  border-radius:10px;background:#fff;cursor:pointer;overflow:hidden;
  box-shadow:0 0 0 1px #e5e7eb;flex-shrink:0;
}
.text-edit-wb-switch-btn img{width:100%;height:100%;object-fit:cover;display:block}
.text-edit-wb-switch-btn.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.text-edit-wb-switch-btn.has-change::after{
  content:'';position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;
  background:#f59e0b;border:1px solid #fff;
}
.text-edit-wb-main{
  flex:0 1 auto;align-self:flex-start;width:100%;
  display:flex;align-items:flex-start;gap:12px;
}
.text-edit-wb-preview{
  flex:1;min-width:0;
  border:none;border-radius:0;overflow:visible;
  display:flex;justify-content:center;align-items:flex-start;
  background:transparent;padding-top:28px;
}
.text-edit-wb-editor{
  flex:0 0 min(320px,32vw);width:min(320px,32vw);min-width:240px;
  margin-top:28px;
  border:1px solid #e8e8e8;border-radius:12px;overflow:hidden;
  display:flex;flex-direction:column;background:#fff;
  box-sizing:border-box;
}
.text-edit-wb-preview-inner{
  display:block;line-height:0;
}
.text-edit-wb-stage{
  position:relative;display:inline-block;max-width:100%;line-height:0;
}
.text-edit-wb-frame{
  position:relative;display:inline-block;max-width:100%;line-height:0;
  background:#fff;border-radius:16px;padding:12px 12px 18px;
  box-sizing:border-box;box-shadow:0 1px 4px rgba(15,23,42,.04);
}
.text-edit-wb-img-wrap{
  position:relative;display:inline-block;max-width:100%;line-height:0;
  border-radius:12px;overflow:hidden;
}
.text-edit-wb-img-wrap img{
  display:block;width:auto;height:auto;max-width:100%;max-height:min(80vh,780px);
  object-fit:contain;border-radius:12px;
}
.text-edit-wb-overlay{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}
.text-edit-wb-hover{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(15,23,42,.14);border-radius:12px;
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
  opacity:0;pointer-events:none;transition:opacity .18s ease;
}
.text-edit-wb-img-wrap--has-result:hover .text-edit-wb-hover{
  opacity:1;pointer-events:auto;
}
.text-edit-wb-dl-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:44px;padding:12px 30px;border-radius:999px;
  background:rgba(255,255,255,.52);
  backdrop-filter:blur(14px) saturate(1.35);
  -webkit-backdrop-filter:blur(14px) saturate(1.35);
  border:1px solid rgba(255,255,255,.72);
  color:#111827;font-size:14px;font-weight:600;letter-spacing:.03em;
  text-decoration:none;
  box-shadow:0 8px 28px rgba(15,23,42,.14), inset 0 1px 0 rgba(255,255,255,.82);
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.text-edit-wb-dl-btn::before{
  content:'';width:16px;height:16px;flex-shrink:0;
  background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111827' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E");
  opacity:.88;
}
.text-edit-wb-dl-btn:hover{
  background:rgba(255,255,255,.68);
  border-color:rgba(255,255,255,.9);
  transform:translateY(-2px) scale(1.03);
  box-shadow:0 14px 32px rgba(15,23,42,.18), inset 0 1px 0 rgba(255,255,255,.95);
}
.text-edit-wb-hl{
  position:absolute;box-sizing:border-box;border:2px solid #22c55e;
  background:rgba(34,197,94,.12);border-radius:4px;opacity:0;
  transition:opacity .15s ease;
}
.text-edit-wb-hl.on{opacity:1}
.text-edit-wb-loading{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:10px;
  background:rgba(255,255,255,.45);border-radius:12px;
}
.text-edit-wb-loading-ring{
  width:32px;height:32px;border-radius:50%;
  border:3px solid rgba(229,231,235,.9);border-top-color:#22c55e;
  animation:textEditSpin .85s linear infinite;
}
.text-edit-wb-loading-msg{
  margin:0;font-size:13px;font-weight:500;color:#4b5563;text-align:center;line-height:1.45;
}
.text-edit-wb-editor-head{
  flex-shrink:0;padding:14px 14px 10px;
}
.text-edit-wb-title-row{
  display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px;
}
.text-edit-wb-editor-head h4{margin:0;font-size:14px;font-weight:700;color:#171717;flex:1;min-width:0}
.text-edit-wb-tip{margin:0;font-size:11px;color:#9ca3af;line-height:1.45}
.text-edit-wb-fields{
  flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:6px 10px 10px;
  display:flex;flex-direction:column;gap:6px;
  scrollbar-width:thin;scrollbar-color:#d1d5db transparent;
}
.text-edit-wb-fields::-webkit-scrollbar{width:6px}
.text-edit-wb-fields::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:999px}
.text-edit-wb-fields--empty{justify-content:center}
.text-edit-wb-fields--loading{justify-content:center;min-height:120px}
.text-edit-wb-loading-hint{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin:0;font-size:12px;color:#6b7280;text-align:center;line-height:1.5;
}
.text-edit-wb-empty{margin:0;font-size:12px;color:#9ca3af;text-align:center}
.text-edit-line-box{
  border:1px solid #ececec;border-radius:8px;background:#fafafa;padding:0;overflow:hidden;
  flex-shrink:0;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.text-edit-line-box.is-active{
  border-color:#22c55e;background:#fff;
  box-shadow:0 0 0 2px rgba(34,197,94,.12);
}
.text-edit-line-box.is-changed{border-color:#fbbf24;background:#fffbeb}
.text-edit-field{
  width:100%;min-height:32px;padding:8px;border:none;border-radius:0;
  font-size:13px;line-height:1.4;resize:none;background:transparent;color:#171717;
  white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;overflow:hidden;
  box-sizing:border-box;display:block;margin:0;vertical-align:top;
}
.text-edit-field::placeholder{color:#c4c4c4}
.text-edit-field:focus{outline:none}
.text-edit-retry-btn{
  padding:5px 12px;border:1px solid #e5e7eb;border-radius:8px;
  background:#fff;color:#374151;font-size:12px;font-weight:500;cursor:pointer;
  transition:background .15s ease,border-color .15s ease;
}
.text-edit-retry-btn--inline{width:auto;white-space:nowrap;flex-shrink:0}
.text-edit-retry-btn:hover{background:#f9fafb;border-color:#d1d5db}
.text-edit-upload-list{
  display:flex;flex-direction:column;gap:8px;margin-bottom:8px;
}
.text-edit-upload-item{
  border:none;background:transparent;cursor:pointer;box-shadow:none;padding:0;
}
.text-edit-upload-item.is-active .upload-preview-wrap{
  box-shadow:0 0 0 2px #171717;
}
.text-edit-upload-item .upload-preview-wrap .upload-preview{
  max-height:min(280px,42vh);
}
.text-edit-upload-item .upload-preview-wrap{position:relative}
.text-edit-upload-item.is-uploading .upload-preview-wrap::after{
  content:'';position:absolute;inset:0;background:rgba(255,255,255,.55);pointer-events:none;z-index:4;border-radius:inherit;
}
.text-edit-upload-item.is-uploading .upload-preview-wrap::before{
  content:'';position:absolute;left:50%;top:50%;width:28px;height:28px;margin:-14px 0 0 -14px;
  border:2px solid var(--line-2,#e5e5e5);border-top-color:var(--accent,#2563eb);border-radius:50%;
  animation:upload-spin .7s linear infinite;z-index:5;pointer-events:none;
}
.upload-zone--text-edit{
  border:1px solid #e8e8e8;background:#fff;min-height:168px;
}
.upload-zone--text-edit:hover{border-color:#d4d4d4;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.upload-te-title{font-size:13px;font-weight:600;color:#171717}
.upload-te-sub{font-size:12px;color:#737373}
.upload-te-meta{font-size:11px;color:#a3a3a3;margin-top:2px}
.upload-zone--text-edit-more{
  min-height:0;border-style:dashed;border-color:#d4d4d4;background:#fafafa;
}
.upload-zone--text-edit-more:hover{border-color:#a3a3a3;background:#f5f5f5}
.upload-zone--text-edit-more .upload-zone-empty{
  flex-direction:row;align-items:center;gap:10px;padding:12px 14px;text-align:left;
}
.upload-zone--text-edit-more .upload-cloud{display:none}
.upload-te-add-ico{
  flex-shrink:0;width:32px;height:32px;border-radius:8px;background:#fff;
  border:1px solid #e5e5e5;color:#525252;font-size:20px;font-weight:300;line-height:1;
  display:flex;align-items:center;justify-content:center;
}
.upload-te-add-body{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.upload-te-add-txt{font-size:13px;font-weight:500;color:#171717}
.upload-te-add-count{font-size:11px;color:#a3a3a3}
body.studio-edit-text-active .config-panel--studio .upload-zone.upload-zone--text-edit-more{
  min-height:0;margin-top:0;
}
body.studio-edit-text-active .text-edit-panel--compact{margin-top:0}
body.studio-edit-text-active #wsResultArea{display:none!important}
body.studio-edit-text-active #wbPanelResults.on{padding-top:10px}
body.studio-edit-text-active .text-edit-workbench{padding-top:8px}
body.studio-edit-text-active .text-edit-wb-side,
body.studio-edit-text-active .text-edit-wb-preview{padding-top:12px}
body.studio-edit-text-active .text-edit-wb-editor{margin-top:12px}

/* 修改尺寸 · 快速裁剪工作台 */
.resize-crop-workbench{
  flex:1;min-height:0;width:100%;display:flex;flex-direction:column;
  padding:6px 10px 8px;overflow:hidden;box-sizing:border-box;
}
.resize-crop-wb-main{
  flex:1;min-height:0;width:100%;
  display:flex;align-items:stretch;justify-content:flex-start;gap:10px;
}
.resize-crop-wb-side{
  flex:0 0 auto;display:flex;flex-direction:column;align-items:center;
  padding-top:18px;
}
.resize-crop-wb-switch{display:flex;flex-direction:column;align-items:center;gap:8px}
.resize-crop-wb-switch-btn{
  position:relative;width:56px;height:56px;min-width:56px;min-height:56px;padding:0;border:2px solid transparent;
  border-radius:10px;background:#fff;cursor:pointer;overflow:hidden;
  box-shadow:0 0 0 1px #e5e7eb;flex-shrink:0;
}
.resize-crop-wb-switch-btn img{width:56px;height:56px;object-fit:cover;display:block}
.resize-crop-wb-switch-btn.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.resize-crop-wb-switch-btn.is-done::after{
  content:'';position:absolute;right:2px;bottom:2px;width:8px;height:8px;border-radius:50%;
  background:var(--accent,#16a34a);border:1px solid #fff;
}
.resize-crop-wb-switch-btn.is-processing::before{
  content:'';position:absolute;inset:0;background:rgba(255,255,255,.72);
}
.resize-crop-wb-preview{
  flex:1 1 0;min-width:0;min-height:0;width:100%;
  display:flex;justify-content:stretch;align-items:stretch;
  padding:0;overflow:hidden;
}
.resize-crop-wb-card{
  width:100%;max-width:none;min-width:0;min-height:0;height:100%;
  flex:1 1 0;align-self:stretch;
  display:flex;flex-direction:column;
  background:#fff;border-radius:14px;padding:10px 14px 8px;
  border:1px solid rgba(10,10,10,.06);
  box-shadow:0 4px 24px rgba(15,23,42,.06);
  box-sizing:border-box;
}
.resize-crop-wb-toolbar{
  --rc-toolbar-h:32px;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  margin-bottom:8px;flex:0 0 auto;
}
.resize-crop-aspect-pill.detail-opt-item{
  flex-direction:row;align-items:center;gap:0;
  min-width:96px;margin:0;padding:0 10px;
  height:var(--rc-toolbar-h);box-sizing:border-box;
  background:#fff;border:1px solid rgba(10,10,10,.08);
  border-radius:10px;box-shadow:none;
}
.resize-crop-aspect-pill:focus-within,
.resize-crop-aspect-pill.detail-opt-item:focus-within{
  outline:none;box-shadow:none;border-color:rgba(10,10,10,.12);
}
.resize-crop-aspect-pill .detail-opt-v{
  width:100%;height:100%;display:flex;align-items:center;
}
.resize-crop-aspect-pill .detail-opt-v select,
.resize-crop-aspect-pill .detail-opt-v .ui-select-trigger{
  height:100%;min-height:0;font-size:13px;font-weight:500;color:var(--text,#111);
}
.resize-crop-aspect-pill .detail-opt-v select{
  outline:none;
}
.resize-crop-aspect-pill .detail-opt-v .ui-select.open .ui-select-trigger{
  border:none;box-shadow:none;background:transparent;
}
.resize-crop-aspect-pill .detail-opt-v .ui-select-trigger{
  border:none;background:transparent;padding-right:22px;min-height:0;
}
.resize-crop-aspect-pill .detail-opt-v .ui-select-trigger:hover{
  border:none;background:transparent;
}
.resize-crop-aspect-pill .detail-opt-v .ui-select-label{
  font-size:13px;font-weight:500;color:var(--text,#111);
}
.resize-crop-aspect-pill .detail-opt-v .ui-select-chevron{color:#737373}
.resize-crop-apply-all-btn,
.resize-crop-apply-one-btn,
.resize-crop-apply-batch-btn,
.resize-crop-toolbar-btn{
  box-sizing:border-box;
  height:var(--rc-toolbar-h);min-height:var(--rc-toolbar-h);
  padding:0 14px;display:inline-flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:500;line-height:1;flex-shrink:0;
  border-radius:10px;cursor:pointer;
}
.resize-crop-apply-all-btn{
  border:1px solid rgba(10,10,10,.08);
  background:#fff;color:var(--text,#111);
}
.resize-crop-apply-all-btn:hover{border-color:var(--accent,#16a34a);color:var(--accent,#16a34a)}
.resize-crop-toolbar-spacer{flex:1;min-width:12px}
.resize-crop-toolbar-actions{
  display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;flex-shrink:0;
}
.resize-crop-toolbar-btn{
  border:1px solid rgba(10,10,10,.12);background:#fff;
  font-weight:600;color:#111;text-decoration:none;
  transition:border-color .15s ease,color .15s ease,opacity .15s ease;
}
.resize-crop-toolbar-btn:hover:not(:disabled){border-color:var(--accent,#16a34a);color:var(--accent,#16a34a)}
.resize-crop-toolbar-btn.ghost{background:transparent}
.resize-crop-toolbar-btn.link{border-color:var(--accent,#16a34a);color:var(--accent,#16a34a)}
.resize-crop-toolbar-btn:disabled{opacity:.45;cursor:not-allowed}
.resize-crop-apply-one-btn{
  padding:0 16px;border:none;background:#111;color:#fff;font-weight:600;
  transition:background .15s ease,opacity .15s ease;
}
.resize-crop-apply-one-btn:hover:not(:disabled){background:#000}
.resize-crop-apply-one-btn:disabled{opacity:.45;cursor:not-allowed}
.resize-crop-apply-batch-btn{
  border:1px solid rgba(10,10,10,.12);background:#fff;
  font-weight:600;color:#111;
  transition:border-color .15s ease,color .15s ease,opacity .15s ease;
}
.resize-crop-apply-batch-btn:hover:not(:disabled){border-color:var(--accent,#16a34a);color:var(--accent,#16a34a)}
.resize-crop-apply-batch-btn:disabled{opacity:.45;cursor:not-allowed}
.resize-crop-wb-toolbar .resize-crop-apply-one-btn,
.resize-crop-wb-toolbar .resize-crop-apply-batch-btn{margin:0}
.resize-crop-wb-canvas{
  position:relative;width:100%;flex:1 1 0;min-height:320px;min-width:0;
  height:auto;max-height:none;
  background:#eef0f3;border-radius:12px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  touch-action:none;
}
.resize-crop-wb-stage{
  position:relative;flex:0 0 auto;line-height:0;max-width:100%;max-height:100%;
  touch-action:none;
}
.resize-crop-wb-canvas.is-result{background:#f8fafc}
.resize-crop-wb-canvas.is-processing .resize-crop-wb-img,
.resize-crop-wb-canvas.is-processing .resize-crop-wb-box,
.resize-crop-wb-canvas.is-processing .resize-crop-shades{opacity:.45}
.resize-crop-wb-loading{
  position:absolute;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.55);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
  font-size:14px;font-weight:500;color:#374151;gap:8px;
}
.resize-crop-wb-loading::before{
  content:'';width:18px;height:18px;border:2px solid #d1d5db;border-top-color:var(--accent,#16a34a);
  border-radius:50%;animation:spin .7s linear infinite;
}
.resize-crop-wb-img{
  display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;z-index:1;
  user-select:none;-webkit-user-drag:none;
}
.resize-crop-wb-result-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1;
  user-select:none;-webkit-user-drag:none;
}
.resize-crop-shades{
  position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden;border-radius:2px;
}
.resize-crop-shade{position:absolute;background:rgba(255,255,255,.62)}
.resize-crop-wb-box{
  position:absolute;box-sizing:border-box;cursor:move;touch-action:none;z-index:4;
  border:2px solid #fff;border-radius:2px;
  outline:1.5px solid rgba(22,163,74,.92);
  background:transparent;
}
.resize-crop-grid{
  position:absolute;inset:0;pointer-events:none;overflow:hidden;
}
.resize-crop-grid-line{
  position:absolute;background:rgba(255,255,255,.55);pointer-events:none;
}
.resize-crop-grid-line--v1{
  left:33.3333%;top:0;bottom:0;width:1px;transform:translateX(-50%);
}
.resize-crop-grid-line--v2{
  left:66.6667%;top:0;bottom:0;width:1px;transform:translateX(-50%);
}
.resize-crop-grid-line--h1{
  top:33.3333%;left:0;right:0;height:1px;transform:translateY(-50%);
}
.resize-crop-grid-line--h2{
  top:66.6667%;left:0;right:0;height:1px;transform:translateY(-50%);
}
.resize-crop-handle{
  position:absolute;width:14px;height:14px;background:#fff;border:2px solid var(--accent,#16a34a);
  border-radius:50%;box-sizing:border-box;z-index:5;pointer-events:auto;
  box-shadow:0 1px 3px rgba(15,23,42,.2);touch-action:none;
}
.resize-crop-handle[data-handle="nw"]{left:-8px;top:-8px;cursor:nwse-resize}
.resize-crop-handle[data-handle="n"]{left:50%;top:-8px;margin-left:-7px;cursor:ns-resize}
.resize-crop-handle[data-handle="ne"]{right:-8px;top:-8px;cursor:nesw-resize}
.resize-crop-handle[data-handle="e"]{right:-8px;top:50%;margin-top:-7px;cursor:ew-resize}
.resize-crop-handle[data-handle="se"]{right:-8px;bottom:-8px;cursor:nwse-resize}
.resize-crop-handle[data-handle="s"]{left:50%;bottom:-8px;margin-left:-7px;cursor:ns-resize}
.resize-crop-handle[data-handle="sw"]{left:-8px;bottom:-8px;cursor:nesw-resize}
.resize-crop-handle[data-handle="w"]{left:-8px;top:50%;margin-top:-7px;cursor:ew-resize}
.resize-crop-wb-result-tag{
  font-size:14px;font-weight:600;color:#111;padding:4px 2px;
}
.resize-crop-wb-tip{
  margin:6px 0 0;font-size:12px;color:var(--muted,#6b7280);text-align:center;flex:0 0 auto;
}
.resize-crop-wb-footer{
  flex:0 0 auto;padding:6px 8px 0;display:flex;flex-direction:column;align-items:center;
}
.resize-crop-wb-status{
  margin:0;font-size:12px;color:var(--muted,#6b7280);text-align:center;min-height:18px;
}
.resize-crop-wb-status.is-error{color:#dc2626}
body.page-studio #resizeCropWorkbench{
  flex:1;min-height:0;align-items:stretch;
}
body.page-studio #resizeCropWbPreview{
  flex:1;min-height:0;height:100%;
}
body.studio-resize-crop-active .upload-multi-thumbs{
  gap:8px;
}
body.studio-resize-crop-active .upload-multi-thumb{
  width:calc((100% - 24px) / 4);
  flex:0 0 calc((100% - 24px) / 4);
  height:auto;
  aspect-ratio:1;
  border-radius:8px;
}
body.studio-resize-crop-active .upload-multi-thumb img{object-fit:cover}
body.studio-resize-crop-active .upload-multi-remove{
  top:3px;right:3px;
  width:16px;height:16px;
  font-size:12px;line-height:16px;
}
body.studio-resize-crop-active .config-panel--studio .btn-gen-shell,
body.studio-resize-crop-active .config-panel--studio .cost-footer{display:none!important}
body.resize-crop-dragging{user-select:none;cursor:grabbing}
body.resize-crop-dragging .resize-crop-wb-box{cursor:grabbing}
body.studio-resize-crop-active #wsResultArea{display:none!important}
body.studio-resize-crop-active #wbPanelResults.on{
  display:flex;flex-direction:column;
  padding:6px 10px 8px;
  overflow:hidden;
}
body.page-studio #resizeCropWorkbench{flex:1;min-height:0}
body.studio-resize-crop-active #wbPanelWorkbench{overflow:hidden}
body.studio-resize-crop-active .ws-support{
  pointer-events:none;
}
body.studio-resize-crop-active .ws-support .sup-btn{
  pointer-events:auto;
}
@media (max-width:1100px){
  .text-edit-wb-main{flex-direction:column}
  .text-edit-wb-side{
    width:100%;padding-top:0;align-items:flex-start;
  }
  .text-edit-wb-switch{flex-direction:row;flex-wrap:wrap}
  .text-edit-wb-switch-btn{width:44px;height:44px}
  .text-edit-wb-editor{width:100%;max-width:none;flex:1 1 auto;height:auto!important;max-height:none!important}
  .text-edit-wb-preview{padding-top:10px}
  .text-edit-wb-side{padding-top:10px}
  .text-edit-wb-editor{margin-top:10px}
  .text-edit-wb-img-wrap img{max-height:48vh}
}
.field input[type=text]{
  width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius);
  font-size:13px;background:var(--surface);
}
.field textarea.field-textarea,
.field textarea.auto-grow-textarea{
  width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius);
  font-size:13px;line-height:1.5;background:var(--surface);font-family:inherit;box-sizing:border-box;
  min-height:38px;resize:none;overflow:hidden;
  white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;field-sizing:content;
}
.field textarea.field-textarea:focus,
.field textarea.auto-grow-textarea:focus{outline:none;border-color:var(--accent)}
.auto-grow-textarea{
  resize:none;overflow:hidden;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;
  field-sizing:content;box-sizing:border-box;line-height:1.5;
}
.tool-banner{
  padding:10px 12px;background:var(--surface-2);border-radius:var(--radius-lg);
  font-size:11px;color:var(--text-2);line-height:1.5;margin-bottom:14px;
}
.tool-banner-sm{margin-top:8px;margin-bottom:0}
.pose-count-stepper{
  display:flex;align-items:center;gap:0;
  border:1px solid var(--line,#e5e5e5);border-radius:var(--radius);
  background:#fff;overflow:hidden;margin-bottom:8px;
}
.pose-count-btn{
  width:40px;height:var(--ctrl-h);border:none;background:#fafafa;
  font-size:18px;line-height:1;color:var(--text);cursor:pointer;flex-shrink:0;
}
.pose-count-btn:hover{background:#f0f0f0}
.pose-count-val{
  flex:1;text-align:center;font-size:13px;color:var(--text);min-width:72px;
}
.pose-count-presets{margin-top:4px}
.pose-count-field .field-hint-sm{margin-top:6px}
.pose-precise-warn{margin-top:4px}

.mode-hint-box{
  margin-top:8px;padding:10px 12px 10px 14px;border-radius:10px;
  background:#f5f5f5;border-left:3px solid #171717;
  font-size:12px;color:#525252;line-height:1.45;
}
body.page-studio.studio-panel-mode .mode-hint-box{
  font-size:11px;line-height:1.4;padding:9px 10px 9px 12px;
}
.seg-row--mode .seg-pill{font-size:12px}
.seg-row--recolor .seg-pill{font-size:11px;padding:4px 8px}
.color-variant-form-top .field{margin-bottom:12px}
.color-variant-form-top .field:last-child{margin-bottom:0}
.color-target-field .field-hint-sm{margin:-2px 0 10px}
.color-target-row{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.color-target-picker{
  width:44px;height:var(--ctrl-h);padding:2px;border:1px solid var(--line,#e5e5e5);
  border-radius:var(--radius);background:#fff;cursor:pointer;flex-shrink:0;
}
.color-target-hex{
  flex:1;min-width:120px;height:var(--ctrl-h);padding:0 10px;border:1px solid var(--line,#e5e5e5);
  border-radius:var(--radius);background:#fff;font-size:13px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;box-sizing:border-box;
}
.color-target-eyedropper{
  display:inline-flex;align-items:center;justify-content:center;gap:4px;
  height:var(--ctrl-h);padding:0 10px;box-sizing:border-box;
  border:1px solid var(--line,#e5e5e5);border-radius:var(--radius);background:#fff;
  font-size:12px;color:#404040;cursor:pointer;flex-shrink:0;line-height:1;
}
.color-target-eyedropper:hover{background:#fafafa;border-color:#d4d4d4}
.color-target-eyedropper .ico{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.color-target-eyedropper .ico svg{display:block}
.scene-form-top .field{margin-bottom:12px}
.scene-form-top .field:last-child{margin-bottom:0}
.scene-bg-desc-field textarea{min-height:38px;resize:none;overflow:hidden}
.upload-multi-thumbs{margin-top:10px;gap:10px;flex-wrap:wrap}
.upload-multi-thumb{
  position:relative;width:92px;height:92px;border-radius:10px;overflow:hidden;
  background:#f5f5f5;border:1px solid var(--line);flex-shrink:0;
}
.upload-multi-thumb img{width:100%;height:100%;object-fit:contain;display:block;background:#f5f5f5;cursor:zoom-in}
.upload-multi-remove{
  position:absolute;top:4px;right:4px;width:22px;height:22px;border:none;border-radius:50%;
  background:rgba(0,0,0,.55);color:#fff;font-size:15px;line-height:1;cursor:pointer;padding:0;
}
.upload-multi-more{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  cursor:pointer;border-style:dashed;background:#f8fafc;color:var(--text-2);
  font:inherit;padding:8px;transition:background .12s,border-color .12s,color .12s;
}
.upload-multi-more:hover{background:#eef2f7;border-color:#cbd5e1;color:var(--text)}
.upload-multi-more-label{font-size:13px;font-weight:600;line-height:1.3}
.upload-multi-more-count{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.3}
.upload-multi-gallery-modal .ms-modal-panel{display:flex;flex-direction:column;position:relative}
.upload-multi-gallery-modal .ms-modal-close{
  position:absolute;top:12px;right:12px;z-index:2;margin:0;
}
.upload-multi-gallery-modal .ms-modal-head{
  padding-right:52px;
}
.upload-multi-gallery-modal .ms-modal-body{
  flex:1;min-height:0;overflow-y:auto;padding:16px 18px;
}
.upload-multi-gallery-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;
}
.upload-multi-gallery-item{
  position:relative;display:block;width:100%;aspect-ratio:1;border-radius:10px;overflow:hidden;
  padding:0;border:2px solid transparent;background:#f5f5f5;cursor:pointer;
  transition:border-color .12s,box-shadow .12s;
}
.upload-multi-gallery-item img{width:100%;height:100%;object-fit:contain;display:block;background:#f5f5f5;pointer-events:none}
.upload-multi-gallery-item.on{border-color:var(--batch-sel-color);box-shadow:var(--batch-sel-ring)}
.upload-multi-gallery-preview{
  position:absolute;top:6px;left:6px;z-index:2;
  width:24px;height:24px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.92);color:var(--text,#333);
  box-shadow:0 1px 4px rgba(0,0,0,.15);cursor:pointer;
  opacity:0;transform:scale(.92);transition:opacity .12s,transform .12s,background .12s;
}
.upload-multi-gallery-preview:hover{background:#fff}
.upload-multi-gallery-preview svg{display:block}
.upload-multi-gallery-item:hover .upload-multi-gallery-preview,
.upload-multi-gallery-item:focus-within .upload-multi-gallery-preview{opacity:1;transform:scale(1)}
.upload-multi-gallery-check{
  position:absolute;top:6px;right:6px;width:20px;height:20px;border-radius:50%;
  background:var(--accent,#2563eb);color:#fff;font-size:12px;line-height:20px;text-align:center;
  opacity:0;transform:scale(.8);transition:opacity .12s,transform .12s;pointer-events:none;
}
.upload-multi-gallery-item.on .upload-multi-gallery-check{opacity:1;transform:scale(1)}
.upload-multi-gallery-foot{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:12px 18px 16px;border-top:1px solid #f0f0f0;flex-shrink:0;
}
.upload-multi-gallery-selected{font-size:13px;color:var(--text-2,#666)}
.upload-multi-gallery-foot-actions{display:flex;align-items:center;gap:8px}
.upload-multi-gallery-act{
  padding:7px 14px;border:1px solid var(--line,#e5e5e5);border-radius:999px;
  background:#fff;font-size:12px;color:var(--text,#333);cursor:pointer;white-space:nowrap;
  transition:border-color .12s,background .12s,color .12s;
}
.upload-multi-gallery-act:hover:not(:disabled){border-color:#cbd5e1;background:#f8fafc}
.upload-multi-gallery-act:disabled{opacity:.45;cursor:not-allowed}
.upload-multi-gallery-act--danger{color:#dc2626;border-color:#fecaca}
.upload-multi-gallery-act--danger:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5}
.upload-multi-gallery-item .upload-mask-btn{bottom:6px;left:6px;top:auto;right:auto;max-width:calc(100% - 12px)}
.upload-mask-btn{
  position:absolute;top:4px;left:4px;z-index:2;
  padding:3px 7px;border:none;border-radius:6px;
  background:rgba(0,0,0,.72);color:#fff;font-size:10px;line-height:1.25;cursor:pointer;
  white-space:nowrap;max-width:calc(100% - 8px);overflow:hidden;text-overflow:ellipsis;
}
.upload-mask-btn:hover{background:rgba(37,99,235,.92)}
.upload-multi-thumb.has-mask::after,
.upload-preview-wrap.has-mask::after{
  content:'';position:absolute;right:6px;bottom:6px;width:9px;height:9px;border-radius:50%;
  background:#ffc107;border:1px solid #fff;z-index:2;pointer-events:none;
}
.replace-mask-modal{z-index:1300;padding:24px}
.replace-mask-modal .ms-modal-panel.replace-mask-panel{
  width:min(1280px,calc(100vw - 40px));height:min(860px,calc(100vh - 40px));max-height:calc(100vh - 40px);
  display:flex;flex-direction:column;border-radius:var(--radius-lg);
}
.replace-mask-head{
  display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line);flex-shrink:0;
}
.replace-mask-head-main{
  display:flex;align-items:center;gap:14px;flex:1;min-width:0;
}
.replace-mask-head h4{margin:0;font-size:16px;font-weight:600;white-space:nowrap;flex-shrink:0}
.replace-mask-desc{font-size:12px;line-height:1.4;color:var(--text-2);white-space:nowrap}
.replace-mask-head .ms-modal-close{flex-shrink:0;margin-left:auto}
.replace-mask-toolbar{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;
  padding:14px 20px;border-bottom:1px solid var(--line);background:var(--surface-2);
}
.replace-mask-tools{display:flex;gap:8px;flex-wrap:wrap}
.replace-mask-tool{
  box-sizing:border-box;min-height:var(--ctrl-h);padding:0 14px;
  border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);
  font-size:12px;color:var(--text-2);cursor:pointer;transition:all .12s;
}
.replace-mask-tool.on{
  background:var(--text);color:#fff;border-color:var(--text);font-weight:600;
}
.replace-mask-size,
.replace-mask-zoom{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-2)}
.replace-mask-size{min-width:180px}
.replace-mask-size input[type=range],
.replace-mask-zoom input[type=range]{width:96px;accent-color:var(--accent);outline:none;box-shadow:none}
.replace-mask-size input[type=range]:focus,
.replace-mask-zoom input[type=range]:focus,
.replace-mask-size:focus-within,
.replace-mask-zoom:focus-within{outline:none;box-shadow:none}
.replace-mask-size[hidden]{display:none!important}
.replace-mask-zoom-val{min-width:44px;text-align:center;font-variant-numeric:tabular-nums}
.replace-mask-zoom--buttons{display:flex;align-items:center;gap:8px}
.replace-mask-icon-btn{min-width:var(--ctrl-h);padding:0 10px;font-size:16px;line-height:1}
.replace-mask-modal[data-variant=edit] .replace-mask-foot-hint,
.replace-mask-modal[data-variant=replace] .replace-mask-foot-hint{flex:1;min-width:0}
.replace-mask-actions{display:flex;gap:8px;margin-left:auto}
.replace-mask-action{
  box-sizing:border-box;min-height:var(--ctrl-h);padding:0 14px;
  border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);
  font-size:12px;cursor:pointer;color:var(--text-2);transition:all .12s;
}
.replace-mask-action:hover{border-color:var(--line-2);background:var(--surface-2)}
.replace-mask-action:disabled{opacity:.42;cursor:not-allowed;background:var(--surface-2)}
.replace-mask-action:disabled:hover{border-color:var(--line);background:var(--surface-2)}
.replace-mask-stage{
  flex:1;min-height:0;overflow:auto;
  padding:12px 16px;background:var(--surface-2);position:relative;
  overscroll-behavior:contain;
}
.replace-mask-stage.is-locked{overflow:hidden}
.replace-mask-loading{
  display:flex;align-items:center;justify-content:center;flex:1;min-height:320px;
  font-size:14px;color:var(--muted);
}
.replace-mask-stage .replace-mask-loading{
  position:absolute;inset:0;z-index:4;min-height:0;flex:none;
  background:rgba(255,255,255,.78);backdrop-filter:blur(2px);
}
.replace-mask-stage-inner{
  display:flex;align-items:center;justify-content:center;
  box-sizing:border-box;
  min-width:100%;min-height:100%;
  width:max-content;height:max-content;
  margin:0 auto;
}
.replace-mask-canvas-wrap{position:relative;flex-shrink:0;line-height:0}
.replace-mask-base-img{
  display:block;width:100%;height:100%;border-radius:var(--radius-lg);
  box-shadow:0 8px 28px rgba(0,0,0,.12);user-select:none;-webkit-user-drag:none;
}
.replace-mask-overlay{
  position:absolute;inset:0;width:100%;height:100%;
  border-radius:var(--radius-lg);touch-action:none;
}
.replace-mask-overlay.replace-mask-overlay--brush{cursor:none}
.replace-mask-overlay.replace-mask-overlay--rect{cursor:crosshair}
.replace-mask-overlay.replace-mask-overlay--pick{cursor:pointer}
.replace-mask-overlay.replace-mask-overlay--hand{cursor:grab}
.replace-mask-overlay.replace-mask-overlay--panning{cursor:grabbing}
.replace-mask-cursor{
  position:fixed;pointer-events:none;border-radius:50%;display:none;z-index:1310;
  border:1.5px solid rgba(37,99,235,.95);background:rgba(37,99,235,.12);
  box-shadow:0 0 0 1px rgba(255,255,255,.65);
  will-change:transform,left,top;
}
.replace-mask-cursor.eraser{
  border-color:rgba(220,38,38,.95);background:rgba(220,38,38,.1);
}
.replace-mask-foot{
  padding:12px 20px 16px;border-top:1px solid var(--line);
  display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;
}
.replace-mask-foot-hint{
  margin:0;flex:1;min-width:0;font-size:12px;color:var(--muted);line-height:1.45;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.replace-mask-foot-btns{display:flex;flex-shrink:0;justify-content:flex-end;gap:10px}
.replace-mask-apply{min-width:120px}
/* 窄栏宽度见 :root --studio-config-*；studio-panel-mode 仅保留内边距/栅格等差异 */
body.page-studio.studio-panel-mode .config-panel--studio{
  width:var(--config-w);min-width:var(--studio-config-min-w);max-width:var(--studio-config-max-w);
}
body.page-studio.studio-panel-mode .config-panel--studio .config-head{
  --cfg-head-pad-x:18px;
  padding:0 var(--cfg-head-pad-x);
  min-height:var(--studio-row-h,52px);
  display:flex;flex-direction:column;justify-content:center;
  box-sizing:border-box;
}
body.page-studio.studio-panel-mode .config-panel--studio .config-title-row{
  margin-bottom:0;min-height:var(--ctrl-h);align-items:center;
}
body.page-studio.studio-panel-mode .config-panel--studio .config-title-row h2{
  font-size:15px;line-height:1.2;
}
body.page-studio.studio-panel-mode .config-panel--studio .config-title-row .help-link{
  min-height:var(--ctrl-h);padding:0 6px;align-items:center;font-size:12px;
}
body.page-studio.studio-panel-mode .config-panel--studio .config-head > .seg-row,
body.page-studio.studio-panel-mode .config-panel--studio .config-head > .switch-row{
  margin-top:10px;margin-bottom:0;
}
body.page-studio.studio-panel-mode .config-panel--studio .config-head > .seg-row:last-child,
body.page-studio.studio-panel-mode .config-panel--studio .config-head > .switch-row:last-child{
  margin-bottom:10px;
}
body.page-studio.studio-panel-mode .config-panel--studio .config-head:has(#detailModeRow[style*="flex"]){
  min-height:auto;padding-top:12px;padding-bottom:14px;justify-content:flex-start;
}
body.page-studio.studio-panel-mode .config-panel--studio .config-head:has(#detailModeRow[style*="flex"]) .config-title-row{margin-bottom:0}
body.page-studio.studio-panel-mode .config-panel--studio .config-head:has(#detailModeRow[style*="flex"]) > #detailModeRow{margin-top:10px}
body.page-studio.studio-panel-mode .config-panel--studio .config-head:has(#detailModeRow[style*="flex"]) > .switch-row--head{margin-top:10px;margin-bottom:0}
body.page-studio.studio-panel-mode .config-panel--studio .config-body{padding:14px 18px 16px}
body.page-studio.studio-panel-mode .config-panel--studio .config-footer{
  padding:12px 18px max(16px, env(safe-area-inset-bottom, 0px));
}
body.page-studio.studio-panel-mode .config-panel--studio .config-status.is-visible{
  padding:0 18px 8px;
}
body.page-studio.studio-panel-mode .config-panel--studio .upload-zone{min-height:140px}
body.page-studio.studio-panel-mode .studio-upload-grid{grid-template-columns:1fr;gap:12px}
body.page-studio.studio-panel-mode .studio-upload-grid #uploadField{grid-column:1}
body.page-studio.studio-panel-mode .btn-gen{
  padding:14px;border-radius:12px;font-size:14px;
}
body.page-studio.studio-panel-mode .btn-gen:disabled{
  background:#ececec;color:#a3a3a3;
}
body.page-studio.studio-panel-mode .trial-badge{
  color:#6366f1;font-size:11px;
}
body.page-studio.studio-panel-mode .cost-footer{margin-top:8px}

/* 右侧空状态 + 浮动工具栏（对齐由前 AI） */
body.page-studio .wb-workspace{background:var(--zone-workspace)}
body.page-studio .wb-content{
  display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
  overflow:hidden;
}
body.page-studio .wb-panels-track>.wb-panel{
  display:flex;flex-direction:column;align-items:stretch;
}
body.page-studio #wbPanelWorkbench{
  align-items:center;justify-content:center;padding:18px 24px;
}
body.page-studio.studio-edit-text-active #wbPanelWorkbench,
body.page-studio.studio-resize-crop-active #wbPanelWorkbench,
body.page-studio.studio-compress-split-active #wbPanelWorkbench,
body.page-studio.studio-outfit-flatlay-active #wbPanelWorkbench{
  align-items:stretch;justify-content:flex-start;padding:0;
}
body.page-studio.page-scene-material #mk_wbPanelWorkbench,
body.page-studio.studio-video-active #videoWbPanelWorkbench{
  align-items:center;justify-content:center;padding:18px 24px;
}
body.page-studio #wbPanelWorkbench .yq-effect-demo{
  flex:0 0 auto;width:min(96%,900px);max-width:100%;margin:-20px auto 0;
}
body.page-studio.page-scene-material #mk_wbPanelWorkbench .yq-effect-demo,
body.page-studio.studio-video-active #videoWbPanelWorkbench .yq-effect-demo{
  flex:0 0 auto;width:min(96%,900px);max-width:100%;margin:-20px auto 0;
}
body.page-studio #effectDemoFoot,
body.page-studio.page-scene-material #mk_effectDemoFoot,
body.page-studio.studio-video-active #videoEffectDemoFoot{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 16px 14px;border-top:1px solid rgba(15,23,42,.06);
}
body.page-studio #wbPanelWorkbench .text-edit-workbench,
body.page-studio #wbPanelWorkbench .resize-crop-workbench,
body.page-studio #wbPanelWorkbench .compress-split-workbench,
body.page-studio #wbPanelWorkbench .outfit-flatlay-workbench{
  flex:1;min-height:0;width:100%;
}
body.page-studio .wb-panel.on{
  width:100%;display:flex;flex-direction:column;align-items:center;
}
body.page-studio .wb-empty{
  width:100%;max-width:400px;margin:0 auto;padding:48px 24px 32px;flex:1;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:min(520px,calc(100vh - 200px));
}
body.page-studio .wb-empty-icon{
  width:72px;height:72px;border-radius:18px;margin-bottom:20px;
}
.ws-support.wb-float-rail{
  position:fixed;right:20px;bottom:max(20px,env(safe-area-inset-bottom));z-index:100;
  flex-direction:row;align-items:center;gap:8px;
}
.wb-float-rail .sup-btn{
  box-shadow:0 4px 16px rgba(0,0,0,.08);background:#fff;
  height:40px;padding:0 14px;border-radius:8px;
}
.wb-float-rail .sup-btn.icon-only{
  width:40px;height:40px;padding:0;border-radius:8px;
}

/* 工作台模式（已弃用右侧演示，仅保留流式结果区样式） */

/* 效果演示 · YOQIAN 式主图布局 */
.yq-effect-demo{
  position:relative;flex:0 0 auto;width:100%;max-width:none;
  display:flex;flex-direction:column;align-items:stretch;
  padding:0;overflow:hidden;
  background:#fff;border-radius:16px;
  border:1px solid #b0b5bd;
  box-shadow:none;
}
.yq-demo-label{
  position:absolute;top:12px;left:12px;z-index:4;
  display:inline-flex;align-items:center;
  font-size:10px;font-weight:500;color:#fff;
  background:rgba(0,0,0,.58);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  padding:3px 9px;border-radius:999px;margin:0;flex-shrink:0;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:none;
}
.yq-demo-card{
  position:relative;width:100%;overflow:hidden;
  height:540px;min-height:540px;padding:0;
  background:#e5e7eb;border-radius:0;
}
/* 效果演示 · 整块灰色区域展示图片/视频 */
.yq-demo-stage-full{
  position:absolute;inset:0;background:#e5e7eb;
}
.yq-demo-stage-full img,.yq-demo-stage-full video{
  position:absolute;inset:0;width:100%;height:100%;
  display:block;object-fit:cover;border-radius:0;
  background:transparent;
}
.yq-demo-stage-full--empty{background:#e5e7eb}
.yq-demo-stage-hit{
  position:absolute;inset:0;border:none;background:transparent;
  cursor:pointer;z-index:2;padding:0;
}
.yq-demo-stage-hit::after{
  content:'+';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:52px;height:52px;border-radius:50%;
  background:rgba(255,255,255,.88);color:#c4c4c4;font-size:28px;font-weight:300;
  display:flex;align-items:center;justify-content:center;
  box-shadow:none;
  opacity:0;transition:opacity .15s;pointer-events:none;
}
.yq-demo-stage-full--empty .yq-demo-stage-hit::after,
.yq-demo-stage-full:hover .yq-demo-stage-hit::after{opacity:1}
.yq-demo-inner--hero{
  display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:12px;align-items:stretch;
}
.yq-demo-main{
  min-height:0;height:100%;display:flex;
}
.yq-demo-main img{
  width:100%;height:min(54vh,460px);max-height:min(54vh,460px);
  border-radius:12px;display:block;object-fit:cover;
  aspect-ratio:4/3;background:#f5f5f5;
}
.yq-demo-main--single img{aspect-ratio:4/3}
.yq-demo-inner--single{
  display:flex;justify-content:center;align-items:stretch;width:100%;
}
.yq-demo-main--only{
  width:100%;max-width:min(100%,920px);margin:0 auto;
}
.yq-demo-main--only img,.yq-demo-main--only video{
  width:100%;height:min(54vh,460px);max-height:min(54vh,460px);
  border-radius:12px;display:block;object-fit:cover;aspect-ratio:4/3;background:#f5f5f5;
}
.yq-demo-inner--hero.yq-demo-inner--grid-only{grid-template-columns:1fr}
.yq-demo-grid--1{grid-template-columns:1fr;grid-template-rows:1fr;height:auto;max-height:none}
.yq-demo-grid--1 img,.yq-demo-grid--1 video{
  height:min(54vh,460px);max-height:min(54vh,460px);aspect-ratio:4/3;
}
.yq-demo-grid--2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}
.yq-demo-grid--3{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.yq-demo-grid--4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.yq-demo-styles--count-1{grid-template-columns:1fr}
.yq-demo-styles--count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.yq-demo-grid{
  display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;
  gap:8px;height:min(54vh,460px);max-height:min(54vh,460px);
}
.yq-demo-grid img{
  width:100%;height:100%;border-radius:10px;display:block;
  object-fit:cover;background:#f5f5f5;aspect-ratio:4/3;
}
.yq-demo-inner{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);
  gap:12px;align-items:stretch;
}
.yq-demo-col img{
  width:100%;max-height:min(54vh,460px);
  border-radius:12px;display:block;object-fit:cover;
  aspect-ratio:4/3;background:#f5f5f5;
}
.yq-demo-note{
  margin:0;font-size:11px;color:#a1a1aa;flex:1;min-width:0;text-align:left;line-height:1.4;
}
.yq-demo-foot{
  width:100%;padding:14px 16px;flex-shrink:0;min-height:0;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:#fff;border-top:1px solid #f0f0f0;
  border-radius:0 0 16px 16px;
}
.yq-demo-foot-actions{
  display:flex;align-items:center;gap:12px;flex-shrink:0;margin-left:auto;
}
.yq-demo-foot-user{
  display:flex;align-items:center;gap:10px;
}
.yq-demo-foot-link{
  display:inline-flex;align-items:center;gap:4px;
  border:none;background:transparent;padding:0;
  font-size:11px;color:#a1a1aa;cursor:pointer;line-height:1.4;
}
.yq-demo-foot-link:hover{color:#6366f1}
.yq-demo-foot-link--primary{color:#6366f1;font-weight:500}
.yq-demo-foot-link--primary:hover{color:#4f46e5}
.yq-demo-foot-ico{flex-shrink:0;display:block}
.yq-demo-foot-sep{
  width:1px;height:14px;background:#e5e7eb;flex-shrink:0;
}
.yq-demo-foot .yq-demo-btn-admin{margin:0}
.yq-demo-btn-admin{
  color:#6366f1;font-weight:600;background:transparent;border:1px solid #c7d2fe;
  padding:4px 10px;border-radius:8px;cursor:pointer;font-size:11px;line-height:1.4;
}
.yq-demo-btn-admin:hover{background:#eef2ff}
.yq-demo-empty{
  display:flex;align-items:center;justify-content:center;
  min-height:min(44vh,360px);
  color:#a3a3a3;font-size:13px;text-align:center;padding:28px 20px;
}
.yq-demo-empty-tip{margin:0;color:#737373;line-height:1.6}
.yq-demo-inner--replace .yq-demo-col img{aspect-ratio:4/3}
/* 效果演示 · 由前 showcase（左预览 + 款式 + 右主图） */
.yq-demo-inner--showcase{
  display:grid;grid-template-columns:minmax(0,.34fr) minmax(0,1fr);
  gap:16px;align-items:stretch;
}
.yq-demo-side{display:flex;flex-direction:column;gap:10px;min-width:0}
.yq-demo-mini{
  flex:1;min-height:0;display:flex;align-items:center;justify-content:center;
  padding:10px;background:#fafafa;border:1px solid #ebebeb;border-radius:14px;
}
.yq-demo-mini-frame{
  width:100%;max-width:220px;border-radius:12px;overflow:hidden;
  background:#fff;border:1px solid #e5e5e5;box-shadow:0 4px 18px rgba(0,0,0,.06);
}
.yq-demo-mini-frame img,.yq-demo-mini-frame video{
  width:100%;display:block;aspect-ratio:3/4;object-fit:cover;background:#f5f5f5;
}
.yq-demo-styles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.yq-demo-style{
  position:relative;border:2px solid #e5e5e5;border-radius:10px;overflow:hidden;
  background:#f5f5f5;cursor:pointer;padding:0;aspect-ratio:1;
}
.yq-demo-style.on{border-color:#6366f1;box-shadow:0 0 0 1px rgba(99,102,241,.25)}
.yq-demo-style img,.yq-demo-style video{width:100%;height:100%;object-fit:cover;display:block}
.yq-demo-style-ph{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  font-size:10px;color:#a3a3a3;background:#f5f5f5;
}
.yq-demo-stage{min-width:0;display:flex;flex-direction:column}
.yq-demo-stage .yq-demo-inner--hero{flex:1;min-height:0}
.yq-demo-main video,.yq-demo-grid video,.yq-demo-col video{
  width:100%;height:min(54vh,460px);max-height:min(54vh,460px);
  border-radius:12px;display:block;object-fit:cover;aspect-ratio:4/3;background:#111;
}
.yq-demo-grid video{height:100%;max-height:none;border-radius:10px}
.yq-demo-media-badge{
  position:absolute;right:6px;bottom:6px;z-index:2;
  font-size:9px;font-weight:600;color:#fff;background:rgba(0,0,0,.55);
  padding:2px 6px;border-radius:999px;pointer-events:none;
}
.sc-admin-upload-box video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mp-showcase-item video{width:100%;height:100%;object-fit:cover;display:block}
.tool-demo-variant-block{
  grid-column:1/-1;border:1px dashed #e5e7eb;border-radius:10px;padding:10px;margin-top:4px;
}
.tool-demo-variant-block h5{margin:0 0 8px;font-size:12px;color:#525252;font-weight:600}
.tool-demo-variant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.upload-mask-hint{margin-top:8px;margin-bottom:0}
.upload-preview-wrap{position:relative}
.upload-preview-wrap.has-edit-mask .upload-preview{cursor:pointer}
.upload-mask-preview{
  position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;z-index:1;
}
.upload-edit-mask-hover{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.4);color:#fff;font-size:13px;font-weight:500;
  opacity:0;transition:opacity .15s;pointer-events:none;z-index:2;text-align:center;padding:8px;
}
.upload-preview-wrap.has-edit-mask:hover .upload-edit-mask-hover{opacity:1}
.upload-edit-mask-foot{margin-top:8px}
.upload-edit-mask-foot .upload-action-btn{flex:1}
.upload-action-row .upload-action-btn:disabled,
.upload-action-row .upload-hist-link:disabled,
.upload-action-row .upload-continue-btn:disabled,
.upload-action-row .upload-continue-btn.hist-batch-btn:disabled{
  opacity:.45;cursor:not-allowed;background:#f8fafc;color:#94a3b8;border-color:#e8ecf0;
}
.ws-float-dock{
  position:absolute;left:50%;bottom:20px;transform:translateX(-50%);
  z-index:15;width:min(920px,calc(100% - 40px));
}
.ws-float-dock .ws-float-card{
  position:relative;left:auto;bottom:auto;transform:none;
  width:100%;margin:0;
  box-shadow:0 12px 40px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.06);
}
.ws-float-hint{
  font-size:12px;color:#a3a3a3;white-space:nowrap;
}
.ws-float-settings{
  border:none;background:transparent;color:#737373;font-size:12px;
  cursor:pointer;padding:4px 8px;border-radius:6px;
}
.ws-float-settings:hover{background:#f5f5f5;color:#171717}
.float-file-input{position:absolute;inset:0;opacity:0;cursor:pointer}

.detail-stream-panel{
  width:min(960px,100%);margin:0 auto;padding:12px 20px 8px;
  display:flex;flex-direction:column;flex:0 0 auto;
  align-items:center;
}
body.page-studio .detail-stream-panel.is-streaming .detail-stream-head{display:none}
body.page-studio .detail-stream-panel.is-streaming{padding:8px 20px 4px}
.detail-stream-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:12px;gap:12px;width:100%;
}
.detail-stream-head h3{
  margin:0;font-size:15px;font-weight:700;color:#171717;
}
.detail-stream-progress{
  font-size:12px;color:#737373;
}
.detail-stream-grid{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;
  gap:10px;width:100%;
}
.detail-stream-item{
  position:relative;border-radius:12px;overflow:hidden;
  background:#ececec;border:none;
  aspect-ratio:3/4;
  width:min(320px,calc((100% - 20px) / 3));
  min-width:140px;max-width:100%;
  flex:0 1 auto;
  isolation:isolate;
}
.detail-stream-grid:has(.detail-stream-item:only-child) .detail-stream-item{
  width:min(320px,72vw);
}
.detail-stream-preview{
  position:absolute;inset:0;
  display:block;width:100%;height:100%;padding:0;border:none;background:transparent;
  cursor:zoom-in;line-height:0;overflow:hidden;border-radius:inherit;
}
.detail-stream-item img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  display:block;border-radius:inherit;
  transform:translateZ(0);
}
.detail-stream-item.is-done{
  background:#e5e5e5;
}
.detail-stream-item.is-loading{
  background:linear-gradient(110deg,#f5f5f5 8%,#ececec 18%,#f5f5f5 33%);
  background-size:200% 100%;animation:stream-shimmer 1.2s linear infinite;
}
.detail-stream-item.is-loading::after{
  content:attr(data-label);position:absolute;inset:auto 0 0 0;
  padding:8px 6px;font-size:10px;color:#737373;text-align:center;
  background:linear-gradient(transparent,rgba(255,255,255,.92));
}
.detail-stream-item.is-done .detail-stream-lbl{
  position:absolute;left:0;right:0;bottom:0;padding:6px 8px;
  font-size:10px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.55));
}
.detail-stream-item.is-err{
  display:flex;align-items:center;justify-content:center;
  font-size:11px;color:#dc2626;padding:12px;text-align:center;
}
@keyframes stream-shimmer{
  to{background-position-x:-200%}
}
@media (prefers-reduced-motion:reduce){
  body.page-studio .gen-queue .gen-job-pending .gen-job-img--pending::after,
  body.page-studio .gen-queue .gen-job-pending .gen-job-img--pending>img,
  body.page-studio .gen-queue .gen-job-pending .gen-job-ph,
  body.page-studio .gen-job-progress-fill::after{animation:none}
  body.page-studio .gen-queue .gen-job-pending .gen-job-img--pending>img{opacity:.5;filter:none}
}

@media(max-width:768px){
  body.page-studio #wbPanelWorkbench .yq-effect-demo{width:min(96%,100%)}
  .yq-demo-card{height:320px;min-height:320px}
  .yq-demo-inner--showcase{grid-template-columns:1fr;gap:12px}
  .yq-demo-mini{min-height:180px}
  .yq-demo-inner--hero{grid-template-columns:1fr;gap:10px}
  .yq-demo-main img,.yq-demo-grid{height:auto;max-height:340px}
  .yq-demo-col img{max-height:320px}
  .yq-demo-note{display:none!important}
  .ws-float-dock{width:calc(100% - 24px);bottom:12px}
}
.switch-row{
  display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;
  border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);
}
.switch-row--head{
  padding:0;gap:10px;min-height:0;margin-bottom:0;
  border:none;background:transparent;
}
.switch-row--head .switch-label{
  flex:1;font-size:13px;font-weight:500;line-height:1.4;min-width:0;
}
.switch-row--head .switch-actions{
  display:flex;align-items:center;gap:12px;flex-shrink:0;
}
.switch-row--head .switch-status{font-size:12px;color:var(--muted);white-space:nowrap}
.switch-label{font-size:12px;font-weight:600;flex:1}
.switch-status{font-size:11px;color:var(--muted)}
.switch-toggle{position:relative;width:36px;height:20px;flex-shrink:0}
.switch-toggle input{opacity:0;width:0;height:0}
.switch-slider{
  position:absolute;inset:0;background:#ddd;border-radius:20px;cursor:pointer;transition:.2s;
}
.switch-slider::before{
  content:'';position:absolute;width:16px;height:16px;left:2px;top:2px;
  background:#fff;border-radius:50%;transition:.2s;
}
.switch-toggle input:checked+.switch-slider{background:var(--text)}
.switch-toggle input:checked+.switch-slider::before{transform:translateX(16px)}
.switch-toggle input:disabled+.switch-slider{opacity:.45;cursor:not-allowed}
#ecomUiTipLayer.ecom-ui-tip-layer--flash{
  pointer-events:none;animation:ecomUiTipFlash .22s ease;
}
@keyframes ecomUiTipFlash{
  from{opacity:0;transform:translateY(6px) scale(.96)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.main-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.main-type-item{
  display:flex;align-items:center;justify-content:space-between;gap:6px;
  padding:8px 10px;border:1px solid #bfdbfe;border-radius:var(--radius-lg);background:#f0f9ff;
}
.main-type-name{font-size:12px;font-weight:500;color:var(--text)}
.main-type-count{
  border:none;background:transparent;font-size:12px;color:var(--text-2);
  cursor:pointer;padding:2px 4px;min-width:52px;text-align:right;
}
.model-thumb-row{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}
.model-thumb-pick{
  width:72px;border:2px solid var(--line);border-radius:var(--radius-lg);padding:0;
  background:var(--surface);cursor:pointer;overflow:hidden;text-align:center;
}
.model-thumb-pick.on{border-color:var(--accent)}
.model-thumb-pick img{width:100%;height:72px;object-fit:cover;display:block}
.model-thumb-ph{display:block;width:100%;height:72px;background:var(--surface-2)}
.model-thumb-name{display:block;font-size:10px;padding:4px 2px;color:var(--text-2);line-height:1.2}
.model-thumb-more{
  align-self:center;padding:0 12px;border:1px dashed var(--line-2);border-radius:var(--radius);
  background:var(--surface);font-size:12px;color:var(--muted);cursor:pointer;
}
.scene-tab{
  position:relative;z-index:1;
  flex:1;padding:5px 10px;border:none;border-radius:6px;
  background:transparent;font-size:12px;font-weight:500;color:var(--text-2);cursor:pointer;
  transition:color .15s,background .15s,box-shadow .15s;
}
.scene-tab.on{
  background:var(--accent);color:#fff;font-weight:600;
  box-shadow:0 1px 4px rgba(37,99,235,.32);
}
.scene-tab:hover:not(.on){background:rgba(255,255,255,.55);color:var(--text)}
.scene-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.scene-pick{
  aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--surface-2);font-size:10px;color:var(--text-2);cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px;
}
.scene-pick.on{border-color:var(--accent);border-style:dashed;background:var(--accent-soft);color:var(--accent)}
.theme-pick-panel{
  margin-top:2px;padding:12px;border:1px solid var(--line);border-radius:10px;
  background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%);
}
.theme-pick-panel-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin-bottom:10px;padding-bottom:8px;border-bottom:1px dashed var(--line-2);
}
.theme-pick-panel-title{font-size:12px;font-weight:600;color:var(--text)}
.theme-pick-panel-hint{font-size:10px;color:var(--muted);white-space:nowrap}
.theme-pick-panel-body{display:flex;flex-direction:column;gap:0}
.theme-pick-zone{margin-top:0;padding:0;border:none;border-radius:0;background:transparent}
.theme-pick-grid{margin-top:0}
.theme-pick{
  min-height:0;padding:0;border:none;border-radius:0;background:transparent;
  font:inherit;color:inherit;box-shadow:none;
}
.theme-pick:hover{border-color:transparent;background:transparent;color:inherit}
.theme-pick.on{border-color:transparent;background:transparent;color:inherit;box-shadow:none}
.theme-pick-name{display:block}
.scene-custom-panel{margin-top:4px}
.scene-custom-panel .upload-slot{margin-bottom:0}
.scene-x{font-size:14px;line-height:1}
.scene-name{text-align:center;line-height:1.2}
.model-select-row,.res-select-row{margin-bottom:0}
.field-row-item{margin-bottom:0}
.upload-slot .upload-zone{min-height:120px}
.upload-slot .upload-preview-wrap .upload-preview{max-height:min(280px,42vh)}

/* 店铺风格（原品牌 Kit）v3 */
body.page-studio .brand-kit-trigger{
  display:inline-flex;align-items:center;gap:6px;margin-left:6px;flex-shrink:0;
  min-height:var(--wb-tab-block-h,32px);height:var(--wb-tab-block-h,32px);
  padding:0 var(--wb-tab-px,12px);border-radius:999px;box-sizing:border-box;
  border:1px solid var(--line,#e2e8f0);background:var(--surface,#fff);
  font-size:var(--wb-tab-fs,12px);font-weight:600;color:var(--text-2,#475569);
  line-height:1;white-space:nowrap;cursor:pointer;
  transition:border-color .15s,background .15s,color .15s,box-shadow .15s;
}
body.page-studio .brand-kit-trigger:hover{
  border-color:#cbd5e1;color:#1e293b;background:#f8fafc;
}
body.page-studio .brand-kit-trigger.is-active{
  border-color:#c7d2fe;background:#fafbff;color:#312e81;
  box-shadow:0 0 0 3px rgba(99,102,241,.08);
}
body.page-studio .brand-kit-trigger-ico{
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  width:18px;height:18px;border-radius:5px;background:#0f172a;color:#fff;
  font-size:8px;font-weight:700;letter-spacing:.02em;
}
body.page-studio .brand-kit-trigger.is-active .brand-kit-trigger-ico{background:#4338ca}
body.page-studio .brand-kit-trigger-label{flex-shrink:0}
body.page-studio .brand-kit-trigger-shop{
  flex-shrink:0;max-width:56px;overflow:hidden;text-overflow:ellipsis;
  padding:1px 7px;border-radius:999px;background:#f1f5f9;
  font-size:10px;font-weight:600;color:#64748b;line-height:1.3;
}
body.page-studio .brand-kit-trigger.is-active .brand-kit-trigger-shop{
  background:#eef2ff;color:#4338ca;
}
body.page-studio .brand-kit-trigger.is-compact{
  padding:0 8px;gap:4px;min-width:var(--wb-tab-block-h,32px);
  justify-content:center;
}
body.page-studio .brand-kit-trigger.is-compact .brand-kit-trigger-label{display:none}
body.page-studio .brand-kit-trigger.is-paused{
  border-color:#fcd34d;background:#fffbeb;color:#92400e;
  box-shadow:0 0 0 3px rgba(251,191,36,.12);
}
body.page-studio .brand-kit-trigger.is-paused .brand-kit-trigger-ico{background:#b45309}
body.page-studio .brand-kit-trigger.is-paused .brand-kit-trigger-shop{
  background:#fef3c7;color:#b45309;
}
.brand-kit-trigger{
  display:inline-flex;align-items:center;gap:6px;margin-left:6px;
  min-height:32px;padding:0 12px;border-radius:999px;
  border:1px solid #e2e8f0;background:#fff;color:#475569;
  font-size:12px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;
}
.brand-kit-trigger-ico{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border-radius:5px;background:#0f172a;color:#fff;
  font-size:11px;font-weight:700;line-height:1;
}
.brand-kit-trigger-shop{
  max-width:56px;overflow:hidden;text-overflow:ellipsis;
  padding:1px 7px;border-radius:999px;background:#f1f5f9;
  font-size:10px;font-weight:600;color:#64748b;
}
.brand-kit-drawer{position:fixed;inset:0;z-index:12050;pointer-events:none}
.brand-kit-drawer.open{pointer-events:auto}
.brand-kit-drawer-mask{
  position:absolute;inset:0;z-index:0;background:rgba(15,23,42,.45);
  opacity:0;transition:opacity .2s;backdrop-filter:blur(2px);
}
.brand-kit-drawer.open .brand-kit-drawer-mask{opacity:1}
.brand-kit-drawer-panel{
  position:absolute;right:0;top:0;bottom:0;z-index:1;width:min(440px,94vw);
  background:#f8fafc;box-shadow:-16px 0 48px rgba(15,23,42,.16);
  transform:translateX(100%);transition:transform .24s cubic-bezier(.22,1,.36,1);
  display:flex;flex-direction:column;
}
.brand-kit-drawer.open .brand-kit-drawer-panel{transform:translateX(0)}
.brand-kit-drawer-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 16px 12px;background:#fff;color:#0f172a;
  border-bottom:1px solid #e2e8f0;flex-shrink:0;
}
.brand-kit-drawer-head-main{display:flex;align-items:center;gap:12px;min-width:0}
.brand-kit-drawer-titles{min-width:0}
.brand-kit-drawer-badge{
  flex-shrink:0;width:42px;height:42px;border-radius:10px;
  background:#0f172a;color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;font-weight:700;letter-spacing:0;line-height:1;
}
.brand-kit-drawer-head h3{margin:0;font-size:15px;font-weight:600;color:#0f172a;letter-spacing:-.01em;line-height:1.2}
.brand-kit-drawer-sub{margin:2px 0 0;font-size:11px;color:#64748b;line-height:1.4}
.brand-kit-drawer-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.brand-kit-drawer-pause{
  min-height:30px;padding:0 10px;border:1px solid #e2e8f0;border-radius:8px;
  background:#fff;font-size:11px;font-weight:600;color:#64748b;cursor:pointer;white-space:nowrap;
  transition:background .15s,border-color .15s,color .15s;
}
.brand-kit-drawer-pause:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}
.brand-kit-drawer-pause.is-paused{border-color:#fcd34d;background:#fffbeb;color:#b45309}
.brand-kit-drawer-pause:disabled{opacity:.45;cursor:not-allowed}
.brand-kit-drawer-close{
  flex-shrink:0;width:30px;height:30px;border:0;background:#f1f5f9;
  font-size:18px;line-height:1;color:#64748b;cursor:pointer;border-radius:8px;
}
.brand-kit-drawer-close:hover{background:#e2e8f0;color:#334155}
.brand-kit-drawer-body{
  flex:1;overflow:hidden;padding:0;
  display:flex;flex-direction:column;gap:0;
}
.bk-drawer-intro{
  flex-shrink:0;padding:12px 16px 0;
  display:flex;flex-direction:column;gap:10px;
}
.brand-kit-drawer-scroll{
  flex:1;overflow:auto;padding:12px 16px 14px;
  -webkit-overflow-scrolling:touch;
}
.brand-kit-drawer-foot{
  display:flex;gap:10px;padding:12px 16px 16px;border-top:1px solid #e2e8f0;background:#fff;
}
.bk-btn{
  flex:1;min-height:42px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;
  border:1px solid transparent;transition:background .15s,border-color .15s,color .15s,transform .1s;
}
.bk-btn:active{transform:scale(.99)}
.bk-btn-ghost{background:#fff;border-color:#e2e8f0;color:#475569}
.bk-btn-ghost:hover{background:#f8fafc;border-color:#cbd5e1}
.bk-btn-primary{background:#111827;border-color:#111827;color:#fff}
.bk-btn-primary:hover{background:#1f2937}

.bk-profile-bar{
  padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;
}
.bk-profile-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.bk-profile-k{font-size:11px;font-weight:600;color:#64748b;letter-spacing:.04em;text-transform:uppercase}
.bk-profile-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}
.bk-profile-tab{
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  padding:6px 12px;border:1px solid #e2e8f0;border-radius:999px;background:#f8fafc;
  font-size:11px;color:#475569;cursor:pointer;min-width:56px;max-width:88px;
}
.bk-profile-tab--edit{cursor:text;padding:4px 10px}
.bk-profile-tab:hover{border-color:#cbd5e1;background:#fff}
.bk-profile-tab.on{border-color:#4338ca;background:#eef2ff;color:#312e81;font-weight:600}
.bk-profile-tab--edit.on{
  border-color:#4338ca;background:#eef2ff;
  box-shadow:0 0 0 2px rgba(99,102,241,.12);
}
.bk-profile-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:72px}
.bk-profile-name-input{
  width:4.2em;max-width:72px;border:0;border-bottom:1px dashed #a5b4fc;
  background:transparent;font-size:11px;font-weight:600;color:#312e81;
  text-align:center;padding:2px 0;cursor:text;caret-color:#4338ca;
}
.bk-profile-name-input:focus{
  outline:none;border-bottom-color:#4338ca;border-bottom-style:solid;
  background:rgba(255,255,255,.75);
}
.bk-profile-name-input::placeholder{color:#a5b4fc;font-weight:500}
.bk-profile-tip{margin:6px 0 0;font-size:10px;line-height:1.35;color:#94a3b8}
.bk-profile-actions{display:flex;gap:6px;align-items:center}
.bk-profile-add,.bk-profile-del{
  padding:3px 8px;border-radius:6px;font-size:10px;cursor:pointer;border:1px solid #e2e8f0;background:#fff;color:#64748b;
}
.bk-profile-add:hover{border-color:#6366f1;color:#4338ca;background:#eef2ff}
.bk-profile-del:hover{border-color:#fca5a5;color:#b91c1c;background:#fef2f2}

.bk-summary{
  padding:12px 14px;border-radius:12px;background:#fff;border:1px solid #e2e8f0;
}
.bk-summary-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.bk-summary-badge{
  display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;
  background:#f1f5f9;color:#64748b;font-size:10px;font-weight:600;
}
.bk-summary-badge.is-on{background:#ecfdf5;color:#047857}
.bk-summary-badge.is-paused{background:#fffbeb;color:#b45309;border:1px solid #fcd34d}
.bk-summary.is-paused .bk-summary-text{opacity:.55}
.brand-kit-drawer.is-paused .bk-chip-group{opacity:.72}
.bk-summary-hint{font-size:10px;color:#94a3b8}
.bk-summary-text{margin:0;font-size:11px;line-height:1.55;color:#334155}

.bk-sticky-bar{
  flex-shrink:0;z-index:6;
  padding:8px 16px 10px;
  background:#f8fafc;
  border-bottom:1px solid #e2e8f0;
  box-shadow:0 4px 12px rgba(15,23,42,.04);
}
.bk-nav-hint{margin:6px 0 0;font-size:10px;line-height:1.35;color:#94a3b8;text-align:center}
.bk-nav{
  display:flex;gap:4px;padding:3px;border-radius:10px;background:#e8edf3;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.04);
}
.bk-nav-item{
  flex:1;min-width:0;padding:8px 6px;border:0;border-radius:8px;background:transparent;
  font-size:11px;font-weight:600;color:#64748b;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s;
}
.bk-nav-item:hover{color:#334155}
.bk-nav-item.on{background:#fff;color:#0f172a;box-shadow:0 1px 4px rgba(15,23,42,.1)}

.bk-tab-panels{display:flex;flex-direction:column}
.bk-panel{display:flex;flex-direction:column;gap:14px}
.bk-field{display:flex;flex-direction:column;gap:8px}
.bk-field-head{display:flex;align-items:center;justify-content:space-between}
.bk-field-label{font-size:12px;color:#0f172a;font-weight:600}
.bk-field-help{margin:0;font-size:11px;line-height:1.45;color:#94a3b8}
.bk-input,.bk-textarea,.bk-field input,.bk-field textarea{
  width:100%;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:10px;
  padding:10px 12px;font-size:13px;background:#fff;color:#1e293b;
}
.bk-input:focus,.bk-textarea:focus,.bk-field input:focus,.bk-field textarea:focus{
  outline:none;border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.1);
}
.bk-textarea{resize:vertical;min-height:96px;line-height:1.5}

.bk-chip-group{display:flex;flex-direction:column;gap:6px}
.bk-chip-group--palette{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.bk-chip-group--platform{display:flex;flex-direction:column;gap:6px}
.bk-chip-group--platform .bk-chip{align-items:center;min-height:52px}
.bk-chip-group--platform .bk-chip-body{
  flex-direction:row;align-items:center;justify-content:space-between;gap:12px;
}
.bk-chip-group--platform .bk-chip-name{white-space:nowrap}
.bk-chip-group--platform .bk-chip-desc{
  text-align:right;white-space:nowrap;color:#94a3b8;flex-shrink:0;
}
.bk-chip{
  display:flex;align-items:center;gap:10px;width:100%;
  padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;
  text-align:left;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;
}
.bk-chip:hover{border-color:#cbd5e1;background:#fafbfc}
.bk-chip.on{
  border-color:#4338ca;background:#f5f3ff;
  box-shadow:inset 0 0 0 1px rgba(67,56,202,.35);
}
.bk-chip-check{
  flex-shrink:0;width:16px;height:16px;border-radius:50%;border:1.5px solid #cbd5e1;background:#fff;
}
.bk-chip.on .bk-chip-check{
  border-color:#4338ca;background:#4338ca;
  box-shadow:inset 0 0 0 3px #fff;
}
.bk-chip-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.bk-chip-name{font-size:12px;font-weight:600;color:#0f172a;line-height:1.25}
.bk-chip-desc{font-size:10px;color:#64748b;line-height:1.35}
.bk-chip-swatches{display:flex;gap:3px;flex-shrink:0}
.bk-chip-swatches i{display:block;width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.08)}
.bk-chip-group--palette .bk-chip{flex-direction:column;align-items:flex-start;gap:8px;padding:10px}
.bk-chip-group--palette .bk-chip-check{display:none}
.bk-chip-group--palette .bk-chip-body{width:100%}
.style-scheme-panel{margin:0 0 10px;padding:10px 12px;border:1px solid #e8edf3;border-radius:12px;background:#fafbfc}
.style-scheme-head{display:flex;align-items:center;gap:6px;margin-bottom:8px;flex-wrap:wrap}
.style-scheme-k{font-size:12px;font-weight:600;color:#334155}
.style-scheme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.style-scheme-chip{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  padding:8px 10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;
  text-align:left;cursor:pointer;min-height:64px;
}
.style-scheme-chip:hover{border-color:#93c5fd;background:#f8fafc}
.style-scheme-chip.on{border-color:#6366f1;background:#eef2ff;box-shadow:inset 0 0 0 1px #6366f1}
.style-scheme-chip-name{font-size:12px;font-weight:600;color:#1e293b;line-height:1.2}
.style-scheme-chip-desc{font-size:10px;color:#64748b;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.style-scheme-chip-hint{
  font-size:10px;color:#94a3b8;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.wf-listing-pack-btn{
  margin-left:auto;padding:4px 10px;border:1px solid #c7d2fe;border-radius:999px;
  background:#eef2ff;color:#4338ca;font-size:11px;cursor:pointer;white-space:nowrap;
}
.wf-listing-pack-btn:hover{background:#e0e7ff}
.wf-listing-pack-cta{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;
  margin:0 0 8px;padding:10px 12px;border:1px solid #a5b4fc;border-radius:10px;
  background:linear-gradient(135deg,#eef2ff 0%,#f8fafc 100%);
  color:#3730a3;cursor:pointer;text-align:left;
  transition:border-color .15s,background .15s,box-shadow .15s;
}
.wf-listing-pack-cta:hover{
  border-color:#6366f1;background:linear-gradient(135deg,#e0e7ff 0%,#eef2ff 100%);
  box-shadow:0 2px 8px rgba(99,102,241,.12);
}
.wf-listing-pack-cta-title{font-size:12px;font-weight:700;line-height:1.3;color:#312e81}
.wf-listing-pack-cta-sub{font-size:10px;font-weight:500;color:#6366f1;line-height:1.35;letter-spacing:.02em}
.wf-mode-tip{
  display:flex;align-items:flex-start;gap:8px;margin:0 0 8px;padding:8px 10px;
  border-radius:8px;background:#fffbeb;border:1px solid #fde68a;
}
.wf-mode-tip-text{margin:0;flex:1;font-size:11px;color:#92400e;line-height:1.45}
.wf-mode-tip-dismiss{
  flex:0 0 auto;padding:2px 8px;border:none;border-radius:6px;background:transparent;
  font-size:10px;font-weight:600;color:#b45309;cursor:pointer;white-space:nowrap;
}
.wf-mode-tip-dismiss:hover{background:#fef3c7}
.wf-here-line{
  display:flex;align-items:baseline;gap:6px;margin:0 0 6px;padding:0 2px;
}
.wf-here-label{font-size:9px;font-weight:600;color:#a3a3a3;flex-shrink:0}
.wf-here-name{font-size:11px;font-weight:600;color:#525252;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wf-panel-sec{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin:0 0 6px;padding:0 2px;
}
.wf-panel-sec-label{font-size:10px;font-weight:700;color:#64748b;letter-spacing:.04em}
.wf-panel-sec-meta{font-size:10px;font-weight:600;color:#6366f1}
.wf-customize-btn--inline{
  display:inline-flex;align-items:center;gap:3px;padding:0;border:none;background:transparent;
  font-size:10px;color:#a3a3a3;cursor:pointer;
}
.wf-customize-btn--inline:hover{color:#525252}
.wf-progress-trigger-step{
  display:inline-flex;align-items:center;padding:1px 6px;margin-left:2px;
  border-radius:999px;background:#eef2ff;color:#4338ca;
  font-size:10px;font-weight:700;line-height:1.3;
}
.wf-listing-pack-badge{
  display:inline-flex;align-items:center;padding:2px 8px;margin-left:6px;
  border-radius:999px;background:#ecfdf5;color:#047857;font-size:10px;font-weight:600;
}
.wf-listing-pack-badge.is-active{background:#dbeafe;color:#1d4ed8}
.wf-listing-pack-status{padding:0 0 8px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;width:100%}
.wf-listing-pack-complete{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px;width:100%;padding:8px 10px;margin-bottom:8px;
  border-radius:10px;background:#ecfdf5;border:1px solid #a7f3d0;
}
.wf-listing-pack-complete-label{font-size:12px;font-weight:600;color:#047857;flex:1 1 auto}
.wf-listing-pack-complete-btn{
  padding:5px 10px;border-radius:8px;border:1px solid #6ee7b7;background:#fff;
  font-size:11px;color:#047857;cursor:pointer;white-space:nowrap;
}
.wf-listing-pack-complete-btn:hover{background:#d1fae5}
.wf-listing-pack-complete-dismiss{border-color:#cbd5e1;color:#64748b}
.wf-listing-pack-dialog--confirm{width:min(480px,100%)}
.wf-listing-pack-exit{
  margin-left:auto;padding:4px 10px;border:1px solid #fecaca;border-radius:999px;
  background:#fff;color:#b91c1c;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;
}
.wf-listing-pack-exit:hover{background:#fef2f2;border-color:#f87171}
.wf-listing-pack-btn.is-active{border-color:#6366f1;background:#eef2ff;color:#4338ca;box-shadow:inset 0 0 0 1px #a5b4fc}
.wf-progress-host--listing-pack .wf-progress-trigger{border-color:#a5b4fc}
.wf-progress-host--listing-pack .wf-pill.on{background:#eef2ff;border-color:#6366f1;color:#4338ca}
.wf-listing-pack-layer{
  position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:16px;
}
.wf-listing-pack-layer[hidden]{display:none!important}
.wf-listing-pack-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45)}
.wf-listing-pack-dialog{
  position:relative;z-index:1;width:min(460px,100%);background:#fff;border-radius:14px;
  box-shadow:0 20px 50px rgba(15,23,42,.18);padding:18px 18px 14px;
}
.wf-listing-pack-hd h3{margin:0 0 6px;font-size:16px;color:#0f172a}
.wf-listing-pack-sub{margin:0;font-size:12px;color:#64748b;line-height:1.45}
.wf-listing-pack-steps{
  margin:12px 0 0;padding:0 0 0 2px;list-style:none;display:flex;flex-direction:column;gap:8px;
}
.wf-listing-pack-step{display:flex;align-items:flex-start;gap:10px}
.wf-listing-pack-step-num{
  flex:0 0 22px;height:22px;border-radius:999px;background:#eef2ff;color:#4338ca;
  font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;
}
.wf-listing-pack-step-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.wf-listing-pack-step-name{font-size:12px;font-weight:600;color:#1e293b}
.wf-listing-pack-step-desc{font-size:11px;color:#64748b;line-height:1.35}
.wf-listing-pack-kit{
  margin-top:12px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;
}
.wf-listing-pack-kit-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.wf-listing-pack-kit-k{font-size:11px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.04em}
.wf-listing-pack-kit-badge{
  font-size:10px;padding:2px 8px;border-radius:999px;background:#f1f5f9;color:#64748b;
}
.wf-listing-pack-kit-badge.is-on{background:#ecfdf5;color:#047857}
.wf-listing-pack-kit-text{margin:0;font-size:11px;color:#475569;line-height:1.45}
.wf-listing-pack-kit-warn{
  margin-top:8px;padding:8px 10px;border-radius:8px;background:#fffbeb;color:#92400e;font-size:11px;line-height:1.4;
}
.wf-listing-pack-opt-label{margin:0 0 6px;font-size:11px;font-weight:600;color:#64748b}
.wf-listing-pack-options{display:flex;flex-direction:column;gap:10px;margin:14px 0 10px}
.wf-listing-pack-opt{
  display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;
  padding:12px 14px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;
  cursor:pointer;text-align:left;transition:border-color .15s,background .15s;
}
.wf-listing-pack-opt:hover{border-color:#c7d2fe;background:#eef2ff}
.wf-listing-pack-opt--primary{border-color:#a5b4fc;background:#eef2ff}
.wf-listing-pack-opt--suggested{box-shadow:inset 0 0 0 1px #6366f1}
.wf-listing-pack-opt-title{font-size:14px;font-weight:600;color:#1e293b}
.wf-listing-pack-opt-desc{font-size:12px;color:#64748b;line-height:1.4}
.wf-listing-pack-foot{display:flex;gap:8px;margin-top:4px}
.wf-listing-pack-kit-btn{
  flex:1;padding:8px 10px;border:1px solid #c7d2fe;border-radius:10px;background:#eef2ff;
  color:#4338ca;font-size:12px;font-weight:600;cursor:pointer;
}
.wf-listing-pack-kit-btn:hover{background:#e0e7ff}
.wf-listing-pack-cancel{
  flex:0 0 auto;padding:8px 14px;border:none;border-radius:10px;background:transparent;
  color:#64748b;font-size:13px;cursor:pointer;
}
.wf-listing-pack-cancel:hover{background:#f1f5f9}
body.wf-listing-pack-open{overflow:hidden}
.bk-panel-lead{margin:0 0 12px;font-size:12px;color:#64748b;line-height:1.45}
.bk-panel-footnote{margin:12px 0 0;font-size:11px;color:#94a3b8;line-height:1.4}
.bk-team-banner{
  margin:0 0 10px;padding:8px 10px;border-radius:10px;background:#eff6ff;color:#1d4ed8;
  font-size:11px;line-height:1.45;border:1px solid #bfdbfe;
}
.brand-kit-drawer.is-readonly .brand-kit-drawer-foot .bk-btn-primary:disabled{
  opacity:.72;cursor:not-allowed;background:#e2e8f0;color:#64748b;border-color:#cbd5e1;
}
.wf-listing-pack-pause{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;border-radius:10px;
  background:#fffbeb;border:1px solid #fde68a;
}
.wf-listing-pack-pause-label{font-size:11px;color:#92400e;font-weight:600}
.wf-listing-pack-pause-go{
  padding:4px 10px;border:1px solid #fbbf24;border-radius:999px;background:#fff;color:#b45309;
  font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;
}
.wf-listing-pack-pause-go:hover{background:#fef3c7}
.wf-listing-pack-pause-opt{
  display:flex;align-items:flex-start;gap:8px;margin:12px 0 0;padding:10px 12px;border-radius:10px;
  background:#f8fafc;border:1px solid #e2e8f0;cursor:pointer;
}
.wf-listing-pack-pause-opt input{margin-top:2px;flex:0 0 auto}
.wf-listing-pack-pause-opt-text{font-size:12px;color:#475569;line-height:1.45}

/* 主图类型 · 双列等宽网格（对齐由前） */
.main-type-grid--chips{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
}
.main-type-chip,.main-type-chip--off{
  width:100%;min-height:var(--ctrl-h);box-sizing:border-box;
  display:flex;align-items:center;border-radius:10px;
  font-size:12px;line-height:1.2;
}
.main-type-chip.on{
  justify-content:space-between;gap:4px;
  padding:0 8px 0 12px;
  border:1px solid #bfdbfe;background:#f0f7ff;
  color:#1e293b;cursor:pointer;
}
.main-type-chip.on .main-type-name{
  flex:1;min-width:0;font-weight:500;color:#1e293b;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;
}
.main-type-chip--off{
  justify-content:flex-start;padding:0 12px;
  border:1px solid #e5e7eb;background:#fff;
  color:#52525b;cursor:pointer;text-align:left;
  font:inherit;
}
.main-type-chip--off:hover{border-color:#93c5fd;background:#f8fafc;color:#1e293b}
/* 其他主图：同款布局，已选浅蓝框 / 未选灰框 */
.main-other-type-grid--chips .main-type-chip.main-type-chip--off,
.main-other-type-grid--chips .main-type-chip.on{
  justify-content:space-between;gap:4px;
  padding:0 8px 0 12px;
  cursor:pointer;
  display:flex;align-items:center;
}
.main-other-type-grid--chips .main-type-chip.main-type-chip--off{
  border:1px solid #e5e7eb;background:#fff;color:#52525b;
}
.main-other-type-grid--chips .main-type-chip.main-type-chip--off:hover{
  border-color:#d4d4d8;background:#f8fafc;
}
.main-other-type-grid--chips .main-type-chip.on{
  border:1px solid #bfdbfe;background:#f0f7ff;color:#1e293b;
}
.main-other-type-grid--chips .main-type-chip.main-type-chip--off .main-type-name,
.main-other-type-grid--chips .main-type-chip.on .main-type-name{
  flex:1;min-width:0;font-weight:500;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;
}
.main-other-type-grid--chips .main-type-chip.main-type-chip--off .main-type-name{color:#52525b}
.main-other-type-grid--chips .main-type-chip.on .main-type-name{color:#1e293b}
.main-type-chip .main-type-count{
  flex:0 0 auto;width:34px;max-width:34px;border:none;background-color:transparent;
  font-size:11px;cursor:pointer;color:#64748b;padding:0 10px 0 0;
  text-align:right;box-sizing:border-box;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right center;
  background-size:10px 10px;
}
/* chip 张数 · 紧凑自定义下拉 */
.ui-select--chip-count{
  position:relative;flex:0 0 auto;width:44px;max-width:44px;min-width:44px;
}
.ui-select--chip-count .ui-select-trigger{
  width:100%;height:24px;min-height:24px;padding:0 14px 0 0;
  border:none;border-radius:0;background:transparent;
  font-size:11px;color:#64748b;box-shadow:none;
}
.ui-select--chip-count .ui-select-label{
  flex:1;text-align:right;white-space:nowrap;overflow:visible;
}
.ui-select--chip-count .ui-select-chevron{
  right:0;width:10px;height:10px;color:#94a3b8;
}
.ui-select--chip-count.open .ui-select-trigger{border:none;box-shadow:none}
.ui-select--chip-count .ui-select-menu{
  min-width:56px;
  border:1px solid #e5e7eb;border-radius:8px;
  padding:4px;background:#fff;
}
.ui-select--chip-count .ui-select-menu-scroll{padding:0;overflow-y:auto;overflow-x:hidden}
.ui-select--chip-count .ui-select-option{
  padding:6px 10px;font-size:11px;line-height:1.2;border-radius:6px;min-height:0;
  white-space:nowrap;text-align:center;
}
.ui-select--chip-count .ui-select-option.on{background:#f0f7ff;color:#2563eb;font-weight:500}
.ui-select--chip-count .ui-select-option:hover{background:#f8fafc}
.ui-select.ui-select--chip-count.open .ui-select-trigger{
  border:none;background:transparent;box-shadow:none;
}
.ui-select.ui-select--chip-count .ui-select-menu{
  box-shadow:none;
}
.main-type-custom{
  width:100%;margin-top:10px;padding:10px 12px;border:1px dashed #d4d4d8;
  border-radius:10px;font-size:12px;line-height:1.5;background:var(--surface);color:#a1a1aa;
  box-sizing:border-box;resize:none;overflow:hidden;
  white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;field-sizing:content;
  font-family:inherit;
}
.main-other-types-field{margin-top:4px}

/* 模特画廊 */
.model-scene-custom-panel{margin-top:4px}
.model-scene-custom-panel .upload-slot{margin-bottom:0}
.model-scene-custom-panel .collapsible-field{margin-top:12px}
.model-filter-row{display:flex;gap:6px;margin-bottom:10px}
.model-filter,
.config-panel .field select{
  display:block;
}
.model-filter{
  flex:1;height:var(--ctrl-h);padding:0 24px 0 8px;border:1px solid var(--line);border-radius:var(--radius);
  font-size:11px;background-color:var(--surface);color:var(--text);
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 6px center;
}
.model-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.model-gallery-pick{
  border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);
  padding:0;cursor:pointer;overflow:hidden;text-align:center;aspect-ratio:3/4;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  position:relative;
}
.model-gallery-pick.on{border-color:var(--accent);border-width:2px}
.model-gallery-pick[data-model-id=""]{flex-direction:column}
.model-gallery-media{
  position:relative;width:100%;height:100%;flex:1;display:flex;flex-direction:column;overflow:hidden;
}
.model-gallery-pick img{width:100%;height:100%;object-fit:cover;flex:1;display:block}
.model-gallery-ph{flex:1;width:100%;background:var(--surface-2)}
.model-gallery-hover{
  position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;
  background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.58));
  opacity:0;transition:opacity .15s;pointer-events:none;
}
.model-gallery-pick:not([data-model-id=""]):hover .model-gallery-hover,
.model-gallery-pick:not([data-model-id=""]):focus-within .model-gallery-hover{
  opacity:1;pointer-events:auto;
}
.model-gallery-hover-bar{
  display:flex;align-items:center;justify-content:space-between;gap:4px;
  padding:6px 5px 5px;
}
.model-gallery-name{
  font-size:10px;line-height:1.2;color:#fff;flex:1;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;
}
.model-gallery-preview{
  flex-shrink:0;width:22px;height:22px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.92);color:var(--text);
  cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.15);
}
.model-gallery-preview:hover{background:#fff}
.model-gallery-preview svg{display:block}
.model-gallery-more{
  aspect-ratio:3/4;border:1px dashed var(--line-2);border-radius:var(--radius);
  background:var(--surface);font-size:11px;color:var(--muted);cursor:pointer;
}

/* 高级设定折叠栏 */
.adv-bar{margin:12px 0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line)}
.adv-bar-head{
  display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--surface-2);font-size:12px;
}
.adv-bar-head--dark{background:#1a1a1a;color:#fff}
.adv-bar-head--dark .adv-bar-toggle{color:#ccc;background:transparent;border:none}
.adv-bar-title{font-weight:600;flex:1}
.adv-bar-skip{color:var(--muted);font-size:11px}
.adv-bar-tag{
  font-size:10px;padding:2px 8px;border-radius:4px;background:rgba(255,255,255,.15);color:#ccc;
}
.adv-bar-toggle{
  border:1px solid var(--line);background:var(--surface);border-radius:6px;
  padding:0 8px;font-size:11px;color:var(--text-2);cursor:pointer;white-space:nowrap;
}
.adv-bar-body{padding:12px;background:var(--surface)}
.upload-collapse-bar .upload-collapse-head{align-items:flex-start;flex-wrap:nowrap;gap:10px}
.upload-collapse-bar .upload-collapse-meta{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.upload-collapse-bar .adv-bar-skip{font-size:10px;line-height:1.45;white-space:normal}
.upload-collapse-bar .upload-collapse-toggle{
  flex:0 0 auto;position:relative;z-index:2;align-self:center;
  min-width:84px;padding:0 10px;text-align:center;cursor:pointer;
}
.upload-collapse-bar .upload-collapse-toggle .adv-arrow{pointer-events:none}
.outfit-styling-bar,.outfit-styling-result{
  margin:10px 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);
}
.outfit-styling-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px}
.outfit-styling-status{color:var(--muted);font-size:11px;margin-left:auto}
.outfit-styling-body{font-size:11px;line-height:1.55;color:var(--text-2)}
.outfit-styling-row{display:flex;gap:6px;margin-bottom:4px}
.outfit-styling-row b{flex:0 0 52px;color:var(--text);font-weight:600}
.outfit-styling-row span{flex:1}
.outfit-styling-prompt{margin-top:8px;padding:8px;background:#f8fafc;border-radius:6px;font-size:10px;color:var(--muted);word-break:break-word}
.outfit-styling-actions{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
.outfit-styling-actions .wb-btn{font-size:11px;padding:0 10px}
.outfit-styling-row--items{align-items:flex-start}
.ofl-plan-chips{display:flex;flex-wrap:wrap;gap:4px}
.ofl-plan-chip{display:inline-flex;padding:2px 8px;border-radius:999px;background:#f1f5f9;color:var(--text-2);font-size:10px}
.ofl-plan-chip.on{background:#dbeafe;color:#1d4ed8;font-weight:600}

.outfit-flatlay-workbench{
  flex:1;display:flex;flex-direction:column;gap:8px;padding:10px 12px 12px;min-height:0;height:100%;overflow:hidden;
}
.ofl-wb-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;flex-shrink:0}
.ofl-wb-title-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ofl-wb-status{font-size:11px;color:var(--muted);transition:color .25s ease}
.ofl-wb-status.is-busy{color:#2563eb;animation:oflStatusPulse 1.4s ease-in-out infinite}
.ofl-mode-row{display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0}
.ofl-mode-hint{margin:0;font-size:11px;color:var(--muted);line-height:1.45;flex-shrink:0}
.ofl-stage{
  position:relative;flex:1;display:flex;align-items:center;justify-content:center;
  min-height:min(520px,calc(100vh - 220px));background:linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%);
  border-radius:10px;border:1px solid var(--border);overflow:hidden;
}
.ofl-stage.is-busy .ofl-img{opacity:.35;filter:blur(1px);transform:scale(.985)}
.ofl-img{
  max-width:min(100%,760px);max-height:min(100%,calc(100vh - 200px));width:auto;height:auto;
  display:block;user-select:none;-webkit-user-drag:none;object-fit:contain;
  transition:opacity .35s ease,transform .45s ease,filter .35s ease;
}
.outfit-flatlay-workbench.is-ready .ofl-img{animation:oflImgReveal .45s ease both}
.ofl-overlay{position:absolute;pointer-events:none;z-index:2}
.ofl-loading-layer{
  position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;
  background:rgba(248,250,252,.55);opacity:0;pointer-events:none;transition:opacity .28s ease;
}
.outfit-flatlay-workbench.is-loading .ofl-loading-layer{opacity:1;pointer-events:auto}
.ofl-loading-shimmer{
  position:absolute;inset:0;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.55) 50%,transparent 62%);
  background-size:220% 100%;animation:oflShimmer 1.35s ease-in-out infinite;
}
.ofl-loading-core{display:flex;flex-direction:column;align-items:center;gap:10px;z-index:1}
.ofl-loading-spinner{
  width:28px;height:28px;border-radius:50%;border:2px solid rgba(37,99,235,.18);border-top-color:#2563eb;
  animation:oflSpin .75s linear infinite;
}
.ofl-loading-text{font-size:12px;color:#1e40af;font-weight:600;letter-spacing:.02em}
.outfit-flatlay-workbench.is-primary-mode .ofl-overlay{pointer-events:none}
.outfit-flatlay-workbench.is-primary-mode .ofl-stage{cursor:crosshair}
.ofl-box{
  position:absolute;border:2px solid rgba(59,130,246,.85);border-radius:4px;box-sizing:border-box;
  background:rgba(59,130,246,.08);pointer-events:auto;cursor:pointer;
  opacity:0;transform:scale(.96);animation:oflBoxIn .38s ease forwards;animation-delay:var(--ofl-delay,0ms);
}
.outfit-flatlay-workbench.is-ready .ofl-box{opacity:1}
.ofl-box.is-selected{border-color:#2563eb;background:rgba(37,99,235,.16);box-shadow:0 0 0 1px rgba(37,99,235,.35)}
.ofl-box.is-drawing,.ofl-box.is-user-draw{border-color:#f59e0b;background:rgba(245,158,11,.12);pointer-events:none;animation:none;opacity:1;transform:none}
.ofl-box-label{
  position:absolute;left:0;top:0;transform:translateY(-100%);padding:1px 6px;border-radius:4px 4px 0 0;
  background:rgba(37,99,235,.92);color:#fff;font-size:10px;line-height:1.4;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis;
}
.ofl-chips{
  display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0;max-height:88px;overflow-y:auto;padding:2px 0 4px;
  border-top:1px solid rgba(15,23,42,.06);padding-top:8px;
}
.ofl-chip{
  display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 10px;border-radius:8px;
  border:1px solid var(--border);background:#fff;color:var(--text);cursor:pointer;font-size:11px;line-height:1.3;
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.ofl-chip:hover{transform:translateY(-1px)}
.ofl-chip.on{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}
.ofl-chip-role{font-size:10px;color:var(--muted)}
.ofl-chip-name{font-weight:600}
@keyframes oflSpin{to{transform:rotate(360deg)}}
@keyframes oflShimmer{0%{background-position:120% 0}100%{background-position:-120% 0}}
@keyframes oflBoxIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@keyframes oflImgReveal{from{opacity:.2;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
@keyframes oflStatusPulse{0%,100%{opacity:1}50%{opacity:.55}}
body.studio-outfit-flatlay-active .wb-empty{display:none!important}
body.studio-outfit-flatlay-active #effectDemo{display:none!important}
body.studio-outfit-flatlay-active .yq-effect-demo{display:none!important}
.adv-input,.adv-textarea{
  width:100%;margin-top:8px;padding:9px 10px;border:1px solid var(--line);
  border-radius:var(--radius);font-size:12px;font-family:inherit;line-height:1.5;
  box-sizing:border-box;
}
.adv-textarea,.adv-input.auto-grow-textarea{
  min-height:38px;resize:none;overflow:hidden;
  white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;field-sizing:content;
}
.btn-split-layout{
  width:100%;padding:0 10px;border:1px dashed var(--line-2);border-radius:var(--radius-lg);
  background:var(--surface);font-size:12px;color:var(--text-2);cursor:pointer;margin-bottom:10px;
}
.btn-split-layout:hover{border-color:var(--accent);color:var(--accent)}
.tool-warn{
  display:flex;align-items:flex-start;gap:8px;padding:10px 12px;margin-top:10px;
  background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius-lg);
  font-size:11px;color:#92400e;line-height:1.5;
}
.tool-warn-ico{flex-shrink:0}
/* 服装套图 · 对齐由前 lookbook 左栏 */
.clothing-set-opts-panel{margin-top:4px}
.btn-split-layout--lookbook{
  display:flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid rgba(37,99,235,.35);background:#fff;color:var(--accent,#2563eb);
  font-weight:600;border-radius:12px;min-height:40px;
}
.btn-split-layout--lookbook:hover{background:#eff6ff;border-color:var(--accent,#2563eb)}
.btn-split-layout-ico{font-size:15px;line-height:1;opacity:.85}
.clothing-adv-bar{margin-top:4px}
.clothing-adv-body{padding:12px;background:var(--surface)}
.clothing-adv-body .upload-slot{margin-bottom:12px}
.upload-toolbar.upload-actions{
  justify-content:flex-start;padding:0;border-top:1px solid #eef2f6;padding-top:8px;margin-top:2px;
}
.upload-tool-btn{
  flex:0 0 auto;padding:0 10px;min-height:28px;border-radius:999px;
  border:1px solid var(--line,#e5e5e5);background:#fff;color:var(--text-2,#666);
  font-size:11px;cursor:pointer;transition:border-color .12s,color .12s,background .12s;
}
.upload-tool-btn:hover{border-color:#a3a3a3;color:var(--text)}
.upload-tool-btn--primary{
  border-color:rgba(37,99,235,.35);color:var(--accent,#2563eb);background:#f8fafc;
}
.upload-tool-btn--primary:hover{background:#eff6ff}
.hist-import-modal .hist-import-panel{
  display:flex;flex-direction:column;overflow:hidden;
}
.hist-import-head{
  flex-shrink:0;padding:16px 20px 14px;border-bottom:1px solid #eef2f6;background:#fff;
}
.hist-import-head-row{
  display:flex;align-items:center;gap:10px;
}
.hist-import-head-row h4{
  margin:0;flex:1;font-size:15px;font-weight:600;color:#0f172a;
}
.hist-import-head-row .ms-modal-close{
  position:static;flex-shrink:0;margin:0;
}
.hist-import-content{
  flex:1;min-height:0;display:grid;grid-template-columns:176px minmax(0,1fr);overflow:hidden;
}
.hist-import-content:not(:has(.hist-import-folders:not([hidden]))){grid-template-columns:minmax(0,1fr)}
.hist-import-content:not(:has(.hist-import-folders:not([hidden]))) .hist-import-main{grid-column:1}
.hist-import-main{
  grid-column:2;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;
}
.hist-import-toolbar{
  --hi-ctrl-h:32px;--hi-fs:12px;--hi-px:12px;--hi-r:10px;--hi-gap:8px;
  flex-shrink:0;display:flex;align-items:center;gap:var(--hi-gap);flex-wrap:wrap;
  padding:12px 20px;border-bottom:1px solid #f1f5f9;background:#fff;
}
.hist-import-toolbar .hist-seg{
  padding:2px;border-radius:var(--hi-r);height:var(--hi-ctrl-h);box-sizing:border-box;align-items:center;
}
.hist-import-toolbar .hist-seg button{
  height:calc(var(--hi-ctrl-h) - 4px);padding:0 var(--hi-px);font-size:var(--hi-fs);line-height:1;
  display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
}
.hist-import-toolbar .hist-seg:not(.hist-time-seg) button{border-radius:999px}
.hist-import-toolbar .hist-time-seg{
  border-radius:var(--hi-r);flex-wrap:nowrap;position:relative;margin-left:auto;
  padding-left:12px;
}
.hist-import-toolbar .hist-time-seg::before{
  content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:1px;height:18px;background:#e2e8f0;
}
.hist-import-toolbar .seg-indicator-host button.on{background:transparent;font-weight:600}
.hist-import-toolbar #histImportKindSeg.seg-indicator-host button.on{color:#fff}
.hist-import-toolbar #histImportRangeSeg.seg-indicator-host button.on{color:var(--text)}
.hist-import-count{font-size:11px;color:#94a3b8;white-space:nowrap}
.hist-import-shift-hint{font-size:11px;color:#94a3b8;white-space:nowrap}
.hist-import-foot-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hist-import-folders{
  grid-column:1;border-right:1px solid #eef2f6;background:#fff;
  padding:12px 12px 16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;
}
.hist-import-folders[hidden]{display:none!important}
.hist-import-folders-title{
  font-size:11px;font-weight:600;color:#94a3b8;padding:0 0 2px;letter-spacing:.02em;
}
.hist-import-folder-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.hist-import-folder-item{
  width:100%;display:flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:none;border-radius:8px;
  background:transparent;font-size:12px;color:#334155;cursor:pointer;text-align:left;
  transition:background .15s,color .15s;
}
.hist-import-folder-item:hover{background:#f1f5f9}
.hist-import-folder-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hist-import-folder-item em{margin-left:auto;font-size:11px;color:#94a3b8;font-style:normal;flex-shrink:0}
.hist-import-folder-item.on{background:#0f172a;color:#fff;font-weight:600}
.hist-import-folder-item.on:hover{background:#0f172a}
.hist-import-folder-item.on em{color:rgba(255,255,255,.72)}
.hist-import-body{
  flex:1;min-height:0;overflow-y:auto;padding:16px 20px 18px;background:#f8fafc;
}
.hist-import-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
@media (max-width:960px){.hist-import-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:720px){.hist-import-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.hist-import-item{
  position:relative;border:1px solid #e8edf3;border-radius:10px;background:#fff;padding:0;overflow:hidden;
  cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s;
  display:flex;flex-direction:column;
}
.hist-import-item:hover{border-color:#cbd5e1;box-shadow:0 4px 14px rgba(15,23,42,.06)}
.hist-import-thumb{
  width:100%;aspect-ratio:3/4;background:#f1f5f9;display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.hist-import-thumb img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.hist-import-item-meta{
  display:flex;flex-direction:column;gap:2px;padding:7px 8px 8px;min-width:0;background:#fff;
}
.hist-import-item-tool{font-size:10px;font-weight:600;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hist-import-item-time{font-size:10px;color:#94a3b8}
.hist-import-preview-btn{
  position:absolute;top:6px;right:6px;width:24px;height:24px;border:none;border-radius:999px;
  background:rgba(15,23,42,.52);color:#fff;display:flex;align-items:center;justify-content:center;
  opacity:0;transform:scale(.92);transition:opacity .15s,transform .15s,background .15s;cursor:pointer;
}
.hist-import-preview-btn:hover{background:rgba(15,23,42,.72)}
.hist-import-item:hover .hist-import-preview-btn,
.hist-import-item:focus-within .hist-import-preview-btn{opacity:1;transform:scale(1)}
.hist-import-check{
  position:absolute;top:6px;left:6px;width:18px;height:18px;border-radius:999px;background:var(--accent);color:#fff;
  font-size:11px;line-height:18px;text-align:center;opacity:0;transform:scale(.8);transition:opacity .15s,transform .15s;
}
.hist-import-item.on{border-color:var(--batch-sel-color);box-shadow:var(--batch-sel-ring)}
.hist-import-item.on .hist-import-check{opacity:1;transform:scale(1)}
.hist-import-empty,.hist-import-loading{
  min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  color:#94a3b8;font-size:13px;text-align:center;
}
.hist-import-empty p{margin:0;line-height:1.55;max-width:280px;color:#64748b}
.hist-import-foot{
  flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 20px 14px;border-top:1px solid #eef2f6;background:#fff;
}
.hist-import-selected{font-size:12px;color:#64748b}
.hist-import-foot-actions{display:flex;align-items:center;gap:8px}
.collapsible-field{margin:0 0 12px}
.collapsible-field-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;
}
.collapsible-field-head label{margin:0;font-size:12px;font-weight:600;color:var(--text-2)}
.collapsible-field-toggle{
  flex-shrink:0;border:none;background:transparent;color:var(--accent,#2563eb);
  font-size:12px;cursor:pointer;padding:2px 6px;
}
.collapsible-field-body .adv-input,
.collapsible-field-body .adv-textarea{margin-top:0;box-sizing:border-box}
.collapsible-field-body .collapsible-textarea,
.collapsible-field-body .collapsible-input{
  width:100%;padding:10px 12px;border:1px solid #ececec;border-radius:8px;
  background:#fafafa;font-size:13px;line-height:1.55;resize:none;overflow:hidden;
  field-sizing:content;
}
.collapsible-field-body .collapsible-textarea{min-height:40px}
.collapsible-field-body .collapsible-textarea:focus,
.collapsible-field-body .collapsible-input:focus{
  outline:none;border-color:rgba(37,99,235,.28);background:#fff;box-shadow:none;
}
.switch-row--field{margin-bottom:14px;border:none;padding:0}
.product-bg-mode .product-bg-switch{margin-bottom:6px}
.product-bg-mode .field-hint-sm{margin-top:0}
.pose-ratio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin-top:8px}
@media (min-width:720px){.pose-ratio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pose-ratio-item{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--border,#e8e8e8);border-radius:8px;background:#fff}
.pose-ratio-name{flex:1;font-size:12px;color:var(--text,#333)}
.pose-ratio-input{width:52px;padding:4px 6px;border:1px solid var(--border,#ddd);border-radius:6px;font-size:12px;text-align:right}
.pose-ratio-unit{font-size:11px;color:var(--muted,#888)}
.msg-bar{padding:8px 10px;border-radius:var(--radius);font-size:12px;display:none;margin-top:8px}
.msg-bar.err{display:block;background:#fef2f2;color:var(--err)}
.msg-bar.ok{display:block;background:#ecfdf5;color:var(--ok)}
.batch-list{max-height:100px;overflow:auto;margin-top:6px;font-size:12px}

/* 换模特 · 绘蛙式左栏 */
.model-swap-mode .seg-pill{font-size:11px}
.model-swap-mode{margin-bottom:0}
.ms-try-row{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
.ms-try-label{font-size:12px;color:var(--muted);flex-shrink:0}
.ms-try-thumbs{display:flex;gap:6px;flex-wrap:wrap}
.ms-try-thumb{
  width:44px;height:44px;border-radius:8px;overflow:hidden;border:1px solid var(--line);
  padding:0;cursor:pointer;background:var(--surface);flex-shrink:0;
}
.ms-try-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ms-try-thumb:hover{border-color:var(--accent)}
.model-swap-picks{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.ms-pick-row{
  display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;
  border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);
  cursor:pointer;text-align:left;transition:border-color .12s,box-shadow .12s;
}
.ms-pick-row:hover{border-color:#ccc;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.ms-pick-ico{
  width:36px;height:36px;border-radius:8px;background:var(--surface-2);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--muted);
  overflow:hidden;
}
.ms-pick-ico img{width:100%;height:100%;object-fit:cover;border-radius:8px}
.ms-pick-body{flex:1;min-width:0}
.ms-pick-title{display:block;font-size:13px;font-weight:600;color:var(--text)}
.ms-pick-sub{display:block;font-size:11px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-pick-preview{
  width:40px;height:40px;border-radius:8px;overflow:hidden;flex-shrink:0;
  border:1px solid var(--line);display:none;
}
.ms-pick-preview.has-img{display:block}
.ms-pick-preview img{width:100%;height:100%;object-fit:cover;display:block}
.ms-pick-preview--scene{background:linear-gradient(135deg,#f5f5f5,#e8e8e8);display:flex;align-items:center;justify-content:center}
.ms-scene-dot{width:14px;height:14px;border-radius:50%;background:var(--accent)}
.ms-pick-tag{
  flex-shrink:0;font-size:10px;padding:2px 6px;border-radius:4px;
  background:#fff7e6;color:#d46b08;border:1px solid #ffd591;
}
.ms-pick-arrow{font-size:18px;color:#ccc;line-height:1;flex-shrink:0}
.upload-zone--model{min-height:160px}
.upload-zone--model .upload-preview-wrap .upload-preview{max-height:min(320px,48vh)}
.ms-modal{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px}
.ms-modal-mask{position:absolute;inset:0;background:rgba(0,0,0,.45);transition:opacity var(--ecom-dur-modal) ease}
.ms-modal.ecom-motion-in .ms-modal-mask{opacity:0}
.ms-modal.ecom-motion-in.ecom-motion-visible .ms-modal-mask{opacity:1}
.ms-modal-panel{
  position:relative;width:min(720px,100%);max-height:min(80vh,640px);
  background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.18);
  display:flex;flex-direction:column;overflow:hidden;
  transition:opacity var(--ecom-dur-modal) var(--ecom-ease-out),transform var(--ecom-dur-modal) var(--ecom-ease-out);
}
.ms-modal.ecom-motion-in .ms-modal-panel{opacity:0;transform:translateY(14px) scale(.98)}
.ms-modal.ecom-motion-in.ecom-motion-visible .ms-modal-panel{opacity:1;transform:translateY(0) scale(1)}
.ms-modal-panel--sm{width:min(480px,100%)}
.reverse-prompt-panel{width:min(640px,100%)}
.rp-hub-modal{z-index:1300;padding:24px}
.rp-hub-panel{
  width:1260px;height:780px;max-width:96vw;max-height:92vh;
  display:flex;flex-direction:column;overflow:hidden;border-radius:16px;
}
.rp-hub-header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  padding:20px 24px 16px;border-bottom:1px solid #f0f0f0;flex-shrink:0;
}
.rp-hub-header .ms-modal-close{margin-top:2px}
.rp-hub-header-main{min-width:0}
.rp-hub-header h4{margin:0 0 4px;font-size:18px;font-weight:700;color:#111}
.rp-hub-intro{margin:0;font-size:13px;color:#737373;line-height:1.5}
.rp-hub-body{
  flex:1;min-height:0;padding:16px 22px 20px;overflow:hidden;
}
.rp-hub-layout{
  display:grid;grid-template-columns:minmax(390px,38%) 1fr;gap:20px;
  height:100%;min-height:0;
}
.rp-hub-aside{
  display:flex;flex-direction:column;min-height:0;overflow:hidden;
  padding:12px;background:#f8fafc;border:1px solid #eef2f7;border-radius:14px;
}
.rp-hub-main{
  display:flex;flex-direction:column;gap:12px;min-height:0;overflow:hidden;
}
.rp-modes-bar{flex-shrink:0;display:flex;flex-direction:column;gap:10px}
.rp-modes-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;
}
.rp-modes-head-title{margin-bottom:0;min-width:0}
.rp-custom-bar{flex-shrink:0}
.rp-custom-textarea{
  width:100%;min-height:52px;max-height:72px;padding:9px 12px;border:1px solid #e8ecf1;border-radius:10px;
  font-size:13px;line-height:1.5;resize:none;background:#fff;color:#333;box-sizing:border-box;
  transition:border-color .15s,box-shadow .15s;
}
.rp-custom-textarea::placeholder{color:#c4c4c4}
.rp-custom-textarea:focus{
  outline:none;border-color:#a3a3a3;box-shadow:0 0 0 3px rgba(0,0,0,.04);
}
.rp-start-btn{
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  height:34px;padding:0 18px;border:1px solid #262626;border-radius:999px;
  background:#262626;color:#fff;font-size:13px;font-weight:600;line-height:1;cursor:pointer;
  transition:background .15s,border-color .15s,opacity .15s;
}
.rp-start-btn:hover:not(:disabled){background:#404040;border-color:#404040}
.rp-start-btn:disabled{opacity:.38;cursor:not-allowed;background:#d4d4d4;border-color:#d4d4d4;color:#fff}
.rp-hub-result-area{flex:1;min-height:0;display:flex;flex-direction:column}
.rp-col-title{font-size:13px;font-weight:600;color:#404040;margin-bottom:8px;flex-shrink:0}
.rp-col-hint{font-weight:400;color:#a3a3a3;font-size:12px}
.rp-modal-image{
  position:relative;flex:1;min-height:0;border-radius:12px;border:1px dashed #cbd5e1;
  background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;
}
.rp-modal-image:hover{border-color:#a3a3a3;background:#fafafa}
.rp-modal-image.has-img{border-style:solid;border-color:#e2e8f0;background:#fff}
.rp-modal-image img{width:100%;height:100%;object-fit:contain;display:none;background:#fff}
.rp-modal-image-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  padding:24px;color:#94a3b8;font-size:13px;text-align:center;height:100%;
}
.rp-modal-image-sub{font-size:11px;color:#cbd5e1}
.rp-image-remove{display:none}
.rp-modal-image.has-img .rp-image-remove{display:flex}
.rp-mode-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;
}
.rp-mode-chip{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 11px;
  border:1px solid #e8ecf1;border-radius:10px;background:#fff;cursor:pointer;text-align:left;
  transition:border-color .15s,background .15s,box-shadow .15s;min-height:50px;
}
.rp-mode-chip:hover{border-color:#a3a3a3;background:#fafafa}
.rp-mode-chip.on{border-color:#262626;background:#f5f5f5;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.rp-mode-chip.on .rp-mode-chip-label{color:#171717}
.rp-mode-chip.loading{opacity:.6;pointer-events:none}
.rp-mode-chip-label{font-size:13px;font-weight:600;color:#171717;line-height:1.25}
.rp-mode-chip-desc{font-size:11px;color:#737373;line-height:1.25}
.rp-result-panel{
  flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid #e8ecf1;
  border-radius:12px;background:#fff;overflow:hidden;
}
.rp-result-empty{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  padding:20px;font-size:13px;color:#a3a3a3;text-align:center;
}
.rp-result-empty-ico{font-size:28px;line-height:1;color:#d4d4d4;font-weight:300}
.rp-result-notice{
  flex:1;display:none;flex-direction:column;align-items:center;justify-content:center;
  gap:12px;padding:28px 32px;text-align:center;
}
.rp-result-notice-text{margin:0;font-size:14px;line-height:1.6;max-width:420px}
.rp-result-notice--error .rp-result-notice-text{color:#dc2626}
.rp-result-notice--warn .rp-result-notice-text{color:#d97706}
.rp-result-notice--info .rp-result-notice-text{color:#525252}
.rp-result-notice .rp-result-tag{flex-shrink:0}
.rp-loading{
  flex:1;display:flex;align-items:center;justify-content:center;gap:10px;
  font-size:14px;color:#525252;
}
.rp-loading-dot{width:10px;height:10px;border-radius:50%;background:#525252;animation:rp-pulse 1s ease infinite}
@keyframes rp-pulse{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}
.rp-result{flex:1;min-height:0;display:none;flex-direction:column;padding:12px 16px 14px;overflow:hidden}
.rp-result-head{
  display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;
  gap:12px;margin-bottom:10px;flex-shrink:0;
}
.rp-result-tag{flex-shrink:0;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:#f5f5f5;color:#404040}
.rp-result-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}
.rp-act-btn{
  display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 12px;
  border-radius:8px;font-size:12px;font-weight:600;line-height:1;cursor:pointer;white-space:nowrap;
  transition:background .15s,border-color .15s,color .15s,box-shadow .15s;
}
.rp-act-btn--ghost{border:1px solid #e5e5e5;background:#fff;color:#525252}
.rp-act-btn--ghost:hover{border-color:#a3a3a3;color:#262626;background:#fafafa}
.rp-act-btn--primary{border:1px solid #111;background:#111;color:#fff}
.rp-act-btn--primary:hover{background:#000;border-color:#000}
.rp-act-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
.rp-result-scroll{flex:1;min-height:0;overflow-y:auto;padding-right:4px}
.rp-result-block{margin-bottom:12px}
.rp-result-block:last-child{margin-bottom:0}
.rp-result-label{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;
  font-size:13px;font-weight:600;color:#262626;margin-bottom:6px;
}
.rp-result-hint{font-size:11px;font-weight:400;color:#a3a3a3}
.rp-result-summary-box{
  padding:10px 12px;border:1px solid #e8e8e8;border-radius:10px;background:#fff;
  font-size:13px;line-height:1.55;color:#525252;
}
.rp-textarea{
  width:100%;padding:12px 14px;border:1px solid #e8e8e8;border-radius:10px;
  font-size:13px;line-height:1.55;resize:none;background:#fff;color:#333;box-sizing:border-box;
}
.rp-textarea--main{min-height:84px}
.rp-textarea--neg{min-height:56px;margin-top:0}
.wb-reverse-prompt-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  padding:var(--wb-tab-py) var(--wb-tab-px);
  border:1px solid #e5e5e5;border-radius:999px;background:#fff;color:#404040;
  font-size:var(--wb-tab-fs);font-weight:600;line-height:1;cursor:pointer;white-space:nowrap;
  transition:border-color .15s,background .15s,color .15s;
  position:relative;z-index:4;
}
.wb-reverse-prompt-btn > *{pointer-events:none}
.wb-reverse-prompt-btn:hover{border-color:#a3a3a3;color:#262626;background:#fafafa}
@media (max-width:1280px){
  .rp-hub-panel{width:96vw;height:min(780px,92vh)}
  .rp-hub-layout{grid-template-columns:minmax(320px,34%) 1fr;gap:16px}
}
@media (max-width:860px){
  .rp-hub-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr;overflow-y:auto}
  .rp-hub-aside{min-height:240px}
  .rp-hub-aside .rp-modal-image{min-height:200px;flex:none;height:220px}
  .rp-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.ms-modal-head{
  display:flex;align-items:center;gap:8px;
  padding:16px 18px 12px;border-bottom:1px solid #f0f0f0;flex-shrink:0;
}
.ms-modal-head h4{margin:0;font-size:16px;font-weight:600;flex:1;min-width:0}
.ms-modal-close{
  width:32px;height:32px;border:none;background:transparent;font-size:22px;
  color:#999;cursor:pointer;border-radius:8px;line-height:1;
}
.ms-modal-close:hover{background:#f5f5f5;color:#333}
.ms-modal-toolbar{padding:12px 18px;flex-shrink:0;border-bottom:1px solid #f0f0f0;background:#fafafa}
.ms-modal-search{
  width:100%;padding:9px 12px;border:1px solid #e5e5e5;border-radius:8px;
  font-size:13px;outline:none;
}
.ms-modal-search:focus{border-color:var(--accent)}
.ms-modal-body{flex:1;min-height:0;overflow-y:auto;padding:0 18px 18px;scrollbar-gutter:stable;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.ms-modal--plaza .ms-modal-body{padding:14px 18px 18px}
.ms-model-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;
}
@media(max-width:560px){.ms-model-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}
.ms-model-card{
  border:none;background:transparent;padding:0;cursor:pointer;text-align:center;
}
.ms-model-card-inner{
  border-radius:10px;overflow:hidden;border:2px solid transparent;
  transition:border-color .12s,box-shadow .12s;background:#f5f5f5;
}
.ms-model-card.on .ms-model-card-inner{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.ms-model-card:hover .ms-model-card-inner{box-shadow:0 4px 12px rgba(0,0,0,.08)}
.ms-model-card img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.ms-model-card-name{
  display:block;font-size:11px;color:#525252;margin-top:6px;line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ms-scene-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ms-scene-card{
  border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--surface);
  cursor:pointer;text-align:left;transition:border-color .12s;
}
.ms-scene-card.on{border-color:var(--accent);background:var(--accent-soft)}
.ms-scene-card-name{font-size:13px;font-weight:600;color:var(--text)}
.ms-scene-card-desc{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.4}
.model-pose-source{margin-bottom:10px}
.ms-pick-clear{
  flex-shrink:0;width:22px;height:22px;border:none;border-radius:50%;
  background:#fee2e2;color:#dc2626;font-size:14px;line-height:22px;text-align:center;
  cursor:pointer;padding:0;margin-right:2px;
}
.ms-pick-clear:hover{background:#fecaca}
/* 参考素材已选：清除按钮叠在右侧缩略图右上角（避免 button 嵌套被浏览器顶出） */
.ref-mat-pick-row{position:relative}
.ref-mat-pick-row .ms-pick-preview{position:relative}
.ref-mat-pick-row .ms-pick-clear{
  position:absolute;top:6px;right:6px;z-index:2;margin:0;
  display:none;align-items:center;justify-content:center;line-height:1;
  box-shadow:0 1px 4px rgba(0,0,0,.12);
}
.ms-pose-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:12px;
}
.ms-pose-card{
  border:1px solid var(--line);border-radius:12px;padding:0;background:var(--surface);
  cursor:pointer;text-align:left;overflow:hidden;transition:border-color .12s,box-shadow .12s;
}
.ms-pose-card.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.ms-pose-card:hover{box-shadow:0 4px 14px rgba(0,0,0,.08)}
.ms-pose-card-img{display:block;aspect-ratio:3/4;background:#f3f4f6;overflow:hidden}
.ms-pose-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.ms-pose-card-name{display:block;font-size:12px;font-weight:600;color:var(--text);padding:8px 8px 2px}
.ms-pose-card-tag{display:block;font-size:10px;color:var(--muted);padding:0 8px 8px}
.ms-pose-card-img{position:relative}
.ms-pose-card-admin{
  position:absolute;top:6px;left:6px;right:6px;display:flex;justify-content:space-between;
  opacity:0;transition:opacity .15s;z-index:2;pointer-events:none;
}
.ms-pose-card-img:hover .ms-pose-card-admin{opacity:1;pointer-events:auto}
.ms-pose-card-edit,.ms-pose-card-del{
  border:none;border-radius:6px;padding:3px 8px;font-size:10px;font-weight:500;cursor:pointer;
  box-shadow:0 1px 4px rgba(0,0,0,.15);
}
.ms-pose-card-edit{background:rgba(255,255,255,.95);color:#333}
.ms-pose-card-del{background:rgba(239,68,68,.95);color:#fff;width:22px;height:22px;padding:0;line-height:22px;text-align:center;font-size:14px}
.ms-pose-admin-bar{display:flex;align-items:center;flex-shrink:0}
.ms-pose-bg-switch{margin:8px 0 12px}
.ms-pose-picker-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px}
.ms-pose-bg-switch-modal{margin:0;flex:1;min-width:180px;padding:6px 10px}
.ref-material-field{margin-bottom:2px}
.ref-material-picks{display:flex;flex-direction:column;gap:8px}
.ref-material-field .ms-pick-row{margin:0}
.ref-mat-hidden{display:none}
.ref-mat-slot{margin-top:8px}
.ref-mat-slot--pose{margin-top:4px}
.ref-mat-pick-row{margin:0}
.ref-mat-split{
  display:flex;align-items:center;gap:8px;margin:10px 0 8px;color:var(--muted);font-size:11px;
}
.ref-mat-split-line{flex:1;height:1px;background:var(--line)}
.ref-mat-disclaimer{margin:6px 0 0;line-height:1.45;color:var(--muted)}
.ref-mat-picker-modal .ms-modal-body.ref-mat-picker-body{
  display:flex;
  flex-direction:column;
  min-height:0;
}
.ref-mat-picker-modal .ref-mat-picker-grid{
  margin-top:0;
  grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
}
.ref-mat-picker-modal .ref-mat-picker-grid .ms-pose-card{
  content-visibility:auto;
  contain-intrinsic-size:auto 220px;
  contain:layout style paint;
  cursor:default;
  min-width:0;
}
.ref-mat-picker-modal .ms-pose-card-name{
  display:block;
  padding:8px;
  margin:0;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ref-mat-picker-modal .ref-mat-card-preview{
  display:block;width:100%;padding:0;border:0;background:#f3f4f6;cursor:zoom-in;
  font:inherit;color:inherit;aspect-ratio:3/4;overflow:hidden;
}
.ref-mat-picker-modal .ref-mat-card-select{
  display:block;width:calc(100% - 16px);margin:6px 8px 10px;padding:6px 8px;
  border:1px solid var(--line);border-radius:8px;background:var(--surface-2);
  font-size:12px;font-weight:600;color:var(--text);cursor:pointer;text-align:center;
  transition:border-color .12s,background .12s,color .12s;
}
.ref-mat-picker-modal .ref-mat-card-select:hover{
  border-color:var(--accent);background:var(--accent);color:#fff;
}
.ref-mat-picker-modal .ms-pose-card.on .ref-mat-card-select{
  border-color:var(--accent);background:var(--accent);color:#fff;
}
.ref-mat-empty{
  display:flex;
  flex:1;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:48px 24px 40px;
  min-height:min(520px,60vh);
  box-sizing:border-box;
}
.ref-mat-empty-ico{
  width:56px;height:56px;border-radius:14px;
  background:var(--surface-2);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  color:var(--muted);margin-bottom:14px;
}
.ref-mat-empty-title{
  margin:0 0 6px;font-size:15px;font-weight:600;color:var(--text);
}
.ref-mat-empty-hint{
  margin:0;max-width:280px;font-size:13px;line-height:1.55;color:var(--muted);
}
.ref-mat-picker-foot{
  padding:12px 18px 14px !important;
  border-top:1px solid var(--line);
  background:var(--surface);
  text-align:center;
}
.ref-mat-picker-foot .ref-mat-disclaimer{
  margin:0;font-size:11px;line-height:1.55;color:var(--muted);
}
button.ms-pose-card{
  width:100%;padding:0;border:1px solid var(--line);background:var(--surface);
  font:inherit;color:inherit;text-align:left;
}

.workspace{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg);position:relative}
/* filter pop 定位在 workspace 内 */
.ws-toolbar{
  display:flex;align-items:center;gap:10px;padding:10px 20px;background:var(--surface);
  border-bottom:1px solid var(--line);flex-shrink:0;
}
.ws-dd,.ws-filter,.ws-search{
  padding:6px 12px;border:1px solid var(--line);border-radius:999px;font-size:12px;
  background:var(--surface);color:var(--text-2);display:inline-flex;align-items:center;gap:4px;
}
.ws-dd.on,.ws-filter.on{border-color:var(--select-border);color:var(--text);font-weight:500}
.ws-search{background:var(--surface-2);border-color:transparent;cursor:pointer}
.ws-filter-pop{
  position:absolute;right:20px;top:52px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-lg);box-shadow:0 8px 24px rgba(0,0,0,.08);padding:8px;z-index:20;min-width:160px;
}
.ws-filter-pop button{
  display:block;width:100%;text-align:left;padding:8px 12px;border:none;background:transparent;
  border-radius:var(--radius);font-size:13px;color:var(--text-2);cursor:pointer;
}
.ws-filter-pop button:hover{background:var(--surface-2)}
.ws-filter-pop button.on{background:var(--accent-soft);color:var(--accent);font-weight:600}
.ws-toolbar .spacer{flex:1}
.ws-canvas{flex:1;overflow-y:auto;padding:20px 24px 200px}
.ws-empty{max-width:320px;margin:15vh auto 0;text-align:center;color:var(--muted)}
.ws-empty .empty-ico{
  width:72px;height:72px;margin:0 auto 14px;border-radius:var(--radius-lg);background:var(--surface);
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--line-2);
}
.ws-empty p{font-size:14px;line-height:1.7}
.result-panel{max-width:760px;margin:0 auto}
.result-img{width:100%;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface)}
.result-actions{display:flex;gap:10px;margin-top:14px}
.result-actions a{flex:1;text-align:center;padding:10px;border:1px solid var(--line);border-radius:var(--radius);font-size:13px;background:var(--surface)}
.pack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.pack-item{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}
.pack-item img{width:100%;aspect-ratio:1;object-fit:cover}
.pack-lbl{padding:8px;font-size:12px;text-align:center}
.hist-list{max-width:640px;margin:0 auto}
.hist-row{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);align-items:center}
.hist-row img{width:52px;height:52px;object-fit:cover;border-radius:var(--radius)}
.hist-row .muted{font-size:12px;color:var(--muted)}

.ws-float-card{
  position:absolute;left:50%;bottom:24px;transform:translateX(-50%);width:min(560px,calc(100% - 48px));
  background:var(--surface);border:1px solid var(--line);border-radius:16px;
  box-shadow:0 8px 32px rgba(0,0,0,.08);z-index:10;overflow:hidden;
}
.ws-float-card--gen{width:min(920px,calc(100% - 48px))}
.ws-float-top{display:flex;gap:10px;padding:12px 14px 8px;align-items:flex-start}
.float-thumb{
  width:40px;height:40px;border:1px dashed var(--line-2);border-radius:8px;background:var(--surface-2);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;overflow:hidden;color:var(--muted);
}
.float-thumb.has-img{border-style:solid}
.float-thumb img{width:100%;height:100%;object-fit:cover}
.float-thumb input{position:absolute;inset:0;opacity:0;cursor:pointer}
.ws-float-top textarea{
  flex:1;border:none;outline:none;resize:none;font-size:14px;line-height:1.5;
  font-family:inherit;color:var(--text);min-height:44px;
}
.ws-float-bar{
  display:flex;align-items:center;justify-content:space-between;padding:8px 14px 12px;border-top:1px solid var(--line);
  flex-wrap:wrap;gap:10px;
}
.ws-float-bar--gen{padding:8px 16px 14px}
.ws-float-bar--gen .home-prompt-action{margin-left:auto}
.float-tool{font-size:13px;color:var(--text-2)}
.float-gen{
  padding:8px 20px;border:none;border-radius:999px;background:var(--text);color:#fff;
  font-size:13px;font-weight:600;
}
.float-gen:disabled{background:#e8e8e8;color:#aaa;cursor:not-allowed}
.ws-support{position:absolute;right:20px;bottom:24px;z-index:11;display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.sup-btn{
  background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 14px;
  font-size:12px;display:flex;align-items:center;gap:6px;box-shadow:0 4px 16px rgba(0,0,0,.06);
}
.sup-btn.icon-only{width:40px;height:40px;padding:0;justify-content:center;border-radius:8px}

.sel-hidden{
  display:none!important;
  position:absolute;width:1px;height:1px;margin:0;padding:0;border:0;
  opacity:0;visibility:hidden;pointer-events:none;
  clip:rect(0,0,0,0);clip-path:inset(50%);overflow:hidden;
  appearance:none;-webkit-appearance:none;background:none;background-image:none;
}

/* ═══ 首页 + 侧栏 ═══ */
/* Studio：左侧宽大操作区 + 右侧结果预览，工作流顶栏全宽 */
body.page-studio.studio-switching .studio-stage{
  pointer-events:none;
}
body.page-studio .config-panel--studio{
  overflow:hidden;min-height:0;
  display:flex;flex-direction:column;
}
body.page-studio .studio-tool-slide{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto auto;
  flex:1 1 0;min-height:0;overflow:hidden;
}
body.page-studio .studio-tool-slide .config-head{grid-row:1;min-height:0}
body.page-studio .studio-tool-slide .config-body{
  grid-row:2;min-height:0;overflow-x:hidden;overflow-y:auto;
}
body.page-studio .studio-tool-slide .config-status{grid-row:3}
body.page-studio .studio-tool-slide .config-footer{grid-row:4;flex-shrink:0}
@media (prefers-reduced-motion:reduce){
  .seg-slide-indicator{transition:none!important}
  .wb-panels-track,.studio-tool-slide,.studio-stage,.home-showcase-panel,
  .ms-modal-mask,.ms-modal-panel,.mp-preview-mask,.ecom-modal,
  .ui-select.open .ui-select-menu,.ui-select-menu--portaled,
  .ecom-reveal,.ecom-item-in,.home-hero,.home-prompt,.home-split-nav,.home-tools,.home-showcase,
  .hist-main,.home-main{
    transition:none!important;animation:none!important;
  }
  .ecom-reveal,.ecom-reveal.is-visible{opacity:1!important;transform:none!important;pointer-events:auto!important}
}
body.page-studio{
  --config-w:var(--studio-config-w);
  --studio-row-h:52px;
  --bg:var(--zone-workspace);
}
body.page-studio .studio-body{
  flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;
  background:var(--zone-workspace);
}
body.page-studio .side-brand{
  min-height:var(--studio-row-h);padding:0 10px;box-sizing:border-box;
  justify-content:center;
}
body.page-studio .side-brand .brand-logo{max-height:30px}
body.page-studio .wb-topbar{
  min-height:var(--studio-row-h);padding:0 20px;box-sizing:border-box;
}
body.page-studio .config-panel--studio .config-head{
  min-height:var(--studio-row-h);box-sizing:border-box;
  display:flex;flex-direction:column;justify-content:center;
  border-bottom:1px solid var(--line);
}
body.page-studio .config-panel--studio .config-status.is-visible{
  padding:0 24px 8px;background:#fff;
}
body.page-studio .config-panel--studio .config-footer{
  border-top:1px solid var(--line);
  box-shadow:none;
  background:#fff;
  padding:14px 24px max(18px, env(safe-area-inset-bottom, 0px));
}
body.page-studio .studio-stage{
  flex:1;min-height:0;display:flex;overflow:hidden;
}
body.page-studio .config-panel--studio{
  width:var(--config-w);min-width:var(--studio-config-min-w);max-width:var(--studio-config-max-w);
  flex-shrink:0;height:100%;min-height:0;overflow:hidden;
  border-right:1px solid var(--line);border-left:none;
  background:#fff;
  box-shadow:none;
  position:relative;z-index:2;
  display:flex;flex-direction:column;
}
body.page-studio .wb-workspace,
body.page-studio .workspace{
  flex:1;min-width:0;height:100%;
}
body.page-studio .icon-rail,
body.page-studio .side-nav{
  order:-1;flex-shrink:0;
  background:var(--surface);border-right:1px solid var(--line);box-shadow:none;
}
body.page-studio .wf-progress-host{background:var(--zone-workspace)}
body.page-studio .wf-progress-inner.wf-progress-inline{padding:5px 16px}
body.page-studio .wf-pill{font-size:11px;padding:4px 9px}
/* 顶部「常用工具 / 套图进度」按钮，悬停展开 */
body.page-studio .wf-progress-host.wf-progress-host--dock{
  position:relative;display:inline-flex!important;align-items:center;
  height:auto;border:none;background:transparent;
  pointer-events:auto;margin-left:6px;flex-shrink:0;
}
body.page-studio .wf-progress-trigger{
  display:inline-flex;align-items:center;gap:6px;
  min-height:var(--wb-tab-block-h);height:var(--wb-tab-block-h);
  padding:0 var(--wb-tab-px);border-radius:999px;box-sizing:border-box;
  border:1px solid var(--line);background:var(--surface);
  font-size:var(--wb-tab-fs);font-weight:600;color:var(--text-2);
  cursor:pointer;white-space:nowrap;line-height:1;
  transition:border-color .15s,background .15s,color .15s,box-shadow .15s;
}
body.page-studio .wb-topbar-main .wb-reverse-prompt-btn{
  min-height:var(--wb-tab-block-h);height:var(--wb-tab-block-h);
  padding:0 var(--wb-tab-px);box-sizing:border-box;
}
body.page-studio .wb-topbar-main .wb-reverse-prompt-btn{
  margin-left:6px;flex-shrink:0;
}
body.page-studio .wf-progress-trigger svg{flex-shrink:0;opacity:.75}
body.page-studio .wf-progress-trigger-chevron{font-size:10px;opacity:.45;margin-left:-2px}
body.page-studio .wf-progress-host--dock:hover .wf-progress-trigger,
body.page-studio .wf-progress-host--dock.wf-progress-host--open .wf-progress-trigger,
body.page-studio .wf-progress-host--hint .wf-progress-trigger{
  border-color:#86efac;color:#15803d;background:#f0fdf4;
  box-shadow:0 0 0 3px rgba(34,197,94,.12);
}
body.page-studio .wf-progress-host--listing-pack .wf-progress-trigger,
body.page-studio .wf-progress-host--listing-pack:hover .wf-progress-trigger,
body.page-studio .wf-progress-host--listing-pack.wf-progress-host--open .wf-progress-trigger{
  border-color:#a5b4fc;color:#4338ca;background:#eef2ff;
  box-shadow:0 0 0 3px rgba(99,102,241,.12);
}
body.page-studio .wf-progress-panel{
  position:absolute;top:100%;left:0;z-index:40;padding-top:8px;
  opacity:0;visibility:hidden;transform:translateY(-4px);pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;
}
@media (hover:hover) and (pointer:fine){
  body.page-studio .wf-progress-host--dock::after{
    content:"";position:absolute;left:0;right:0;top:100%;height:8px;
  }
  body.page-studio .wf-progress-panel::before{
    content:"";position:absolute;left:0;right:0;top:0;height:8px;
  }
}
body.page-studio .wf-progress-host--dock.wf-progress-host--open .wf-progress-panel{
  opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;
  transition:opacity .18s ease,transform .18s ease,visibility 0s;
}
body.page-studio .wf-progress-host--dock .wf-progress-inner{
  display:flex;flex-direction:column;gap:0;
  background:#fff;border:1px solid rgba(10,10,10,.08);border-radius:12px;
  box-shadow:0 10px 32px rgba(0,0,0,.1),0 2px 8px rgba(0,0,0,.04);
  padding:10px 10px 8px;margin:0;width:360px;max-width:min(92vw,360px);
}
body.page-studio .wf-progress-flow{
  display:flex;align-items:center;gap:6px;flex-wrap:nowrap;
  padding:5px 8px;margin:0 0 8px;
  background:#f8faf8;border:1px solid #eee;border-radius:8px;
}
body.page-studio .wf-progress-flow-cur{
  display:inline-flex;align-items:baseline;gap:4px;min-width:0;flex-shrink:1;
}
body.page-studio .wf-flow-label{font-size:9px;font-weight:600;color:#a3a3a3;line-height:1;flex-shrink:0}
body.page-studio .wf-flow-name{font-size:11px;font-weight:600;color:#525252;line-height:1.2}
body.page-studio .wf-progress-flow-cur .wf-flow-name{color:#15803d}
body.page-studio .wf-flow-arrow{font-size:10px;color:#d4d4d4;font-weight:400;flex-shrink:0;line-height:1}
body.page-studio .wf-flow-next-btn{
  display:inline-flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0;
  padding:4px 8px;border-radius:6px;background:#16a34a;color:#fff!important;
  text-decoration:none;transition:opacity .15s;line-height:1.2;
}
body.page-studio .wf-flow-next-btn:hover{opacity:.88}
body.page-studio .wf-flow-next-btn .wf-flow-label{color:rgba(255,255,255,.75);font-size:9px}
body.page-studio .wf-flow-next-btn .wf-flow-name{color:#fff;font-size:11px;font-weight:600}
body.page-studio .wf-flow-go{font-size:10px;font-weight:600;opacity:.85;margin-left:1px}
body.page-studio .wf-flow-done-btn{background:#16a34a;border:none}
body.page-studio .wf-progress-host--dock .wf-progress-track{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;
  max-height:168px;overflow-y:auto;overflow-x:hidden;
  padding:2px;scrollbar-width:thin;
}
body.page-studio .wf-progress-host--dock .wf-pill{
  display:flex;align-items:center;justify-content:center;
  min-height:30px;padding:4px 6px;border-radius:6px;
  font-size:11px;font-weight:500;text-align:center;line-height:1.25;
  border:1px solid #eee;background:#fafafa;color:#737373;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
body.page-studio .wf-progress-host--dock .wf-pill:hover{
  border-color:#d4d4d4;background:#fff;color:#525252;
}
body.page-studio .wf-progress-host--dock .wf-pill.done{
  background:#fafafa;border-color:#eee;color:#a3a3a3;
}
body.page-studio .wf-progress-host--dock .wf-pill.on{
  background:#16a34a;border-color:#16a34a;color:#fff;font-weight:600;
}
body.page-studio .wf-progress-host--dock .wf-progress-foot{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin-top:6px;padding-top:6px;border-top:1px solid #f0f0f0;
}
body.page-studio .wf-progress-host--dock .wf-progress-foot--solo{justify-content:flex-end}
body.page-studio .wf-progress-host--dock .wf-progress-actions{display:flex;align-items:center;min-width:0}
body.page-studio .wf-progress-host--dock .wf-nav-btn{
  font-size:10px;padding:2px 0;border:none;background:transparent;
  color:#a3a3a3;max-width:140px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
body.page-studio .wf-progress-host--dock .wf-nav-btn:hover{color:#525252;border:none}
body.page-studio .wf-progress-host--dock .wf-nav-prev{color:#a3a3a3}
body.page-studio .wf-progress-host--dock .wf-customize-btn{
  padding:2px 0;border:none;background:transparent;
  font-size:10px;color:#a3a3a3;margin-left:auto;flex-shrink:0;
}
body.page-studio .wf-progress-host--dock .wf-customize-btn:hover{
  color:#525252;border:none;background:transparent;
}
body.page-studio .wf-progress-hint{
  position:absolute;top:calc(100% + 6px);left:0;
  display:none;padding:8px 12px;border-radius:10px;
  background:#111;color:#fff;font-size:11px;font-weight:500;
  white-space:nowrap;box-shadow:0 4px 16px rgba(0,0,0,.2);
  z-index:41;pointer-events:none;
}
body.page-studio .wf-progress-hint::before{
  content:'';position:absolute;top:-4px;left:20px;
  width:8px;height:8px;background:#111;transform:rotate(45deg);
}
body.page-studio .wf-progress-host--hint .wf-progress-hint{
  display:block;animation:wfHintIn .35s ease;
}
body.page-studio .wf-progress-host--hint .wf-progress-trigger{
  animation:wfTriggerPulse 2s ease-in-out infinite;
}
body.page-studio .wf-progress-host--float{
  position:absolute;top:calc(var(--studio-row-h,52px) + 12px);left:16px;z-index:15;margin-left:0;
}
@keyframes wfHintIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@keyframes wfTriggerPulse{0%,100%{box-shadow:0 0 0 3px rgba(34,197,94,.12)}50%{box-shadow:0 0 0 6px rgba(34,197,94,.22)}}
body.page-studio .config-panel--studio .config-head{padding:0 24px}
body.page-studio .config-panel--studio .config-title-row{
  min-height:var(--ctrl-h);margin-bottom:0;align-items:center;
}
body.page-studio .config-panel--studio .config-title-row h2{font-size:16px;line-height:1.2}
body.page-studio .config-panel--studio .config-title-row .help-link{
  min-height:var(--ctrl-h);padding:0 6px;align-items:center;
}
body.page-studio .config-panel--studio .config-head > .seg-row,
body.page-studio .config-panel--studio .config-head > .switch-row{margin-top:10px;margin-bottom:0}
body.page-studio .config-panel--studio .config-head > .seg-row:last-child,
body.page-studio .config-panel--studio .config-head > .switch-row:last-child{margin-bottom:12px}
body.page-studio .config-panel--studio .config-head:has(#detailModeRow[style*="flex"]){
  min-height:auto;padding-top:14px;padding-bottom:16px;justify-content:flex-start;
}
body.page-studio .config-panel--studio .config-head:has(#detailModeRow[style*="flex"]) .config-title-row{margin-bottom:0}
body.page-studio .config-panel--studio .config-head:has(#detailModeRow[style*="flex"]) > #detailModeRow{margin-top:12px}
body.page-studio .config-panel--studio .config-head:has(#detailModeRow[style*="flex"]) > .switch-row--head{margin-top:12px;margin-bottom:0}
body.page-studio .config-panel--studio .config-body{
  --config-pad-x:24px;
  padding:16px calc(var(--config-pad-x) - var(--scrollbar-size)) 20px var(--config-pad-x);
}
body.page-studio .config-panel--studio .form-resolution-slot .resolution-field{margin-bottom:0}
body.page-studio .config-panel--studio .form-advanced-slot:not(:empty){margin:4px 0 14px}
body.page-studio .config-panel--studio .form-resolution-slot:not(:empty){margin-bottom:14px}
body.page-studio .config-panel--studio .form-resolution-slot:empty{display:none}
body.page-studio .studio-upload-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:4px;
}
body.page-studio .studio-upload-grid>.field,
body.page-studio .studio-upload-grid>.upload-slot,
body.page-studio .studio-upload-grid>.field-block{margin-bottom:0}
body.page-studio .studio-upload-grid #uploadField{grid-column:1/-1}
body.page-studio .studio-upload-grid #batchThumbs,
body.page-studio .studio-upload-grid .ms-try-row{grid-column:1/-1}
body.page-studio .config-panel--studio .upload-zone{min-height:140px}
body.page-studio .config-panel--studio .upload-slot .upload-zone{min-height:120px}
body.page-studio .config-panel--studio .textarea-wrap textarea{min-height:120px}
body.page-studio .config-panel--studio .model-swap-picks{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;
}
body.page-studio .config-panel--studio .ms-pick-row{margin:0}
body.page-studio .config-panel--studio .ms-pose-bg-switch,
body.page-studio .config-panel--studio #modelPoseSourceRow,
body.page-studio .config-panel--studio .model-pose-source{grid-column:1/-1}
body.page-studio.studio-form-aligned .config-panel--studio .config-body{
  --config-pad-x:28px;
  max-width:none;
  padding:18px calc(var(--config-pad-x) - var(--scrollbar-size)) 24px var(--config-pad-x);
}
/* 主上传区始终占满整行，避免右侧空一列 */
body.page-studio.studio-form-aligned .studio-upload-grid #uploadField{
  grid-column:1/-1;
}
body.page-studio .config-panel--studio .field-row:not(.detail-opts-grid){
  grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;
}
body.page-studio .config-panel--studio .detail-opts-panel .detail-opts-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
}
body.page-studio .config-panel--studio .btn-gen{
  padding:14px 20px;font-size:15px;border-radius:12px;
}
@media(max-width:1100px){
  body.page-studio .studio-upload-grid{grid-template-columns:1fr}
  body.page-studio .studio-upload-grid #uploadField{grid-column:1/-1}
  body.page-studio .config-panel--studio .model-swap-picks{grid-template-columns:1fr}
}
@media(max-width:900px){
  body.page-studio .studio-stage{flex-direction:column}
  body.page-studio .config-panel--studio{
    width:100%;max-width:none;min-width:0;
    flex:0 0 min(52dvh,520px);
    height:min(52dvh,520px);
    max-height:min(52dvh,520px);
    border-right:none;border-bottom:1px solid var(--line);
    box-shadow:none;
  }
  body.page-studio .wb-workspace{min-height:48vh}
}

.home-main{
  flex:1;overflow-y:auto;overflow-x:hidden;padding:0 0 80px;min-width:0;min-height:0;
  position:relative;isolation:isolate;
  overflow-anchor:none;
  background:linear-gradient(180deg,#fafafa 0%,#f3f4f6 42%,#f5f5f5 100%);
}
.home-main::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 54% 46% at 8% 6%, rgba(147,197,253,.2) 0%, transparent 58%),
    radial-gradient(ellipse 50% 40% at 92% 10%, rgba(253,186,116,.15) 0%, transparent 55%),
    radial-gradient(ellipse 58% 42% at 72% 78%, rgba(167,139,250,.12) 0%, transparent 56%),
    radial-gradient(ellipse 48% 36% at 18% 88%, rgba(110,231,183,.1) 0%, transparent 52%);
}
.home-main::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  opacity:.45;
  background-image:radial-gradient(circle,rgba(15,23,42,.05) .55px,transparent .55px);
  background-size:20px 20px;
  mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.4) 55%,transparent 100%);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.4) 55%,transparent 100%);
}
.home-main > *{position:relative;z-index:1}
body.page-home{
  background:#f3f4f6;--bg:transparent;
  /* 对齐由前AI：主内容区左右留白 · 顶栏输入区 2/3 居中 · 卡片区 50/50 */
  --home-pad-x:60px;
  --home-core-w:66.666%;
  --home-split-left:50fr;
  --home-split-right:50fr;
}
body.page-home .side-nav{position:sticky;top:0;height:100%;align-self:flex-start;min-height:0}
html.dark body.page-home{background:#0a0a0a}
html.dark .home-main{
  background:linear-gradient(180deg,#101010 0%,#0a0a0a 55%,#090909 100%);
}
html.dark .home-main::before{
  background:
    radial-gradient(ellipse 54% 46% at 8% 6%, rgba(59,130,246,.14) 0%, transparent 58%),
    radial-gradient(ellipse 50% 40% at 92% 10%, rgba(251,146,60,.1) 0%, transparent 55%),
    radial-gradient(ellipse 58% 42% at 72% 78%, rgba(139,92,246,.1) 0%, transparent 56%);
}
html.dark .home-main::after{
  opacity:.22;
  background-image:radial-gradient(circle,rgba(255,255,255,.06) .55px,transparent .55px);
}
.home-topbar{
  display:flex;justify-content:flex-end;align-items:center;flex-shrink:0;
  padding:var(--ecom-user-dock-gap, 12px) var(--home-pad-x, 60px) 0;
  position:relative;z-index:2;
}
body.page-home .home-topbar .ecom-user-dock,
body.page-studio.studio-home-active .home-topbar .ecom-user-dock{
  position:relative;top:auto;right:auto;height:44px;
  display:flex;align-items:center;padding:0;z-index:2;
}
.sidebar-home-links{display:flex;flex-direction:column;gap:1px;padding:0 0 4px}
body.studio-broker-active .studio-body,
body.studio-broker-active .wf-progress-host{display:none!important}
body.studio-home-active .studio-body,
body.studio-home-active .wf-progress-host{display:none!important}
/* Studio 内嵌首页：复用 page-home 布局变量与壳层样式 */
body.page-studio.studio-home-active,
body.page-studio.studio-home-active.page-home{
  background:#f3f4f6;--bg:transparent;
  --home-pad-x:60px;
  --home-core-w:66.666%;
  --home-split-left:50fr;
  --home-split-right:50fr;
  overflow:hidden;height:100%;font-family:var(--font);--scrollbar-size:2px;
}
body.page-studio.studio-home-active .studio-app.page-studio,
body.page-studio.studio-home-active .studio-app.page-home{
  min-height:100vh;height:100vh;max-height:100vh;overflow:hidden;background:transparent;
}
body.page-studio.studio-home-active .side-nav{
  position:sticky;top:0;height:100%;align-self:flex-start;min-height:0;
}
body.studio-home-active .home-tool-shell{
  display:contents!important;flex:1;min-width:0;min-height:0;overflow:hidden;
}
body.studio-home-active .home-tool-shell .home-main{
  flex:1;min-width:0;margin:0;max-width:none;min-height:100%;overflow-y:auto;
  padding:0 0 80px;
  background:linear-gradient(180deg,#fafafa 0%,#f3f4f6 42%,#f5f5f5 100%)!important;
}
html.dark body.page-studio.studio-home-active{background:#0a0a0a}
html.dark body.studio-home-active .home-tool-shell .home-main{
  background:linear-gradient(180deg,#101010 0%,#0a0a0a 55%,#090909 100%)!important;
}
body.page-studio.studio-home-active .home-prompt-opts .ui-select{
  width:auto;flex:0 0 auto;flex-shrink:0;min-width:0;max-width:none;
}
body.page-studio.studio-home-active .home-prompt-opts .ui-select-trigger{
  height:36px;padding:0 30px 0 14px;border-radius:999px;font-size:13px;
}
body.page-studio.studio-home-active .home-case-filters-bar .ui-select{
  width:auto;flex:0 0 auto;min-width:0;max-width:none;
}
body.page-studio.studio-home-active .home-case-filter-field .ui-select-label,
body.page-studio.studio-home-active .home-case-filter-field .ui-select-option-title{
  overflow:visible;text-overflow:clip;white-space:nowrap;
}
body.page-studio.studio-home-active .home-case-filter-field .ui-select-trigger{
  width:auto;max-width:none;
}
body.page-studio.studio-home-active .home-case-filter-field .ui-select-menu{
  min-width:100%;width:max-content;max-width:min(320px,calc(100vw - 32px));
}
/* Studio 内嵌商品视频：与 mockup 同壳（studio-stage 内切换），复用工作台动效 */

/* —— 左栏：与其它工具一致的 field 层级；仅保留视频域控件微调 —— */
body.page-studio.studio-video-active .video-style-hint,
body.page-studio.studio-video-active .video-veo-dur-hint{
  margin:8px 0 0;font-size:12px;line-height:1.5;color:var(--muted,#6b7280);
}
body.page-studio.studio-video-active .field-hint.video-style-hint,
body.page-studio.studio-video-active .field-hint.video-veo-dur-hint{
  margin:8px 0 0; /* 覆盖全局 .field-hint 负 margin，避免挤叠 */
}
body.page-studio.studio-video-active #videoStoryFields,
body.page-studio.studio-video-active #videoShotFields{
  margin-bottom:14px;
}
body.page-studio.studio-video-active #videoStoryFields > .seg-row,
body.page-studio.studio-video-active #videoShotFields > .seg-row{
  margin-bottom:0;
}
body.page-studio.studio-video-active .video-garment-row.seg-row--no-indicator .seg-pill.on{
  background:var(--accent);color:#fff;box-shadow:0 1px 4px rgba(37,99,235,.32);
}
body.page-studio.studio-video-active .video-sub-label{
  display:block;margin:12px 0 6px;font-size:12px;font-weight:600;color:var(--text-2,#52525b);
}
body.page-studio.studio-video-active .video-garment-row{
  flex-wrap:nowrap;align-items:stretch;gap:2px;margin-bottom:0;
}
body.page-studio.studio-video-active .video-garment-row .seg-pill{
  flex:1 1 0;min-width:0;min-height:0;height:auto;
  padding:6px 3px;font-size:12px;font-weight:500;line-height:1.2;
  writing-mode:horizontal-tb;text-orientation:mixed;
  white-space:normal;letter-spacing:0;
  display:flex !important;flex-direction:column;
  justify-content:flex-start;align-items:center;
  box-sizing:border-box;
}
body.page-studio.studio-video-active .video-garment-row .seg-pill .video-garment-ch{
  display:block;line-height:1.25;flex:0 0 auto;
}

/* —— 镜头脚本区 —— */
body.page-studio.studio-video-active .video-prompt-wrap{
  display:block;border-radius:10px;overflow:hidden;
  box-shadow:0 0 0 1px rgba(15,23,42,.08),0 1px 2px rgba(15,23,42,.04);
  transition:box-shadow var(--ecom-dur-fast) var(--ecom-ease-out);
}
body.page-studio.studio-video-active .video-prompt-wrap:focus-within{
  box-shadow:0 0 0 1px var(--accent,#2563eb),0 0 0 4px rgba(37,99,235,.12);
}
body.page-studio.studio-video-active .video-prompt-wrap textarea{
  padding:12px 14px;min-height:132px;border:none;border-radius:10px;
  background:#fafbfc;font-size:13px;line-height:1.65;resize:vertical;
}
body.page-studio.studio-video-active .video-prompt-wrap textarea:focus{
  outline:none;border:none;box-shadow:none;background:#fff;
}
body.page-studio.studio-video-active .video-prompt-actions{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  margin-top:10px;position:relative;z-index:2;
}
body.page-studio.studio-video-active .video-prompt-actions .opt-btn{
  position:relative;z-index:2;cursor:pointer;
  height:32px;padding:0 12px;border-radius:8px;font-size:12px;font-weight:550;
  border:1px solid var(--line,#e5e5e5);background:#fff;color:var(--text-2,#52525b);
  transition:border-color .15s,background .15s,color .15s,box-shadow .15s,transform .15s;
}
body.page-studio.studio-video-active .video-prompt-actions .opt-btn .ico,
body.page-studio.studio-video-active .video-prompt-actions .opt-btn svg{
  pointer-events:none;
}
body.page-studio.studio-video-active .video-prompt-actions .opt-btn.is-flash{
  border-color:rgba(37,99,235,.4);background:#eff6ff;color:#1d4ed8;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
body.page-studio.studio-video-active .video-prompt-msg.is-pop{
  animation:videoPromptMsgPop .35s ease;
}
@keyframes videoPromptMsgPop{
  0%{transform:translateY(2px);opacity:.35}
  100%{transform:translateY(0);opacity:1}
}
body.page-studio.studio-video-active .video-prompt-actions .opt-btn:hover:not(:disabled):not(.is-disabled){
  border-color:#c7c7cc;background:#fafafa;color:var(--text,#0a0a0a);
}
body.page-studio.studio-video-active .video-prompt-actions .opt-btn--accent{
  border-color:rgba(37,99,235,.28);color:var(--accent,#2563eb);background:#f8fbff;
}
body.page-studio.studio-video-active .video-prompt-actions .opt-btn--accent:hover:not(:disabled):not(.is-disabled){
  border-color:rgba(37,99,235,.45);background:var(--accent-soft,#eff6ff);
}
body.page-studio.studio-video-active .video-prompt-actions .opt-btn:disabled,
body.page-studio.studio-video-active .video-prompt-actions .opt-btn.is-disabled{
  opacity:.45;cursor:not-allowed;
}
body.page-studio.studio-video-active .video-prompt-actions .opt-btn.is-loading{
  pointer-events:auto;
}
body.page-studio.studio-video-active .video-prompt-msg{margin-top:8px}
body.page-studio.studio-video-active .video-scheme-row{margin-top:14px}
body.page-studio.studio-video-active .video-scheme-label{
  margin:0 0 10px;font-size:12px;font-weight:600;color:var(--text-2,#52525b);
  letter-spacing:.02em;
}
body.page-studio.studio-video-active .video-scheme-list{display:flex;flex-direction:column;gap:8px}
body.page-studio.studio-video-active .video-scheme-item{
  width:100%;display:flex;align-items:flex-start;gap:10px;
  text-align:left;padding:11px 12px;border:1px solid #e8e8ec;border-radius:10px;
  background:#fff;cursor:pointer;font:inherit;color:var(--text,#111);
  box-sizing:border-box;
  transition:border-color .15s,background .15s,box-shadow .15s,transform .15s;
}
body.page-studio.studio-video-active .video-scheme-item:hover{
  border-color:#c7d7f5;background:#f8fbff;
  transform:translateY(-1px);
}
body.page-studio.studio-video-active .video-scheme-item.on{
  border-color:var(--accent,#2563eb);background:linear-gradient(135deg,#f0f6ff 0%,#eff6ff 100%);
  box-shadow:0 0 0 1px rgba(37,99,235,.16),0 4px 12px rgba(37,99,235,.08);
}
body.page-studio.studio-video-active .video-scheme-item-index{
  flex:0 0 22px;width:22px;height:22px;margin-top:1px;border-radius:6px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;line-height:1;
  background:#f3f4f6;color:#6b7280;
}
body.page-studio.studio-video-active .video-scheme-item.on .video-scheme-item-index{
  background:var(--accent,#2563eb);color:#fff;
}
body.page-studio.studio-video-active .video-scheme-item-body{
  flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;text-align:left;
}
body.page-studio.studio-video-active .video-scheme-item-head{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;
}
body.page-studio.studio-video-active .video-scheme-item-badge{
  display:inline-flex;align-items:center;padding:1px 7px;border-radius:4px;
  font-size:10px;font-weight:600;line-height:1.5;flex-shrink:0;
  background:rgba(37,99,235,.08);color:#1d4ed8;
}
body.page-studio.studio-video-active .video-scheme-item-title{
  display:inline;font-size:13px;font-weight:600;color:#111827;line-height:1.35;
}
body.page-studio.studio-video-active .video-scheme-item-sub{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  font-size:12px;line-height:1.5;color:#6b7280;text-align:left;word-break:break-word;
}
body.page-studio.studio-video-active .video-scheme-item-check{
  flex:0 0 16px;width:16px;height:16px;margin-top:3px;border-radius:50%;
  border:1.5px solid #d1d5db;box-sizing:border-box;position:relative;
}
body.page-studio.studio-video-active .video-scheme-item.on .video-scheme-item-check{
  border-color:var(--accent,#2563eb);background:var(--accent,#2563eb);
}
body.page-studio.studio-video-active .video-scheme-item.on .video-scheme-item-check::after{
  content:'';position:absolute;left:4px;top:1px;width:5px;height:8px;
  border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);
}
body.page-studio.studio-video-active #videoStoryFields .video-style-hint{margin-top:10px}
body.page-studio.studio-video-active .video-style-row,
body.page-studio.studio-video-active .video-spec-row .seg-row{flex-wrap:wrap}
body.page-studio.studio-video-active .video-spec-row{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
}
body.page-studio.studio-video-active .video-spec-row.video-spec-row--veo{
  grid-template-columns:1fr;
}
body.page-studio.studio-video-active .video-veo-dur-hint,
body.page-video .video-veo-dur-hint{
  margin:8px 0 0;padding:8px 10px;border-radius:8px;
  font-size:12px;line-height:1.5;color:#475569;
  background:#f8fafc;border:1px solid #eef2f7;
}

/* —— 右侧成片预览台（固定 16:9 预览布局） —— */
body.page-studio.studio-video-active #videoWbPanelResults{
  background:
    radial-gradient(ellipse 70% 55% at 50% 42%,rgba(37,99,235,.04),transparent 72%),
    linear-gradient(180deg,#eef1f5 0%,var(--zone-workspace,#f0f2f5) 48%,#ebeff3 100%);
}
body.page-studio.studio-video-active #videoWbPanelResults.on{
  justify-content:center;
}
body.page-studio.studio-video-active .video-loading-panel,
body.page-studio.studio-video-active .video-result-single{
  width:min(1180px,100%);margin:0 auto;
}
body.page-studio.studio-video-active .video-result-area{
  width:100%;max-width:min(1180px,100%);margin:0 auto;
  padding:28px 24px 36px;
  display:flex;flex-direction:column;align-items:stretch;justify-content:center;
  box-sizing:border-box;
}
body.page-studio.studio-video-active .video-loading-card{
  background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:10px;overflow:hidden;
  box-shadow:0 1px 2px rgba(15,23,42,.04),0 12px 36px rgba(15,23,42,.07);
  padding:40px 28px;display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center;
}
body.page-studio.studio-video-active .video-loading-visual{
  width:min(100%,280px);padding:24px;border-radius:8px;
  background:linear-gradient(180deg,#f8fafc,#f1f5f9);border:1px solid #e8edf2;
}
body.page-studio.studio-video-active .video-loading-copy h3{
  margin:0 0 8px;font-size:17px;font-weight:700;letter-spacing:-.01em;
}
body.page-studio.studio-video-active .video-loading-copy p{
  font-size:13px;color:var(--muted,#6b7280);margin:0;line-height:1.55;
}

/* 成片卡片 · 浅色贴合工作台 */
body.page-studio.studio-video-active .video-cinema,
body.page-studio.studio-video-active .wb-result-card--video{
  width:100%;max-width:100%;margin:0 auto;
  background:#fff;border:1px solid rgba(15,23,42,.08);
  border-radius:10px;overflow:hidden;
  box-shadow:0 1px 2px rgba(15,23,42,.04),0 14px 40px rgba(15,23,42,.07);
}
body.page-studio.studio-video-active .video-cinema-stage,
body.page-studio.studio-video-active .wb-result-media-wrap--video,
body.page-studio.studio-video-active .wb-result-media-wrap--video[data-ratio="landscape"],
body.page-studio.studio-video-active .wb-result-media-wrap--video[data-ratio="portrait"],
body.page-studio.studio-video-active .wb-result-card--video[data-ratio="landscape"] .wb-result-media-wrap--video,
body.page-studio.studio-video-active .wb-result-card--video[data-ratio="portrait"] .wb-result-media-wrap--video{
  position:relative;aspect-ratio:16/9;width:100%;max-width:100%;min-height:0;
  padding:0;margin:0;display:flex;align-items:center;justify-content:center;
  background:#e8ecf1;overflow:hidden;
}
body.page-studio.studio-video-active .video-cinema-bg{
  position:absolute;inset:-8%;z-index:0;background:#e8ecf1 center/cover no-repeat;
  filter:blur(32px) saturate(1.08) brightness(.92);
  transform:scale(1.08);opacity:0;pointer-events:none;
  transition:opacity .35s var(--ecom-ease-out,ease);
}
body.page-studio.studio-video-active .video-cinema-bg.is-on{opacity:.55}
body.page-studio.studio-video-active .video-cinema-vignette{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(ellipse 80% 75% at 50% 50%,transparent 40%,rgba(15,23,42,.06) 100%),
    linear-gradient(180deg,rgba(15,23,42,.03) 0%,transparent 30%,transparent 70%,rgba(15,23,42,.04) 100%);
}
body.page-studio.studio-video-active .video-cinema-screen{
  position:relative;z-index:2;display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;min-width:0;min-height:0;
}
body.page-studio.studio-video-active .video-cinema-stage[data-ratio="landscape"] .video-cinema-screen,
body.page-studio.studio-video-active .wb-result-media-wrap--video[data-ratio="landscape"] .video-cinema-screen{
  width:100%;height:100%;
}
body.page-studio.studio-video-active .video-cinema-stage[data-ratio="portrait"] .video-cinema-screen,
body.page-studio.studio-video-active .wb-result-media-wrap--video[data-ratio="portrait"] .video-cinema-screen{
  height:100%;width:auto;aspect-ratio:9/16;max-width:min(48%,480px);
  border-radius:4px;overflow:hidden;
  box-shadow:
    0 0 0 1px rgba(15,23,42,.08),
    0 12px 28px rgba(15,23,42,.12);
}
body.page-studio.studio-video-active .video-cinema-screen video,
body.page-studio.studio-video-active .wb-result-media-wrap--video video{
  width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;
  display:block;background:transparent;border-radius:0;box-shadow:none;margin:0;
}
body.page-studio.studio-video-active .video-cinema-overlay,
body.page-studio.studio-video-active .video-cinema-badge,
body.page-studio.studio-video-active .video-cinema .wb-result-tag{
  display:none!important;
}
/* 底部信息坞 */
body.page-studio.studio-video-active .video-cinema-dock,
body.page-studio.studio-video-active .wb-result-card--video .wb-result-foot{
  padding:14px 20px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;
  border-top:1px solid rgba(15,23,42,.06);
  background:#fafbfc;
}
body.page-studio.studio-video-active .video-cinema-meta,
body.page-studio.studio-video-active .wb-result-card--video .wb-result-meta{
  display:flex;flex-direction:column;gap:8px;min-width:0;flex:1;
}
body.page-studio.studio-video-active .video-cinema-meta-kicker{
  font-size:10px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted,#737373);line-height:1;
}
body.page-studio.studio-video-active .video-cinema-chips,
body.page-studio.studio-video-active .wb-result-card--video .wb-result-sub{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:var(--text-2,#52525b);line-height:1.4;
}
body.page-studio.studio-video-active .video-cinema-chip{
  display:inline-flex;align-items:center;padding:4px 9px;border-radius:4px;
  font-size:11px;font-weight:550;line-height:1.3;color:var(--text-2,#52525b);
  background:#fff;border:1px solid rgba(15,23,42,.08);
}
body.page-studio.studio-video-active .video-cinema-actions,
body.page-studio.studio-video-active .wb-result-card--video .result-actions{
  margin:0;flex:0 0 auto;display:flex;flex-wrap:nowrap;gap:8px;justify-content:flex-end;
  align-items:center;
}
body.page-studio.studio-video-active .video-cinema .wb-btn,
body.page-studio.studio-video-active .wb-result-card--video .wb-btn{
  height:34px;padding:0 14px;border-radius:6px;font-size:12px;font-weight:600;
}
body.page-studio.studio-video-active .video-cinema .wb-btn.primary{
  background:var(--text,#0a0a0a);border-color:var(--text,#0a0a0a);color:#fff;
}
body.page-studio.studio-video-active .video-cinema .wb-btn.primary:hover{
  background:#000;border-color:#000;
}
body.page-studio.studio-video-active .video-cinema .wb-btn.ghost{
  background:#fff;border-color:var(--line,#e5e5e5);color:var(--text-2,#52525b);
}
body.page-studio.studio-video-active .video-cinema .wb-btn.ghost:hover{
  background:#fafafa;border-color:var(--line-2,#d4d4d4);color:var(--text,#0a0a0a);
}
/* 空状态与其它工具共用 .wb-empty / .wb-results-empty，不再单独一壳 */
body.page-studio.studio-video-active .wb-hist-feed--video{
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;
}
/* 视频历史卡片与图片卡片同高（3:4），封面 cover 裁切 */
body.page-studio.studio-video-active .wb-hist-feed--video .yq-feed-item--video .yq-feed-preview,
body.page-studio.studio-video-active .wb-hist-feed--video .yq-feed-item--video .yq-feed-preview--video{
  position:relative;display:block;width:100%;aspect-ratio:3/4;background:#111827;border-radius:10px;overflow:hidden;
  box-shadow:none;border:none;padding:0;cursor:pointer;
}
body.page-studio.studio-video-active .wb-hist-feed--video .yq-feed-item--video[data-ratio="landscape"] .yq-feed-preview,
body.page-studio.studio-video-active .wb-hist-feed--video .yq-feed-item--video .yq-feed-preview[data-ratio="landscape"]{
  aspect-ratio:3/4;
}
body.page-studio.studio-video-active .wb-hist-feed--video .yq-feed-item--video video,
body.page-studio.studio-video-active .wb-hist-feed--video .yq-feed-item--video img,
body.page-studio.studio-video-active .wb-hist-feed--video .yq-feed-item--video .yq-feed-video-poster,
body.page-studio.studio-video-active .wb-hist-feed--video .yq-feed-item--video .yq-feed-video-el{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#111827;
}
body.page-studio.studio-video-active .yq-feed-video-badge{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.92);color:#0a0a0a;
  display:flex;align-items:center;justify-content:center;pointer-events:none;
  box-shadow:0 4px 18px rgba(0,0,0,.22);
  transition:transform .18s ease,background .18s ease;
}
body.page-studio.studio-video-active .yq-feed-video-badge svg{margin-left:2px}
body.page-studio.studio-video-active .yq-feed-item--video:hover .yq-feed-video-badge{
  transform:translate(-50%,-50%) scale(1.06);background:#fff;
}
body.page-studio.studio-video-active .yq-feed-video-tag{
  position:absolute;top:8px;left:8px;z-index:2;
  padding:3px 8px;border-radius:6px;
  background:rgba(10,10,10,.62);color:#fff;
  font-size:10px;font-weight:650;letter-spacing:.04em;line-height:1.3;
  pointer-events:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
body.page-studio.studio-video-active .wb-hist-feed--video .yq-feed-item--video .yq-feed-preview::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,transparent 28%,transparent 62%,rgba(0,0,0,.28) 100%);
}
body.page-studio.studio-video-active .wb-hist-feed--video .yq-feed-item--video .yq-feed-video-badge,
body.page-studio.studio-video-active .wb-hist-feed--video .yq-feed-item--video .yq-feed-video-tag,
body.page-studio.studio-video-active .wb-hist-feed--video .yq-feed-item--video .ecom-ratio-badge{z-index:2}
body.page-studio.studio-video-active .wb-result-media-wrap--video{
  border-radius:0;overflow:hidden;
}
body.page-studio.studio-video-active .wb-result-media-wrap--video video{
  background:transparent;
}
body.page-studio.studio-video-active .wb-empty-sub{
  margin:0 0 16px;font-size:13px;line-height:1.6;color:#a3a3a3;
}
@media (max-width:900px){
  body.page-studio.studio-video-active .video-spec-row{grid-template-columns:1fr}
}

/* 商品视频 · 暗色 */
html.dark body.page-studio.studio-video-active .video-prompt-wrap{
  box-shadow:0 0 0 1px rgba(255,255,255,.1);
}
html.dark body.page-studio.studio-video-active .video-prompt-wrap textarea{
  background:#141416;color:var(--text);
}
html.dark body.page-studio.studio-video-active .video-prompt-wrap textarea:focus{background:#18181b}
html.dark body.page-studio.studio-video-active .video-prompt-actions .opt-btn{
  background:#18181b;border-color:#333;color:#a3a3a3;
}
html.dark body.page-studio.studio-video-active .video-prompt-actions .opt-btn--accent{
  background:rgba(37,99,235,.12);border-color:rgba(37,99,235,.35);color:#93c5fd;
}
html.dark body.page-studio.studio-video-active .video-scheme-item{
  background:#141416;border-color:#2a2a2e;color:var(--text);
}
html.dark body.page-studio.studio-video-active .video-scheme-item:hover{
  background:#18181b;border-color:#3b82f6;
}
html.dark body.page-studio.studio-video-active .video-scheme-item.on{
  background:rgba(37,99,235,.14);border-color:#3b82f6;
  box-shadow:0 0 0 1px rgba(59,130,246,.25);
}
html.dark body.page-studio.studio-video-active .video-scheme-item-title{color:#f4f4f5}
html.dark body.page-studio.studio-video-active .video-scheme-item-index{background:#27272a;color:#a1a1aa}
html.dark body.page-studio.studio-video-active .video-veo-dur-hint{
  background:#18181b;border-color:#2a2a2e;color:#a1a1aa;
}
html.dark body.page-studio.studio-video-active #videoWbPanelResults{
  background:
    radial-gradient(ellipse 70% 55% at 50% 42%,rgba(255,255,255,.03),transparent 72%),
    #0c0c0e;
}
html.dark body.page-studio.studio-video-active .video-loading-card{
  background:#141416;border-color:#2a2a2e;
  box-shadow:0 12px 40px rgba(0,0,0,.35);
}
html.dark body.page-studio.studio-video-active .video-loading-visual{
  background:#18181b;border-color:#2a2a2e;
}
html.dark body.page-studio.studio-video-active .video-cinema,
html.dark body.page-studio.studio-video-active .wb-result-card--video{
  background:#141416;border-color:#2a2a2e;
  box-shadow:0 12px 40px rgba(0,0,0,.35);
}
html.dark body.page-studio.studio-video-active .video-cinema-stage,
html.dark body.page-studio.studio-video-active .wb-result-media-wrap--video{
  background:#0c0c0e;
}
html.dark body.page-studio.studio-video-active .video-cinema-bg{
  background:#0c0c0e center/cover no-repeat;
  filter:blur(28px) saturate(1.05) brightness(.55);
}
html.dark body.page-studio.studio-video-active .video-cinema-bg.is-on{opacity:1}
html.dark body.page-studio.studio-video-active .video-cinema-vignette{
  background:
    radial-gradient(ellipse 75% 70% at 50% 50%,transparent 35%,rgba(0,0,0,.45) 100%),
    linear-gradient(180deg,rgba(0,0,0,.18) 0%,transparent 28%,transparent 72%,rgba(0,0,0,.28) 100%);
}
html.dark body.page-studio.studio-video-active .video-cinema-stage[data-ratio="portrait"] .video-cinema-screen,
html.dark body.page-studio.studio-video-active .wb-result-media-wrap--video[data-ratio="portrait"] .video-cinema-screen{
  box-shadow:0 0 0 1px rgba(255,255,255,.1),0 16px 40px rgba(0,0,0,.45);
}
html.dark body.page-studio.studio-video-active .video-cinema-dock,
html.dark body.page-studio.studio-video-active .wb-result-card--video .wb-result-foot{
  background:#18181b;border-top-color:#2a2a2e;
}
html.dark body.page-studio.studio-video-active .video-cinema-meta-kicker{color:#71717a}
html.dark body.page-studio.studio-video-active .video-cinema-chips,
html.dark body.page-studio.studio-video-active .wb-result-card--video .wb-result-sub{color:#a1a1aa}
html.dark body.page-studio.studio-video-active .video-cinema-chip{
  color:#e4e4e7;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08);
}
html.dark body.page-studio.studio-video-active .video-cinema .wb-btn.primary{
  background:#f4f4f5;border-color:#f4f4f5;color:#111;
}
html.dark body.page-studio.studio-video-active .video-cinema .wb-btn.primary:hover{
  background:#fff;border-color:#fff;
}
html.dark body.page-studio.studio-video-active .video-cinema .wb-btn.ghost{
  background:transparent;border-color:rgba(255,255,255,.18);color:#e4e4e7;
}
html.dark body.page-studio.studio-video-active .video-cinema .wb-btn.ghost:hover{
  background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.28);color:#fff;
}
body.studio-broker-active .side-nav,
body.home-broker-active .side-nav{
  height:100%;max-height:100%;overflow:visible;
  display:flex;flex-direction:column;
}
body.home-broker-active .studio-app.page-home > .home-main,
body.home-broker-active .home-tool-shell,
body.studio-broker-active .home-tool-shell{display:none!important}
body.studio-broker-active .broker-tool-shell,
body.home-broker-active .broker-tool-shell{display:contents!important}
.broker-tool-shell{flex:1;min-width:0;min-height:0}
body.page-studio .broker-tool-shell .home-main{
  flex:1;min-width:0;margin:0;max-width:none;padding:0;
  min-height:100%;overflow-y:auto;background:var(--b-canvas,var(--surface-2,#f5f5f5))!important;
}
body.page-home .broker-tool-shell .home-main{
  flex:1;min-width:0;margin:0;max-width:none;padding:0;min-height:100%;overflow-y:auto;
}

/* 全局顶部促销条（由前AI 黄绿条 · 可关闭） */
body{--ecom-promo-h:0px;--ecom-user-dock-gap:12px}
body.ecom-promo-visible{--ecom-promo-h:44px;padding-top:var(--ecom-promo-h)}
body.ecom-promo-visible .home-promo{display:none!important}
body.ecom-promo-visible .ecom-nav,
body.ecom-promo-visible .home-guest-nav{top:var(--ecom-promo-h)}
.ecom-promo-bar{
  position:fixed;top:0;left:0;right:0;z-index:300;
  display:flex;align-items:center;justify-content:center;
  min-height:44px;height:var(--ecom-promo-h);padding:10px 44px 10px 28px;
  background:var(--promo-bg);font-size:13px;color:var(--promo-text);
  border-bottom:1px solid rgba(42,51,0,.08);box-sizing:border-box;
}
.ecom-promo-bar[hidden]{display:none!important}
.ecom-promo-bar-inner{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  max-width:min(960px,calc(100vw - 80px));text-align:center;
}
.ecom-promo-bar-link{
  display:inline-flex;align-items:center;gap:10px;min-width:0;
  text-decoration:none;color:inherit;transition:filter .15s;
}
.ecom-promo-bar-link:hover{filter:brightness(.98)}
.ecom-promo-bar-tag{
  flex-shrink:0;padding:3px 8px;border-radius:4px;background:#111;color:var(--promo-bg);
  font-size:11px;font-weight:700;letter-spacing:.02em;
}
.ecom-promo-bar-txt{line-height:1.45;font-weight:500}
.ecom-promo-bar-cta-btn{
  flex-shrink:0;padding:6px 14px;border:none;border-radius:999px;
  background:#111;color:#fff;font:inherit;font-size:13px;font-weight:700;
  line-height:1.2;cursor:pointer;white-space:nowrap;
  transition:opacity .15s,transform .15s;
}
.ecom-promo-bar-cta-btn:hover{opacity:.92;transform:scale(1.02)}
.ecom-promo-bar-close{
  position:absolute;right:max(12px,env(safe-area-inset-right));top:50%;
  transform:translateY(-50%);
  width:28px;height:28px;padding:0;border:none;border-radius:6px;
  background:transparent;color:var(--promo-text);opacity:.55;
  font-size:20px;line-height:1;cursor:pointer;transition:opacity .15s,background .15s;
}
.ecom-promo-bar-close:hover{opacity:1;background:rgba(42,51,0,.08)}
body.ecom-promo-visible .studio-app{
  margin-top:0;
  min-height:calc(100vh - var(--ecom-promo-h));
}
body.ecom-promo-visible .studio-app.page-home,
body.ecom-promo-visible .studio-app.page-history,
body.ecom-promo-visible .studio-app.page-cases,
body.page-studio.ecom-promo-visible .studio-app{
  height:calc(100vh - var(--ecom-promo-h));
  max-height:calc(100vh - var(--ecom-promo-h));
}
body.ecom-promo-visible .ecom-user-dock{top:calc(var(--ecom-promo-h) + var(--ecom-user-dock-gap, 12px))}
body.page-home.ecom-promo-visible .home-topbar .ecom-user-dock,
body.page-studio.studio-home-active.ecom-promo-visible .home-topbar .ecom-user-dock{top:auto}

/* 首页内嵌促销条（兼容旧页） */
.home-promo{
  position:relative;display:flex;align-items:center;justify-content:center;
  min-height:44px;padding:10px 120px 10px 28px;
  background:var(--promo-bg);font-size:13px;color:var(--promo-text);
  border-bottom:1px solid rgba(42,51,0,.08);text-decoration:none;
  transition:filter .15s;
}
.home-promo-inner{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  max-width:720px;text-align:center;
}
.home-promo:hover{filter:brightness(.98)}
.home-promo-tag{
  flex-shrink:0;padding:3px 8px;border-radius:4px;background:#111;color:var(--promo-bg);
  font-size:11px;font-weight:700;letter-spacing:.02em;
}
.home-promo-txt{line-height:1.45;font-weight:500}
.home-promo-cta{
  flex-shrink:0;font-size:13px;font-weight:700;color:#111;
}

/* Hero + Prompt + 快捷卡 + 案例区（对齐由前AI：统一内容宽度） */
.home-body{
  width:100%;max-width:none;margin:0;
  padding:16px var(--home-pad-x) 0;box-sizing:border-box;
}
.home-center{
  width:100%;max-width:none;margin:0;padding:0 0 4px;box-sizing:border-box;
}
.home-hero{
  text-align:center;padding:4px 0 32px;position:relative;
  max-width:var(--home-core-w);margin-left:auto;margin-right:auto;
}
.home-hero-badge{
  display:inline-flex;align-items:center;justify-content:center;
  margin:0 0 16px;padding:6px 14px;border-radius:999px;
  background:linear-gradient(135deg,#f8f8f8 0%,#f0f0f0 100%);
  border:1px solid #e8e8e8;
  font-size:12px;font-weight:600;color:#404040;letter-spacing:.06em;
  line-height:1;
}
.home-hero h1{
  position:relative;z-index:1;
  font-family:var(--font-brand);
  font-size:clamp(40px,5.5vw,56px);
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--text);line-height:1.15;
  margin:0;
}
.home-hero-lead{
  position:relative;z-index:1;
  display:block;margin:12px auto 0;max-width:420px;
  font-size:15px;font-weight:400;color:#737373;line-height:1.55;
  letter-spacing:.01em;
}

/* 中央 Prompt 大卡片（对齐由前AI 生图条 · 宽约 2/3 居中） */
.home-prompt{
  background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:20px;
  box-shadow:0 4px 24px rgba(15,23,42,.05),0 1px 4px rgba(15,23,42,.03);
  overflow:visible;margin:0 auto 30px;
  max-width:var(--home-core-w);
}
.home-prompt-body{
  display:flex;gap:14px;padding:20px 20px 6px;align-items:flex-start;
  position:relative;overflow:visible;
}
.home-upload{
  flex-shrink:0;width:56px;height:56px;border:none;
  border-radius:14px;background:#f3f3f3;display:flex;align-items:center;
  justify-content:center;position:relative;overflow:hidden;cursor:pointer;color:#b0b0b0;
  transition:background .15s;
}
.home-upload:hover{background:#ececec;color:#888}
.home-upload.has-img{background:#fff;padding:0}
.home-upload img{width:100%;height:100%;object-fit:cover;border-radius:13px}
.home-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:2}
/* 首页参考图 · 由前风格上传入口 + 悬停浮层 */
.home-ref-slot{
  flex:0 0 56px;width:56px;min-height:56px;position:relative;align-self:flex-start;z-index:2;
}
.home-ref-slot.has-refs:hover{z-index:40}
.home-ref-stack{position:relative;width:56px;height:56px;flex-shrink:0}
.home-ref-trigger,
.home-ref-collapsed{
  position:absolute;left:0;top:0;width:56px;height:56px;
}
.home-ref-trigger{
  border:none;padding:0;margin:0;cursor:pointer;font-family:inherit;z-index:10;
  display:flex;align-items:center;justify-content:center;
  width:44px;height:56px;background:#fff;border-radius:10px;
  box-shadow:0 4px 16px rgba(15,23,42,.10);
  transform:rotate(6deg);
  transition:transform .18s ease,box-shadow .18s ease,color .15s;
  color:#c8c8c8;
}
.home-ref-trigger:hover,
.home-ref-trigger:focus-visible{
  transform:rotate(4deg) scale(1.03);
  box-shadow:0 6px 20px rgba(15,23,42,.13);
  color:#888;
}
.home-ref-trigger .ico{display:flex;align-items:center;justify-content:center;pointer-events:none}
.home-ref-trigger .ico svg{display:block;stroke-width:1.6}
.home-ref-slot.has-refs .home-ref-trigger{display:none!important}
.home-ref-slot:not(.has-refs) .home-ref-collapsed{display:none!important}
.home-ref-collapsed{display:block;transition:opacity .15s ease}
.home-ref-slot:not(.has-refs) .home-ref-popover{display:none!important}
.home-ref-cover{
  position:relative;width:52px;height:52px;border-radius:10px;cursor:default;
}
.home-ref-cover img{
  width:100%;height:100%;object-fit:cover;border-radius:10px;display:block;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 2px 10px rgba(15,23,42,.08);
}
.home-ref-count{
  position:absolute;top:-6px;right:-8px;min-width:18px;height:18px;padding:0 5px;
  border-radius:999px;background:#111;color:#fff;font-size:11px;font-weight:700;
  line-height:18px;text-align:center;z-index:3;box-shadow:0 1px 4px rgba(0,0,0,.18);
  pointer-events:none;
}
.home-ref-slot.has-refs:hover .home-ref-collapsed{opacity:0;pointer-events:none}
/* 悬浮展开层：横向卡片 + 底部标签，不挤压文字 */
.home-ref-popover{
  position:absolute;left:0;top:-4px;z-index:50;
  opacity:0;visibility:hidden;pointer-events:none;
  transform:translateY(4px);
  transition:opacity .18s ease,visibility .18s ease,transform .18s ease;
}
.home-ref-slot.has-refs:hover .home-ref-popover,
.home-ref-slot.has-refs .home-ref-popover:hover{
  opacity:1;visibility:visible;pointer-events:auto;
  transform:translateY(0);
}
.home-ref-popover-track{
  display:flex;align-items:flex-start;gap:6px;
  padding:8px 10px 6px;
  background:rgba(255,255,255,.98);
  border-radius:14px;
  box-shadow:0 12px 36px rgba(15,23,42,.12),0 0 0 1px rgba(0,0,0,.05);
  max-width:min(calc(100vw - 40px),560px);
  overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;
}
.home-ref-popover-track::-webkit-scrollbar{display:none}
.home-ref-popover.ecom-hscroll-wrap .ecom-hscroll-ui{
  margin-top:5px;height:3px;padding:0 6px;box-sizing:border-box;
}
.home-ref-popover.ecom-hscroll-wrap .ecom-hscroll-track{background:rgba(0,0,0,.06)}
.home-ref-popover.ecom-hscroll-wrap .ecom-hscroll-thumb{background:rgba(0,0,0,.22);min-width:32px}
.home-ref-popover.ecom-hscroll-wrap .ecom-hscroll-thumb:hover{background:rgba(0,0,0,.32)}
.home-ref-item{
  flex-shrink:0;display:flex;flex-direction:column;align-items:center;
  gap:0;width:52px;
}
.home-ref-item-thumb{
  position:relative;width:52px;height:52px;border-radius:10px;overflow:hidden;
  background:#f5f5f5;border:1px solid rgba(0,0,0,.06);
  transition:border-color .15s,box-shadow .15s;
}
.home-ref-item:hover .home-ref-item-thumb{
  border-color:rgba(0,0,0,.12);
  box-shadow:0 4px 12px rgba(15,23,42,.08);
}
.home-ref-item-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.home-ref-item-label{
  display:block;width:100%;margin-top:5px;
  font-size:10px;line-height:1.2;color:#aaa;font-weight:500;
  text-align:center;white-space:nowrap;
}
.home-ref-item-del{
  position:absolute;top:4px;right:4px;width:18px;height:18px;border:none;border-radius:50%;
  background:rgba(0,0,0,.55);color:#fff;font-size:13px;line-height:1;cursor:pointer;
  opacity:0;transition:opacity .15s,background .15s;padding:0;
  display:flex;align-items:center;justify-content:center;
}
.home-ref-item-del:hover{background:rgba(220,38,38,.88)}
.home-ref-item-thumb:hover .home-ref-item-del,
.home-ref-item-thumb:focus-within .home-ref-item-del{opacity:1}
.home-ref-item-add{
  flex-shrink:0;display:flex;flex-direction:column;align-items:center;
  gap:0;width:52px;margin-left:2px;padding:0 0 0 6px;
  border:none;border-left:1px solid #f0f0f0;background:transparent;
  cursor:pointer;font-family:inherit;
}
.home-ref-item-add-ico{
  width:52px;height:52px;border-radius:10px;
  background:#fff;border:1.5px dashed #ddd;
  color:#c4c4c4;display:flex;align-items:center;justify-content:center;
  transition:border-color .15s,color .15s,background .15s;
}
.home-ref-item-add-ico svg{display:block;stroke-width:1.6}
.home-ref-item-add:hover .home-ref-item-add-ico{
  border-color:#ccc;color:#888;background:#fafafa;
}
.home-prompt-body textarea{
  flex:1;border:none;outline:none;resize:none;min-height:99px;
  font-size:16px;line-height:1.6;font-family:inherit;color:var(--text);
  background:transparent;padding:6px 0 0;position:relative;z-index:0;
}
.home-prompt-body textarea::placeholder{color:#c4c4c4;font-weight:400}
.home-prompt-bar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:8px 16px 16px;flex-wrap:nowrap;
}
.home-prompt-opts{
  display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;flex-wrap:nowrap;
  overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.home-prompt-opts::-webkit-scrollbar{display:none}
.home-opt-pill{
  flex-shrink:0;height:36px;padding:0 30px 0 14px;border:1px solid #e8e8e8;
  border-radius:999px;font-size:13px;font-weight:500;background:#fff;
  appearance:none;cursor:pointer;color:#333;line-height:34px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23a3a3a3' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;
  box-sizing:border-box;
}
.home-opt-pill:hover{border-color:#d4d4d4}
.home-opt-pill:disabled{opacity:.72;cursor:default}
.home-opt-static{
  cursor:default;padding-right:14px;background-image:none;background:#fff;
}
.home-prompt-action{
  display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:8px;
  white-space:nowrap;
}
.home-cost-tag{
  flex-shrink:0;padding:4px 8px;border-radius:6px;
  background:linear-gradient(135deg,#ff9a3c 0%,#ff7a18 100%);
  color:#fff;font-size:11px;font-weight:600;line-height:1.3;
  box-shadow:0 1px 2px rgba(255,122,24,.25);
}
.home-cost-line{
  font-size:13px;color:#666;white-space:nowrap;display:inline-flex;align-items:baseline;gap:1px;
}
.home-cost-line b{font-size:13px;font-weight:600;color:#333}
.home-cost-line s{margin-left:3px;color:#bbb;font-size:12px;text-decoration:line-through}
.home-gen{
  flex-shrink:0;height:44px;padding:0 36px;border:none;border-radius:999px;
  background:#2b2b2b;color:#fff;font-size:15px;font-weight:600;cursor:pointer;
  transition:background .15s,transform .15s;min-width:120px;
  display:inline-flex;align-items:center;justify-content:center;
  font-family:inherit;line-height:1;
}
.home-gen:hover:not(:disabled):not(.is-disabled){background:#1a1a1a}
.home-gen:active:not(:disabled):not(.is-disabled){transform:scale(.98)}
.home-gen:disabled,.home-gen.is-disabled{
  background:#ebebeb;color:#b5b5b5;cursor:not-allowed;
}
body.page-home-guest .home-prompt.is-guest a.home-gen.is-disabled{
  background:#ebebeb;color:#b5b5b5;pointer-events:auto;
}
.home-prompt .msg-bar{
  margin:0 20px 14px;padding:0;min-height:18px;font-size:12px;background:transparent;
}

/* 快捷工具卡 · 由前AI 横排 icon+文字 */
.home-tools{padding:0 0 20px}
.home-tools-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.home-qcard{
  display:flex;flex-direction:row;align-items:center;text-align:left;gap:12px;
  padding:14px 16px;background:var(--surface);border:1px solid rgba(10,10,10,.05);
  border-radius:16px;transition:box-shadow var(--ecom-dur-ui) var(--ecom-ease-fluid),transform var(--ecom-dur-ui) var(--ecom-ease-fluid),border-color var(--ecom-dur-ui) var(--ecom-ease-fluid);
  min-height:72px;
}
.home-qcard:hover{
  box-shadow:0 6px 20px rgba(0,0,0,.05);transform:translateY(-1px);
  border-color:rgba(10,10,10,.08);
}
.home-qcard .qc-ico{
  width:40px;height:40px;border-radius:12px;background:var(--accent-soft);
  color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.home-qcard .qc-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.home-qcard strong{font-size:13px;font-weight:700;line-height:1.3;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-qcard .qc-desc{font-size:11px;color:#a3a3a3;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* 首页 · 三大卡 + 八宫格（对齐由前AI） */
.home-split-nav{
  display:grid;
  grid-template-columns:minmax(0,var(--home-split-left)) minmax(0,var(--home-split-right));
  gap:10px;width:100%;max-width:none;margin:0;align-items:stretch;
}
.home-split-primary{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;
  min-width:0;min-height:0;
}
.home-big-card{
  display:flex;flex-direction:column;align-items:flex-start;
  gap:0;padding:20px 18px 22px;border:1px solid rgba(0,0,0,.05);border-radius:18px;
  background:#fff;
  box-shadow:0 2px 14px rgba(15,23,42,.04),0 1px 3px rgba(15,23,42,.02);
  text-decoration:none;color:inherit;position:relative;overflow:hidden;
  transition:box-shadow var(--ecom-dur-ui) var(--ecom-ease-fluid),transform var(--ecom-dur-ui) var(--ecom-ease-fluid),border-color var(--ecom-dur-ui) var(--ecom-ease-fluid);
  min-height:148px;height:100%;min-width:0;
}
.home-big-card::before{
  content:'';position:absolute;top:0;left:0;width:72%;height:72%;
  border-radius:18px 0 55% 0;pointer-events:none;z-index:0;
}
.home-big-card:nth-child(1){
  --bc-accent:#525252;--bc-ico-bg:#f4f4f5;--bc-glow:rgba(139,92,246,.11);
}
.home-big-card:nth-child(2){
  --bc-accent:#2563eb;--bc-ico-bg:#eff6ff;--bc-glow:rgba(59,130,246,.13);
}
.home-big-card:nth-child(3){
  --bc-accent:#ea580c;--bc-ico-bg:#fff7ed;--bc-glow:rgba(251,146,60,.14);
}
.home-big-card:nth-child(1)::before{background:radial-gradient(ellipse 90% 90% at 0% 0%,var(--bc-glow) 0%,transparent 72%)}
.home-big-card:nth-child(2)::before{background:radial-gradient(ellipse 90% 90% at 0% 0%,var(--bc-glow) 0%,transparent 72%)}
.home-big-card:nth-child(3)::before{background:radial-gradient(ellipse 90% 90% at 0% 0%,var(--bc-glow) 0%,transparent 72%)}
.home-big-card:hover{
  box-shadow:0 10px 28px rgba(15,23,42,.08),0 2px 6px rgba(15,23,42,.03);
  transform:translateY(-2px);
  border-color:rgba(0,0,0,.07);
}
.home-big-card .bc-watermark{
  position:absolute;right:10px;bottom:6px;z-index:0;
  width:92px;height:92px;display:flex;align-items:center;justify-content:center;
  color:var(--bc-accent,#525252);opacity:.07;pointer-events:none;
}
.home-big-card .bc-watermark svg{width:72px;height:72px}
.home-big-card .bc-top{
  display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:8px;
  position:relative;z-index:1;
}
.home-big-card .bc-ico{
  width:40px;height:40px;border-radius:12px;background:var(--bc-ico-bg,#f5f5f5);
  color:var(--bc-accent,#525252);display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.home-big-card .bc-arrow{
  flex-shrink:0;width:30px;height:30px;border-radius:9px;
  background:rgba(255,255,255,.92);border:1px solid rgba(0,0,0,.06);
  color:#a3a3a3;display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 1px 2px rgba(0,0,0,.04);margin-top:0;
  transition:color .15s,border-color .15s,background .15s;
}
.home-big-card:hover .bc-arrow{color:#525252;border-color:rgba(0,0,0,.1)}
.home-big-card .bc-text{
  display:flex;flex-direction:column;gap:6px;min-width:0;width:100%;
  position:relative;z-index:1;margin-top:18px;padding-top:0;
}
.home-big-card strong{font-size:16px;font-weight:700;line-height:1.3;color:var(--text);letter-spacing:-.02em}
.home-big-card .bc-text>span{font-size:13px;color:#737373;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.home-split-secondary{display:flex;flex-direction:column;min-width:0;min-height:0}
.home-split-secondary .home-tools-grid{
  display:grid;flex:1;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(68px,1fr));
  gap:8px;height:100%;min-height:152px;
}
.home-split-secondary .home-qcard{
  flex-direction:row;align-items:center;text-align:left;
  min-height:0;height:100%;padding:10px 11px;gap:7px;
  border-radius:12px;background:#fff;
  border:1px solid rgba(10,10,10,.06);
}
.home-split-secondary .home-qcard:hover{
  box-shadow:0 3px 12px rgba(0,0,0,.04);transform:translateY(-1px);
  border-color:rgba(10,10,10,.1);
}
.home-split-secondary .home-qcard .qc-ico{
  width:26px;height:26px;border-radius:7px;background:#f5f5f5;color:#525252;flex-shrink:0;
}
.home-split-secondary .home-qcard strong{font-size:12px;font-weight:600;line-height:1.25;color:var(--text);letter-spacing:-.01em}
.home-split-secondary .home-qcard .qc-desc{display:none}

.home-result{
  margin:0 auto 20px;max-width:var(--home-core-w);
  padding:16px;border-radius:16px;
  background:var(--surface);border:1px solid rgba(10,10,10,.06);
  box-shadow:0 4px 20px rgba(0,0,0,.04);
}
.home-result img{max-width:100%;max-height:420px;border-radius:12px;display:block;margin:0 auto}
.home-result-actions{display:flex;justify-content:center;gap:12px;margin-top:12px;flex-wrap:wrap}
.home-result-actions a{
  font-size:13px;font-weight:600;color:var(--accent);text-decoration:none;
  padding:8px 16px;border-radius:999px;border:1px solid rgba(22,163,74,.25);
}

.home-showcase-head{
  padding:0 clamp(20px,3vw,36px) 12px;
  text-align:center;
}
.home-showcase-head h2{
  font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--text);
}
.home-showcase--page{padding-top:clamp(16px,2vw,28px)}
.home-showcase--page .home-showcase-head h1{
  margin:0;font-size:clamp(22px,2.4vw,28px);font-weight:800;letter-spacing:-.02em;color:var(--text);
}
body.page-cases .home-main,
body.broker-active .broker-tool-shell .home-main{padding-top:0;background:var(--b-canvas,#fff)!important}
body.page-cases .home-main::before,
body.page-cases .home-main::after,
body.broker-active .broker-tool-shell .home-main::before,
body.broker-active .broker-tool-shell .home-main::after{display:none!important}
body.page-cases .home-body,
body.broker-active .broker-tool-shell .home-body{padding-top:0}
.home-showcase-trust{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  margin-top:8px;font-size:12px;color:#737373;line-height:1.5;
}
.home-showcase-trust .ico{color:#16a34a;flex-shrink:0}

.home-trust-bar{
  display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px 12px;
  margin:0 0 12px;padding:10px 18px;
  background:#f0f0f0;border:none;border-radius:999px;
  font-size:12px;color:#525252;line-height:1.5;
}
.home-trust-tag{
  display:inline-flex;align-items:center;gap:5px;
  flex-shrink:0;padding:5px 12px;border-radius:999px;
  background:#1a1c22;color:#fff;font-size:11px;font-weight:700;letter-spacing:.02em;
}
.home-trust-tag .ico{width:14px;height:14px;color:#fff}
.home-trust-txt{color:#737373;font-size:12px}

.home-showcase{
  width:100%;max-width:none;
  margin:16px 0 0;padding:0;
  box-sizing:border-box;
  background:#fff;
  border:1px solid rgba(0,0,0,.05);
  border-radius:20px;
  box-shadow:0 2px 14px rgba(15,23,42,.04),0 1px 3px rgba(15,23,42,.02);
  overflow:hidden;
}
.home-showcase-module{
  margin:0;
}
.home-showcase-module .home-showcase-toolbar{
  border:none;border-radius:0;background:transparent;
  border-bottom:1px solid #f0f0f0;
}
.home-showcase-panels{
  position:relative;
  min-height:0;
}
.home-showcase-panel{
  padding:14px 14px 0;
}
.home-showcase-panel[hidden]{display:none!important}
html.dark .home-showcase{
  background:#141414;
  border-color:rgba(255,255,255,.08);
  box-shadow:0 2px 14px rgba(0,0,0,.28),0 1px 3px rgba(0,0,0,.18);
}
html.dark .home-showcase-module .home-showcase-toolbar{
  border-bottom-color:rgba(255,255,255,.08);
}
html.dark .home-showcase-tabs{background:#262626}
html.dark .home-showcase-tab{color:#a1a1aa}
html.dark .home-showcase-tab:hover:not(.on){color:#f5f5f5}
html.dark .home-showcase-tab.on{background:#3f3f46;color:#fafafa}
html.dark .home-showcase-tabs.seg-indicator-host:has(.seg-slide-indicator) .home-showcase-tab.on{
  background:transparent;color:#fafafa;
}
html.dark .home-case-filters-bar{background:#1a1a1a;border-color:#2a2a2a}
html.dark .home-broker-filters-bar .broker-case-tags,
html.dark .home-case-filters-bar .home-case-tags{background:#262626;border-color:#333}
html.dark .home-broker-filters-bar .broker-case-tag,
html.dark .home-case-filters-bar .home-case-tag{color:#a1a1aa}
html.dark .home-broker-filters-bar .broker-case-tag:hover:not(.on),
html.dark .home-case-filters-bar .home-case-tag:hover:not(.on){color:#e4e4e7;background:rgba(255,255,255,.06)}
html.dark .home-broker-filters-bar .broker-case-tags.seg-indicator-host .broker-case-tag.on,
html.dark .home-case-filters-bar .home-case-tags.seg-indicator-host .home-case-tag.on,
html.dark .home-case-filters-bar .home-case-tags-time.seg-indicator-host .home-case-tag.on{
  background:transparent;box-shadow:none;color:#fafafa;
}
html.dark .seg-slide-indicator--home-case{
  background:#3f3f46;
  box-shadow:0 1px 3px rgba(0,0,0,.2),0 0 0 1px rgba(255,255,255,.06);
}
html.dark .home-broker-filters-bar .home-broker-time-tags::before,
html.dark .home-case-filters-bar .home-case-tags-time::before{background:#333}
html.dark .home-case-filter-field .home-filter-pill,
html.dark .home-case-filter-field .ui-select-trigger,
html.dark .home-filter-pill{background:#262626;border-color:#333;color:#a1a1aa}
html.dark .home-case-filter-field .home-filter-pill:hover,
html.dark .home-case-filter-field .ui-select-trigger:hover,
html.dark .home-filter-pill:hover{background:#2a2a2a;border-color:#404040}
html.dark .home-case-filter-field .ui-select.open .ui-select-trigger{background:#2a2a2a;border-color:#525252;box-shadow:0 0 0 3px rgba(255,255,255,.04)}
.home-showcase-toolbar .home-showcase-tabs{
  flex-shrink:0;align-self:center;
}
.home-showcase-filter-group{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;
  flex:1 1 0;min-width:0;
}
.home-showcase-filter-group[hidden]{display:none!important}
.home-showcase-toolbar .home-case-search{
  flex:0 1 240px;min-width:160px;max-width:280px;
}
.home-showcase-toolbar .home-broker-time-tags{
  margin-left:auto;
}
.home-showcase-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:0 0 14px;flex-wrap:wrap;
}
.home-showcase-tabs{
  position:relative;
  display:inline-flex;align-items:center;gap:4px;
  padding:4px;background:#f0f0f0;border-radius:999px;
}
.home-showcase-tabs.seg-indicator-host .home-showcase-tab{position:relative;z-index:1}
.home-showcase-tab{
  border:none;background:transparent;
  padding:7px 16px;border-radius:999px;
  font-size:13px;font-weight:600;color:#525252;cursor:pointer;
  transition:color .15s,background .15s;
}
.home-showcase-tab:hover:not(.on){color:#1a1c22}
.home-showcase-tab.on{background:#1a1c22;color:#fff}
.home-showcase-tabs.seg-indicator-host:has(.seg-slide-indicator) .home-showcase-tab.on{
  background:transparent;color:#1a1c22;
}
.home-showcase-tabs--cases-only .home-showcase-tab[data-tab="broker"]{display:none!important}
.home-showcase-more{
  font-size:13px;font-weight:600;color:#16a34a;text-decoration:none;white-space:nowrap;
}
.home-showcase-more:hover{text-decoration:underline}
.home-showcase-more[hidden]{display:none!important}
.home-broker-enter{
  margin:0;padding:30px 0;
  display:flex;align-items:center;justify-content:center;
}
.home-broker-enter[hidden]{display:none!important}
.home-broker-enter-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  height:44px;padding:0 32px;border:1px solid #e8e8e8;border-radius:999px;
  background:#fff;color:#1a1c22;font-size:14px;font-weight:600;cursor:pointer;
  font-family:inherit;line-height:1;white-space:nowrap;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  transition:border-color .15s,box-shadow .15s,transform .15s;
}
.home-broker-enter-btn:hover:not(:disabled){
  border-color:#d4d4d4;box-shadow:0 4px 14px rgba(0,0,0,.07);transform:translateY(-1px);
}
.home-broker-enter-btn:disabled{opacity:.5;cursor:not-allowed}
.home-broker-enter-ico{font-size:15px;line-height:1;opacity:.72;transform:translateY(-1px)}
#homeBrokerPanel .home-case-grid:not(.is-empty){padding-bottom:0}
html.dark .home-broker-enter-btn{background:#262626;border-color:rgba(255,255,255,.1);color:#f5f5f5;box-shadow:none}
html.dark .home-broker-enter-btn:hover:not(:disabled){border-color:rgba(255,255,255,.16);background:#2a2a2a;box-shadow:0 4px 14px rgba(0,0,0,.24)}
.home-showcase-empty{
  grid-column:1/-1;text-align:center;color:#a3a3a3;padding:48px 0;font-size:14px;
}
#homeCasePanel .home-case-grid{
  min-height:clamp(280px,42vh,520px);
}
#homeCasePanel .home-case-grid.is-empty{
  display:flex;align-items:center;justify-content:center;
}
#homeCasePanel .home-case-grid.is-empty .home-showcase-empty{
  padding:32px 0;margin:0;
}
#homeBrokerPanel .home-case-grid{
  min-height:clamp(280px,42vh,520px);
}
#homeBrokerPanel .home-case-grid.is-empty{
  display:flex;align-items:center;justify-content:center;
}
#homeBrokerPanel .home-case-grid.is-empty .case-empty,
#homeBrokerPanel .home-case-grid.is-empty .home-broker-empty{
  width:100%;
}
.home-guest-register-cta{text-align:center;padding:0 24px 48px}
.home-guest-register-cta a{
  font-size:14px;font-weight:600;color:#16a34a;text-decoration:none;
}
.home-guest-register-cta a:hover{text-decoration:underline}
.home-broker-filters-bar{
  gap:10px 14px;
}
.home-broker-filters-bar .home-case-search{
  position:relative;padding-right:36px;
  flex:1 1 220px;min-width:200px;max-width:320px;
}
.home-showcase-toolbar.home-broker-filters-bar .home-case-search{
  flex:0 1 240px;min-width:160px;max-width:280px;
}
.home-broker-filters-bar .broker-case-tags{
  position:relative;display:inline-flex;align-items:center;gap:1px;padding:2px;
  align-self:center;flex-shrink:0;
  background:#f0f0f1;border:1px solid #e8e8ea;border-radius:8px;
}
.home-broker-filters-bar .broker-case-tag{
  appearance:none;-webkit-appearance:none;
  position:relative;z-index:1;
  display:inline-flex;align-items:center;justify-content:center;
  height:28px;padding:0 11px;box-sizing:border-box;
  border-radius:999px;border:none;background:transparent;
  font-size:12px;font-weight:500;color:#64646e;
  cursor:pointer;transition:color .15s,background .15s;
  font-family:inherit;line-height:1;white-space:nowrap;
}
.home-broker-filters-bar .broker-case-tag:hover:not(.on){
  color:#27272a;background:rgba(255,255,255,.55);
}
.home-broker-filters-bar .broker-case-tags.seg-indicator-host .broker-case-tag.on{
  background:transparent;box-shadow:none;color:#18181b;font-weight:600;
}
.home-broker-filters-bar .broker-case-tag.on{
  background:#fff;color:#18181b;font-weight:600;
  box-shadow:0 1px 2px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04);
}
.home-broker-filters-bar .home-broker-time-tags{
  margin-left:auto;gap:1px;padding:2px;
  padding-left:12px;position:relative;
}
.home-broker-filters-bar .home-broker-time-tags::before{
  content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:1px;height:20px;background:#e4e4e7;
}
.home-broker-filters-bar .broker-case-tag--custom .ico{
  display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;color:inherit;
}
.home-broker-filters-bar .case-search-clear{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  width:24px;height:24px;border:none;background:transparent;
  border-radius:999px;cursor:pointer;color:#a3a3a3;
  display:flex;align-items:center;justify-content:center;
}
.home-broker-empty .case-empty-cta--ghost{
  margin-top:28px;margin-left:12px;background:transparent;border:1px solid #ebebeb;color:#525252;
}
.home-case-filters{
  padding:0 0 18px;
}
.home-case-filters-bar{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;
  padding:10px 14px;
  background:#fafafa;border:1px solid #f0f0f0;border-radius:10px;
}
.home-case-filters-bar .home-case-search{
  flex:0 1 240px;min-width:180px;max-width:300px;
  height:32px;padding:0 14px;box-sizing:border-box;
  border:1px solid #e8e8ea;border-radius:999px;background:#fff;
  align-self:center;
}
.home-case-filter-selects{
  display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;
}
.home-case-filter-field{
  display:inline-flex;align-items:center;gap:0;flex-shrink:0;margin:0;
}
.home-case-filter-label{
  font-size:12px;font-weight:500;color:#525252;white-space:nowrap;
}
.home-case-filter-field .home-filter-pill,
.home-case-filter-field .ui-select{
  width:auto;min-width:0;flex-shrink:0;
}
.home-case-filter-field .home-filter-pill.home-opt-static{
  background:#f0f0f1;border:1px solid #e8e8ea;cursor:default;padding-right:28px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;
}
.home-case-filter-field .home-filter-pill{
  height:32px;padding:0 28px 0 11px;border:1px solid #e8e8ea;border-radius:8px;
  font-size:12px;font-weight:500;background:#f0f0f1;color:#52525b;
  appearance:none;cursor:pointer;font-family:inherit;
  transition:background .15s,border-color .15s;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;
}
.home-case-filter-field .home-filter-pill:hover{background:#eaeaec;border-color:#d4d4d8}
.home-case-filter-field .ui-select-trigger{
  min-height:32px;height:32px;padding:0 28px 0 11px;border-radius:8px;
  background:#f0f0f1;border:1px solid #e8e8ea;font-size:12px;font-weight:500;color:#52525b;
  display:inline-flex;align-items:center;box-sizing:border-box;line-height:1;
}
.home-case-filter-field .ui-select-label{line-height:1}
.home-case-filter-field .ui-select-trigger:hover{background:#eaeaec;border-color:#d4d4d8}
.home-case-filter-field .ui-select.open .ui-select-trigger{
  background:#fff;border-color:#d4d4d8;box-shadow:0 0 0 3px rgba(0,0,0,.04);
}
.home-case-tags-time{margin-left:auto;padding-left:12px;position:relative}
.home-case-tags-time::before{
  content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:1px;height:20px;background:#e4e4e7;
}
.home-case-filters-bar .home-case-tags{
  position:relative;display:inline-flex;align-items:center;gap:1px;padding:2px;
  align-self:center;flex-shrink:0;
  background:#f0f0f1;border:1px solid #e8e8ea;border-radius:8px;
}
.home-case-filters-bar .home-case-tags.seg-indicator-host .home-case-tag{
  position:relative;z-index:1;
}
.home-case-filters-bar .home-case-tag{
  display:inline-flex;align-items:center;justify-content:center;
  height:28px;padding:0 11px;box-sizing:border-box;
  border-radius:999px;border:none;background:transparent;
  font-size:12px;font-weight:500;color:#64646e;
  cursor:pointer;transition:color .15s,background .15s;font-family:inherit;line-height:1;
}
.home-case-filters-bar .home-case-tag:hover:not(.on){
  color:#27272a;background:rgba(255,255,255,.55);
}
.home-case-filters-bar .home-case-tags.seg-indicator-host .home-case-tag.on{
  background:transparent;border-color:transparent;color:#18181b;font-weight:600;
  box-shadow:none;
}
.home-case-filters-bar .home-case-tag.on{
  background:#fff;color:#18181b;font-weight:600;
  box-shadow:0 1px 2px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04);
}
.home-case-filters-bar .home-case-tags-time .home-case-tag{
  background:transparent;border-color:transparent;color:#64646e;
}
.home-case-filters-bar .home-case-tags-time.seg-indicator-host .home-case-tag.on{
  background:transparent;border-color:transparent;color:#18181b;
  box-shadow:none;
}
.home-case-filters-bar .home-case-tags-time .home-case-tag.on{
  background:#fff;color:#18181b;
  box-shadow:0 1px 2px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04);
}
.home-filter-pill{
  flex:0 0 auto;width:auto;max-width:none;
  height:32px;padding:0 28px 0 11px;border:1px solid #e8e8ea;border-radius:8px;
  font-size:12px;font-weight:500;background:#f0f0f1;color:#52525b;
  appearance:none;cursor:pointer;font-family:inherit;
  transition:background .15s,border-color .15s;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;
}
.home-filter-pill:hover{background:#eaeaec;border-color:#d4d4d8}
body.page-home .home-case-filters-bar .ui-select{
  width:auto;flex:0 0 auto;min-width:0;max-width:none;
}
body.page-home .home-case-filter-field .ui-select-label,
body.page-home .home-case-filter-field .ui-select-option-title{
  overflow:visible;text-overflow:clip;white-space:nowrap;
}
body.page-home .home-case-filter-field .ui-select-trigger{
  width:auto;max-width:none;
}
body.page-home .home-case-filter-field .ui-select-menu{
  min-width:100%;width:max-content;max-width:min(320px,calc(100vw - 32px));
}
body.page-home .home-case-filter-field .ui-select:has(#filterTool){
  min-width:108px;
}
body.page-home .home-case-filter-field .ui-select:has(#filterIndustry){
  min-width:96px;
}
body.page-home .home-case-filter-field .ui-select:has(#filterType){
  min-width:88px;
}
body.page-home .home-prompt-opts .ui-select{
  width:auto;flex:0 0 auto;flex-shrink:0;min-width:0;max-width:none;
}
/* 模型档位：款视界-Image-1K/2K/4K 需完整展示 */
.home-prompt-opts .ui-select:has(#selModel),
.home-prompt-opts .ui-select:has(#homeSelModel){
  min-width:168px;
}
.home-prompt-opts .ui-select:has(#selModel) .ui-select-label,
.home-prompt-opts .ui-select:has(#selModel) .ui-select-option-title,
.home-prompt-opts .ui-select:has(#homeSelModel) .ui-select-label,
.home-prompt-opts .ui-select:has(#homeSelModel) .ui-select-option-title{
  overflow:visible;text-overflow:clip;white-space:nowrap;
}
body.page-home .home-prompt-opts .ui-select-trigger{
  height:36px;padding:0 30px 0 14px;border-radius:999px;font-size:13px;
}
.home-case-search{
  display:flex;align-items:center;gap:10px;flex:1;min-width:200px;
  height:32px;padding:0 14px;box-sizing:border-box;
  border:1px solid #e8e8ea;border-radius:999px;background:#fff;
}
.home-case-search input{
  flex:1;border:none;outline:none;font-size:13px;background:transparent;font-family:inherit;color:var(--text);
}
.home-case-search input::placeholder{color:#a3a3a3}
.home-case-search .ico{color:#a3a3a3;flex-shrink:0}
.home-case-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.home-case-tag{
  padding:7px 14px;border-radius:999px;border:1px solid #ebebeb;
  background:#fff;font-size:12px;font-weight:500;color:#737373;
  cursor:pointer;transition:.15s;font-family:inherit;line-height:1.2;
}
.home-case-tag.on{background:#1a1c22;border-color:#1a1c22;color:#fff}
.home-case-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));
  gap:16px;padding:0 0 48px;
  max-width:none;margin:0;
}
@media(min-width:1280px){
  .home-case-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
}
.home-case-info{
  padding:10px 12px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:0;
}
.home-case-grid .home-case-title{
  flex:1;min-width:0;
  display:-webkit-box;font-size:13px;font-weight:600;line-height:1.35;color:var(--text);
  letter-spacing:-.01em;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.home-case-same-btn{
  flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;gap:4px;
  height:28px;padding:0 10px;
  border:1px solid rgba(10,10,10,.08);border-radius:8px;
  background:#1a1c22;color:#fff;
  font-size:11px;font-weight:600;line-height:1;
  cursor:pointer;font-family:inherit;
  transition:background .18s,border-color .18s,transform .18s,box-shadow .18s;
}
.home-case-same-btn:hover{
  background:#2d3038;border-color:rgba(10,10,10,.12);
  transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.12);
}
.home-case-same-btn:active{transform:translateY(0)}
.home-case-same-ico{display:inline-flex;align-items:center;justify-content:center;opacity:.92}
.home-case-same-ico svg{display:block}
.home-case-same-txt{letter-spacing:.02em;white-space:nowrap}
.ecom-utility-cost{
  display:inline-flex;align-items:center;justify-content:center;
  margin-left:5px;padding:1px 6px;border-radius:999px;
  font-size:10px;font-weight:600;line-height:1.35;letter-spacing:.01em;
  vertical-align:middle;white-space:nowrap;
}
.rp-start-btn .ecom-utility-cost,
.home-case-same-btn .ecom-utility-cost,
.broker-contact-cta .ecom-utility-cost,
.broker-confirm-btn .ecom-utility-cost,
.showcase-case-cta .ecom-utility-cost{
  background:rgba(255,255,255,.2);color:inherit;
}
.wb-reverse-prompt-btn .ecom-utility-cost{
  background:#f5f5f5;color:#737373;border:1px solid #e5e5e5;
}
.hw-same-btn .ecom-utility-cost{
  margin-left:4px;padding:0 5px;
  background:rgba(255,255,255,.16);color:#fff;
}
html.dark .wb-reverse-prompt-btn .ecom-utility-cost{
  background:#333;border-color:#404040;color:#a3a3a3;
}
.home-broker-time-tags .home-case-admin-add{
  margin-left:4px;padding:7px 14px;border-radius:999px;border:1px solid #bfdbfe;
  background:#eff6ff;color:#2563eb;font-size:12px;font-weight:600;line-height:1.2;
  cursor:pointer;font-family:inherit;transition:background .15s;flex-shrink:0;
  position:relative;z-index:1;
}
.home-broker-time-tags .home-case-admin-add:hover{background:#dbeafe}
.home-broker-time-tags .home-case-admin-add[hidden]{display:none!important}
.home-case-card .home-case-edit,
.home-case-card .home-case-del{
  position:absolute;top:8px;z-index:3;padding:0;border:none;border-radius:6px;
  font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;
  opacity:0;transition:opacity .15s;
}
body.ecom-home-admin .home-case-card .home-case-edit,
body.ecom-home-admin .home-case-card .home-case-del,
.home-case-card:hover .home-case-edit,
.home-case-card:hover .home-case-del{opacity:1}
.home-case-card .home-case-edit{
  right:36px;height:26px;padding:0 8px;background:rgba(255,255,255,.92);color:#171717;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
}
.home-case-card .home-case-del{
  right:8px;width:26px;height:26px;background:rgba(0,0,0,.55);color:#fff;
  line-height:26px;text-align:center;font-size:16px;
}
.home-case-card .home-case-del:hover{background:#dc2626}
.home-case-grid .home-case-card{
  position:relative;flex:none;width:auto;border-radius:14px;overflow:hidden;
  background:var(--surface);border:1px solid rgba(10,10,10,.04);
  box-shadow:0 1px 6px rgba(0,0,0,.04);
  display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s,border-color .22s;
  text-decoration:none;color:inherit;
}
.home-case-grid .home-case-card:hover{
  transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.08);
  border-color:rgba(10,10,10,.06);
}
.home-case-grid .home-case-img{
  position:relative;width:100%;aspect-ratio:3/4;min-height:0;overflow:hidden;
  background:#f5f5f5;
}
.home-case-grid .home-case-img img{width:100%;height:100%;object-fit:cover;display:block}
.home-case-grid .home-case-ba{display:none}
.home-case-badge{
  position:absolute;bottom:10px;left:10px;z-index:2;padding:4px 8px;border-radius:6px;
  font-size:10px;font-weight:600;background:rgba(0,0,0,.58);color:#fff;
  backdrop-filter:blur(4px);line-height:1.2;
}
.home-case-grid .home-case-card{
  cursor:pointer;
}

/* 优秀案例详情弹层（对齐货源大厅查看体验） */
.showcase-case-mask[hidden]{display:none!important}
.showcase-case-mask{
  position:fixed;inset:0;z-index:100600;
  display:flex;align-items:center;justify-content:center;
  padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));
  background:rgba(8,8,10,.58);backdrop-filter:blur(6px);
}
.showcase-case-stage{
  position:relative;width:min(960px,100%);max-height:min(88vh,860px);
  display:flex;align-items:stretch;
}
.showcase-case-modal{
  flex:1;min-width:0;max-height:min(88vh,860px);
  display:flex;flex-direction:column;
  background:#fff;border-radius:22px;overflow:hidden;
  box-shadow:0 24px 80px rgba(0,0,0,.28);
  animation:brokerModalIn .28s ease;
}
.showcase-case-shell{
  flex:1;min-height:0;display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
}
.showcase-case-shell.is-no-gallery{grid-template-columns:1fr}
.showcase-case-gallery-wrap{
  position:relative;min-height:0;background:#f5f5f4;
  display:flex;flex-direction:column;
}
.showcase-case-gallery-wrap.is-single .showcase-case-viewer{border-bottom-left-radius:22px}
.showcase-case-viewer{
  position:relative;flex:1;min-height:220px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  background:#f5f5f4;
}
.showcase-case-viewer>img{
  width:100%;height:100%;max-height:min(68vh,640px);
  object-fit:contain;display:block;background:#f5f5f4;
}
.showcase-case-viewer-counter{
  position:absolute;top:12px;right:12px;z-index:2;
  padding:4px 10px;border-radius:999px;
  font-size:11px;font-weight:600;background:rgba(255,255,255,.92);color:#525252;
  box-shadow:0 2px 10px rgba(0,0,0,.08);
}
.showcase-case-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:36px;height:36px;border:1px solid rgba(0,0,0,.08);border-radius:50%;
  background:rgba(255,255,255,.96);color:#171717;font-size:22px;line-height:1;
  cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.1);
}
.showcase-case-nav.prev{left:12px}
.showcase-case-nav.next{right:12px}
.showcase-case-thumbs{
  flex-shrink:0;display:flex;gap:8px;padding:10px 12px;overflow-x:auto;
  background:#fff;border-top:1px solid rgba(0,0,0,.06);
}
.showcase-case-thumbs[hidden]{display:none!important}
.showcase-case-thumb{
  flex:0 0 auto;width:56px;height:56px;border-radius:8px;overflow:hidden;
  border:2px solid transparent;background:#ececec;padding:0;cursor:pointer;
}
.showcase-case-thumb.active{border-color:#2563eb}
.showcase-case-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.showcase-case-body{
  min-width:0;display:flex;flex-direction:column;background:#fff;
}
.showcase-case-head{
  flex-shrink:0;padding:20px 20px 12px;
  border-bottom:1px solid rgba(10,10,10,.06);
}
.showcase-case-head h3{
  margin:0 0 8px;font-size:18px;font-weight:800;line-height:1.3;
  letter-spacing:-.02em;color:var(--text);
}
.showcase-case-meta{
  display:flex;flex-wrap:wrap;gap:6px;
}
.showcase-case-meta span{
  padding:4px 10px;border-radius:999px;
  font-size:11px;font-weight:600;background:#f5f5f5;color:#525252;
}
.showcase-case-scroll{
  flex:1;min-height:0;overflow-y:auto;padding:14px 20px;
}
.showcase-case-details{
  margin:0 0 14px;display:flex;flex-direction:column;gap:10px;
}
.showcase-case-details[hidden]{display:none!important}
.showcase-case-detail-row{
  display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:start;
}
.showcase-case-detail-row dt{
  margin:0;font-size:12px;line-height:1.5;color:#a3a3a3;font-weight:500;
}
.showcase-case-detail-row dd{
  margin:0;font-size:13px;line-height:1.55;color:#404040;font-weight:600;
}
.showcase-case-desc-block{
  padding:12px 14px;border-radius:12px;background:#fafafa;
  border:1px solid rgba(0,0,0,.06);
}
.showcase-case-desc-block[hidden]{display:none!important}
.showcase-case-desc-label{
  margin:0 0 6px;font-size:12px;line-height:1.4;color:#737373;font-weight:600;
}
.showcase-case-desc{
  margin:0;font-size:13px;line-height:1.65;color:#525252;
}
.showcase-case-desc[hidden]{display:none!important}
.showcase-case-foot{
  flex-shrink:0;padding:14px 20px 20px;
  border-top:1px solid rgba(10,10,10,.06);
}
.showcase-case-cta{
  width:100%;height:44px;border:1px solid rgba(0,0,0,.1);border-radius:12px;
  background:#fff;color:#171717;font-size:14px;font-weight:700;
  cursor:pointer;font-family:inherit;
  transition:background .15s,border-color .15s,transform .15s;
}
.showcase-case-cta:hover{background:#fafafa;border-color:rgba(0,0,0,.16);transform:translateY(-1px)}
.showcase-case-close{
  position:absolute;top:16px;left:calc(100% + 12px);z-index:6;
  width:40px;height:40px;border:1px solid rgba(255,255,255,.35);border-radius:50%;
  background:rgba(255,255,255,.96);color:#737373;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(0,0,0,.18);
}
.showcase-case-close:hover{transform:scale(1.05);background:#fff;color:#171717}
@media(max-width:860px){
  .showcase-case-shell{grid-template-columns:1fr}
  .showcase-case-gallery-wrap{max-height:52vh}
  .showcase-case-close{left:auto;right:8px;top:-52px}
}

body.page-home .home-float-rail,
body.page-cases .home-float-rail{
  position:fixed;right:18px;bottom:max(18px,env(safe-area-inset-bottom));z-index:100;
}
body.page-home .home-float-rail{
  display:flex;flex-direction:column;align-items:flex-end;gap:8px;
}
body.page-home .home-float-rail .sup-btn,
body.page-cases .home-float-rail .sup-btn{
  box-shadow:0 4px 16px rgba(0,0,0,.08);background:#fff;border:1px solid rgba(10,10,10,.06);
}

body.page-home-guest .home-guest-nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px clamp(20px,4vw,48px);border-bottom:1px solid rgba(10,10,10,.06);
  background:rgba(255,255,255,.92);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10;
}
body.page-home-guest .home-guest-nav .gn-logo img{height:32px;display:block}
body.page-home-guest .home-guest-nav .gn-links{display:flex;align-items:center;gap:12px}
body.page-home-guest .home-guest-nav .gn-links a{
  font-size:14px;color:#525252;text-decoration:none;font-weight:500;
}
body.page-home-guest .home-guest-nav .gn-links a.gn-btn{
  padding:8px 18px;border-radius:999px;background:#171717;color:#fff;
  font-size:13px;font-weight:600;text-decoration:none;
}
body.page-home-guest .home-prompt.is-guest a.home-gen{
  text-decoration:none;
}

/* 未登录首页：独立顶栏 + 主区，避免沿用 studio-app 壳导致无法滚动/点击 */
body.page-home.page-home-guest{
  overflow-x:hidden;overflow-y:auto;height:auto;min-height:100vh;
  display:flex;flex-direction:column;
}
body.page-home.page-home-guest .home-guest-nav{
  flex-shrink:0;position:sticky;top:0;z-index:200;
}
body.page-home.page-home-guest .home-main{
  flex:1 0 auto;overflow:visible;min-height:0;isolation:auto;
}
body.page-home.page-home-guest .home-main::before,
body.page-home.page-home-guest .home-main::after{pointer-events:none}
body.page-home.page-home-guest .home-big-card,
body.page-home.page-home-guest .home-qcard,
body.page-home.page-home-guest .home-promo,
body.page-home.page-home-guest .home-case-card{
  position:relative;z-index:2;cursor:pointer;
}
body.page-home.page-home-guest .home-qcard{text-decoration:none;color:inherit}
body.page-home.page-home-guest .home-case-filters-bar .ui-select,
body.page-home.page-home-guest .home-case-filters-bar .home-case-tags,
body.page-home.page-home-guest .home-case-filter-selects{align-self:center}

@media(max-width:960px){
  body.page-home,body.page-studio.studio-home-active{--home-pad-x:24px;--home-core-w:100%}
  .home-topbar{padding-left:var(--home-pad-x);padding-right:var(--home-pad-x)}
  .home-body{padding:12px var(--home-pad-x) 0}
  .home-center{padding:0 0 4px}
  .home-hero,.home-prompt,.home-result{max-width:100%}
  .home-showcase{margin-top:12px}
  .home-prompt-bar{flex-wrap:wrap}
  .home-prompt-action{width:100%;justify-content:flex-end;margin-left:0}
  .home-case-tags-time{margin-left:0}
}
@media(max-width:1024px){
  .home-split-nav{grid-template-columns:1fr;align-items:start;gap:10px}
  .home-split-primary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-big-card{height:auto;min-height:120px}
  .home-split-secondary .home-tools-grid{
    grid-template-rows:none;height:auto;min-height:0;
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .home-split-secondary .home-qcard{height:auto;min-height:52px}
}
@media(max-width:768px){
  .home-split-primary{grid-template-columns:1fr}
  .home-big-card{min-height:80px}
  .home-split-secondary .home-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}
  .home-case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .home-case-filters-bar .home-case-tags-time{margin-left:0;width:100%;justify-content:flex-start;padding-left:0}
  .home-case-filters-bar .home-case-tags-time::before{display:none}
  .home-broker-filters-bar .home-broker-time-tags{margin-left:0;width:100%;justify-content:flex-start;padding-left:0}
  .home-broker-filters-bar .home-broker-time-tags::before{display:none}
  .home-case-filter-selects{width:100%}
}

/* 详情页案例 · 横向画廊（scoped，避免覆盖首页 grid） */
.home-case-scroll{
  overflow-x:auto;overflow-y:hidden;padding:4px clamp(28px,4vw,64px) 16px;
}
.home-case-track{display:flex;gap:16px;width:max-content;min-width:100%;padding-bottom:4px}
.home-case-scroll .home-case-card{
  position:relative;flex:0 0 220px;width:220px;border-radius:16px;overflow:hidden;
  background:var(--surface);box-shadow:0 2px 12px rgba(0,0,0,.06);
  display:block;transition:transform .22s,box-shadow .22s;
}
.home-case-scroll .home-case-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.1)}
.home-case-scroll .home-case-img{width:100%;height:440px;overflow:hidden;background:#f5f5f5}
.home-case-scroll .home-case-img img{width:100%;height:100%;object-fit:cover;display:block}
.home-case-mock{
  width:100%;height:480px;padding:16px;display:flex;flex-direction:column;gap:10px;
  background:linear-gradient(180deg,var(--mock-a,#fff7ed) 0%,var(--mock-b,#ffedd5) 100%);
}
.home-case-mock .mock-hero{
  flex:1;border-radius:12px;background:rgba(255,255,255,.55);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);
  display:flex;align-items:center;justify-content:center;padding:12px;
}
.home-case-mock .mock-hero-inner{
  width:100%;height:100%;border-radius:8px;
  background:linear-gradient(135deg,rgba(255,255,255,.8),rgba(255,255,255,.2));
}
.home-case-mock .mock-strip{
  height:36px;border-radius:8px;background:rgba(255,255,255,.45);
}
.home-case-mock .mock-lines{display:flex;flex-direction:column;gap:6px;padding:0 4px}
.home-case-mock .mock-lines i{
  display:block;height:8px;border-radius:4px;background:rgba(255,255,255,.5);
}
.home-case-mock .mock-lines i:nth-child(1){width:88%}
.home-case-mock .mock-lines i:nth-child(2){width:72%}
.home-case-mock .mock-lines i:nth-child(3){width:60%}
.home-case-ph{
  width:100%;height:480px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:12px;padding:20px;text-align:center;color:var(--muted);
}
.home-case-ph span{font-size:12px;color:var(--text-2);font-weight:500}
.home-case-hover{
  position:absolute;left:0;right:0;bottom:0;padding:28px 12px 16px;
  background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,.3) 50%,transparent 100%);
  color:#fff;font-size:12px;text-align:center;opacity:0;transition:opacity .2s;
  pointer-events:none;
}
.home-case-scroll .home-case-card:hover .home-case-hover{opacity:1}

/* 案例 Before / After 对比 */
.home-case-ba{display:flex;width:100%;height:440px}
.home-case-half{flex:1;position:relative;overflow:hidden;background:#f5f5f5}
.home-case-half img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.home-case-scroll .home-case-card:hover .home-case-half img{transform:scale(1.03)}
.ba-tag{
  position:absolute;top:8px;left:8px;z-index:2;padding:2px 8px;border-radius:6px;
  font-size:10px;font-weight:600;background:rgba(0,0,0,.55);color:#fff;
}
.ba-tag.after{background:rgba(22,163,74,.85)}
.home-case-half+.home-case-half{border-left:2px solid #fff}

/* ── 档口上新工作流首页 ── */
.home-hero-wf{padding:8px 0 28px}
.home-eyebrow{
  display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;
  background:#ecfdf5;color:#15803d;font-size:12px;font-weight:600;margin-bottom:14px;
}
.home-hero-wf h1{font-size:clamp(32px,4vw,44px);letter-spacing:-.03em}
.home-launch-card{
  background:var(--surface);border:1px solid rgba(10,10,10,.06);border-radius:20px;
  box-shadow:0 8px 32px rgba(0,0,0,.06);padding:24px;margin-bottom:32px;
}
.home-launch-upload{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.home-upload-lg{width:72px;height:72px;border-radius:14px}
.home-upload-lg.has-img{width:72px;height:72px}
.home-launch-upload-txt{display:flex;flex-direction:column;gap:4px}
.home-launch-upload-txt strong{font-size:16px;font-weight:700}
.home-launch-upload-txt span{font-size:13px;color:#737373}
.home-launch-btn{width:100%;padding:14px;font-size:15px}
.home-launch-card .msg-bar{margin:12px 0 0}

.home-workflow,.home-core{margin-bottom:36px}
.home-wf-head{margin-bottom:14px}
.home-wf-head h2{font-size:18px;font-weight:800;letter-spacing:-.02em}
.home-wf-head p{font-size:13px;color:#a3a3a3;margin-top:4px}
.home-wf-steps{display:flex;flex-direction:column;gap:8px}
.home-wf-step{
  display:flex;align-items:center;gap:14px;padding:16px 18px;
  background:var(--surface);border:1px solid rgba(10,10,10,.05);border-radius:16px;
  transition:box-shadow .18s,transform .18s,border-color .18s;text-decoration:none;color:inherit;
}
.home-wf-step:hover{
  box-shadow:0 6px 20px rgba(0,0,0,.05);transform:translateY(-1px);
  border-color:rgba(10,10,10,.08);
}
.home-wf-step.home-wf-core{border-color:rgba(22,163,74,.2);background:linear-gradient(90deg,#f0fdf4 0%,#fff 40%)}
.home-wf-num{
  flex-shrink:0;width:32px;height:32px;border-radius:10px;background:#111;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;
}
.home-wf-core .home-wf-num{background:#16a34a}
.home-wf-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.home-wf-body strong{font-size:14px;font-weight:700;color:var(--text)}
.home-wf-desc{font-size:12px;color:#737373;line-height:1.45}
.home-wf-meta{font-size:11px;color:#a3a3a3}
.home-wf-meta em{font-style:normal;color:#16a34a;font-weight:600}
.home-wf-arrow{flex-shrink:0;color:#d4d4d4;font-size:18px;font-weight:300}

.home-core-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.home-core-card{
  display:flex;flex-direction:column;gap:6px;padding:18px 16px;
  background:var(--surface);border:1px solid rgba(10,10,10,.05);border-radius:16px;
  text-decoration:none;color:inherit;transition:.15s;
}
.home-core-card:hover{border-color:rgba(10,10,10,.1);box-shadow:0 4px 16px rgba(0,0,0,.04)}
.home-core-stat{font-size:20px;font-weight:800;color:#16a34a;letter-spacing:-.02em}
.home-core-card strong{font-size:13px;font-weight:700}
.home-core-card span{font-size:11px;color:#a3a3a3;line-height:1.4}

/* ── 首页转化区块（ROI / 痛点 / 档口分层） ── */
.home-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
  padding:0 clamp(28px,4vw,64px) 20px;max-width:none;
}
.home-stat{
  background:var(--surface);border:1px solid rgba(10,10,10,.05);border-radius:12px;
  padding:14px 12px;text-align:center;
}
.home-stat-val{display:block;font-size:20px;font-weight:800;color:#16a34a;letter-spacing:-.02em}
.home-stat-label{font-size:11px;color:#a3a3a3;margin-top:4px}

.home-roi{margin-bottom:28px}
.home-roi-inner{
  background:linear-gradient(135deg,#0a0a0a 0%,#1a2e1a 100%);
  border-radius:16px;padding:22px 24px;color:#fff;
}
.home-roi-inner h3{font-size:15px;font-weight:700;margin-bottom:16px;text-align:center}
.home-roi-row{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}
.home-roi-col{
  text-align:center;padding:14px 10px;border-radius:12px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
}
.home-roi-col.win{background:rgba(22,163,74,.15);border-color:rgba(34,197,94,.3)}
.home-roi-label{font-size:11px;color:rgba(255,255,255,.55);display:block;margin-bottom:6px}
.home-roi-col strong{font-size:22px;font-weight:800;display:block;letter-spacing:-.02em}
.home-roi-col span{font-size:11px;color:rgba(255,255,255,.65);display:block;margin-top:4px}
.home-roi-vs{font-size:12px;font-weight:800;color:rgba(255,255,255,.35);text-align:center}

.home-pains,.home-segments{margin-bottom:32px}
.home-pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.home-pain-card{
  display:flex;flex-direction:column;gap:8px;padding:16px 14px;
  background:var(--surface);border:1px solid rgba(10,10,10,.05);border-radius:14px;
  text-decoration:none;color:inherit;transition:.15s;
}
.home-pain-card:hover{border-color:rgba(22,163,74,.25);box-shadow:0 4px 16px rgba(22,163,74,.08)}
.home-pain-q{font-size:12px;font-weight:700;color:#dc2626;line-height:1.4}
.home-pain-a{font-size:12px;color:#737373;line-height:1.45}

.home-seg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.home-seg-card{
  display:flex;flex-direction:column;gap:4px;padding:16px 14px;
  background:var(--surface);border:1px solid rgba(10,10,10,.05);border-radius:14px;
}
.home-seg-card.home-seg-hl{border-color:#111;box-shadow:0 4px 20px rgba(0,0,0,.06)}
.home-seg-share{font-size:10px;color:#a3a3a3}
.home-seg-card strong{font-size:14px;font-weight:700}
.home-seg-card span{font-size:12px;color:#737373}
.home-seg-card em{font-size:14px;font-weight:800;color:#16a34a;font-style:normal;margin-top:6px}

@media(max-width:900px){
  .home-stats{grid-template-columns:repeat(2,1fr)}
  .home-pain-grid,.home-seg-grid{grid-template-columns:1fr}
  .home-roi-row{grid-template-columns:1fr;gap:8px}
  .home-roi-vs{display:none}
}



/* ── Studio 工作流进度条（单行：左导航 + 文字步骤条） ── */
.wf-progress-host{
  flex-shrink:0;border-bottom:1px solid rgba(10,10,10,.06);
  background:#f8faf8;
}
.wf-progress-inner.wf-progress-inline{
  display:flex;align-items:center;gap:8px;padding:5px 14px;
}
.wf-progress-actions{
  display:flex;align-items:center;gap:5px;flex-shrink:0;
}
.wf-nav-btn{
  font-size:10px;font-weight:600;padding:4px 8px;border-radius:6px;
  border:1px solid #e5e5e5;background:#fff;color:var(--text);text-decoration:none;
  white-space:nowrap;line-height:1.3;
}
.wf-nav-btn:hover{border-color:#16a34a;color:#15803d}
.wf-nav-prev{padding:4px 7px;min-width:26px;text-align:center;color:#737373}
.wf-nav-next,.wf-nav-done{background:#111;color:#fff!important;border-color:#111;padding:4px 10px}
.wf-nav-next:hover,.wf-nav-done:hover{opacity:.88;color:#fff!important}
.wf-progress-track{
  display:flex;align-items:center;gap:4px;flex:1;min-width:0;
  overflow-x:auto;scrollbar-width:thin;
}
.wf-pill{
  flex-shrink:0;display:inline-flex;align-items:center;
  padding:3px 8px;border-radius:999px;border:1px solid #e5e5e5;
  background:#fff;font-size:10px;color:#a3a3a3;text-decoration:none;white-space:nowrap;
}
.wf-pill:hover{border-color:#bbf7d0;color:#15803d}
.wf-pill.done{background:#f0fdf4;border-color:#dcfce7;color:#16a34a}
.wf-pill.on{background:#16a34a;border-color:#16a34a;color:#fff;font-weight:600}
.wf-customize-btn{
  flex-shrink:0;display:inline-flex;align-items:center;gap:3px;
  padding:3px 7px;border-radius:999px;border:1px dashed #d4d4d4;
  background:#fff;font-size:10px;color:#737373;cursor:pointer;white-space:nowrap;
}
.wf-customize-btn:hover{border-color:#86efac;color:#15803d;background:#f0fdf4}
.wf-customize-btn svg{flex-shrink:0;opacity:.75}

.wf-customize-layer{
  position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:16px;
}
.wf-customize-layer[hidden]{display:none!important}
.wf-customize-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.42)}
.wf-customize-dialog{
  position:relative;width:min(420px,100%);max-height:min(80vh,560px);
  display:flex;flex-direction:column;background:#fff;border-radius:14px;
  box-shadow:0 20px 50px rgba(0,0,0,.18);overflow:hidden;
}
.wf-customize-dialog--wide{width:min(520px,100%);max-height:min(85vh,640px)}
.wf-customize-search-wrap{padding:0 4px 8px}
.wf-customize-search{
  width:100%;padding:8px 10px;border:1px solid #e5e5e5;border-radius:8px;
  font-size:12px;background:#fff;color:#111;
}
.wf-customize-search:focus{outline:none;border-color:#86efac;box-shadow:0 0 0 2px rgba(34,197,94,.12)}
.wf-customize-section{margin-bottom:10px}
.wf-customize-section-hd{
  font-size:11px;font-weight:700;color:#525252;margin:0 4px 6px;
  display:flex;align-items:center;gap:6px;
}
.wf-customize-count{
  font-size:10px;font-weight:600;color:#16a34a;background:#f0fdf4;
  padding:1px 6px;border-radius:999px;
}
.wf-customize-hint{font-size:10px;font-weight:400;color:#a3a3a3}
.wf-customize-empty{
  font-size:11px;color:#a3a3a3;padding:8px 10px;border:1px dashed #e5e5e5;border-radius:8px;
}
.wf-customize-hd{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:16px 16px 10px;border-bottom:1px solid #f0f0f0;
}
.wf-customize-hd h3{margin:0;font-size:15px;font-weight:700;color:#111}
.wf-customize-sub{margin:4px 0 0;font-size:11px;color:#737373;line-height:1.4}
.wf-customize-close{
  border:0;background:transparent;color:#737373;cursor:pointer;padding:4px;border-radius:8px;
}
.wf-customize-close:hover{background:#f5f5f5;color:#111}
.wf-customize-body{flex:1;min-height:0;overflow-y:auto;padding:8px 12px 12px}
.wf-customize-list{display:flex;flex-direction:column;gap:6px}
.wf-customize-row{
  display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #eee;border-radius:10px;background:#fafafa;
}
.wf-customize-row.is-sortable{position:relative;padding-right:6px;gap:10px}
.wf-customize-row.is-off{opacity:.55}
.wf-customize-check{display:flex;align-items:center;cursor:pointer}
.wf-customize-check input{position:absolute;opacity:0;width:0;height:0}
.wf-customize-check-ui{
  width:16px;height:16px;border:1.5px solid #d4d4d4;border-radius:4px;background:#fff;display:block;
}
.wf-customize-check input:checked + .wf-customize-check-ui{
  background:#16a34a;border-color:#16a34a;box-shadow:inset 0 0 0 2px #fff;
}
.wf-customize-meta{flex:1;min-width:0}
.wf-customize-name{font-size:12px;font-weight:600;color:#111}
.wf-customize-desc{font-size:10px;color:#737373;margin-top:2px;line-height:1.35}
.wf-customize-drag{
  position:relative;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:5px;
  min-width:54px;height:32px;padding:0 9px 0 8px;margin-left:2px;
  border:1px solid #e5e5e5;border-radius:8px;background:#fff;
  color:#737373;cursor:grab;touch-action:none;user-select:none;
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}
.wf-customize-drag::before{
  content:"";position:absolute;left:-7px;top:7px;bottom:7px;width:1px;background:#e8e8e8;
}
.wf-customize-drag:hover{
  border-color:#86efac;background:#f0fdf4;color:#15803d;
  box-shadow:0 1px 0 rgba(22,163,74,.08);
}
.wf-customize-drag:active,.wf-customize-row.is-sortable.is-dragging .wf-customize-drag{
  cursor:grabbing;border-color:#22c55e;background:#dcfce7;color:#15803d;
}
.wf-customize-drag-icon{display:block;flex-shrink:0;opacity:.9}
.wf-customize-drag-label{
  font-size:10px;font-weight:600;line-height:1;letter-spacing:.02em;white-space:nowrap;
}
.wf-customize-row.is-sortable.is-dragging{opacity:.45;border-style:dashed;border-color:#86efac}
.wf-customize-row.is-sortable.is-drop-before::before,
.wf-customize-row.is-sortable.is-drop-after::before{
  content:"";position:absolute;left:0;width:8px;height:8px;border-radius:50%;
  background:#16a34a;border:2px solid #fff;box-shadow:0 0 0 1px #16a34a;
  z-index:3;pointer-events:none;box-sizing:border-box;
}
.wf-customize-row.is-sortable.is-drop-before::after,
.wf-customize-row.is-sortable.is-drop-after::after{
  content:"";position:absolute;left:6px;right:4px;height:2px;border-radius:2px;
  background:#16a34a;box-shadow:0 0 0 1px rgba(22,163,74,.12);
  z-index:2;pointer-events:none;
}
.wf-customize-row.is-sortable.is-drop-before::before{top:-7px}
.wf-customize-row.is-sortable.is-drop-before::after{top:-4px}
.wf-customize-row.is-sortable.is-drop-after::before{bottom:-7px}
.wf-customize-row.is-sortable.is-drop-after::after{bottom:-4px}
.wf-customize-ft{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:10px 12px 12px;border-top:1px solid #f0f0f0;background:#fafafa;
}
.wf-customize-reset{
  border:0;background:transparent;font-size:11px;color:#737373;cursor:pointer;padding:6px 4px;
}
.wf-customize-reset:hover{color:#15803d}
.wf-customize-ft-actions{display:flex;gap:6px}
.wf-customize-cancel,.wf-customize-save{
  font-size:11px;font-weight:600;padding:6px 12px;border-radius:8px;cursor:pointer;border:1px solid #e5e5e5;
}
.wf-customize-cancel{background:#fff;color:#525252}
.wf-customize-cancel:hover{border-color:#d4d4d4}
.wf-customize-save{background:#111;border-color:#111;color:#fff}
.wf-customize-save:hover{opacity:.88}
body.wf-customize-open{overflow:hidden}
html.dark .wf-customize-dialog{background:#171717;box-shadow:0 20px 50px rgba(0,0,0,.5)}
html.dark .wf-customize-hd{border-bottom-color:rgba(255,255,255,.08)}
html.dark .wf-customize-hd h3{color:#f5f5f5}
html.dark .wf-customize-sub{color:#a3a3a3}
html.dark .wf-customize-close{color:#a3a3a3}
html.dark .wf-customize-close:hover{background:#262626;color:#f5f5f5}
html.dark .wf-customize-row{background:#1f1f1f;border-color:rgba(255,255,255,.08)}
html.dark .wf-customize-name{color:#f5f5f5}
html.dark .wf-customize-desc{color:#a3a3a3}
html.dark .wf-customize-check-ui{background:#171717;border-color:rgba(255,255,255,.14)}
html.dark .wf-customize-drag{
  background:#262626;border-color:rgba(255,255,255,.12);color:#a3a3a3;
  box-shadow:none;
}
html.dark .wf-customize-drag::before{background:rgba(255,255,255,.1)}
html.dark .wf-customize-drag:hover{
  background:rgba(34,197,94,.12);border-color:rgba(74,222,128,.45);color:#4ade80;
}
html.dark .wf-customize-drag:active,
html.dark .wf-customize-row.is-sortable.is-dragging .wf-customize-drag{
  background:rgba(34,197,94,.18);border-color:#22c55e;color:#4ade80;
}
html.dark .wf-customize-row.is-sortable.is-drop-before::before,
html.dark .wf-customize-row.is-sortable.is-drop-after::before{
  background:#22c55e;border-color:#171717;box-shadow:0 0 0 1px #22c55e;
}
html.dark .wf-customize-row.is-sortable.is-drop-before::after,
html.dark .wf-customize-row.is-sortable.is-drop-after::after{
  background:#22c55e;box-shadow:none;
}
html.dark .wf-customize-ft{background:#141414;border-top-color:rgba(255,255,255,.08)}
html.dark .wf-customize-cancel{background:#1f1f1f;border-color:rgba(255,255,255,.1);color:#d4d4d4}
html.dark .wf-customize-reset{color:#a3a3a3}
html.dark .wf-customize-search{background:#1f1f1f;border-color:rgba(255,255,255,.1);color:#f5f5f5}
html.dark .wf-customize-section-hd{color:#d4d4d4}
html.dark .wf-customize-count{background:rgba(34,197,94,.12);color:#4ade80}
html.dark .wf-customize-empty{border-color:rgba(255,255,255,.1);color:#737373}

@media(max-width:900px){
  .home-core-grid{grid-template-columns:1fr}
  .home-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* AI 运营 · 文案工作台（对齐 Studio 布局与动效） */
body.page-copy .copy-wb-topbar{grid-template-columns:1fr auto}
body.page-copy .copy-result-area{
  flex:1;min-height:0;overflow-y:auto;width:100%;
  padding:24px clamp(20px,3vw,40px) 32px;
  display:flex;flex-direction:column;align-items:stretch;
}
body.page-copy .wb-empty{
  max-width:420px;margin:10vh auto 0;padding:48px 24px 32px;
}
body.page-copy .copy-output{
  width:100%;max-width:760px;margin:0 auto;white-space:pre-wrap;line-height:1.75;font-size:14px;
  color:var(--text);background:var(--surface);border:1px solid rgba(10,10,10,.06);
  border-radius:16px;padding:24px 28px;
  box-shadow:0 2px 12px rgba(15,23,42,.04),0 8px 28px rgba(15,23,42,.04);
  animation:copy-output-in .32s cubic-bezier(.22,1,.36,1);
}
body.page-copy .copy-output.copy-output--detail{
  white-space:normal;padding:20px 22px;display:flex;flex-direction:column;gap:14px;
}
body.page-copy .copy-output--detail .copy-screen{
  padding:16px 18px;border-radius:12px;
  background:linear-gradient(135deg,#fafafa 0%,#f5f5f5 100%);
  border:1px solid rgba(15,23,42,.06);
}
body.page-copy .copy-output--detail .copy-screen-label{
  display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;
  color:#64748b;text-transform:uppercase;margin-bottom:8px;
}
body.page-copy .copy-output--detail .copy-screen-title{
  margin:0 0 6px;font-size:13px;font-weight:600;color:#475569;line-height:1.5;
}
body.page-copy .copy-output--detail .copy-screen-headline{
  margin:0 0 6px;font-size:17px;font-weight:700;color:#0f172a;line-height:1.45;
}
body.page-copy .copy-output--detail .copy-screen-body{
  margin:0;font-size:14px;color:#334155;line-height:1.7;
}
@keyframes copy-output-in{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
body.page-copy .copy-generating{
  width:100%;max-width:760px;margin:12vh auto 0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  padding:48px 24px;text-align:center;color:#525252;
}
body.page-copy .copy-generating .gen-job-spin{
  width:28px;height:28px;border-width:2.5px;border-color:#111;border-top-color:transparent;
}
body.page-copy .copy-generating span:last-child{font-size:14px;font-weight:600;color:#171717}
body.page-copy .text-input{
  width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;
  font-size:13px;background:var(--surface);font-family:inherit;resize:none;
}
body.page-copy .text-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(22,163,74,.12)}
body.page-copy .config-panel--studio .field-row{
  grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;
}
body.page-copy .copy-tool-guide{
  margin:0 0 14px;padding:12px 14px;
  background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);
  border:1px solid rgba(15,23,42,.06);border-radius:12px;
}
body.page-copy .copy-tool-guide-head{margin-bottom:6px}
body.page-copy .copy-tool-guide-badge{
  display:inline-block;font-size:12px;font-weight:600;color:#0f172a;
  background:#fff;border:1px solid rgba(15,23,42,.08);
  border-radius:999px;padding:4px 10px;line-height:1.4;
}
body.page-copy .copy-tool-guide-when{
  margin:0 0 8px;font-size:11px;line-height:1.55;color:var(--muted,#64748b);
}
body.page-copy .copy-tool-guide-steps{
  margin:0 0 8px;padding-left:18px;font-size:11px;line-height:1.6;color:#334155;
}
body.page-copy .copy-tool-guide-steps li{margin-bottom:3px}
body.page-copy .copy-tool-guide-example{
  margin:0 0 8px;font-size:11px;color:#475569;
}
body.page-copy .copy-tool-guide-example summary{
  cursor:pointer;font-weight:600;color:#334155;user-select:none;
}
body.page-copy .copy-tool-guide-example p{
  margin:6px 0 0;padding:8px 10px;background:#fff;
  border:1px dashed rgba(15,23,42,.1);border-radius:8px;
  line-height:1.55;color:#64748b;
}
body.page-copy .copy-tool-guide-output{
  margin:0;font-size:10px;line-height:1.5;color:#94a3b8;
}
@media(max-width:900px){
  body.page-copy .config-panel--studio .field-row{grid-template-columns:1fr}
  body.page-copy .copy-result-area{padding:16px}
}

/* Studio 右侧 · 工作台（生成结果 / 历史 / 案例） */
.wb-workspace{
  background:var(--zone-workspace);display:flex;flex-direction:column;min-height:0;flex:1;
}
body.page-studio .wb-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}
body.page-studio .wb-panels-track>.wb-panel{
  flex:0 0 33.333333%;min-height:0;height:auto;
}
body.page-studio #wbPanelResults{
  display:flex;flex-direction:column;align-items:stretch;
  min-height:0;overflow-y:auto;
}
body.page-studio #wbPanelResults.has-gen-results .detail-stream-panel{
  display:none!important;
}
body.page-studio #wbPanelWorkbench .text-edit-workbench,
body.page-studio #wbPanelWorkbench .resize-crop-workbench,
body.page-studio #wbPanelWorkbench .compress-split-workbench{
  flex:1;min-height:0;width:100%;
}
body.page-studio .ws-result-area{
  flex:0 1 auto;display:flex;flex-direction:column;align-items:stretch;
  justify-content:flex-start;gap:12px;
  min-height:0;width:100%;overflow:visible;
  padding:0;
}
body.page-studio .wb-results-head-title{
  font-size:13px;font-weight:700;color:#171717;line-height:1;white-space:nowrap;
}
body.page-studio .wb-hist-feed.batch-mode .gen-job-regen,
body.page-studio .wb-hist-feed.batch-mode .gen-job-pack-lbl-actions{display:none!important}
body.page-studio .wb-hist-feed.batch-mode .yq-feed-links,
body.page-studio .wb-hist-feed.batch-mode .yq-feed-foot a,
body.page-studio .wb-hist-feed.batch-mode .yq-feed-foot button{
  pointer-events:none;
}
body.page-studio .wb-hist-feed.batch-mode{
  padding:4px 2px 8px;
}
body.page-studio .wb-hist-feed.batch-mode .gen-job-card,
body.page-studio .wb-hist-feed.batch-mode .yq-feed-item{
  position:relative;
  z-index:1;
  transition:box-shadow .18s ease,border-color .18s ease;
}
body.page-studio .wb-hist-feed.batch-mode .gen-job-card:hover,
body.page-studio .wb-hist-feed.batch-mode .yq-feed-item:hover,
body.page-studio .wb-hist-feed.batch-mode .gen-job-pack-item:hover{
  z-index:8;
  transform:none;
}
body.page-studio .wb-hist-feed.batch-mode .gen-job-card.selected,
body.page-studio .wb-hist-feed.batch-mode .yq-feed-item.selected,
body.page-studio .wb-hist-feed.batch-mode .gen-job-pack-item.selected{
  z-index:9;
  outline:none;
  border-color:var(--batch-sel-color);
  box-shadow:var(--batch-sel-shadow);
}
body.page-studio .wb-hist-feed.batch-mode .hist-check{
  position:absolute;top:10px;right:10px;z-index:10;
  width:24px;height:24px;border-radius:50%;
  background:rgba(255,255,255,.96);border:1.5px solid rgba(22,119,255,.35);
  color:transparent;box-shadow:0 1px 4px rgba(15,23,42,.12);
  display:flex;align-items:center;justify-content:center;opacity:1;
  font-size:12px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;
}
body.page-studio .wb-hist-feed.batch-mode .hist-check.on{
  background:var(--batch-sel-color);border-color:var(--batch-sel-color);color:#fff;
  box-shadow:0 2px 8px rgba(37,99,235,.35);
}
body.page-studio .wb-hist-feed.batch-mode .hist-check.hist-check--lg{font-size:10px}
body.page-studio .wb-hist-feed.batch-mode .gen-job-pack-item{position:relative;cursor:pointer}
body.page-studio .wb-hist-feed.batch-mode .gen-job-pack-item .hist-check{
  position:absolute;top:8px;right:8px;z-index:10;
}
body.page-studio .gen-queue{
  display:none;width:100%;margin:0;
  align-content:start;align-self:stretch;
}
body.page-studio #wbPanelResults.has-gen-results .ws-result-area{
  flex:1;min-height:0;overflow-y:auto;
}
body.page-studio .gen-queue.wb-hist-feed .yq-feed-item,
body.page-studio .gen-queue.wb-hist-feed .gen-job-card{
  width:100%;max-width:none;min-width:0;
}
body.page-studio .gen-queue.wb-hist-feed .gen-job-pending .yq-feed-body,
body.page-studio .gen-queue.wb-hist-feed .gen-job-err .yq-feed-body{
  padding:0 8px;
}
body.page-studio .gen-queue.wb-hist-feed .gen-job-pending .gen-job-img,
body.page-studio .gen-queue.wb-hist-feed .gen-job-err .gen-job-img{
  aspect-ratio:3/4;border-radius:8px;max-height:none;width:100%;
}
body.page-studio .gen-job-card{
  background:#fff;border:1px solid rgba(10,10,10,.06);
  overflow:hidden;box-shadow:0 1px 3px rgba(15,23,42,.05),0 4px 14px rgba(15,23,42,.04);
  transition:box-shadow .18s ease,transform .18s ease;
}
@media (hover:hover) and (pointer:fine){
  body.page-studio .gen-queue.wb-hist-feed .gen-job-card:hover{
    box-shadow:0 4px 12px rgba(15,23,42,.07),0 10px 28px rgba(15,23,42,.06);
    transform:translateY(-2px);
  }
  body.page-studio .gen-queue.wb-hist-feed.batch-mode .gen-job-card:hover{
    transform:none;
    z-index:8;
    box-shadow:0 1px 3px rgba(15,23,42,.05),0 4px 14px rgba(15,23,42,.04);
  }
  body.page-studio .gen-queue.wb-hist-feed.batch-mode .gen-job-card.selected:hover{
    z-index:9;
    box-shadow:var(--batch-sel-shadow);
  }
}
body.page-studio .gen-queue .gen-job-img{
  position:relative;background:#fafafa;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  width:100%;max-width:100%;margin:0;
}
body.page-studio .gen-queue .gen-job-pending .gen-job-img,
body.page-studio .gen-queue .gen-job-err .gen-job-img{
  aspect-ratio:3/4;border-radius:6px;max-height:none;
}
body.page-studio .gen-queue .gen-job-pending .gen-job-img--pending::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(110deg,transparent 18%,rgba(255,255,255,.5) 50%,transparent 82%);
  background-size:220% 100%;animation:gen-img-shimmer 2s ease-in-out infinite;
}
body.page-studio .gen-queue .gen-job-pending .gen-job-img--pending>img{
  animation:gen-img-breathe 2.4s ease-in-out infinite;
}
@keyframes gen-img-shimmer{
  0%{background-position:120% 0}
  100%{background-position:-120% 0}
}
@keyframes gen-img-breathe{
  0%,100%{opacity:.42;filter:saturate(.85)}
  50%{opacity:.58;filter:saturate(.95)}
}
body.page-studio .gen-queue .gen-job-img>img{width:100%;height:100%;object-fit:cover}
body.page-studio .gen-queue .gen-job-pending .gen-job-img>img,
body.page-studio .gen-queue .gen-job-err .gen-job-img>img{object-fit:contain;background:#f5f5f5}
body.page-studio .gen-job-ph{width:100%;height:100%;background:linear-gradient(135deg,#f5f5f5,#ebebeb)}
body.page-studio .gen-queue .gen-job-pending .gen-job-ph{
  background:linear-gradient(110deg,#f5f5f5 8%,#ececec 18%,#f5f5f5 33%);
  background-size:200% 100%;animation:gen-ph-shimmer 1.4s linear infinite;
}
@keyframes gen-ph-shimmer{
  to{background-position-x:-200%}
}
body.page-studio .gen-queue .gen-job-overlay{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:6px;
  background:rgba(255,255,255,.82);color:#171717;font-size:10px;font-weight:600;
  text-align:center;padding:8px;line-height:1.35;
}
body.page-studio .gen-queue .gen-job-pending .gen-job-overlay{
  background:linear-gradient(180deg,rgba(255,255,255,.52) 0%,rgba(255,255,255,.84) 55%,rgba(255,255,255,.9) 100%);
  backdrop-filter:blur(1px);
}
body.page-studio .gen-job-overlay-inner{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  width:min(88%,220px);padding:4px 0;
}
body.page-studio .gen-job-status{
  font-size:13px;font-weight:700;color:#171717;line-height:1.35;
  letter-spacing:-.01em;
}
body.page-studio .gen-queue-chip{
  display:none;align-items:center;gap:8px;margin:0 0 10px;padding:6px 12px;
  border-radius:999px;width:fit-content;max-width:100%;
  background:rgba(15,23,42,.04);border:1px solid rgba(15,23,42,.06);
  color:#525252;font-size:11px;font-weight:600;line-height:1.35;
}
body.page-studio .gen-queue-chip-text{min-width:0}
body.page-studio .gen-queue-chip-upgrade{
  flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  padding:3px 10px;border:none;border-radius:999px;cursor:pointer;
  background:#171717;color:#fff;
  font-size:10px;font-weight:700;line-height:1.2;white-space:nowrap;
  transition:background .15s ease,transform .15s ease;
}
body.page-studio .gen-queue-chip-upgrade:hover{background:#262626}
body.page-studio .gen-queue-chip-upgrade:active{transform:scale(.98)}
body.page-studio .gen-queue-chip-dot{
  flex-shrink:0;width:6px;height:6px;border-radius:50%;
  background:#a3a3a3;
}
body.page-studio .gen-job-seq-hint{
  margin:0;font-size:10px;font-weight:500;color:#a3a3a3;line-height:1.35;
}
body.page-studio .gen-queue .gen-job-waiting.gen-job-pending .gen-job-img--pending::after{
  animation:none;background:none;
}
body.page-studio .gen-queue .gen-job-waiting.gen-job-pending .gen-job-img--pending>img,
body.page-studio .gen-queue .gen-job-waiting.gen-job-pending .gen-job-ph{
  animation:none;opacity:.38;filter:saturate(.72);
}
body.page-studio .gen-job-waiting .gen-job-progress,
body.page-studio .gen-job-waiting .gen-job-pct{display:none}
body.page-studio .gen-job-waiting .gen-job-overlay{
  background:rgba(255,255,255,.9);
}
body.page-studio .gen-job-waiting .gen-job-status{color:#78716c;font-weight:600}
body.page-studio .gen-job-card--sequential.gen-job-pending .gen-job-img--pending::after{
  animation-duration:1.35s;
}
body.page-studio .gen-job-progress{width:100%}
body.page-studio .gen-job-progress-track{
  height:7px;border-radius:999px;background:rgba(15,23,42,.1);
  overflow:hidden;box-shadow:inset 0 1px 2px rgba(15,23,42,.06);
}
body.page-studio .gen-job-progress-fill{
  height:100%;width:6%;border-radius:999px;
  background:linear-gradient(90deg,#2dd4bf,#0d9488 45%,#008f72);
  transition:width .5s cubic-bezier(.22,1,.36,1);
  position:relative;overflow:hidden;
}
body.page-studio .gen-job-progress-fill::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);
  animation:gen-bar-shine 1.8s ease-in-out infinite;
}
@keyframes gen-bar-shine{
  0%{transform:translateX(-120%)}
  100%{transform:translateX(120%)}
}
body.page-studio .gen-job-pct{
  font-size:11px;font-weight:600;color:#525252;font-variant-numeric:tabular-nums;
}
body.page-studio .gen-queue .gen-job-spin{
  width:16px;height:16px;border-width:2px;border-color:#111;border-top-color:transparent;
}
body.page-studio .gen-job-pack .yq-feed-head{padding:10px 14px}
body.page-studio .gen-job-overlay-err{
  background:rgba(255,255,255,.88);color:#991b1b;gap:8px;padding:20px 16px;
}
body.page-studio .gen-job-img-err>img{filter:saturate(.55) brightness(.92)}
body.page-studio .gen-job-err-ico{
  width:36px;height:36px;border-radius:50%;background:#fee2e2;color:#dc2626;
  display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;
  flex-shrink:0;border:1.5px solid rgba(220,38,38,.18);
}
body.page-studio .gen-job-err-title{
  font-size:13px;font-weight:700;color:#dc2626;line-height:1.3;
}
body.page-studio .gen-job-err-msg{
  margin:0;font-size:12px;font-weight:500;color:#737373;line-height:1.45;
  text-align:center;max-width:92%;word-break:break-word;
}
body.page-studio .gen-job-foot{
  padding:12px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;
}
body.page-studio .gen-job-tag{
  font-size:12px;font-weight:600;color:#525252;
}
body.page-studio .gen-job-tag-err{color:#dc2626}
body.page-studio .gen-job-actions{margin-left:auto;display:flex;flex-wrap:wrap;gap:6px}
body.page-studio .gen-job-actions .wb-btn{padding:0 12px;font-size:12px}
body.page-studio .gen-job-pack{padding:0;max-width:100%}
body.page-studio .gen-job-pack-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;
}
body.page-studio .gen-job-pack-item{position:relative;display:flex;flex-direction:column;gap:0}
body.page-studio .gen-job-pack-preview{
  width:100%;border:none;padding:0;background:none;cursor:zoom-in;
  border-radius:10px;overflow:hidden;line-height:0;
}
body.page-studio .gen-job-pack-preview img{
  width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px;background:#ececec;display:block;
}
body.page-studio .gen-job-pack-grid:has(.gen-job-pack-item:only-child){
  grid-template-columns:1fr;justify-items:center;
}
body.page-studio .gen-job-pack-grid:has(.gen-job-pack-item:only-child) .gen-job-pack-item{
  width:min(320px,72vw);
}
body.page-studio .gen-job-pack-grid:has(.gen-job-pack-item:only-child) .gen-job-pack-preview img{
  aspect-ratio:3/4;max-height:min(56vh,480px);object-fit:cover;background:#ececec;
}
body.page-studio .gen-job-pack-lbl{
  font-size:12px;color:#525252;margin-top:8px;line-height:1.5;
  display:flex;flex-wrap:wrap;align-items:center;gap:6px;
}
body.page-studio .gen-job-pack-lbl a,body.page-studio .gen-job-pack-lbl .gen-job-dl{
  color:#1677ff;font-weight:600;text-decoration:none;padding:2px 4px;
}
body.page-studio .gen-job-pack-lbl .gen-job-dl{
  border:none;background:none;cursor:pointer;font-size:inherit;font-family:inherit;
}
.wb-active-gen{
  display:inline-flex;align-items:center;gap:7px;padding:5px 12px 5px 10px;border-radius:999px;
  background:rgba(13,148,136,.08);color:#0f766e;font-size:11px;font-weight:600;
  border:1px solid rgba(13,148,136,.18);margin-right:8px;
  font-variant-numeric:tabular-nums;
}
.wb-active-gen::before{
  content:'';flex-shrink:0;width:6px;height:6px;border-radius:50%;
  background:#14b8a6;box-shadow:0 0 0 0 rgba(20,184,166,.45);
  animation:wb-gen-pulse 1.6s ease-in-out infinite;
}
@keyframes wb-gen-pulse{
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(20,184,166,.45)}
  50%{transform:scale(1.1);box-shadow:0 0 0 5px rgba(20,184,166,0)}
}
body.page-studio .result-panel{width:100%;max-width:min(1200px,100%)}
body.page-studio .wb-result-card{max-width:100%;width:100%}
body.page-studio .wb-result-img-wrap{
  display:flex;align-items:center;justify-content:center;
  min-height:280px;max-height:calc(100vh - 260px);padding:20px;
}
body.page-studio .wb-result-card .result-img{
  width:auto;max-width:100%;max-height:calc(100vh - 280px);
  object-fit:contain;margin:0 auto;
}
body.page-studio .wb-pack-grid{
  width:100%;max-width:none;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
}
body.page-studio .wb-history-grid{
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
}
body.page-studio .sc-case-grid{
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;
}
@media(min-width:1100px){
  body.page-studio .wb-empty{max-width:640px}
  body.page-studio .wb-empty h3{font-size:22px}
  body.page-studio .wb-steps{
    flex-direction:row;gap:12px;margin-top:28px;
  }
  body.page-studio .wb-steps li{flex:1;min-width:0}
}
.wb-topbar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:var(--ecom-user-dock-gap, 12px) 20px 12px;
  background:#fff;border-bottom:none;flex-shrink:0;
  box-shadow:var(--shadow-topbar);
  position:relative;z-index:3;
}
.wb-topbar-main{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 0;position:relative;z-index:1;pointer-events:none}
.wb-topbar-main > *{pointer-events:auto}
.wb-heading{margin:0;font-size:16px;font-weight:700;color:#111;letter-spacing:-.02em}
.wb-tabs{
  position:absolute;left:50%;top:0;bottom:0;transform:translateX(-50%);
  display:flex;align-items:center;gap:4px;padding:3px;background:#f0f0f0;border-radius:999px;
  margin-top:auto;margin-bottom:auto;height:fit-content;max-height:100%;
  z-index:3;pointer-events:none;
}
.wb-tab-indicator,.seg-slide-indicator--tab{
  position:absolute;top:0;left:0;border-radius:999px;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08);
  pointer-events:none;z-index:0;opacity:0;
}
.seg-slide-indicator{
  position:absolute;top:0;left:0;
  pointer-events:none!important;z-index:0;opacity:0;
  transition:transform var(--ecom-dur-fast) var(--ecom-ease-fluid),width var(--ecom-dur-fast) var(--ecom-ease-fluid),height var(--ecom-dur-fast) var(--ecom-ease-fluid),opacity .1s;
}
.seg-indicator-host{position:relative}
.seg-indicator-host .wb-tab,
.seg-indicator-host button,
.seg-indicator-host .hist-cat,
.seg-indicator-host .home-showcase-tab,
.seg-indicator-host .home-case-tag,
.seg-indicator-host .broker-case-tag,
.seg-indicator-host .ecom-rc-tab,
.seg-indicator-host .sidebar-nav-item,
.seg-indicator-host .nav-sub-item,
.seg-indicator-host .nav-wf-item,
.seg-indicator-host .seg-pill,
.seg-indicator-host .scene-tab,
.seg-indicator-host .region-tab{
  position:relative;z-index:1;
}
.seg-slide-indicator.no-transition{transition:none!important}
.seg-slide-indicator--dark{background:var(--text)}
.seg-slide-indicator--home-case{
  background:#fff;border-radius:999px;
  box-shadow:0 1px 2px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04);
}
.seg-slide-indicator--light{background:rgba(0,0,0,.06)}
.seg-slide-indicator--accent{
  background:var(--accent);
  box-shadow:0 1px 4px rgba(37,99,235,.32);
}
.seg-slide-indicator--tab{
  transition:transform var(--ecom-dur-fast) var(--ecom-ease-fluid),width var(--ecom-dur-fast) var(--ecom-ease-fluid),height var(--ecom-dur-fast) var(--ecom-ease-fluid),opacity .1s;
}
.wb-tab-indicator{
  transition:transform var(--ecom-dur-fast) var(--ecom-ease-fluid),width var(--ecom-dur-fast) var(--ecom-ease-fluid),height var(--ecom-dur-fast) var(--ecom-ease-fluid),opacity .1s;
}
.wb-tab{
  position:relative;z-index:1;pointer-events:auto;
  border:none;background:transparent;color:#737373;font-size:var(--wb-tab-fs);font-weight:500;
  line-height:1;padding:var(--wb-tab-py) var(--wb-tab-px);border-radius:999px;cursor:pointer;transition:color var(--ecom-dur-ui) var(--ecom-ease-fluid),background var(--ecom-dur-ui) var(--ecom-ease-fluid);
  white-space:nowrap;
}
.wb-tab.on{background:transparent;color:#111;box-shadow:none;font-weight:600}
.wb-topbar-actions{
  flex:1 1 0;min-width:0;
  margin-left:0;flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;z-index:1;
  position:relative;overflow:visible;pointer-events:none;
}
.wb-topbar-actions > *{pointer-events:auto}
.wb-credits-pill{
  display:inline-flex;align-items:center;padding:var(--wb-tab-py) var(--wb-tab-px);border-radius:999px;
  background:#ecfdf5;color:#047857;font-size:var(--wb-tab-fs);font-weight:600;line-height:1;
  border:1px solid rgba(16,185,129,.15);
}

/* 用户菜单 · 对齐由前 AI 顶栏 + 下拉面板 */
.ecom-user-dock{
  position:fixed;top:var(--ecom-user-dock-gap, 12px);right:16px;z-index:220;display:flex;justify-content:flex-end;
  pointer-events:none;
}
.ecom-user-dock .ecom-user-bar{pointer-events:auto}
.ecom-user-bar{
  --ecom-user-ctrl-h:30px;
  --ecom-user-py:8px;
  --ecom-user-px:16px;
  --ecom-user-fs:13px;
  --ecom-user-icon:16px;
  display:flex;align-items:center;gap:10px;flex-shrink:0;
  position:relative;overflow:visible;
}
.ecom-user-bar--guest{gap:8px}
.ecom-user-link{
  font-size:var(--ecom-user-fs);font-weight:600;color:var(--text-2,#52525b);text-decoration:none;
  padding:var(--ecom-user-py) var(--ecom-user-px);border-radius:999px;line-height:1;
}
.ecom-user-link:hover{color:var(--text,#141414);background:rgba(0,0,0,.04)}
.ecom-user-link--primary{
  background:#111;color:#fff!important;
}
.ecom-user-link--primary:hover{opacity:.9;background:#111;color:#fff!important}
.ecom-user-pill{
  display:inline-flex;align-items:center;justify-content:center;
  gap:5px;
  height:var(--ecom-user-ctrl-h);min-height:0;max-height:var(--ecom-user-ctrl-h);
  padding:0 var(--ecom-user-px);border-radius:999px;box-sizing:border-box;
  font-size:var(--ecom-user-fs);font-weight:600;line-height:1;text-decoration:none;border:1px solid transparent;
  transition:background .15s,border-color .15s,transform .15s;white-space:nowrap;
  cursor:pointer;font:inherit;margin:0;appearance:none;-webkit-appearance:none;
}
.ecom-user-bar .ico svg{
  width:var(--ecom-user-icon);height:var(--ecom-user-icon);
}
.ecom-user-pill .ico{color:inherit}
.ecom-user-pill--credits{
  background:#fff;color:#111;border-color:#ebebeb;box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.ecom-user-pill--credits #creditBadge{
  font-size:var(--ecom-user-fs);font-weight:700;
}
.ecom-user-pill--credits:hover{background:#fafafa;border-color:#e0e0e0}
.ecom-user-pill--upgrade{
  background:linear-gradient(135deg,#fff7d6 0%,#ffe8a3 100%);color:#8a6d00;
  border-color:rgba(212,167,0,.25);box-shadow:0 1px 3px rgba(180,130,0,.08);
}
.ecom-user-pill--upgrade-dark{
  background:#111;color:#f5d76e;border-color:#111;box-shadow:0 1px 2px rgba(0,0,0,.04);
  font-size:var(--ecom-user-fs);
}
.ecom-user-pill--upgrade-dark .ico{color:#f5d76e}
.ecom-user-pill--upgrade-dark:hover{opacity:.92;transform:translateY(-1px)}
.ecom-user-pill--upgrade:hover{filter:brightness(.98);transform:translateY(-1px)}
.ecom-user-icon-btn--bell{position:relative}
.ecom-notify-badge{
  position:absolute;top:-3px;right:-3px;
  min-width:14px;height:14px;padding:0 3px;
  border-radius:999px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;
  line-height:14px;text-align:center;box-shadow:0 0 0 2px #fff;
}
.ecom-user-id-row{display:flex;align-items:center;gap:4px}
.ecom-user-copy-id{
  width:22px;height:22px;border:none;background:transparent;border-radius:6px;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#a3a3a3;
}
.ecom-user-copy-id:hover{background:rgba(0,0,0,.05);color:#525252}
.ecom-user-upgrade-card--dark{
  background:linear-gradient(135deg,#1a1a1a 0%,#2d2d2d 100%);border-color:rgba(255,255,255,.08);
  color:#fff;margin-bottom:10px;
}
.ecom-user-upgrade-card--dark .ecom-user-upgrade-ic{background:rgba(255,255,255,.08);color:#f5d76e}
.ecom-user-upgrade-card--dark .ecom-user-upgrade-copy strong{color:#fff}
.ecom-user-upgrade-card--dark .ecom-user-upgrade-copy em{color:rgba(255,255,255,.55)}
.ecom-user-upgrade-card .ecom-user-upgrade-btn{
  flex-shrink:0;padding:2px 6px;border-radius:999px;
  background:linear-gradient(135deg,#1a1a1a 0%,#2b2b2b 100%);
  color:#f5d76e;font-family:inherit;font-size:10px;font-weight:700;letter-spacing:.02em;
  text-decoration:none;border:1px solid rgba(0,0,0,.18);cursor:pointer;line-height:1.2;
  box-shadow:0 1px 2px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .12s,box-shadow .12s,filter .12s;
}
.ecom-user-upgrade-card .ecom-user-upgrade-btn:hover{
  transform:translateY(-1px);filter:brightness(1.08);
  box-shadow:0 2px 5px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.08);
}
.ecom-user-upgrade-card--dark .ecom-user-upgrade-btn{
  background:linear-gradient(135deg,#f5d76e 0%,#e8c547 100%);
  color:#1a1a1a;border-color:rgba(255,255,255,.12);
  box-shadow:0 1px 3px rgba(0,0,0,.2);
}
.ecom-user-upgrade-card--dark .ecom-user-upgrade-btn:hover{filter:brightness(1.04)}
.ecom-credits-pop,.ecom-notify-panel{
  position:fixed;z-index:350;
  background:var(--surface,#fff);border:1px solid rgba(10,10,10,.08);border-radius:16px;
  box-shadow:0 16px 48px rgba(15,23,42,.14);
}
@media (hover:hover) and (pointer:fine){
  .ecom-credits-pop::before,.ecom-notify-panel::before{
    content:"";position:absolute;left:0;right:0;top:-12px;height:12px;
  }
}
.ecom-credits-pop{width:min(280px,calc(100vw - 24px));padding:16px}
.ecom-notify-panel{
  width:min(400px,calc(100vw - 24px));padding:0;overflow:hidden;
}
.ecom-credits-pop-hd{
  display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;
}
.ecom-credits-pop-hd span{font-size:14px;font-weight:700;color:#111}
.ecom-notify-panel-top{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 16px 0;border-bottom:1px solid #f0f0f0;
}
.ecom-notify-tabs{display:flex;align-items:center;gap:20px;min-width:0}
.ecom-notify-tab{
  position:relative;display:inline-flex;align-items:center;gap:6px;
  padding:0 0 12px;border:none;background:transparent;font:inherit;
  font-size:14px;font-weight:500;color:#a3a3a3;cursor:pointer;white-space:nowrap;
  transition:color .15s;
}
.ecom-notify-tab::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;
  background:#111;transform:scaleX(0);transition:transform .15s;
}
.ecom-notify-tab.on{color:#111;font-weight:700}
.ecom-notify-tab.on::after{transform:scaleX(1)}
.ecom-notify-tab-badge{
  min-width:16px;height:16px;padding:0 4px;border-radius:999px;
  background:#ef4444;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;
}
.ecom-notify-mark-all{
  flex-shrink:0;border:none;background:transparent;padding:0 0 12px;
  font:inherit;font-size:12px;color:#a3a3a3;cursor:pointer;white-space:nowrap;
  transition:color .15s;
}
.ecom-notify-mark-all:hover{color:#525252}
.ecom-notify-body{min-height:220px;max-height:min(520px,70vh);overflow:hidden}
.ecom-notify-pane{height:100%;overflow-y:auto}
.ecom-notify-empty-state{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;padding:48px 24px 56px;text-align:center;color:#a3a3a3;
}
.ecom-notify-empty-ic{display:flex;align-items:center;justify-content:center;color:#d4d4d4}
.ecom-notify-empty-state p{margin:0;font-size:13px}
.ecom-credits-pop-info{
  width:28px;height:28px;border:none;border-radius:8px;background:#f5f5f5;color:#737373;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background .12s,color .12s;
}
.ecom-credits-pop-info:hover{background:#ebebeb;color:#525252}
.ecom-credits-pop-balance{
  display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 0 14px;
  font-size:36px;font-weight:800;color:#111;line-height:1;
}
.ecom-credits-pop-balance .ico{color:#eab308}
.ecom-credits-pop-buckets{
  display:flex;flex-direction:column;gap:4px;margin:-6px 0 12px;font-size:11px;line-height:1.45;color:#64748b
}
.ecom-credits-pop-buckets b{color:#111;font-weight:600}
.ecom-credits-pop-sub-hint{
  margin:0 0 10px;padding:8px 10px;border-radius:8px;background:#f8fafc;font-size:12px;line-height:1.45;color:#64748b
}
.ecom-credits-pop-cta{
  display:block;width:100%;text-align:center;padding:12px;border-radius:12px;text-decoration:none;
  font-size:14px;font-weight:700;color:#fff;border:0;cursor:pointer;font:inherit;
  background:linear-gradient(135deg,#ff8a4c 0%,#ff6b35 100%);
  box-shadow:0 4px 14px rgba(255,107,53,.28);margin-bottom:10px;
  transition:filter .12s,transform .12s;
}
.ecom-credits-pop-cta:hover{filter:brightness(.98);transform:translateY(-1px)}
.ecom-credits-pop-link{
  width:100%;border:none;background:transparent;padding:8px 0;font:inherit;font-size:13px;
  font-weight:600;color:#525252;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;
  transition:color .12s;
}
.ecom-credits-pop-link:hover{color:#111}
.ecom-notify-list{padding:0;display:flex;flex-direction:column}
.ecom-notify-item{
  position:relative;padding:14px 16px;border:none;border-bottom:1px solid #f0f0f0;
  background:#fff;transition:background .12s;cursor:pointer;
}
.ecom-notify-item.is-alt{background:#f5f5f5}
.ecom-notify-item:last-child{border-bottom:none}
.ecom-notify-item:hover{background:#fafafa}
.ecom-notify-item.is-alt:hover{background:#efefef}
.ecom-notify-item.is-unread{background:#fafbff}
.ecom-notify-item.is-unread.is-alt{background:#f3f6ff}
.ecom-notify-item-dot{
  position:absolute;right:14px;top:16px;width:7px;height:7px;border-radius:50%;background:#ef4444;
}
.ecom-notify-item-hd{
  display:flex;align-items:center;gap:8px;margin-bottom:8px;min-width:0;
}
.ecom-notify-item-ic{
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  width:22px;height:22px;border-radius:50%;background:#ede9fe;color:#7c3aed;
}
.ecom-notify-item.is-alt .ecom-notify-item-ic{background:#dbeafe;color:#2563eb}
.ecom-notify-item-kind{font-size:12px;font-weight:600;color:#525252;flex-shrink:0}
.ecom-notify-item-hd time{
  margin-left:auto;font-size:11px;color:#a3a3a3;white-space:nowrap;
}
.ecom-notify-item-cover{
  margin:0 auto 10px;border-radius:8px;overflow:hidden;background:#f5f5f5;line-height:0;
  width:100%;max-width:100%;
}
.ecom-notify-item-cover img{display:block;width:100%;height:auto;max-height:160px;object-fit:contain}
.ecom-notify-item h4{margin:0 0 6px;font-size:13px;font-weight:700;color:#111;line-height:1.45}
.ecom-notify-item p{margin:0;font-size:12px;line-height:1.55;color:#525252}
.ecom-modal--announce{
  width:560px;height:640px;min-height:640px;max-height:640px;
}
.ecom-ann-hd{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 22px;border-bottom:1px solid #f0f0f0;flex-shrink:0;
}
.ecom-ann-hd-title{
  display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#111;
}
.ecom-ann-hd-ic{display:inline-flex;color:#2563eb}
.ecom-ann-tabs{
  display:flex;align-items:center;gap:8px;padding:12px 22px 0;flex-shrink:0;
  border-bottom:1px solid #f0f0f0;
}
.ecom-ann-tabs[hidden]{display:none!important}
.ecom-ann-switch{
  border:none;background:transparent;padding:0 4px 10px;font:inherit;font-size:14px;font-weight:600;
  color:#a3a3a3;cursor:pointer;position:relative;
}
.ecom-ann-switch.on{color:#111}
.ecom-ann-switch.on::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:#2563eb;border-radius:2px;
}
.ecom-ann-sticky-hd{
  flex-shrink:0;padding:18px 28px 12px;border-bottom:1px solid #f5f5f5;background:#fff;
}
.ecom-ann-scroll{
  flex:1;min-height:0;overflow-y:auto;padding:16px 28px 20px;
}
.ecom-ann-headline{
  margin:0;font-size:22px;font-weight:800;line-height:1.35;color:#111;letter-spacing:-.02em;
}
.ecom-ann-sticky-hd .ecom-ann-lead{
  margin:10px 0 0;font-size:14px;line-height:1.65;color:#525252;
}
.ecom-ann-lead{
  margin:0 0 16px;font-size:14px;line-height:1.65;color:#525252;
}
.ecom-ann-cover{
  margin:0 auto 18px;border-radius:12px;overflow:hidden;background:#f5f5f5;
  width:100%;max-width:100%;
}
.ecom-ann-cover-btn{
  display:block;width:100%;border:none;padding:0;margin:0;background:transparent;cursor:zoom-in;
  position:relative;
}
.ecom-ann-cover-btn img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.ecom-ann-cover-tip{
  position:absolute;right:10px;bottom:10px;padding:4px 10px;border-radius:999px;
  background:rgba(15,23,42,.55);color:#fff;font-size:11px;font-weight:600;
}
.ecom-ann-text p,.ecom-ann-list span{
  margin:0 0 14px;font-size:14px;line-height:1.75;color:#525252;
}
.ecom-ann-list{
  margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:16px;
}
.ecom-ann-list li{display:flex;flex-direction:column;gap:4px}
.ecom-ann-list li strong{font-size:14px;font-weight:700;color:#111;line-height:1.55}
.ecom-ann-foot{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 22px 20px;border-top:1px solid #f0f0f0;flex-shrink:0;
}
.ecom-ann-time{font-size:13px;color:#a3a3a3}
.ecom-ann-ok{
  border:none;border-radius:999px;padding:11px 26px;font:inherit;font-size:14px;font-weight:600;
  color:#fff;background:#2563eb;cursor:pointer;transition:background .15s;
}
.ecom-ann-ok:hover{background:#1d4ed8}
.ecom-ann-lightbox{
  position:fixed;inset:0;z-index:600;display:flex;align-items:center;justify-content:center;
  padding:24px;background:rgba(15,23,42,.82);pointer-events:auto;
}
.ecom-ann-lightbox[hidden]{display:none!important}
.ecom-ann-lightbox img{max-width:min(96vw,1200px);max-height:92vh;width:auto;height:auto;object-fit:contain;border-radius:8px}
.ecom-ann-lightbox-x{
  position:absolute;top:16px;right:16px;width:40px;height:40px;border:none;border-radius:50%;
  background:rgba(255,255,255,.15);color:#fff;font-size:24px;line-height:1;cursor:pointer;
}
.ecom-ann-lightbox-x:hover{background:rgba(255,255,255,.25)}
.ecom-modal-layer{
  position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;
  padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));
  pointer-events:none;
}
.ecom-modal-layer:not([hidden]){pointer-events:auto}
.ecom-modal-layer[hidden]{display:none!important}
.ecom-modal-backdrop{
  position:absolute;inset:0;background:rgba(15,23,42,.45);pointer-events:auto;
  transition:opacity var(--ecom-dur-modal) ease;
}
#ecomModalLayer.ecom-motion-in .ecom-modal-backdrop{opacity:0}
#ecomModalLayer.ecom-motion-in.ecom-motion-visible .ecom-modal-backdrop{opacity:1}
.ecom-modal-slot{
  position:relative;z-index:1;width:100%;max-width:100%;
  display:grid;place-items:center;pointer-events:none;
}
.ecom-modal-layer .ecom-modal{
  position:relative;left:auto;top:auto;transform:none;grid-area:1/1;
  width:min(680px,calc(100vw - 32px));height:min(680px,calc(100vh - 48px));
  min-height:min(680px,calc(100vh - 48px));max-height:min(680px,calc(100vh - 48px));
  background:var(--surface,#fff);border-radius:18px;box-shadow:0 24px 64px rgba(15,23,42,.18);
  display:flex;flex-direction:column;overflow:hidden;pointer-events:auto;
  transition:opacity var(--ecom-dur-modal) var(--ecom-ease-out),transform var(--ecom-dur-modal) var(--ecom-ease-out);
  will-change:opacity,transform;
}
.ecom-modal.ecom-motion-in{opacity:0;transform:translateY(10px) scale(.985)}
.ecom-modal.ecom-motion-in.ecom-motion-visible{opacity:1;transform:translateY(0) scale(1)}
.ecom-modal-layer .ecom-modal[hidden]{display:none!important;pointer-events:none}
.ecom-modal-layer .ecom-modal.ecom-modal--announce{
  width:560px;height:640px;min-height:640px;max-height:640px;
}
@media(max-width:600px){
  .ecom-modal-layer .ecom-modal.ecom-modal--announce{
    width:calc(100vw - 32px);height:min(640px,calc(100vh - 48px));
    min-height:min(640px,calc(100vh - 48px));max-height:min(640px,calc(100vh - 48px));
  }
}
.ecom-modal-mask{
  position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:400;
}
.ecom-modal{
  position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:401;
  width:min(680px,calc(100vw - 32px));height:min(680px,calc(100vh - 48px));
  min-height:min(680px,calc(100vh - 48px));max-height:min(680px,calc(100vh - 48px));
  background:var(--surface,#fff);border-radius:18px;box-shadow:0 24px 64px rgba(15,23,42,.18);
  display:flex;flex-direction:column;overflow:hidden;
}
.ecom-modal--rules{width:min(680px,calc(100vw - 32px))}
body.ecom-modal-open{overflow:hidden}
.ecom-modal-hd{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 18px;border-bottom:1px solid #f0f0f0;flex-shrink:0;
}
.ecom-modal-hd h3{margin:0;font-size:16px;font-weight:700;color:#111}
.ecom-modal-hd-title{display:flex;align-items:center;gap:6px;min-width:0}
.ecom-modal-hd-info{
  width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:#a3a3a3;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;
  transition:background .12s,color .12s;
}
.ecom-modal-hd-info:hover{background:#f5f5f5;color:#737373}
.ecom-modal-close{
  width:32px;height:32px;border:none;border-radius:8px;background:transparent;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#737373;
}
.ecom-modal-close:hover{background:#f5f5f5;color:#111}
.ecom-modal-body{
  padding:14px 18px 18px;overflow:hidden;min-height:0;flex:1;
  display:flex;flex-direction:column;
}
.ecom-credit-summary{
  margin:0 0 12px;padding:12px 14px;background:#f8fafc;border-radius:12px;flex-shrink:0;
}
.ecom-credit-summary-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;
}
.ecom-credit-summary-balance{display:flex;align-items:baseline;gap:6px;min-width:0}
.ecom-credit-summary-num{font-size:22px;font-weight:800;color:#111;line-height:1;letter-spacing:-.02em}
.ecom-credit-summary-label{font-size:12px;font-weight:500;color:#737373;white-space:nowrap}
.ecom-credit-summary-formula{
  margin:0;font-size:11px;color:#a3a3a3;line-height:1.4;text-align:right;flex-shrink:0;
}
.ecom-credit-summary-formula b{color:#525252;font-weight:600}
.ecom-credit-summary-strip{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  background:#fff;border:1px solid #eef2f6;border-radius:8px;overflow:hidden;
}
.ecom-credit-bucket{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  padding:7px 4px;min-height:52px;
  border-right:1px solid #eef2f6;
}
.ecom-credit-bucket:last-child{border-right:none}
.ecom-credit-bucket-label{font-size:11px;color:#a3a3a3;line-height:1.2}
.ecom-credit-bucket-val{font-size:15px;font-weight:700;color:#111;line-height:1.2}
.ecom-credit-bucket-exp{
  font-size:10px;color:#737373;line-height:1.2;text-align:center;
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.ecom-credit-bucket-exp.is-empty{color:#c4c4c4}
.ecom-user-tier-pill--sub{background:#eff6ff;color:#2563eb;margin-left:4px}
.ecom-credit-tabs{
  display:flex;gap:8px;margin-bottom:12px;padding:4px;background:#f5f5f5;border-radius:999px;flex-shrink:0;
}
.ecom-credit-tab{
  flex:1;border:none;background:transparent;border-radius:999px;padding:8px 10px;
  font:inherit;font-size:13px;font-weight:600;color:#737373;cursor:pointer;
}
.ecom-credit-tab.on{background:#fff;color:#111;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.ecom-credit-list{
  display:flex;flex-direction:column;gap:0;flex:1;min-height:0;overflow-y:auto;
}
.ecom-credit-item{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 0;border-bottom:1px solid #f0f0f0;
}
.ecom-credit-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.ecom-credit-item-main b{font-size:13px;font-weight:600;color:#111}
.ecom-credit-item-main span{font-size:11px;color:#a3a3a3}
.ecom-credit-item em{font-style:normal;font-size:14px;font-weight:700;flex-shrink:0}
.ecom-credit-item em.plus{color:#047857}
.ecom-credit-item em.minus{color:#ef4444}
.ecom-credit-loading,.ecom-credit-empty{
  margin:0;padding:28px 8px;text-align:center;color:#a3a3a3;font-size:13px;
}
.ecom-credit-footnote{
  margin:12px 0 8px;font-size:11px;color:#a3a3a3;text-align:center;line-height:1.5;flex-shrink:0;
}
.ecom-credit-rules-link{
  display:block;width:100%;border:none;background:transparent;font:inherit;
  font-size:13px;font-weight:600;color:#2563eb;cursor:pointer;text-align:center;padding:8px;flex-shrink:0;
}
.ecom-rules-body{font-size:13px;line-height:1.65;color:#525252;overflow-y:auto;min-height:0;flex:1}
.ecom-rules-sec{margin-bottom:16px}
.ecom-rules-sec h4{margin:0 0 8px;font-size:14px;font-weight:700;color:#111}
.ecom-rules-sec ul{margin:0;padding-left:18px}
.ecom-rules-sec li{margin-bottom:6px}
.ecom-user-icon-btn{
  width:var(--ecom-user-ctrl-h);height:var(--ecom-user-ctrl-h);border-radius:50%;
  border:1px solid #ebebeb;background:#fff;box-sizing:border-box;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#525252;
  transition:background .15s,border-color .15s;margin:0;padding:0;
  appearance:none;-webkit-appearance:none;
}
.ecom-user-icon-btn:hover{background:#fafafa;border-color:#ddd}
.ecom-user-wrap{position:relative}
@media (hover:hover) and (pointer:fine){
  .ecom-user-trigger::after{
    content:"";position:absolute;left:-4px;right:-4px;top:100%;height:12px;
  }
  .ecom-user-panel::before{
    content:"";position:absolute;left:0;right:0;top:-12px;height:12px;
  }
  .sidebar-appearance-dock::after{
    content:"";position:absolute;left:-8px;right:-8px;bottom:100%;height:10px;
  }
  .sidebar-appearance-menu::before{
    content:"";position:absolute;left:0;right:0;bottom:100%;height:10px;
  }
  .home-ref-slot.has-refs::after{
    content:"";position:absolute;left:0;right:0;top:100%;height:10px;
  }
  .home-ref-popover::before{
    content:"";position:absolute;left:0;right:0;top:-10px;height:10px;
  }
}
.ecom-user-trigger{
  position:relative;
  width:var(--ecom-user-ctrl-h);height:var(--ecom-user-ctrl-h);border-radius:50%;
  border:2px solid #fff;background:#fff;box-sizing:border-box;flex-shrink:0;
  padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
  transition:box-shadow .15s,border-color .15s,transform .15s;margin:0;
  box-shadow:0 2px 8px rgba(15,23,42,.12),0 0 0 1px rgba(0,0,0,.08);
  appearance:none;-webkit-appearance:none;
}
.ecom-user-trigger:hover{
  border-color:#fff;
  box-shadow:0 4px 12px rgba(15,23,42,.16),0 0 0 1px rgba(0,0,0,.1);
  transform:translateY(-1px);
}
.ecom-user-trigger[aria-expanded="true"]{
  border-color:#fff;
  box-shadow:0 0 0 2px rgba(17,17,17,.12),0 4px 12px rgba(15,23,42,.14);
}
.ecom-user-avatar,.ecom-user-panel-avatar{
  width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--yq-avatar-bg,#fff);color:var(--yq-avatar-fg,#0a0a0a);
  box-sizing:border-box;font-weight:700;overflow:hidden;
}
.ecom-user-trigger .ecom-user-avatar:not(.ecom-user-avatar--img){font-size:12px;border:none;box-shadow:none;background:transparent}
.ecom-user-avatar--img,.ecom-user-panel-avatar.ecom-user-avatar--img{background:transparent;padding:0;overflow:hidden}
/* 头像 · 精致圆盘（单层、轻阴影） */
.ecom-avatar-3d{
  position:relative;isolation:isolate;
  background:#fff;border:none;
  box-shadow:
    0 1px 2px rgba(15,23,42,.05),
    0 4px 14px rgba(15,23,42,.09),
    0 0 0 1px rgba(15,23,42,.06);
}
.ecom-avatar-3d::after{
  content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none;z-index:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92);
}
.ecom-avatar-3d.ecom-user-avatar--custom{
  background:transparent;
  box-shadow:
    0 2px 8px rgba(15,23,42,.10),
    0 8px 22px rgba(15,23,42,.07),
    0 0 0 1px rgba(15,23,42,.07);
}
.ecom-avatar-3d.ecom-user-avatar--custom::after{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.ecom-avatar-img{max-width:100%;max-height:100%}
.ecom-user-trigger .ecom-user-avatar--img img,.ecom-user-panel-avatar.ecom-user-avatar--img img,.ecom-rc-avatar img,.rail-user-avatar img,.ecom-um-avatar-btn img{
  width:100%;height:100%;display:block;border-radius:50%;box-sizing:border-box;background:transparent;
}
.ecom-avatar-img.is-custom-photo,.ecom-user-avatar--custom img,.ecom-user-panel-avatar--custom img,.rail-user-avatar.ecom-user-avatar--custom img,.ecom-rc-avatar.ecom-user-avatar--custom img,.ecom-um-avatar-btn.ecom-user-avatar--custom img{object-fit:cover;padding:0;transform:none}
.ecom-avatar-img.is-default-logo,.ecom-user-trigger .ecom-user-avatar--default img,.ecom-user-trigger .ecom-user-avatar--img img.is-default-logo,.ecom-user-avatar--default img,.ecom-user-panel-avatar--default img,.ecom-user-panel-avatar.ecom-user-avatar--img img.is-default-logo,.rail-user-avatar.ecom-user-avatar--default img,.ecom-rc-avatar.ecom-user-avatar--default img,.ecom-rc-avatar img.is-default-logo,.ecom-um-avatar-btn.ecom-user-avatar--default img{
  width:68%;height:68%;border-radius:0;
  object-fit:contain;padding:0;background:transparent;transform:none;
}
.ecom-user-panel-avatar{width:38px;height:38px;flex-shrink:0;font-size:14px}
.ecom-user-panel{
  position:absolute;top:calc(100% + 4px);right:0;width:min(300px,calc(100vw - 24px));
  background:var(--surface,#fff);border:1px solid rgba(10,10,10,.08);border-radius:14px;
  box-shadow:0 16px 48px rgba(15,23,42,.12),0 0 0 1px rgba(0,0,0,.02);
  padding:10px 8px 8px;z-index:300;
}
.ecom-user-panel-head{
  display:flex;align-items:center;gap:8px;padding:2px 4px 10px;margin:0 2px;
  text-decoration:none;color:inherit;border-radius:10px;transition:background .12s;
}
.ecom-user-panel-head:hover{background:rgba(0,0,0,.03)}
.ecom-user-panel-meta{
  display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;flex:1;
  text-align:left;
}
.ecom-user-name-row{
  display:flex;align-items:center;gap:6px;min-width:0;max-width:100%;
}
.ecom-user-panel-meta b{
  font-size:14px;font-weight:700;color:var(--text,#111);line-height:1.25;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.ecom-user-tier-pill{
  flex-shrink:0;padding:2px 8px;border-radius:999px;
  background:#f0f0f0;color:#737373;font-size:11px;font-weight:600;line-height:1.35;
}
.ecom-user-tier-pill--admin{background:#eff6ff;color:#2563eb}
.ecom-user-id{font-size:11px;color:#a3a3a3;line-height:1.35}
.ecom-user-row-chev{
  flex-shrink:0;display:inline-flex;align-items:center;color:#c7c7cc;
}
.ecom-user-panel-head>.ecom-user-row-chev{margin-left:2px}
.ecom-user-upgrade-card{
  display:flex;align-items:center;gap:8px;margin:0 2px 6px;padding:9px 10px;
  border-radius:12px;text-decoration:none;
  background:linear-gradient(135deg,#fff9e8 0%,#fff3cc 100%);
  border:1px solid rgba(212,167,0,.14);
}
.ecom-user-upgrade-ic{
  width:32px;height:32px;border-radius:50%;background:#1d1d1f;
  display:flex;align-items:center;justify-content:center;color:#f5d76e;flex-shrink:0;
}
.ecom-user-upgrade-ic .ico svg{width:16px;height:16px}
.ecom-user-upgrade-copy{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0;text-align:left}
.ecom-user-upgrade-copy strong{font-size:12px;font-weight:700;color:#1d1d1f;line-height:1.3}
.ecom-user-upgrade-copy em{font-style:normal;font-size:10px;color:#8a7a50;line-height:1.35}
.ecom-user-balance-row{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  width:calc(100% - 4px);margin:0 2px 4px;padding:7px 6px;border-radius:8px;
  border:none;background:transparent;font:inherit;cursor:pointer;text-align:left;
  transition:background .12s;
}
.ecom-user-balance-row:hover{background:rgba(0,0,0,.03)}
.ecom-user-balance-left,.ecom-user-balance-right{
  display:inline-flex;align-items:center;gap:6px;
}
.ecom-user-balance-left{font-size:12px;font-weight:500;color:#525252}
.ecom-user-balance-left .ico{color:#eab308}
.ecom-user-balance-left .ico svg{width:14px;height:14px}
.ecom-user-balance-right{font-size:13px;font-weight:700;color:#111}
.ecom-user-balance-right .ecom-user-row-chev{margin-left:2px}
.ecom-user-balance-right .ecom-user-row-chev svg{width:14px;height:14px}
.ecom-user-section{padding:1px 0;text-align:left}
.ecom-user-section-hd{
  padding:4px 6px 1px;font-size:10px;font-weight:600;color:#a3a3a3;letter-spacing:.02em;
  text-align:left;
}
.ecom-user-section--appearance{padding-top:2px;border-top:1px solid #f0f0f0;margin-top:1px}
.ecom-user-appearance-row{
  display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 4px;
}
.ecom-user-section-hd-inline{font-size:12px;font-weight:500;color:#525252}
.ecom-user-row{
  display:flex;align-items:center;gap:7px;
  width:calc(100% - 4px);margin:0 2px;padding:7px 6px;
  border:none;background:transparent;border-radius:8px;font:inherit;font-size:12px;font-weight:500;
  color:var(--text,#171717);text-decoration:none;cursor:pointer;text-align:left;
  transition:background .12s;
}
.ecom-user-row .ico{color:#737373;flex-shrink:0;width:16px}
.ecom-user-row .ico svg{width:16px;height:16px}
.ecom-user-row-label{flex:1;text-align:left;min-width:0;line-height:1.3}
.ecom-user-row-meta{margin-right:4px;font-size:12px;font-weight:600;color:#64748b;white-space:nowrap}
.ecom-user-row-tag{
  flex-shrink:0;font-style:normal;font-size:10px;color:#a3a3a3;font-weight:500;
}
.ecom-user-row:hover{background:rgba(0,0,0,.04)}
.ecom-user-row--muted{cursor:default;opacity:.78}
.ecom-user-row--muted:hover{background:transparent}
.ecom-user-theme{
  display:flex;align-items:center;gap:2px;padding:3px;
  background:#f5f5f5;border-radius:10px;border:1px solid #ebebeb;
}
.ecom-user-theme-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;padding:0;border:none;border-radius:6px;
  background:transparent;cursor:pointer;color:#737373;
  transition:background .12s,color .12s,box-shadow .12s;
}
.ecom-user-theme-btn span{display:none}
.ecom-user-theme-btn .ico{display:inline-flex;color:inherit}
.ecom-user-theme-btn .ico svg{display:block;stroke:currentColor}
.ecom-user-theme-btn:hover{color:#525252;background:rgba(255,255,255,.55)}
.ecom-user-theme-btn.active{
  background:#fff;color:#171717;
  box-shadow:0 1px 2px rgba(15,23,42,.08);
}
.ecom-user-theme-btn .ico svg{width:15px;height:15px}
.ecom-user-logout{
  display:flex;align-items:center;justify-content:center;gap:5px;
  margin:4px 2px 0;padding:8px 6px;border-radius:8px;
  font-size:12px;font-weight:500;color:#737373;text-decoration:none;
  border-top:1px solid #f0f0f0;padding-top:12px;
  transition:background .12s,color .12s;
}
.ecom-user-logout .ico{color:#a3a3a3}
.ecom-user-logout:hover{background:#fafafa;color:#111}
html.dark .ecom-user-pill--credits{background:#1f1f1f;color:#f5f5f5;border-color:#333}
html.dark .ecom-user-icon-btn{background:#1f1f1f;border-color:#333;color:#d4d4d4}
html.dark .ecom-user-trigger{
  background:#1f1f1f;border-color:#52525b;color:#d4d4d4;
  box-shadow:0 2px 10px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.08);
}
html.dark .ecom-user-trigger:hover{
  border-color:#71717a;
  box-shadow:0 4px 14px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.1);
}
html.dark .rail-user-avatar,
html.dark .ecom-user-avatar--img,
html.dark .ecom-user-panel-avatar--img,
html.dark .ecom-rc-avatar,
html.dark .ecom-um-avatar-btn,
html.dark .ecom-avatar-3d.ecom-user-avatar--default{
  background:#fff;
  box-shadow:
    0 2px 10px rgba(0,0,0,.28),
    0 8px 24px rgba(0,0,0,.18),
    0 0 0 1px rgba(255,255,255,.14);
}
html.dark .ecom-avatar-3d.ecom-user-avatar--custom{
  background:transparent;
  box-shadow:
    0 2px 10px rgba(0,0,0,.32),
    0 8px 24px rgba(0,0,0,.22),
    0 0 0 1px rgba(255,255,255,.10);
}
html.dark .ecom-user-panel{background:#171717;border-color:#2a2a2a;box-shadow:0 16px 48px rgba(0,0,0,.45)}
html.dark .ecom-user-panel-head:hover{background:rgba(255,255,255,.04)}
html.dark .ecom-user-panel-meta b{color:#f5f5f5}
html.dark .ecom-user-tier-pill{background:#262626;color:#a3a3a3}
html.dark .ecom-user-tier-pill--admin{background:rgba(37,99,235,.15);color:#93c5fd}
html.dark .ecom-user-upgrade-card{background:linear-gradient(135deg,#2a2418 0%,#3d3420 100%);border-color:rgba(212,167,0,.12)}
html.dark .ecom-user-upgrade-copy strong{color:#f5f5f5}
html.dark .ecom-user-upgrade-copy em{color:rgba(245,245,245,.45)}
html.dark .ecom-user-upgrade-card .ecom-user-upgrade-btn{
  background:linear-gradient(135deg,#3d3420 0%,#2a2418 100%);
  color:#f5d76e;border-color:rgba(245,215,110,.22);
  box-shadow:0 1px 3px rgba(0,0,0,.25);
}
html.dark .ecom-user-upgrade-card .ecom-user-upgrade-btn:hover{filter:brightness(1.1)}
html.dark .ecom-user-balance-row:hover{background:rgba(255,255,255,.04)}
html.dark .ecom-user-balance-left{color:#a3a3a3}
html.dark .ecom-user-balance-right{color:#f5f5f5}
html.dark .ecom-user-section--appearance{border-top-color:#2a2a2a}
html.dark .ecom-user-section-hd-inline{color:#a3a3a3}
html.dark .ecom-user-row{color:#e5e5e5}
html.dark .ecom-user-row:hover{background:rgba(255,255,255,.06)}
html.dark .ecom-user-theme{background:#262626;border-color:#333}
html.dark .ecom-user-theme-btn{color:#a3a3a3}
html.dark .ecom-user-theme-btn:hover{color:#d4d4d4;background:rgba(255,255,255,.06)}
html.dark .ecom-user-theme-btn.active{
  background:#3f3f46;color:#fafafa;
  box-shadow:0 1px 2px rgba(0,0,0,.25);
}
html.dark .ecom-user-logout{color:#a3a3a3;border-top-color:#2a2a2a}
html.dark .ecom-user-logout:hover{background:#1f1f1f;color:#f5f5f5}
html.dark .ecom-notify-panel{background:#171717;border-color:#2a2a2a;box-shadow:0 16px 48px rgba(0,0,0,.45)}
html.dark .ecom-notify-panel-top{border-bottom-color:#2a2a2a}
html.dark .ecom-notify-tab{color:#737373}
html.dark .ecom-notify-tab.on{color:#f5f5f5}
html.dark .ecom-notify-tab.on::after{background:#f5f5f5}
html.dark .ecom-notify-mark-all{color:#737373}
html.dark .ecom-notify-mark-all:hover{color:#a3a3a3}
html.dark .ecom-notify-empty-ic{color:#525252}
html.dark .ecom-notify-item{background:#171717;border-bottom-color:#262626}
html.dark .ecom-notify-item.is-alt{background:#1f1f1f}
html.dark .ecom-notify-item:hover{background:#222}
html.dark .ecom-notify-item.is-alt:hover{background:#262626}
html.dark .ecom-notify-item.is-unread{background:rgba(59,130,246,.06)}
html.dark .ecom-notify-item.is-unread.is-alt{background:rgba(59,130,246,.08)}
html.dark .ecom-notify-item-ic{background:rgba(124,58,237,.18);color:#c4b5fd}
html.dark .ecom-notify-item.is-alt .ecom-notify-item-ic{background:rgba(37,99,235,.2);color:#93c5fd}
html.dark .ecom-notify-item-kind{color:#a3a3a3}
html.dark .ecom-notify-item h4{color:#f5f5f5}
html.dark .ecom-notify-item p{color:#a3a3a3}
html.dark .ecom-notify-item-cover{background:#262626}
html.dark .ecom-ann-sticky-hd{background:#171717;border-bottom-color:#262626}
html.dark .ecom-ann-tabs{border-bottom-color:#262626}
html.dark .ecom-ann-switch{color:#737373}
html.dark .ecom-ann-switch.on{color:#f5f5f5}
html.dark .ecom-ann-hd{border-bottom-color:#2a2a2a}
html.dark .ecom-ann-hd-title{color:#f5f5f5}
html.dark .ecom-ann-headline{color:#f5f5f5}
html.dark .ecom-ann-lead,html.dark .ecom-ann-text p,html.dark .ecom-ann-list span{color:#a3a3a3}
html.dark .ecom-ann-list li strong{color:#f5f5f5}
html.dark .ecom-ann-cover{background:#262626}
html.dark .ecom-ann-foot{border-top-color:#2a2a2a}
html.dark .ecom-ann-time{color:#737373}
html.dark .ecom-ann-ok{background:#3b82f6}
html.dark .ecom-ann-ok:hover{background:#2563eb}
html.dark .ecom-credits-pop{background:#171717;border-color:#2a2a2a;box-shadow:0 16px 48px rgba(0,0,0,.45)}
html.dark .ecom-credits-pop-hd span{color:#f5f5f5}
html.dark .ecom-credits-pop-info{background:#262626;color:#a3a3a3}
html.dark .ecom-credits-pop-info:hover{background:#333;color:#f5f5f5}
html.dark .ecom-credits-pop-balance,html.dark .ecom-credits-pop-balance b{color:#f5f5f5}
html.dark .ecom-credits-pop-buckets{color:#a1a1aa}
html.dark .ecom-credits-pop-buckets b{color:#f5f5f5}
html.dark .ecom-credits-pop-sub-hint{background:rgba(255,255,255,.04);color:#a1a1aa}
html.dark .ecom-credits-pop-link{color:#a3a3a3}
html.dark .ecom-credits-pop-link:hover{color:#f5f5f5}
html.dark .ecom-modal-layer .ecom-modal,html.dark .ecom-modal{background:#171717;box-shadow:0 24px 64px rgba(0,0,0,.5)}
html.dark .ecom-modal-hd{border-bottom-color:#2a2a2a}
html.dark .ecom-modal-hd h3{color:#f5f5f5}
html.dark .ecom-modal-close{color:#737373}
html.dark .ecom-modal-close:hover{background:rgba(255,255,255,.06);color:#f5f5f5}
html.dark .ecom-modal-hd-info{color:#737373}
html.dark .ecom-modal-hd-info:hover{background:rgba(255,255,255,.06);color:#a3a3a3}
html.dark .ecom-credit-summary{background:#1f1f1f}
html.dark .ecom-credit-summary-num{color:#f5f5f5}
html.dark .ecom-credit-summary-label{color:#a3a3a3}
html.dark .ecom-credit-summary-formula{color:#737373}
html.dark .ecom-credit-summary-formula b{color:#d4d4d4}
html.dark .ecom-credit-summary-strip{background:#262626;border-color:#333}
html.dark .ecom-credit-bucket{border-right-color:#333}
html.dark .ecom-credit-bucket-label{color:#737373}
html.dark .ecom-credit-bucket-val{color:#f5f5f5}
html.dark .ecom-credit-bucket-exp{color:#737373}
html.dark .ecom-credit-bucket-exp.is-empty{color:#525252}
html.dark .ecom-user-tier-pill--sub{background:rgba(37,99,235,.15);color:#93c5fd}
html.dark .ecom-credit-tabs{background:#262626}
html.dark .ecom-credit-tab{color:#737373}
html.dark .ecom-credit-tab.on{background:#404040;color:#f5f5f5;box-shadow:none}
html.dark .ecom-credit-item{border-bottom-color:#262626}
html.dark .ecom-credit-item-main b{color:#f5f5f5}
html.dark .ecom-credit-item-main span{color:#737373}
html.dark .ecom-credit-loading,html.dark .ecom-credit-empty{color:#737373}
html.dark .ecom-credit-footnote{color:#737373}
html.dark .ecom-credit-rules-link{color:#60a5fa}
html.dark .ecom-rules-body{color:#a3a3a3}
html.dark .ecom-rules-sec h4{color:#f5f5f5}
@media(max-width:720px){
  .ecom-user-pill--upgrade span,.ecom-user-pill--upgrade-dark span{display:none}
  .ecom-user-pill--upgrade,.ecom-user-pill--upgrade-dark{padding:0 var(--ecom-user-px)}
  body:not(.page-home):not(.studio-home-active) .ecom-user-dock{top:var(--ecom-user-dock-gap, 8px);right:8px}
  body.page-home-pro .hm-topbar{min-height:48px}
  body.page-home-pro .hm-promo-txt{font-size:13px}
  body.page-home-pro .ecom-user-dock{
    top:0;right:max(8px,env(safe-area-inset-right));height:48px;
    align-items:flex-start;padding-top:var(--ecom-user-dock-gap, 8px);box-sizing:border-box;
  }
  body.page-home-pro .hm-promo-edit span:last-child{display:none}
}
.wb-content{flex:1;min-height:0;overflow:hidden;position:relative}
.wb-panels-track{
  display:flex;width:300%;height:100%;
  transform:translateX(calc(var(--wb-tab-index,0) * -33.333333%));
  transition:transform var(--ecom-dur-panel) var(--ecom-ease-fluid);
  will-change:transform;
}
.wb-panels-track.no-transition{transition:none!important}
.wb-panels-track>.wb-panel{
  flex:0 0 33.333333%;width:33.333333%;max-width:33.333333%;
  display:block;height:100%;overflow-y:auto;padding:20px 24px 28px;
  overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
}
.wb-panel{
  display:none;height:100%;overflow-y:auto;padding:20px 24px 28px;
  overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
}
.wb-panel.on{display:block}
.sc-admin-bar--hidden,.sc-case-grid--hidden{display:none!important}
.wb-results-empty{
  flex:1;width:100%;max-width:400px;margin:0 auto;
  display:none;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;color:#737373;padding:48px 24px 32px;
  min-height:min(520px,calc(100vh - 200px));
}
.wb-results-empty h3{margin:0 0 8px;font-size:18px;font-weight:700;color:#171717}
.wb-results-empty p{margin:0 0 20px;font-size:14px;line-height:1.6}
.wb-empty{
  max-width:360px;margin:12vh auto 0;text-align:center;color:#737373;
}
.wb-empty-icon{
  width:80px;height:80px;margin:0 auto 16px;border-radius:20px;
  background:#fff;border:1px solid #ebebeb;display:flex;align-items:center;justify-content:center;
  color:#d4d4d4;box-shadow:0 4px 16px rgba(0,0,0,.04);
}
.wb-empty h3{margin:0 0 8px;font-size:18px;font-weight:700;color:#171717}
.wb-empty p{margin:0;font-size:14px;line-height:1.6}
.wb-empty--compact{margin:40px auto;padding:24px}
.wb-steps{
  list-style:none;margin:24px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;text-align:left;
}
.wb-steps li{
  display:flex;align-items:center;gap:10px;font-size:13px;color:#525252;
  padding:10px 12px;background:#fff;border-radius:12px;border:1px solid #ebebeb;
}
.wb-steps li span{
  width:22px;height:22px;border-radius:50%;background:#111;color:#fff;
  font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
}
#wbEmptyAdminDemo{margin-top:20px}
.wb-result-card{
  max-width:720px;margin:0 auto;background:#fff;border-radius:16px;
  border:1px solid rgba(10,10,10,.06);overflow:hidden;
  box-shadow:0 8px 32px rgba(15,23,42,.06);
}
.wb-result-img-wrap{background:#fafafa;padding:12px}
.wb-result-card .result-img{
  width:100%;border-radius:12px;border:none;background:transparent;display:block;
}
.wb-result-foot{padding:14px 16px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.wb-result-tag{
  font-size:11px;font-weight:600;color:#1677ff;background:#eff6ff;
  padding:4px 10px;border-radius:999px;
}
.wb-result-foot .result-actions{margin:0;flex:1;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.wb-btn{
  padding:0 14px;border-radius:999px;border:1px solid #e5e5e5;
  background:#fff;color:#404040;font-size:12px;font-weight:600;text-decoration:none;cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease,transform .12s ease;
}
.wb-btn:hover{background:#fafafa;border-color:#d4d4d4}
.wb-btn:active{opacity:.88;transform:scale(.98)}
.wb-btn.primary{background:#111;border-color:#111;color:#fff}
.wb-btn.primary:hover{background:#000;border-color:#000}
.wb-btn.ghost{background:transparent}
.wb-pack-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;max-width:960px;margin:0 auto;
}
.wb-pack-card{border:1px solid #ebebeb;border-radius:12px;overflow:hidden;background:#fff}
.wb-pack-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.wb-subbar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:16px;flex-wrap:wrap;
}
.wb-chips{display:flex;gap:6px;flex-wrap:wrap}
.wb-chip{
  border:1px solid #e5e5e5;background:#fff;color:#525252;font-size:12px;
  padding:0 12px;border-radius:999px;cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease,transform .12s ease;
}
.wb-chip.on{background:#111;border-color:#111;color:#fff;font-weight:600}
.wb-chip:active{opacity:.88;transform:scale(.98)}
.wb-link-btn{
  border:none;background:transparent;color:#1677ff;font-size:12px;font-weight:600;cursor:pointer;padding:2px 6px;
}
.wb-history-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px;
}
.wb-hist-card{
  background:#fff;border:1px solid #ebebeb;border-radius:12px;overflow:hidden;
  transition:box-shadow .15s,transform .15s;
}
.wb-hist-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.06);transform:translateY(-1px)}
.wb-hist-thumb{display:block;aspect-ratio:3/4;background:#f5f5f5;overflow:hidden}
.wb-hist-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.wb-hist-meta{padding:8px 10px 10px;display:flex;flex-direction:column;gap:4px}
.wb-hist-tool{font-size:11px;font-weight:600;color:#404040;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wb-hist-time{font-size:10px;color:#a3a3a3}
.wb-hist-dl{font-size:11px;font-weight:600;color:#1677ff;margin-top:2px;padding:2px 4px}
.wb-hist-feed{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;width:100%;
}
.wb-hist-feed .wb-empty{grid-column:1/-1}
body.page-studio .wb-hist-feed .wb-empty{
  justify-self:center;width:100%;max-width:400px;
  margin:0 auto;text-align:center;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:min(400px,calc(100vh - 240px));flex:none;
}
body.page-studio .wb-hist-feed .wb-loading{
  grid-column:1/-1;justify-self:center;width:100%;
  display:flex;align-items:center;justify-content:center;
  min-height:min(400px,calc(100vh - 240px));
  margin:0;padding:40px 24px;
}
.wb-hist-feed .yq-feed-item{
  border-radius:12px;box-shadow:0 1px 3px rgba(15,23,42,.05),0 4px 14px rgba(15,23,42,.04);
  max-width:none;width:100%;min-width:0;
  content-visibility:auto;contain-intrinsic-size:auto 320px;
  contain:layout style paint;
  transition:box-shadow .18s ease,border-color .18s ease;
}
@media (hover:hover) and (pointer:fine){
  .wb-hist-feed .yq-feed-item{
    transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease;
  }
  .wb-hist-feed .yq-feed-item:hover{
    box-shadow:0 4px 12px rgba(15,23,42,.07),0 10px 28px rgba(15,23,42,.06);
    transform:translateY(-2px);border-color:rgba(10,10,10,.08);
  }
  .wb-hist-feed .yq-feed-item:hover .yq-feed-media img,
  .wb-hist-feed .yq-feed-item:hover .yq-feed-media video,
  .wb-hist-feed .yq-feed-item:hover .yq-feed-video-poster,
  .wb-hist-feed .yq-feed-item:hover .yq-feed-video-el{transform:scale(1.03)}
}
.wb-hist-feed .yq-feed-head{
  padding:8px 10px 6px;gap:6px;border-bottom:none;
}
.wb-hist-feed .yq-feed-head-l{min-width:0;flex:1}
.wb-hist-feed .yq-feed-avatar{width:18px;height:18px}
.wb-hist-feed .yq-feed-tool{
  font-size:11px;font-weight:600;color:#404040;
  display:inline-flex;align-items:center;max-width:100%;
  padding:2px 8px;border-radius:999px;background:#f5f5f5;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.wb-hist-feed .yq-feed-ref{display:none}
.wb-hist-feed .yq-feed-head-r{gap:4px}
.wb-hist-feed .yq-feed-head-r time{font-size:10px;color:#b0b0b0;letter-spacing:.01em}
.wb-hist-feed .yq-feed-del{
  width:20px;height:20px;border-radius:6px;opacity:0;
  transition:opacity .15s,background .15s,color .15s;
}
.wb-hist-feed .yq-feed-item:hover .yq-feed-del{opacity:1}
.wb-hist-feed .yq-feed-body{padding:0 8px}
.wb-hist-feed .yq-feed-media{
  position:relative;width:100%;max-width:100%;border-radius:8px;overflow:hidden;
}
.wb-hist-feed .yq-feed-media>.yq-feed-preview{
  width:100%;max-width:100%;border-radius:8px;aspect-ratio:3/4;
  overflow:hidden;position:relative;display:block;
  border:none;outline:none;box-shadow:none;
}
.wb-hist-feed .yq-feed-media img,
.wb-hist-feed .yq-feed-body img{
  width:100%;max-width:100%;height:100%;
  aspect-ratio:3/4;object-fit:cover;border-radius:8px;background:#f3f4f6;
}
@media (hover:hover) and (pointer:fine){
  .wb-hist-feed .yq-feed-media img,
  .wb-hist-feed .yq-feed-body img{transition:transform .25s ease}
  .wb-hist-feed .yq-feed-media:hover img{transform:scale(1.03)}
}
.wb-hist-feed .yq-feed-foot{
  display:flex;flex-direction:column;align-items:stretch;gap:6px;
  padding:8px 10px 10px;
}
.wb-hist-feed .yq-feed-foot--actions-only{gap:0;padding-top:4px}
.wb-hist-feed .yq-feed-desc{
  margin:0;font-size:11px;line-height:1.45;color:#525252;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.wb-hist-feed .yq-feed-links{
  display:flex;align-items:center;justify-content:flex-end;gap:10px;
}
.wb-hist-feed .yq-feed-link{
  border:none;background:none;padding:0;cursor:pointer;
  font-size:11px;font-weight:600;font-family:inherit;line-height:1.3;
  color:#737373;text-decoration:none;white-space:nowrap;
  transition:color .12s;
}
.wb-hist-feed .yq-feed-link:hover{color:#404040}
.wb-hist-feed .yq-feed-link--primary{color:#1677ff;padding:2px 4px}
.wb-hist-feed .yq-feed-actions{padding:0 8px 10px;gap:4px}
.wb-hist-feed .yq-feed-act{font-size:10px;padding:4px 7px}
.yq-feed-item--compact .yq-feed-ref{display:none}
.yq-feed-item--compact .yq-feed-head{border-bottom:none}
.yq-feed-item{
  background:#fff;border:1px solid rgba(10,10,10,.06);border-radius:16px;
  overflow:hidden;box-shadow:0 4px 20px rgba(15,23,42,.04);
}
.yq-feed-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 16px;border-bottom:1px solid rgba(10,10,10,.04);
}
.yq-feed-head-l{display:flex;align-items:center;gap:8px;min-width:0}
.yq-feed-avatar{
  width:24px;height:24px;border-radius:50%;
  background:var(--yq-avatar-bg,#fff);color:var(--yq-avatar-fg,#0a0a0a);
  border:1.5px solid var(--yq-avatar-ring,#e4eaf0);box-sizing:border-box;
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  font-weight:700;font-size:11px;
}
.yq-feed-tool{font-size:13px;font-weight:600;color:#171717;white-space:nowrap}
.yq-feed-ref{
  width:28px;height:28px;border-radius:6px;overflow:hidden;border:1px solid #ebebeb;flex-shrink:0;
}
.yq-feed-ref img{width:100%;height:100%;object-fit:cover;display:block}
.yq-feed-head-r{display:flex;align-items:center;gap:10px;flex-shrink:0}
.yq-feed-head-r time{font-size:12px;color:#a3a3a3;white-space:nowrap}
.yq-feed-del{
  width:28px;height:28px;border:none;background:transparent;color:#a3a3a3;
  border-radius:8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
}
.yq-feed-del:hover{background:#fef2f2;color:#dc2626}
.yq-feed-body{padding:0 16px 12px}
.yq-feed-media{
  position:relative;display:block;width:fit-content;max-width:100%;margin:0 auto;
  border-radius:12px;overflow:hidden;line-height:0;
  border:none;outline:none;box-shadow:none;
}
.yq-feed-body>a,.yq-feed-body>.yq-feed-preview{
  display:block;width:fit-content;max-width:100%;margin:0 auto;
  border-radius:12px;overflow:hidden;line-height:0;
}
.yq-feed-media>.yq-feed-preview{
  display:block;width:100%;max-width:100%;margin:0;
  border:none;outline:none;box-shadow:none;
}
.yq-feed-body>.yq-feed-preview{
  border:none;padding:0;background:none;cursor:zoom-in;
  position:relative;outline:none;box-shadow:none;
}
.yq-feed-preview:focus,
.yq-feed-preview:focus-visible,
.hist-card-preview:focus,
.hist-card-preview:focus-visible{
  outline:none;box-shadow:none;
}
.yq-feed-body img,
.yq-feed-media img,
.hist-card-preview img{
  border:none;outline:none;box-shadow:none;
}
.yq-feed-body img{
  width:auto;max-width:100%;height:auto;max-height:min(50vh,400px);
  display:block;vertical-align:top;
}
.yq-feed-body .gen-job-img{width:100%;max-width:360px;margin:0 auto;aspect-ratio:1;border-radius:12px;overflow:hidden}
body.page-studio .gen-job-pending .yq-feed-body .gen-job-img,
body.page-studio .gen-job-err .yq-feed-body .gen-job-img{
  max-width:280px;margin:0 auto;border-radius:12px;
}
.yq-feed-actions{
  display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 16px;
}
.yq-feed-act{
  border:1px solid #ebebeb;background:#fafafa;color:#404040;
  font-size:12px;font-weight:500;padding:7px 12px;border-radius:999px;cursor:pointer;
  text-decoration:none;display:inline-flex;align-items:center;gap:4px;
  transition:background .15s,border-color .15s;
}
.yq-feed-act:hover{background:#f0f0f0;border-color:#d4d4d4}
.yq-feed-act--primary{background:#111;border-color:#111;color:#fff}
.yq-feed-act--primary:hover{background:#000;border-color:#000}
.yq-feed-act--case,.yq-feed-link--case{color:#4096ff;border-color:#4096ff}
.yq-feed-act--case:hover,.yq-feed-link--case:hover{background:#eff6ff}
.yq-feed-act .badge-new{
  font-size:9px;font-weight:700;color:#fff;background:#ef4444;
  padding:1px 5px;border-radius:4px;line-height:1.4;
}
.yq-feed-foot{
  display:flex;flex-direction:column;align-items:stretch;gap:6px;
  padding:0 16px 14px;
}
.yq-feed-foot--actions-only{gap:0}
.yq-feed-desc{
  margin:0;font-size:12px;line-height:1.5;color:#525252;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.yq-feed-links{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.yq-feed-next--overlay{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  display:flex;flex-direction:column;align-items:stretch;gap:4px;
  padding:22px 8px 8px;
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.42) 52%,rgba(0,0,0,.62) 100%);
  opacity:0;pointer-events:none;
  transition:opacity .18s ease;
}
.yq-feed-media:hover .yq-feed-next--overlay,
.yq-feed-media:focus-within .yq-feed-next--overlay,
.hist-card-media:hover .yq-feed-next--overlay,
.hist-card-media:focus-within .yq-feed-next--overlay{
  opacity:1;pointer-events:auto;
}
.yq-feed-next--overlay .yq-feed-next-btns{
  display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-start;
}
.yq-feed-next--overlay .yq-feed-next-btn{
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.94);color:#262626;
  box-shadow:0 1px 4px rgba(0,0,0,.1);
  font-size:10px;font-weight:500;padding:2px 7px;border-radius:999px;cursor:pointer;
  font-family:inherit;line-height:1.25;white-space:nowrap;
  transition:border-color .12s,color .12s,background .12s;
}
.yq-feed-next--overlay .yq-feed-next-btn:hover{
  border-color:#1677ff;color:#1677ff;background:#fff;
}
.yq-feed-next--overlay.yq-feed-next--compact{
  padding:20px 6px 6px;gap:3px;
}
.yq-feed-next--overlay.yq-feed-next--compact .yq-feed-next-btn{
  font-size:9px;padding:2px 6px;
}
.yq-feed-link{
  border:none;background:none;padding:0;cursor:pointer;
  font-size:12px;font-weight:600;font-family:inherit;line-height:1.3;
  color:#737373;white-space:nowrap;transition:color .12s;
}
.yq-feed-link:hover{color:#404040}
.yq-feed-link--primary{color:#1677ff;padding:2px 4px}
.wb-hist-head{
  flex-shrink:0;background:#fff;border-bottom:1px solid rgba(10,10,10,.06);
  padding:10px 20px;
}
.wb-hist-head .wb-hist-toolbar{
  --wb-hist-ctrl-h:32px;
  --wb-hist-fs:12px;
  --wb-hist-px:12px;
  --wb-hist-r:10px;
  --wb-hist-gap:8px;
  display:flex;align-items:center;justify-content:space-between;gap:10px 12px;flex-wrap:wrap;margin-bottom:0;
}
.wb-hist-toolbar-main{
  --wb-hist-ctrl-h:32px;
  --wb-hist-fs:12px;
  --wb-hist-px:12px;
  --wb-hist-r:10px;
  --wb-hist-gap:8px;
  display:flex;align-items:center;justify-content:space-between;gap:10px 12px;
  flex:1 1 100%;width:100%;min-width:0;
  flex-wrap:wrap;min-height:var(--wb-hist-ctrl-h);
}
.wb-hist-toolbar-left,
.wb-hist-toolbar-right{
  display:flex;align-items:center;gap:var(--wb-hist-gap);flex-wrap:wrap;min-width:0;
}
.wb-hist-toolbar-right{margin-left:auto;justify-content:flex-end;flex-shrink:0}
.wb-hist-head .hist-seg{
  padding:2px;border-radius:var(--wb-hist-r);height:var(--wb-hist-ctrl-h);box-sizing:border-box;
}
.wb-hist-head .hist-seg button{
  height:calc(var(--wb-hist-ctrl-h) - 4px);padding:0 var(--wb-hist-px);font-size:var(--wb-hist-fs);line-height:1;
  display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
}
.wb-hist-head .hist-seg:not(.hist-time-seg) button{border-radius:999px}
.wb-hist-head .hist-time-seg{border-radius:var(--wb-hist-r)}
.wb-hist-head .hist-batch-btn{
  height:var(--wb-hist-ctrl-h);padding:0 var(--wb-hist-px);border-radius:var(--wb-hist-r);
  font-size:var(--wb-hist-fs);line-height:1;box-sizing:border-box;
}
.wb-hist-head .wb-link-btn{
  flex-shrink:0;white-space:nowrap;padding:0 4px;height:var(--wb-hist-ctrl-h);
  display:inline-flex;align-items:center;margin-left:0;
}
.wb-hist-head .wb-hist-search{
  flex:1 1 auto;min-width:120px;max-width:240px;
}
.wb-hist-head .wb-chips{flex-shrink:0}
.wb-hist-retention-hint{
  font-size:11px;color:#a3a3a3;line-height:1;white-space:nowrap;flex-shrink:0;
}
.wb-hist-head .wb-hist-toolbar-left .wb-hist-retention-hint{
  padding-left:4px;
}
.wb-hist-batch-wrap{display:flex;align-items:center;gap:var(--wb-hist-gap);flex-wrap:wrap;min-width:0}
.wb-hist-toolbar-main.is-batch .wb-hist-batch-wrap{
  flex:1 1 100%;width:100%;margin-top:2px;
  flex-wrap:nowrap;align-items:center;gap:10px;
}
.wb-hist-toolbar-main.is-batch .wb-hist-toolbar-right{
  flex:1 1 100%;width:100%;margin-left:0;justify-content:flex-start;
}
.wb-hist-toolbar-main.is-batch .wb-hist-batch-bar{
  flex:1 1 auto;width:auto;min-width:0;
}
.wb-hist-toolbar-main.is-batch .wb-link-btn{
  margin-left:0;flex-shrink:0;align-self:center;white-space:nowrap;
}
.wb-hist-batch-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:4px;
  min-height:var(--ctrl-h);padding:0 12px;border-radius:var(--radius,8px);
  border:1px solid #e5e5e5;background:#fff;color:#525252;
  font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;box-sizing:border-box;
}
.wb-hist-batch-btn.on{background:#f0f7ff;border-color:#1677ff;color:#1677ff}
.wb-hist-batch-bar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  width:100%;box-sizing:border-box;
  padding:8px 10px;
  background:linear-gradient(180deg,#fafbfc 0%,#f7f8fa 100%);
  border:1px solid #e8eaed;
  border-radius:12px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  --batch-ctrl-h:30px;
  --batch-fs:12px;
  --batch-px:11px;
  --batch-r:8px;
}
.wb-hist-batch-meta,
.wb-hist-batch-group,
.hist-batch-meta,
.hist-batch-group{
  display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;
}
.wb-hist-batch-sep,
.hist-batch-sep{
  width:1px;height:18px;background:#e2e5ea;flex-shrink:0;align-self:center;
}
.wb-hist-batch-count,
.hist-batch-count{
  display:inline-flex;align-items:center;
  min-height:var(--batch-ctrl-h,30px);padding:0 10px;
  border-radius:var(--batch-r,8px);
  background:#fff;border:1px solid #e5e7eb;
  font-size:12px;font-weight:600;color:#404040;white-space:nowrap;
  transition:background .15s,border-color .15s,color .15s;
}
.wb-hist-batch-count.has-sel,
.hist-batch-count.has-sel{
  background:var(--accent-soft,#eff6ff);
  border-color:#bfdbfe;
  color:var(--accent,#2563eb);
}
.wb-hist-batch-hint,
.hist-batch-hint{font-size:11px;color:#a3a3a3;white-space:nowrap}
.wb-hist-batch-act{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  min-height:var(--batch-ctrl-h);padding:0 var(--batch-px);border-radius:var(--batch-r);
  border:1px solid #e5e7eb;background:#fff;color:#404040;
  font-size:var(--batch-fs);font-weight:500;cursor:pointer;white-space:nowrap;box-sizing:border-box;
  transition:background .15s,border-color .15s,color .15s,box-shadow .15s;
}
.wb-hist-batch-act--sub{color:#737373}
.wb-hist-batch-act:hover:not(:disabled){
  background:#f3f4f6;border-color:#d1d5db;color:#171717;
}
.wb-hist-batch-act:disabled{opacity:.4;cursor:not-allowed}
.wb-hist-batch-act .ico,
.wb-hist-batch-act .ico svg,
.hist-batch-act .ico,
.hist-batch-act .ico svg{width:14px;height:14px;flex-shrink:0}
.wb-hist-batch-act-lbl,
.hist-batch-act-lbl{line-height:1}
.wb-hist-batch-done,
.hist-batch-done{
  margin-left:auto;
  background:var(--accent,#2563eb);
  border-color:var(--accent,#2563eb);
  color:#fff;
  font-weight:600;
  box-shadow:0 1px 2px rgba(37,99,235,.18);
}
.wb-hist-batch-done:hover:not(:disabled),
.hist-batch-done:hover:not(:disabled){
  background:#1d4ed8;border-color:#1d4ed8;color:#fff;filter:none;
}
.wb-hist-feed.batch-mode .yq-feed-item{position:relative;cursor:pointer}
.wb-hist-feed.batch-mode .yq-feed-item .hist-check{
  position:absolute;top:10px;right:10px;z-index:5;
  width:24px;height:24px;border-radius:50%;
  background:rgba(255,255,255,.96);border:1.5px solid rgba(22,119,255,.35);
  color:transparent;box-shadow:0 1px 4px rgba(15,23,42,.12);
  display:flex;align-items:center;justify-content:center;opacity:1;
  font-size:12px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;
  transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s;
}
.wb-hist-feed.batch-mode .yq-feed-item .hist-check.on{
  background:var(--batch-sel-color);border-color:var(--batch-sel-color);color:#fff;
  box-shadow:0 2px 8px rgba(37,99,235,.35);
}
.wb-hist-feed.batch-mode .yq-feed-item .hist-check.hist-check--lg{font-size:10px}
.wb-hist-feed.batch-mode .yq-feed-item.selected{
  outline:none;
  border-color:var(--batch-sel-color);
  box-shadow:var(--batch-sel-shadow);
  z-index:6;
}
.wb-hist-feed.batch-mode .yq-feed-next{display:none!important}
.hist-batch-act--sub{color:#737373}
.hist-batch-filter-select{
  display:inline-flex;align-items:center;flex-shrink:0;min-width:0;
}
.hist-batch-bar .hist-batch-filter-select .ui-select,
.wb-hist-batch-bar .hist-batch-filter-select .ui-select{
  width:auto;min-width:108px;max-width:160px;
}
.hist-batch-bar .hist-batch-filter-select .ui-select-trigger,
.wb-hist-batch-bar .hist-batch-filter-select .ui-select-trigger{
  min-height:var(--batch-ctrl-h,var(--ctrl-h));height:var(--batch-ctrl-h,var(--ctrl-h));
  padding:0 28px 0 12px;
  font-size:12px;font-weight:500;border-radius:var(--batch-r,var(--radius,8px));
  border-color:#e5e7eb;background:#fff;
}
.hist-batch-bar .hist-batch-filter-select .ui-select-trigger:hover,
.wb-hist-batch-bar .hist-batch-filter-select .ui-select-trigger:hover{
  border-color:#d1d5db;background:#f9fafb;
}
.hist-batch-bar .hist-batch-filter-select .ui-select-option[data-value="__clear__"],
.wb-hist-batch-bar .hist-batch-filter-select .ui-select-option[data-value="__clear__"]{
  color:#dc2626;margin-bottom:2px;border-bottom:1px solid var(--line,#f0f0f0);
  border-radius:8px 8px 0 0;padding-bottom:9px;
}
.wb-hist-toolbar{
  display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap;
}
.wb-hist-search{
  flex:1;min-width:160px;display:flex;align-items:center;gap:8px;
  padding:8px 12px;border:1px solid #e5e5e5;border-radius:999px;background:#fff;
}
.wb-hist-search input{
  border:none;outline:none;background:transparent;font-size:13px;width:100%;color:#171717;
}
.wb-hist-search input::placeholder{color:#a3a3a3}
.wb-hist-filter{
  border:1px solid #e5e5e5;background:#fff;color:#525252;font-size:12px;
  padding:8px 12px;border-radius:999px;cursor:pointer;
}
.wb-hist-filter.on{background:#111;border-color:#111;color:#fff;font-weight:600}
.wb-loading{font-size:13px;color:#a3a3a3;text-align:center;padding:40px 0}
.wb-cases-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  margin-bottom:16px;flex-wrap:wrap;
}
.wb-cases-title{margin:0 0 6px;font-size:15px;font-weight:700;color:#171717}
.wb-cases-desc{margin:0;font-size:13px;color:#737373;line-height:1.5;max-width:520px}
.wb-cases-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
body.page-studio .wb-workspace .ws-support.wb-float-rail{bottom:max(20px,env(safe-area-inset-bottom));right:20px}
@media(max-width:1400px){
  .wb-hist-feed{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:1100px){
  .wb-hist-feed{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:960px){
  .wb-topbar{
    display:flex;flex-wrap:wrap;padding:12px 14px;justify-content:space-between;
  }
  .wb-topbar-main{order:1;flex:1 1 auto}
  .wb-topbar-actions{order:2;position:static;transform:none}
  .wb-tabs{
    position:static;left:auto;top:auto;bottom:auto;transform:none;pointer-events:auto;
    margin-top:0;margin-bottom:0;height:auto;max-height:none;
    order:3;width:100%;justify-content:center;margin:8px 0 0;
  }
  .wb-panels-track>.wb-panel{padding:14px 14px 24px}
  .wb-history-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
  .wb-hist-feed{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .wb-hist-head{padding:10px 14px}
  .wb-hist-toolbar-main{align-items:flex-start}
  .wb-hist-toolbar-left,.wb-hist-toolbar-right{width:100%;margin-left:0;justify-content:flex-start}
  .wb-hist-toolbar-right .wb-link-btn{margin-left:auto}
  .wb-hist-head .wb-hist-search{max-width:none;min-width:140px}
}
@media(max-width:600px){
  .wb-hist-feed{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Studio 右侧 · 绘蛙风格 showcase（案例网格仍复用） */
body.studio-showcase .workspace{background:var(--zone-workspace)}
body.studio-showcase .ws-support{display:none}
.ws-showcase-wrap{
  flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;
  padding:20px 16px 18px;gap:12px;
}
.ws-classic{flex:1;min-height:0;display:flex;flex-direction:column}

.showcase-hero{
  max-width:100%;width:100%;flex-shrink:0;
  padding:48px 24px 16px;
  background:transparent;
}
.sc-hero-title{
  font-size:18px;font-weight:600;color:#111;text-align:center;
  margin:0 0 28px;line-height:1.5;letter-spacing:.01em;
}
.sc-hero-card{
  max-width:920px;margin:0 auto;
  padding:24px 28px 22px;
  background:#fff;border-radius:20px;
  box-shadow:0 8px 32px rgba(15,23,42,.07),0 2px 8px rgba(15,23,42,.04);
}
.sc-flow{
  min-height:0;display:flex;align-items:center;justify-content:center;
  padding:0;background:transparent;
}
.sc-flow-inner{
  display:flex;align-items:flex-start;justify-content:center;
  gap:22px;width:100%;max-width:none;margin:0 auto;
}
.sc-flow-item{
  flex:0 0 auto;width:auto;max-width:220px;text-align:center;background:transparent;
}
.sc-flow-product,.sc-flow-ref,.sc-flow-result{max-width:none}
.sc-flow-img{
  position:relative;margin:0 auto;
  width:auto;height:auto;
  border-radius:0;border:none;box-shadow:none;
  background:transparent;
  display:inline-block;line-height:0;overflow:visible;
}
.sc-flow-img-product,.sc-flow-img-square{width:auto;height:auto}
.sc-flow-img img{
  width:220px;height:auto;max-height:300px;
  object-fit:contain;display:block;border-radius:12px;
  background:transparent;
  box-shadow:0 2px 10px rgba(0,0,0,.07);
}
.sc-flow-badge{
  position:absolute;top:8px;left:8px;z-index:2;
  padding:4px 10px;border-radius:999px;
  font-size:10px;font-weight:500;line-height:1.35;white-space:nowrap;
  color:#fff;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);
  box-shadow:0 1px 4px rgba(0,0,0,.12);
}
.sc-flow-lbl{
  display:block;margin-top:10px;font-size:13px;color:#666;font-weight:400;
  line-height:1.45;padding:0;background:transparent;
  min-height:36px;max-width:220px;margin-left:auto;margin-right:auto;
}
.sc-flow-arrow{
  flex-shrink:0;display:flex;align-items:center;justify-content:center;
  align-self:center;margin:0;padding:0;background:transparent;
  width:28px;margin-bottom:46px;
}
.sc-flow-arrow-orange{color:#ff6a00;opacity:.85}
.sc-flow-arrow-orange svg{display:block;width:28px;height:28px}
.sc-hero-cta{
  display:block;width:fit-content;min-width:112px;margin:20px auto 0;
  padding:7px 24px;border:none;border-radius:999px;background:#171717;color:#fff;
  font-size:13px;font-weight:500;cursor:pointer;letter-spacing:.02em;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
  transition:background .15s,transform .12s,box-shadow .15s;
}
.sc-hero-cta:hover{background:#000;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.16)}
.sc-dots{
  display:flex;justify-content:center;align-items:center;gap:8px;
  margin-top:20px;background:transparent;
}
.sc-dot{
  width:7px;height:7px;border-radius:50%;border:none;padding:0;
  background:#d9d9d9;cursor:pointer;transition:background .15s,transform .15s;
}
.sc-dot.on{background:#1677ff;transform:scale(1.15)}

.showcase-cases{flex:0 0 auto;min-width:0;width:100%;padding-top:0}
.showcase-cases-head{
  display:flex;align-items:center;justify-content:center;gap:12px;
  margin:18px 0 10px;position:relative;
}
.showcase-cases-title{
  font-size:14px;font-weight:500;color:#333;text-align:center;
  margin:0;letter-spacing:.02em;
}
.sc-admin-bar{display:flex;align-items:center;gap:8px}
.sc-admin-bar-tip{margin:0;font-size:12px;color:#888;line-height:1.4}
.sc-admin-from-result-tip{margin-top:-4px}
.sc-admin-add{
  height:28px;padding:0 12px;border:1px solid #4096ff;border-radius:6px;
  background:#fff;color:#4096ff;font-size:12px;font-weight:500;cursor:pointer;
}
.sc-admin-add:hover{background:#eff6ff}
.hw-case-del{
  position:absolute;top:6px;right:6px;z-index:3;
  width:22px;height:22px;border:none;border-radius:50%;
  background:rgba(0,0,0,.55);color:#fff;font-size:16px;line-height:22px;
  cursor:pointer;padding:0;
}
.hw-case-del:hover{background:rgba(220,38,38,.85)}
.sc-admin-modal{
  position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;
}
.sc-admin-modal-mask{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.sc-admin-modal-panel{
  position:relative;width:min(640px,100%);max-height:90vh;overflow:auto;
  background:#fff;border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.18);
}
.sc-admin-modal-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 18px 0;
}
.sc-admin-modal-head h4{margin:0;font-size:16px;font-weight:600;color:#171717}
.sc-admin-modal-close{
  border:none;background:transparent;font-size:22px;line-height:1;color:#737373;cursor:pointer;
}
.sc-admin-modal-body{padding:14px 18px 8px}
.sc-admin-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.sc-admin-field span{font-size:12px;color:#525252}
.sc-admin-field input{
  height:36px;border:1px solid #e5e5e5;border-radius:8px;padding:0 10px;font-size:13px;
}
.sc-admin-field textarea{
  border:1px solid #e5e5e5;border-radius:8px;padding:8px 10px;font-size:13px;resize:vertical;min-height:72px;
}
.sc-admin-field select{
  height:36px;border:1px solid #e5e5e5;border-radius:8px;padding:0 8px;font-size:13px;background:#fff;
}
.sc-admin-field-inline{max-width:160px}
.sc-admin-field-chk{display:flex;align-items:center;gap:8px;flex-direction:row!important;margin-bottom:14px}
.sc-admin-field-chk input{width:auto;height:auto;margin:0}
.sc-admin-section-title{
  font-size:13px;font-weight:600;color:#404040;margin:16px 0 10px;padding-top:4px;border-top:1px solid #f0f0f0;
}
.sc-admin-section-title:first-of-type{border-top:none;padding-top:0;margin-top:0}
.sc-admin-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:4px}
.hw-case-edit{
  position:absolute;top:6px;right:32px;z-index:3;
  height:22px;padding:0 8px;border:none;border-radius:4px;
  background:rgba(0,0,0,.55);color:#fff;font-size:11px;line-height:22px;cursor:pointer;
}
.hw-case-edit:hover{background:rgba(64,150,255,.85)}
.sc-admin-uploads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sc-admin-uploads--single{grid-template-columns:1fr;max-width:420px;margin:0 auto}
.sc-admin-upload{display:flex;flex-direction:column;gap:6px}
.sc-admin-upload--single{width:100%}
.sc-admin-upload span{font-size:12px;color:#525252}
.sc-admin-upload em{color:#ef4444;font-style:normal}
.sc-admin-upload-box{
  aspect-ratio:3/4;border:1px dashed #d4d4d4;border-radius:8px;background:#fafafa;
  display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;position:relative;
}
.sc-admin-upload-box img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sc-admin-upload-box--wide{aspect-ratio:4/3;width:100%;max-width:420px;margin:0 auto}
.sc-admin-upload-hint{font-size:11px;color:#a3a3a3;text-align:center;padding:8px}
.sc-admin-tip{font-size:12px;color:#737373;margin:10px 0 0;min-height:18px}
.sc-admin-tip.err{color:#dc2626}
.sc-admin-modal-foot{
  display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 16px;border-top:1px solid #f0f0f0;
}
.sc-admin-btn{
  height:34px;padding:0 16px;border-radius:8px;font-size:13px;cursor:pointer;border:1px solid transparent;
}
.sc-admin-btn.ghost{background:#fff;border-color:#e5e5e5;color:#525252}
.sc-admin-btn.primary{background:#4096ff;border-color:#4096ff;color:#fff}
.sc-admin-btn.primary:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:640px){
  .sc-admin-uploads{grid-template-columns:1fr}
  .sc-admin-preset-grid{grid-template-columns:1fr}
  .showcase-cases-head{flex-direction:column;gap:8px}
}
/* 绘蛙实测 @1024 宽：单卡 192×257px，列间距 5px，行间距 6px，5 列总宽 ~980px */
.sc-case-grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  gap:5px;width:100%;max-width:none;margin:0;
}
@media(max-width:1100px){
  .sc-case-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
}
.hw-case{
  position:relative;border-radius:6px;overflow:hidden;background:#eee;
  cursor:default;aspect-ratio:192/257;width:100%;
  border:none;
  transition:box-shadow .15s;
}
.hw-case:hover{box-shadow:0 1px 6px rgba(0,0,0,.1)}
.hw-case.on{box-shadow:0 0 0 2px #4096ff}
.hw-case-img{position:absolute;inset:0}
.hw-case-img img{width:100%;height:100%;object-fit:cover;display:block}
.hw-case-foot{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  display:flex;align-items:flex-end;justify-content:space-between;gap:8px;
  padding:28px 8px 8px;
  background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.62) 100%);
}
.hw-case-mini{display:flex;gap:0;align-items:flex-end;min-width:0}
.hw-mini{
  display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;
  padding:0 8px;
}
.hw-mini+.hw-mini{border-left:1px solid rgba(255,255,255,.28);margin-left:2px;padding-left:10px}
.hw-mini-lbl,.hw-mini span{
  font-size:12px;color:#fff;white-space:nowrap;line-height:1.2;
  padding:2px 6px;border-radius:3px;background:rgba(0,0,0,.42);
}
.hw-mini img{
  width:52px;height:52px;border-radius:4px;object-fit:contain;
  border:1px solid rgba(255,255,255,.38);display:block;background:#444;
}
.hw-same-btn{
  flex-shrink:0;min-width:72px;height:32px;padding:0 12px;
  border:1px solid rgba(255,255,255,.38);line-height:30px;
  border-radius:5px;background:rgba(0,0,0,.32);color:#fff;
  font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;
  text-align:center;
}
.hw-same-btn:hover{background:rgba(0,0,0,.45)}
.sc-empty{font-size:13px;color:#a3a3a3;padding:24px;text-align:center;grid-column:1/-1}

.ws-result-area{max-width:none;width:100%;margin:0 0 8px}
.ws-result-area .result-panel{background:#fff;border-radius:16px;padding:16px;border:1px solid #eee}
.ws-result-area .result-img{max-height:65vh;border-radius:10px;width:100%;object-fit:contain}
.pack-grid-hero{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;
  background:#fff;padding:14px;border-radius:16px;border:1px solid #eee;
}
.result-back{
  margin-left:8px;padding:6px 12px;border:1px solid #e5e5e5;border-radius:8px;
  background:#fff;font-size:12px;color:#525252;cursor:pointer;
}
@media(max-width:768px){
  .ws-showcase-wrap{padding:10px 12px 16px;gap:10px}
  .showcase-hero{padding:28px 12px 12px}
  .sc-hero-card{padding:18px 12px 16px;border-radius:14px}
  .sc-hero-title{font-size:15px;margin-bottom:20px}
  .sc-flow-inner{gap:8px;max-width:100%}
  .sc-flow-item{max-width:108px}
  .sc-flow-img img{width:108px;max-height:148px;border-radius:10px}
  .sc-flow-lbl{font-size:11px;margin-top:8px;min-height:32px;max-width:108px}
  .sc-flow-arrow{width:18px;margin-bottom:38px}
  .sc-flow-arrow-orange svg{width:18px;height:18px}
  .sc-flow-badge{font-size:9px;padding:2px 6px;top:6px;left:6px}
  .sc-hero-cta{min-width:96px;padding:6px 18px;font-size:12px;margin-top:14px}
  .sc-case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
}

.float-cs-home{
  position:fixed;right:24px;bottom:24px;z-index:50;background:var(--surface);
  border:1px solid var(--line);border-radius:999px;padding:10px 16px;font-size:13px;
  box-shadow:0 6px 24px rgba(0,0,0,.08);display:flex;align-items:center;gap:8px;
  transition:box-shadow .15s;
}
.float-cs-home:hover{box-shadow:0 8px 28px rgba(0,0,0,.12)}
.home-help-float{
  position:fixed;right:24px;bottom:72px;z-index:50;width:40px;height:40px;
  border:1px solid var(--line);border-radius:50%;background:var(--surface);
  color:var(--text-2);display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 16px rgba(0,0,0,.06);cursor:pointer;
}
.home-help-float:hover{background:var(--surface-2);color:var(--text)}

/* ═══ 万能画布：64px 图标轨（可展 200px）+ 全宽画布 ═══ */
body.page-canvas{
  overflow:hidden;background:var(--bg);font-family:var(--font);color:var(--text);
  -webkit-font-smoothing:antialiased;
  --sidebar-width:var(--rail-w);
}
body.page-canvas.rail-expanded{--sidebar-width:var(--rail-expanded-w)}
.studio-canvas{display:flex;height:100vh;width:100%;min-width:0;overflow:hidden}
.studio-canvas .icon-rail{height:100vh}
.studio-canvas .workspace-full{flex:1;min-width:0;overflow:hidden}
.float-tool-select{
  flex:1;max-width:200px;padding:6px 10px;border:1px solid var(--line);
  border-radius:8px;font-size:12px;background:var(--surface);margin-right:auto;
}

/* 侧栏（由前AI 风格 · 208px 可折叠 84px） */
#ecomSidebarSlot{font-size:0;line-height:0;color:transparent;overflow:visible;flex-shrink:0}
#ecomSidebarSlot #sideNav{font-size:initial;line-height:normal;color:inherit}
.studio-app.page-home{min-height:100vh;height:100vh;max-height:100vh;overflow:hidden;background:transparent}
.side-nav{
  width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--surface);
  border-right:1px solid rgba(10,10,10,.06);box-shadow:none;
  display:flex;flex-direction:column;
  flex-shrink:0;position:relative;z-index:40;overflow:visible;
  transition:width var(--ecom-dur-panel) var(--ecom-ease-fluid),min-width var(--ecom-dur-panel) var(--ecom-ease-fluid);
}
.side-nav.collapsed{width:var(--sidebar-collapsed-w);min-width:var(--sidebar-collapsed-w)}
.side-head{position:relative;flex-shrink:0;overflow:visible}
.side-brand{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:12px 10px;border-bottom:none;overflow:hidden;flex-shrink:0;
  text-decoration:none;color:inherit;width:100%;box-sizing:border-box;
}
.brand-logo{
  width:100%;max-width:120px;height:auto;max-height:36px;object-fit:contain;display:block;
}
.brand-fallback{
  display:none;width:36px;height:36px;border-radius:10px;background:var(--text);color:#fff;
  align-items:center;justify-content:center;font-weight:800;font-size:15px;
}
.brand-fallback.show{display:flex}
.brand-caption{display:none!important}
.side-nav.collapsed .side-brand{
  flex-direction:column;gap:0;padding:8px 6px;justify-content:center;
}
.side-nav.collapsed .brand-logo{width:28px;max-width:28px;max-height:28px}
.side-scroll{
  flex:1;overflow-y:auto;overflow-x:hidden;padding:4px 0;min-height:0;
  overscroll-behavior:contain;
  scrollbar-width:none!important;-ms-overflow-style:none!important;
}
.side-nav.collapsed .side-scroll{padding:4px 0}
.side-scroll::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
#sideMenu{position:relative}
.sidebar-top-nav{position:relative;padding:0 6px;margin-bottom:0}
.sidebar-menu-scroll{display:flex;flex-direction:column;gap:1px;padding:2px 6px 6px}
.sidebar-history-nav{margin-top:2px;position:relative}
.side-nav.collapsed .sidebar-top-nav{padding:0 8px}
.side-nav.collapsed .sidebar-history-nav{
  margin-top:6px;padding-top:6px;
}
.side-nav.collapsed .sidebar-menu-scroll{padding:2px 8px 4px;gap:2px}
.sidebar-nav-item,.nav-group-hd.sidebar-nav-item{
  position:relative;z-index:1;
  height:40px;width:100%;display:flex;align-items:center;gap:12px;
  padding:0 12px;border:none;border-radius:20px;font-size:13px;font-weight:500;
  color:var(--text-2);background:transparent;cursor:pointer;text-align:left;
  white-space:nowrap;overflow:hidden;transition:background var(--ecom-dur-ui) var(--ecom-ease-fluid),color var(--ecom-dur-ui) var(--ecom-ease-fluid);text-decoration:none;
  pointer-events:auto;
}
.sidebar-nav-item .ico,.nav-group-hd.sidebar-nav-item .ico{flex-shrink:0;color:inherit;transition:transform var(--ecom-dur-ui) var(--ecom-ease-fluid)}
.sidebar-nav-item:hover .ico,.nav-group-hd.sidebar-nav-item:hover .ico{transform:scale(1.06)}
.nav-group-hd.sidebar-nav-item.active{background:rgba(0,0,0,.06);color:var(--text);font-weight:600}
.sidebar-nav-item .nav-label,.nav-group-hd .nav-label{flex:1;min-width:0;text-align:left}
.sidebar-nav-item:hover:not(.active),.nav-group-hd.sidebar-nav-item:hover{background:rgba(0,0,0,.04);color:var(--text)}
.sidebar-nav-item.active{background:rgba(0,0,0,.06);color:var(--text);font-weight:600}
.sidebar-nav-item--cases{position:relative;overflow:visible}
.sidebar-nav-icon-wrap{
  position:relative;flex-shrink:0;width:20px;height:20px;
  display:inline-flex;align-items:center;justify-content:center;
  overflow:visible;
}
.sidebar-new-badge{
  position:absolute;top:-5px;left:-6px;z-index:3;height:10px;min-width:10px;padding:0 3px;border-radius:999px;
  background:#ff3b30;color:#fff;box-shadow:0 1px 3px rgba(255,59,48,.32);
  font-size:7px;font-weight:700;line-height:10px;letter-spacing:-0.02em;text-transform:uppercase;pointer-events:none;
  border:1px solid #fff;
}
.nav-icon-lg .ico svg,.sidebar-nav-item>.ico svg,.sidebar-nav-icon-wrap>.ico svg{width:20px;height:20px}
/* 收起态 · 由前AI 84px：图标在上、短标签在下 */
.side-nav.collapsed .sidebar-nav-item,.side-nav.collapsed .nav-group-hd.sidebar-nav-item{
  flex-direction:column;align-items:center;justify-content:center;
  gap:3px;height:auto;min-height:54px;padding:7px 4px 6px;
  border-radius:10px;font-size:10px;white-space:normal;overflow:visible;
}
.side-nav.collapsed .nav-label{
  display:block;flex:none;width:100%;max-width:72px;
  text-align:center;font-size:10px;line-height:1.25;font-weight:500;
  color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.side-nav.collapsed .sidebar-nav-item.active,
.side-nav.collapsed .nav-group-hd.sidebar-nav-item.active{
  background:rgba(0,0,0,.06);color:var(--text);font-weight:600;
}
.nav-group.open > .nav-group-hd.sidebar-nav-item.active,
.nav-workflow.open > .nav-workflow-hd.active{
  background:transparent;color:var(--text);font-weight:600;
}
#sideNav .nav-sub.seg-indicator-host{
  position:relative;overflow:visible;
}
#sideNav .nav-sub.seg-indicator-host .nav-sub-item,
#sideNav .nav-sub.seg-indicator-host .nav-wf-item{
  width:100%;box-sizing:border-box;
}
.side-nav.collapsed .sidebar-nav-item.active .nav-label,
.side-nav.collapsed .nav-group-hd.sidebar-nav-item.active .nav-label{color:var(--text)}
.side-nav.collapsed .nav-group-hd .chev,
.side-nav.collapsed .nav-workflow-hd .chev{display:none!important;width:0;height:0;overflow:hidden;margin:0;padding:0}
.side-nav.collapsed .sidebar-new-badge{
  top:0;left:-2px;right:auto;width:6px;height:6px;min-width:6px;padding:0;
  font-size:0;line-height:0;color:transparent;overflow:hidden;border-width:1.5px;
}
.side-nav.collapsed .nav-icon-lg .ico svg,.side-nav.collapsed .sidebar-nav-item>.ico svg,.side-nav.collapsed .sidebar-nav-icon-wrap>.ico svg{
  width:20px;height:20px;color:var(--text-2);
}
.side-nav.collapsed .sidebar-nav-item.active>.ico svg,
.side-nav.collapsed .sidebar-nav-item.active .sidebar-nav-icon-wrap>.ico svg,
.side-nav.collapsed .nav-group-hd.sidebar-nav-item.active .ico svg{color:var(--text)}
.side-foot{
  position:relative;border-top:none;flex-shrink:0;
  background:transparent;box-shadow:none;min-height:0;
  padding:4px 0 10px;overflow:visible;
}
.sidebar-upgrade-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:calc(100% - 16px);margin:8px 8px 0;padding:9px 12px;
  border:none;border-radius:10px;background:#111;color:#f5d76e;
  font-size:13px;font-weight:700;line-height:1;cursor:pointer;
  transition:opacity .15s,transform .15s;font-family:inherit;
}
.sidebar-upgrade-btn .ico{display:inline-flex;color:#f5d76e}
.sidebar-upgrade-btn .ico svg{width:16px;height:16px;display:block}
.sidebar-upgrade-btn:hover{opacity:.92;transform:translateY(-1px)}
.side-nav.collapsed .sidebar-upgrade-btn{
  width:34px;margin:8px auto 0;padding:8px;
}
.side-nav.collapsed .sidebar-upgrade-label{display:none}
.sidebar-appearance-dock{position:relative;left:auto;right:auto;bottom:auto;z-index:46;padding:0 6px;overflow:visible}
.side-nav.collapsed .sidebar-appearance-dock{left:auto;right:auto;width:auto;transform:none;padding:0 8px;display:flex;justify-content:center;align-items:center}
.sidebar-appearance-row{
  display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 2px;
}
.sidebar-appearance-label{font-size:13px;font-weight:500;color:var(--text-2);flex-shrink:0}
.sidebar-appearance-seg{
  display:flex;align-items:center;gap:2px;padding:3px;
  background:#f5f5f5;border-radius:10px;border:1px solid #ebebeb;
}
.sidebar-appearance-seg-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;padding:0;border:none;border-radius:7px;
  background:transparent;cursor:pointer;color:#737373;
  transition:background .12s,color .12s,box-shadow .12s;
}
.sidebar-appearance-seg-btn .ico{display:inline-flex;color:inherit}
.sidebar-appearance-seg-btn .ico svg{width:15px;height:15px;display:block;stroke:currentColor}
.sidebar-appearance-seg-btn:hover{color:#525252;background:rgba(255,255,255,.55)}
.sidebar-appearance-seg-btn.active{
  background:#fff;color:#171717;
  box-shadow:0 1px 2px rgba(15,23,42,.08);
}
.sidebar-appearance-trigger{display:none}
.side-nav.collapsed .sidebar-appearance-row{display:none}
.side-nav.collapsed .sidebar-appearance-trigger{
  display:flex;justify-content:center;align-items:center;
  padding:0;width:34px;height:34px;border-radius:50%;
  border:1px solid rgba(10,10,10,.1);background:var(--surface);
  box-shadow:0 1px 4px rgba(0,0,0,.06);cursor:pointer;color:var(--text-2);
}
.sidebar-appearance-trigger:hover{background:rgba(0,0,0,.04)}
.side-nav.collapsed .sidebar-appearance-menu{
  left:calc(100% + 8px);right:auto;bottom:0;min-width:168px;
}
.sidebar-appearance-menu{
  position:absolute;left:0;right:0;bottom:calc(100% + 8px);padding:6px;border-radius:14px;
  background:rgba(255,255,255,.96);border:1px solid rgba(10,10,10,.08);
  box-shadow:0 18px 45px rgba(10,10,10,.14);display:flex;flex-direction:column;gap:2px;
}
.sidebar-appearance-menu[hidden]{display:none!important}
.sidebar-appearance-option{
  display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;border-radius:10px;
  background:transparent;color:#52525b;font-size:13px;cursor:pointer;text-align:left;
}
.sidebar-appearance-option:hover{background:rgba(10,10,10,.04);color:#18181b}
.sidebar-appearance-option.active{color:#18181b;font-weight:600}
.sidebar-appearance-check{margin-left:auto;font-style:normal;color:var(--accent);font-size:14px}
.nav-group{margin-bottom:0}
.side-nav.collapsed .nav-group,.side-nav.collapsed .nav-workflow{margin-bottom:0}
.nav-group-hd .chev{margin-left:auto;transition:transform .2s;color:var(--muted);opacity:.6;flex-shrink:0}
.nav-group-hd,.nav-workflow-hd{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}
.nav-group.open .nav-group-hd .chev,.nav-workflow.open .nav-workflow-hd .chev{transform:rotate(180deg)}
.nav-sub{
  display:none;position:relative;padding:0;margin:6px 0 0 24px;flex-direction:column;gap:2px;
}
.nav-group.open .nav-sub,.nav-workflow.open .nav-sub{display:flex}
.nav-sub-item{
  position:relative;z-index:1;
  display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:20px;
  font-size:13px;color:var(--text-2);white-space:nowrap;text-decoration:none;
  transition:color .2s,background .2s;width:100%;cursor:pointer;pointer-events:auto;
}
.nav-sub-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--muted);opacity:.78}
.nav-sub-icon .ico svg{width:16px;height:16px}
.nav-sub-label{min-width:0;flex:1}
.nav-sub-item.active .nav-sub-icon{color:var(--text);opacity:1}
.nav-sub-item::after{
  content:"\203A";margin-left:auto;font-size:16px;opacity:0;
  transition:opacity .15s ease,transform .15s ease;flex-shrink:0;
}
.nav-sub-item:hover::after{opacity:.5;transform:translateX(2px)}
.nav-sub-item.active::after{opacity:.6}
.nav-sub-item.is-locked::after{display:none}
.nav-sub-item:hover:not(.active){background:rgba(0,0,0,.04);color:var(--text)}
.nav-sub-item.active{background:rgba(0,0,0,.06);color:var(--text);font-weight:600}
.nav-wf-item.active{background:rgba(0,0,0,.06);color:var(--text);font-weight:600}
#sideNav .nav-sub.seg-indicator-host .seg-slide-indicator{z-index:0}
#sideNav .nav-sub.seg-indicator-host .nav-sub-item,
#sideNav .nav-sub.seg-indicator-host .nav-wf-item{position:relative;z-index:1}
.nav-sub-item .badge{margin-left:auto;font-size:10px;padding:1px 6px;background:var(--line);border-radius:4px;font-weight:500;flex-shrink:0}
.nav-lock{margin-left:auto;color:#d97706;display:inline-flex;align-items:center;flex-shrink:0}
.nav-workflow{margin-bottom:2px}
.nav-workflow-hd{background:transparent!important}
.nav-workflow-hd .nav-label{color:inherit;font-weight:500}
.nav-workflow-hd.active,.nav-workflow:has(.nav-wf-item.active) .nav-workflow-hd{
  background:rgba(22,163,74,.06)!important;color:var(--text);
}
.nav-workflow-hd.active .nav-label,.nav-workflow:has(.nav-wf-item.active) .nav-workflow-hd .nav-label{color:#15803d;font-weight:700}
.nav-wf-item{align-items:center}
.nav-wf-num{
  flex-shrink:0;width:18px;height:18px;border-radius:5px;background:#111;color:#fff;
  font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;
}
.nav-wf-item.active .nav-wf-num{background:#16a34a}
.side-nav.collapsed .nav-group,.side-nav.collapsed .nav-workflow{position:relative}
.side-nav.collapsed .nav-group-hd,.side-nav.collapsed .nav-workflow-hd{position:relative;z-index:2}
.side-nav.collapsed .nav-sub{
  display:none;position:absolute;left:calc(100% + 4px);top:0;transform:none;
  min-width:196px;max-height:70vh;overflow-y:auto;background:var(--surface);
  border:1px solid rgba(10,10,10,.08);border-radius:12px;margin:0;padding:6px;
  box-shadow:0 8px 28px rgba(0,0,0,.12);z-index:60;
  scrollbar-width:none!important;-ms-overflow-style:none!important;
}
.side-nav.collapsed .nav-sub::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.side-nav.collapsed .nav-group.open .nav-group-hd.active{background:transparent;color:var(--text)}
.side-nav.collapsed .nav-workflow.open .nav-workflow-hd.active{background:rgba(22,163,74,.06)!important;color:var(--text)}
.side-nav.collapsed .nav-sub-item{padding:9px 12px}
.side-nav .side-toggle{
  position:fixed;
  top:calc(var(--ecom-promo-h, 0px) + (100vh - var(--ecom-promo-h, 0px)) / 2);
  left:var(--sidebar-w-active, var(--sidebar-w, 208px));
  transform:translate(-50%,-50%);
  width:36px;height:36px;border:1px solid rgba(10,10,10,.08);border-radius:50%;
  background:var(--surface);color:var(--text-2);display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 10px rgba(0,0,0,.08);
  transition:opacity .22s ease,transform .22s ease,background .15s;
  z-index:41;cursor:pointer;
}
.side-nav .side-toggle:hover{background:#fafafa;color:var(--text)}
.side-nav:not(.collapsed) .side-toggle .ico{transform:rotate(180deg)}
@media (hover:hover) and (pointer:fine){
  .side-nav.collapsed:not(.side-edge-near) .side-toggle{
    opacity:0;pointer-events:none;
    transform:translate(-50%,-50%) scale(.88);
  }
  .side-nav.collapsed.side-edge-near .side-toggle{
    opacity:1;pointer-events:auto;
    transform:translate(-50%,-50%) scale(1);
  }
}
body.page-studio .side-nav{
  display:flex;flex-direction:column;flex-shrink:0;
  border-right:1px solid var(--line);background:var(--surface);box-shadow:none;
}
body.page-studio .icon-rail{
  background:var(--surface);border-right:1px solid var(--line);box-shadow:none;
}
body.page-studio .side-nav.collapsed{width:var(--sidebar-collapsed-w);min-width:var(--sidebar-collapsed-w)}
html.dark{
  --bg:#0a0a0a;--surface:#141414;--surface-2:#1f1f1f;--text:#fafafa;--text-2:#a1a1aa;
  --muted:#a1a1aa;--line:#27272a;--line-2:#3f3f46;--select-border:#52525b;
  --zone-rail:#111;--zone-workspace:#0a0a0a;
  --shadow-rail:1px 0 16px rgba(0,0,0,.35);
  --shadow-panel:4px 0 28px rgba(0,0,0,.4);
  --shadow-topbar:0 2px 16px rgba(0,0,0,.35);
  --shadow-footer:0 -4px 24px rgba(0,0,0,.3);
  --shadow-card:0 4px 16px rgba(0,0,0,.35),0 12px 40px rgba(0,0,0,.25);
  --accent:#3b82f6;--accent-soft:rgba(59,130,246,.12);
  --batch-sel-color:#2563eb;
  --batch-sel-ring:0 0 0 1px var(--batch-sel-color);
  --batch-sel-shadow:var(--batch-sel-ring),0 1px 3px rgba(0,0,0,.2),0 4px 14px rgba(0,0,0,.18);
  --opt-card-on-bg:rgba(37,99,235,.16);--opt-card-on-border:rgba(96,165,250,.32);
  --opt-card-on-ring:rgba(96,165,250,.12);
  --promo-bg:#141414;--promo-text:#e5e5e5;
  --scrollbar-thumb:rgba(255,255,255,.14);--scrollbar-thumb-hover:rgba(255,255,255,.22);
}
html.dark .side-foot{background:transparent;box-shadow:none}
html.dark .sidebar-upgrade-btn{background:#f5d76e;color:#111}
html.dark .sidebar-upgrade-btn .ico{color:#111}
html.dark .ecom-promo-bar,
html.dark .home-promo{
  background:var(--promo-bg);color:var(--promo-text);
  border-bottom-color:#262626;
}
html.dark .ecom-promo-bar-tag,
html.dark .home-promo-tag{
  background:rgba(245,215,110,.14);color:#f5d76e;
}
html.dark .ecom-promo-bar-txt,
html.dark .home-promo-txt{color:#d4d4d4}
html.dark .home-promo-cta{color:#f5d76e}
html.dark .ecom-promo-bar-close{color:#737373;opacity:1}
html.dark .ecom-promo-bar-close:hover{background:rgba(255,255,255,.08);color:#f5f5f5}
html.dark .ecom-promo-bar-cta-btn{background:#f5d76e;color:#1a1a1a}
html.dark .ecom-promo-bar-cta-btn:hover{opacity:.92}
html.dark .sidebar-appearance-label{color:#a3a3a3}
html.dark .sidebar-appearance-seg{background:#262626;border-color:#333}
html.dark .sidebar-appearance-seg-btn{color:#a3a3a3}
html.dark .sidebar-appearance-seg-btn:hover{color:#d4d4d4;background:rgba(255,255,255,.06)}
html.dark .sidebar-appearance-seg-btn.active{
  background:#3f3f46;color:#fafafa;
  box-shadow:0 1px 2px rgba(0,0,0,.25);
}
html.dark .sidebar-appearance-menu{background:rgba(24,24,24,.96);border-color:rgba(255,255,255,.08)}
html.dark .sidebar-appearance-option{color:#a1a1aa}
html.dark .sidebar-appearance-option:hover{background:rgba(255,255,255,.06);color:#fafafa}
html.dark .sidebar-nav-item.active{background:rgba(255,255,255,.1);color:#fafafa}
html.dark .nav-group-hd.sidebar-nav-item.active{background:rgba(255,255,255,.1);color:#fafafa}
html.dark .nav-group.open > .nav-group-hd.sidebar-nav-item.active,
html.dark .nav-workflow.open > .nav-workflow-hd.active{background:transparent;color:#fafafa}
html.dark .side-nav.collapsed .sidebar-nav-item.active,
html.dark .side-nav.collapsed .nav-group-hd.sidebar-nav-item.active{background:rgba(255,255,255,.1)}
html.dark .side-nav.collapsed .sidebar-history-nav{border-top:none}
html.dark .side-nav.collapsed .sidebar-appearance-trigger{
  background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);box-shadow:none;
}
html.dark .seg-slide-indicator--light{background:rgba(255,255,255,.1)}
html.dark .seg-slide-indicator--dark{background:rgba(255,255,255,.1)}
html.dark .seg-row,
html.dark .scene-tab-row{
  background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.12);
}
html.dark .seg-pill,
html.dark .scene-tab{
  background:transparent;border:none;color:#a3a3a3;
}
html.dark .seg-pill:hover:not(.on),
html.dark .scene-tab:hover:not(.on){background:rgba(255,255,255,.08);color:#d4d4d4}
html.dark .seg-pill.on,
html.dark .scene-tab.on{background:var(--accent);color:#fff;box-shadow:0 1px 4px rgba(37,99,235,.28)}
html.dark .acc-gen-cat{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);color:#a3a3a3;
}
html.dark .acc-gen-cat:hover:not(.on){
  background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#e5e5e5;
}
html.dark .acc-gen-cat.on{
  background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.35);color:#93c5fd;
  box-shadow:0 0 0 1px rgba(59,130,246,.15);
}
html.dark .acc-gen-count-seg{
  background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.12);
}
html.dark .acc-gen-preview{
  background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.1);
}
html.dark .acc-gen-preview-empty{
  background:rgba(255,255,255,.02);border-color:rgba(255,255,255,.12);
}
html.dark .acc-gen-preview-item{
  background:#1f1f1f;box-shadow:0 1px 3px rgba(0,0,0,.25);
}
html.dark .acc-gen-preview-thumb{background:#171717}
html.dark .acc-gen-use-btn{
  background:#1f1f1f;border-top-color:rgba(255,255,255,.08);color:#93c5fd;
}
html.dark .acc-gen-use-btn:hover{background:rgba(59,130,246,.12)}
html.dark .acc-gen-preview-item.on .acc-gen-use-btn{
  background:var(--accent,#2563eb);color:#fff;
}
html.dark .acc-gen-loading{background:rgba(24,24,24,.88)}
html.dark .accessory-gen-modal .acc-gen-foot .wb-btn.primary,
html.dark .match-gen-modal .acc-gen-foot .wb-btn.primary{
  background:var(--accent,#2563eb);border-color:var(--accent,#2563eb);color:#fff;
  box-shadow:0 1px 3px rgba(37,99,235,.35);
}
html.dark .accessory-gen-modal .acc-gen-foot .wb-btn.primary:hover:not(:disabled),
html.dark .match-gen-modal .acc-gen-foot .wb-btn.primary:hover:not(:disabled){
  background:#3b82f6;border-color:#3b82f6;
}
html.dark body.page-studio .config-panel--studio .region-switch{
  background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.12);
}
html.dark body.page-studio .config-panel--studio .region-switch .region-tab{color:#a3a3a3}
html.dark body.page-studio .config-panel--studio .region-switch .region-tab:hover:not(.on){
  color:#d4d4d4;background:rgba(255,255,255,.08);
}
html.dark body.page-studio .config-panel--studio .region-switch .region-tab.on{
  background:var(--accent);color:#fff;box-shadow:0 1px 4px rgba(37,99,235,.28);
}
html.dark .seg-row.seg-indicator-host.seg-indicator-ready:has(.seg-slide-indicator) .seg-pill.on,
html.dark .scene-tab-row.seg-indicator-host.seg-indicator-ready:has(.seg-slide-indicator) .scene-tab.on,
html.dark .region-switch.seg-indicator-host.seg-indicator-ready:has(.seg-slide-indicator) .region-tab.on,
html.dark body.page-studio .config-panel--studio .region-switch.seg-indicator-host.seg-indicator-ready:has(.seg-slide-indicator) .region-tab.on{
  background:transparent;box-shadow:none;color:#fff;
}
html.dark .hist-seg:not(.hist-time-seg).seg-indicator-host.seg-indicator-ready:has(.seg-slide-indicator) button.on{
  background:transparent;box-shadow:none;color:#fff;
}
html.dark .hist-seg.hist-time-seg.seg-indicator-host.seg-indicator-ready:has(.seg-slide-indicator) button.on{
  background:transparent;box-shadow:none;color:var(--text,#fafafa);
}
html.dark .nav-sub-item.active{background:rgba(255,255,255,.1);color:#fafafa}
html.dark .nav-wf-item.active{background:rgba(255,255,255,.1);color:#fafafa}
html.dark .sidebar-nav-item:hover:not(.active),html.dark .nav-group-hd.sidebar-nav-item:hover,
html.dark .nav-sub-item:hover:not(.active){background:rgba(255,255,255,.06);color:#fafafa}
html.dark .brand-caption{color:rgba(255,255,255,.88)}
html.dark .detail-opts-panel{
  background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.02) 100%);
  border-color:rgba(255,255,255,.08);
}
html.dark .detail-opt-item{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.06);
  box-shadow:none;
}
html.dark .detail-opt-item:focus-within{border-color:rgba(255,255,255,.14)}
html.dark .form-opts-panel .detail-opt-item{
  background:linear-gradient(180deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,.03) 100%);
}
html.dark .opt-card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}
html.dark .opt-card:hover{background:rgba(255,255,255,.06)}
html.dark .opt-card.on{
  background:rgba(37,99,235,.16);border-color:rgba(96,165,250,.32);
  box-shadow:0 0 0 1px rgba(96,165,250,.12);
}
html.dark .opt-card.on .opt-card-name{color:#bfdbfe}
html.dark .opt-card-panel{background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.02) 100%);border-color:rgba(255,255,255,.08)}
html.dark .ui-select-trigger{background:rgba(255,255,255,.03)}
html.dark .ui-select.open .ui-select-trigger{box-shadow:0 0 0 2px rgba(255,255,255,.06)}
html.dark .ui-select-menu{background:#111;border-color:rgba(255,255,255,.1)}
html.dark .ui-select-option.on{background:rgba(255,255,255,.06)}
html.dark .settings-group{
  background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.02) 100%);
  border-color:rgba(255,255,255,.08);
}
html.dark .settings-item,
html.dark .settings-extra{background:rgba(255,255,255,.04)}
html.dark .settings-item + .settings-item,
html.dark .settings-extra{border-top-color:rgba(255,255,255,.06)}
html.dark .settings-extra input[type=text],
html.dark .settings-extra textarea.settings-extra-textarea{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);color:#fafafa;
}
body.page-history{
  overflow:hidden;height:100vh;font-family:var(--font);background:var(--bg);color:var(--text);
  -webkit-font-smoothing:antialiased;
}
body.page-history-leaving .hist-main{
  opacity:0;
  transform:translateY(4px);
  transition:opacity var(--ecom-dur-leave) var(--ecom-ease-fluid),transform var(--ecom-dur-leave) var(--ecom-ease-fluid);
}
body.page-history:not(.page-history-leaving) .hist-main{
  animation:ecom-fade-up var(--ecom-dur-enter) var(--ecom-ease-fluid) both;
}
.studio-app.page-history{min-height:0;height:100vh;overflow:hidden}
body.page-history .ecom-user-dock,
body.page-history .ecom-user-bar,
body.page-history .ecom-user-wrap,
body.page-history #creditBadge,
body.page-history #wbCredits,
body.page-history .wb-credits-pill,
body.page-history .ecom-user-pill--credits,
body.broker-active .ecom-user-dock,
body.broker-active .ecom-user-bar,
body.broker-active .ecom-user-wrap,
body.broker-active #creditBadge,
body.broker-active #wbCredits,
body.broker-active .wb-credits-pill,
body.broker-active .ecom-user-pill--credits,
body.page-cases .ecom-user-dock,
body.page-cases .ecom-user-bar,
body.page-cases .ecom-user-wrap,
body.page-cases #creditBadge,
body.page-cases #wbCredits,
body.page-cases .wb-credits-pill,
body.page-cases .ecom-user-pill--credits{display:none!important;visibility:hidden!important;pointer-events:none!important}
body.page-history{--studio-row-h:52px;--hist-folder-w:240px;--hist-gallery-px:24px}
body.page-history .side-brand{
  min-height:var(--studio-row-h);padding:0 10px;box-sizing:border-box;
  justify-content:center;
}
body.page-history .side-brand .brand-logo{max-height:30px}
body.page-studio .side-nav.collapsed .side-brand,
body.page-history .side-nav.collapsed .side-brand{
  min-height:var(--studio-row-h);padding:0 6px;
}
.hist-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--bg);overflow:hidden}
.hist-topbar{
  display:grid;grid-template-columns:var(--hist-folder-w) minmax(0,1fr);align-items:center;
  height:var(--studio-row-h);min-height:var(--studio-row-h);max-height:var(--studio-row-h);
  padding:0;box-sizing:border-box;overflow:hidden;
  background:#fff;border-bottom:1px solid rgba(10,10,10,.06);
  flex-shrink:0;z-index:20;position:relative;
}
.hist-topbar-side{
  display:flex;align-items:center;gap:8px;min-width:0;
  padding:0 16px;height:100%;box-sizing:border-box;
}
.hist-page-title{
  margin:0;font-size:15px;font-weight:700;color:#111;
  letter-spacing:-.02em;white-space:nowrap;line-height:1;
}
.hist-mobile-link{
  display:inline-flex;align-items:center;justify-content:center;gap:4px;
  height:26px;padding:0 10px 0 8px;box-sizing:border-box;flex-shrink:0;
  border:none;border-radius:6px;
  background:linear-gradient(180deg,#3b82f6 0%,var(--accent,#2563eb) 100%);
  color:#fff;
  font-size:11px;font-weight:600;line-height:1;
  text-decoration:none;white-space:nowrap;
  box-shadow:0 1px 2px rgba(37,99,235,.2);
  transition:filter .15s ease,box-shadow .15s ease,background .15s ease;
}
.hist-mobile-link .ico,
.hist-mobile-link .ico svg{
  width:12px;height:12px;display:block;flex-shrink:0;
}
.hist-mobile-link:hover{
  filter:brightness(1.06);
  box-shadow:0 1px 3px rgba(37,99,235,.28);
  color:#fff;text-decoration:none;
}
.hist-mobile-link:focus{text-decoration:none;outline:none}
.hist-mobile-link:active{
  filter:brightness(.97);
  box-shadow:none;
  text-decoration:none;
}
.hist-mobile-qr-modal .hist-mobile-qr-body{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:8px 18px 20px;
}
.hist-mobile-qr-desc{
  margin:0;font-size:13px;line-height:1.6;color:var(--text-2);max-width:320px;
}
.hist-mobile-qr-box{
  position:relative;width:220px;height:220px;border-radius:12px;
  background:#fff;border:1px solid #eee;display:flex;align-items:center;justify-content:center;
}
.hist-mobile-qr-box canvas{display:block;border-radius:8px}
.hist-mobile-qr-loading{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  margin:0;font-size:13px;color:#737373;background:rgba(255,255,255,.92);border-radius:12px;
}
.hist-mobile-qr-loading[hidden]{
  display:none!important;
}
.hist-mobile-qr-hint{margin:0;font-size:14px;font-weight:600;color:var(--text)}
.hist-mobile-qr-expire{margin:0;font-size:12px;color:#a3a3a3}
.hist-mobile-qr-thumbs{width:100%;max-width:320px}
.hist-mobile-qr-thumbs[hidden]{display:none!important}
.hist-mobile-qr-thumbs-title{margin:0 0 8px;font-size:12px;font-weight:600;color:#334155;text-align:center}
.hist-mobile-qr-thumbs-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.hist-mobile-qr-thumb{
  position:relative;width:64px;height:64px;border-radius:10px;overflow:hidden;
  border:1px solid #e2e8f0;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.06);
}
.hist-mobile-qr-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.hist-mobile-qr-thumb-ok{
  position:absolute;right:3px;bottom:3px;width:16px;height:16px;border-radius:999px;
  background:#16a34a;color:#fff;font-size:10px;line-height:16px;text-align:center;font-weight:700;
}
html.dark .hist-mobile-qr-thumbs-title{color:#d4d4d4}
html.dark .hist-mobile-qr-thumb{border-color:#333;background:#111}
html.dark .hist-mobile-qr-box{background:#fafafa;border-color:#333}
html.dark .hist-mobile-qr-loading{background:rgba(250,250,250,.92);color:#525252}
.hist-back{
  display:inline-flex;align-items:center;justify-content:center;gap:4px;
  height:26px;padding:0 8px;box-sizing:border-box;
  font-size:13px;line-height:1;color:var(--text-2);flex-shrink:0;
  border-radius:6px;
}
.hist-back:hover{background:var(--surface-2);color:var(--text)}
.hist-cats-wrap{
  min-width:0;min-height:0;height:100%;
  display:flex;align-items:center;gap:8px;
  padding:0 var(--hist-gallery-px);box-sizing:border-box;
}
.hist-cats-scroll,.ecom-hscroll-wrap{
  flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:6px;
}
/* 顶栏内不占高度：滚动条条轨隐藏，分类与左侧按钮同一基准线 */
.hist-topbar .hist-cats-scroll.ecom-hscroll-wrap,
.hist-topbar .hist-cats-scroll{
  flex-direction:row;align-items:center;gap:0;
}
.hist-topbar .ecom-hscroll-ui{display:none}
.hist-cats{
  position:relative;display:flex;align-items:center;gap:4px;
  min-width:0;overflow-x:auto;overflow-y:hidden;
  padding:0;scrollbar-width:none;-ms-overflow-style:none;
}
.hist-cats::-webkit-scrollbar{display:none}
.ecom-hscroll-ui{
  flex-shrink:0;height:3px;width:100%;
}
.ecom-hscroll-track{
  position:relative;height:100%;border-radius:999px;
  background:rgba(10,10,10,.08);
}
.ecom-hscroll-thumb{
  position:absolute;top:0;left:0;height:100%;min-width:48px;
  border-radius:999px;background:rgba(10,10,10,.28);
  cursor:grab;touch-action:none;transition:background .12s;
}
.ecom-hscroll-thumb:hover{background:rgba(10,10,10,.38)}
.ecom-hscroll-thumb.is-dragging{cursor:grabbing;background:rgba(10,10,10,.42)}
.hist-cat{
  position:relative;z-index:1;
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;border:none;background:transparent;
  height:26px;padding:0 12px;box-sizing:border-box;border-radius:999px;
  font-size:12px;font-weight:500;line-height:1;color:var(--text-2);cursor:pointer;white-space:nowrap;transition:color .15s,background .15s;
}
.hist-cat:hover{background:var(--surface-2);color:var(--text)}
.hist-cat.on{background:transparent;color:#fff;font-weight:600}
.seg-indicator-host.hist-cats .hist-cat.on{background:transparent;color:#fff;font-weight:600}
.seg-indicator-host.hist-cats .hist-cat:hover:not(.on){background:var(--surface-2);color:var(--text)}
.hist-cats-more{
  flex-shrink:0;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;
  background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.hist-layout{display:flex;flex:1;min-height:0;gap:0;overflow:hidden}
.hist-folders{
  width:var(--hist-folder-w);flex-shrink:0;min-height:0;background:var(--surface);border-right:1px solid var(--line);
  padding:16px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;
}
.hist-btn-orange,.hist-btn-outline{
  width:100%;display:flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 12px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;
}
.hist-btn-orange{border:none;background:var(--orange);color:#fff}
.hist-btn-outline{border:1px solid var(--line);background:var(--surface);color:var(--text)}
.hist-folder-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}
.hist-folder-item{
  width:100%;display:flex;align-items:center;gap:8px;padding:9px 10px;border:none;
  background:transparent;border-radius:var(--radius);font-size:13px;cursor:pointer;text-align:left;
}
.hist-folder-item em{margin-left:auto;font-size:12px;color:var(--muted);font-style:normal}
.hist-folder-item.on{background:var(--text);color:#fff;font-weight:600}
.hist-folder-item.on em{color:rgba(255,255,255,.75)}
.hist-folder-yellow{color:#eab308}
.hist-folder-item.on .hist-folder-yellow{color:#fde047}
.hist-folder-tip{
  margin-top:auto;padding:24px 8px;display:flex;flex-direction:column;align-items:center;
  text-align:center;gap:10px;color:var(--muted);font-size:12px;line-height:1.6;
}
.hist-gallery-wrap{
  flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;
  padding:20px var(--hist-gallery-px) 0;overflow:hidden;
}
.hist-filter-row{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px}
.hist-toolbar-row{
  --ht-fs:13px;
  --ht-px:14px;
  --ht-r:10px;
  --ht-ico:14px;
  --ht-gap:8px;
  --ht-seg-pad:2px;
  --ht-seg-px:12px;
  --ht-ctrl-h:32px;
  --ht-seg-btn-h:calc(var(--ht-ctrl-h) - 2px - var(--ht-seg-pad) * 2);
  flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:var(--ht-gap);
  margin-bottom:16px;min-height:var(--ht-ctrl-h);flex-wrap:nowrap;
}
.hist-toolbar-left,.hist-toolbar-right{
  display:flex;align-items:center;gap:var(--ht-gap);flex-wrap:nowrap;min-width:0;
}
.hist-toolbar-right{flex-shrink:0;justify-content:flex-end}
.hist-toolbar-left .hist-gallery-title{
  display:flex;align-items:baseline;gap:calc(var(--ht-gap) - 2px);min-width:0;
  padding-left:calc(var(--ht-gap) - 2px);border-left:1px solid var(--line);
}
.hist-toolbar-left .hist-gallery-title strong{font-size:var(--ht-fs);font-weight:700;white-space:nowrap;line-height:1}
.hist-toolbar-left .hist-gallery-title span{font-size:calc(var(--ht-fs) - 2px);color:var(--muted);white-space:nowrap;line-height:1}
.hist-toolbar-row .hist-seg{
  padding:var(--ht-seg-pad);border-radius:var(--ht-r);height:var(--ht-ctrl-h);
  box-sizing:border-box;align-items:center;
}
.hist-toolbar-row .hist-seg button{
  height:var(--ht-seg-btn-h);padding:0 var(--ht-seg-px);font-size:var(--ht-fs);line-height:1;
  display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
}
.hist-toolbar-row .hist-seg:not(.hist-time-seg) button{border-radius:999px}
.hist-toolbar-row .hist-time-seg{border-radius:var(--ht-r);flex-wrap:nowrap}
.hist-toolbar-row .hist-time-seg button[data-range="custom"]{
  width:var(--ht-seg-btn-h);padding:0;border-radius:999px;
}
.hist-toolbar-row .hist-time-seg button[data-range="custom"] .ico,
.hist-toolbar-row .hist-time-seg button[data-range="custom"] .ico svg{
  width:var(--ht-ico);height:var(--ht-ico);
}
.hist-toolbar-row .hist-batch-btn{
  height:var(--ht-ctrl-h);padding:0 var(--ht-px);border-radius:var(--ht-r);font-size:var(--ht-fs);
  gap:calc(var(--ht-gap) - 2px);line-height:1;box-sizing:border-box;
}
.hist-toolbar-row .hist-batch-btn .ico,
.hist-toolbar-row .hist-batch-btn .ico svg{width:var(--ht-ico);height:var(--ht-ico)}
.hist-toolbar-row .hist-batch-bar .hist-batch-act,
.hist-toolbar-row .hist-batch-bar .hist-batch-done{
  height:var(--ht-ctrl-h);padding:0 var(--ht-px);border-radius:var(--ht-r);font-size:var(--ht-fs);
  line-height:1;box-sizing:border-box;gap:calc(var(--ht-gap) - 2px);
}
.hist-toolbar-row .hist-batch-bar .hist-batch-act .ico,
.hist-toolbar-row .hist-batch-bar .hist-batch-act .ico svg{width:var(--ht-ico);height:var(--ht-ico)}
.hist-toolbar-row .hist-batch-filter-select .ui-select{
  min-width:112px;max-width:168px;
}
.hist-toolbar-row .hist-batch-filter-select .ui-select-trigger{
  min-height:var(--ht-ctrl-h);height:var(--ht-ctrl-h);padding:0 28px 0 12px;
  font-size:var(--ht-fs);border-radius:var(--ht-r);
}
.hist-date-pop{
  position:fixed;z-index:350;width:min(280px,calc(100vw - 24px));padding:14px 16px 16px;
  background:var(--surface,#fff);border:1px solid var(--line);border-radius:14px;
  box-shadow:0 16px 48px rgba(15,23,42,.14);
}
.hist-date-pop-hd{
  display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;
}
.hist-date-pop-hd span{font-size:14px;font-weight:700;color:var(--text)}
.hist-date-pop-close{
  display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;
  border:none;border-radius:8px;background:transparent;color:var(--text-2);cursor:pointer;
}
.hist-date-pop-close:hover{background:var(--surface-2);color:var(--text)}
.hist-date-pop-body{display:flex;flex-direction:column;gap:10px}
.hist-date-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-2)}
.hist-date-field input[type=date]{
  height:34px;padding:0 10px;border:1px solid var(--line);border-radius:10px;
  background:var(--surface);color:var(--text);font-size:13px;font-family:inherit;
}
.hist-date-field input[type=date]:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft,rgba(37,99,235,.12));
}
.hist-date-pop-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.hist-date-btn{
  height:32px;padding:0 14px;border:1px solid var(--line);border-radius:10px;
  background:var(--surface);font-size:13px;color:var(--text);cursor:pointer;
}
.hist-date-btn:hover{background:var(--surface-2)}
.hist-date-btn--primary{
  border-color:var(--accent);background:var(--accent);color:#fff;
}
.hist-date-btn--primary:hover{filter:brightness(.98)}

/* 自定义日期范围选择器 */
.ecom-drp{
  position:fixed;z-index:101000;width:min(300px,calc(100vw - 24px));
  padding:14px 14px 12px;background:#fff;border:1px solid #ebebeb;border-radius:14px;
  box-shadow:0 16px 48px rgba(15,23,42,.14);box-sizing:border-box;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
}
.ecom-drp-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.ecom-drp-title{font-size:14px;font-weight:700;color:#1a1c22}
.ecom-drp-close{
  display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;
  border:none;border-radius:8px;background:transparent;color:#737373;cursor:pointer;padding:0;
}
.ecom-drp-close:hover{background:#f5f5f5;color:#1a1c22}
.ecom-drp-range{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.ecom-drp-field{
  flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  height:auto;padding:8px 10px;border:1px solid #e8e8e8;border-radius:10px;
  background:#fafafa;cursor:pointer;font-family:inherit;text-align:left;
  transition:border-color .15s,background .15s,box-shadow .15s;
}
.ecom-drp-field.on{
  border-color:#1a1c22;background:#fff;box-shadow:0 0 0 3px rgba(26,28,34,.06);
}
.ecom-drp-field-label{font-size:11px;font-weight:500;color:#737373;line-height:1.2}
.ecom-drp-field-val{font-size:12px;font-weight:600;color:#1a1c22;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ecom-drp-range-sep{
  flex-shrink:0;width:12px;height:1px;background:#d4d4d4;margin-top:10px;
}
.ecom-drp-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.ecom-drp-cal-title{font-size:13px;font-weight:700;color:#1a1c22}
.ecom-drp-nav{
  display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;
  border:1px solid #ebebeb;border-radius:8px;background:#fff;color:#525252;cursor:pointer;padding:0;
}
.ecom-drp-nav:hover:not(:disabled){background:#f5f5f5;border-color:#d4d4d4}
.ecom-drp-nav:disabled{opacity:.35;cursor:not-allowed}
.ecom-drp-week{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}
.ecom-drp-week-cell{
  height:24px;display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:600;color:#a3a3a3;
}
.ecom-drp-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.ecom-drp-day{
  position:relative;height:34px;border:none;border-radius:8px;background:transparent;
  font-size:13px;font-weight:500;color:#1a1c22;cursor:pointer;font-family:inherit;padding:0;
  transition:background .12s,color .12s;
}
.ecom-drp-day:hover:not(.is-disabled):not(.is-start):not(.is-end){background:#f0f0f0}
.ecom-drp-day.is-out{color:#c4c4c4}
.ecom-drp-day.is-disabled{color:#d4d4d4;cursor:not-allowed}
.ecom-drp-day.is-today:not(.is-start):not(.is-end){font-weight:700;color:#1a1c22}
.ecom-drp-day.is-today:not(.is-start):not(.is-end)::after{
  content:'';position:absolute;bottom:4px;left:50%;width:4px;height:4px;margin-left:-2px;
  border-radius:50%;background:#1a1c22;
}
.ecom-drp-day.is-in-range:not(.is-start):not(.is-end){background:#f3f3f3;border-radius:4px}
.ecom-drp-day.is-start,.ecom-drp-day.is-end{
  background:#1a1c22;color:#fff;font-weight:600;z-index:1;
}
.ecom-drp-day.is-start.is-end{border-radius:8px}
.ecom-drp-day.is-start:not(.is-end){border-radius:8px 4px 4px 8px}
.ecom-drp-day.is-end:not(.is-start){border-radius:4px 8px 8px 4px}
.ecom-drp-ft{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}
.ecom-drp-ft-btn{
  height:32px;padding:0 12px;border:1px solid #e8e8e8;border-radius:999px;
  background:#fff;font-size:12px;font-weight:500;color:#525252;cursor:pointer;font-family:inherit;
}
.ecom-drp-ft-btn:hover{background:#f5f5f5}
.ecom-drp-ft-primary{
  border-color:#1a1c22;background:#1a1c22;color:#fff;font-weight:600;padding:0 16px;
}
.ecom-drp-ft-primary:hover{background:#2d3038;border-color:#2d3038}

.hist-gallery-scroll{
  flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;
  padding:8px 4px 40px;scrollbar-gutter:stable;
  overflow-anchor:none;
}
.hist-seg{position:relative;display:inline-flex;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px}
.hist-seg button{
  position:relative;z-index:1;
  border:none;background:transparent;padding:7px 14px;border-radius:999px;font-size:12px;
  color:var(--text-2);cursor:pointer;white-space:nowrap;transition:color .2s;
}
.hist-seg button.on{background:var(--surface-2);color:var(--text);font-weight:600}
#assetTypeSeg button.on{background:var(--accent);color:#fff;font-weight:600}
.seg-indicator-host.hist-seg button.on{background:transparent;font-weight:600}
.seg-indicator-host#assetTypeSeg button.on{color:#fff}
.seg-indicator-host#timeSeg button.on{color:var(--text)}
.hist-time-seg{flex-wrap:nowrap;border-radius:12px}
.hist-time-seg button[data-range="custom"]:hover{background:var(--surface-2)}
.hist-gallery-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.hist-gallery-title strong{font-size:16px;font-weight:700;margin-right:10px}
.hist-gallery-title span{font-size:13px;color:var(--muted)}
.hist-batch-btn{
  display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--line);
  border-radius:10px;background:var(--surface);font-size:13px;cursor:pointer;
}
.hist-batch-btn.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.hist-gallery-actions{display:flex;align-items:center;gap:8px}
.hist-batch-bar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  width:100%;box-sizing:border-box;
  padding:8px 10px;
  background:linear-gradient(180deg,#fafbfc 0%,#f7f8fa 100%);
  border:1px solid #e8eaed;
  border-radius:12px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  --batch-ctrl-h:30px;
  --batch-fs:12px;
  --batch-px:11px;
  --batch-r:8px;
}
.hist-batch-act{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 var(--batch-px,12px);
  min-height:var(--batch-ctrl-h,var(--ctrl-h));border:1px solid #e5e7eb;
  border-radius:var(--batch-r,var(--radius));background:#fff;color:#404040;
  font-size:var(--batch-fs,12px);font-weight:500;cursor:pointer;white-space:nowrap;
  box-sizing:border-box;
  transition:background .15s,border-color .15s,color .15s,box-shadow .15s;
}
.hist-batch-act:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db;color:#171717}
.hist-batch-act:disabled{opacity:.4;cursor:not-allowed}
.hist-batch-act--danger{color:#dc2626;border-color:#fecaca;background:#fff}
.hist-batch-act--danger:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5;color:#b91c1c}

/* 批量选择：工具栏改为两行，避免按钮挤在一起 */
.hist-toolbar-row--batch{
  flex-wrap:wrap;align-items:flex-start;row-gap:10px;
}
.hist-toolbar-row--batch .hist-toolbar-left .hist-gallery-title{display:none}
.hist-toolbar-row--batch .hist-time-seg{display:none}
.hist-toolbar-row--batch .hist-toolbar-right{
  flex:1 1 100%;width:100%;min-width:0;justify-content:flex-start;
}
.hist-toolbar-row--batch .hist-gallery-actions{width:100%;min-width:0}
.hist-toolbar-row--batch .hist-batch-bar{
  width:100%;flex-wrap:wrap;row-gap:8px;
}
.hist-toolbar-row--batch .hist-batch-done{margin-left:auto}
.hist-toolbar-row--batch .hist-batch-filter-select .ui-select{
  min-width:96px;max-width:132px;
}

.hist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;min-height:clamp(240px,38vh,480px)}
.hist-grid.is-empty{min-height:clamp(240px,38vh,480px)}
.hist-card{
  position:relative;background:var(--surface);border:1px solid var(--line);border-radius:12px;
  overflow:hidden;display:block;transition:.15s;
}
.hist-card-link{
  position:relative;display:block;color:inherit;text-decoration:none;
}
.hist-card-media{
  position:relative;display:block;border-radius:12px 12px 0 0;overflow:hidden;
}
.hist-card-preview{
  border:none;padding:0;background:none;width:100%;cursor:zoom-in;display:block;
  overflow:hidden;background:#f5f5f5;position:relative;
  outline:none;box-shadow:none;
  aspect-ratio:3/4;
}
.hist-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.06);transform:translateY(-1px)}
.hist-card-link img,.hist-card-preview img{
  width:100%;height:100%;display:block;vertical-align:top;
  object-fit:cover;object-position:center;
}
.hist-card-preview--video{
  cursor:pointer;background:#111827;
}
.hist-card-preview--video img,
.hist-card-preview--video video,
.hist-card-preview--video .hist-card-video-poster,
.hist-card-preview--video .hist-card-video-el,
.hist-card-preview--video .hist-card-video-ph{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;display:block;background:#111827;
}
.hist-card-preview--video .hist-card-video-ph{background:linear-gradient(145deg,#1f2937,#0f172a)}
.hist-card-preview--video::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.14) 0%,transparent 30%,transparent 58%,rgba(0,0,0,.32) 100%);
}
.hist-card-video-badge{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;
  width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.92);color:#0a0a0a;
  display:flex;align-items:center;justify-content:center;pointer-events:none;
  box-shadow:0 4px 18px rgba(0,0,0,.22);
  transition:transform .18s ease,background .18s ease;
}
.hist-card-video-badge svg{margin-left:2px}
.hist-card--video:hover .hist-card-video-badge{
  transform:translate(-50%,-50%) scale(1.06);background:#fff;
}
.hist-card-video-tag{
  position:absolute;top:8px;left:8px;z-index:2;
  padding:3px 8px;border-radius:6px;
  background:rgba(10,10,10,.62);color:#fff;
  font-size:10px;font-weight:650;letter-spacing:.04em;line-height:1.3;
  pointer-events:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.hist-card-preview--video .ecom-ratio-badge{z-index:2}
.hist-card--video .hist-card-act{text-decoration:none}

.hist-video-mask{
  position:fixed;inset:0;z-index:1320;background:rgba(0,0,0,.88);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:40px 24px 28px;box-sizing:border-box;
}
.hist-video-close{
  position:absolute;top:16px;right:16px;z-index:2;
  width:40px;height:40px;border:none;border-radius:50%;
  background:rgba(255,255,255,.12);color:#fff;font-size:28px;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.hist-video-close:hover{background:rgba(255,255,255,.2)}
.hist-video-stack{
  width:min(960px,100%);max-width:100%;
  display:flex;flex-direction:column;align-items:center;gap:12px;
}
.hist-video-stage{
  width:100%;max-height:min(72vh,820px);
  display:flex;align-items:center;justify-content:center;
  border-radius:12px;overflow:hidden;background:#0a0a0c;
  box-shadow:0 16px 48px rgba(0,0,0,.45);
}
.hist-video-player{
  width:100%;max-height:min(72vh,820px);
  display:block;background:#0a0a0c;outline:none;
}
.hist-video-toolbar{
  position:static;display:flex;justify-content:center;pointer-events:none;
  flex:0 0 auto;
}
.hist-video-dl{
  pointer-events:auto;
  display:inline-flex;align-items:center;justify-content:center;
  min-width:112px;height:36px;padding:0 18px;border-radius:999px;
  background:#fff;color:#111;font-size:13px;font-weight:650;
  text-decoration:none;box-shadow:0 4px 16px rgba(0,0,0,.25);
}
.hist-video-dl:hover{background:#f5f5f5}
.ecom-ratio-badge{
  position:absolute;left:6px;bottom:6px;z-index:2;
  padding:2px 6px;border-radius:4px;
  background:rgba(0,0,0,.52);color:#fff;
  font-size:10px;font-weight:600;line-height:1.35;letter-spacing:.02em;
  pointer-events:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.yq-feed-screen-badge{
  position:absolute;left:6px;top:6px;z-index:2;
  padding:3px 8px;border-radius:6px;
  background:rgba(17,17,17,.78);color:#fff;
  font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.02em;
  pointer-events:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.yq-feed-ver-badge{
  display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;
  background:rgba(22,119,255,.1);color:#1677ff;font-size:11px;font-weight:700;
  line-height:1.4;letter-spacing:.02em;white-space:nowrap;
}
.yq-feed-ver-badge--on-media{
  position:absolute;right:6px;top:6px;z-index:2;
  background:rgba(22,119,255,.92);color:#fff;
  pointer-events:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.gen-job-pack-item.is-regen-new{
  outline:1px solid rgba(22,119,255,.28);
  border-radius:12px;
}
.wb-hist-feed .yq-feed-screen-badge{font-size:10px;padding:2px 7px;border-radius:5px}
html.dark .yq-feed-screen-badge{background:rgba(0,0,0,.72);color:#f5f5f5}
.hist-card-hover{
  position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;
  flex-wrap:wrap;gap:8px;
  padding:12px;background:linear-gradient(to top,rgba(0,0,0,.45),transparent 55%);
  opacity:0;transition:opacity .15s;pointer-events:none;
}
.hist-card:hover .hist-card-hover{opacity:1;pointer-events:auto}
.hist-card-dl{
  display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:999px;
  background:rgba(255,255,255,.95);color:var(--text);font-size:12px;font-weight:600;cursor:pointer;
  text-decoration:none;border:none;font:inherit;
}
.hist-card-dl--orig{background:rgba(255,255,255,.88)}
.hist-card-name{
  display:block;font-size:12px;font-weight:600;color:var(--text-2);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.hist-card-meta{padding:10px 12px 12px}
.hist-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.hist-card-act{
  display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:999px;
  border:1px solid var(--line);background:var(--surface);color:var(--text-2);
  font-size:11px;font-weight:600;text-decoration:none;cursor:pointer;
}
.hist-card-act--primary{background:#111;border-color:#111;color:#fff}
.hist-card-act:hover{background:var(--surface-2)}
.hist-card-act--primary:hover{background:#000}
.hist-check{
  position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;
  background:rgba(255,255,255,.92);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
  opacity:0;transition:.15s;
  font-size:12px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em;
}
.hist-grid.batch-mode .hist-check{opacity:1}
.hist-grid.batch-mode .hist-card{transition:none}
.hist-grid.batch-mode .hist-card:hover{transform:none;box-shadow:none}
.hist-grid.batch-mode .hist-card-actions,
.hist-grid.batch-mode .hist-card-act{pointer-events:none}
.hist-grid.batch-mode .yq-feed-next{display:none!important}
.hist-check.on{background:var(--batch-sel-color);color:#fff;border-color:var(--batch-sel-color);box-shadow:0 2px 8px rgba(37,99,235,.35)}
.hist-check.hist-check--lg{font-size:10px}
.hist-card.selected,
.hist-card.selected:hover{
  outline:none;
  border-color:var(--batch-sel-color);
  box-shadow:var(--batch-sel-shadow);
  z-index:2;
  transform:none;
}
.hist-grid.batch-mode .hist-card.selected:hover{
  box-shadow:var(--batch-sel-shadow);
}
.hist-empty{
  display:none;flex-direction:column;align-items:center;justify-content:center;
  min-height:360px;border:1px dashed var(--line-2);border-radius:16px;background:var(--surface);
  color:var(--muted);text-align:center;gap:8px;padding:40px;
}
.hist-empty .sub{font-size:13px}

@media(max-width:900px){
  .hist-topbar{
    grid-template-columns:1fr;height:auto;min-height:0;max-height:none;
    padding:12px 16px;gap:10px;overflow:visible;
  }
  .hist-topbar-side{padding:0}
  .hist-cats-wrap{padding:0;height:auto}
  .hist-page-title{display:none}
  .hist-layout{flex-direction:column}
  .hist-folders{width:100%;border-right:none;border-bottom:1px solid var(--line)}
  .hist-gallery-wrap{padding:16px 16px 0}
  .hist-gallery-scroll{padding-bottom:24px}
  .hist-toolbar-row{flex-wrap:wrap}
  .hist-toolbar-left,.hist-toolbar-right{flex-wrap:wrap}
}

@media(max-width:1100px){
  :root{--config-w:340px}
  .home-tools-grid{grid-template-columns:repeat(3,1fr)}
  .home-case-scroll .home-case-card{flex:0 0 200px;width:200px}
  .home-case-scroll .home-case-img,.home-case-mock,.home-case-ph{height:400px}
}
@media(max-width:900px){
  :root{--config-w:300px}
  .ws-float-card{width:calc(100% - 32px)}
  .ws-float-card--gen .home-cost-line{display:none}
  .ws-float-card--gen .home-prompt-action{width:100%;justify-content:flex-end;margin-left:0}
  .home-trust-bar,.home-case-filters,.home-case-grid,.home-showcase-module,.home-showcase-head,.home-case-scroll{padding-left:0;padding-right:0}
  .home-case-tags-time{margin-left:0}
  .home-trust-bar{margin-left:0;margin-right:0}
  .home-promo{padding:10px 16px}
  .home-promo-inner{flex-wrap:wrap;gap:8px;padding:0 16px}
  .ecom-promo-bar{padding:10px 40px 10px 16px}
  .ecom-promo-bar-inner{flex-wrap:wrap;gap:8px;max-width:calc(100vw - 56px)}
  .ecom-promo-bar-cta-btn{padding:5px 11px;font-size:12px}
  .home-tools-grid{grid-template-columns:repeat(2,1fr)}
  .home-qcard{flex-direction:column;align-items:flex-start;text-align:left;min-height:96px}
  .home-prompt-action{width:100%;justify-content:flex-end;margin-left:0}
  .home-cost-line{display:none}
  .home-case-scroll .home-case-card{flex:0 0 180px;width:180px}
  .home-case-scroll .home-case-img,.home-case-mock,.home-case-ph{height:360px}
}
@media(max-width:560px){
  .home-tools-grid{grid-template-columns:repeat(2,1fr)}
  .home-hero h1{font-size:36px;letter-spacing:-.03em}
  .home-hero-lead{font-size:14px;padding:0 8px}
}

/* ═══ 模特广场 ═══ */
body.page-model-plaza{
  background:var(--bg);font-family:var(--font);color:var(--text);
  -webkit-font-smoothing:antialiased;
}
body.page-model-plaza .studio-app{display:flex;min-height:100vh}
body.page-model-plaza .mp-main{
  flex:1;min-width:0;overflow-y:auto;padding:28px clamp(20px,4vw,48px) 48px;
}
.mp-hero{position:relative;text-align:center;margin-bottom:22px;padding:0 120px}
.mp-hero-row{display:block}
.mp-title{font-size:clamp(22px,3vw,30px);font-weight:700;margin:0 0 6px;color:var(--text);letter-spacing:-.02em}
.mp-sub{font-size:14px;color:var(--muted);margin:0}
.mp-region-row{justify-content:center;margin-top:14px}
.mp-admin-bar{
  position:absolute;right:0;top:50%;transform:translateY(-50%);
  display:flex;align-items:center;justify-content:flex-end;
}
.mp-btn-add{
  height:36px;padding:0 18px;border:none;border-radius:10px;
  background:var(--accent);color:#fff;font-size:13px;font-weight:600;cursor:pointer;
  box-shadow:0 2px 8px rgba(37,99,235,.25);transition:filter .15s,transform .12s;
}
.mp-btn-add:hover{filter:brightness(1.06);transform:translateY(-1px)}
.mp-toolbar{margin-bottom:18px}
.mp-filters{
  display:flex;flex-direction:column;gap:14px;
  padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;
  box-shadow:0 1px 2px rgba(0,0,0,.03);
}
.ms-modal-toolbar .mp-filters{
  padding:0;background:transparent;border:none;box-shadow:none;border-radius:0;gap:12px;
}
.mp-filters-top{
  display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap;
}
.mp-filters-row{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;
}
.mp-filter{
  width:100%;min-width:0;height:34px;padding:0 26px 0 10px;border:1px solid var(--line);
  border-radius:8px;font-size:13px;line-height:34px;background-color:var(--surface);
  color:var(--text);box-sizing:border-box;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 8px center;
  cursor:pointer;transition:border-color .12s;
}
.mp-filter option{color:var(--text);background:var(--surface)}
.mp-filter:hover{border-color:var(--line-2)}
.mp-filter:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.mp-search-wrap{
  position:relative;display:flex;align-items:center;flex:1 1 200px;min-width:0;
}
.mp-search-icon{
  position:absolute;left:10px;color:var(--muted);pointer-events:none;display:flex;
}
.mp-search{
  width:100%;height:34px;padding:0 12px 0 32px;border:1px solid var(--line);
  border-radius:8px;font-size:13px;outline:none;background:var(--surface);
  box-sizing:border-box;transition:border-color .12s,box-shadow .12s;
}
.mp-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.mp-free-chk{
  flex-shrink:0;height:34px;padding:0 12px;border:1px solid var(--line);
  border-radius:8px;background:var(--surface);
  font-size:13px;color:var(--text-2);display:flex;align-items:center;gap:6px;
  white-space:nowrap;cursor:pointer;user-select:none;box-sizing:border-box;
}
.mp-free-chk:hover{border-color:var(--line-2)}
.mp-free-chk input{accent-color:var(--accent);margin:0}
.mp-result-count{
  flex-shrink:0;margin-left:auto;font-size:13px;color:var(--muted);line-height:1.4;white-space:nowrap;
}

/* 自定义下拉（替代原生 select 弹层） */
.ui-select{position:relative;width:100%;min-width:0}
.ui-select-native{
  position:absolute;width:0;height:0;opacity:0;pointer-events:none;margin:0;padding:0;border:0;
}
.ui-select-trigger{
  position:relative;width:100%;min-height:var(--ctrl-h);height:auto;padding:7px 30px 7px 12px;
  border:1px solid var(--line);border-radius:10px;background:var(--surface);
  font-size:13px;font-weight:500;color:var(--text);text-align:left;cursor:pointer;
  display:flex;align-items:center;box-sizing:border-box;
  transition:border-color .15s,box-shadow .15s,background .15s;
}
.ui-select-trigger:hover{border-color:var(--line-2);background:#fcfcfc}
.ui-select.open .ui-select-trigger{
  border-color:var(--select-border);box-shadow:0 0 0 2px rgba(0,0,0,.04);background:#fff;
}
.ui-select-label{
  flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.35;
}
.ui-select-chevron{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  color:var(--muted);pointer-events:none;display:flex;transition:transform .15s;
}
/* 下拉：收起箭头向下，展开箭头向上 */
.ui-select.open:not(.ui-select--drop-up) .ui-select-chevron{transform:translateY(-50%) rotate(180deg)}
/* 上拉：收起箭头向上，展开箭头向下 */
.ui-select--drop-up:not(.open) .ui-select-chevron{transform:translateY(-50%) rotate(180deg)}
.ui-select--drop-up.open .ui-select-chevron{transform:translateY(-50%) rotate(0deg)}
.ui-select-menu{
  display:none;overflow:hidden;
  background:var(--surface);border:1px solid var(--line);border-radius:12px;
  box-shadow:0 12px 32px rgba(15,23,42,.12),0 2px 8px rgba(15,23,42,.06);padding:6px;box-sizing:border-box;
  flex-direction:column;
  transform-origin:top center;
}
.ui-select.open .ui-select-menu{
  display:flex;
  animation:ecomMenuIn var(--ecom-dur-fast) var(--ecom-ease-out) both;
}
.ui-select--drop-up.open .ui-select-menu{transform-origin:bottom center}
.ui-select-menu--portaled{display:flex;animation:ecomMenuIn var(--ecom-dur-fast) var(--ecom-ease-out) both}
@keyframes ecomMenuIn{
  from{opacity:0;transform:translateY(-6px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.ui-select-menu-scroll{
  position:relative;
  flex:1;min-height:0;max-height:100%;
  overflow-y:auto;overflow-x:hidden;
  scrollbar-width:none;-ms-overflow-style:none;
  transition:box-shadow .24s ease;
}
.ui-select-menu-scroll.ui-select-menu-scroll--edge-bottom{
  box-shadow:inset 0 -20px 18px -18px rgba(15,23,42,.07);
}
.ui-select-menu-scroll.ui-select-menu-scroll--edge-bottom-flash{
  box-shadow:inset 0 -22px 20px -14px rgba(15,23,42,.11);
}
.ui-select-menu-scroll.ui-select-menu-scroll--edge-top-flash{
  box-shadow:inset 0 22px 20px -14px rgba(15,23,42,.11);
}
.ui-select-menu-scroll::-webkit-scrollbar{display:none;width:0;height:0}
.ui-select-menu--fit-content .ui-select-menu-scroll{
  flex:0 1 auto;overflow-y:visible;
}
html.dark .ui-select-menu-scroll.ui-select-menu-scroll--edge-bottom{
  box-shadow:inset 0 -20px 18px -18px rgba(0,0,0,.22);
}
html.dark .ui-select-menu-scroll.ui-select-menu-scroll--edge-bottom-flash{
  box-shadow:inset 0 -22px 20px -14px rgba(0,0,0,.32);
}
html.dark .ui-select-menu-scroll.ui-select-menu-scroll--edge-top-flash{
  box-shadow:inset 0 22px 20px -14px rgba(0,0,0,.32);
}
/* 其他下拉面板：同样隐藏滚动条 */
.dropdown-menu,.app-select-options,.ecom-notify-pane{
  scrollbar-width:none;-ms-overflow-style:none;
}
.dropdown-menu::-webkit-scrollbar,.app-select-options::-webkit-scrollbar,.ecom-notify-pane::-webkit-scrollbar{
  display:none;width:0;height:0;
}
.ui-select-menu-list{display:flex;flex-direction:column;gap:2px}
.ui-select-option{
  width:100%;padding:0;border:none;border-radius:8px;background:transparent;
  font-size:13px;color:var(--text);text-align:left;cursor:pointer;line-height:1.35;
  display:flex;align-items:center;gap:8px;box-sizing:border-box;
  transition:background .12s,border-color .12s;
}
.ui-select-ratio-icon{
  flex-shrink:0;width:22px;height:22px;margin-left:6px;
  display:flex;align-items:center;justify-content:center;
}
.ui-select-ratio-icon__rect{
  display:block;border:1.25px solid #9ca3af;border-radius:3px;box-sizing:border-box;
  background:transparent;
}
.ui-select-ratio-icon--auto .ui-select-ratio-icon__rect{
  width:13px;height:13px;border-style:dashed;border-color:#cbd5e1;
}
.ui-select-ratio-icon--free .ui-select-ratio-icon__rect{
  width:15px;height:11px;border-style:dashed;border-color:#cbd5e1;
}
.ui-select--aspect-ratio .ui-select-label{
  display:inline-flex;align-items:center;gap:6px;min-width:0;
}
.ui-select--aspect-ratio .ui-select-label-text{
  min-width:0;overflow:visible;text-overflow:clip;white-space:nowrap;
}
.ui-select--aspect-ratio .ui-select-option-title{
  overflow:visible;text-overflow:clip;white-space:nowrap;
}
.ui-select--aspect-ratio .ui-select-option:not(.ui-select-option--rich) .ui-select-option-title{
  flex:0 0 auto;min-width:max-content;
}
.detail-opt-v .ui-select--aspect-ratio .ui-select-label{
  overflow:visible;text-overflow:clip;white-space:nowrap;
}
.ui-select--aspect-ratio .ui-select-option.on .ui-select-ratio-icon__rect{
  border-color:#2563eb;
}
.ui-select--aspect-ratio .ui-select-option.on .ui-select-ratio-icon--auto .ui-select-ratio-icon__rect{
  border-color:#2563eb;border-style:solid;
}
.ui-select--aspect-ratio .ui-select-trigger .ui-select-ratio-icon__rect{
  border-color:#737373;
}
.ui-select--aspect-ratio .ui-select-option:not(.ui-select-option--rich) .ui-select-option-title{
  padding:9px 0 9px 2px;
}
.ui-select-option-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:9px 0 9px 10px}
.ui-select-option-title{
  display:block;font-size:13px;font-weight:500;color:var(--text);line-height:1.35;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ui-select-option-hint{display:block;font-size:11px;font-weight:400;color:var(--muted);line-height:1.4}
.ui-select-option-check{
  flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;
  color:transparent;transition:color .12s;
}
.ui-select-option--template .ui-select-option-del{
  flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;
  color:#2563eb;font-size:18px;line-height:1;cursor:pointer;
}
.ui-select-option--template .ui-select-option-del:hover{color:#1d4ed8}
.ui-select-option:not(.ui-select-option--rich) .ui-select-option-title{padding:9px 0 9px 10px;flex:1;min-width:0}
.ui-select-option:hover{background:var(--surface-2,#f8fafc)}
.ui-select-option.on{background:#eff6ff}
.ui-select-option.on .ui-select-option-title{color:#1d4ed8;font-weight:600}
.ui-select-option.on .ui-select-option-check{color:#2563eb}
.ui-select-pin-slot{
  flex-shrink:0;width:20px;min-width:20px;height:28px;
  display:flex;align-items:center;justify-content:center;
}
.ui-select-pin-top{
  display:flex;align-items:center;justify-content:center;
  width:20px;height:20px;border-radius:4px;color:#a3a3a3;cursor:pointer;
}
.ui-select-pin-top:hover{background:#eff6ff;color:#2563eb}
.ui-select-pin-top.is-pinned{color:#2563eb}
.ui-select-pin-top.is-pinned:hover{background:#eff6ff;color:#1d4ed8}
.ui-select-option--has-pin .ui-select-option-title{padding-left:4px}
.ui-select-option--has-pin.ui-select-option--rich .ui-select-option-main{padding-left:4px}
.ui-select--searchable .ui-select-menu--searchable .ui-select-option--has-pin .ui-select-option-title{padding-left:2px}
.ui-select--has-pin .ui-select-option--has-pin .ui-select-option-title{overflow:visible;text-overflow:clip;white-space:nowrap}
.ui-select--has-pin .ui-select-menu{min-width:168px}
.ui-select--rich .ui-select-menu{min-width:260px}
.ui-select--rich .ui-select-option.on{background:#fafafa;border:1px solid var(--line);box-sizing:border-box}
.ui-select--rich .ui-select-option.on .ui-select-option-main{padding-left:9px}
.ui-select-menu--fit .ui-select-option-title,
.ui-select-menu--fit .ui-select-option-hint{
  white-space:normal;word-break:break-word;overflow-wrap:anywhere;
}
.ui-select-empty{padding:14px 10px;font-size:12px;color:var(--muted);text-align:center}
.mp-filters-row .ui-select,.model-filter-row .ui-select{width:100%}
.mp-filters-row .ui-select-trigger{
  min-height:34px;height:34px;padding:0 26px 0 10px;border-radius:8px;font-size:13px;font-weight:400;
}
.mp-filters-row .ui-select-chevron{right:8px}
.model-filter-row .ui-select-option-title{white-space:nowrap}
.model-filter-row .ui-select-menu{min-width:96px}

/* 通用 · 灰底选项卡片（展示类型、拍摄风格等） */
.wb-shadow-field{margin:12px 0 14px}
.wb-shadow-slot{margin:12px 0 14px}
.wb-shadow-switch{margin-bottom:0}
.wb-pres-field{margin-bottom:12px}
.opt-card-panel{
  margin-top:8px;padding:10px;border-radius:12px;
  background:linear-gradient(180deg,#fafafa 0%,#f4f6f8 100%);
  border:1px solid rgba(10,10,10,.06);
}
.opt-card-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
}
.opt-card-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.opt-card-grid--1{grid-template-columns:1fr}
.opt-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:4px;
  padding:10px 11px;border:1px solid rgba(10,10,10,.05);border-radius:10px;
  background:#fff;cursor:pointer;text-align:left;font:inherit;
  transition:border-color .15s,background .15s,box-shadow .15s,color .15s;
  box-shadow:0 1px 2px rgba(0,0,0,.03);
}
.opt-card--center{align-items:center;text-align:center;justify-content:center;min-height:34px;padding:7px 8px}
.opt-card:hover{border-color:rgba(10,10,10,.1);background:#fff}
.opt-card.on{
  background:var(--opt-card-on-bg);border-color:var(--opt-card-on-border);
  box-shadow:0 0 0 1px var(--opt-card-on-ring);
}
.opt-card.on .opt-card-name{color:#1e3a5f}
.opt-card.on .opt-card-hint{color:#64748b}
.opt-card-name{font-size:13px;font-weight:600;color:var(--text);line-height:1.3}
.opt-card-hint{font-size:11px;color:var(--muted);line-height:1.4}
.opt-card--center .opt-card-name{
  font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;
}
.mp-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(152px,1fr));gap:16px;
}
.mp-grid--modal{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.mp-grid--modal .mp-card-wrap{
  content-visibility:auto;
  contain-intrinsic-size:auto 180px;
}
.mp-grid--modal .mp-card{transition:border-color .15s}
.mp-grid--modal .mp-card-wrap.on .mp-card,
.mp-grid--modal .mp-card-wrap:hover .mp-card{
  border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);transform:none;
}
.mp-grid-sentinel{width:100%;height:1px;grid-column:1/-1;pointer-events:none;visibility:hidden}
@media(max-width:768px){
  .mp-hero{padding:0 0 44px}
  .mp-admin-bar{top:auto;bottom:0;left:0;right:0;transform:none;justify-content:center}
  .mp-filters-top{flex-direction:column;align-items:stretch}
  .mp-search-wrap{flex:1 1 auto;width:100%}
  .mp-free-chk{width:100%;justify-content:center}
  .mp-result-count{margin-left:0;text-align:center}
  .mp-filters-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mp-grid,.mp-grid--modal{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}
}
.mp-card-wrap{width:100%;min-width:0}
.mp-card{
  display:flex;flex-direction:column;align-items:stretch;
  background:var(--surface);padding:0;cursor:pointer;
  text-align:left;width:100%;border-radius:12px;border:1px solid var(--line);overflow:hidden;
  transition:border-color .15s,box-shadow .15s,transform .15s;
}
.mp-card-wrap.on .mp-card,.mp-card-wrap:hover .mp-card{
  border-color:var(--accent);box-shadow:0 6px 20px rgba(0,0,0,.08);transform:translateY(-2px);
}
.mp-card-img{
  position:relative;width:100%;flex-shrink:0;overflow:hidden;background:#f3f4f6;
}
.mp-card img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.mp-card-edit,.mp-card-del,.mp-card-fav,.mp-card-preview,.mp-card-hover-info{
  opacity:0;transition:opacity .15s;pointer-events:none;
}
.mp-card-img:hover .mp-card-edit,
.mp-card-img:hover .mp-card-del,
.mp-card-img:hover .mp-card-fav,
.mp-card-img:hover .mp-card-preview,
.mp-card-img:hover .mp-card-hover-info{opacity:1;pointer-events:auto}
.mp-card-fav,.mp-card-preview{
  position:absolute;top:6px;z-index:4;width:22px;height:22px;padding:0;border:none;border-radius:999px;
  background:rgba(24,24,27,.52);color:rgba(255,255,255,.92);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 1px 4px rgba(0,0,0,.18);
  transition:color .15s,background .15s,transform .15s,border-color .15s;
}
.mp-card-fav{left:6px}
.mp-card-preview{right:6px}
.mp-card-fav.on{color:#ff6b7a;background:rgba(24,24,27,.62)}
.mp-card-fav.on svg{fill:currentColor}
.mp-card-fav:hover,.mp-card-preview:hover{transform:scale(1.05);background:rgba(24,24,27,.68);border-color:rgba(255,255,255,.18)}
.mp-card-fav:hover{color:#ff6b7a}
.mp-card-preview:hover{color:#fff}
.mp-card-edit,.mp-card-del{
  position:absolute;top:8px;z-index:3;border:none;border-radius:6px;
  font-size:11px;font-weight:500;cursor:pointer;
  box-shadow:0 1px 4px rgba(0,0,0,.15);
}
.mp-card-edit{left:8px;padding:4px 10px;background:rgba(255,255,255,.95);color:#333}
.mp-card-del{
  right:8px;width:26px;height:26px;padding:0;line-height:26px;text-align:center;
  background:rgba(239,68,68,.95);color:#fff;font-size:15px;
}
.mp-card-hover-info{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  display:flex;align-items:center;gap:6px;padding:20px 8px 8px;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.62));
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.mp-card-hover-info .mp-card-tag{
  flex-shrink:0;font-size:10px;padding:1px 6px;border-radius:999px;line-height:1.4;
  border:1px solid rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.18);
}
.mp-card-hover-info .mp-card-name{
  flex-shrink:1;min-width:0;font-size:12px;font-weight:600;color:#fff;
  overflow:hidden;text-overflow:ellipsis;
}
.mp-card-hover-info .mp-card-age{
  flex-shrink:0;font-size:11px;font-weight:400;color:rgba(255,255,255,.82);
}
.mp-admin-panel{max-width:560px}
.mp-admin-upload .sc-admin-upload-box{aspect-ratio:3/4;max-width:180px}
.mp-region-chk{display:flex;gap:16px;font-size:13px;color:var(--text-2)}
.mp-region-chk label{display:flex;align-items:center;gap:6px}
.sc-admin-tip.ok{color:#16a34a}
.mp-empty{
  text-align:center;padding:56px 20px;margin-top:8px;
  background:var(--surface);border:1px dashed var(--line);border-radius:14px;
}
.mp-empty-icon{color:var(--line-2);margin-bottom:12px;display:flex;justify-content:center}
.mp-empty-title{font-size:15px;font-weight:600;color:var(--text);margin:0 0 6px}
.mp-empty-hint{font-size:13px;color:var(--muted);margin:0}

/* 模特详情抽屉（对齐绘蛙） */
body.mp-detail-open{overflow:hidden}
.mp-detail-mask{
  position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:60;
}
.mp-detail-drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(420px,92vw);max-width:100%;
  background:#fff;z-index:70;display:flex;flex-direction:column;
  box-shadow:-8px 0 32px rgba(0,0,0,.12);
  transform:translateX(100%);transition:transform .22s ease;
}
.mp-detail-drawer.open{transform:translateX(0)}
.mp-detail-hd{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 18px;border-bottom:1px solid var(--line);flex-shrink:0;
}
.mp-detail-hd strong{font-size:16px;font-weight:600}
.mp-detail-close{
  border:none;background:none;font-size:22px;line-height:1;color:var(--muted);cursor:pointer;padding:0 4px;
}
.mp-detail-body{flex:1;overflow-y:auto;padding:16px 18px 24px}
.mp-detail-preview{margin-bottom:16px}
.mp-detail-thumb{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px;background:#f3f3f3;display:block;cursor:zoom-in}
.mp-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin-bottom:18px}
.mp-detail-meta-row{display:flex;flex-direction:column;gap:2px}
.mp-detail-meta-k{font-size:12px;color:var(--muted)}
.mp-detail-meta-v{font-size:13px;color:var(--text);font-weight:500}
.mp-detail-sec-title{font-size:14px;font-weight:600;margin:0 0 8px;color:var(--text)}
.mp-detail-sec-showcase{margin-top:18px}
.mp-detail-desc{font-size:13px;line-height:1.6;color:var(--text-2);margin:0 0 18px;word-break:break-word}
.mp-detail-showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mp-detail-shot{
  position:relative;border:none;padding:0;background:transparent;cursor:pointer;border-radius:8px;overflow:hidden;
}
.mp-detail-shot img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.mp-detail-shot-hover{
  position:absolute;inset:0;background:rgba(0,0,0,.45);color:#fff;
  display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;
  font-size:13px;font-style:normal;
}
.mp-detail-shot:hover .mp-detail-shot-hover{opacity:1}
.mp-detail-showcase-empty{font-size:13px;color:var(--muted);text-align:center;padding:24px 0;margin:0}
.mp-detail-foot{
  flex-shrink:0;padding:14px 18px 18px;border-top:1px solid var(--line);background:#fff;
}
.mp-detail-use{
  width:100%;border:none;border-radius:999px;padding:12px 16px;font-size:15px;font-weight:600;cursor:pointer;
  background:linear-gradient(90deg,#ff6b9d,#ff4d7a);color:#fff;
}
.mp-detail-use:hover{filter:brightness(1.05)}
.mp-preview-mask{
  position:fixed;inset:0;z-index:1300;background:rgba(0,0,0,.88);
  display:flex;align-items:center;justify-content:center;padding:24px;
  transition:opacity var(--ecom-dur-modal) ease;
}
.mp-preview-mask.ecom-motion-in{opacity:0}
.mp-preview-mask.ecom-motion-in.ecom-motion-visible{opacity:1}
.mp-preview-mask.ecom-motion-in .mp-preview-img,
.mp-preview-mask.ecom-motion-in .mp-preview-stage{
  transition:opacity var(--ecom-dur-modal) var(--ecom-ease-out),transform var(--ecom-dur-modal) var(--ecom-ease-out);
}
.mp-preview-mask.ecom-motion-in .mp-preview-img,
.mp-preview-mask.ecom-motion-in .mp-preview-stage{opacity:0;transform:scale(.97)}
.mp-preview-mask.ecom-motion-in.ecom-motion-visible .mp-preview-img,
.mp-preview-mask.ecom-motion-in.ecom-motion-visible .mp-preview-stage{opacity:1;transform:scale(1)}
.mp-preview-mask--tools{
  flex-direction:column;align-items:stretch;justify-content:stretch;padding:24px 24px 72px;
}
.mp-preview-close{
  position:absolute;top:16px;right:20px;border:none;background:none;color:#fff;font-size:32px;cursor:pointer;
}
.mp-preview-mask--tools .mp-preview-close{z-index:2}
.mp-preview-stage{
  position:relative;flex:1;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;
  touch-action:none;user-select:none;
}
.mp-preview-stage.is-draggable{cursor:grab}
.mp-preview-stage.is-dragging{cursor:grabbing}
.mp-preview-stage.mp-preview-swap{
  transition:opacity var(--ecom-dur-ui) var(--ecom-ease-out),transform var(--ecom-dur-ui) var(--ecom-ease-out);
  will-change:opacity,transform;
}
.mp-preview-stage.mp-preview-swap-out-next{opacity:0;transform:translateX(-32px) scale(.985)}
.mp-preview-stage.mp-preview-swap-out-prev{opacity:0;transform:translateX(32px) scale(.985)}
.mp-preview-stage.mp-preview-swap-in-next{opacity:0;transform:translateX(32px) scale(.985)}
.mp-preview-stage.mp-preview-swap-in-prev{opacity:0;transform:translateX(-32px) scale(.985)}
.mp-preview-stage.mp-preview-swap-ready{opacity:1;transform:translateX(0) scale(1)}
.mp-preview-meta.mp-preview-meta-swap{
  transition:opacity var(--ecom-dur-fast) var(--ecom-ease-out),transform var(--ecom-dur-fast) var(--ecom-ease-out);
}
.mp-preview-meta.mp-preview-meta-swap-out{opacity:0;transform:translateY(4px)}
.mp-preview-meta.mp-preview-meta-swap-in{opacity:0;transform:translateY(-4px)}
.mp-preview-meta.mp-preview-meta-swap-ready{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){
  .mp-preview-stage.mp-preview-swap,
  .mp-preview-meta.mp-preview-meta-swap{transition:none!important}
}
.mp-preview-viewport{
  position:relative;transform-origin:center center;will-change:transform;
  background:transparent;
}
.mp-preview-img{
  max-width:min(90vw,520px);max-height:85vh;object-fit:contain;border-radius:0;
  background:transparent;
  -webkit-user-drag:none;user-select:none;pointer-events:none;display:block;
  box-shadow:0 8px 32px rgba(0,0,0,.45);
}
.mp-preview-toolbar{
  position:fixed;left:24px;right:24px;bottom:24px;z-index:1301;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:8px 14px;
  background:rgba(18,18,18,.78);border:1px solid rgba(255,255,255,.12);
  border-radius:12px;backdrop-filter:blur(10px);box-shadow:0 8px 24px rgba(0,0,0,.28);
}
.mp-preview-toolbar-main{
  display:flex;align-items:center;gap:12px;flex-shrink:0;margin-left:auto;
}
.mp-preview-meta{
  flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;align-content:center;
  gap:4px 12px;line-height:1.45;
  max-height:calc(12px * 1.45 * 2 + 4px);overflow:hidden;
}
.mp-preview-meta-tool{
  display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;
  background:rgba(255,255,255,.12);color:#fff;font-size:12px;font-weight:600;white-space:nowrap;
  flex:0 0 auto;
}
.mp-preview-meta-item{
  font-size:12px;color:rgba(255,255,255,.82);line-height:1.45;
  white-space:nowrap;flex:0 0 auto;max-width:100%;
  overflow:hidden;text-overflow:ellipsis;
}
.mp-preview-meta-item--long{
  flex:0 1 auto;max-width:100%;white-space:normal;
  overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  word-break:break-word;text-overflow:ellipsis;
}
.mp-preview-meta-item b{font-weight:600;color:#fff;margin-right:4px}
.mp-preview-meta-empty{font-size:12px;color:rgba(255,255,255,.55)}
.mp-preview-model-info{
  display:flex;align-items:center;gap:8px;min-width:0;flex:1;
}
.mp-preview-model-info .mp-card-tag{
  flex-shrink:0;font-size:11px;padding:2px 8px;border-radius:999px;line-height:1.4;
  border:1px solid rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.18);
}
.mp-preview-model-info .mp-card-name{
  flex-shrink:1;min-width:0;font-size:13px;font-weight:600;color:#fff;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.mp-preview-model-info .mp-card-age{
  flex-shrink:0;font-size:12px;font-weight:400;color:rgba(255,255,255,.82);
}
.mp-preview-meta[hidden]{display:none!important}
.mp-preview-zoom{display:flex;align-items:center;gap:8px}
.mp-preview-zoom-btn{
  width:28px;height:28px;border:1px solid rgba(255,255,255,.18);border-radius:8px;
  background:rgba(255,255,255,.08);color:#fff;font-size:18px;line-height:1;cursor:pointer;padding:0;
}
.mp-preview-zoom-btn:hover{background:rgba(255,255,255,.16)}
.mp-preview-zoom-range{
  width:120px;height:4px;accent-color:rgba(255,255,255,.85);cursor:pointer;
}
.mp-preview-zoom-label{
  min-width:42px;font-size:12px;color:rgba(255,255,255,.88);text-align:right;
}
.mp-preview-download{
  border:none;border-radius:999px;padding:8px 18px;font-size:13px;font-weight:600;cursor:pointer;
  background:#fff;color:var(--text);white-space:nowrap;
}
.mp-preview-download:hover{background:rgba(255,255,255,.9)}
.mp-preview-download:disabled{opacity:.65;cursor:not-allowed}
.mp-preview-extra-actions{display:flex;align-items:center;gap:8px;margin-right:8px}
.mp-preview-extra-btn{
  border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:7px 14px;
  font-size:12px;font-weight:600;cursor:pointer;background:transparent;color:#fff;white-space:nowrap;
}
.mp-preview-extra-btn:hover{background:rgba(255,255,255,.12)}
.mp-preview-extra-btn--primary{
  border-color:#fff;background:#fff;color:#111;
}
.mp-preview-extra-btn--primary:hover{background:rgba(255,255,255,.9);color:#111}
.mp-preview-case-add{border-color:#93c5fd;color:#dbeafe}
.mp-preview-nav{
  position:fixed;top:50%;transform:translateY(-50%);z-index:1302;
  width:44px;height:44px;border:none;border-radius:50%;
  background:rgba(255,255,255,.12);color:#fff;font-size:28px;line-height:1;
  cursor:pointer;transition:background .15s;
}
.mp-preview-nav:hover{background:rgba(255,255,255,.22)}
.mp-preview-nav:disabled{opacity:.35;cursor:not-allowed}
.mp-preview-nav--prev{left:20px}
.mp-preview-nav--next{right:20px}
.mp-preview-counter{
  min-width:48px;font-size:12px;color:rgba(255,255,255,.88);text-align:center;
}
.mp-preview-nav[hidden],.mp-preview-counter[hidden]{display:none!important}
.mp-admin-sub{font-size:12px;font-weight:400;color:var(--muted);margin-left:6px}
.mp-showcase-admin{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.mp-showcase-item{position:relative;width:72px;height:96px;border-radius:8px;overflow:hidden;background:#f3f3f3}
.mp-showcase-item img{width:100%;height:100%;object-fit:cover}
.mp-showcase-del{
  position:absolute;top:2px;right:2px;width:20px;height:20px;border:none;border-radius:50%;
  background:rgba(0,0,0,.55);color:#fff;font-size:14px;line-height:1;cursor:pointer;padding:0;
}
.mp-showcase-add{display:inline-block;margin-bottom:8px}
.ms-modal-panel--plaza{
  width:min(1200px,calc(100vw - 24px));
  height:min(860px,calc(100vh - 32px));
  max-height:min(860px,calc(100vh - 32px));
}
.ms-modal-foot{
  padding:10px 18px 14px;border-top:1px solid #f0f0f0;text-align:center;flex-shrink:0;
}
.ms-plaza-link{font-size:13px;color:var(--accent);padding:2px 6px;display:inline-block}

/* ═══ 款视界全局细滚动条 ═══ */
body.page-studio,
body.page-home,
body.page-canvas,
body.page-history,
body.page-copy{
  scrollbar-width:thin;
  scrollbar-color:var(--scrollbar-thumb) transparent;
}
body.page-studio::-webkit-scrollbar,
body.page-home::-webkit-scrollbar,
body.page-canvas::-webkit-scrollbar,
body.page-history::-webkit-scrollbar,
body.page-copy::-webkit-scrollbar{
  width:var(--scrollbar-size);height:var(--scrollbar-size);
}
body.page-studio::-webkit-scrollbar-track,
body.page-home::-webkit-scrollbar-track,
body.page-canvas::-webkit-scrollbar-track,
body.page-history::-webkit-scrollbar-track,
body.page-copy::-webkit-scrollbar-track{background:transparent}
body.page-studio::-webkit-scrollbar-thumb,
body.page-home::-webkit-scrollbar-thumb,
body.page-canvas::-webkit-scrollbar-thumb,
body.page-history::-webkit-scrollbar-thumb,
body.page-copy::-webkit-scrollbar-thumb{
  background:var(--scrollbar-thumb);border-radius:999px;
}
body.page-studio::-webkit-scrollbar-thumb:hover,
body.page-home::-webkit-scrollbar-thumb:hover,
body.page-canvas::-webkit-scrollbar-thumb:hover,
body.page-history::-webkit-scrollbar-thumb:hover,
body.page-copy::-webkit-scrollbar-thumb:hover{
  background:var(--scrollbar-thumb-hover);
}
.config-body,.drawer-body,.ws-canvas,.home-main,.hist-gallery-scroll,
.ms-modal-body,.mp-detail-body,.pp-detail-body,.gen-queue,.yq-feed-list,.rail-menu,
.batch-list,.nav-sub,.mp-page-main,.pp-page-main,.ecom-scroll-native{
  scrollbar-width:thin;
  scrollbar-color:var(--scrollbar-thumb) transparent;
}
.config-body,.ms-modal-body{
  scrollbar-color:rgba(10,10,10,.28) transparent;
}
.config-body::-webkit-scrollbar,.drawer-body::-webkit-scrollbar,
.ws-canvas::-webkit-scrollbar,.home-main::-webkit-scrollbar,.hist-gallery-scroll::-webkit-scrollbar,
.ms-modal-body::-webkit-scrollbar,.mp-detail-body::-webkit-scrollbar,.pp-detail-body::-webkit-scrollbar,
.gen-queue::-webkit-scrollbar,.yq-feed-list::-webkit-scrollbar,.rail-menu::-webkit-scrollbar,
.batch-list::-webkit-scrollbar,.nav-sub::-webkit-scrollbar,
.mp-page-main::-webkit-scrollbar,.pp-page-main::-webkit-scrollbar{
  width:var(--scrollbar-size);height:var(--scrollbar-size);
}
.config-body::-webkit-scrollbar-track,.drawer-body::-webkit-scrollbar-track,
.ws-canvas::-webkit-scrollbar-track,.home-main::-webkit-scrollbar-track,.hist-gallery-scroll::-webkit-scrollbar-track,
.ms-modal-body::-webkit-scrollbar-track,.mp-detail-body::-webkit-scrollbar-track,.pp-detail-body::-webkit-scrollbar-track,
.gen-queue::-webkit-scrollbar-track,.yq-feed-list::-webkit-scrollbar-track,.rail-menu::-webkit-scrollbar-track,
.batch-list::-webkit-scrollbar-track,.nav-sub::-webkit-scrollbar-track,
.mp-page-main::-webkit-scrollbar-track,.pp-page-main::-webkit-scrollbar-track{
  background:transparent;
}
.config-body::-webkit-scrollbar-thumb,.drawer-body::-webkit-scrollbar-thumb,
.ws-canvas::-webkit-scrollbar-thumb,.home-main::-webkit-scrollbar-thumb,.hist-gallery-scroll::-webkit-scrollbar-thumb,
.ms-modal-body::-webkit-scrollbar-thumb,.mp-detail-body::-webkit-scrollbar-thumb,.pp-detail-body::-webkit-scrollbar-thumb,
.gen-queue::-webkit-scrollbar-thumb,.yq-feed-list::-webkit-scrollbar-thumb,.rail-menu::-webkit-scrollbar-thumb,
.batch-list::-webkit-scrollbar-thumb,.nav-sub::-webkit-scrollbar-thumb,
.mp-page-main::-webkit-scrollbar-thumb,.pp-page-main::-webkit-scrollbar-thumb{
  background:var(--scrollbar-thumb);border-radius:999px;
}
.config-body::-webkit-scrollbar-thumb:hover,.drawer-body::-webkit-scrollbar-thumb:hover,
.ws-canvas::-webkit-scrollbar-thumb:hover,.home-main::-webkit-scrollbar-thumb:hover,.hist-gallery-scroll::-webkit-scrollbar-thumb:hover,
.ms-modal-body::-webkit-scrollbar-thumb:hover,.mp-detail-body::-webkit-scrollbar-thumb:hover,.pp-detail-body::-webkit-scrollbar-thumb:hover,
.gen-queue::-webkit-scrollbar-thumb:hover,.yq-feed-list::-webkit-scrollbar-thumb:hover,.rail-menu::-webkit-scrollbar-thumb:hover,
.batch-list::-webkit-scrollbar-thumb:hover,.nav-sub::-webkit-scrollbar-thumb:hover,
.mp-page-main::-webkit-scrollbar-thumb:hover,.pp-page-main::-webkit-scrollbar-thumb:hover{
  background:var(--scrollbar-thumb-hover);
}

/* ═══ 细滚动条 · 自定义 overlay（兼容 Windows Chrome / Edge）═══ */
.ecom-scroll-host{
  scrollbar-width:none!important;-ms-overflow-style:none!important;
}
.ecom-scroll-host::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.ecom-scroll-ui{
  position:absolute;top:4px;right:2px;bottom:4px;width:var(--scrollbar-size);
  pointer-events:none;z-index:30;opacity:0;transition:opacity .18s;
}
.ecom-scroll-host.ecom-scroll-active .ecom-scroll-ui,
.ecom-scroll-host.ecom-scroll-pinned .ecom-scroll-ui{opacity:1}
.ecom-scroll-ui-thumb{
  position:absolute;top:0;right:0;width:var(--scrollbar-size);min-height:16px;
  border-radius:999px;background:var(--scrollbar-thumb);pointer-events:none;
  transition:background .12s;
}
.config-body.ecom-scroll-host .ecom-scroll-ui-thumb{min-height:10px}
.ecom-scroll-host.ecom-scroll-active .ecom-scroll-ui-thumb,
.ecom-scroll-host.ecom-scroll-pinned .ecom-scroll-ui-thumb{pointer-events:auto}
.ecom-scroll-host.ecom-scroll-active .ecom-scroll-ui-thumb:hover,
.ecom-scroll-host.ecom-scroll-pinned .ecom-scroll-ui-thumb:hover{background:var(--scrollbar-thumb-hover)}

/* ═══ 姿势广场 ═══ */
body.page-pose-plaza{
  background:var(--bg);font-family:var(--font);color:var(--text);
  -webkit-font-smoothing:antialiased;
}
body.page-pose-plaza .studio-app{display:flex;min-height:100vh}
body.page-pose-plaza .pp-main{
  flex:1;min-width:0;overflow-y:auto;padding:28px clamp(20px,4vw,48px) 48px;
}
.pp-hero{position:relative;text-align:center;margin-bottom:22px;padding:0 120px}
.pp-hero-row{display:block}
.pp-title{font-size:clamp(22px,3vw,30px);font-weight:700;margin:0 0 6px;color:var(--text);letter-spacing:-.02em}
.pp-sub{font-size:14px;color:var(--muted);margin:0}
.pp-region-row{justify-content:center;margin-top:14px}
.pp-admin-bar{
  position:absolute;right:0;top:50%;transform:translateY(-50%);
  display:flex;align-items:center;justify-content:flex-end;
}
.pp-toolbar{margin-bottom:18px}
.pp-filters{
  display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;justify-content:space-between;
  padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;
  box-shadow:0 1px 2px rgba(0,0,0,.03);
}
.pp-filters-left,.pp-filters-right{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center}
.pp-filters-left{flex:1;min-width:0;align-items:flex-end}
.pp-filter-item{display:flex;flex-direction:column;gap:4px;min-width:0}
.pp-filter-lbl{font-size:11px;color:var(--muted);font-weight:500;line-height:1}
.pp-filter{
  height:34px;padding:0 28px 0 10px;border:1px solid var(--line);border-radius:8px;
  font-size:13px;line-height:34px;background-color:var(--surface);color:var(--text);min-width:108px;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 8px center;
  cursor:pointer;transition:border-color .12s;
}
.pp-filter option{color:var(--text);background:var(--surface)}
.pp-filter:hover{border-color:var(--line-2)}
.pp-filter:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.pp-search-wrap{position:relative;display:flex;align-items:center;min-width:200px}
.pp-search-icon{position:absolute;left:10px;color:var(--muted);pointer-events:none;display:flex}
.pp-search{
  width:220px;padding:8px 12px 8px 32px;border:1px solid var(--line);border-radius:8px;
  font-size:13px;outline:none;background:var(--surface);transition:border-color .12s,box-shadow .12s;
}
.pp-filter-cat{min-width:148px}
.pp-filter-item-cat .pp-filter{min-width:148px}
.pp-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.pp-toolbar-meta{margin-top:10px;padding:0 2px}
.pp-result-count{font-size:13px;color:var(--muted)}
.pp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(152px,1fr));gap:16px}
.pp-card-wrap{width:100%;min-width:0}
.pp-card{
  display:flex;flex-direction:column;align-items:stretch;
  background:var(--surface);padding:0;cursor:pointer;
  text-align:left;width:100%;border-radius:12px;border:1px solid var(--line);overflow:hidden;
  transition:border-color .15s,box-shadow .15s,transform .15s;
}
.pp-card-wrap.on .pp-card,.pp-card-wrap:hover .pp-card{
  border-color:var(--accent);box-shadow:0 6px 20px rgba(0,0,0,.08);transform:translateY(-2px);
}
.pp-card-img{
  position:relative;width:100%;flex-shrink:0;overflow:hidden;background:#f3f4f6;
}
.pp-card img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.pp-card-edit,.pp-card-del,.pp-card-hover-info{
  opacity:0;transition:opacity .15s;pointer-events:none;
}
.pp-card-img:hover .pp-card-edit,
.pp-card-img:hover .pp-card-del,
.pp-card-img:hover .pp-card-hover-info{opacity:1;pointer-events:auto}
.pp-card-edit,.pp-card-del{
  position:absolute;top:8px;z-index:3;border:none;border-radius:6px;
  font-size:11px;font-weight:500;cursor:pointer;
  box-shadow:0 1px 4px rgba(0,0,0,.15);
}
.pp-card-edit{left:8px;padding:4px 10px;background:rgba(255,255,255,.95);color:#333}
.pp-card-del{
  right:8px;width:26px;height:26px;padding:0;line-height:26px;text-align:center;
  background:rgba(239,68,68,.95);color:#fff;font-size:15px;
}
.pp-card-hover-info{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  display:flex;align-items:center;gap:6px;padding:20px 8px 8px;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.62));
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.pp-card-hover-info .pp-card-tag{
  flex-shrink:0;font-size:10px;padding:1px 6px;border-radius:999px;line-height:1.4;
  border:1px solid rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.18);
}
.pp-card-hover-info .pp-card-name{
  flex-shrink:1;min-width:0;font-size:12px;font-weight:600;color:#fff;
  overflow:hidden;text-overflow:ellipsis;
}
.pp-card-hover-info .pp-card-scope{
  flex-shrink:0;font-size:11px;font-weight:400;color:rgba(255,255,255,.82);
}
.pp-empty{
  text-align:center;padding:56px 20px;margin-top:8px;
  background:var(--surface);border:1px dashed var(--line);border-radius:14px;
}
.pp-empty-icon{color:var(--line-2);margin-bottom:12px;display:flex;justify-content:center}
.pp-empty-title{font-size:15px;font-weight:600;color:var(--text);margin:0 0 6px}
.pp-empty-hint{font-size:13px;color:var(--muted);margin:0}
body.pp-detail-open{overflow:hidden}
.pp-detail-mask{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:60}
.pp-detail-drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(420px,92vw);max-width:100%;
  background:#fff;z-index:70;display:flex;flex-direction:column;
  box-shadow:-8px 0 32px rgba(0,0,0,.12);
  transform:translateX(100%);transition:transform .22s ease;
}
.pp-detail-drawer.open{transform:translateX(0)}
.pp-detail-hd{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 18px;border-bottom:1px solid var(--line);flex-shrink:0;
}
.pp-detail-hd strong{font-size:16px;font-weight:600}
.pp-detail-close{border:none;background:none;font-size:22px;line-height:1;color:var(--muted);cursor:pointer;padding:0 4px}
.pp-detail-body{flex:1;overflow-y:auto;padding:16px 18px 24px}
.pp-detail-preview{margin-bottom:16px}
.pp-detail-thumb{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px;background:#f3f3f3;display:block}
.pp-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin-bottom:18px}
.pp-detail-meta-row{display:flex;flex-direction:column;gap:2px}
.pp-detail-meta-k{font-size:12px;color:var(--muted)}
.pp-detail-meta-v{font-size:13px;color:var(--text);font-weight:500}
.pp-detail-sec-title{font-size:14px;font-weight:600;margin:0 0 8px;color:var(--text)}
.pp-detail-desc{font-size:13px;line-height:1.6;color:var(--text-2);margin:0;word-break:break-word}
.pp-detail-foot{flex-shrink:0;padding:14px 18px 18px;border-top:1px solid var(--line);background:#fff}
.pp-detail-use{
  width:100%;border:none;border-radius:999px;padding:12px 16px;font-size:15px;font-weight:600;cursor:pointer;
  background:linear-gradient(90deg,#ff6b9d,#ff4d7a);color:#fff;
}
.pp-detail-use:hover{filter:brightness(1.05)}
@media(max-width:768px){
  .pp-hero{padding:0 0 44px}
  .pp-admin-bar{top:auto;bottom:0;left:0;right:0;transform:none;justify-content:center}
  .pp-filters{flex-direction:column;align-items:stretch}
  .pp-filters-left,.pp-filters-right{flex-direction:column;align-items:stretch;width:100%}
  .pp-filter-item{width:100%}
  .pp-filter,.pp-search-wrap,.pp-search{width:100%;min-width:0}
  .pp-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}
}

.ecom-plat-dl-tip{margin:0 18px 10px;font-size:12px;color:#737373;line-height:1.5}
.ecom-plat-dl-group{margin-bottom:14px}
.ecom-plat-dl-group-title{font-size:12px;font-weight:700;color:#737373;margin:0 0 8px}
.ecom-plat-dl-item{
  display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;
  border:1px solid #ebebeb;margin-bottom:6px;cursor:pointer;font-size:13px;color:#171717;
}
.ecom-plat-dl-item:hover{background:#fafafa}
.ecom-plat-dl-item input{flex-shrink:0}
.ecom-plat-dl-size{font-size:11px;color:#a3a3a3;font-weight:500}
.ecom-plat-dl-all{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#171717;cursor:pointer}
.ecom-plat-dl-foot{display:flex;justify-content:flex-end;gap:8px}
.ecom-plat-dl-empty{margin:0;color:#737373;font-size:13px;text-align:center;padding:16px 0}

html.dark .ecom-plat-dl .ms-modal-panel{
  background:#171717;box-shadow:0 24px 64px rgba(0,0,0,.5);
}
html.dark .ecom-plat-dl .ms-modal-head{border-bottom-color:rgba(255,255,255,.08)}
html.dark .ecom-plat-dl .ms-modal-head h4{color:#f5f5f5}
html.dark .ecom-plat-dl .ms-modal-close{color:#737373}
html.dark .ecom-plat-dl .ms-modal-close:hover{background:#262626;color:#f5f5f5}
html.dark .ecom-plat-dl-tip{color:#a3a3a3}
html.dark .ecom-plat-dl .ms-modal-toolbar{
  background:#1a1a1a;border-bottom-color:rgba(255,255,255,.08);
}
html.dark .ecom-plat-dl-all{color:#e5e5e5}
html.dark .ecom-plat-dl-group-title{color:#737373}
html.dark .ecom-plat-dl-item{
  color:#e5e5e5;border-color:rgba(255,255,255,.1);
}
html.dark .ecom-plat-dl-item:hover{background:#1f1f1f}
html.dark .ecom-plat-dl-size{color:#737373}
html.dark .ecom-plat-dl-empty{color:#737373}
html.dark .ecom-plat-dl .ms-modal-foot{
  background:#171717;border-top-color:rgba(255,255,255,.08);
}

/* 压缩与分割 */
.seg-row--3 .seg-pill{flex:1;min-width:0;white-space:nowrap}
.seg-row--4 .seg-pill{flex:1;min-width:0;font-size:11px;padding:4px 6px}
.seg-row--ratio{flex-wrap:wrap;margin-bottom:6px}
.seg-row--ratio .seg-pill{flex:0 0 calc(25% - 6px);min-width:0;font-size:11px;padding:4px 4px;white-space:nowrap}
.cs-upload-field .upload-shell.is-drag,
.cs-upload-field.is-drag .upload-shell{border-color:var(--accent);background:#f0fdf4}
.cs-upload-field.is-drag{border-radius:12px;outline:1px dashed var(--accent);outline-offset:2px}
.cs-upload-field .upload-shell.has-img{padding:10px;border-style:solid}
.cs-upload-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.cs-upload-head label{margin-bottom:0}
.cs-clear-all{border:0;background:transparent;padding:0;font-size:11px;color:var(--muted);cursor:pointer}
.cs-clear-all:hover{color:#dc2626}
.upload-multi-thumb .cs-thumb-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center}
.upload-multi-thumb .cs-thumb-overlay--err{background:rgba(220,38,38,.15)}
.upload-multi-thumb .cs-thumb-overlay-txt{color:#fff;font-size:11px;font-weight:600}
.range-row{display:flex;align-items:center;gap:10px}
.range-row input[type=range]{flex:1}
.range-row span{min-width:42px;font-size:13px;font-weight:600;color:var(--text-2);text-align:right}
.cs-estimate-box{border-radius:var(--radius-lg);background:var(--surface-2);padding:12px}
.cs-estimate-label{font-size:11px;color:var(--text-2)}
.cs-estimate-val{font-size:16px;font-weight:700;color:var(--text);margin-top:4px}
.cs-estimate-sub{font-size:11px;color:var(--muted);margin-top:4px}
.field input[type=number]{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius);font-size:13px;background:var(--surface);box-sizing:border-box}
.field input[type=number]:focus{outline:none;border-color:var(--accent)}
.cs-slice-editor{margin-top:12px}
.compress-split-workbench{
  flex:1;min-height:0;width:100%;display:flex;flex-direction:column;
  padding:6px 10px 8px;overflow:hidden;box-sizing:border-box;
}
.compress-split-wb-main{
  flex:1;min-height:0;width:100%;
  display:flex;align-items:stretch;justify-content:flex-start;gap:10px;
}
.compress-split-wb-side{
  flex:0 0 auto;display:flex;flex-direction:column;align-items:center;padding-top:18px;
}
.compress-split-wb-switch{display:flex;flex-direction:column;align-items:center;gap:8px}
.compress-split-wb-switch-btn{
  position:relative;width:56px;height:56px;min-width:56px;min-height:56px;padding:0;border:2px solid transparent;
  border-radius:10px;background:#fff;cursor:pointer;overflow:hidden;
  box-shadow:0 0 0 1px #e5e7eb;flex-shrink:0;
}
.compress-split-wb-switch-btn img{width:56px;height:56px;object-fit:cover;display:block}
.compress-split-wb-switch-btn.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.compress-split-wb-preview{
  flex:1 1 0;min-width:0;min-height:0;width:100%;
  display:flex;justify-content:stretch;align-items:stretch;padding:0;overflow:hidden;
}
.cs-wb-card{
  width:100%;max-width:none;min-width:0;min-height:0;height:100%;
  flex:1 1 0;align-self:stretch;
  display:flex;flex-direction:column;
  background:#fff;border-radius:14px;padding:10px 14px 8px;
  border:1px solid rgba(10,10,10,.06);
  box-shadow:0 4px 24px rgba(15,23,42,.06);
  box-sizing:border-box;
}
.cs-wb-card--empty{display:flex;align-items:center;justify-content:center}
.cs-wb-toolbar{
  --rc-toolbar-h:32px;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  margin-bottom:8px;flex:0 0 auto;
}
.cs-wb-title{font-size:14px;font-weight:600;color:#111}
.cs-wb-meta{font-size:12px;color:var(--muted);font-weight:500}
.cs-split-wb-stage .resize-crop-wb-img{object-fit:contain}
.cs-split-wb-stage .cs-editor-lines{position:absolute;inset:0;pointer-events:none;z-index:3}
.cs-split-line--preview{cursor:default;pointer-events:none}
.cs-split-remainder{
  position:absolute;z-index:2;pointer-events:none;
  background:repeating-linear-gradient(
    -45deg,
    rgba(251,191,36,.12),
    rgba(251,191,36,.12) 6px,
    rgba(251,191,36,.04) 6px,
    rgba(251,191,36,.04) 12px
  );
  outline:1px dashed rgba(245,158,11,.75);outline-offset:-1px;
}
.cs-split-viewport-short{
  position:absolute;top:0;z-index:2;pointer-events:none;
  display:flex;align-items:flex-end;justify-content:center;
  outline:2px dashed rgba(239,68,68,.65);outline-offset:-2px;
  box-sizing:border-box;
}
.cs-split-viewport-short-txt{
  margin-bottom:8px;padding:4px 10px;border-radius:999px;
  background:rgba(17,17,17,.72);color:#fff;font-size:11px;line-height:1.4;
}
.cs-wb-empty{
  width:100%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:32px 24px;box-sizing:border-box;
}
.cs-wb-empty-icon{
  width:56px;height:56px;border-radius:14px;background:#f4f4f5;
  display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:16px;
}
.cs-wb-empty h3{margin:0 0 8px;font-size:16px;color:var(--text)}
.cs-wb-empty p{margin:0;font-size:13px;color:var(--muted);line-height:1.6;max-width:280px}
.cs-wb-card--compare .resize-crop-wb-canvas{flex:1;min-height:0}
.cs-compare-grid{display:flex;flex:1;min-height:0;gap:10px}
.cs-compare-pane{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}
.cs-compare-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;flex:0 0 auto}
.cs-compare-label{font-size:12px;font-weight:600;color:var(--text)}
.cs-compare-sub{font-size:11px;color:var(--muted);font-weight:500}
.cs-compare-canvas{flex:1;min-height:0;position:relative;background:#f8fafc;border-radius:10px;overflow:hidden;cursor:pointer}
.cs-compare-stage .resize-crop-wb-img{object-fit:contain}
.cs-compare-loading{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:rgba(255,255,255,.78);font-size:12px;color:var(--muted);z-index:2;pointer-events:none}
.upload-multi-thumb.is-active{outline:2px solid var(--accent);outline-offset:1px;border-radius:8px}
.upload-multi-thumb .cs-custom-badge{
  position:absolute;left:4px;bottom:4px;z-index:2;
  padding:1px 5px;border-radius:999px;background:rgba(17,17,17,.72);color:#fff;font-size:10px;line-height:1.4;font-weight:600;
}
.compress-split-wb-switch-btn .cs-wb-custom-dot{
  position:absolute;right:4px;top:4px;width:8px;height:8px;border-radius:50%;background:var(--accent);
  box-shadow:0 0 0 1px #fff;
}
body.page-studio #compressSplitWorkbench{
  flex:1;min-height:0;align-items:stretch;
}
body.page-studio #csSplitWorkbench{
  flex:1;min-height:0;height:100%;
}
body.page-studio #compressSplitWorkbench{flex:1;min-height:0}
body.studio-compress-split-active #wsResultArea{display:none!important}
body.studio-compress-split-active #wbPanelWorkbench{overflow:hidden;align-items:stretch;justify-content:stretch}
body.studio-compress-split-active #wbPanelWorkbench .compress-split-workbench{align-self:stretch}
body.studio-compress-split-active .ws-support{pointer-events:none}
body.studio-compress-split-active .ws-support .sup-btn{pointer-events:auto}
.cs-editor-btn{border:1px solid #e4e4e7;background:#fff;border-radius:8px;padding:6px 10px;font-size:12px;cursor:pointer}
.cs-editor-btn.primary{background:#111;color:#fff;border-color:#111}
.cs-split-line{position:absolute;height:2px;background:#ef4444;pointer-events:auto;cursor:ns-resize;z-index:4}
.cs-split-line.is-selected{background:#16a34a;box-shadow:0 0 0 1px #16a34a}
.cs-split-line-del{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:18px;height:18px;border:0;border-radius:999px;background:#111;color:#fff;font-size:11px;cursor:pointer}
/* 首页 Pro · 排版系统（Apple / 腾讯 / 阿里级） */
.page-home-pro{
  --hm-bg:#fff;
  --hm-gray:#f5f5f7;
  --hm-ink:#1d1d1f;
  --hm-body:#424245;
  --hm-muted:#6e6e73;
  --hm-faint:#86868b;
  --hm-blue:#0071e3;
  --hm-blue-h:#0077ed;
  --hm-blue-soft:rgba(0,113,227,.06);
  --hm-line:#d2d2d7;
  --hm-line-soft:#e8e8ed;
  --hm-wrap:980px;
  --hm-ease:cubic-bezier(.4,0,.2,1);
  --hm-font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","PingFang SC","Hiragino Sans GB","Noto Sans SC","Microsoft YaHei",sans-serif;
}
body.page-home-pro{
  background:var(--hm-bg);color:var(--hm-ink);font-family:var(--hm-font);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  font-feature-settings:"kern","liga";font-kerning:normal;
}
body.page-home-pro .side-nav{
  background:rgba(255,255,255,.78);backdrop-filter:saturate(180%) blur(20px);
  border-right:1px solid var(--hm-line-soft);
}
html.dark .page-home-pro{
  --hm-bg:#0a0a0a;
  --hm-gray:#141414;
  --hm-ink:#f5f5f5;
  --hm-body:#a3a3a3;
  --hm-muted:#737373;
  --hm-faint:#525252;
  --hm-blue:#409cff;
  --hm-blue-h:#5cadff;
  --hm-blue-soft:rgba(64,156,255,.12);
  --hm-line:#333;
  --hm-line-soft:#262626;
}
html.dark body.page-home-pro .side-nav{
  background:rgba(20,20,20,.88);border-right-color:var(--hm-line-soft);
}
html.dark .hm-topbar{
  background:linear-gradient(180deg,#141414 0%,#0f0f0f 100%);
  border-bottom-color:#262626;
}
html.dark .hm-promo-txt{color:#f5f5f5}
html.dark .hm-hero,.html.dark .hm-wrap{color:inherit}
html.dark .hm-headline,.html.dark .hm-h1-main,.html.dark .hm-h1-pre{color:var(--hm-ink)}
html.dark .hm-sub,.html.dark .hm-eyebrow{color:var(--hm-muted)}
html.dark .hm-metric{background:#171717}
html.dark .hm-m-val{color:#f5f5f5}
html.dark .hm-m-lbl{color:#737373}

.hm-main{flex:1;min-width:0;overflow-y:auto;background:var(--hm-bg)}
.hm-wrap{max-width:var(--hm-wrap);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}

/* ── 顶栏（居中 · 大厂风渐变 · 与右侧操作栏同高） ── */
.hm-topbar{
  position:relative;min-height:52px;flex-shrink:0;z-index:2;
  background:
    linear-gradient(90deg,rgba(0,113,227,.07) 0%,rgba(99,102,241,.06) 38%,rgba(255,149,0,.05) 72%,rgba(0,113,227,.06) 100%),
    linear-gradient(180deg,#f8faff 0%,#f5f6fa 100%);
  border-bottom:1px solid rgba(0,81,213,.08);
}
.hm-promo{
  position:absolute;inset:0;z-index:1;
  display:flex;align-items:center;justify-content:center;
  text-decoration:none;transition:opacity .2s;
}
.hm-promo:hover{opacity:.92}
.hm-promo-inner{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  max-width:min(640px,calc(100% - 48px));padding:0 4px;
  pointer-events:none;
}
.hm-promo-txt{
  font-size:14px;font-weight:500;line-height:1.35;letter-spacing:-.01em;
  color:#1d1d1f;text-align:center;
}
.hm-promo-arrow{
  flex-shrink:0;color:var(--hm-blue);font-size:20px;line-height:1;font-weight:300;
  transform:translateY(-1px);
}
body.page-home-pro .ecom-user-dock{
  top:0;right:max(16px,env(safe-area-inset-right));
  height:52px;display:flex;align-items:flex-start;padding-top:var(--ecom-user-dock-gap, 12px);padding-right:0;padding-left:0;padding-bottom:0;
  box-sizing:border-box;z-index:3;
}
body.page-home-pro.ecom-promo-visible .ecom-user-dock{
  top:calc(var(--ecom-promo-h) + var(--ecom-user-dock-gap, 12px));height:auto;padding-top:0;
  align-items:center;
}
.hm-topbar.is-admin .hm-promo-inner{pointer-events:auto}
.hm-promo-edit{
  flex-shrink:0;display:none;align-items:center;gap:4px;margin-left:2px;
  padding:4px 10px;border-radius:980px;border:1px solid rgba(0,113,227,.2);
  background:rgba(255,255,255,.82);color:var(--hm-blue);
  font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;
  backdrop-filter:saturate(180%) blur(8px);-webkit-backdrop-filter:saturate(180%) blur(8px);
  box-shadow:0 1px 3px rgba(0,81,213,.06);pointer-events:auto;
}
.hm-topbar.is-admin:hover .hm-promo-edit{display:inline-flex}
.hm-promo-edit:hover{background:#fff;border-color:rgba(0,113,227,.32)}
.hm-promo-edit-ic{font-size:12px;line-height:1;opacity:.85}
.hm-promo-edit-pop{
  position:absolute;left:50%;top:calc(100% + 8px);z-index:30;
  transform:translateX(-50%);
  width:min(360px,calc(100vw - 32px));padding:14px 16px;border-radius:14px;
  background:#fff;border:1px solid var(--hm-line-soft);
  box-shadow:0 12px 40px rgba(15,23,42,.12);
}
.hm-promo-edit-label{display:block;margin-bottom:8px;font-size:12px;font-weight:600;color:var(--hm-muted)}
.hm-promo-edit-input{
  width:100%;height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--hm-line);
  font-size:14px;color:var(--hm-ink);font-family:inherit;box-sizing:border-box;
}
.hm-promo-edit-input:focus{outline:none;border-color:var(--hm-blue);box-shadow:0 0 0 3px var(--hm-blue-soft)}
.hm-promo-edit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.hm-promo-edit-cancel,.hm-promo-edit-save{
  height:32px;padding:0 14px;border-radius:980px;border:1px solid var(--hm-line);
  background:#fff;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;
}
.hm-promo-edit-save{background:var(--hm-blue);border-color:var(--hm-blue);color:#fff}
.hm-promo-edit-save:hover{background:var(--hm-blue-h)}
.hm-promo-edit-save:disabled{opacity:.6;cursor:not-allowed}

/* ── Hero 排版 ── */
.hm-hero{position:relative;padding:clamp(56px,8vw,96px) 0 clamp(48px,6vw,72px);text-align:center;overflow:hidden}
.hm-hero-glow{
  pointer-events:none;position:absolute;inset:-30% 0 40%;
  background:
    radial-gradient(ellipse 70% 55% at 50% 0%,rgba(0,113,227,.09),transparent 68%),
    radial-gradient(ellipse 45% 35% at 92% 18%,rgba(99,102,241,.04),transparent 60%);
}
.hm-hero-copy{position:relative;z-index:1}

.hm-eyebrow{
  font-size:13px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  color:var(--hm-blue);margin:0 0 20px;
}
.hm-headline{
  margin:0 auto;max-width:11em;
  font-size:clamp(40px,6.2vw,64px);font-weight:600;
  letter-spacing:-.032em;line-height:1.05;
  text-wrap:balance;
}
.hm-h1-pre{display:block;color:var(--hm-ink);font-weight:600}
.hm-h1-main{
  display:block;margin-top:.12em;
  color:var(--hm-ink);
  background:linear-gradient(105deg,#1d1d1f 0%,#1d1d1f 42%,#0071e3 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}

.hm-deck{
  margin:22px auto 0;max-width:26em;
  font-size:clamp(17px,2.1vw,21px);font-weight:400;
  line-height:1.52381;letter-spacing:.011em;color:var(--hm-body);
  text-wrap:pretty;
}

/* 指标四格 */
.hm-metrics{
  display:grid;grid-template-columns:repeat(4,1fr);
  max-width:680px;margin:36px auto 0;
  border:1px solid var(--hm-line-soft);border-radius:14px;overflow:hidden;
  background:var(--hm-line-soft);gap:1px;
}
.hm-metric{background:#fff;padding:18px 12px;text-align:center}
.hm-m-val{
  display:block;font-size:clamp(18px,2.2vw,22px);font-weight:600;
  letter-spacing:-.024em;color:var(--hm-ink);line-height:1.2;
}
.hm-m-lbl{
  display:block;margin-top:6px;font-size:12px;font-weight:400;
  line-height:1.333;color:var(--hm-faint);letter-spacing:.02em;
}

/* 按钮 */
.hm-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;margin-top:36px}
.hm-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:0 26px;border-radius:980px;
  font-size:17px;font-weight:400;letter-spacing:-.022em;
  cursor:pointer;transition:all .22s var(--hm-ease);border:none;font-family:inherit;
  position:relative;white-space:nowrap;
}
.hm-btn-fill{background:var(--hm-blue);color:#fff}
.hm-btn-fill:hover{background:var(--hm-blue-h);transform:scale(1.02)}
.hm-btn-ghost{background:#fff;color:var(--hm-blue);box-shadow:inset 0 0 0 1px var(--hm-blue)}
.hm-btn-ghost:hover{background:var(--hm-blue-soft)}
.hm-btn-ghost input{position:absolute;inset:0;opacity:0;cursor:pointer}
.hm-btn-ghost.has-file{color:var(--hm-ink);box-shadow:inset 0 0 0 1px var(--hm-line)}
.hm-btn-thumb{width:22px;height:22px;border-radius:50%;object-fit:cover}
.hm-hint{margin-top:14px;font-size:13px;line-height:1.5;color:var(--hm-faint);letter-spacing:.01em}
.hm-feedback{min-height:18px;margin-top:10px;font-size:13px}

/* 对比展示 */
.hm-showcase{position:relative;z-index:1;margin-top:clamp(48px,6vw,72px)}
.hm-compare-frame{
  border-radius:20px;overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,.04),0 32px 88px rgba(0,0,0,.11);
  border:1px solid rgba(0,0,0,.06);background:#fff;
}
.hm-showcase-cap{
  margin-top:16px;font-size:13px;line-height:1.5;
  color:var(--hm-faint);letter-spacing:.02em;
}

.hm-ba{display:grid;grid-template-columns:1fr 1fr;min-height:min(48vw,520px)}
.hm-ba-pane{position:relative;margin:0;overflow:hidden;background:#ececee}
.hm-ba-pane img{width:100%;height:100%;object-fit:cover;display:block;min-height:min(48vw,520px)}
.hm-ba-pane figcaption{
  position:absolute;top:18px;left:18px;z-index:2;
  font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:#fff;background:rgba(29,29,31,.52);padding:5px 12px;border-radius:980px;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.hm-ba-after figcaption{background:rgba(0,113,227,.82)}
.hm-ba-pane+.hm-ba-pane{border-left:1px solid rgba(255,255,255,.85)}

.hm-platforms{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 24px;
  margin-top:clamp(40px,5vw,56px);padding-top:32px;
  border-top:1px solid var(--hm-line-soft);
}
.hm-plat-lead{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--hm-muted)}
.hm-plat-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px}
.hm-plat-list span{font-size:13px;color:var(--hm-faint);letter-spacing:.01em}

/* ── 分区通用排版 ── */
.hm-band{padding:clamp(72px,10vw,112px) 0}
.hm-band-gray{background:var(--hm-gray)}
.hm-band-dark{background:#000;color:#f5f5f7}

.hm-sec{text-align:center;margin-bottom:clamp(36px,5vw,56px)}
.hm-sec-left{text-align:left;margin-bottom:28px}
.hm-sec-label{
  font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--hm-blue);margin-bottom:10px;
}
.hm-sec-title{
  font-size:clamp(28px,3.8vw,40px);font-weight:600;
  letter-spacing:-.022em;line-height:1.1;text-wrap:balance;
}
.hm-sec-desc{
  margin-top:12px;font-size:17px;font-weight:400;line-height:1.47059;
  color:var(--hm-muted);max-width:28em;margin-left:auto;margin-right:auto;
}
.hm-sec-left .hm-sec-desc{margin-left:0;margin-right:0;font-size:15px}
.hm-sec-on-dark .hm-sec-label{color:rgba(0,113,227,.9)}
.hm-sec-on-dark .hm-sec-title{color:#f5f5f7}
.hm-sec-on-dark .hm-sec-desc{color:rgba(245,245,247,.52)}

/* ROI */
.hm-compare{
  display:grid;grid-template-columns:1fr 1fr;max-width:640px;margin:0 auto;
  border:1px solid var(--hm-line);border-radius:16px;overflow:hidden;background:var(--hm-line);gap:1px;
}
.hm-compare-item{padding:36px 28px;text-align:center;background:#fff}
.hm-compare-win{background:linear-gradient(180deg,#f5f9ff 0%,#fff 100%)}
.hm-compare-tag{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--hm-faint);display:block;margin-bottom:14px}
.hm-compare-num{font-size:clamp(30px,3.8vw,40px);font-weight:600;letter-spacing:-.03em;line-height:1.08;display:block;color:var(--hm-ink)}
.hm-compare-win .hm-compare-num{color:var(--hm-blue)}
.hm-compare-note{font-size:13px;line-height:1.5;color:var(--hm-muted);margin-top:10px;display:block}
.hm-compare-hook{text-align:center;margin-top:28px;font-size:16px;line-height:1.5625;color:var(--hm-body);max-width:32em;margin-left:auto;margin-right:auto}

/* 特性 */
.hm-feature-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--hm-line-soft)}
.hm-feature{
  padding:36px 28px 32px;text-decoration:none;color:inherit;
  border-right:1px solid var(--hm-line-soft);transition:background .25s;
}
.hm-feature:last-child{border-right:none}
.hm-feature:hover{background:rgba(0,113,227,.03)}
.hm-feature-idx{font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--hm-blue);display:block;margin-bottom:18px}
.hm-feature-title{font-size:19px;font-weight:600;letter-spacing:-.018em;line-height:1.31579;margin-bottom:10px;color:var(--hm-ink)}
.hm-feature-body{font-size:15px;line-height:1.53333;color:var(--hm-muted)}
.hm-feature-link{display:inline-block;margin-top:18px;font-size:14px;color:var(--hm-blue);letter-spacing:-.01em}

/* 时间轴 */
.hm-timeline{display:grid;grid-template-columns:repeat(6,1fr);position:relative;padding-top:4px}
.hm-timeline::before{content:'';position:absolute;top:22px;left:10%;right:10%;height:1px;background:var(--hm-line);z-index:0}
.hm-step{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 6px;text-decoration:none;color:inherit;position:relative;z-index:1;transition:transform .2s}
.hm-step:hover{transform:translateY(-3px)}
.hm-step-dot{
  width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--hm-line);
  display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;
  color:var(--hm-muted);margin-bottom:14px;transition:all .22s;
}
.hm-step:hover .hm-step-dot{border-color:var(--hm-blue);color:var(--hm-blue);box-shadow:0 0 0 5px var(--hm-blue-soft)}
.hm-step-core .hm-step-dot{background:var(--hm-blue);border-color:var(--hm-blue);color:#fff}
.hm-step-name{font-size:13px;font-weight:600;letter-spacing:-.01em;line-height:1.35;color:var(--hm-ink);margin-bottom:5px}
.hm-step-desc{font-size:11px;line-height:1.45;color:var(--hm-faint);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hm-step-time{font-size:10px;font-weight:600;color:var(--hm-blue);margin-top:8px;letter-spacing:.02em}

/* 双栏 */
.hm-duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:start}
.hm-cap-item{
  display:flex;align-items:flex-start;gap:20px;padding:22px 0;
  border-bottom:1px solid var(--hm-line-soft);text-decoration:none;color:inherit;
}
.hm-cap-item:last-child{border-bottom:none}
.hm-cap-item:hover .hm-cap-val{color:var(--hm-blue-h)}
.hm-cap-val{flex-shrink:0;width:76px;font-size:16px;font-weight:600;letter-spacing:-.02em;color:var(--hm-blue);line-height:1.3}
.hm-cap-text strong{display:block;font-size:15px;font-weight:600;letter-spacing:-.01em;line-height:1.35;margin-bottom:4px}
.hm-cap-text span{font-size:14px;line-height:1.5;color:var(--hm-muted)}

.hm-plan{padding:20px 0;border-bottom:1px solid var(--hm-line-soft)}
.hm-plan:last-child{border-bottom:none}
.hm-plan-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.hm-plan-head strong{font-size:16px;font-weight:600;letter-spacing:-.01em}
.hm-plan-tag{font-size:10px;font-weight:600;padding:3px 9px;border-radius:980px;background:var(--hm-blue);color:#fff;letter-spacing:.04em}
.hm-plan-freq{font-size:14px;line-height:1.5;color:var(--hm-muted);margin-top:5px;display:block}
.hm-plan-price{font-size:18px;font-weight:600;letter-spacing:-.02em;font-style:normal;margin-top:8px;display:block;color:var(--hm-ink)}
.hm-plan.is-rec .hm-plan-price{color:var(--hm-blue)}

/* 画廊 */
.hm-gallery-scroll{overflow-x:auto;padding-bottom:8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.hm-gallery-scroll::-webkit-scrollbar{display:none}
.hm-gallery{display:flex;gap:16px;width:max-content;padding:2px 0}
.hm-gal-card{flex:0 0 248px;border-radius:16px;overflow:hidden;background:#161617;text-decoration:none;transition:transform .28s var(--hm-ease)}
.hm-gal-card:hover{transform:translateY(-4px) scale(1.01)}
.hm-gal-ba{display:grid;grid-template-columns:1fr 1fr;height:300px}
.hm-gal-ba img{width:100%;height:100%;object-fit:cover;display:block}
.hm-gal-ba img+img{border-left:1px solid rgba(255,255,255,.08)}
.hm-gal-title{display:block;padding:14px 16px;font-size:13px;font-weight:500;letter-spacing:-.01em;color:rgba(245,245,247,.72)}

.hm-fab{position:fixed;z-index:100;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;transition:transform .2s}
.hm-fab:hover{transform:scale(1.06)}
.hm-fab-help{right:22px;bottom:84px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border:1px solid var(--hm-line-soft);color:var(--hm-muted);box-shadow:0 4px 20px rgba(0,0,0,.08)}
.hm-fab-cs{right:22px;bottom:22px;width:48px;height:48px;border-radius:50%;background:var(--hm-blue);color:#fff;box-shadow:0 6px 24px rgba(0,113,227,.32)}

@media(max-width:1024px){
  .hm-metrics{grid-template-columns:repeat(2,1fr)}
  .hm-feature-row{grid-template-columns:1fr}
  .hm-feature{border-right:none;border-bottom:1px solid var(--hm-line-soft)}
  .hm-timeline{grid-template-columns:repeat(3,1fr);gap:28px 8px}
  .hm-timeline::before{display:none}
  .hm-duo{grid-template-columns:1fr;gap:48px}
  .hm-compare{grid-template-columns:1fr}
}
@media(max-width:640px){
  .hm-headline{font-size:36px;letter-spacing:-.028em}
  .hm-deck{font-size:17px}
  .hm-actions{flex-direction:column;width:100%;max-width:300px;margin-left:auto;margin-right:auto}
  .hm-btn{width:100%}
  .hm-ba,.hm-ba-pane img{min-height:min(62vw,400px)}
  .hm-timeline{grid-template-columns:repeat(2,1fr)}
  .hm-gal-card{flex:0 0 210px}
  .hm-fab-cs,.hm-fab-help{right:14px}
}

/* ═══ 深色模式 · 专项设计（非简单反色） ═══ */

/* ── Studio 工作台主区 ── */
html.dark body.page-studio .wb-workspace,
html.dark body.studio-showcase .workspace{background:var(--zone-workspace)}
html.dark body.page-studio .wf-progress-host{background:#111}
html.dark body.page-studio .wf-progress-trigger{
  background:#1a1a1a;border-color:rgba(255,255,255,.1);color:#a1a1aa;
}
html.dark body.page-studio .wf-progress-host--dock:hover .wf-progress-trigger,
html.dark body.page-studio .wf-progress-host--dock.wf-progress-host--open .wf-progress-trigger,
html.dark body.page-studio .wf-progress-host--hint .wf-progress-trigger{
  border-color:rgba(34,197,94,.35);color:#4ade80;background:rgba(34,197,94,.08);
  box-shadow:0 0 0 3px rgba(34,197,94,.15);
}
html.dark body.page-studio .wf-progress-host--listing-pack .wf-progress-trigger,
html.dark body.page-studio .wf-progress-host--listing-pack:hover .wf-progress-trigger,
html.dark body.page-studio .wf-progress-host--listing-pack.wf-progress-host--open .wf-progress-trigger{
  border-color:rgba(129,140,248,.45);color:#a5b4fc;background:rgba(99,102,241,.12);
  box-shadow:0 0 0 3px rgba(99,102,241,.15);
}
html.dark .wf-listing-pack-cta{
  background:linear-gradient(135deg,rgba(99,102,241,.18) 0%,#1a1a1a 100%);
  border-color:rgba(165,180,252,.35);color:#c7d2fe;
}
html.dark .wf-listing-pack-cta:hover{
  border-color:rgba(165,180,252,.55);background:linear-gradient(135deg,rgba(99,102,241,.28) 0%,#1f1f1f 100%);
}
html.dark .wf-listing-pack-cta-title{color:#e0e7ff}
html.dark .wf-listing-pack-cta-sub{color:#a5b4fc}
html.dark .wf-mode-tip{background:rgba(245,158,11,.1);border-color:rgba(251,191,36,.25)}
html.dark .wf-mode-tip-text{color:#fbbf24}
html.dark .wf-mode-tip-dismiss{color:#f59e0b}
html.dark .wf-here-name{color:#d4d4d8}
html.dark .wf-panel-sec-label{color:#71717a}
html.dark .wf-progress-trigger-step{background:rgba(99,102,241,.2);color:#a5b4fc}
html.dark body.page-studio .wf-progress-host--dock .wf-progress-inner{
  background:#1a1a1a;border-color:rgba(255,255,255,.1);
  box-shadow:0 10px 32px rgba(0,0,0,.5),0 2px 8px rgba(0,0,0,.3);
}
html.dark body.page-studio .wf-progress-flow{
  background:#1a1a1a;border-color:rgba(255,255,255,.08);
}
html.dark body.page-studio .wf-flow-name{color:#f5f5f5}
html.dark body.page-studio .wf-progress-flow-cur .wf-flow-name{color:#4ade80}
html.dark body.page-studio .wf-progress-host--dock .wf-pill{
  background:#141414;border-color:rgba(255,255,255,.08);color:#71717a;
}
html.dark body.page-studio .wf-progress-host--dock .wf-pill:hover{
  background:#1a1a1a;border-color:rgba(255,255,255,.12);color:#a1a1aa;
}
html.dark body.page-studio .wf-progress-host--dock .wf-pill.done{
  background:#141414;border-color:rgba(255,255,255,.06);color:#525252;
}
html.dark body.page-studio .wf-progress-host--dock .wf-progress-foot{
  border-top-color:rgba(255,255,255,.06);
}
html.dark body.page-studio .wf-progress-host--dock .wf-nav-btn,
html.dark body.page-studio .wf-progress-host--dock .wf-customize-btn{
  color:#525252;
}
html.dark body.page-studio .wf-progress-host--dock .wf-nav-btn:hover,
html.dark body.page-studio .wf-progress-host--dock .wf-customize-btn:hover{color:#a1a1aa}
html.dark body.page-studio .wf-progress-hint{background:#f5f5f5;color:#111}
html.dark body.page-studio .wf-progress-hint::before{background:#f5f5f5}
html.dark .wb-topbar{
  background:linear-gradient(180deg,#141414 0%,#111 100%);
  border-bottom:none;
  box-shadow:var(--shadow-topbar);
}
html.dark .wb-heading{color:#f5f5f5}
html.dark .wb-tabs{background:#1a1a1a;border:1px solid rgba(255,255,255,.08)}
html.dark .wb-tab{color:#525252}
html.dark .wb-tab.on{color:#f5f5f5}
html.dark .wb-tab-indicator,
html.dark .seg-slide-indicator--tab{
  background:#2a2a2a;
  box-shadow:0 1px 3px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06);
}
html.dark .wb-empty{color:#71717a}
html.dark .wb-empty h3,
html.dark .wb-results-empty h3{color:#f5f5f5}
html.dark .wb-empty-icon{
  background:#1a1a1a;border-color:rgba(255,255,255,.08);
  color:#525252;box-shadow:0 4px 20px rgba(0,0,0,.25);
}
html.dark .wb-steps li{
  background:#171717;border-color:rgba(255,255,255,.08);color:#a1a1aa;
}
html.dark .wb-steps li span{background:#404040;color:#f5f5f5}
html.dark .wb-results-empty{color:#71717a}
html.dark .wb-result-card{
  background:#171717;border-color:rgba(255,255,255,.08);
  box-shadow:0 8px 32px rgba(0,0,0,.35);
}
html.dark .wb-result-img-wrap{background:#111}
html.dark .wb-result-media-wrap--video{background:#050505}
html.dark .wb-result-card--video .wb-result-sub{color:#737373}
html.dark .video-loading-visual{background:#111;border-color:rgba(255,255,255,.06)}
html.dark .wb-empty-sub{color:#525252}
html.dark .yq-feed-video-badge{background:rgba(0,0,0,.72)}
html.dark .wb-result-tag{background:rgba(59,130,246,.15);color:#93c5fd}
html.dark .wb-btn{
  background:#1f1f1f;border-color:rgba(255,255,255,.1);color:#d4d4d4;
}
html.dark .wb-btn:hover{background:#262626;border-color:rgba(255,255,255,.14)}
html.dark .wb-btn.primary{background:#404040;border-color:#404040;color:#f5f5f5}
html.dark .wb-btn.primary:hover{background:#525252;border-color:#525252}
html.dark .wb-pack-card{background:#171717;border-color:rgba(255,255,255,.08)}
html.dark .wb-chip{
  background:#1a1a1a;border-color:rgba(255,255,255,.1);color:#a1a1aa;
}
html.dark .wb-chip.on{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.16);color:#f5f5f5}
html.dark .wb-hist-head{
  background:#141414;border-bottom-color:rgba(255,255,255,.06);
}
html.dark .wb-hist-search{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);
}
html.dark .wb-hist-search input{color:#f5f5f5}
html.dark .wb-hist-search input::placeholder{color:#a3a3a3}
html.dark .wb-hist-filter{
  background:#1a1a1a;border-color:rgba(255,255,255,.1);color:#a1a1aa;
}
html.dark .wb-hist-filter.on{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.16);color:#f5f5f5}
html.dark .wb-hist-card{background:#171717;border-color:rgba(255,255,255,.08)}
html.dark .wb-hist-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.35)}
html.dark .wb-hist-thumb{background:#111}
html.dark .wb-hist-tool{color:#d4d4d4}
html.dark .wb-hist-time{color:#525252}

/* ── 从生成历史导入弹窗 ── */
html.dark .hist-import-modal .ms-modal-panel,
html.dark .hist-import-modal .hist-import-panel{
  background:#171717;box-shadow:0 24px 64px rgba(0,0,0,.5);
}
html.dark .hist-import-head{
  background:#171717;border-bottom-color:rgba(255,255,255,.08);
}
html.dark .hist-import-head-row h4{color:#f5f5f5}
html.dark .hist-import-head-row .ms-modal-close{color:#737373}
html.dark .hist-import-head-row .ms-modal-close:hover{background:#262626;color:#f5f5f5}
html.dark .hist-import-toolbar{
  background:#171717;border-bottom-color:rgba(255,255,255,.08);
}
html.dark .hist-import-toolbar .hist-seg{
  background:#1f1f1f;border-color:rgba(255,255,255,.1);
}
html.dark .hist-import-toolbar .hist-seg button{color:#a3a3a3}
html.dark .hist-import-toolbar #histImportKindSeg.seg-indicator-host button.on{color:#fff}
html.dark .hist-import-toolbar #histImportRangeSeg.seg-indicator-host button.on{color:#fafafa}
html.dark .hist-import-toolbar .hist-time-seg::before{background:rgba(255,255,255,.1)}
html.dark .hist-import-count,html.dark .hist-import-shift-hint{color:#525252}
html.dark .hist-import-folders{background:#171717;border-color:#262626}
html.dark .hist-import-folders-title{color:#525252}
html.dark .hist-import-folder-item{color:#d4d4d4}
html.dark .hist-import-folder-item:hover{background:rgba(255,255,255,.06)}
html.dark .hist-import-folder-item em{color:#525252}
html.dark .hist-import-folder-item.on{background:rgba(255,255,255,.1);color:#fafafa}
html.dark .hist-import-folder-item.on:hover{background:rgba(255,255,255,.1)}
html.dark .hist-import-folder-item.on em{color:rgba(255,255,255,.65)}
html.dark .hist-import-body{background:#0f0f0f}
html.dark .hist-import-item{
  background:#171717;border-color:rgba(255,255,255,.08);
}
html.dark .hist-import-item:hover{
  border-color:rgba(255,255,255,.14);box-shadow:0 4px 14px rgba(0,0,0,.35);
}
html.dark .hist-import-thumb{background:#111}
html.dark .hist-import-item-meta{background:#171717}
html.dark .hist-import-item-tool{color:#d4d4d4}
html.dark .hist-import-item-time{color:#525252}
html.dark .hist-import-item.on{
  border-color:#3b82f6;box-shadow:0 0 0 1px rgba(59,130,246,.25);
}
html.dark .hist-import-empty,html.dark .hist-import-loading{color:#525252}
html.dark .hist-import-empty p{color:#737373}
html.dark .hist-import-foot{
  background:#171717;border-top-color:rgba(255,255,255,.08);
}
html.dark .hist-import-selected{color:#a3a3a3}

html.dark .wb-loading{color:#525252}
html.dark .wb-cases-title{color:#f5f5f5}
html.dark .wb-cases-desc{color:#71717a}
html.dark .wb-float-rail .sup-btn{
  background:#1f1f1f;border-color:rgba(255,255,255,.1);color:#d4d4d4;
  box-shadow:0 4px 16px rgba(0,0,0,.35);
}

/* ── 效果演示 / 生成队列 ── */
html.dark .yq-effect-demo{
  background:#171717;border:1px solid rgba(255,255,255,.24);
  box-shadow:none;
}
html.dark .yq-demo-label{
  background:rgba(0,0,0,.62);color:#fff;
  border-color:rgba(255,255,255,.14);
  box-shadow:none;
}
html.dark .yq-demo-card{background:#1f1f1f}
html.dark .yq-demo-stage-full,
html.dark .yq-demo-stage-full--empty{background:#1f1f1f}
html.dark .yq-demo-stage-full video,
html.dark .yq-demo-stage-full img{background:transparent}
html.dark .yq-demo-foot{background:#171717}
html.dark .yq-demo-note{color:#71717a}
html.dark .yq-demo-foot-link{color:#71717a}
html.dark .yq-demo-foot-link:hover{color:#818cf8}
html.dark .yq-demo-foot-link--primary{color:#818cf8}
html.dark .yq-demo-foot-sep{background:rgba(255,255,255,.12)}
html.dark .yq-demo-stage-hit::after{background:rgba(38,38,38,.9);color:#525252}
html.dark .yq-demo-main img,
html.dark .yq-demo-grid img,
html.dark .yq-demo-col img{background:#111}
html.dark .yq-demo-main--only img,
html.dark .yq-demo-main--only video{background:#111}
html.dark .yq-demo-main video,
html.dark .yq-demo-grid video,
html.dark .yq-demo-col video,
html.dark .yq-demo-mini-frame video{background:#111}
html.dark .yq-demo-mini{background:#111;border-color:rgba(255,255,255,.08)}
html.dark .yq-demo-mini-frame{background:#171717;border-color:rgba(255,255,255,.08)}
html.dark .yq-demo-style{border-color:rgba(255,255,255,.1);background:#111}
html.dark .yq-demo-style.on{border-color:#818cf8}
html.dark .yq-demo-foot{border-top-color:rgba(255,255,255,.06)}
html.dark .yq-demo-btn-admin{color:#818cf8;border-color:rgba(129,140,248,.3)}
html.dark .yq-demo-btn-admin:hover{background:rgba(99,102,241,.12)}
html.dark .yq-demo-empty-tip{color:#525252}
html.dark .yq-feed-item{
  background:#171717;border-color:rgba(255,255,255,.08);
  box-shadow:0 4px 20px rgba(0,0,0,.25);
}
html.dark .yq-feed-head{border-bottom-color:rgba(255,255,255,.06)}
html.dark .yq-feed-avatar{background:var(--yq-avatar-bg,#fff);color:var(--yq-avatar-fg,#0a0a0a);border-color:#525252}
html.dark .yq-feed-tool{color:#f5f5f5}
html.dark .yq-feed-ref{border-color:rgba(255,255,255,.1)}
html.dark .yq-feed-head-r time{color:#525252}
html.dark .yq-feed-del:hover{background:rgba(220,38,38,.12);color:#f87171}
html.dark .yq-feed-body img{background:#111}
html.dark .wb-hist-feed .yq-feed-tool{background:rgba(255,255,255,.06);color:#d4d4d4}
html.dark .wb-hist-feed .yq-feed-head-r time{color:#525252}
html.dark body.page-studio .gen-job-card{
  background:#171717;border-color:rgba(255,255,255,.08);
  box-shadow:0 1px 3px rgba(0,0,0,.25),0 4px 14px rgba(0,0,0,.2);
}
html.dark body.page-studio .gen-queue .gen-job-img{background:#111}
html.dark body.page-studio .gen-queue .gen-job-pending .gen-job-img>img,
html.dark body.page-studio .gen-queue .gen-job-err .gen-job-img>img{background:#1a1a1a}
html.dark body.page-studio .gen-job-ph{background:linear-gradient(135deg,#1a1a1a,#262626)}
html.dark body.page-studio .gen-queue .gen-job-pending .gen-job-ph{
  background:linear-gradient(110deg,#1a1a1a 8%,#262626 18%,#1a1a1a 33%);
}
html.dark body.page-studio .gen-queue .gen-job-overlay{
  background:rgba(10,10,10,.78);color:#f5f5f5;
}
html.dark body.page-studio .gen-queue .gen-job-pending .gen-job-overlay{
  background:linear-gradient(180deg,rgba(10,10,10,.45) 0%,rgba(10,10,10,.82) 55%,rgba(10,10,10,.88) 100%);
}
html.dark body.page-studio .gen-queue-chip{
  background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08);color:#a3a3a3;
}
html.dark body.page-studio .gen-queue-chip-upgrade{
  background:#f5f5f5;color:#171717;
}
html.dark body.page-studio .gen-queue-chip-upgrade:hover{background:#fff}
html.dark body.page-studio .gen-queue-chip-dot{background:#737373}
html.dark .wb-active-gen{
  background:rgba(20,184,166,.12);color:#5eead4;border-color:rgba(20,184,166,.25);
}
html.dark .wb-active-gen::before{background:#2dd4bf}
html.dark body.page-studio .gen-job-seq-hint{color:#737373}
html.dark body.page-studio .gen-job-waiting .gen-job-status{color:#a8a29e}
html.dark body.page-studio .gen-queue .gen-job-waiting.gen-job-pending .gen-job-overlay{
  background:rgba(23,23,23,.88);
}
html.dark .detail-stream-head h3{color:#f5f5f5}
html.dark .detail-stream-progress{color:#71717a}
html.dark .detail-stream-item{background:#1a1a1a;border-color:rgba(255,255,255,.08)}
html.dark .detail-stream-item.is-done{background:#141414}
html.dark .detail-stream-item.is-loading{
  background:linear-gradient(110deg,#1a1a1a 8%,#262626 18%,#1a1a1a 33%);
}
html.dark .detail-stream-item.is-loading::after{
  background:linear-gradient(transparent,rgba(10,10,10,.92));color:#71717a;
}
html.dark .ws-float-settings:hover{background:rgba(255,255,255,.06);color:#f5f5f5}
html.dark .ws-float-dock .ws-float-card{
  border-color:rgba(255,255,255,.08);
  box-shadow:0 12px 40px rgba(0,0,0,.45),0 2px 8px rgba(0,0,0,.25);
}
html.dark .float-gen:disabled,
html.dark .home-gen:disabled,
html.dark .home-gen.is-disabled{background:#262626;color:#525252}

/* ── 上传区（深色专用虚线框，非白底照搬） ── */
html.dark .upload-shell{
  border-color:rgba(255,255,255,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.015) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
html.dark .upload-shell:hover{
  border-color:rgba(255,255,255,.18);
  background:linear-gradient(180deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,.025) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
html.dark .upload-shell.has-img,
html.dark .upload-shell.has-img:hover{
  border-color:rgba(255,255,255,.1);background:#171717;box-shadow:none;
}
html.dark .upload-drop-title{color:#e5e5e5}
html.dark .upload-drop-meta{color:#71717a}
html.dark .upload-drop-foot{border-top:none}
html.dark .upload-foot-sep{color:#71717a}
html.dark .upload-drop-foot .upload-hist-link{
  background:transparent;border:none;color:#93c5fd;box-shadow:none;
}
html.dark .upload-drop-foot .upload-hist-link:hover{
  background:rgba(59,130,246,.14);border:none;color:#bfdbfe;
}
html.dark .upload-drop-foot .upload-mobile-link{
  background:transparent;border:none;color:#93c5fd;
}
html.dark .upload-drop-foot .upload-mobile-link:hover{
  background:rgba(59,130,246,.14);border:none;color:#bfdbfe;
}
html.dark .hist-mobile-link{
  background:linear-gradient(180deg,#3b82f6 0%,var(--accent,#2563eb) 100%);
  color:#fff;box-shadow:0 1px 2px rgba(37,99,235,.35);
}
html.dark .hist-mobile-link:hover{
  filter:brightness(1.08);color:#fff;
  box-shadow:0 1px 3px rgba(37,99,235,.45);
}
html.dark .upload-action-row{background:rgba(255,255,255,.04)}
html.dark .upload-action-row .upload-action-btn,
html.dark .upload-action-row .upload-hist-link,
html.dark .upload-action-row .upload-continue-btn{
  background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#a1a1aa;
}
html.dark .upload-action-row .upload-action-btn:hover,
html.dark .upload-action-row .upload-hist-link:hover,
html.dark .upload-action-row .upload-continue-btn:hover{
  background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.14);color:#f5f5f5;
}
html.dark .upload-action-btn{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);color:#a1a1aa;
}
html.dark .upload-action-btn:hover{
  background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#f5f5f5;
}
html.dark .upload-action-ico{color:#71717a}
html.dark .upload-action-btn--accent{
  border-color:rgba(59,130,246,.35);color:#93c5fd;background:rgba(59,130,246,.08);
}
html.dark .upload-action-btn--accent:hover{background:rgba(59,130,246,.14)}
html.dark .upload-zone .upload-cloud,
html.dark .upload-zone .upload-hint-ico{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);
}
html.dark .upload-preview-wrap{background:#171717}
html.dark .upload-zone.has-img{background:#171717}
html.dark .upload-zone.is-uploading::after{background:rgba(10,10,10,.55)}
html.dark .upload-zone.drag-over,html.dark .upload-zone.is-drag{background:rgba(59,130,246,.1)}
html.dark .upload-shell.is-drag,
html.dark .upload-shell:has(.upload-zone.drag-over),
html.dark .upload-shell:has(.upload-zone.is-drag){
  border-color:#60a5fa;
  background:linear-gradient(180deg,rgba(59,130,246,.16) 0%,rgba(59,130,246,.06) 100%);
  box-shadow:inset 0 0 0 1px rgba(96,165,250,.18),0 0 0 3px rgba(59,130,246,.16);
}
html.dark .upload-shell.is-drag .upload-drop-title,
html.dark .upload-shell:has(.upload-zone.drag-over) .upload-drop-title,
html.dark .upload-shell:has(.upload-zone.is-drag) .upload-drop-title{color:#93c5fd}
html.dark .upload-shell.is-drag .upload-cloud,
html.dark .upload-shell.is-drag .upload-hint-ico,
html.dark .upload-shell:has(.upload-zone.drag-over) .upload-cloud,
html.dark .upload-shell:has(.upload-zone.drag-over) .upload-hint-ico,
html.dark .upload-shell:has(.upload-zone.is-drag) .upload-cloud,
html.dark .upload-shell:has(.upload-zone.is-drag) .upload-hint-ico{
  border-color:rgba(96,165,250,.4);background:rgba(59,130,246,.16);color:#93c5fd;
}
html.dark .upload-shell.has-img.is-drag,
html.dark .upload-shell.has-img:has(.upload-zone.drag-over),
html.dark .upload-shell.has-img:has(.upload-zone.is-drag){
  border-color:#60a5fa;background:rgba(59,130,246,.1);
  box-shadow:inset 0 0 0 1px rgba(96,165,250,.18),0 0 0 3px rgba(59,130,246,.16);
}
html.dark .detail-adv-card.is-uploading::after{background:rgba(10,10,10,.55)}
html.dark .upload-zone--text-edit{
  border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.03);
}
html.dark .upload-zone--text-edit-more{
  border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.02);
}
html.dark .upload-zone--text-edit-more:hover{
  border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.04);
}
html.dark .upload-action-row .upload-action-btn:disabled,
html.dark .upload-action-row .upload-hist-link:disabled,
html.dark .upload-action-row .upload-continue-btn:disabled,
html.dark .upload-action-row .upload-continue-btn.hist-batch-btn:disabled{
  background:rgba(255,255,255,.02);color:#525252;border-color:rgba(255,255,255,.06);
}
html.dark .opt-btn{
  background:#1f1f1f;border-color:rgba(255,255,255,.1);color:#a1a1aa;
  box-shadow:none;
}
html.dark .opt-btn:hover{background:#262626;border-color:rgba(255,255,255,.14);color:#f5f5f5}
html.dark .textarea-wrap textarea{
  background:rgba(255,255,255,.04);color:var(--text);
}
html.dark .switch-row{background:rgba(255,255,255,.03)}
html.dark .switch-slider{background:#3f3f46}
html.dark .switch-slider::before{background:#fafafa}

/* ── 历史资产页 ── */
html.dark .hist-topbar{
  background:linear-gradient(180deg,#141414 0%,#111 100%);
  border-bottom-color:rgba(255,255,255,.06);
}
html.dark .hist-page-title{color:#f5f5f5}
html.dark .hist-cat.on{background:transparent;color:#fafafa}
html.dark .seg-indicator-host.hist-cats .hist-cat.on{color:#fafafa}
html.dark .hist-cats-hscroll-track,
html.dark .ecom-hscroll-track{background:rgba(255,255,255,.1)}
html.dark .hist-cats-hscroll-thumb,
html.dark .ecom-hscroll-thumb{background:rgba(255,255,255,.32)}
html.dark .ecom-hscroll-thumb:hover{background:rgba(255,255,255,.42)}
html.dark .ecom-hscroll-thumb.is-dragging{background:rgba(255,255,255,.48)}
html.dark .hist-cats-more{
  background:#1a1a1a;border-color:rgba(255,255,255,.1);
}
html.dark .hist-btn-outline{
  background:transparent;border-color:rgba(255,255,255,.14);color:#e5e5e5;
}
html.dark .hist-btn-outline:hover{background:rgba(255,255,255,.04)}
html.dark .hist-folder-item.on{background:rgba(255,255,255,.1);color:#fafafa}
html.dark .hist-seg{background:#1a1a1a;border-color:rgba(255,255,255,.08)}
html.dark .hist-seg button.on{background:rgba(255,255,255,.08);color:#fafafa}
html.dark #assetTypeSeg button.on{background:var(--accent);color:#fff}
html.dark .hist-batch-btn.on{
  background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.35);color:#93c5fd;
}
html.dark .hist-date-pop{
  background:#171717;border-color:rgba(255,255,255,.1);
  box-shadow:0 16px 48px rgba(0,0,0,.45);
}
html.dark .hist-date-pop-hd span{color:#f5f5f5}
html.dark .hist-date-pop-close{color:#a3a3a3}
html.dark .hist-date-pop-close:hover{background:#262626;color:#f5f5f5}
html.dark .hist-date-field input[type=date]{
  background:#111;border-color:rgba(255,255,255,.12);color:#f5f5f5;
}
html.dark .hist-date-btn{
  background:#1a1a1a;border-color:rgba(255,255,255,.12);color:#e5e5e5;
}
html.dark .hist-date-btn:hover{background:#262626}
html.dark .hist-batch-act--danger{color:#f87171;border-color:rgba(248,113,113,.25)}
html.dark .hist-batch-act--danger:hover{background:rgba(220,38,38,.1)}
html.dark .hist-card-preview{background:#111}
html.dark .hist-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.35)}
html.dark .hist-card.selected,
html.dark .hist-card.selected:hover{
  border-color:var(--batch-sel-color);
  box-shadow:var(--batch-sel-shadow);
}
html.dark .hist-card-act--primary{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.16);color:#f5f5f5}
html.dark .hist-card-act--primary:hover{background:rgba(255,255,255,.16)}
html.dark .hist-check{background:rgba(20,20,20,.92);border-color:rgba(255,255,255,.12)}
html.dark .hist-check.on{background:var(--batch-sel-color);color:#fff;border-color:var(--batch-sel-color)}
html.dark .hist-card-dl{background:rgba(20,20,20,.92);color:#f5f5f5}
html.dark .hist-card-dl--orig{background:rgba(20,20,20,.85)}

/* ── 首页 Pro ── */
html.dark .hm-topbar{
  background:linear-gradient(90deg,rgba(64,156,255,.06) 0%,rgba(99,102,241,.05) 38%,rgba(255,149,0,.04) 72%,rgba(64,156,255,.05) 100%),
    linear-gradient(180deg,#141414 0%,#0f0f0f 100%);
  border-bottom-color:rgba(255,255,255,.06);
}
html.dark .hm-promo-arrow{color:var(--hm-blue)}
html.dark .hm-h1-main{
  background:linear-gradient(105deg,#f5f5f5 0%,#f5f5f5 42%,#409cff 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
html.dark .hm-hero-glow{
  background:
    radial-gradient(ellipse 70% 55% at 50% 0%,rgba(64,156,255,.12),transparent 68%),
    radial-gradient(ellipse 45% 35% at 92% 18%,rgba(99,102,241,.06),transparent 60%);
}
html.dark .hm-metrics{border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.06)}
html.dark .hm-btn-ghost{
  background:transparent;color:var(--hm-blue);
  box-shadow:inset 0 0 0 1px rgba(64,156,255,.45);
}
html.dark .hm-btn-ghost:hover{background:rgba(64,156,255,.1)}
html.dark .hm-btn-ghost.has-file{color:#f5f5f5;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
html.dark .hm-compare-frame{
  border-color:rgba(255,255,255,.08);background:#171717;
  box-shadow:0 2px 8px rgba(0,0,0,.25),0 32px 88px rgba(0,0,0,.35);
}
html.dark .hm-ba-pane{background:#111}
html.dark .hm-ba-pane+.hm-ba-pane{border-left-color:rgba(255,255,255,.08)}
html.dark .hm-compare{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08)}
html.dark .hm-compare-item{background:#171717}
html.dark .hm-compare-win{background:linear-gradient(180deg,rgba(64,156,255,.08) 0%,#171717 100%)}
html.dark .hm-feature:hover{background:rgba(64,156,255,.06)}
html.dark .hm-step-dot{
  background:#171717;border-color:rgba(255,255,255,.12);color:#71717a;
}
html.dark .hm-step:hover .hm-step-dot{
  border-color:var(--hm-blue);color:var(--hm-blue);
  box-shadow:0 0 0 5px rgba(64,156,255,.12);
}
html.dark .hm-promo-edit{
  background:rgba(20,20,20,.88);border-color:rgba(64,156,255,.25);color:var(--hm-blue);
  box-shadow:0 1px 3px rgba(0,0,0,.25);
}
html.dark .hm-promo-edit:hover{background:#1a1a1a;border-color:rgba(64,156,255,.4)}
html.dark .hm-promo-edit-pop{
  background:#171717;border-color:rgba(255,255,255,.08);
  box-shadow:0 12px 40px rgba(0,0,0,.45);
}
html.dark .hm-promo-edit-input{
  background:#1f1f1f;border-color:rgba(255,255,255,.1);color:#f5f5f5;
}
html.dark .hm-promo-edit-cancel,
html.dark .hm-promo-edit-save{background:#1f1f1f;border-color:rgba(255,255,255,.1);color:#d4d4d4}
html.dark .hm-fab-help{
  background:rgba(20,20,20,.9);border-color:rgba(255,255,255,.08);color:#71717a;
  box-shadow:0 4px 20px rgba(0,0,0,.35);
}
html.dark .hm-band-gray{background:#111}

/* ── 表单 / 控件补充 ── */
html.dark .ui-select-search{background:rgba(255,255,255,.04);color:var(--text)}
html.dark .ui-select-search:focus{background:rgba(255,255,255,.06)}
html.dark .ui-select--searchable .ui-select-menu--searchable .ui-select-option:hover{
  background:rgba(255,255,255,.06);
}
html.dark .main-type-item{background:rgba(59,130,246,.08);border-color:rgba(96,165,250,.25)}
html.dark .strategy-card{background:#171717;border-color:rgba(255,255,255,.08)}
html.dark .strategy-card:hover{border-color:rgba(255,255,255,.12);background:#1a1a1a}
html.dark .strategy-card-tag{background:rgba(255,255,255,.06);color:#a1a1aa}
html.dark .ecom-user-link:hover{color:#f5f5f5;background:rgba(255,255,255,.06)}
html.dark .ecom-user-copy-id:hover{background:rgba(255,255,255,.06);color:#d4d4d4}
html.dark .ecom-notify-badge{box-shadow:0 0 0 2px #171717}
html.dark .icon-rail{background:var(--surface);border-right:1px solid rgba(255,255,255,.06);box-shadow:none}
html.dark .rail-nav-item:hover{background:rgba(255,255,255,.06)}
html.dark .rail-nav-item.on{background:rgba(255,255,255,.1)}
html.dark .rail-toggle{background:#1f1f1f;border-color:rgba(255,255,255,.1);box-shadow:0 2px 8px rgba(0,0,0,.35)}
html.dark .rail-toggle:hover{background:#262626}
html.dark .tool-drawer{box-shadow:4px 0 24px rgba(0,0,0,.35)}
html.dark .side-nav.collapsed .nav-sub{
  border-color:rgba(255,255,255,.08);box-shadow:0 8px 28px rgba(0,0,0,.45);
}
html.dark .side-nav .side-toggle{background:#1f1f1f;border-color:rgba(255,255,255,.08);box-shadow:0 2px 10px rgba(0,0,0,.35)}
html.dark .side-nav .side-toggle:hover{background:#262626}
html.dark .nav-sub-item:hover:not(.active){background:rgba(255,255,255,.06)}
html.dark .nav-wf-item.active .nav-wf-num{background:#22c55e}
html.dark .nav-workflow-hd.active,
html.dark .nav-workflow:has(.nav-wf-item.active) .nav-workflow-hd{
  background:rgba(34,197,94,.1)!important;
}
html.dark .nav-workflow-hd.active .nav-label,
html.dark .nav-workflow:has(.nav-wf-item.active) .nav-workflow-hd .nav-label{color:#4ade80}

/* ── 深色 · 修复 var(--text) 误作按钮底色（会变成刺眼白块） ── */
html.dark .btn-gen{background:var(--accent);color:#fff}
html.dark .btn-gen:hover{filter:brightness(1.06)}
html.dark .btn-gen:disabled{background:#262626;color:#525252;filter:none}
html.dark .btn-gen .spin{border-color:#fff;border-top-color:transparent}
html.dark body.page-studio.studio-panel-mode .btn-gen:disabled{background:#262626;color:#525252}
html.dark .float-gen{background:var(--accent);color:#fff}
html.dark .float-gen:disabled{background:#262626;color:#525252}
html.dark .drawer-region button.on{background:rgba(255,255,255,.12);color:#f5f5f5;border-color:rgba(255,255,255,.16)}
html.dark .hist-cat.on{background:rgba(255,255,255,.1);color:#fafafa}
html.dark .hist-folder-item.on{background:rgba(255,255,255,.1);color:#fafafa}
html.dark .hist-check.on{background:var(--batch-sel-color);color:#fff;border-color:var(--batch-sel-color)}
html.dark .switch-toggle input:checked+.switch-slider{background:#525252}

/* ── 深色 · 底栏生成区（圆角容器 + 算力信息） ── */
html.dark body.page-studio .studio-body{background:var(--zone-workspace)}
html.dark body.page-studio .config-panel--studio{
  background:var(--surface);border-right:1px solid var(--line);
  box-shadow:none;
}
html.dark body.page-studio .config-panel--studio .config-head{border-bottom:1px solid var(--line)}
html.dark body.page-studio .config-panel--studio .config-footer{
  background:var(--surface);border-top:1px solid var(--line);
  box-shadow:none;
}
html.dark .btn-gen-shell{
  display:block;padding:3px;border-radius:14px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
}
html.dark .btn-gen-shell .btn-gen{border-radius:11px}
html.dark .cost-footer{color:#71717a}
html.dark .cost-est b{color:#e5e5e5}
html.dark .cost-unit{color:#a1a1aa}
html.dark .trial-badge{color:#a78bfa}

/* ── 深色 · 工作台 Tab 滑块（还原浅色模式的圆角胶囊效果） ── */
html.dark .wb-tabs{
  background:#1a1a1a;border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
html.dark .wb-tab{color:#525252}
html.dark .wb-tab.on{color:#f5f5f5;font-weight:600}
html.dark .wb-tab-indicator,
html.dark .seg-slide-indicator--tab{
  background:#2a2a2a;
  box-shadow:0 1px 3px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06);
}

/* ── 深色 · 模特/姿势选择行、工作流标签 ── */
html.dark .ms-pick-row{
  background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.1);
}
html.dark .ms-pick-row:hover{
  border-color:rgba(255,255,255,.16);box-shadow:0 2px 8px rgba(0,0,0,.25);
}
html.dark .ms-pick-arrow{color:#525252}
html.dark .ms-pick-tag{background:rgba(245,158,11,.12);color:#fbbf24;border-color:rgba(245,158,11,.25)}
html.dark .wf-pill{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);color:#71717a;
}
html.dark .wf-pill:hover{border-color:rgba(34,197,94,.35);color:#4ade80}
html.dark .wf-pill.done{background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.2);color:#4ade80}
html.dark .wf-pill.on{background:#15803d;border-color:#15803d;color:#fff}

/* ── 深色 · 硬编码白底按钮 / 工具条 ── */
html.dark .mp-preview-download{background:rgba(255,255,255,.12);color:#f5f5f5}
html.dark .mp-preview-download:hover{background:rgba(255,255,255,.18)}
html.dark .acc-lib-action-btn,
html.dark .acc-lib-foot .wb-btn.ghost,
html.dark .upload-multi-gallery-act:not(.upload-multi-gallery-act--danger),
html.dark .upload-tool-btn:not(.upload-tool-btn--primary),
html.dark .text-edit-retry-btn,
html.dark .cs-editor-btn,
html.dark .wf-nav-btn:not(.wf-nav-next):not(.wf-nav-done),
html.dark .wf-customize-btn,
html.dark .sc-admin-btn.ghost,
html.dark .resize-crop-apply-all-btn,
html.dark .resize-crop-toolbar-btn:not(.ghost):not(.link),
html.dark .resize-crop-apply-batch-btn{
  background:#1f1f1f;border-color:rgba(255,255,255,.1);color:#d4d4d4;
}
html.dark .acc-lib-upload-btn{
  background:var(--accent,#2563eb);border-color:transparent;color:#fff;
  box-shadow:0 1px 3px rgba(37,99,235,.35);
}
html.dark .acc-lib-upload-btn:hover:not(:disabled){
  background:#3b82f6;border-color:transparent;color:#fff;
}
html.dark .acc-lib-action-btn:hover:not(:disabled),
html.dark .acc-lib-foot .wb-btn.ghost:hover,
html.dark .upload-multi-gallery-act:hover:not(:disabled):not(.upload-multi-gallery-act--danger),
html.dark .upload-tool-btn:not(.upload-tool-btn--primary):hover,
html.dark .text-edit-retry-btn:hover,
html.dark .cs-editor-btn:hover,
html.dark .wf-nav-btn:not(.wf-nav-next):not(.wf-nav-done):hover,
html.dark .wf-customize-btn:hover,
html.dark .sc-admin-btn.ghost:hover,
html.dark .resize-crop-apply-all-btn:hover,
html.dark .resize-crop-toolbar-btn:not(.ghost):not(.link):hover:not(:disabled),
html.dark .resize-crop-apply-batch-btn:hover:not(:disabled){
  background:#262626;border-color:rgba(255,255,255,.14);color:#f5f5f5;
}
html.dark .acc-lib-actions-sep{background:rgba(255,255,255,.12)}
html.dark .upload-tool-btn--primary{
  background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.35);color:#93c5fd;
}
html.dark .upload-tool-btn--primary:hover{background:rgba(59,130,246,.14)}
html.dark .sc-admin-add{
  background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.35);color:#93c5fd;
}
html.dark .sc-admin-add:hover{background:rgba(59,130,246,.14)}
html.dark .home-case-same-btn{
  background:#f5f5f5;color:#171717;border-color:rgba(255,255,255,.08);
}
html.dark .home-case-same-btn:hover{
  background:#fff;border-color:rgba(255,255,255,.12);
}
html.dark .home-broker-time-tags .home-case-admin-add{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.28);color:#93c5fd}
html.dark .home-broker-time-tags .home-case-admin-add:hover{background:rgba(59,130,246,.2)}
html.dark .home-case-card .home-case-edit{background:rgba(23,23,23,.92);color:#f5f5f5}
html.dark .upload-multi-gallery-act--danger{color:#f87171;border-color:rgba(248,113,113,.25)}
html.dark .upload-multi-gallery-act--danger:hover:not(:disabled){
  background:rgba(220,38,38,.1);border-color:rgba(248,113,113,.35);
}
html.dark .main-type-chip--off,
html.dark .main-other-type-grid--chips .main-type-chip.main-type-chip--off{
  background:#1f1f1f;border-color:rgba(255,255,255,.1);color:#a3a3a3;
}
html.dark .main-type-chip--off:hover,
html.dark .main-other-type-grid--chips .main-type-chip.main-type-chip--off:hover{
  background:#262626;border-color:rgba(255,255,255,.14);color:#e5e5e5;
}
html.dark .text-edit-wb-switch-btn,
html.dark .resize-crop-wb-switch-btn,
html.dark .compress-split-wb-switch-btn{
  background:#1f1f1f;box-shadow:0 0 0 1px rgba(255,255,255,.1);
}

/* ── 深色 · 通用 ms-modal 弹窗（除已单独定制的 hist-import / ecom-plat-dl） ── */
html.dark .ms-modal-panel{background:#171717;box-shadow:0 24px 64px rgba(0,0,0,.5)}
html.dark .ms-modal-head{border-bottom-color:rgba(255,255,255,.08)}
html.dark .ms-modal-head h4{color:#f5f5f5}
html.dark .ms-modal-close{color:#737373}
html.dark .ms-modal-close:hover{background:#262626;color:#f5f5f5}
html.dark .ms-modal-toolbar{background:#1a1a1a;border-bottom-color:rgba(255,255,255,.08)}
html.dark .ms-modal-foot{border-top-color:rgba(255,255,255,.08)}
html.dark .strategy-card{
  background:#1f1f1f;border-color:rgba(255,255,255,.08);box-shadow:none;
}
html.dark .strategy-card:hover{border-color:rgba(255,255,255,.14);background:#262626}
html.dark .sc-admin-modal-panel{background:#171717;box-shadow:0 24px 64px rgba(0,0,0,.5)}

/* ── 深色 · 弱化其它「白块」激活态 ── */
html.dark .wb-btn.primary{background:#404040;border-color:#404040;color:#f5f5f5}
html.dark .wb-btn.primary:hover{background:#525252;border-color:#525252}
html.dark .wb-chip.on{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.16);color:#f5f5f5}
html.dark .wb-hist-filter.on{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.16);color:#f5f5f5}
html.dark .wb-steps li span{background:#404040;color:#f5f5f5}
html.dark #ecomUiTipLayer{
  background:#111;color:var(--text-2);
  border-color:rgba(255,255,255,.1);
  box-shadow:0 12px 32px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.25);
}
html.dark #ecomUiTipLayer .ecom-ui-tip-arrow{background:#111}
html.dark #ecomUiTipLayer .ecom-ui-tip-item,
html.dark #ecomUiTipLayer .ecom-ui-tip-plain{color:var(--text-2)}
html.dark #ecomUiTipLayer .ecom-ui-tip-ico{color:var(--muted)}
html.dark .btn-split-layout--lookbook{
  background:rgba(255,255,255,.04);border-color:rgba(59,130,246,.35);color:#93c5fd;
}
html.dark .btn-split-layout--lookbook:hover{background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.45)}
html.dark .tool-warn{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.2);color:#fbbf24}

/* ── 深色 · 下拉选择（修复白底触发器/菜单） ── */
html.dark .ui-select-trigger{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);color:#f5f5f5;
}
html.dark .ui-select-trigger:hover{
  background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);
}
html.dark .ui-select.open .ui-select-trigger{
  background:#1f1f1f;border-color:rgba(255,255,255,.18);
  box-shadow:0 0 0 2px rgba(255,255,255,.06);
}
html.dark .ui-select-menu{
  background:#1a1a1a;border-color:rgba(255,255,255,.1);
  box-shadow:0 12px 32px rgba(0,0,0,.45),0 2px 8px rgba(0,0,0,.25);
}
html.dark .ui-select-option:hover{background:rgba(255,255,255,.06)}
html.dark .ui-select-option.on{background:rgba(59,130,246,.12)}
html.dark .ui-select-option.on .ui-select-option-title{color:#93c5fd;font-weight:600}
html.dark .ui-select-option.on .ui-select-option-check{color:#60a5fa}
html.dark .ui-select-pin-top{color:#737373}
html.dark .ui-select-pin-top:hover{background:rgba(59,130,246,.12);color:#60a5fa}
html.dark .ui-select-pin-top.is-pinned{color:#60a5fa}
html.dark .ui-select-pin-top.is-pinned:hover{background:rgba(59,130,246,.16);color:#93c5fd}
html.dark .ui-select--rich .ui-select-option.on{
  background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);
}
html.dark .ui-select--rich .ui-select-option.on .ui-select-option-title{color:#f5f5f5}
html.dark .ui-select--chip-count .ui-select-menu{
  background:#1a1a1a;border-color:rgba(255,255,255,.1);
}
html.dark .ui-select--chip-count .ui-select-option.on{background:rgba(59,130,246,.12);color:#93c5fd}
html.dark .ui-select--chip-count .ui-select-option:hover{background:rgba(255,255,255,.06)}
html.dark .ui-select-search{background:rgba(255,255,255,.04);color:#f5f5f5}
html.dark .ui-select-search::placeholder{color:#a3a3a3}
html.dark .ui-select--searchable .ui-select-menu--searchable .ui-select-option:hover{background:rgba(255,255,255,.06)}
html.dark .ui-select--searchable .ui-select-menu--searchable .ui-select-option.on{
  background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#f5f5f5;
}

/* 深色 · 详情页参数卡片内下拉：透明触发器，仅保留外层圆角卡片 */
html.dark .detail-opt-v .ui-select-trigger,
html.dark .form-opts-panel .detail-opt-v .ui-select-trigger{
  background:transparent;
  border:none;border-radius:0;box-shadow:none;
  min-height:28px;height:28px;padding:0 20px 0 0;
}
html.dark .detail-opt-v .ui-select-trigger:hover,
html.dark .form-opts-panel .detail-opt-v .ui-select-trigger:hover,
html.dark .detail-opt-v .ui-select.open .ui-select-trigger,
html.dark .form-opts-panel .detail-opt-v .ui-select.open .ui-select-trigger{
  background:transparent;border:none;box-shadow:none;
}
html.dark .detail-opt-v .ui-select-label,
html.dark .form-opts-panel .detail-opt-v .ui-select-label{line-height:28px}

/* ── 深色 · 表单标题标签 ── */
html.dark .field>label,
html.dark .collapsible-field-head label,
html.dark .switch-label,
html.dark .detail-opt-k,
html.dark .form-opts-panel .detail-opt-k{color:var(--text)}

/* ── 深色 · 表单输入/文本域 ── */
html.dark .field input[type=text]{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);color:#f5f5f5;
}
html.dark .field textarea.field-textarea,
html.dark .field textarea.auto-grow-textarea,
html.dark .adv-textarea,
html.dark .adv-input{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);color:#f5f5f5;
}
html.dark .dp-concept{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.08)}
html.dark .dp-concept-head,html.dark .dp-concept-k{color:#94a3b8}
html.dark .dp-concept-v{color:#e2e8f0}
html.dark .dp-screen{border-color:rgba(255,255,255,.1);background:#171717}
html.dark .dp-screen-head{background:rgba(255,255,255,.04);border-bottom-color:rgba(255,255,255,.08)}
html.dark .dp-screen-num{background:rgba(99,102,241,.2);color:#a5b4fc}
html.dark .dp-title{color:#f1f5f9}
html.dark .dp-title::placeholder{color:#64748b}
html.dark .dp-field{border-bottom-color:rgba(255,255,255,.06)}
html.dark .dp-field-label{color:#94a3b8}
html.dark .dp-field-input{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);color:#f1f5f9;
}
html.dark .dp-field-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.18)}
html.dark .field input[type=text]::placeholder,
html.dark .field textarea::placeholder,
html.dark .textarea-wrap textarea::placeholder,
html.dark .text-input::placeholder,
html.dark .adv-textarea::placeholder,
html.dark .home-prompt-body textarea::placeholder{color:#a3a3a3}
html.dark .field select{background-color:rgba(255,255,255,.04);color:#f5f5f5}
html.dark .pose-count-stepper{background:#1a1a1a;border-color:rgba(255,255,255,.1)}
html.dark .pose-count-btn{background:#262626;color:#d4d4d4}
html.dark .pose-count-btn:hover{background:#333}
html.dark .pose-count-val{color:#e5e5e5}
html.dark .mode-hint-box{
  background:rgba(255,255,255,.04);border-left-color:#525252;color:#a1a1aa;
}
html.dark .tool-banner{background:rgba(255,255,255,.03);color:#a1a1aa}

/* ── 深色 · 历史页批量操作 ── */
html.dark .hist-batch-count{color:#a1a1aa}
html.dark .hist-batch-hint{color:#a1a1aa}
html.dark .hist-batch-act{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);color:#d4d4d4;
}
html.dark .hist-batch-act:hover:not(:disabled){background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#f5f5f5}
html.dark .wb-hist-batch-bar,
html.dark .hist-batch-bar{
  background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.02) 100%);
  border-color:rgba(255,255,255,.1);
  box-shadow:none;
}
html.dark .wb-hist-batch-sep,
html.dark .hist-batch-sep{background:rgba(255,255,255,.12)}
html.dark .wb-hist-batch-count,
html.dark .hist-batch-count{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);color:#d4d4d8;
}
html.dark .wb-hist-batch-count.has-sel,
html.dark .hist-batch-count.has-sel{
  background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.35);color:#93c5fd;
}
html.dark .wb-hist-batch-hint{color:#a1a1aa}
html.dark body.page-studio .wb-results-head-title{color:#f5f5f5}
html.dark .wb-hist-batch-act{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);color:#d4d4d4;
}
html.dark .wb-hist-batch-act:hover:not(:disabled){
  background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#f5f5f5;
}
html.dark .wb-hist-batch-done,
html.dark .hist-batch-done{
  background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:none;
}
html.dark .wb-hist-batch-done:hover:not(:disabled),
html.dark .hist-batch-done:hover:not(:disabled){
  background:#1d4ed8;border-color:#1d4ed8;color:#fff;
}
html.dark .hist-batch-bar .hist-batch-filter-select .ui-select-trigger,
html.dark .wb-hist-batch-bar .hist-batch-filter-select .ui-select-trigger{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);color:#d4d4d8;
}

/* ── 深色 · 场景素材页（与 Studio 统一灰度体系） ── */
body.page-studio .studio-tool-shell,
body.page-studio .mockup-tool-shell,
body.page-studio .video-tool-shell{
  display:flex;flex:1;min-width:0;min-height:0;overflow:hidden;
}
.mockup-tool-shell .ws-support.wb-float-rail{display:none!important}

.page-scene-material .mockup-demo-phone{
  max-width:min(100%,320px);
  margin:0 auto;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 16px 48px rgba(15,23,42,.12);
  background:#111;
  padding:10px 8px 14px;
}
.page-scene-material .mockup-demo-screen{
  border-radius:22px;
  overflow:hidden;
  background:#ededed;
  aspect-ratio:9/19.5;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:20px 16px;
  text-align:center;
  color:#64748b;
  font-size:12px;
  line-height:1.6;
}
.page-scene-material .mockup-demo-screen b{color:#334155;font-size:13px}
.page-scene-material .mockup-demo-screen--real{padding:0;background:#000}
.page-scene-material .mockup-demo-screen--real img{display:block;width:100%;height:100%;object-fit:cover}
.page-scene-material #mk_effectDemoCard .mockup-live-preview{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;min-height:540px;background:#e5e7eb;overflow:hidden;
}
.page-scene-material #mk_effectDemoCard .mockup-live-preview-root{
  display:flex;align-items:center;justify-content:center;width:100%;height:100%;
}
.page-scene-material #mk_effectDemoCard .wc-phone-scale-wrap{
  transform:scale(0.52);transform-origin:center center;
}
.page-scene-material .scene-hint{
  margin:6px 0 14px;padding:8px 11px;font-size:11px;color:#64748b;line-height:1.75;
  letter-spacing:0.02em;background:#f8fafc;border-radius:8px;
}
.page-scene-material .mockup-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:4px}
.page-scene-material .mockup-role-item{display:flex;flex-direction:column;align-items:center;gap:8px}
.page-scene-material .mockup-avatar-wrap{position:relative;width:52px;height:52px}
.page-scene-material .mockup-avatar-btn{
  width:52px;height:52px;border-radius:8px;border:1px dashed #cbd5e1;background:#f8fafc;
  display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;padding:0;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);
}
.page-scene-material .mockup-avatar-wrap.has-img .mockup-avatar-btn{
  border-style:solid;border-color:#e2e8f0;background:#fff;
}
.page-scene-material .mockup-avatar-btn img{width:100%;height:100%;object-fit:cover;display:block;border-radius:7px}
.page-scene-material .mockup-avatar-btn .mockup-avatar-ph{font-size:10px;color:#94a3b8;text-align:center;line-height:1.35;padding:0 4px}
.page-scene-material .mockup-avatar-remove{
  position:absolute;top:-7px;right:-7px;width:18px;height:18px;border-radius:50%;
  border:none;background:rgba(15,23,42,.78);color:#fff;font-size:13px;line-height:18px;
  cursor:pointer;display:none;align-items:center;justify-content:center;padding:0;z-index:2;
}
.page-scene-material .mockup-avatar-wrap.has-img .mockup-avatar-remove{display:flex}
.page-scene-material .mockup-avatar-wrap.is-uploading::after{
  content:'';position:absolute;inset:0;border-radius:8px;background:rgba(255,255,255,.65);z-index:3;
}
.page-scene-material .mockup-avatar-wrap.is-uploading::before{
  content:'';position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;
  border:2px solid #e2e8f0;border-top-color:#111;border-radius:50%;
  animation:mockup-upload-spin .7s linear infinite;z-index:4;
}
.mockup-avatar-crop-modal{
  position:fixed;inset:0;z-index:12000;display:none;align-items:center;justify-content:center;padding:16px;
}
.mockup-avatar-crop-modal.open{display:flex}
.mockup-avatar-crop-mask{position:absolute;inset:0;background:rgba(15,23,42,.45)}
.mockup-avatar-crop-panel{
  position:relative;z-index:1;width:min(100%,340px);background:#fff;border-radius:14px;
  padding:16px 16px 14px;box-shadow:0 20px 50px rgba(15,23,42,.18);
}
.mockup-avatar-crop-panel h4{margin:0 0 12px;font-size:15px;font-weight:600;color:#111}
.mockup-avatar-crop-viewport{
  position:relative;width:260px;height:260px;margin:0 auto;border-radius:10px;overflow:hidden;
  background:#111;touch-action:none;cursor:grab;
}
.mockup-avatar-crop-viewport.dragging{cursor:grabbing}
.mockup-avatar-crop-viewport canvas{display:block;width:100%;height:100%}
.mockup-avatar-crop-box{
  position:absolute;left:30px;top:30px;width:200px;height:200px;border-radius:8px;
  box-shadow:0 0 0 9999px rgba(0,0,0,.52);border:2px solid rgba(255,255,255,.92);pointer-events:none;
}
.mockup-avatar-crop-zoom{
  display:flex;align-items:center;gap:8px;margin:12px auto 0;width:260px;
}
.mockup-avatar-crop-zoom button{
  width:28px;height:28px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;
}
.mockup-avatar-crop-zoom input{flex:1}
.mockup-avatar-crop-tip{margin:8px 0 0;text-align:center;font-size:11px;color:#94a3b8}
.mockup-avatar-crop-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.mockup-avatar-crop-loading{
  position:absolute;inset:0;border-radius:14px;background:rgba(255,255,255,.88);
  display:none;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:6;
}
.mockup-avatar-crop-loading.on{display:flex}
.mockup-avatar-crop-loading p{margin:0;font-size:13px;color:#475569}
.mockup-avatar-crop-spin{
  width:32px;height:32px;border-radius:50%;
  border:3px solid #e5e7eb;border-top-color:#111;
  animation:mockup-upload-spin .7s linear infinite;
}
@keyframes mockup-upload-spin{to{transform:rotate(360deg)}}
.page-scene-material .upload-zone.has-img{cursor:default}
.page-scene-material .resolution-field{margin-bottom:14px}
.page-scene-material .iphone-model-field{margin-bottom:14px}
.page-scene-material .upload-action-row .upload-action-seg{display:contents}
.page-scene-material .mockup-role-item .text-input{width:100%;text-align:center;font-size:12px;padding:8px 10px}
.page-scene-material .mockup-role-tag{font-size:10px;color:#64748b}
.page-scene-material .field-row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.page-scene-material [data-scene-field]{display:none}
.page-scene-material [data-scene-field].on{display:block}
.page-scene-material .wb-result-img-wrap--phone{
  max-width:min(100%,380px);
  margin:0 auto;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 12px 40px rgba(0,0,0,.1);
}
.page-scene-material .wb-result-img-wrap--phone .result-img{display:block;width:100%;height:auto}
.page-scene-material .gen-queue .gen-job-img--phone,
.page-scene-material .gen-queue .yq-feed-preview--phone{
  max-width:min(100%,380px);
  margin:0 auto;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 12px 40px rgba(0,0,0,.1);
}
.page-scene-material .gen-queue .gen-job-img--phone{aspect-ratio:9/19.5}
.page-scene-material .gen-queue .yq-feed-preview--phone img{display:block;width:100%;height:auto}
.page-scene-material .mockup-gen-loading{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;padding:48px 24px;color:#64748b;text-align:center;
}

html.dark .page-scene-material .scene-hint{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#71717a;
}
html.dark .page-scene-material .mockup-avatar-btn{
  background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.12);
  box-shadow:none;
}
html.dark .page-scene-material .mockup-avatar-wrap.has-img .mockup-avatar-btn{
  background:#1a1a1a;border-color:rgba(255,255,255,.1);
}
html.dark .page-scene-material .mockup-avatar-btn .mockup-avatar-ph{color:#525252}
html.dark .page-scene-material .mockup-role-tag{color:#525252}
html.dark .page-scene-material .mockup-role-item .text-input{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);color:#f5f5f5;
}
html.dark .page-scene-material .mockup-demo-screen{
  background:#1a1a1a;color:#71717a;
}
html.dark .page-scene-material .mockup-demo-screen b{color:#a1a1aa}
html.dark .page-scene-material .mockup-gen-loading{color:#71717a}
html.dark .mockup-avatar-crop-panel{
  background:#171717;border:1px solid rgba(255,255,255,.08);
  box-shadow:0 20px 50px rgba(0,0,0,.5);
}
html.dark .mockup-avatar-crop-panel h4{color:#f5f5f5}
html.dark .mockup-avatar-crop-zoom button{
  background:#262626;border-color:rgba(255,255,255,.1);color:#d4d4d4;
}
html.dark .mockup-avatar-crop-tip,
html.dark .mockup-avatar-crop-loading p{color:#71717a}
html.dark .mockup-avatar-crop-loading{background:rgba(10,10,10,.88)}
html.dark .page-scene-material .yq-effect-demo .mockup-demo-phone{
  box-shadow:0 16px 48px rgba(0,0,0,.4);
}
