/* 映序 · 高级感界面
   只改材质、颜色、光影、控件和交互，不改布局：不动 padding / 宽高 / 字号 / 栅格。
   全部规则挂在 :root.luxe 下，作为默认界面样式。 */
:root.luxe {
  --lx-ink:#f3eee4; --lx-ink-2:#c9c2b4; --lx-mute:#958d7f;
  --lx-gold-1:#fff1cc; --lx-gold-2:#e8c987; --lx-gold-3:#c09550; --lx-gold-4:#8a6630;
  --lx-gold:linear-gradient(135deg,#fff3d1 0%,#ecd096 22%,#c99c56 52%,#f2d9a2 78%,#a87a3c 100%);
  --lx-edge:linear-gradient(150deg,#f4dca688 0%,#ffffff14 28%,#ffffff05 55%,#c9a96a55 100%);
  --lx-glass:linear-gradient(160deg,#1e1c22b8 0%,#131217a6 46%,#0d0d10bf 100%);
  --lx-glass-hi:linear-gradient(160deg,#25232ad9 0%,#16151ad1 50%,#0f0f12e0 100%);
  --lx-shadow:0 1px 0 #ffffff0d inset,0 -1px 0 #00000080 inset,0 24px 60px -24px #000000e6,0 8px 22px -12px #000000b3;
  --lx-shadow-hi:0 1px 0 #ffffff14 inset,0 -1px 0 #00000080 inset,0 34px 80px -28px #000,0 0 0 1px #e8c98722,0 18px 50px -20px #c9a96a3d;
  --lx-ease:cubic-bezier(.2,.8,.2,1); --lx-spring:cubic-bezier(.34,1.56,.64,1);
}
:root.luxe body.account-app.atelier-v2.champagne {
  background:
    radial-gradient(1200px 700px at 78% -10%,#3a2c1433,transparent 60%),
    radial-gradient(900px 600px at -5% 105%,#1d243022,transparent 60%),
    #060608;
  color:var(--lx-ink);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;

  /* 电影背景（空间站视频）+ 前景火花画布 */
  & #lx-cinema,& #lx-sparks { position:fixed; inset:0; width:100vw; height:100vh; pointer-events:none; }
  & #lx-cinema { z-index:0; overflow:hidden; background:#000; }
  & #lx-cinema :is(video,img) {
    position:absolute; inset:-24px; width:calc(100% + 48px); height:calc(100% + 48px); object-fit:cover;
    transform:translate3d(var(--px,0),var(--py,0),0) scale(1.02);
    will-change:transform; backface-visibility:hidden;
  }
  & #lx-cinema { contain:strict; isolation:isolate; }
  & .lx-cinema-cut { opacity:0; transition:opacity 1.2s ease; }
  & .lx-cinema-cut.active { opacity:1; }
  & .lx-cinema-poster { transition:opacity .8s ease; }
  & .lx-cinema-poster.is-hidden { opacity:0; }
  /* 压暗层：左右、上下、四角暗角，保证上面的文字和控件看得清 */
  & .lx-cinema-shade {
    position:absolute; inset:0;
    background:
      linear-gradient(90deg,#000000b8 0%,#00000059 30%,#0000004d 70%,#00000099 100%),
      linear-gradient(180deg,#000000a6 0%,#0000 22%,#0000 70%,#000000d1 100%),
      radial-gradient(circle at 60% 42%,#0000 0 25%,#00000047 62%,#000000a6 100%);
  }
  /* 工作页（非首页）视频再压暗一档，保证表单和长文本可读；首页保持通透 */
  & .lx-cinema-shade::after { content:''; position:absolute; inset:0; background:#000; opacity:0; transition:opacity .6s ease; }
  & #lx-cinema[data-tab]:not([data-tab=home]) .lx-cinema-shade::after { opacity:.38; }
  /* 剧本工作台面板原样式带 ID 选择器，需同等权重才能换成玻璃底 */
  & #panel-workbench .wb-surface { background:var(--lx-glass) padding-box,var(--lx-edge) border-box; border-color:transparent; box-shadow:var(--lx-shadow); }
  & #lx-sparks { z-index:2147483000; }
  & .app-shell { position:relative; z-index:1; }
  & .sidebar { z-index:31; }

  /* 胶片颗粒 + 暗角，提升“质感” */
  &::after {
    content:''; position:fixed; inset:0; pointer-events:none; z-index:2147482999;
    background:
      radial-gradient(130% 90% at 50% 40%,transparent 62%,#00000073 100%),
      url('/grain.svg');
    opacity:.16;
  }

  /* 选区、滚动条 */
  & ::selection { background:#e8c98755; color:#fff; }
  & * { scrollbar-width:thin; scrollbar-color:#c9a96a40 transparent; }
  & ::-webkit-scrollbar { width:10px; height:10px; }
  & ::-webkit-scrollbar-thumb { background:linear-gradient(#c9a96a55,#8a663044); border-radius:10px; border:3px solid transparent; background-clip:padding-box; }
  & ::-webkit-scrollbar-thumb:hover { background:linear-gradient(#e8c987aa,#c09550aa); background-clip:padding-box; border:3px solid transparent; }
  & ::-webkit-scrollbar-track { background:transparent; }

  /* ───── 侧栏：黑曜石玻璃 + 金色光轨 ───── */
  & .sidebar {
    background:linear-gradient(180deg,#121115f2 0%,#0b0b0df5 60%,#09090bf7 100%);
    border-right:1px solid transparent;
    border-image:linear-gradient(180deg,#e8c98733,#ffffff0a 30%,#ffffff05 70%,#c9a96a26) 1;
    box-shadow:1px 0 0 #00000099,24px 0 60px -30px #000;
  }
  & .brand-mark {
    background:var(--lx-gold); color:#1d150a; border:0;
    box-shadow:0 1px 0 #fff8 inset,0 -2px 4px #6b4a1a66 inset,0 6px 18px -4px #c9a96a80,0 0 0 1px #00000066;
    text-shadow:0 1px 0 #fff6;
    animation:lx-sheen 7s var(--lx-ease) infinite; background-size:220% 220%;
  }
  & .brand { color:var(--lx-ink); }
  & .side-nav .tab {
    position:relative; isolation:isolate; overflow:hidden;
    transition:color .25s var(--lx-ease),background .25s var(--lx-ease),border-color .25s,transform .25s var(--lx-ease);
  }
  & .side-nav .tab::before { /* 悬停时的光带 */
    content:''; position:absolute; inset:0; z-index:-1; border-radius:inherit; opacity:0;
    background:radial-gradient(120px 60px at var(--mx,50%) var(--my,50%),#e8c98724,transparent 70%);
    transition:opacity .25s;
  }
  & .side-nav .tab:hover { background:#ffffff06; color:var(--lx-ink); transform:translateX(2px); }
  & .side-nav .tab:hover::before { opacity:1; }
  & .side-nav .tab:hover svg { color:var(--lx-gold-2); }
  & .side-nav .tab.active {
    color:var(--lx-gold-1);
    background:linear-gradient(90deg,#c9a96a26,#c9a96a08 70%,transparent);
    border-color:#e8c98730;
    box-shadow:0 1px 0 #ffffff0a inset,0 10px 30px -14px #c9a96a66;
  }
  & .side-nav .tab.active::after { /* 左侧发光指示条 */
    content:''; position:absolute; left:0; top:20%; bottom:20%; width:2px; border-radius:2px;
    background:linear-gradient(#fff3d1,#c99c56); box-shadow:0 0 12px 1px #e8c987cc,0 0 2px #fff;
  }
  & .side-nav .tab.active svg { color:var(--lx-gold-2); filter:drop-shadow(0 0 6px #e8c98799); }

  /* ───── 顶栏 ───── */
  & .topbar {
    background:linear-gradient(180deg,#0e0e11d9,#0a0a0cc4);
    border-bottom:1px solid transparent;
    border-image:linear-gradient(90deg,transparent,#e8c98738 30%,#ffffff12 60%,transparent) 1;
    backdrop-filter:blur(8px);
  }
  & .top-avatar,& .side-avatar,& #side-avatar {
    background:var(--lx-gold); color:#1d150a; border:0;
    box-shadow:0 0 0 1px #00000088,0 0 0 2px #e8c98744,0 4px 14px -2px #c9a96a88;
  }

  /* ───── 按钮：金属金主按钮 / 玻璃次按钮 ───── */
  & .btn {
    position:relative; isolation:isolate; overflow:hidden;
    transition:transform .35s var(--lx-spring),box-shadow .3s var(--lx-ease),background-position .6s var(--lx-ease),border-color .25s,color .25s,filter .25s;
  }
  & .btn:active:not(:disabled) { transform:translateY(1px) scale(.975); transition-duration:.08s; }
  & .btn.primary,& :is(.ml-button.ml-primary) {
    background:var(--lx-gold); background-size:200% 200%; background-position:0% 50%;
    color:#1c1409; border-color:#f5dfae;
    text-shadow:0 1px 0 #ffffff70;
    box-shadow:0 1px 0 #fffbe9 inset,0 -2px 3px #7a541f55 inset,0 0 0 1px #00000066,0 10px 26px -10px #c9a96acc,0 2px 6px -2px #0009;
  }
  & .btn.primary::before { /* 扫光 */
    content:''; position:absolute; inset:-1px; z-index:1; pointer-events:none;
    background:linear-gradient(105deg,transparent 30%,#ffffffd9 48%,#fff8 52%,transparent 70%);
    transform:translateX(-130%); mix-blend-mode:soft-light;
  }
  & .btn.primary:hover:not(:disabled)::before { animation:lx-sweep .9s var(--lx-ease); }
  & .btn.primary:hover:not(:disabled) {
    background:var(--lx-gold); background-size:200% 200%; background-position:100% 50%;
    color:#1c1409; border-color:#fff1cc; transform:translateY(-2px);
    box-shadow:0 1px 0 #fffbe9 inset,0 -2px 3px #7a541f55 inset,0 0 0 1px #00000066,0 18px 40px -12px #e8c987d9,0 0 30px -6px #e8c98766;
    filter:saturate(1.08) brightness(1.04);
  }
  & .btn.secondary {
    background:linear-gradient(180deg,#ffffff0f,#ffffff04); color:var(--lx-ink-2);
    border-color:#ffffff1a; backdrop-filter:blur(10px);
    box-shadow:0 1px 0 #ffffff12 inset,0 -1px 0 #0006 inset,0 6px 16px -10px #000;
  }
  & .btn.secondary:hover:not(:disabled) {
    color:var(--lx-gold-1); border-color:#e8c98766; transform:translateY(-1px);
    background:linear-gradient(180deg,#e8c9871c,#e8c98706);
    box-shadow:0 1px 0 #ffffff1a inset,0 0 0 1px #e8c98722,0 12px 28px -12px #c9a96a80;
  }
  & .btn.danger {
    background:linear-gradient(180deg,#5a2a24,#3a1915); color:#ffd9cf; border-color:#d9a08a55;
    box-shadow:0 1px 0 #ffffff1a inset,0 8px 22px -12px #b9574ccc;
  }
  & .btn.danger:hover:not(:disabled) { border-color:#ffb8a4aa; box-shadow:0 1px 0 #ffffff22 inset,0 0 24px -4px #d9735e99; transform:translateY(-1px); }
  & .btn:disabled { filter:grayscale(.6) brightness(.8); opacity:.45; }
  & .btn .lx-ripple { /* 点击涟漪（JS 注入） */
    position:absolute; z-index:0; border-radius:50%; pointer-events:none; transform:translate(-50%,-50%) scale(0);
    width:var(--d); height:var(--d); left:var(--x); top:var(--y);
    background:radial-gradient(circle,#ffffffb3 0%,#ffffff33 40%,transparent 70%);
    animation:lx-ripple .7s var(--lx-ease) forwards;
  }
  & .btn.secondary .lx-ripple,& .btn.danger .lx-ripple { background:radial-gradient(circle,#e8c98766 0%,#e8c98722 40%,transparent 70%); }
  & .icon-btn { transition:transform .3s var(--lx-spring),color .2s,background .2s,box-shadow .2s; }
  & .icon-btn:hover { color:var(--lx-gold-1); background:#e8c98714; box-shadow:0 0 0 1px #e8c98733 inset,0 0 18px -6px #e8c98799; transform:rotate(-6deg) scale(1.06); }
  & .text-button { position:relative; color:var(--lx-gold-2); transition:color .2s; }
  & .text-button::after {
    content:''; position:absolute; left:0; right:0; bottom:-1px; height:1px; transform:scaleX(0); transform-origin:left;
    background:linear-gradient(90deg,#fff1cc,#c99c56); box-shadow:0 0 8px #e8c987; transition:transform .35s var(--lx-ease);
  }
  & .text-button:hover { color:var(--lx-gold-1); text-decoration:none; }
  & .text-button:hover::after { transform:scaleX(1); }

  /* ───── 面板 / 卡片：烟熏玻璃 + 渐变描边 + 光标聚光 ───── */
  /* 只改 border-color，不改 border-width：原本无边框的元素不会多出 2px */
  & :is(.panel-box,.wb-surface,.home-hero,.home-section,.studio-board,.studio-stage,.studio-inspector,.studio-parameter-bar,.model-card,.ml-card,.task-row,.connection-card,.studio-batchbar,.demo-notice) {
    background:var(--lx-glass) padding-box,var(--lx-edge) border-box;
    border-color:transparent;
    box-shadow:var(--lx-shadow);
    backdrop-filter:blur(8px) saturate(1.2);
    transition:box-shadow .4s var(--lx-ease),transform .5s var(--lx-ease),background .4s;
  }
  & :is(.panel-box,.wb-surface,.home-hero,.home-section,.studio-board,.studio-stage,.studio-inspector,.model-card,.ml-card,.task-row,.connection-card,.demo-notice):not([style*=position]) { position:relative; }
  & :is(.panel-box,.wb-surface,.home-section,.studio-stage,.studio-inspector,.model-card,.ml-card,.task-row,.connection-card,.studio-parameter-bar,.home-hero)::before {
    content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:0; opacity:0;
    background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),#e8c9871a,transparent 45%);
    transition:opacity .35s var(--lx-ease);
  }
  & :is(.panel-box,.wb-surface,.home-section,.studio-stage,.studio-inspector,.model-card,.ml-card,.task-row,.connection-card,.studio-parameter-bar,.home-hero):hover::before { opacity:1; }
  & :is(.panel-box,.wb-surface,.home-section,.studio-stage,.studio-inspector,.studio-parameter-bar,.home-hero)>* { position:relative; z-index:1; }
  & :is(.model-card,.ml-card,.task-row,.home-section):hover { box-shadow:var(--lx-shadow-hi); }
  & :is(.model-card,.ml-card).lx-tilt { transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-3px); }
  & .studio-batchbar { position:sticky; background:linear-gradient(160deg,#1d1b20f2,#0f0f12f5) padding-box,var(--lx-edge) border-box; backdrop-filter:blur(10px); box-shadow:var(--lx-shadow-hi); }

  /* 标题：香槟金渐变字 */
  & :is(h1,.page-head h1,.wb-section-head h2,.home-hero h2) {
    background:linear-gradient(180deg,#fffaf0 0%,#f0e2c4 45%,#c9a96a 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
    text-shadow:none; filter:drop-shadow(0 2px 14px #c9a96a2e);
  }
  & :is(.page-eyebrow,.wb-kicker,.home-eyebrow,.modal-eyebrow) {
    color:var(--lx-gold-2); text-shadow:0 0 12px #e8c98766;
  }
  & .balance-number>strong,& .wallet-metrics strong {
    background:linear-gradient(180deg,#fff 0%,#f3e3bd 55%,#c9a96a 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }

  /* ───── 输入框 / 下拉 / 文本域：内凹玻璃 + 聚焦金色光晕 ───── */
  & :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea,.ui-choice-trigger,.search-field,.wb-drop) {
    background:linear-gradient(180deg,#07070999,#0f0f13cc) !important;
    border-color:#ffffff14 !important;
    color:var(--lx-ink) !important;
    box-shadow:0 2px 6px #000a inset,0 1px 0 #ffffff08 !important;
    transition:border-color .25s var(--lx-ease),box-shadow .35s var(--lx-ease),background .25s !important;
  }
  & .search-field input { background:transparent !important; border:0 !important; box-shadow:none !important; }
  & :is(input,select,textarea,.ui-choice-trigger):hover:not(:disabled) { border-color:#e8c98740 !important; }
  & :is(input:not([type=checkbox]):not([type=radio]),select,textarea,.ui-choice-trigger):focus,
  & :is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus-visible,
  & .search-field:focus-within,& .ui-choice-trigger[aria-expanded=true] {
    outline:none !important; border-color:#e8c987aa !important;
    box-shadow:0 2px 6px #000a inset,0 0 0 3px #c9a96a26,0 0 26px -6px #e8c98799 !important;
  }
  & ::placeholder { color:#6f685d !important; }
  & .ui-choice-chevron { color:var(--lx-gold-2); transition:transform .35s var(--lx-spring); }
  & .ui-choice-trigger[aria-expanded=true] .ui-choice-chevron { transform:rotate(180deg); }
  & .wb-drop:hover,& .wb-drop.is-dragging,& .wb-drop.dragover { border-color:#e8c98788 !important; box-shadow:0 0 0 1px #e8c98733 inset,0 0 40px -10px #c9a96a99 inset !important; }

  /* 复选框 */
  & input[type=checkbox]:not([role=switch]) {
    appearance:none; width:15px; height:15px; border-radius:5px; display:inline-grid; place-items:center; cursor:pointer; box-sizing:border-box;
    background:linear-gradient(180deg,#0a0a0c,#16161a); border:1px solid #ffffff26; box-shadow:0 1px 3px #000 inset;
    transition:background .2s,border-color .2s,box-shadow .3s,transform .3s var(--lx-spring);
  }
  & input[type=checkbox]:not([role=switch])::after { content:''; width:8px; height:4px; border:2px solid #1c1409; border-top:0; border-right:0; transform:rotate(-45deg) translate(1px,-1px) scale(0); transition:transform .3s var(--lx-spring); }
  & input[type=checkbox]:not([role=switch]):checked { background:var(--lx-gold); border-color:#fff1cc; box-shadow:0 0 14px -2px #e8c987cc; transform:scale(1.06); }
  & input[type=checkbox]:not([role=switch]):checked::after { transform:rotate(-45deg) translate(1px,-1px) scale(1); }

  /* 分段控件 / 筛选标签 */
  & :is(.studio-segment,.wb-segment) { background:#06060899; border-color:#ffffff10; box-shadow:0 2px 6px #0009 inset,0 0 0 1px #ffffff0d; }
  & :is(.studio-segment,.wb-segment)>button { position:relative; transition:color .25s,background .3s var(--lx-ease),box-shadow .3s; }
  & :is(.studio-segment,.wb-segment)>button:hover { color:var(--lx-ink); }
  & :is(.studio-segment,.wb-segment)>button.active,& :is(.studio-segment,.wb-segment)>button[aria-pressed=true] {
    color:#1c1409 !important; background:var(--lx-gold) !important; font-weight:600;
    box-shadow:0 1px 0 #fff9 inset,0 4px 14px -4px #c9a96acc;
  }

  /* ───── 剧本工作台步骤条：金色能量流 ───── */
  & .wb-flowbar>button { transition:opacity .3s,transform .35s var(--lx-spring); }
  & .wb-flowbar>button:hover { transform:translateY(-1px); }
  & .wb-flowbar>button>span:first-child,& .wb-flowbar>button b,& .wb-flowbar>button strong:first-child {
    transition:box-shadow .4s,background .4s;
  }
  & .wb-flowbar>button.active>:first-child {
    background:var(--lx-gold) !important; color:#1c1409 !important; border-color:#fff1cc !important;
    box-shadow:0 0 0 4px #c9a96a1f,0 0 24px -2px #e8c987cc !important;
    animation:lx-pulse 2.6s var(--lx-ease) infinite;
  }
  & .wb-flow-line { position:relative; overflow:hidden; background:#ffffff12 !important; }
  & .wb-flow-line::after {
    content:''; position:absolute; inset:0; width:40%;
    background:linear-gradient(90deg,transparent,#e8c987,#fff3d1,transparent);
    box-shadow:0 0 10px #e8c987; animation:lx-flow 3.2s linear infinite;
  }

  /* ───── 徽标 / 状态 ───── */
  & :is(.count-badge,.subtle-badge,.nav-index,.demo-label,.metric-badge) {
    background:linear-gradient(180deg,#e8c9871f,#e8c98708) !important; color:var(--lx-gold-2) !important;
    border-color:#e8c98738 !important; box-shadow:0 0 0 1px #e8c98726 inset,0 0 12px -4px #e8c98766;
  }
  & .state-pill { box-shadow:0 0 0 1px currentColor inset,0 0 14px -6px currentColor; }
  & .sync-label i,& .workspace-dot { background:#a6e3b5 !important; box-shadow:0 0 0 3px #a6e3b522,0 0 10px #a6e3b5; animation:lx-pulse 2.4s infinite; }

  /* ───── 表格 / 列表 ───── */
  & .table-shell tbody tr { transition:background .25s; }
  & .table-shell tbody tr:hover { background:linear-gradient(90deg,#e8c98712,transparent 80%); }
  & .studio-project-button,& .studio-shot-list>* { transition:background .25s,border-color .25s,transform .3s var(--lx-spring); }
  & .studio-project-button:hover,& .studio-shot-list>*:hover { transform:translateX(3px); border-color:#e8c98744; }

  /* ───── 弹窗 / 下拉层 / 提示 ───── */
  & :is(dialog.modal,.modal,.ui-choice-menu,.ui-choice-popover,.ml-dialog,.ml-drawer) {
    background:var(--lx-glass-hi) padding-box,var(--lx-edge) border-box !important;
    border:1px solid transparent !important;
    box-shadow:var(--lx-shadow-hi),0 50px 120px -30px #000 !important;
    backdrop-filter:blur(30px) saturate(1.5);
  }
  & dialog[open] { animation:lx-pop .5s var(--lx-spring); }
  & dialog::backdrop { background:radial-gradient(circle at 50% 40%,#1a140a99,#000000d9); backdrop-filter:blur(8px); }
  & .toast { background:var(--lx-glass-hi) padding-box,var(--lx-edge) border-box; border:1px solid transparent; box-shadow:var(--lx-shadow-hi); animation:lx-pop .5s var(--lx-spring); }

  /* 页面切换入场 */
  & .tab-panel:not([hidden]) { animation:lx-rise .16s var(--lx-ease); }

  /* ───── 登录落地页：去掉右侧「让想象，成为画面」示意卡，把画面让给空间站背景 ───── */
  /* 只在改版下隐藏；原版不受影响。左侧标题和按钮保持原位，下方三张功能卡也不动。 */
  /* 用 visibility 隐藏：卡片不显示、不能点、读屏也跳过，但占位保留，左侧标题和下方卡片位置一点不变 */
  & .welcome-stage .future-hero { visibility:hidden !important; pointer-events:none; }
  /* 手机单列布局时卡片在标题下面，占位会留空，直接移除 */
  @media (max-width:760px) { & .welcome-stage .future-hero { display:none !important; } }
  /* 落地页文字压在视频上，左侧加一道柔和暗角保证可读 */
  & .welcome-stage::before {
    content:''; position:absolute; z-index:0; pointer-events:none;
    left:-12vw; top:-10%; width:62vw; height:120%;
    background:radial-gradient(60% 55% at 35% 50%,#000000a6,#0000 72%);
  }
  & .welcome-features>button {
    background:linear-gradient(160deg,#1c1b20b3,#0e0e11c7) padding-box,var(--lx-edge) border-box !important;
    border-color:transparent !important; backdrop-filter:blur(14px) saturate(1.3); box-shadow:var(--lx-shadow);
    transition:transform .4s var(--lx-spring),box-shadow .35s var(--lx-ease);
  }
  & .welcome-features>button:hover { transform:translateY(-3px); box-shadow:var(--lx-shadow-hi); }

  /* ───── 2026-10-31 新版 UI：剧本工作台资产区 / 分镜时长 / 公告弹窗 ───── */
  /* 资产分类区、生图工具条：同一套烟熏玻璃 */
  & #panel-workbench :is(.wb-image-toolbar,.wb-asset-section) {
    background:var(--lx-glass) padding-box,var(--lx-edge) border-box; border-color:transparent;
    box-shadow:var(--lx-shadow); backdrop-filter:blur(8px) saturate(1.2); position:relative;
  }
  /* 资产卡片：内凹深色卡 + 悬停金边浮起 */
  & #panel-workbench .wb-asset {
    background:linear-gradient(165deg,#ffffff08,#ffffff02 40%,#00000026) padding-box,linear-gradient(160deg,#ffffff1f,#ffffff08 45%,#c9a96a26) border-box;
    border-color:transparent; box-shadow:0 1px 0 #ffffff0a inset,0 10px 26px -16px #000;
    transition:transform .4s var(--lx-spring),box-shadow .35s var(--lx-ease),background .35s;
  }
  & #panel-workbench .wb-asset:hover {
    transform:translateY(-3px);
    background:linear-gradient(165deg,#e8c9870d,#ffffff03 40%,#00000026) padding-box,linear-gradient(160deg,#f4dca6aa,#ffffff14 45%,#c9a96a66) border-box;
    box-shadow:0 1px 0 #ffffff12 inset,0 22px 44px -18px #000,0 0 0 1px #e8c98726,0 14px 36px -22px #c9a96a99;
  }
  & #panel-workbench .wb-asset-visual { background:radial-gradient(120% 90% at 50% 0%,#c9a96a1f,transparent 60%),linear-gradient(160deg,#1b1916,#0d0d0f); }
  & #panel-workbench .wb-asset-initial {
    background:linear-gradient(180deg,#fff6df,#d9b877 60%,#8a6630); -webkit-background-clip:text; background-clip:text; color:transparent;
    filter:drop-shadow(0 4px 18px #c9a96a55);
  }
  /* 卡片图标按钮（编辑 / 删除 / 更多） */
  & #panel-workbench .wb-icon-button {
    background:linear-gradient(180deg,#ffffff0f,#ffffff03); border-color:#ffffff1c;
    box-shadow:0 1px 0 #ffffff12 inset,0 -1px 0 #0006 inset;
    transition:transform .3s var(--lx-spring),color .2s,border-color .2s,box-shadow .25s,background .2s;
  }
  & #panel-workbench .wb-icon-button:hover:not(:disabled) {
    color:var(--lx-gold-1); border-color:#e8c98777; transform:translateY(-1px);
    background:linear-gradient(180deg,#e8c9871f,#e8c98708); box-shadow:0 1px 0 #ffffff1a inset,0 0 16px -4px #e8c98799;
  }
  & #panel-workbench .wb-icon-button.danger-action:hover:not(:disabled) {
    color:#ffc7b8; border-color:#d9a08a88; background:linear-gradient(180deg,#d9735e26,#d9735e08); box-shadow:0 0 16px -4px #d9735eaa;
  }
  & #panel-workbench .wb-icon-button:active:not(:disabled) { transform:scale(.92); transition-duration:.08s; }
  /* 「新增参考」按钮：带金色加号的玻璃按钮 */
  & #panel-workbench .wb-add-reference { color:var(--lx-gold-2); border-color:#e8c98740; }
  & #panel-workbench .wb-add-reference:hover:not(:disabled) { color:var(--lx-gold-1); }
  & #panel-workbench .wb-asset-count { color:var(--lx-mute); font-variant-numeric:tabular-nums; }
  /* 「参考图显示名称」开关：金属滑块 */
  & .wb-name-toggle input[role=switch] {
    background:linear-gradient(180deg,#07070a,#141418) !important; border-color:#ffffff26 !important; color:#8d867a !important;
    box-shadow:0 2px 5px #000a inset !important; transition:background .3s,border-color .3s,box-shadow .35s !important;
  }
  & .wb-name-toggle input[role=switch]::after { transition:transform .35s var(--lx-spring),background .3s,box-shadow .3s; }
  & .wb-name-toggle input[role=switch]:checked {
    background:var(--lx-gold) !important; border-color:#fff1cc !important; box-shadow:0 0 14px -2px #e8c987cc,0 1px 0 #fff8 inset !important;
  }
  /* 资产页吸顶标题栏：原版是实心黑条，改成和顶栏一致的深色渐变玻璃，下沿一道金线 */
  & #panel-workbench .wb-asset-header {
    background:linear-gradient(180deg,#0b0b0eeb,#0b0b0ed6) !important; backdrop-filter:blur(8px);
    border-bottom:1px solid transparent; border-image:linear-gradient(90deg,transparent,#e8c98740 30%,#ffffff12 70%,transparent) 1;
  }
  /* 开关滑块：原版用 currentColor 画圆点，这里改成明确的金属银圆点，关闭态也看得清。
     原版开关被 atelier.css 的全局复选框规则压成 15px 高，圆点会溢出；这里按开关原设计的 20px 放置圆点。
     尺寸不改（保持 15px，布局零位移），只把圆点缩到 9px 并垂直居中。 */
  & .wb-name-toggle input[role=switch]::after { width:9px !important; height:9px !important; top:2px !important; left:3px !important; }
  & .wb-name-toggle input[role=switch]:checked::after { transform:translateX(17px) !important; }
  & .wb-name-toggle input[role=switch]::after { background:linear-gradient(180deg,#e9e4da,#9c958a) !important; box-shadow:0 1px 3px #000c; }
  & .wb-name-toggle input[role=switch]:checked::after { background:linear-gradient(180deg,#3a2a12,#1c1409) !important; }
  /* 批量视频：每镜时长徽标 */
  & .studio-shot-duration {
    background:linear-gradient(180deg,#e8c98724,#e8c98708); border-color:#e8c98755; color:var(--lx-gold-1);
    box-shadow:0 0 12px -4px #e8c98777,0 1px 0 #ffffff14 inset; text-shadow:0 0 8px #e8c98755;
  }
  /* 新版毛玻璃公告弹窗：沿用改版弹窗质感，必须点「我知道了」才关闭 */
  & #announcement-popup-dialog.announcement-popup {
    background:var(--lx-glass-hi) padding-box,var(--lx-edge) border-box !important; border:1px solid transparent !important;
    box-shadow:var(--lx-shadow-hi),0 50px 120px -30px #000 !important; backdrop-filter:blur(20px) saturate(1.4);
  }
  & #announcement-popup-dialog .announcement-popup-actions { border-top:1px solid transparent; border-image:linear-gradient(90deg,transparent,#e8c98744,transparent) 1; }

}

/* 低性能降级（luxe.js 检测到视频丢帧时加上 .lx-lite）：去掉毛玻璃和颗粒，面板换成更实的底色，视觉基本不变 */
:root.luxe.lx-lite body.account-app.atelier-v2.champagne :is(*,*::before,*::after) { backdrop-filter:none !important; }
:root.luxe.lx-lite body.account-app.atelier-v2.champagne::after { display:none; }
:root.luxe.lx-lite body.account-app.atelier-v2.champagne :is(#panel-workbench .wb-image-toolbar,#panel-workbench .wb-asset-section,.panel-box,.wb-surface,.home-hero,.home-section,.studio-board,.studio-stage,.studio-inspector,.studio-parameter-bar,.model-card,.ml-card,.task-row,.connection-card,.studio-batchbar,.demo-notice,#panel-workbench .wb-surface) {
  background:linear-gradient(160deg,#1c1b20e0,#111114d9 50%,#0c0c0fe6) padding-box,var(--lx-edge) border-box;
}

/* 宽幅信息区融入电影背景：仅装饰底层羽化，文字、按钮和布局保持原样。
   大面板不做整块实时背景模糊，避免滚动长分镜列表时持续重算模糊。 */
:root.luxe body.account-app.atelier-v2.champagne .announcement-banner,
:root.luxe body.account-app.atelier-v2.champagne #panel-workbench .wb-result.wb-surface {
  position:relative;
  isolation:isolate;
  background:transparent;
  border-color:transparent;
  box-shadow:none;
  backdrop-filter:none;
  transition:none;
}
:root.luxe body.account-app.atelier-v2.champagne .announcement-banner::before,
:root.luxe body.account-app.atelier-v2.champagne #panel-workbench .wb-result.wb-surface::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  border-radius:inherit;
  pointer-events:none;
  opacity:1;
  background:linear-gradient(120deg,#322a204d 0%,#151419bd 42%,#101116a6 76%,#1a171c66 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent),linear-gradient(180deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);
  mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent),linear-gradient(180deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
  transition:none;
}
:root.luxe body.account-app.atelier-v2.champagne .announcement-banner::before {
  background:linear-gradient(110deg,#51402240,#141419b3 45%,#10111580);
}

@keyframes lx-sweep { from { transform:translateX(-130%); } to { transform:translateX(130%); } }
@keyframes lx-sheen { 0%,100% { background-position:0% 50%; } 50% { background-position:100% 50%; } }
@keyframes lx-ripple { to { transform:translate(-50%,-50%) scale(1); opacity:0; } }
@keyframes lx-pulse { 0%,100% { filter:brightness(1); } 50% { filter:brightness(1.35); } }
@keyframes lx-flow { from { transform:translateX(-120%); } to { transform:translateX(320%); } }
@keyframes lx-pop { from { opacity:0; transform:translateY(10px) scale(.96); } to { opacity:1; transform:none; } }
@keyframes lx-rise { from { opacity:.82; transform:translateY(4px); } to { opacity:1; transform:none; } }

@media (prefers-reduced-motion:reduce) {
  :root.luxe * { animation:none !important; }
  :root.luxe .lx-cinema-cut { display:none; }
}

/* Keep the contact action beside the existing tools without squeezing the title. */
:root.luxe #admin-wechat-dialog { width:420px; }
:root.luxe #admin-wechat-value { margin:10px 0 20px; user-select:text; }
@media (max-width:1100px) {
  :root.luxe body.account-app.atelier-v2.champagne .page-head:has(#admin-wechat) { flex-wrap:wrap; }
  :root.luxe body.account-app.atelier-v2.champagne .page-head:has(#admin-wechat) .page-heading-copy { flex:1 1 100%; }
  :root.luxe body.account-app.atelier-v2.champagne .page-head:has(#admin-wechat) .head-actions { flex-direction:row; flex-wrap:wrap; max-width:100%; }
}
