/* ============================================================
   jz-theme.css —— 镜简AI 桌面端 · 模仿九折(51xtw.cn)前端 UI
   2026-09-22
   ⚠️ 仅在「桌面端」生效（@media min-width:768px）
      手机端 < 768px 完全不加载本文件的任何规则 —— 保持原样！
   ============================================================ */
@media (min-width: 768px){
  :root{
    --accent-primary:#00c8e8;
    --accent-secondary:#0077b6;
    --accent-pink:#00e5ff;
    --accent-gold:#48cae4;
    --bg-page:#000000;
    --bg-container:#0c1418;
    --bg-sidebar:#04040c;
    --bg-topbar:#04040c;
    --bg-card:#081016;
    --bg-btn:#0c1218;
    --bg-tertiary:#141c22;
    --border-subtle:rgba(0,200,232,.12);
    --border-normal:rgba(0,200,232,.18);
    --text-primary:#ffffff;
    --text-secondary:#b0b0b0;
    --text-muted:#6b7a86;
    --style-radius:10px;
    --style-radius-sm:6px;
    --font-scale:1;
    --shell-side:88px;
    --shell-top:54px;
  }

  /* ---------- 全局底色（覆盖原浅色） ---------- */
  html,body{
    background:var(--bg-page)!important;
    color:var(--text-primary)!important;
    font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif!important;
    font-size:14px;
  }
  body{overflow:hidden!important}

  /* ---------- 外壳布局 ---------- */
  .jz-shell{width:100vw;height:100vh;display:flex;background:var(--bg-page);overflow:hidden}

  /* 左侧栏 */
  .jz-side{
    width:var(--shell-side);height:100%;flex-shrink:0;z-index:100;
    background:var(--bg-sidebar);border-right:1px solid var(--border-subtle);
    display:flex;flex-direction:column;
  }
  .jz-side-logo{
    height:var(--shell-top);display:flex;align-items:center;justify-content:center;
    font-size:26px;flex-shrink:0;border-bottom:1px solid var(--border-subtle);
  }
  .jz-menu{flex:1;display:flex;flex-direction:column;gap:1px;padding:12px 7px 0;overflow-y:auto;overflow-x:hidden}
  .jz-menu::-webkit-scrollbar{width:0}
  .jz-item{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
    min-height:58px;padding:8px 6px;border-radius:8px;color:var(--text-secondary);
    text-decoration:none;cursor:pointer;transition:all .2s ease;border:0;background:transparent;
    font-family:inherit;
  }
  .jz-item:hover{background:color-mix(in srgb,var(--accent-primary) 10%,transparent);color:var(--text-primary)}
  .jz-item.active{
    background:linear-gradient(135deg,color-mix(in srgb,var(--accent-primary) 25%,transparent),color-mix(in srgb,var(--accent-secondary) 20%,transparent));
    color:var(--text-primary);
    box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-primary) 30%,transparent);
  }
  .jz-item svg{width:22px;height:22px;flex-shrink:0}
  .jz-item .jz-label{font-size:12px;font-weight:700;line-height:1.1;text-align:center;white-space:nowrap}

  /* 主区 */
  .jz-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}

  /* 顶栏 54px */
  .jz-top{
    position:relative;height:var(--shell-top);width:100%;flex-shrink:0;z-index:110;
    display:flex;align-items:center;justify-content:space-between;padding:0 14px;
    background:var(--bg-topbar);border-bottom:1px solid var(--border-subtle);
  }
  .jz-top-left{display:flex;align-items:center;gap:7px;min-width:0}
  .jz-top-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px}
  .jz-top-title{
    font-size:20px;font-weight:700;letter-spacing:3px;white-space:nowrap;
    background:linear-gradient(135deg,var(--accent-primary),var(--accent-pink));
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  }
  .jz-ver{
    font-size:11px;font-weight:600;color:var(--text-muted);background:#ffffff0f;
    border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:2px 9px;letter-spacing:.5px;
  }
  .jz-top-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
  .jz-topbtn{
    width:28px;height:28px;display:flex;align-items:center;justify-content:center;
    border:0;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:6px;transition:.2s
  }
  .jz-topbtn:hover{color:var(--text-primary);background:#ffffff0f}
  .jz-avatar{
    width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:8px;
    color:#7ee7ff;background:color-mix(in srgb,var(--accent-primary) 16%,transparent);font-size:16px
  }
  /* 图库入口（旧版平铺；2026-09-27 v2 已收进下拉，样式保留不删） */
  .jz-gallery{
    display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 12px;
    border-radius:999px;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.3px;
    color:var(--ink,#dbe5f7)!important;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.16);
    transition:background .2s,border-color .2s,color .2s
  }
  .jz-gallery svg{width:15px;height:15px}
  .jz-gallery:hover{background:color-mix(in srgb,var(--accent-primary) 24%,rgba(255,255,255,.07));
    border-color:color-mix(in srgb,var(--accent-primary) 55%,transparent);color:#fff!important}
  .jz-gallery:active{transform:translateY(1px)}
  /* 账户菜单（头像 + 小三角 + 下拉；2026-09-27 v2 用户指令） */
  .jz-user{position:relative;display:inline-flex;align-items:center;gap:2px}
  .jz-user .jz-caret{display:inline-flex;align-items:center;color:#9aa4b8;cursor:pointer;
    transition:transform .2s,color .2s;padding:2px}
  .jz-user .jz-caret svg{width:12px;height:12px}
  .jz-user.open .jz-caret{transform:rotate(180deg);color:#fff}
  .jz-user.open .jz-avatar-btn{color:#fff;
    background:color-mix(in srgb,var(--accent-primary) 34%,transparent);
    box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-primary) 35%,transparent)}
  .jz-dropdown{position:absolute;top:calc(100% + 10px);right:0;min-width:176px;
    background:rgba(22,26,38,.98);border:1px solid rgba(255,255,255,.12);border-radius:12px;
    padding:6px;box-shadow:0 14px 36px rgba(0,0,0,.55);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    display:none;flex-direction:column;gap:2px;z-index:400}
  .jz-user.open .jz-dropdown{display:flex}
  .jz-dd-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;
    font-size:13.5px;color:#e6ecf7;text-decoration:none;cursor:pointer;white-space:nowrap;
    border:0;background:transparent;width:100%;text-align:left;font-family:inherit}
  .jz-dd-item:hover{background:rgba(242,140,40,.16);color:#fff}
  .jz-dd-item.danger{color:#fca5a5}
  .jz-dd-item.danger:hover{background:rgba(239,68,68,.16);color:#fff}
  .jz-dd-item svg{width:16px;height:16px;flex:0 0 auto}
  .jz-dd-sep{height:1px;background:rgba(255,255,255,.09);margin:4px 6px}
  /* 充值入口（右上角，紧贴额度胶囊） */
  .jz-topup{
    display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 12px;
    border-radius:999px;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.3px;
    color:#00141a!important;
    background:linear-gradient(135deg,var(--accent-primary),var(--accent-gold));
    box-shadow:0 2px 10px color-mix(in srgb,var(--accent-primary) 30%,transparent);
    transition:filter .2s,box-shadow .2s
  }
  .jz-topup svg{width:15px;height:15px}
  .jz-topup:hover{filter:brightness(1.08);box-shadow:0 3px 14px color-mix(in srgb,var(--accent-primary) 45%,transparent)}
  .jz-topup:active{transform:translateY(1px)}
  /* 右上角头像 = 退出登录按钮（2026-09-22） */
  .jz-avatar-btn{
    border:0;padding:0;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s
  }
  .jz-avatar-btn:hover{
    color:#fff;background:color-mix(in srgb,var(--accent-primary) 34%,transparent);
    box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-primary) 35%,transparent)
  }
  .jz-avatar-btn:active{transform:translateY(1px)}

  /* 内容滚动区 */
  .jz-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;background:var(--bg-page)}
  .jz-content::-webkit-scrollbar{width:8px}
  .jz-content::-webkit-scrollbar-thumb{background:rgba(0,200,232,.22);border-radius:8px}
  .jz-page-wrap{max-width:none;margin:0 auto;padding:18px 22px 40px}

  /* 隐藏原顶栏（改用 shell 顶栏），但保留其内部额度胶囊（已移入 shell） */
  body.jz-on .topbar{display:none!important}
  body.jz-on .brand-sub{display:none}
  body.jz-on #app{max-width:none!important;width:100%!important;background:transparent!important;min-height:0!important}

  /* ============================================================
     暗色组件覆盖（把原浅色卡片/输入/按钮 转成九折暗青风）
     ============================================================ */
  body.jz-on .page{padding:0!important;background:transparent!important;max-width:none!important;margin:0!important}

  /* 卡片 / 区块 */
  body.jz-on .block,
  body.jz-on .card,
  body.jz-on .login-card,
  body.jz-on .green-box-wrap,
  body.jz-on .audio-block,
  body.jz-on .seg-scroll{
    background:var(--bg-card)!important;
    border:1px solid var(--border-subtle)!important;
    border-radius:var(--style-radius)!important;
    box-shadow:none!important;
    color:var(--text-primary)!important;
  }
  body.jz-on .block{padding:16px 18px!important;margin:0 0 16px!important}

  body.jz-on .block-title{color:var(--text-primary)!important;font-weight:700;font-size:15px;margin-bottom:12px}
  body.jz-on .block-title .tip,
  body.jz-on .tip{color:var(--text-secondary)!important}
  body.jz-on .hint-text{color:var(--text-muted)!important}

  /* 步骤号 */
  body.jz-on .step-no{
    background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary))!important;
    color:#00141a!important;font-weight:800;border-radius:50%
  }

  /* 输入 / 下拉 / 文本域 */
  body.jz-on .sel,
  body.jz-on input[type=text],
  body.jz-on input[type=number],
  body.jz-on input[type=password],
  body.jz-on .ta,
  body.jz-on textarea,
  body.jz-on .chips-input,
  body.jz-on .rp-inp,
  body.jz-on .po-inp,
  body.jz-on .sm-sel{
    background:var(--bg-btn)!important;
    border:1px solid var(--border-normal)!important;
    color:var(--text-primary)!important;
    border-radius:var(--style-radius-sm)!important;
  }
  body.jz-on .sel:focus,
  body.jz-on .ta:focus,
  body.jz-on textarea:focus,
  body.jz-on input:focus{
    outline:none!important;
    border-color:var(--accent-primary)!important;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 18%,transparent)!important
  }
  body.jz-on .sel option{background:var(--bg-container);color:var(--text-primary)}
  body.jz-on ::placeholder{color:var(--text-muted)!important}

  /* 主按钮 —— 九折青渐变 */
  body.jz-on .btn-primary{
    background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary))!important;
    color:#00141a!important;font-weight:800;border:0!important;
    border-radius:var(--style-radius-sm)!important;
    box-shadow:0 4px 16px color-mix(in srgb,var(--accent-primary) 28%,transparent)!important
  }
  body.jz-on .btn-primary:disabled{opacity:.4!important;box-shadow:none!important}
  body.jz-on .btn-primary:hover:not(:disabled){filter:brightness(1.08)}

  /* 次按钮 */
  body.jz-on .btn-ghost{
    background:var(--bg-btn)!important;color:var(--text-secondary)!important;
    border:1px solid var(--border-normal)!important;border-radius:var(--style-radius-sm)!important
  }
  body.jz-on .btn-ghost:hover{color:var(--text-primary)!important;border-color:var(--accent-primary)!important}
  body.jz-on .btn-ghost.danger{color:#ff8080!important;border-color:rgba(255,80,80,.35)!important}

  /* 上传大按钮 */
  body.jz-on .pick-big{
    background:linear-gradient(145deg,color-mix(in srgb,var(--accent-primary) 8%,transparent),color-mix(in srgb,var(--accent-secondary) 5%,transparent)),var(--bg-card)!important;
    border:1.5px dashed var(--border-normal)!important;border-radius:var(--style-radius)!important;color:var(--text-primary)!important
  }
  body.jz-on .pick-big:hover{border-color:var(--accent-primary)!important}

  /* 功能工具栏（实景爆款/产品广告） */
  body.jz-on .feature-bar{
    background:var(--bg-container)!important;border:1px solid var(--border-subtle)!important;
    border-radius:var(--style-radius)!important;margin:0 0 16px!important
  }
  body.jz-on .feature-item{
    background:transparent!important;color:var(--text-secondary)!important;border:0!important
  }
  body.jz-on .feature-item.active{
    background:linear-gradient(135deg,color-mix(in srgb,var(--accent-primary) 25%,transparent),color-mix(in srgb,var(--accent-secondary) 20%,transparent))!important;
    color:var(--text-primary)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-primary) 30%,transparent)!important
  }

  /* 底部悬浮栏 */
  body.jz-on .bottom-bar{
    background:linear-gradient(180deg,transparent,var(--bg-container))!important;
    border-top:1px solid var(--border-subtle)!important;color:var(--text-secondary)!important
  }
  body.jz-on .cost{color:var(--text-secondary)!important}
  body.jz-on .cost b{color:var(--accent-primary)!important}

  /* 额度胶囊 */
  body.jz-on .quota-badge{
    font-size:12px;color:#00141a!important;font-weight:800;
    background:linear-gradient(135deg,var(--accent-primary),var(--accent-gold))!important;
    border:0!important;border-radius:999px!important;padding:5px 12px!important
  }

  /* chips 锁定名称 */
  body.jz-on .chips .chip,
  body.jz-on .chip{
    background:color-mix(in srgb,var(--accent-primary) 14%,transparent)!important;
    color:var(--accent-primary)!important;border:1px solid var(--border-normal)!important
  }

  /* 图片卡 / 分镜卡 */
  body.jz-on .img-cards .img-card,
  body.jz-on .shot-card{
    background:var(--bg-btn)!important;border:1px solid var(--border-subtle)!important;
    border-radius:var(--style-radius-sm)!important
  }

  /* 遮罩层 */
  body.jz-on .overlay{background:rgba(0,0,0,.72)!important}
  body.jz-on .login-title{color:var(--text-primary)!important}
  body.jz-on .login-sub{color:var(--text-secondary)!important}

  /* 提示气泡 */
  body.jz-on .toast{
    background:var(--bg-container)!important;color:var(--text-primary)!important;
    border:1px solid var(--border-normal)!important;border-radius:var(--style-radius-sm)!important
  }

  /* 滚动条统一 */
  body.jz-on ::-webkit-scrollbar{width:8px;height:8px}
  body.jz-on ::-webkit-scrollbar-thumb{background:rgba(0,200,232,.22);border-radius:8px}
  body.jz-on ::-webkit-scrollbar-track{background:transparent}

  /* 表格/预格式 */
  body.jz-on pre,body.jz-on code{color:#9fe8f5!important}

  /* ============================================================
     覆盖 m1-dark.css 的「红/紫」主题变量 → 九折青
     （m1-dark.css 定义 --primary:#e94560 红、--brand-2:#7c3aed 紫）
     ============================================================ */
  body.jz-on{
    --primary:var(--accent-primary);
    --primary-dark:var(--accent-secondary);
    --brand:var(--accent-primary);
    --brand-2:var(--accent-secondary);
    --bg:#000000;
    --bg-2:var(--bg-btn);
    --card:var(--bg-card);
    --panel-2:var(--bg-tertiary);
    --line:var(--border-subtle);
    --line-2:var(--border-normal);
    --ink:#ffffff;
    --ink-soft:var(--text-secondary);
    --muted:var(--text-secondary);
    --dim:var(--text-muted);
    --soft-fill:#ffffff0a;
    --tint-primary:color-mix(in srgb,var(--accent-primary) 14%,transparent);
  }

  /* 卡片/画质选中态：红→青 */
  body.jz-on .card.active,
  body.jz-on .quality-opt.active{
    border-color:var(--accent-primary)!important;
    background:color-mix(in srgb,var(--accent-primary) 10%,transparent)!important;
    box-shadow:0 4px 14px color-mix(in srgb,var(--accent-primary) 22%,transparent)!important
  }
  body.jz-on .quality-opt.active .quality-name,
  body.jz-on .card.active .card-name{color:var(--accent-primary)!important}

  /* 标签/步骤号：红紫渐变 → 青 */
  body.jz-on .tab.active{background:var(--accent-primary)!important;color:#00141a!important}
  body.jz-on .step-no{
    background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary))!important;
    color:#00141a!important;box-shadow:0 2px 8px color-mix(in srgb,var(--accent-primary) 35%,transparent)!important
  }
  body.jz-on .meta-pill.model{color:#7ee7ff!important;background:var(--tint-primary)!important}

  /* 进度条/滑块等强调色 */
  body.jz-on .bar-fill,
  body.jz-on .progress-fill,
  body.jz-on .slider-fill{background:var(--accent-primary)!important}


}

/* ============================================================
   三栏式布局（对齐九折长视频页 .lv-layout{grid-template-columns:1fr 1fr 1fr}）
   jz-shell.js 把各步骤/参数区包进 .jz-cols
   ============================================================ */
@media (min-width: 768px){
  body.jz-on .jz-cols{
    display:grid!important;
    /* 自适应列数（对齐九折 auto-fill/minmax）：由可用宽度决定 3/2/1 栏，不再写死断点 */
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:18px;
    align-items:stretch;
    width:100%;
  }
  /* 每栏 = 九折 .panel（panel-head + panel-body） */
  body.jz-on .jz-cols > .block,
  body.jz-on .jz-cols > section{
    margin:0!important;
    padding:0!important;
    min-width:0;
    align-self:stretch;
    height:100%;
    display:flex!important;
    flex-direction:column;
    background:linear-gradient(145deg,color-mix(in srgb,var(--accent-primary) 8%,transparent),color-mix(in srgb,var(--accent-secondary) 5%,transparent)),color-mix(in srgb,var(--bg-sidebar) 82%,var(--bg-container))!important;
    border:1px solid color-mix(in srgb,var(--accent-primary) 14%,rgba(255,255,255,.06))!important;
    border-radius:14px!important;
    overflow:hidden;
  }
  /* 栏头（block-title）—— 九折 .panel-head */
  body.jz-on .jz-cols > .block > .block-title,
  body.jz-on .jz-cols > section > .block-title{
    margin:0!important;
    padding:14px 18px!important;
    border-bottom:1px solid color-mix(in srgb,var(--border-subtle) 60%,transparent);
    background:color-mix(in srgb,var(--bg-sidebar) 55%,transparent);
    font-size:13px;
    color:var(--text-secondary)!important;
    flex-shrink:0;
  }
  /* 栏体：内部内容留白 */
  body.jz-on .jz-cols > .block > *:not(.block-title):not(style){
    margin-left:16px;margin-right:16px;
  }
  body.jz-on .jz-cols > .block > .block-title + *{margin-top:14px}
  body.jz-on .jz-cols > .block > *:last-child{margin-bottom:16px}
}

/* 说明：列数由 grid auto-fit 自适应（不再用固定断点），
   窗口/显示缩放导致可用宽度变化时，栏目自动 3→2→1 平滑折叠。 */

/* 栏内：把 block-title 视觉提到最前（源码里「创作模式」等字段排在标题之前） */
@media (min-width: 768px){
  body.jz-on .jz-cols > .block > .block-title,
  body.jz-on .jz-cols > section > .block-title{order:-1}
  /* 标题之后的首个元素留出顶部间距 */
  body.jz-on .jz-cols > .block > .block-title + *,
  body.jz-on .jz-cols > .block > *:not(.block-title):first-of-type{margin-top:14px}
  /* 字段行左右留白（排除标题） */
  body.jz-on .jz-cols > .block > .field,
  body.jz-on .jz-cols > .block > .field-row,
  body.jz-on .jz-cols > .block > .row-actions,
  body.jz-on .jz-cols > .block > .img-actions,
  body.jz-on .jz-cols > .block > .hint-text,
  body.jz-on .jz-cols > .block > .green-box-wrap,
  body.jz-on .jz-cols > .block > .audio-block,
  body.jz-on .jz-cols > .block > .pick-big{margin-left:16px;margin-right:16px}
  body.jz-on .jz-cols > .block > .pick-big{margin-top:14px}
}

/* 各工具页内联的「生成」主按钮（红紫渐变）→ 九折青渐变 */
@media (min-width: 768px){
  body.jz-on .pa-go,
  body.jz-on .po-go,
  body.jz-on .di-go,
  body.jz-on .sm-go,
  body.jz-on .rp-go{
    background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary))!important;
    color:#00141a!important;font-weight:800!important;
    border:0!important;border-radius:10px!important;
    box-shadow:0 4px 16px color-mix(in srgb,var(--accent-primary) 28%,transparent)!important
  }
  body.jz-on .pa-go:disabled,body.jz-on .po-go:disabled,
  body.jz-on .di-go:disabled,body.jz-on .sm-go:disabled,
  body.jz-on .rp-go:disabled{opacity:.4!important;box-shadow:none!important}
  /* 工具页顶部标题条：去掉原红色标题字，统一成主色 */
  body.jz-on .pa-bar .t,body.jz-on .po-bar .t,
  body.jz-on .di-bar .t,body.jz-on .sm-bar .t{color:var(--text-primary)!important}
  body.jz-on .pa-bar .pre b,body.jz-on .po-bar .pre b,
  body.jz-on .di-bar .pre b,body.jz-on .sm-bar .pre b{color:var(--accent-primary)!important}
}

/* ============================================================
   两栏式布局（对齐九折工具页：左「主表单」大栏 + 右「参数」侧栏）
   用于 m4 产品广告 / m5 宣传海报 / m6 菜品图
   jz-shell.js 把各 .xx-sec 分配到 .jz-col--main / .jz-col--side
   ============================================================ */
@media (min-width: 768px){
  body.jz-on .jz-cols--2{
    display:flex!important;
    flex-wrap:wrap;            /* 空间不足 → 侧栏自动换行到下方 */
    gap:18px;
    align-items:flex-start;
    width:100%;
  }
  body.jz-on .jz-cols--2 > .jz-col{min-width:0;display:flex;flex-direction:column}
  /* 主栏 : 侧栏 ≈ 1.85 : 1；基准宽决定折点，宽窄连续伸缩（不写断点） */
  body.jz-on .jz-cols--2 > .jz-col--main{flex:1.85 1 460px}
  body.jz-on .jz-cols--2 > .jz-col--side{flex:1 1 300px}
  /* 每栏 = 九折 .panel */
  body.jz-on .jz-cols--2 > .jz-col--main{
    background:linear-gradient(145deg,color-mix(in srgb,var(--accent-primary) 8%,transparent),color-mix(in srgb,var(--accent-secondary) 5%,transparent)),color-mix(in srgb,var(--bg-sidebar) 82%,var(--bg-container))!important;
    border:1px solid color-mix(in srgb,var(--accent-primary) 14%,rgba(255,255,255,.06))!important;
    border-radius:14px!important;
    padding:18px 18px 4px;
  }
  body.jz-on .jz-cols--2 > .jz-col--side{
    background:linear-gradient(145deg,color-mix(in srgb,var(--accent-primary) 8%,transparent),color-mix(in srgb,var(--accent-secondary) 5%,transparent)),color-mix(in srgb,var(--bg-sidebar) 82%,var(--bg-container))!important;
    border:1px solid color-mix(in srgb,var(--accent-primary) 14%,rgba(255,255,255,.06))!important;
    border-radius:14px!important;
    padding:18px 18px 4px;
    position:sticky;
    top:14px;
  }
  /* 生成按钮：主栏内通栏，位置贴底 */
  body.jz-on .jz-cols--2 > .jz-col--main > .jz-gen,
  body.jz-on .jz-cols--2 > .jz-col--main > button[class$="-go"]{
    margin:14px 16px 16px!important;
    width:calc(100% - 32px)!important;
  }
  body.jz-on .jz-cols--2 > .jz-col--side > button[class$="-go"]{
    margin:14px 16px 16px!important;
    width:calc(100% - 32px)!important;
  }
  /* 侧栏里的区块间距收紧 */
  body.jz-on .jz-cols--2 > .jz-col--side > .pa-sec,
  body.jz-on .jz-cols--2 > .jz-col--side > .po-sec,
  body.jz-on .jz-cols--2 > .jz-col--side > .di-sec{
    margin:0 0 14px!important;
  }
  body.jz-on .jz-cols--2 > .jz-col--side > .pa-sec:last-child,
  body.jz-on .jz-cols--2 > .jz-col--side > .po-sec:last-child,
  body.jz-on .jz-cols--2 > .jz-col--side > .di-sec:last-child{margin-bottom:4px!important}
  /* 两栏模式下 wrap 不再限宽 720px */
  body.jz-on .pa-wrap,body.jz-on .po-wrap,body.jz-on .di-wrap,body.jz-on .sm-wrap{max-width:none!important;margin:0!important}
  /* 顶部标题条移到两栏上方 */
  body.jz-on .pa-bar,body.jz-on .po-bar,body.jz-on .di-bar{margin-bottom:16px!important}
}
/* 说明：两栏用 flex-wrap 自适应（主栏 basis 460px + 侧栏 basis 300px），
   可用宽度不足时侧栏自动换到下方成为单栏，无需断点。 */

/* ============================================================
   首页（index）—— 对齐九折 HomePage：
   .home-banner(220px) + .quick-entry-container / .quick-grid / .quick-btn
   ============================================================ */
@media (min-width: 768px){
  body.jz-on .jz-hub{margin:0 0 22px;display:flex;flex-direction:column;gap:18px}

  /* ① Hero Banner（对齐九折 .home-banner） */
  body.jz-on .jz-hero{
    position:relative;height:220px;border-radius:16px;overflow:hidden;
    background:
      radial-gradient(ellipse at 20% 30%,color-mix(in srgb,var(--accent-primary) 25%,#000) 0%,transparent 55%),
      radial-gradient(ellipse at 75% 70%,color-mix(in srgb,var(--accent-secondary) 20%,#000) 0%,transparent 50%),
      radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--accent-pink) 12%,#000) 0%,transparent 40%),
      radial-gradient(circle at 85% 20%,color-mix(in srgb,var(--accent-primary) 8%,#000) 0%,transparent 35%),
      #020208;
    border:1px solid color-mix(in srgb,var(--accent-primary) 15%,transparent);
  }
  body.jz-on .jz-hero-inner{
    position:relative;z-index:1;height:100%;display:flex;align-items:center;
    justify-content:space-between;gap:20px;padding:0 36px;
  }
  body.jz-on .jz-hero-left{display:flex;flex-direction:column;gap:6px;min-width:0}
  body.jz-on .jz-hero-en{
    font-size:28px;font-weight:700;letter-spacing:2px;line-height:1.1;
    background:linear-gradient(90deg,#00c8e8,#00e5ff);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  }
  body.jz-on .jz-hero-cn{font-size:40px;font-weight:700;color:#fff;letter-spacing:3px;line-height:1.15}
  body.jz-on .jz-hero-desc{font-size:14px;color:#ffffffa6;letter-spacing:2px;margin-top:4px}
  body.jz-on .jz-hero-right{flex-shrink:0;display:flex;align-items:center;gap:14px}
  body.jz-on .jz-hero-orb{
    width:132px;height:132px;border-radius:50%;
    background:radial-gradient(circle at 35% 32%,color-mix(in srgb,var(--accent-pink) 55%,#000) 0%,color-mix(in srgb,var(--accent-primary) 40%,#000) 42%,transparent 72%);
    box-shadow:0 0 60px color-mix(in srgb,var(--accent-primary) 35%,transparent);
    display:flex;align-items:center;justify-content:center;font-size:56px;
    animation:jzOrbPulse 4.5s ease-in-out infinite;
  }
  @keyframes jzOrbPulse{0%,100%{transform:scale(1);opacity:.92}50%{transform:scale(1.06);opacity:1}}

  /* ② 快捷入口（对齐九折 .quick-entry-container / .quick-grid / .quick-btn） */
  body.jz-on .jz-quick-box{
    background:linear-gradient(145deg,color-mix(in srgb,var(--accent-primary) 8%,transparent),color-mix(in srgb,var(--accent-secondary) 5%,transparent)),color-mix(in srgb,var(--bg-sidebar) 82%,var(--bg-container));
    border:1px solid color-mix(in srgb,var(--accent-primary) 16%,rgba(255,255,255,.06));
    border-radius:16px;padding:20px;
  }
  body.jz-on .jz-quick-title{
    display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;letter-spacing:2px;
    color:var(--text-primary);padding-bottom:10px;margin-bottom:20px;
    border-bottom:1px solid var(--border-subtle);
  }
  body.jz-on .jz-quick-title svg{width:18px;height:18px;color:var(--accent-primary)}
  body.jz-on .jz-quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px}
  body.jz-on .jz-qbtn{
    position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
    padding:16px 10px 14px;border-radius:16px;cursor:pointer;text-decoration:none;overflow:hidden;
    color:var(--text-secondary);transition:all .35s cubic-bezier(.4,0,.2,1);
    background:linear-gradient(180deg,color-mix(in srgb,var(--accent-primary) 9%,transparent),color-mix(in srgb,var(--accent-secondary) 5%,transparent)),color-mix(in srgb,var(--bg-sidebar) 72%,var(--bg-card));
    border:1px solid color-mix(in srgb,var(--accent-primary) 28%,rgba(255,255,255,.09));
    box-shadow:inset 0 0 0 1px #ffffff06;
  }
  body.jz-on .jz-qbtn:before{
    content:"";position:absolute;inset:0;opacity:0;transition:opacity .35s;
    background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--accent-primary) 25%,transparent) 0%,transparent 60%);
  }
  body.jz-on .jz-qbtn:hover{
    color:var(--text-primary);transform:translateY(-3px);
    border-color:color-mix(in srgb,var(--accent-primary) 35%,transparent);
    box-shadow:0 8px 32px color-mix(in srgb,var(--accent-primary) 18%,transparent),0 2px 8px #0006,inset 0 1px #ffffff0a;
  }
  body.jz-on .jz-qbtn:hover:before{opacity:1}
  body.jz-on .jz-qbtn svg{position:relative;z-index:1;width:32px;height:32px;color:var(--accent-primary);transition:all .35s}
  body.jz-on .jz-qbtn:hover svg{color:#fff;filter:drop-shadow(0 0 8px var(--accent-primary))}
  body.jz-on .jz-qbtn .jz-qlabel{position:relative;z-index:1;font-size:14px;font-weight:500;letter-spacing:2px}
  body.jz-on .jz-qbtn .jz-qdesc{position:relative;z-index:1;font-size:11px;color:var(--text-muted);letter-spacing:1px}
}

/* 首页 Banner 科技感粒子画布（复刻九折 .banner-canvas） */
@media (min-width: 768px){
  body.jz-on .jz-hero-canvas{
    position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;
    pointer-events:none;z-index:0;display:block;
  }
  body.jz-on .jz-hero-inner{position:relative;z-index:2}
}

/* ============================================================
   登录页（对齐九折 .admin-login-page / .admin-login-card）
   未登录时 body.jz-login → 全屏登录页取代主界面
   ============================================================ */
@media (min-width: 768px){
  /* 未登录：隐藏外壳（侧栏/顶栏/内容），只留全屏登录页 */
  body.jz-login .jz-shell{display:none!important}

  /* 全屏登录页容器 */
  body.jz-login .overlay,
  body.jz-login #loginOverlay{
    display:flex!important;
    position:fixed!important;inset:0!important;z-index:200;
    padding:24px 24px 0;
    overflow:auto;
    align-items:stretch!important;justify-content:center!important;
    background:
      radial-gradient(circle at 20% 15%,color-mix(in srgb,var(--accent-primary) 18%,transparent),transparent 32%),
      var(--bg-page)!important;
  }
  body.jz-login .overlay.hide{display:none!important}

  .jz-login-page{
    position:relative;width:100%;max-width:1100px;margin:auto;
    display:flex;flex-direction:column;justify-content:center;
  }
  .jz-login-canvas{
    position:absolute;inset:0;width:100%;height:100%;
    pointer-events:none;z-index:0;display:block;
  }

  /* 两栏卡（左文案 + 右表单）—— 对齐九折 .admin-login-card */
  .jz-login-cardbox{
    position:relative;z-index:1;
    width:min(960px,100%);margin:auto;
    display:grid;grid-template-columns:1fr 420px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);border-radius:18px;
    background:linear-gradient(145deg,#ffffff12,#ffffff06);
    box-shadow:0 28px 80px rgba(0,0,0,.45);
    backdrop-filter:blur(2px);
  }
  /* 左栏：品牌文案 */
  .jz-login-copy{
    padding:48px;display:flex;flex-direction:column;justify-content:center;gap:14px;
  }
  .jz-login-kicker{
    font-weight:800;letter-spacing:.08em;text-transform:uppercase;
    background:linear-gradient(135deg,var(--accent-primary),var(--accent-pink));
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  }
  .jz-login-copy h1{
    margin:0;font-size:34px;line-height:1.25;color:var(--text-primary);font-weight:800;
  }
  .jz-login-copy p{
    margin:0;color:var(--text-secondary);line-height:1.8;font-size:14px;
  }
  .jz-login-feats{
    list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;
  }
  .jz-login-feats li{
    font-size:13.5px;color:var(--text-secondary);
    padding-left:2px;
  }

  /* 右栏：表单（原 .login-card 搬进来，去掉旧的浮层外观） */
  .jz-login-form{
    padding:36px;background:#00000038;
    display:flex;align-items:center;
  }
  body.jz-login .jz-login-form .login-card{
    width:100%!important;max-width:none!important;
    background:transparent!important;border:0!important;box-shadow:none!important;
    border-radius:0!important;padding:0!important;
    display:flex;flex-direction:column;
  }
  body.jz-login .jz-login-form .login-title{
    font-size:22px;font-weight:800;text-align:left;color:var(--text-primary)!important;
    margin-bottom:4px;
  }
  body.jz-login .jz-login-form .login-sub{
    text-align:left;margin:0 0 20px;
    color:var(--text-secondary)!important;font-size:13px;line-height:1.7;
  }
  body.jz-login .jz-login-form .login-input{
    width:100%;background:#ffffff0a!important;border:1px solid rgba(255,255,255,.12)!important;
    color:var(--text-primary)!important;border-radius:8px!important;
    padding:12px 14px;font-size:14px;margin-bottom:12px;outline:none;
  }
  body.jz-login .jz-login-form .login-input:focus{
    border-color:var(--accent-primary)!important;background:#ffffff12!important;
  }
  body.jz-login .jz-login-form .login-btn{
    width:100%!important;min-height:44px;margin-top:6px;
  }
  body.jz-login .jz-login-form .login-err{
    text-align:left;margin-top:12px;
  }
  /* Google 第三方登录（2026-09-22） */
  body.jz-login .jz-login-form .jz-login-or{
    position:relative;text-align:center;margin:16px 0 12px;
    color:var(--text-secondary);font-size:12px;
  }
  body.jz-login .jz-login-form .jz-login-or::before{
    content:"";position:absolute;left:0;right:0;top:50%;height:1px;
    background:rgba(255,255,255,.12);
  }
  body.jz-login .jz-login-form .jz-login-or::after{
    content:attr(data-or);position:relative;z-index:1;
    background:var(--bg-page);padding:0 10px;
  }
  body.jz-login .jz-login-form .jz-google-btn{
    display:flex;align-items:center;justify-content:center;gap:10px;
    width:100%;min-height:44px;box-sizing:border-box;
    border:1px solid rgba(255,255,255,.16);border-radius:8px;
    background:#ffffff0a;color:var(--text-primary);
    font-size:14px;font-weight:600;text-decoration:none;
    transition:background .15s,border-color .15s;
  }
  body.jz-login .jz-login-form .jz-google-btn:hover{
    background:#ffffff14;border-color:rgba(255,255,255,.28);
  }
  /* 登录页下方「退出登录」（已登录统一账号时显示 · 全站退出） */
  body.jz-login .jz-login-form .jz-logout-all{
    display:block;text-align:center;margin-top:16px;
    font-size:13px;color:var(--text-secondary);text-decoration:none;
    cursor:pointer;transition:color .15s;
  }
  body.jz-login .jz-login-form .jz-logout-all:hover,
  body.jz-login .jz-login-form .jz-logout-all:focus{
    color:var(--text-primary);text-decoration:underline;
  }

  /* 窄屏：折回单栏（对齐九折 @media max-width:860px） */
  @media (max-width:860px){
    .jz-login-cardbox{grid-template-columns:1fr}
    .jz-login-copy{padding:32px 28px 8px}
    .jz-login-copy h1{font-size:26px}
    .jz-login-feats{display:none}
    .jz-login-form{padding:24px 28px 32px}
  }
}

/* 2026-10-11 Lenso 双语 logo */
.brand img.logo{height:30px;width:30px;border-radius:8px;flex-shrink:0}
  .brand .brand-name{font-size:18px;font-weight:700}
.jz-side-logo{gap:6px}
  .jz-side-logo img{height:24px;width:24px;border-radius:6px;flex-shrink:0}
  .jz-side-logo .jz-brand-name{font-size:16px;font-weight:700;white-space:nowrap}
