  /* ---------- v204：主页（项目层） ---------- */
  #homeView{position:fixed;inset:0;z-index:60;background:var(--bg);overflow-y:auto}
  #homeView[hidden]{display:none}
  /* v297：主页底部视觉 = 复用「从画布选择」的蓝渐变 + 上浮像素方块（.rp-dots258/.rp-px258 原类零改动直接复用） */
  .home-glow297{position:fixed;left:0;right:0;bottom:0;height:86px;z-index:-1;pointer-events:none;overflow:hidden}   /* v310：渐变撤掉，只留上浮像素方块 */
  /* v313：主页底部像素方块 —— v310 撤掉渐变后只剩白方块，白方块在亮色浅底上几乎看不见，
     所以亮色改用品牌青蓝；暗色仍保持白色（v310 用户口径「只保留像素」）。 */
  .home-glow297 .rp-px258{background:rgba(90,143,163,.85)}
  html[data-theme="dark"] .home-glow297 .rp-px258{background:rgba(255,255,255,.95)}
  .home-acct{position:absolute;top:12px;right:14px;display:flex;align-items:center;gap:8px;z-index:1}
  /* v280：积分（右上角胶囊 + 小窗 + 充值窗） */
  /* v319：星尘胶囊去掉按钮框 —— 常态与窗口同色（无框、无底色），只有鼠标压上去才显色；
     与生产节点底部 chip 键（.vgen-chip230）同款。⚠️ 胶囊 HTML 带 btn ghost 两个类，
     暗色下 html[data-theme="dark"] .btn.ghost 的底色优先级更高 ⇒ 必须用 .btn.ghost.credit-pill280
     这种更高权重（0,3,0 / 暗色 0,4,0）才盖得住。 */
  .credit-pill280{display:inline-flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}
  .btn.ghost.credit-pill280{background:transparent;border:none;color:var(--text);padding:7px 10px;border-radius:10px;transition:.15s}
  html[data-theme="dark"] .btn.ghost.credit-pill280{background:transparent;border-color:transparent;color:var(--text)}
  .btn.ghost.credit-pill280:hover{background:var(--accent-soft);color:var(--text)}
  html[data-theme="dark"] .btn.ghost.credit-pill280:hover{background:var(--accent-soft);color:var(--text)}
  .credit-pill280:focus{outline:none;box-shadow:none}
  .credit-pill280 b{color:var(--accent);font-weight:700}
  /* v322：右上角 ⚙ 改正方形（用户口径「右上角的设置按钮改为正方形」）——
     两处 ⚙（顶栏 #acctGear / 主页 #homeGear204）边长统一 30px（= 顶栏既有按钮高 30px，
     与同排「星尘」胶囊等高）。⚠️ 顶栏那条必须连 #acctArea 一起写，才压得过
     `#acctArea .btn` 的 padding 覆盖（id 权重 > 单类）；主页那条因容器 .home-acct
     没给高度，必须显式写 height，否则会缩成一行文字的高度。
     v350：正方形 → 圆头像（账户名首字母；没名字 = 「?」），「⚙」字形全站退役。 */
  #acctArea #acctGear,
  #homeGear204{
    width:30px;height:30px;flex:0 0 30px;padding:0;box-sizing:border-box;
    border-radius:50%;background:var(--accent-soft);border-color:var(--accent);
    color:var(--accent);font-weight:700;font-size:13.5px;line-height:1;
  }
  #acctArea #acctGear:hover,
  #homeGear204:hover{background:var(--accent);border-color:var(--accent);color:#fff}
  .credit-pop280{position:fixed;z-index:80;width:272px;max-height:calc(100vh - 24px);overflow:auto;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 34px rgba(10,12,20,.35)}
  .credit-pop280[hidden]{display:none}
  .cp-head280{font-size:12px;font-weight:600;color:var(--text);padding:0 2px 8px}
  .cp-bal280{display:flex;align-items:baseline;gap:6px;padding:0 2px 8px}
  .cp-bal280 b{font-size:26px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}
  .cp-bal280 span{font-size:12px;color:var(--text-3)}
  .cp-note280{font-size:11px;color:var(--text-3);line-height:1.55;padding:0 2px 8px}
  .cp-rows280{max-height:186px;overflow:auto;border-top:1px solid var(--line);padding-top:6px}
  .cp-row280{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--text-2);padding:5px 2px}
  .cp-row280 i{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cp-row280 em{font-style:normal;font-variant-numeric:tabular-nums;color:var(--text-3);white-space:nowrap}
  .cp-row280.minus em{color:#e04646}
  .cp-act280{display:flex;justify-content:flex-end;gap:8px;padding-top:10px}
  .cp-btn280{appearance:none;border:1px solid var(--line);background:transparent;color:var(--text);font:inherit;font-size:12.5px;padding:6px 14px;border-radius:8px;cursor:pointer}
  .cp-btn280:hover{border-color:var(--accent);color:var(--accent)}
  .cp-btn280.primary{background:var(--accent);border-color:var(--accent);color:#0b0d12;font-weight:600}
  .cp-btn280.primary:hover{filter:brightness(1.08);color:#0b0d12}
  .cp-tiers280{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 2px 8px}
  .cp-tier280{appearance:none;border:1px solid var(--line);background:var(--sunken);color:var(--text);font:inherit;font-size:13px;padding:9px 8px;border-radius:9px;cursor:pointer;text-align:center;line-height:1.4}
  .cp-tier280:hover{border-color:var(--accent);color:var(--accent)}
  .cp-tier280 b{display:block;font-size:15px;font-weight:700}
  .cp-tier280 span{font-size:11px;color:var(--text-3)}
  /* v281：真实支付区（微信扫码 / 支付宝跳转） */
  .cp-pay281{border-top:1px solid var(--line);margin:0 2px 8px;padding:10px 0 0}
  .cp-pay281[hidden]{display:none}
  .cp-pay-ch281{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-bottom:9px}
  /* v315：与视频生成选项按钮同款三态 */
  .cp-ch281{appearance:none;border:1px solid var(--line);background:var(--card);color:var(--text);font:500 12.5px/1 var(--sans);padding:9px 4px;border-radius:10px;cursor:pointer;white-space:nowrap;transition:.15s}
  .cp-ch281:hover{border-color:var(--accent);color:var(--accent)}
  .cp-ch281.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
  html[data-theme="dark"] .cp-ch281{background:#232631;border-color:transparent;color:#e8eaf1}
  html[data-theme="dark"] .cp-ch281:hover{background:#262a35;color:var(--accent)}
  html[data-theme="dark"] .cp-ch281.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
  .cp-qr281{width:176px;height:176px;margin:0 auto 6px;padding:8px;background:#fff;border-radius:10px;display:grid;place-items:center}
  .cp-qr281 svg{width:100%;height:100%;display:block}
  .cp-go281{appearance:none;width:100%;border:1px solid var(--accent);background:var(--accent);color:#06121a;font:inherit;font-size:13px;font-weight:600;padding:10px;border-radius:9px;cursor:pointer}
  .cp-go281:hover{filter:brightness(1.08)}
  .cp-pay-tip281{font-size:11px;color:var(--text-3);line-height:1.6;padding:6px 2px 0;word-break:break-all;text-align:center}
  .home-hero{margin:16vh auto 22px;text-align:center;pointer-events:none}
  /* v299：主页输入对话框 —— 发送即新建项目并进主界面，内容预填到主界面聊天框 */
  .home-ask299{width:min(680px,calc(100vw - 80px));margin:0 auto 40px;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:10px 12px;display:flex;align-items:flex-end;gap:8px;transition:border-color .15s}
  .home-ask299:focus-within{border-color:var(--accent)}
  .home-ask-ta299{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:500 13.5px/1.5 var(--sans);resize:none;height:24px;max-height:120px;padding:0}
  .home-ask-ta299::placeholder{color:var(--text-3)}
  .home-ask-go299{width:34px;height:34px;flex:0 0 34px;border-radius:50%;border:0;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#0b0d12;display:grid;place-items:center;cursor:pointer;transition:.15s}
  .home-ask-go299 svg{width:17px;height:17px}
  .home-ask-go299:hover{filter:brightness(1.06)}
  .home-title{font-size:34px;font-weight:700;color:var(--text);letter-spacing:.04em}
  .home-grid{width:min(1240px,calc(100vw - 80px));margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-bottom:60px}
  @media (max-width:980px){.home-grid{grid-template-columns:repeat(2,1fr)}}
  .home-card{position:relative;aspect-ratio:16/10;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--card);cursor:pointer;padding:0;font:inherit;text-align:left;transition:.15s}
  .home-card:hover{transform:translateY(-2px);border-color:var(--line-strong)}
  .home-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
  .home-card .scrim204{position:absolute;left:0;right:0;bottom:0;height:56px;background:linear-gradient(transparent,rgba(0,0,0,.55));border:0}
  .home-card .nm{position:absolute;left:12px;bottom:9px;right:12px;color:#fff;font-size:13px;font-weight:600;z-index:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 4px rgba(0,0,0,.55)}
  .home-more278{position:absolute;right:8px;bottom:8px;z-index:2;width:26px;height:26px;border-radius:8px;background:rgba(10,12,20,.55);display:grid;place-items:center;color:#fff;opacity:0;transition:opacity .15s;cursor:pointer}
  .home-card:hover .home-more278{opacity:1}
  .home-more278:hover{background:rgba(10,12,20,.8);color:var(--accent)}
  .home-more278 svg{display:block}
  .home-card.new{background:transparent;border:1.5px dashed var(--line-strong);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-2);font-size:12.5px}
  .home-card.new .plus{width:44px;height:44px;border-radius:12px;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;font-size:20px;color:var(--text);line-height:1}
  .home-card.new:hover{border-color:var(--accent);color:var(--accent)}
  /* 项目切换胶囊（画布左上角：logo = 回主页，胶囊 = 项目下拉） */
  .proj-logo204{appearance:none;border:0;background:transparent;padding:2px 4px;cursor:pointer;display:inline-flex;align-items:center;border-radius:8px}
  .proj-logo204 .brand-logo{height:22px;border-radius:5px;display:block}
  .proj-pill204{appearance:none;border:0;background:transparent;color:var(--text);font:inherit;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:9px}
  .proj-pill204:hover{background:var(--accent-soft)}
  .proj-pill204 .proj-chev204{display:block;opacity:.6}
  .proj-menu204{position:fixed;z-index:70;min-width:210px;padding:6px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 34px rgba(10,12,20,.25)}
  .proj-menu204[hidden]{display:none}

  /* ---------- v348：左上角项目键拆两颗 + 项目全局设置面板 ---------- */
  .proj-split348{display:inline-flex;align-items:center;gap:4px}
  .topbar-left .proj-chev348{padding:0 7px}   /* 箭头键窄一点（名称键保持 0 9px） */
  .proj-chev348 .proj-chev204{display:block;opacity:.6}

  .modal.projset348{max-width:640px;padding:22px}
  .ps-sec348{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
  .ps-sec348:first-of-type{border-top:0;padding-top:0}
  .ps-sec-t348{font-size:13.5px;font-weight:600;color:var(--text)}
  .ps-sec-s348{margin-top:4px;font-size:11.5px;line-height:1.65;color:var(--text-3)}
  .ps-sec-s348.warn348{color:#c2703a}   /* 警示口径（深色另配一支） */
  html[data-theme="dark"] .ps-sec-s348.warn348{color:#e5a76b}
  /* v349：美术风格改「按钮组」—— 生图 / 生视频下方选择按钮（.spec-opt249 / .at-opt313）同款三态，不再用下拉。
     ⚠️ 字体别抄 var(--sans)（全站没定义，那条 shorthand 是哑的）；行标签走 .at-lab313 同款小灰字。 */
  .ps-rows348{margin-top:12px;display:flex;flex-direction:column;gap:14px}
  .ps-lab348{display:block;font-size:11.5px;line-height:1;color:var(--text-3);margin:0 0 7px;padding-left:2px}
  .ps-pick348{display:flex;flex-wrap:wrap;gap:6px}
  .ps-art348{appearance:none;border:1px solid var(--line);background:var(--card);color:var(--text);
    font-family:inherit;font-size:12.5px;font-weight:500;line-height:1;padding:8px 12px;border-radius:10px;
    cursor:pointer;transition:.15s}
  /* v354：按钮左右放满 —— flex-wrap 下每行按钮等比拉开铺满整行（末行同样铺满），四组共用一次改齐 */
  .ps-art348{flex:1 1 auto;min-width:0;text-align:center}
  /* v358：头身比例组 = 一排 3 个等宽对齐（6 项正好 3×2，行行铺满不留空） */
  .ps-3col358 .ps-art348{flex:0 0 calc((100% - 12px) / 3)}
  .ps-art348:hover{border-color:var(--accent);color:var(--accent)}
  .ps-art348.on348{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
  html[data-theme="dark"] .ps-art348{background:#232631;border-color:transparent;color:#e8eaf1}
  html[data-theme="dark"] .ps-art348:hover{background:#262a35;color:var(--accent)}
  html[data-theme="dark"] .ps-art348.on348{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
  /* v349：标题旁小问号 + 说明浮层（浮层挂 body、JS 摆位 —— 左右不出屏、底下放不下翻上面） */
  .ps-q348{appearance:none;border:1px solid var(--line-strong);background:var(--sunken);color:var(--text-3);
    width:16px;height:16px;border-radius:50%;font-family:inherit;font-size:10.5px;line-height:1;font-weight:600;
    display:inline-grid;place-items:center;cursor:help;margin-left:6px;vertical-align:1px;padding:0;transition:.15s}
  .ps-q348:hover{border-color:var(--accent);color:var(--accent)}
  .ps-tip348{position:fixed;left:0;top:0;z-index:90;max-width:320px;padding:8px 10px;background:var(--card);
    color:var(--text);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);
    font-size:11.5px;line-height:1.6;font-weight:400;pointer-events:none}
  .ps-tip348[hidden]{display:none}
  html[data-theme="dark"] .ps-tip348{background:#191c24;border-color:#262a35}
  .ps-cards348{margin-top:12px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
  .ps-cards348.is-two348{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ps-card348{appearance:none;border:1px solid var(--line);background:var(--card);color:var(--text);
    border-radius:11px;padding:10px 9px;cursor:pointer;transition:.15s;
    display:flex;flex-direction:column;gap:4px;min-width:0;text-align:left;font:inherit}
  .ps-card348:hover{border-color:var(--accent);color:var(--accent)}
  .ps-card348 b{font-size:12px;font-weight:600;line-height:1.3}
  .ps-card348 i{font-style:normal;font-size:10.5px;line-height:1.35;color:var(--text-3)}
  .ps-card348.on348{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
  .ps-card348.on348 i{color:var(--accent);opacity:.9}
  .proj-menu-head204{font-size:11px;color:var(--text-3);padding:5px 10px 3px}
  .proj-menu-it204{appearance:none;border:0;background:transparent;width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text);font:inherit;font-size:13px;padding:8px 10px;border-radius:8px;cursor:pointer;text-align:left}
  .proj-menu-it204:hover{background:var(--accent-soft);color:var(--accent)}
  .proj-menu-it204.on{background:var(--accent-soft)}
  .proj-more278{appearance:none;border:0;background:transparent;color:var(--text-3);width:22px;height:22px;flex:none;display:grid;place-items:center;border-radius:6px;cursor:pointer;padding:0}
  .proj-more278:hover{background:var(--sunken);color:var(--accent)}
  .proj-more278 svg{display:block}
  .proj-menu-sep204{height:1px;background:var(--line);margin:5px 4px}
  .proj-menu-new204{appearance:none;border:0;background:transparent;width:100%;display:flex;align-items:center;justify-content:space-between;color:var(--text);font:inherit;font-size:13px;padding:8px 10px;border-radius:8px;cursor:pointer}
  .proj-menu-new204:hover{background:var(--accent-soft);color:var(--accent)}
  .proj-menu-new204 .plus{width:22px;display:grid;place-items:center;line-height:1}   /* v279：＋ 收进与三点同宽的列，两列圆心对齐 */
  .proj-ren278{position:fixed;z-index:80;width:232px;padding:10px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 34px rgba(10,12,20,.35)}
  .proj-ren278[hidden]{display:none}
  .proj-ren278 .hd278{font-size:11px;color:var(--text-3);padding:2px 2px 6px}
  .proj-ren278 input{width:100%;box-sizing:border-box;background:var(--sunken);border:1px solid var(--line);color:var(--text);font:inherit;font-size:13px;padding:7px 9px;border-radius:8px;outline:none}
  .proj-ren278 input:focus{border-color:var(--accent)}
  .proj-ren278 .row278{display:flex;justify-content:flex-end;padding-top:8px}
  .proj-ren278 .ok278{appearance:none;border:0;background:var(--accent);color:#0b0d12;font:inherit;font-size:12.5px;font-weight:600;padding:6px 14px;border-radius:8px;cursor:pointer}
  .proj-ren278 .ok278:hover{filter:brightness(1.08)}
  /* v291：项目三点菜单（重命名 / 删除） */
  .proj-more291{position:fixed;z-index:80;min-width:112px;padding:4px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 34px rgba(10,12,20,.35)}
  .proj-more291[hidden]{display:none}
  .proj-more-it291{appearance:none;display:block;width:100%;box-sizing:border-box;border:0;background:transparent;color:var(--text);font:inherit;font-size:12.5px;text-align:left;padding:7px 10px;border-radius:7px;cursor:pointer}
  .proj-more-it291:hover{background:var(--sunken)}
  .proj-more-it291.danger291{color:#e5636a}
  .proj-more-it291.danger291:hover{background:rgba(229,99,106,.12)}
  #homeMenu204{z-index:70}
  /* v314：顶栏 ⚙ 菜单同款提层 —— 主界面整页层 .ai-page285（z48、top:62px 起）与主页 #homeView（z60）
     都盖得过 z34 的菜单（菜单 top:64px 起，正好撞进层里）= 用户报的「已登录时 ⚙ 设置点不开」。
     主页那份当年已提到 70，顶栏这份漏了（同类一次改齐）。星尘窗（.credit-pop280 z80）/ 充值窗同层 / 登录弹窗（z95）本来就盖得住，不用动。 */
  #acctMenu{z-index:70}
