/* ============================================================================
 * tl3-create.css · 天睐智能体 ·【创作】五功能统一外壳（总007·Z603 正式落地）
 * 蓝本＝_重做提案_创作五功能_20260708/创作五功能·统一外壳原型_v2.html（老板已认可总体思路）
 * 变化：cw- 前缀防冲突；与 v3 全局顶栏(#tlBar)共存（外壳自身不再画顶栏钱包）；
 *      字号整体加大（老板：全站文字要醒目）；品牌 logo 用正版彩环色值（Z606）。
 * 铁律：零 emoji；单色 SVG；米纸·赭红品牌令牌沿用 tl3.css :root。
 * ========================================================================== */

body[data-view="create"]{overflow:hidden}
.cw-app{position:fixed;inset:0;z-index:10;display:grid;grid-template-columns:268px 1fr;
  padding-top:56px;background:var(--paper)}

/* ================= 左侧栏 ================= */
.cw-side{display:flex;flex-direction:column;min-height:0;background:var(--paper2);
  border-right:1px solid var(--line)}
.cw-brand{display:flex;align-items:center;gap:10px;padding:16px 20px 12px}
/* 007v3·V1：正版 logo 归位（原 CSS 彩环 donut 退役） */
.cw-brand .lg{width:26px;height:26px;flex:none;display:block;object-fit:contain}
.cw-brand .bn{font-size:15px;font-weight:700;letter-spacing:.3em;color:var(--ink)}
.cw-new{margin:4px 16px 12px;display:flex;align-items:center;justify-content:center;gap:8px;
  background:var(--red);color:#fff;font-size:14.5px;font-weight:600;letter-spacing:.14em;
  padding:12px 0;transition:background .2s var(--ease)}
.cw-new:hover{background:var(--red-d)}
.cw-new svg{width:14px;height:14px;stroke:#fff}
.cw-sec{padding:8px 18px 3px;font-size:11.5px;letter-spacing:.28em;color:var(--mute)}
.cw-nav{padding:2px 10px 6px}
.cw-nav-item{display:flex;align-items:center;gap:12px;padding:10px 10px;cursor:pointer;
  position:relative;transition:background .16s}
.cw-nav-item:hover{background:var(--paper3)}
.cw-nav-item.on{background:#fff}
.cw-nav-item.on::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--red)}
.cw-nav-ico{width:32px;height:32px;flex:none;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line2);color:var(--ink2);background:var(--paper2)}
.cw-nav-item.on .cw-nav-ico{border-color:var(--red);color:var(--red);background:#fff}
.cw-nav-ico svg{width:17px;height:17px}
.cw-nav-tx{min-width:0}
.cw-nav-tx .zh{font-size:15.5px;font-weight:600;letter-spacing:.06em;color:var(--ink)}
.cw-nav-tx .tg{font-size:13.5px;color:var(--mute);letter-spacing:.02em;margin-top:2px}
.cw-nav-item.on .cw-nav-tx .zh{color:var(--red)}
.cw-recent{flex:1;min-height:0;overflow:auto;padding:4px 10px 8px}
.cw-rc{display:flex;align-items:center;gap:9px;padding:9px 10px;cursor:pointer;transition:background .15s}
.cw-rc:hover{background:var(--paper3)}
.cw-rc .dot{width:5px;height:5px;border-radius:50%;background:var(--line2);flex:none}
.cw-rc.live .dot{background:var(--red)}
.cw-rc span.t{font-size:14px;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.cw-rc span.s{font-size:12px;color:var(--mute);flex:none}
.cw-user{border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:13px 18px;
  cursor:pointer;transition:background .15s}
.cw-user:hover{background:var(--paper3)}
.cw-user .ava{width:30px;height:30px;border-radius:50%;flex:none;color:#fff;font-size:12.5px;font-weight:600;
  display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#c98b6a,#a4573c)}
.cw-user .un{font-size:13.5px;font-weight:600;color:var(--ink)}
.cw-user .ur{font-size:12.5px;color:var(--mute);margin-top:1px}

/* ================= 主区 ================= */
.cw-main{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--paper)}
.cw-modebar{flex:none;display:flex;align-items:center;gap:12px;
  padding:12px clamp(16px,2.6vw,34px) 10px;border-bottom:1px solid var(--line)}
.cw-burger{display:none;width:36px;height:32px;border:1px solid var(--line2);
  align-items:center;justify-content:center;flex:none}
.cw-burger svg{width:16px;height:16px;stroke:var(--ink2)}
.cw-modebar .zh{font-family:var(--serif);font-size:21px;font-weight:700;color:var(--ink)}
.cw-modebar .en{font-size:10px;letter-spacing:.4em;color:var(--mute-deco)}
.cw-modebar .sep{width:1px;height:16px;background:var(--line2)}
.cw-modebar .tg{font-size:13.5px;color:var(--ink3);letter-spacing:.02em;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}

/* ---------- 对话区 ---------- */
.cw-thread{flex:1;min-height:0;overflow:auto;padding:22px clamp(14px,3vw,40px) 10px}
.cw-th{display:none}
.cw-th.on{display:block}
.cw-wrap{max-width:800px;margin:0 auto}
.cw-empty{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:26px 10px 40px}
.cw-empty .glyph{font-family:var(--serif);font-weight:900;color:var(--red);line-height:.9;
  font-size:clamp(72px,10.5vw,128px)}
.cw-empty .en{font-size:11px;letter-spacing:.5em;color:var(--mute-deco);margin-top:14px}
.cw-empty .lead{font-family:var(--serif);font-size:clamp(18px,2vw,23px);line-height:1.9;color:var(--ink);
  margin-top:14px;max-width:620px;letter-spacing:.04em}
.cw-empty .explain{margin-top:14px;max-width:580px;font-size:15.5px;line-height:1.95;color:var(--ink3);
  letter-spacing:.02em}
.cw-empty .explain b{color:var(--red)}
.cw-eg{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:24px;max-width:680px}
.cw-eg .chip{border:1px solid var(--line2);background:var(--paper2);padding:10px 17px;font-size:13.5px;
  color:var(--ink2);letter-spacing:.03em;cursor:pointer;transition:all .2s var(--ease)}
.cw-eg .chip:hover{border-color:var(--red);color:var(--red);transform:translateY(-1px);background:#fff}

/* 消息 */
.cw-msg{margin:20px 0}
.cw-msg.u{display:flex;justify-content:flex-end}
.cw-msg.u .bub{background:var(--ink);color:#fff;padding:12px 17px;max-width:78%;font-size:15.5px;
  line-height:1.75;border-radius:12px 12px 2px 12px;letter-spacing:.02em;word-break:break-word}
.cw-msg.u .bub .files{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.cw-msg.u .bub .fchip{display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.14);
  padding:4px 9px;font-size:12.5px;border-radius:3px}
.cw-msg.u .bub .fchip svg{width:12px;height:12px;stroke:#fff}
.cw-msg.a{display:flex;gap:12px}
.cw-msg.a .ava{width:32px;height:32px;flex:none;border-radius:50%;color:#fff;font-size:13.5px;font-weight:700;
  display:flex;align-items:center;justify-content:center;font-family:var(--serif);
  background:linear-gradient(135deg,#6f86d6,#8a5cf0)}
.cw-msg.a .body{min-width:0;flex:1;padding-top:3px}
.cw-msg.a .who{font-size:13px;color:var(--mute);letter-spacing:.12em;margin-bottom:7px}
.cw-msg.a .say{font-size:15.5px;line-height:1.9;color:var(--ink2);letter-spacing:.02em;word-break:break-word}
.cw-msg.a .say b{color:var(--red)}
.cw-typing{display:inline-flex;gap:4px;align-items:center;height:20px}
.cw-typing i{width:6px;height:6px;border-radius:50%;background:var(--line2);animation:cwTp 1s infinite}
.cw-typing i:nth-child(2){animation-delay:.15s}.cw-typing i:nth-child(3){animation-delay:.3s}
@keyframes cwTp{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

/* 结果卡 */
.cw-card{margin-top:13px;border:1px solid var(--line);background:var(--paper2);border-radius:5px;overflow:hidden}
.cw-card .ch{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);
  font-size:13.5px;letter-spacing:.16em;color:var(--ink3)}
.cw-card .ch .k{width:6px;height:6px;background:var(--red);border-radius:50%;flex:none}
.cw-card .ch .g{margin-left:auto;font-size:12.5px;color:var(--mute);letter-spacing:.1em;flex:none}
.cw-card .cb{padding:15px 16px}
.cw-reveal{border-left:3px solid var(--red);background:rgba(178,52,36,.06);padding:11px 14px;font-size:14px;
  line-height:1.85;color:var(--ink);letter-spacing:.02em}
.cw-files{display:flex;flex-wrap:wrap;gap:9px;margin-top:13px}
.cw-filechip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line2);background:#fff;
  padding:10px 14px;font-size:13.5px;color:var(--ink);cursor:pointer;transition:all .2s var(--ease)}
.cw-filechip:hover{border-color:var(--red);color:var(--red)}
.cw-filechip svg{width:14px;height:14px;stroke:currentColor;flex:none}
.cw-filechip .dl{margin-left:2px;color:var(--ink3);font-size:12.5px;letter-spacing:.1em}
.cw-subnote{margin-top:11px;font-size:13.5px;color:var(--ink3);letter-spacing:.02em;line-height:1.75}
.cw-subnote b{color:var(--ink)}
.cw-mini-actions{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}
.cw-mbtn{display:inline-flex;align-items:center;gap:7px;background:var(--red);color:#fff;font-size:13.5px;
  font-weight:600;letter-spacing:.08em;padding:10px 19px;transition:background .2s;cursor:pointer}
.cw-mbtn:hover{background:var(--red-d)}
.cw-mbtn.hollow{background:none;border:1px solid var(--line2);color:var(--ink2)}
.cw-mbtn.hollow:hover{border-color:var(--ink);color:var(--ink)}
.cw-mbtn svg{width:13px;height:13px}
.cw-mbtn[disabled]{opacity:.45;pointer-events:none}

/* 进度条卡 */
.cw-prog{margin-top:12px}
.cw-prog .bar{height:6px;background:var(--paper3);border:1px solid var(--line);position:relative;overflow:hidden}
.cw-prog .bar i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--iris);transition:width .8s var(--ease)}
.cw-prog .pt{margin-top:9px;font-size:14px;color:var(--ink2);display:flex;justify-content:space-between;gap:10px}
.cw-prog .pt em{font-style:normal;color:var(--ink3);font-variant-numeric:tabular-nums}

/* 摹结构 chips */
.cw-struct{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}
.cw-st{border:1px solid var(--line2);padding:5px 12px;font-size:13.5px;color:var(--ink3)}
.cw-st.cover,.cw-st.closing{background:var(--red);border-color:var(--red);color:#fff}
.cw-st.chapter{border-style:dashed;color:var(--red)}
.cw-shots{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}
.cw-shot{aspect-ratio:16/10;border:1px solid var(--line);position:relative;overflow:hidden;background:var(--paper3)}
.cw-shot img{width:100%;height:100%;object-fit:cover;display:block}
.cw-shot .no{position:absolute;left:0;top:0;background:var(--red);color:#fff;font-size:10px;padding:1px 6px}

/* 声播放器 */
.cw-player{display:flex;align-items:center;gap:14px;margin-top:4px}
.cw-play{width:46px;height:46px;flex:none;border-radius:50%;background:var(--red);display:flex;
  align-items:center;justify-content:center;cursor:pointer;transition:transform .2s var(--spring)}
.cw-play:hover{transform:scale(1.05)}
.cw-play svg{width:16px;height:16px;fill:#fff}
.cw-wave{flex:1;display:flex;align-items:center;gap:3px;height:40px}
.cw-wave i{flex:1;background:var(--line2);border-radius:2px;min-width:2px}
.cw-wave i.on{background:var(--red)}
.cw-dur{font-size:14px;color:var(--ink3);font-variant-numeric:tabular-nums;letter-spacing:.06em}

/* 绘 图网格 */
.cw-grid4{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:4px;max-width:480px}
.cw-gimg{aspect-ratio:16/9;border-radius:3px;position:relative;overflow:hidden;background:var(--paper3);
  border:1px solid var(--line);cursor:pointer}
.cw-gimg img{width:100%;height:100%;object-fit:cover;display:block}
.cw-gimg.sq{aspect-ratio:1/1}
.cw-gimg.tall{aspect-ratio:9/16}

/* 影 接单卡 */
.cw-ord{border:1px solid var(--line);background:#fff}
.cw-ord-row{display:flex;gap:12px;padding:10px 14px;font-size:13.5px;border-bottom:1px solid var(--line)}
.cw-ord-row:last-child{border-bottom:0}
.cw-ord-row span{color:var(--mute);flex:none;width:48px}
.cw-ord-row b{color:var(--ink);font-weight:600}
.cw-ord-row b em{font-style:normal;color:var(--red)}

/* ---------- 底部输入区 ---------- */
.cw-composer-wrap{flex:none;padding:8px clamp(14px,3vw,40px) 14px;
  background:linear-gradient(transparent,var(--paper) 34%)}
.cw-composer{max-width:800px;margin:0 auto;border:1px solid var(--line2);background:var(--paper2);
  border-radius:12px;box-shadow:0 8px 30px rgba(23,20,16,.06);transition:border-color .2s}
.cw-composer.focus{border-color:var(--red)}
.cw-caps{display:flex;flex-wrap:wrap;gap:7px;padding:11px 12px 3px}
.cw-cap{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line2);background:#fff;
  padding:6px 11px;font-size:14px;color:var(--ink2);cursor:pointer;position:relative;
  transition:all .18s var(--ease)}
.cw-cap:hover{border-color:var(--red)}
.cw-cap .lb{color:var(--mute)}
.cw-cap b{font-weight:600;color:var(--ink);max-width:200px;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.cw-cap.req.unset{border-color:var(--red);border-style:dashed}
.cw-cap.req.unset b{color:var(--red)}
.cw-cap svg{width:9px;height:9px;stroke:var(--mute);margin-left:1px;flex:none}
.cw-cap.gear{color:var(--ink3)}
.cw-cap.gear svg{width:13px;height:13px;stroke:var(--ink3);margin:0}
.cw-inrow{display:flex;align-items:flex-end;gap:8px;padding:6px 10px 10px}
.cw-up{width:38px;height:38px;flex:none;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line2);background:#fff;transition:all .18s;cursor:pointer}
.cw-up:hover{border-color:var(--red)}
.cw-up svg{width:17px;height:17px;stroke:var(--ink2)}
.cw-up:hover svg{stroke:var(--red)}
.cw-up.hide{display:none}
.cw-tin{flex:1;border:0;background:transparent;outline:0;resize:none;font-size:16px;line-height:1.6;
  color:var(--ink);padding:9px 2px;max-height:160px;min-height:24px}
.cw-tin::placeholder{color:var(--mute)}
.cw-send{width:38px;height:38px;flex:none;border-radius:8px;background:var(--red);display:flex;
  align-items:center;justify-content:center;transition:all .18s var(--spring);cursor:pointer}
.cw-send:hover{background:var(--red-d);transform:translateY(-1px)}
.cw-send svg{width:17px;height:17px;stroke:#fff}
.cw-attached{display:flex;flex-wrap:wrap;gap:7px;padding:2px 12px 8px}
.cw-attached:empty{display:none}
.cw-at{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line2);background:#fff;
  padding:6px 10px;font-size:13px;color:var(--ink2)}
.cw-at svg{width:12px;height:12px;stroke:var(--ink3);flex:none}
.cw-at em{font-style:normal;color:var(--mute);font-size:12px}
.cw-at .x{margin-left:2px;color:var(--mute);cursor:pointer;font-size:15px;line-height:1}
.cw-at .x:hover{color:var(--red)}
.cw-chint{max-width:800px;margin:7px auto 0;text-align:center;font-size:13.5px;color:var(--ink3);
  letter-spacing:.04em;min-height:18px}
.cw-chint b{color:var(--ink)}

/* ---------- 弹层（胶囊单选/多选） ---------- */
.cw-pop{position:fixed;z-index:1200;background:#fff;border:1px solid var(--line2);
  box-shadow:0 14px 40px rgba(23,20,16,.16);padding:6px;min-width:170px;max-width:420px;max-height:70vh;
  overflow-y:auto;opacity:0;transform:translateY(6px);pointer-events:none;transition:all .18s var(--out)}
.cw-pop.on{opacity:1;transform:none;pointer-events:auto}
.cw-pop .ph{font-size:12px;letter-spacing:.2em;color:var(--mute);padding:6px 9px 3px}
.cw-pop .po{display:flex;align-items:center;gap:8px;padding:9px 9px;font-size:14.5px;color:var(--ink2);
  cursor:pointer}
.cw-pop .po:hover{background:var(--paper3)}
.cw-pop .po .ck{width:14px;height:14px;flex:none;border:1px solid var(--line2);display:flex;
  align-items:center;justify-content:center}
.cw-pop .po.sel{color:var(--red);font-weight:600}
.cw-pop .po.sel .ck{border-color:var(--red);background:var(--red)}
.cw-pop .po .ck svg{width:9px;height:9px;stroke:#fff}
.cw-pop .po .nm{min-width:0}
.cw-pop .po .sm{margin-left:auto;font-size:13px;color:var(--ink3);padding-left:8px;flex:none}
.cw-pop .po.gated{opacity:.75;cursor:not-allowed}
.cw-pop .po.gated .sm{color:var(--gold)}

/* 更多设置弹层 */
.cw-morep{position:fixed;z-index:1200;background:#fff;border:1px solid var(--line2);
  box-shadow:0 14px 40px rgba(23,20,16,.16);padding:14px;width:310px;opacity:0;transform:translateY(6px);
  pointer-events:none;transition:all .18s var(--out)}
.cw-morep.on{opacity:1;transform:none;pointer-events:auto}
.cw-morep .mh{font-size:12px;letter-spacing:.2em;color:var(--mute);margin-bottom:10px}
.cw-morep .tgl{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;
  font-size:13.5px;color:var(--ink2)}
.cw-morep .tgl small{display:block;color:var(--mute);font-size:13px;margin-top:2px;line-height:1.5}
.cw-sw{width:38px;height:22px;border-radius:11px;background:var(--line2);position:relative;flex:none;
  transition:background .2s;cursor:pointer}
.cw-sw::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;
  background:#fff;transition:left .2s var(--out);box-shadow:0 1px 3px rgba(0,0,0,.2)}
.cw-sw.on{background:var(--red)}
.cw-sw.on::after{left:18px}
.cw-morep textarea,.cw-morep input[type=text]{width:100%;border:1px solid var(--line2);
  background:var(--paper2);padding:9px 10px;font-size:13.5px;color:var(--ink);outline:0;resize:vertical;
  margin-top:8px}
.cw-morep textarea{min-height:58px}
.cw-morep .ml{font-size:13px;color:var(--ink3);margin-top:12px;margin-bottom:2px;letter-spacing:.06em}

/* ---------- 课文选择器（册→单元→课文 + 同步/备考轨） ---------- */
.cw-cpick{position:fixed;z-index:1210;background:#fff;border:1px solid var(--line2);
  box-shadow:0 20px 54px rgba(23,20,16,.2);width:min(440px,94vw);max-height:70vh;overflow:auto;
  opacity:0;transform:translateY(8px);pointer-events:none;transition:all .2s var(--out)}
.cw-cpick.on{opacity:1;transform:none;pointer-events:auto}
.cw-cp-tracks{display:flex;gap:6px;padding:12px 14px 0}
.cw-cp-track{flex:1;text-align:center;padding:9px 0;font-size:13.5px;letter-spacing:.08em;cursor:pointer;
  border:1px solid var(--line2);color:var(--ink3);background:var(--paper2);transition:all .18s}
.cw-cp-track.on{border-color:var(--red);color:var(--red);font-weight:600;background:#fff}
.cw-cp-modes{display:flex;border-bottom:1px solid var(--line);margin-top:10px}
.cw-cp-mode{flex:1;text-align:center;padding:11px 0;font-size:13.5px;color:var(--ink3);cursor:pointer;
  position:relative;letter-spacing:.06em}
.cw-cp-mode.on{color:var(--red);font-weight:600}
.cw-cp-mode.on::after{content:"";position:absolute;left:20%;right:20%;bottom:-1px;height:2px;background:var(--red)}
.cw-cp-rows{display:flex;gap:8px;padding:12px 14px 6px}
.cw-cp-sel{flex:1;position:relative}
.cw-cp-sel label{display:block;font-size:12.5px;letter-spacing:.16em;color:var(--mute);margin-bottom:4px}
.cw-cp-sel select{width:100%;border:1px solid var(--line2);background:var(--paper2);padding:9px 9px;
  font-size:13.5px;color:var(--ink);outline:0;-webkit-appearance:none;appearance:none;border-radius:0;
  cursor:pointer}
.cw-cp-sel .arr{position:absolute;right:9px;bottom:11px;font-size:10px;color:var(--mute);pointer-events:none}
.cw-cp-list{overflow:visible;padding:4px 8px 6px}
.cw-cp-gh{font-size:12.5px;letter-spacing:.2em;color:var(--mute);padding:9px 8px 4px}
.cw-cp-opt{display:flex;align-items:center;gap:9px;padding:9px 8px;font-size:14.5px;color:var(--ink2);
  cursor:pointer}
.cw-cp-opt:hover{background:var(--paper3)}
.cw-cp-opt .rd{width:15px;height:15px;flex:none;border:1px solid var(--line2);border-radius:50%;
  display:flex;align-items:center;justify-content:center}
.cw-cp-opt.sq .rd{border-radius:2px}
.cw-cp-opt.sel{color:var(--red);font-weight:600}
.cw-cp-opt.sel .rd{border-color:var(--red)}
.cw-cp-opt.sel .rd::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--red)}
.cw-cp-opt.sq.sel .rd::after{border-radius:1px}
.cw-cp-opt .u{margin-left:auto;font-size:12px;color:var(--mute);padding-left:8px;flex:none}
.cw-cp-foot{border-top:1px solid var(--line);padding:11px 14px}
.cw-cp-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}
.cw-cp-chips:empty{display:none}
.cw-cp-chip{display:inline-flex;align-items:center;gap:6px;background:var(--red);color:#fff;font-size:12.5px;
  padding:5px 10px}
.cw-cp-chip .x{cursor:pointer;opacity:.85}
.cw-cp-note,.cw-cp-custom{width:100%;border:1px solid var(--line2);background:var(--paper2);
  padding:9px 10px;font-size:13px;color:var(--ink);outline:0;margin-bottom:9px}
.cw-cp-note{resize:vertical;min-height:44px}
.cw-cp-actions{display:flex;gap:8px;align-items:center}
.cw-cp-lim{flex:1;font-size:13px;color:var(--mute)}
.cw-cp-ok{background:var(--red);color:#fff;font-size:13.5px;font-weight:600;letter-spacing:.1em;
  padding:9px 22px;transition:background .2s;cursor:pointer}
.cw-cp-ok:hover{background:var(--red-d)}
.cw-cp-ok[disabled]{opacity:.4;pointer-events:none}

/* ---------- 音色画廊 / 风格宫格（带预览图·Z605） ---------- */
.cw-gal{position:fixed;z-index:1210;background:#fff;border:1px solid var(--line2);
  box-shadow:0 20px 54px rgba(23,20,16,.2);width:min(560px,94vw);max-height:74vh;overflow:auto;
  opacity:0;transform:translateY(8px);pointer-events:none;transition:all .2s var(--out);padding:12px 14px}
.cw-gal.on{opacity:1;transform:none;pointer-events:auto}
.cw-gal .gh{font-size:12.5px;letter-spacing:.2em;color:var(--mute);padding:6px 2px 6px}
.cw-gal .gh b{color:var(--ink3)}
.cw-voices{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:6px}
.cw-voice{border:1px solid var(--line2);background:var(--paper2);padding:10px 12px;cursor:pointer;
  transition:all .18s;position:relative}
.cw-voice:hover{border-color:var(--red)}
.cw-voice.sel{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red);background:#fff}
.cw-voice.gated{opacity:.5;cursor:not-allowed}
.cw-voice .vn{font-size:14.5px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:7px}
.cw-voice .vn .tryb{margin-left:auto;width:22px;height:22px;border-radius:50%;border:1px solid var(--line2);
  display:flex;align-items:center;justify-content:center;flex:none;transition:all .15s}
.cw-voice .vn .tryb:hover{border-color:var(--red)}
.cw-voice .vn .tryb svg{width:9px;height:9px;fill:var(--ink3)}
.cw-voice .vu{font-size:12.5px;color:var(--mute);margin-top:3px}
.cw-voice .vg{font-size:12.5px;color:var(--gold);margin-top:3px}
.cw-styles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:9px;margin-bottom:6px}
.cw-style{border:1px solid var(--line2);background:#fff;cursor:pointer;transition:all .18s;overflow:hidden}
.cw-style:hover{border-color:var(--red);transform:translateY(-1px)}
.cw-style.sel{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}
.cw-style .im{aspect-ratio:16/10;background:var(--paper3);overflow:hidden}
.cw-style .im img{width:100%;height:100%;object-fit:cover;display:block}
.cw-style .sn{padding:8px 10px 2px;font-size:13px;font-weight:600;color:var(--ink)}
.cw-style .sf{padding:0 10px 9px;font-size:12.5px;color:var(--mute)}
.cw-variants{display:flex;flex-wrap:wrap;gap:7px;padding:4px 2px 8px}
.cw-variant{border:1px solid var(--line2);padding:6px 13px;font-size:12.5px;color:var(--ink2);
  cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:all .15s}
.cw-variant .c{width:11px;height:11px;border-radius:50%;border:1px solid var(--line);flex:none}
.cw-variant.sel{border-color:var(--red);color:var(--red);font-weight:600}

/* ---------- 遮罩 / 移动端抽屉 ---------- */
.cw-scrim{position:fixed;inset:0;z-index:1100;background:rgba(23,20,16,.4);opacity:0;pointer-events:none;
  transition:opacity .25s}
.cw-scrim.on{opacity:1;pointer-events:auto}
@media (max-width:860px){
  .cw-app{grid-template-columns:1fr;padding-top:52px}
  .cw-side{position:fixed;left:0;top:0;bottom:0;width:278px;z-index:1150;transform:translateX(-100%);
    transition:transform .28s var(--out);box-shadow:0 0 40px rgba(23,20,16,.16);padding-top:52px}
  .cw-side.on{transform:none}
  .cw-burger{display:flex}
  .cw-empty .glyph{font-size:76px}
  .cw-grid4{max-width:100%}
  .cw-modebar .tg{display:none}
  .cw-thread{padding:16px 12px 8px}
  .cw-composer-wrap{padding:6px 10px 10px}
  .cw-cap b{max-width:120px}
}

/* ---------- 巨幕层（0709·风格选择/创作示例/课例出发共用） ---------- */
.cw-mega{position:fixed;inset:0;z-index:1300;background:rgba(23,20,16,.5);display:none;
  align-items:center;justify-content:center;padding:22px}
.cw-mega.on{display:flex}
.mg-card{background:var(--paper);border:1px solid var(--line2);border-radius:4px;width:min(1180px,96vw);
  max-height:90vh;display:flex;flex-direction:column;box-shadow:0 26px 70px rgba(23,20,16,.35);overflow:hidden}
.mg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
  padding:20px 26px 14px;border-bottom:1px solid var(--line)}
.mg-tt{font-family:var(--serif);font-weight:800;font-size:19px;letter-spacing:.05em;color:var(--ink)}
.mg-sub{font-size:13.5px;color:var(--ink3);margin-top:4px;line-height:1.8}
.mg-sub b{color:var(--red)}
.mg-x{border:none;background:none;font-size:26px;line-height:1;color:var(--mute);cursor:pointer;padding:2px 6px}
.mg-x:hover{color:var(--red)}
.mg-body{overflow:auto;padding:18px 26px;flex:1}
.mg-foot{display:flex;align-items:center;justify-content:flex-end;gap:16px;
  padding:13px 26px;border-top:1px solid var(--line);background:var(--paper2)}
.mg-picked{font-size:13.5px;color:var(--ink3);margin-right:auto}
.mg-picked b{color:var(--red);font-weight:700}
.mg-secline{font-size:13px;color:var(--ink2);margin:18px 0 10px}
.mg-secline b{color:var(--ink);font-weight:700}
/* 风格巨幕宫格 */
.mg-styles{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.mg-style{border:1.5px solid var(--line);border-radius:4px;background:#fff;cursor:pointer;overflow:hidden;
  transition:border-color .15s, transform .15s}
.mg-style:hover{border-color:var(--ink3);transform:translateY(-2px)}
.mg-style.sel{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}
.mg-style .im{position:relative;aspect-ratio:16/9;background:var(--paper2)}
.mg-style .im img{width:100%;height:100%;object-fit:cover;display:block}
.mg-style .zoom{position:absolute;right:8px;top:8px;border:none;background:rgba(23,20,16,.62);color:#fff;
  font-size:12.5px;padding:5px 11px;border-radius:2px;cursor:pointer;transition:background .15s}
.mg-style .zoom:hover{background:var(--red)}
.mg-style .on-tag{position:absolute;left:8px;top:8px;background:var(--red);color:#fff;font-size:11px;
  padding:3px 9px;border-radius:2px;display:none;letter-spacing:.08em}
.mg-style.sel .on-tag{display:block}
.mg-style .sn{font-weight:700;font-size:14px;color:var(--ink);padding:10px 12px 2px}
.mg-style .sf{font-size:13px;color:var(--ink3);padding:0 12px 11px;line-height:1.7}
.mg-variants{display:flex;flex-wrap:wrap;gap:10px}
/* 巨幕 lightbox */
.mg-lb{position:fixed;inset:0;z-index:1400;background:rgba(23,20,16,.82);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:12px;cursor:zoom-out;padding:30px}
.mg-lb img{max-width:94vw;max-height:84vh;border:1px solid rgba(255,255,255,.2);box-shadow:0 20px 60px rgba(0,0,0,.5)}
.mg-lb .cap{color:#f0ebe0;font-size:13px;letter-spacing:.06em}
/* 巨幕内对比区（摹·创作示例） */
.mg-duel{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.mg-duel-col .h{font-size:13px;color:var(--ink2);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.mg-duel-col .h b{color:var(--ink);font-weight:700}
.mg-duel-col .h .dot{width:8px;height:8px;border-radius:50%;background:var(--mute);flex:none}
.mg-duel-col.right .h .dot{background:var(--red)}
.mg-shots{display:grid;gap:12px}
.mg-shots img{width:100%;border:1px solid var(--line);border-radius:3px;cursor:zoom-in;display:block}
@media (max-width:760px){.mg-duel{grid-template-columns:1fr}}
/* 落地页·创作示例卡（摹） */
.cw-exwrap{margin-top:30px;max-width:760px;width:100%}
.cw-exline{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--mute);letter-spacing:.2em;
  justify-content:center;margin-bottom:14px}
.cw-exline::before,.cw-exline::after{content:"";height:1px;background:var(--line2);flex:1}
.cw-excard{display:grid;grid-template-columns:1fr 44px 1fr;align-items:center;gap:10px;border:1px solid var(--line);
  background:#fff;border-radius:4px;padding:14px;cursor:pointer;transition:border-color .15s, transform .15s}
.cw-excard:hover{border-color:var(--red);transform:translateY(-2px)}
.cw-excard .shot{position:relative}
.cw-excard .shot img{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);border-radius:3px;display:block}
.cw-excard .shot .tag{position:absolute;left:8px;bottom:8px;font-size:11px;padding:3px 9px;border-radius:2px;
  background:rgba(23,20,16,.66);color:#fff;letter-spacing:.06em}
.cw-excard .shot.after .tag{background:var(--red)}
.cw-excard .arr{display:flex;align-items:center;justify-content:center;color:var(--red)}
.cw-excard .arr svg{width:26px;height:26px}
.cw-exmore{margin-top:10px;text-align:center;font-size:13.5px;color:var(--ink3)}
.cw-exmore b{color:var(--red)}
.cw-exbtnrow{margin-top:14px;display:flex;justify-content:center}
/* 双行标题（lead2） */
.cw-empty .lead .l2{display:block;margin-top:2px}
/* 行动胶囊（从已有课例出发） */
.cw-cap.act{border:1px dashed var(--red);color:var(--red);background:none}
.cw-cap.act:hover{background:rgba(193,68,54,.06)}
.cw-cap.act svg{width:13px;height:13px}
.cw-cap.act .lb-act{font-size:12.5px;font-weight:600;letter-spacing:.02em}
/* 总028：置灰的行动胶囊（如绘·汉字最稳未达会员档）——看得见、仍可点，点了引导去升级 */
.cw-cap.act.gated{opacity:.45;cursor:not-allowed;border-style:dotted}
.cw-cap.act.gated:hover{background:none;border-color:var(--red)}
/* 课例巨幕 */
.mg-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px}
.mg-tab{padding:8px 16px;font-size:13.5px;color:var(--ink3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.mg-tab.on{color:var(--red);border-bottom-color:var(--red);font-weight:600}
.mg-cases{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.mg-case{display:flex;gap:12px;align-items:center;border:1.5px solid var(--line);border-radius:4px;background:#fff;
  padding:12px 14px;cursor:pointer;transition:border-color .15s}
.mg-case:hover{border-color:var(--red)}
.mg-case .cv{width:92px;aspect-ratio:16/9;border-radius:3px;border:1px solid var(--line);object-fit:cover;flex:none;background:var(--paper2)}
.mg-case .cv.ph{display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:800;
  color:var(--mute);font-size:20px}
.mg-case .tt{flex:1;min-width:0}
.mg-case .tt b{display:block;font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mg-case .tt span{font-size:12.5px;color:var(--ink3)}
.mg-case .bg{flex:none;font-size:11.5px;padding:3px 9px;border-radius:2px;border:1px solid rgba(193,68,54,.5);color:var(--red)}
.mg-case .bg.no{border-color:var(--line2);color:var(--mute)}
/* 总035·手机档：底稿巨幕「官方在售成品」卡标题碰撞。
   .mg-case 是 flex 行，封面 .cv(92px·flex:none) 与角标 .bg(65px·flex:none) 都拒绝收缩，
   把 .tt 压到 88px；clamp:2 → 只可见 14 字。线上真目录 102 件里实测有 2 对真商品因此渲染成一模一样：
   「超级语文课·念奴娇·赤壁怀古」(单篇) 与「超级语文课·念奴娇·赤壁怀古·永遇乐·声声慢」(合集·共享前14字)、
   「作文纸条·2026年7月增补版」与「作文纸条·2026年7月增补版（含高考真题4道）」
   → 老师选底稿时分不清单篇/合集，选错就是花错天心。
   修法＝窄屏放到 3 行（同卡片 corpus 变体 :559 早已是 clamp:3，此处照既有做法对齐），
   不动封面尺寸与角标，审美一律不碰（老板0717：审美之后再优化）。 */
@media (max-width:640px){
  .mg-case .tt b{-webkit-line-clamp:3}
}
.mg-empty-tip{color:var(--ink3);font-size:14px;padding:26px 4px;text-align:center;line-height:2}

/* ---------- 0709 增补：进度卡三件套 / Tian Lab 模型巨幕 / 同风格图集 / 摹示例 hero ---------- */
.cw-stages{margin-top:10px;border-left:2px solid var(--line);padding-left:12px;display:flex;
  flex-direction:column;gap:4px}
.cw-stages:empty{display:none}
.cw-stages .st-line{font-size:13px;color:var(--ink3);line-height:1.7;display:flex;gap:8px;align-items:baseline}
.cw-stages .st-line em{font-style:normal;font-size:12px;color:var(--mute);font-variant-numeric:tabular-nums;flex:none}
.cw-stages .st-line.cur{color:var(--ink);font-weight:600}
.cw-prog-foot{margin-top:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cw-prog-foot .nt{font-size:13px;color:var(--ink3)}
.cw-prog-foot .nt b{color:var(--ink)}
.cw-mbtn.sm{font-size:12.5px;padding:7px 13px}
/* Tian Lab 模型巨幕（一模型一卡） */
.mg-models{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.mg-model{position:relative;border:1.5px solid var(--line);border-radius:4px;background:#fff;
  padding:18px 16px 15px;cursor:pointer;transition:border-color .15s, transform .15s}
.mg-model:hover{border-color:var(--ink3);transform:translateY(-2px)}
.mg-model.sel{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}
.mg-model .av{width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;display:flex;
  align-items:center;justify-content:center;font-weight:800;font-size:17px;margin-bottom:12px}
.mg-model .nm{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:.02em}
.mg-model .vd{font-size:12.5px;color:var(--ink3);margin-top:2px;letter-spacing:.06em}
.mg-model .ds{font-size:13.5px;color:var(--ink2);line-height:1.75;margin-top:8px;min-height:48px}
.mg-model .pc{margin-top:10px;font-size:13px;color:var(--ink3);border-top:1px dashed var(--line);padding-top:9px}
.mg-model .pc b{color:var(--red);font-size:16px}
.mg-model .on-tag{position:absolute;right:10px;top:10px;background:var(--red);color:#fff;font-size:11.5px;
  padding:3px 9px;border-radius:2px;display:none;letter-spacing:.08em}
.mg-model.sel .on-tag{display:block}
/* 同风格作品 8 图（【看同风格作品】二级巨幕） */
.mg-gal8{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.mg-gal8 img{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);border-radius:3px;
  cursor:zoom-in;display:block;background:var(--paper2)}
/* 摹·老板正版示意图（单张 hero） */
.cw-excard.hero{display:block;position:relative;padding:12px}
.cw-excard.hero img{width:100%;border:1px solid var(--line);border-radius:3px;display:block}
.cw-excard.hero .tag{position:absolute;right:22px;bottom:22px;font-size:12px;padding:4px 11px;
  border-radius:2px;background:rgba(23,20,16,.66);color:#fff;letter-spacing:.06em}
/* 绘·画风巨幕「不限」占位块 */
.mg-style .im .ph-b{display:flex;width:100%;height:100%;align-items:center;justify-content:center;
  font-family:var(--serif);font-weight:800;font-size:22px;color:var(--mute)}

/* ============================================================================
 * 总010 · 070917 整改追加（②代码卡 / ④模型logo / ⑤版本胶囊 / ⑩课例卡 / ①画风占位兜底）
 * ========================================================================== */

/* ④ 模型官方 logo（替首字母·内联单色SVG吃父级白色·守禁emoji铁律） */
.mg-model .av svg{width:23px;height:23px;display:block}
.cw-msg.a .ava.lab-ava svg{width:19px;height:19px;display:block}

/* ⑤ 版本说明胶囊 + 纯 CSS hover tooltip（六功能共用一处渲染） */
.cw-vtag{position:relative;display:inline-flex;align-items:center;margin-left:2px}
.cw-vtag-chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--mute);
  border:1px solid var(--line2);border-radius:999px;padding:2px 10px;letter-spacing:.02em;
  white-space:nowrap;cursor:default;transition:color .18s,border-color .18s}
.cw-vtag-chip svg{width:12px;height:12px;stroke:var(--mute);flex:none;transition:stroke .18s}
.cw-vtag:hover .cw-vtag-chip{color:var(--red);border-color:var(--red)}
.cw-vtag:hover .cw-vtag-chip svg{stroke:var(--red)}
.cw-vtag-pop{position:absolute;top:calc(100% + 9px);left:0;z-index:70;width:min(340px,74vw);
  background:var(--paper2);border:1px solid var(--line2);border-radius:8px;padding:11px 14px;
  font-size:13px;line-height:1.75;color:var(--ink2);letter-spacing:.01em;
  box-shadow:0 16px 44px rgba(23,20,16,.15);
  opacity:0;transform:translateY(-5px);pointer-events:none;transition:opacity .18s,transform .18s}
.cw-vtag:hover .cw-vtag-pop{opacity:1;transform:none}
/* 版本说明·显式三段式详情（老板范式·巨幕承载·反馈可跳转） */
.cw-vtag-chip{cursor:pointer}
.cw-vn{display:flex;flex-direction:column;gap:20px;max-width:720px}
.cw-vn-sec .h{font-size:12px;letter-spacing:.28em;color:var(--red);margin-bottom:8px}
.cw-vn-sec p{margin:0;font-size:15px;line-height:1.95;color:var(--ink2);letter-spacing:.015em}
.cw-vn-sec.fb{border-top:1px solid var(--line2);padding-top:18px}
.cw-vn-fb{margin-top:12px;border:1px solid var(--red);color:var(--red);background:transparent;
  padding:8px 20px;font-size:14px;letter-spacing:.06em;cursor:pointer;border-radius:2px;
  transition:background .2s var(--ease),color .2s var(--ease)}
.cw-vn-fb:hover{background:var(--red);color:#fff}
/* 015·A5 灵感画廊（绘·巨幕内成套样图·点复制提示词/用它创作） */
.mg-gtabs{display:flex;gap:8px;margin-bottom:14px}
.mg-gtab{border:1px solid var(--line2);background:transparent;color:var(--mute);padding:5px 16px;
  font-size:13.5px;letter-spacing:.08em;cursor:pointer;border-radius:999px;transition:all .18s var(--ease)}
.mg-gtab.on{color:#fff;background:var(--red);border-color:var(--red)}
.mg-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.mg-gcard{border:1px solid var(--line2);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;background:var(--paper)}
.mg-gcard .im{aspect-ratio:1/1;overflow:hidden;background:var(--paper2);cursor:zoom-in}
.mg-gcard .im.ph{display:flex;align-items:center;justify-content:center}
.mg-gcard .im img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s var(--ease)}
.mg-gcard .im:hover img{transform:scale(1.04)}
.mg-gcard .gt{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:10px 12px 2px}
.mg-gcard .gt b{font-size:14px;color:var(--ink)}
.mg-gcard .gt span{font-size:11.5px;color:var(--mute);flex:none}
.mg-gcard .gp{padding:2px 12px 10px;font-size:12.5px;line-height:1.7;color:var(--ink2);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mg-gcard .ga{display:flex;gap:8px;padding:0 12px 12px;margin-top:auto}
.mg-gcard .ga .cw-mbtn{font-size:12.5px;padding:6px 12px}

/* ⑩ 课例卡：统一单色图标 + 摘要另起行 + 标题写全（放宽到 3 行·仅限 corpus 卡） */
.mg-case .cv.ico{display:flex;align-items:center;justify-content:center;color:var(--mute);background:var(--paper2)}
.mg-case .cv.ico svg{width:30px;height:30px}
.mg-case.corpus .tt b{-webkit-line-clamp:3}
.mg-case.corpus .tt .pv{display:block;margin-top:3px;font-size:12px;color:var(--mute);line-height:1.55;font-style:normal}

/* ① 画风样张加载失败占位（主修=重部署·此为兜底不露浏览器碎图） */
.mg-style .im.ph{display:flex;align-items:center;justify-content:center;background:var(--paper2)}
.mg-style .im.ph::after{content:"样图即将就位";font-family:var(--serif);font-size:13px;color:var(--mute)}
.mg-gal8 img.imph{background:var(--paper2);min-height:120px}

/* ② Tian Lab 代码卡（复制 / 预览 / 下载·仿 AI Studio·作用域限定气泡内防外溢·代码正文已 esc） */
.cw-msg.a .say .cw-code{margin:12px 0;border:1px solid #2b2f38;border-radius:8px;overflow:hidden;background:#0f1218}
.cw-code .cc-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:7px 10px 7px 13px;background:#171b23;border-bottom:1px solid rgba(255,255,255,.06)}
.cw-code .cc-lang{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;
  letter-spacing:.08em;text-transform:uppercase;color:#8b93a7}
.cw-code .cc-tools{display:inline-flex;gap:6px}
.cw-code .cc-btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#c7cddb;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);border-radius:6px;
  padding:5px 9px;cursor:pointer;transition:background .15s,color .15s}
.cw-code .cc-btn:hover{background:rgba(255,255,255,.14);color:#fff}
.cw-code .cc-btn.ok{color:#4ade80;border-color:rgba(74,222,128,.4)}
.cw-code .cc-btn svg{width:13px;height:13px;flex:none}
.cw-code .cc-btn i{font-style:normal}
.cw-code .cc-body{margin:0;padding:13px 15px;overflow-x:auto;max-height:440px;overflow-y:auto}
.cw-code .cc-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:13px;line-height:1.7;color:#e6e9f0;white-space:pre;display:block}
.cc-preview-mask{position:fixed;inset:0;z-index:9999;background:rgba(10,10,14,.64);
  display:flex;align-items:center;justify-content:center;padding:24px}
.cc-preview-box{width:min(940px,94vw);height:min(80vh,760px);background:#fff;border-radius:14px;
  overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.cc-preview-bar{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;
  background:var(--paper2);border-bottom:1px solid var(--line2);
  font-family:var(--serif);font-size:14px;font-weight:600;color:var(--ink)}
.cc-preview-x{border:none;background:none;cursor:pointer;color:var(--mute);display:inline-flex;padding:3px}
.cc-preview-x:hover{color:var(--red)}
.cc-preview-frame{flex:1;border:none;width:100%;background:#fff}
@media(max-width:760px){.cw-code .cc-btn i{display:none}.cw-vtag-chip span{display:none}.cw-vtag-chip{padding:3px 7px}}

/* ============================================================================
 * 总021 · 创作台六台重构（老板手绘《创作台六页面UI.pdf》v3·审核通过 20260714）
 * 极简书法竖排六字导航 + 大字/拼音/标语 hero + 胶囊输入 + 墨水页脚；
 * 顶栏 back/广场/我的/圆形头像；最近创作→历史面板；头像→用户菜单。响应式铺满·保留全部功能。
 * 字体：大字/六字 思源宋体 Heavy(900)；标语 思源宋体 Light(300)；拼音 阿里妈妈方圆体 Medium。
 * ========================================================================== */
:root{ --cw-pinyin:"Alimama FangYuanTi VF","AlimamaFangYuanTiVF-Medium","Alibaba PuHuiTi 3.0",var(--sans); }
/* v3 顶栏取代全局钱包顶栏（钱包/开通会员并入头像菜单） */
body[data-view="create"] #tlBar{display:none}
.cw-app{padding-top:0;grid-template-columns:200px 1fr;grid-template-rows:auto 1fr}

/* ---------- 顶栏 ---------- */
.cw-topbar{grid-column:1 / -1;display:flex;align-items:stretch;height:64px;
  border-bottom:1.5px solid var(--ink);background:var(--paper);position:relative;z-index:20}
.cw-back{width:64px;flex:none;background:var(--ink);display:flex;align-items:center;justify-content:center;
  cursor:pointer;border:0}
.cw-back svg{width:22px;height:22px;stroke:#fff}
.cw-back:hover{background:#000}
.cw-topbar .cw-burger{display:none}
.cw-tnav{margin-left:auto;display:flex;align-items:center;gap:clamp(18px,2.4vw,36px);
  padding:0 clamp(16px,2.4vw,40px)}
.cw-tlink{position:relative;font-family:var(--serif);font-weight:600;font-size:clamp(16px,1.5vw,21px);
  color:var(--ink);letter-spacing:.06em;cursor:pointer;transition:color .18s;white-space:nowrap}
.cw-tlink:hover{color:var(--red)}
.cw-bdg{position:absolute;top:-9px;right:-15px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;
  font-family:var(--sans);font-size:10.5px;font-weight:600;color:#fff;display:flex;align-items:center;
  justify-content:center;line-height:1}
.cw-bdg:empty{display:none}
.cw-bdg.g{background:#3f9350}.cw-bdg.r{background:var(--red)}
.cw-avatar{width:44px;height:44px;border-radius:50%;flex:none;padding:0;cursor:pointer;
  background:linear-gradient(135deg,#c98b6a,#a4573c);border:1.5px solid #fff;box-shadow:0 0 0 1px var(--line2);
  display:flex;align-items:center;justify-content:center;color:#fff}
.cw-avatar svg{width:27px;height:27px}
.cw-avatar:hover{box-shadow:0 0 0 2px var(--red)}

/* ---------- 侧栏·六字竖排（文字恒在色块正中心） ---------- */
.cw-side{grid-column:1;grid-row:2;background:var(--paper);border-right:1px solid var(--line);
  padding:0;overflow:visible;display:flex;flex-direction:column;min-height:0}
.cw-hl{display:none}
/* 六字＝紧凑固定字距（非满屏拉伸）·整组垂直居中·选中红块＝字号大小 */
.cw-nav{flex:1;display:flex;flex-direction:column;justify-content:center;gap:0;padding:6px 0;min-height:0}
.cw-nav-item{flex:none;height:clamp(66px,8.4vh,92px);display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-weight:900;font-size:clamp(26px,2.7vw,38px);color:var(--ink);
  letter-spacing:.04em;cursor:pointer;border:0;background:none;padding:0;
  transition:background .2s var(--ease),color .2s var(--ease)}
.cw-nav-item::before{display:none!important}
.cw-nav-item:hover{background:var(--paper3)}
.cw-nav-item.on,.cw-nav-item.on:hover{background:var(--red);color:#fff}
.cw-recentbtn{flex:none;text-align:center;padding:18px 0 22px;font-family:var(--serif);
  font-size:clamp(14px,1.4vw,16px);color:var(--mute);letter-spacing:.1em;cursor:pointer;background:none;border:0;width:100%}
.cw-recentbtn:hover{color:var(--red)}
.cw-recentbtn .cr{display:inline-block;margin-left:5px;font-size:10px;transition:transform .2s}
.cw-recentbtn.open .cr{transform:rotate(180deg)}

/* ---------- 主区·hero ---------- */
.cw-modebar{border-bottom:0;padding:8px clamp(16px,2.6vw,34px) 0;min-height:0;justify-content:flex-end;gap:0}
/* hero 垂直居中于主区：empty 态 flex 填满居中；chat 态 basis:auto 从顶堆叠+滚动（两态皆安全） */
.cw-thread{padding-top:0;display:flex;flex-direction:column}
.cw-thread .cw-th.on{flex:1 0 auto;display:flex;flex-direction:column;min-height:0}
.cw-thread .cw-wrap{flex:1 0 auto;display:flex;flex-direction:column;min-height:0}
.cw-empty{flex:1 0 auto;justify-content:center;padding:6px 20px 26px}
.cw-empty .cw-note{font-family:var(--serif);font-weight:300;font-size:13.5px;color:var(--ink3);
  letter-spacing:.1em;margin-bottom:clamp(18px,4.5vh,56px)}
.cw-empty .glyph{font-size:clamp(64px,8vw,110px);margin-top:0;line-height:1}
.cw-empty .glyph.word{font-size:clamp(42px,5.4vw,76px);letter-spacing:.06em}
.cw-empty .en{font-family:var(--cw-pinyin);font-weight:500;color:var(--red);
  letter-spacing:.3em;text-indent:.3em;font-size:clamp(18px,2vw,28px);margin-top:10px}
.cw-empty .lead{font-family:var(--serif);font-weight:300;color:var(--ink);letter-spacing:.14em;text-indent:.14em;
  font-size:clamp(22px,2.6vw,32px);line-height:1.4;margin-top:clamp(26px,5vh,54px);max-width:none}
.cw-empty .lead .l2{display:block;margin-top:4px}
.cw-empty .sub{font-family:var(--serif);font-weight:300;color:var(--ink3);letter-spacing:.2em;text-indent:.2em;
  font-size:clamp(14px,1.5vw,18px);margin-top:18px;line-height:1.7}

/* ---------- 底部输入·墨水页脚 ---------- */
.cw-composer{border-radius:18px;border-width:1.5px;background:var(--paper2);max-width:900px}
.cw-caps{padding:14px 16px 4px;gap:10px}
.cw-cap{border-radius:7px}
.cw-inrow{padding:8px 14px 14px;gap:12px}
.cw-up{width:40px;height:40px;border-radius:10px;background:var(--paper3)}
.cw-send{width:58px;height:48px;border-radius:12px}
.cw-chint{margin-top:12px;font-size:13px;letter-spacing:.03em}

/* ---------- 最近创作·历史会话面板 ---------- */
.cw-recentpanel{position:fixed;left:18px;bottom:78px;width:302px;background:var(--paper2);
  border:1px solid var(--line2);border-radius:10px;box-shadow:0 20px 54px rgba(23,20,16,.22);
  z-index:1250;display:none;flex-direction:column;overflow:hidden}
.cw-recentpanel.on{display:flex;animation:cwPanelIn .2s var(--out)}
@keyframes cwPanelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cw-rp-h{display:flex;align-items:center;justify-content:space-between;padding:13px 16px 10px;
  border-bottom:1px solid var(--line)}
.cw-rp-h b{font-family:var(--serif);font-weight:700;font-size:16px;color:var(--ink);letter-spacing:.06em}
.cw-rp-new{font-family:var(--sans);font-size:13px;color:var(--red);cursor:pointer}
.cw-rp-new:hover{color:var(--red-d)}
.cw-recentpanel .cw-recent{flex:none;max-height:344px;overflow:auto;padding:4px 6px 8px}

/* ---------- 头像·用户菜单 ---------- */
.cw-usermenu{position:fixed;right:16px;top:70px;width:242px;background:var(--paper2);
  border:1px solid var(--line2);border-radius:10px;box-shadow:0 20px 54px rgba(23,20,16,.22);
  z-index:1250;display:none;overflow:hidden}
.cw-usermenu.on{display:block;animation:cwPanelIn .18s var(--out)}
.cw-um-top{display:flex;align-items:center;gap:12px;padding:15px 16px;border-bottom:1px solid var(--line)}
.cw-um-ava{width:42px;height:42px;border-radius:50%;flex:none;color:#fff;
  background:linear-gradient(135deg,#c98b6a,#a4573c);display:flex;align-items:center;justify-content:center}
.cw-um-ava svg{width:26px;height:26px}
.cw-um-top .un{font-family:var(--sans);font-weight:600;font-size:15px;color:var(--ink)}
.cw-um-top .ur{font-family:var(--sans);font-size:12px;color:var(--mute);margin-top:2px}
.cw-um-wallet{display:flex;gap:18px;padding:11px 16px;border-bottom:1px solid var(--line);
  font-size:13px;color:var(--ink3)}
.cw-um-wallet b{color:var(--red);font-weight:700}
.cw-um-i{display:block;width:100%;text-align:left;padding:11px 16px;font-family:var(--sans);font-size:14px;
  color:var(--ink2);cursor:pointer;background:none;border:0}
.cw-um-i:hover{background:var(--paper3);color:var(--ink)}

/* ---------- 窄屏 ---------- */
@media (max-width:860px){
  .cw-app{grid-template-columns:1fr;grid-template-rows:auto 1fr;padding-top:0}
  .cw-topbar{grid-column:1;height:56px}
  .cw-back{width:56px}
  .cw-topbar .cw-burger{display:flex;align-items:center;justify-content:center;align-self:center;
    width:52px;height:44px;flex:none;border:0;border-right:1px solid var(--line);background:none}
  .cw-topbar .cw-burger svg{width:18px;height:18px;stroke:var(--ink2)}
  .cw-side{position:fixed;left:0;top:0;bottom:0;width:220px;z-index:1150;transform:translateX(-100%);
    padding-top:56px;box-shadow:0 0 40px rgba(23,20,16,.16)}
  .cw-side.on{transform:none}
  .cw-recentpanel{left:12px;right:12px;width:auto;bottom:70px}
  .cw-usermenu{right:10px;left:auto}
}
