/* ============================================================
   新站设计系统（风格与布局原型）
   - 暗色为主（暗紫·极光），支持浅色主题；[data-theme="light"]
   - 全部组件只依赖 CSS 变量，方便以后统一换肤
   ============================================================ */
:root{
  --bg:#0a0b10; --bg-soft:#0f1118; --panel:#12141c; --card:#161923; --card-2:#1b1f2b;
  --border:rgba(255,255,255,.09); --border-strong:rgba(255,255,255,.16);
  --text:#eceef6; --dim:#98a0b6; --faint:#6b7488;
  --primary:#6d5efc; --primary-2:#a855f7; --primary-rgb:109,94,252;
  --grad:linear-gradient(135deg,var(--primary),var(--primary-2));
  --success:#22c55e; --warn:#f59e0b; --danger:#ef4444; --info:#38bdf8;
  --r-card:14px; --r-md:10px; --r-sm:8px; --r-pill:999px;
  --sh-card:0 10px 30px rgba(0,0,0,.35); --sh-pop:0 18px 50px rgba(0,0,0,.5);
  --side:104px; --top:56px; --gap:16px;
  --sidebar-bg:#11131c; --sidebar-border:rgba(255,255,255,.06); --sidebar-brand-bg:#191b26; --sidebar-brand-border:#2a2d3b; --sidebar-hover:#191b26; --sidebar-active:#252333; --sidebar-muted:#7c8092; --sidebar-close:#666b7e; --sidebar-close-bg:rgba(255,255,255,.06); --sidebar-close-border:rgba(255,255,255,.14);
  --mijing-font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
}
[data-theme="light"]{
  --bg:#f5f6fb; --bg-soft:#eef0f7; --panel:#ffffff; --card:#ffffff; --card-2:#f7f8fc;
  --border:#e6e8f0; --border-strong:#d6dae6;
  --text:#14161f; --dim:#5c6478; --faint:#8a91a6;
  --sh-card:0 6px 20px rgba(20,24,40,.07); --sh-pop:0 18px 46px rgba(20,24,40,.16);
  --sidebar-bg:#ffffff; --sidebar-border:#e6e8f0; --sidebar-brand-bg:#f7f8fc; --sidebar-brand-border:#e6e8f0; --sidebar-hover:#eef0f7; --sidebar-active:#ede9fe; --sidebar-muted:#5c6478; --sidebar-close:#8a91a6; --sidebar-close-bg:#eef0f7; --sidebar-close-border:#d6dae6;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg); color:var(--text);
  font:13px/1.6 var(--mijing-font);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
::selection{background:rgba(var(--primary-rgb),.35)}

/* ── 布局骨架 ───────────────────────────────────────────── */
.app{display:grid;grid-template-columns:var(--side) 1fr;min-height:100vh;transition:grid-template-columns .2s ease}
@media(min-width:901px){.app.sidebar-collapsed{grid-template-columns:0 1fr}.app.sidebar-collapsed .sidebar{width:0;padding-left:0;padding-right:0;border-right:0;overflow:hidden;transform:translateX(-100%)}}
.sidebar{
  display:flex;flex-direction:column;
  background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);
  padding:16px 12px 14px;position:sticky;top:var(--top);height:calc(100vh - var(--top));width:var(--side);overflow:hidden auto;transition:transform .25s ease,width .25s ease,padding .25s ease,background .2s ease,border-color .2s ease;
}
.brand{display:flex;align-items:center;gap:9px;min-height:60px;padding:9px 10px;margin:0 0 6px;background:var(--sidebar-brand-bg);border:1px solid var(--sidebar-brand-border);border-radius:9px;transition:background .2s ease,border-color .2s ease}
.sidebar-close{margin-left:auto;width:22px;height:22px;flex:0 0 22px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:var(--sidebar-close);font-size:16px;line-height:1}
.sidebar-close:hover{background:var(--sidebar-active);color:var(--text)}
.brand .mark{width:40px;height:40px;border-radius:10px;background:var(--grad);display:grid;place-items:center;font-size:24px;box-shadow:none;flex:0 0 40px}
.brand>b,.brand b{display:block;font-size:14px;font-weight:700;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand small{display:block;font-size:10px;color:var(--sidebar-muted);line-height:14px;margin-top:4px;letter-spacing:.5px}
.nav-group{margin-top:16px}
.nav-label{display:flex;align-items:center;justify-content:space-between;width:100%;height:46px;padding:0 12px;margin:0 0 6px;border:1px solid rgba(121,100,255,.2);border-radius:8px;background:transparent;color:var(--text);font-size:14px;font-weight:700;line-height:1;transition:border-color .15s ease,background .15s ease;cursor:pointer}
.nav-label:hover{background:var(--sidebar-hover);border-color:rgba(121,100,255,.34)}
.nav-label:not(.collapsed){border-color:rgba(121,100,255,.45)}
.nav-label::after{content:'⌄';color:var(--sidebar-muted);font-size:13px;transition:transform .2s ease}
.nav-label:not(.collapsed)::after{transform:rotate(180deg)}
.nav{display:flex;flex-direction:column;gap:3px}
.nav.collapsed{display:none}
.nav-item{display:flex;align-items:center;gap:12px;min-height:40px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--sidebar-muted);font-size:13px;white-space:nowrap;transition:background .15s ease,color .15s ease}
.nav-item i{width:16px;flex:0 0 16px;text-align:center;font-style:normal;font-size:14px;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Segoe UI Symbol",var(--mijing-font)}.nav-item i:empty{display:none}
.nav-item:hover{background:var(--sidebar-hover);color:var(--text)}
.nav-item.on{background:var(--sidebar-active);color:var(--text);box-shadow:inset 2px 0 0 #a77bff;font-weight:400}.nav-entry{display:flex;flex-direction:column;min-width:0}.nav-entry-row{display:flex;align-items:center;gap:4px;min-width:0}.nav-entry-row>.nav-item{flex:1;min-width:0}.nav-sub-toggle{width:26px;height:34px;flex:0 0 26px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:var(--sidebar-muted);font-size:13px;line-height:1;transition:transform .18s ease,background .15s ease,color .15s ease}.nav-sub-toggle:hover{background:var(--sidebar-hover);color:var(--text)}.nav-sub-toggle.open{transform:rotate(180deg)}.nav-submenu{display:flex;flex-direction:column;gap:4px;padding:4px 0 5px 26px;min-width:0}.nav-submenu.collapsed{display:none}.nav-child{display:flex;align-items:center;gap:7px;min-height:34px;min-width:0;padding:6px 9px;border-radius:8px;background:rgba(255,255,255,.025);color:var(--sidebar-muted);font-size:12px;white-space:nowrap;overflow:hidden;transition:background .15s ease,color .15s ease,transform .15s ease}.nav-child i{width:15px;flex:0 0 15px;text-align:center;font-style:normal;font-size:13px;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Segoe UI Symbol",var(--mijing-font)}.nav-child span{min-width:0;overflow:hidden;text-overflow:ellipsis}.nav-child:hover{background:var(--sidebar-hover);color:var(--text);transform:translateX(1px)}.nav-child.on{background:var(--sidebar-active);color:var(--text);box-shadow:inset 2px 0 0 #a77bff}.nav-child.has-bg{background-image:linear-gradient(90deg,rgba(8,10,16,.84),rgba(8,10,16,.54)),var(--nav-child-bg);background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff}.nav-child.has-bg:hover{color:#fff}
.main{display:flex;flex-direction:column;min-width:0;width:100%;padding-top:var(--top)}
.topbar{
  height:var(--top);display:flex;align-items:center;gap:10px;padding:0 18px;
  border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--panel) 88%,transparent);
  position:fixed;left:0;right:0;top:0;width:100%;max-width:none;margin:0;
  z-index:20;backdrop-filter:blur(10px);
}
.topbar .search{flex:1;max-width:420px}.topbar-tools{display:flex;align-items:center;gap:10px;margin-left:auto;min-width:0}
.spacer{flex:1}
.icon-btn{width:34px;height:34px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--card);display:grid;place-items:center;font-size:15px}
.icon-btn:hover{border-color:var(--border-strong)}
.balance{display:flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:var(--r-pill);background:var(--card);border:1px solid var(--border);font-size:12px;color:inherit;text-decoration:none;cursor:pointer;transition:.18s}.balance:hover{border-color:rgba(var(--primary-rgb),.6)}
.balance b{color:var(--primary)}
.avatar{width:32px;height:32px;border-radius:var(--r-pill);background:var(--grad);display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff}
.content{padding:20px 22px 90px;max-width:1380px;width:100%;margin:0 auto}
.page-title{font-size:20px;font-weight:700;margin:2px 0 4px}
.page-sub{color:var(--dim);font-size:12px;margin-bottom:16px}
.crumb{font-size:12px;color:var(--faint);margin-bottom:8px}
.crumb b{color:var(--dim);font-weight:500}

/* ── 卡片与区块 ─────────────────────────────────────────── */
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);padding:16px;box-shadow:var(--sh-card)}
.card.tight{padding:12px}
.card-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.card-head h3{margin:0;font-size:15px;font-weight:700}
.card-head .more{margin-left:auto;font-size:12px;color:var(--dim)}
.grid{display:grid;gap:var(--gap)}
.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g-auto{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* ── 按钮 / 胶囊 / 标签 ─────────────────────────────────── */
.btn{height:38px;padding:0 16px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--card);display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px}
.btn:hover{border-color:var(--border-strong)}
.btn-primary{background:var(--grad);border-color:transparent;color:#fff;font-weight:600;box-shadow:0 8px 22px rgba(var(--primary-rgb),.35)}
.btn-primary:hover{filter:brightness(1.06)}
.btn-danger{color:var(--danger);border-color:rgba(239,68,68,.4)}
.btn-sm{height:30px;padding:0 12px;font-size:12px;border-radius:var(--r-sm)}
.btn-lg{height:46px;font-size:14px;padding:0 26px;border-radius:12px}
.pill{height:32px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--card);display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--dim)}
.pill:hover{color:var(--text)}
.pill.on{border-color:rgba(var(--primary-rgb),.5);background:rgba(var(--primary-rgb),.16);color:var(--text);font-weight:600}
.badge{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px;border-radius:var(--r-pill);font-size:10px;background:rgba(var(--primary-rgb),.16);color:var(--text)}
.badge.ok{background:rgba(34,197,94,.16);color:#7ee2a8}
.badge.warn{background:rgba(245,158,11,.16);color:#ffd08a}

/* ── 表单 ───────────────────────────────────────────────── */
.field{margin-bottom:12px}
.field>label{display:block;font-size:12px;color:var(--dim);margin-bottom:6px}
.input,.select,.textarea{
  width:100%;background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--r-md);
  color:var(--text);padding:10px 12px;font-size:13px;outline:none;
}
.input:focus,.select:focus,.textarea:focus{border-color:rgba(var(--primary-rgb),.55);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.14)}
.hint{font-size:11px;color:var(--faint);margin-top:5px}
.dropzone{border:1px dashed var(--border-strong);border-radius:var(--r-card);background:var(--card-2);padding:22px;text-align:center;color:var(--dim)}
.dropzone b{display:block;color:var(--text);font-size:13px;margin-bottom:4px}
.dropzone .ic{font-size:26px;margin-bottom:6px}

/* ── 业务线大卡 ─────────────────────────────────────────── */
.biz{position:relative;overflow:hidden;cursor:pointer;transition:.18s}
.biz:hover{transform:translateY(-2px);border-color:rgba(var(--primary-rgb),.45)}
.biz .ic{width:44px;height:44px;border-radius:12px;background:var(--grad);display:grid;place-items:center;font-size:21px;margin-bottom:10px}
.biz h3{margin:0 0 4px;font-size:15px}
.biz p{margin:0 0 12px;color:var(--dim);font-size:12px;min-height:34px}
.biz .chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{font-size:11px;color:var(--dim);border:1px solid var(--border);border-radius:var(--r-pill);padding:3px 10px;background:var(--card-2)}
.chip:hover{color:var(--text);border-color:var(--border-strong)}

/* ── 玩法小卡 ───────────────────────────────────────────── */
.play{cursor:pointer;text-align:center;padding:14px 10px;transition:.18s}
.play:hover{transform:translateY(-2px);border-color:rgba(var(--primary-rgb),.45)}
.play .ic{font-size:24px}
.play b{display:block;font-size:12.5px;margin-top:6px}
.play span{font-size:10.5px;color:var(--faint)}

/* ── 生成页（左向导 / 右结果） ─────────────────────────── */
.gen{display:grid;grid-template-columns:392px 1fr;gap:var(--gap);align-items:start}
.step{border-left:2px solid var(--border);padding:0 0 16px 14px;position:relative}
.step:last-child{border-left-color:transparent;padding-bottom:0}
.step .n{position:absolute;left:-11px;top:0;width:20px;height:20px;border-radius:50%;background:var(--card-2);border:1px solid var(--border);display:grid;place-items:center;font-size:11px;color:var(--dim)}
.step.done .n{background:var(--grad);color:#fff;border-color:transparent}
.step h4{margin:0 0 8px;font-size:13px;font-weight:700}
.collapse{border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px;background:var(--card-2)}
.collapse summary{cursor:pointer;font-size:12px;color:var(--dim);list-style:none}
.collapse summary::-webkit-details-marker{display:none}
.collapse summary:before{content:"▸ ";color:var(--faint)}
.collapse[open] summary:before{content:"▾ "}
.result-min{min-height:420px;display:grid;place-items:center;color:var(--faint)}
.progress{height:8px;border-radius:var(--r-pill);background:var(--bg-soft);overflow:hidden;border:1px solid var(--border)}
.progress>i{display:block;position:relative;height:100%;width:38%;background:var(--grad);overflow:hidden;transition:width .35s ease}.progress>i::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.06) 28%,rgba(255,255,255,.72) 50%,rgba(255,255,255,.06) 72%,transparent 100%);transform:translateX(-130%);animation:play-progress-flow 1.65s linear infinite;pointer-events:none}@keyframes play-progress-flow{to{transform:translateX(130%)}}@media(prefers-reduced-motion:reduce){.progress>i::after{animation:none;opacity:0}}
.actionbar{
  position:fixed;left:var(--side);right:0;bottom:0;z-index:30;
  display:flex;align-items:center;gap:12px;padding:12px 22px;
  background:color-mix(in srgb,var(--panel) 92%,transparent);border-top:1px solid var(--border);backdrop-filter:blur(10px);
}
.cost{font-size:12px;color:var(--dim)}
.cost b{color:var(--primary);font-size:15px}

/* ── 作品卡 ─────────────────────────────────────────────── */
.work{overflow:hidden;padding:0;cursor:pointer}
.work .thumb{aspect-ratio:16/10;background:#0d0f16 center/cover no-repeat;position:relative}
.work .thumb .tag{position:absolute;left:8px;top:8px}
.work .meta{padding:10px 12px}
.work .meta b{font-size:12.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.work .meta span{font-size:10.5px;color:var(--faint)}
.work .del{position:absolute;right:8px;top:8px;width:26px;height:26px;border-radius:var(--r-sm);border:1px solid var(--border);background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center;font-size:12px}

/* ── 统计 ───────────────────────────────────────────────── */
.stat{padding:14px 16px}
.stat span{font-size:11px;color:var(--faint)}
.stat b{display:block;font-size:22px;font-weight:700;margin-top:2px}

/* ── 后台 ───────────────────────────────────────────────── */
.admin{display:grid;grid-template-columns:248px 1fr;min-height:100vh}
.atable{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}
.atable th{text-align:left;color:var(--dim);font-weight:600;padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}
.atable td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}
.atable tr:hover td{background:var(--card-2)}
.savebar{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--r-card);background:var(--card);position:sticky;bottom:14px;margin-top:14px}

/* ── 空状态 / 骨架 ──────────────────────────────────────── */
.empty{text-align:center;color:var(--faint);padding:46px 10px}
.empty .big{font-size:30px;margin-bottom:8px}

/* ── 手机端 ─────────────────────────────────────────────── */
@media (max-width:900px){
  .app,.admin{grid-template-columns:1fr}
  .sidebar{position:fixed;left:0;top:var(--top);bottom:0;height:auto;width:min(180px,84vw);z-index:60;transform:translateX(-100%);transition:.2s}
  .sidebar.open{transform:none}
  .content{padding:14px 14px 96px}
  .gen{grid-template-columns:1fr}
  .g-2,.g-3,.g-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .actionbar{left:0;padding:10px 14px}
  .topbar .search{display:none}
}
@media (max-width:560px){
  .g-2,.g-3,.g-4,.g-auto{grid-template-columns:1fr}
  .page-title{font-size:18px}
}

@media (max-width:760px){
  body{--top:108px}
  .topbar{height:var(--top);padding:8px 10px 10px;gap:8px;flex-wrap:wrap;align-items:center}
  .topbar>#menuButton{order:1;width:36px;height:36px;flex:0 0 36px}
  .topbar .crumb{order:2;flex:1;min-width:0;text-align:center;margin:0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar .crumb-brand,.topbar .crumb-sep{display:none}
  .topbar>.avatar{order:3;width:36px;height:36px;flex:0 0 36px;margin-left:0}
  .topbar-tools{order:4;flex:0 0 100%;width:100%;margin-left:0;justify-content:space-between;gap:6px}
  .topbar-tools .balance{flex:1;min-width:0;height:38px;padding:0 10px;justify-content:center}
  .topbar-tools .icon-btn{width:38px;height:38px;flex:0 0 38px}
}
/* 侧栏关闭按钮：桌面隐藏，手机端固定右上角圆形 */
@media(min-width:861px){.sidebar .sidebar-close{display:none!important}}
@media(max-width:900px){.sidebar .brand{position:relative;padding-right:40px}.sidebar .sidebar-close{display:grid!important;position:absolute!important;top:8px!important;right:8px!important;width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;margin:0!important;padding:0!important;border:1px solid var(--sidebar-close-border)!important;border-radius:50%!important;background:var(--sidebar-close-bg)!important;color:var(--sidebar-muted)!important;font-size:14px!important;line-height:1!important;place-items:center!important;flex:0 0 24px!important;aspect-ratio:1/1!important;box-sizing:border-box!important;transform:none!important}.sidebar .sidebar-close:hover{background:var(--sidebar-active)!important;color:var(--text)!important}}

/* 顶部网站名称字号与菜单按钮对齐 */
.topbar .crumb-brand{position:relative;display:inline-flex;align-items:center;height:34px;font-size:17px;font-weight:800;line-height:34px;letter-spacing:-.01em;overflow:hidden;isolation:isolate}.topbar .crumb-brand::after{content:"";position:absolute;top:-20%;bottom:-20%;left:-42%;width:36%;pointer-events:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.12) 22%,rgba(255,255,255,.88) 50%,rgba(255,255,255,.12) 78%,transparent 100%);transform:translateX(-150%) skewX(-18deg);mix-blend-mode:screen;animation:topbar-brand-scan 2.8s ease-in-out infinite}@keyframes topbar-brand-scan{0%,18%{transform:translateX(-150%) skewX(-18deg);opacity:0}28%{opacity:1}62%{transform:translateX(430%) skewX(-18deg);opacity:1}72%,100%{transform:translateX(430%) skewX(-18deg);opacity:0}}@media(prefers-reduced-motion:reduce){.topbar .crumb-brand::after{animation:none;opacity:0}}
/* 桌面端顶栏路径文字 */
@media(min-width:901px){.topbar .crumb{font-size:14px;line-height:20px;margin-bottom:0}.topbar .crumb b{font-weight:600}}

/* 上传 Logo 后只显示 Logo，不显示品牌卡片 */
.brand.brand-has-logo .mark{background:transparent;box-shadow:none}
.brand.brand-has-logo .mark img{width:100%;height:100%;object-fit:contain;border-radius:10px}
/* topbar avatar */
.avatar{text-decoration:none;overflow:hidden;flex:0 0 32px;transition:transform .18s ease,box-shadow .18s ease}
.avatar img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}
.avatar:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(var(--primary-rgb),.25)}
.avatar:focus-visible{outline:2px solid rgba(var(--primary-rgb),.75);outline-offset:2px}

/* ===== 全站卡片边缘光晕 ===== */
.card{
  --card-glow-proximity:0;
  --card-glow-angle:0deg;
  --card-glow-x:50%;
  --card-glow-y:50%;
  --card-glow-color-1:#c084fc;
  --card-glow-color-2:#f472b6;
  --card-glow-color-3:#38bdf8;
  position:relative;
  isolation:isolate;
}
.card::before{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:2;
  padding:1px;
  border-radius:inherit;
  background:conic-gradient(from var(--card-glow-angle),var(--card-glow-color-1),var(--card-glow-color-2),var(--card-glow-color-3),var(--card-glow-color-1));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:calc(var(--card-glow-proximity) / 100);
  pointer-events:none;
  transition:opacity .18s ease;
}
.card::after{
  content:"";
  position:absolute;
  inset:-3px;
  z-index:0;
  border-radius:calc(var(--r-card) + 3px);
  background:radial-gradient(circle at var(--card-glow-x) var(--card-glow-y),color-mix(in srgb,var(--card-glow-color-1) 54%,transparent) 0,color-mix(in srgb,var(--card-glow-color-3) 24%,transparent) 16%,transparent 48%);
  filter:blur(5px);
  opacity:calc(var(--card-glow-proximity) / 100 * .28);
  pointer-events:none;
  transition:opacity .18s ease;
}
.card>*{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.card::before,.card::after{transition:none}}

.production-episode-head .scene-panel-kicker{display:none!important}

/* 2026-09-25: remove topbar brand scan, keep brand text highlighted */
.topbar .crumb-brand{color:var(--text)!important;text-shadow:0 0 10px rgba(var(--primary-rgb),.78),0 0 22px rgba(56,189,248,.42)!important}
.topbar .crumb-brand::after{content:none!important;display:none!important;animation:none!important;background:none!important}


/* 2026-09-25: keep purple brand highlight only */
.topbar .crumb-brand{text-shadow:0 0 10px rgba(var(--primary-rgb),.78)!important}



/* 2026-09-26 手机端顶部栏单行右侧工具区 */
@media(max-width:760px){
  body{--top:58px!important}
  .topbar{height:58px!important;min-height:58px!important;padding:8px 10px!important;gap:6px!important;flex-wrap:nowrap!important;align-items:center!important;overflow:hidden!important}
  .topbar>#menuButton{order:1!important;width:34px!important;height:34px!important;flex:0 0 34px!important}
  .topbar .crumb{display:none!important}
  .topbar-tools{order:2!important;display:flex!important;flex:1 1 auto!important;width:auto!important;margin-left:auto!important;justify-content:flex-end!important;flex-wrap:nowrap!important;gap:4px!important;overflow:hidden!important}
  .topbar-tools .balance{flex:0 1 auto!important;min-width:0!important;height:34px!important;padding:0 8px!important;justify-content:center!important;font-size:11px!important;white-space:nowrap!important}
  .topbar-tools .balance b{font-size:12px!important}
  .topbar-tools .icon-btn{width:32px!important;height:32px!important;min-width:32px!important;flex:0 0 32px!important;font-size:14px!important}
  .topbar>.avatar{order:3!important;width:32px!important;height:32px!important;min-width:32px!important;flex:0 0 32px!important;margin-left:0!important}
}
@media(max-width:360px){
  .topbar{gap:4px!important}
  .topbar-tools{gap:2px!important}
  .topbar-tools .balance{font-size:0!important;padding:0 6px!important}
  .topbar-tools .balance b{font-size:11px!important}
  .topbar-tools .balance::before{content:'⚡';font-size:13px;line-height:1;margin-right:2px}
  .topbar-tools .icon-btn{width:30px!important;height:30px!important;min-width:30px!important;flex-basis:30px!important}
  .topbar>.avatar{width:30px!important;height:30px!important;min-width:30px!important;flex-basis:30px!important}
}


/* 2026-09-26 全站手机端自适应安全层 */
@media(max-width:900px){
  html,body{width:100%;max-width:100%;overflow-x:clip!important}
  .app,.admin,.main,.content,.card,.panel,.grid,.g-2,.g-3,.g-4,.g-auto,.row,.row-wrap,.form-grid{min-width:0!important;max-width:100%!important}
  .grid>*{min-width:0!important}
  img,video,canvas,svg{max-width:100%!important}
  .table-wrap,.model-table-wrap,.official-model-table-wrap{max-width:100%!important;overflow-x:auto!important}
}
@media(max-width:760px){
  .main,.content{width:100%!important;max-width:100%!important}
  .card,.modal,.drawer,.popover{max-width:100%!important;box-sizing:border-box!important}
  .card{padding:12px!important}
  .card-head{flex-wrap:wrap!important;align-items:flex-start!important}
  .card-head>.more,.card-head>.spacer{margin-left:0!important}
  .form-grid{grid-template-columns:1fr!important}
  .row,.row-wrap,.chips,.tabs,.savebar,.actionbar{min-width:0!important}
  .tabs{overflow-x:auto!important;flex-wrap:nowrap!important}
  .modal-backdrop,.asset-preview-backdrop{padding:8px!important}
  .modal{width:100%!important;max-width:100%!important;max-height:calc(100vh - 16px)!important;overflow:auto!important}
  .btn,.input,.select,textarea,button{max-width:100%!important;box-sizing:border-box!important}
  pre,code{max-width:100%!important;overflow:auto!important}
}
@media(max-width:420px){
  .content{padding-left:8px!important;padding-right:8px!important}
  .card{padding:10px!important}
  .btn{white-space:normal!important}
  .page-title{font-size:17px!important}
}

/* 2026-09-27 手机端：隐藏全屏按钮，算力按钮黄色底并可点进充值 */
@media(max-width:760px){
  .topbar-tools #fullscreenButton{display:none!important}
  .topbar-tools .balance{background:linear-gradient(135deg,#fcd34d,#f59e0b)!important;border-color:rgba(180,83,9,.55)!important;color:#40280a!important;box-shadow:0 2px 10px rgba(245,158,11,.25)!important}
  .topbar-tools .balance b{color:#40280a!important}
}
/* 2026-09-27 手机端：算力按钮图标改为 💎 */
@media(max-width:760px){
  .topbar-tools .balance .balance-icon{display:none!important}
  .topbar-tools .balance::before{content:'💎';font-size:13px;line-height:1;margin-right:-6px}
}
/* 2026-09-27 手机端底部固定导航栏（首页 / 短剧 / 电商 / 我的） */
.app-tabbar{display:none}
@media(max-width:760px){
  .app-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:120;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--panel);background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .app-tabbar-item{display:grid;justify-items:center;gap:3px;padding:6px 2px;border-radius:12px;color:var(--faint);text-decoration:none;font-size:10.5px;line-height:1.1;transition:.18s}
  .app-tabbar-item i{font-size:19px;font-style:normal;line-height:1}
  .app-tabbar-item.active{color:var(--text);background:rgba(var(--primary-rgb),.16)}
  body.has-app-tabbar-flat{padding-bottom:76px}
}