  .card{background:var(--card);border-radius:16px;padding:16px;margin-bottom:16px;border:1px solid rgba(227,234,240,.7);box-shadow:0 2px 12px rgba(22,40,58,.07)}
  .card h3{font-size:16px;margin-bottom:8px;line-height:1.45}
  .mut{color:var(--mut);font-size:14px;line-height:1.6}
  .row{display:flex;gap:10px;align-items:center}
  .row>*{flex:1}
  .btn{display:block;width:100%;text-align:center;background:var(--teal);color:#fff;padding:13px;border-radius:12px;font-weight:600;margin-top:12px;font-size:15px}
  .btn.blue{background:var(--blue)} .btn.ghost{background:#eef4f8;color:var(--blue)} .btn.gold{background:var(--gold)}
  .btn:disabled{opacity:.45}
  .btn.small{width:auto;display:inline-block;padding:8px 16px;margin-top:0;font-size:14px;border-radius:12px}
  .chip{display:inline-block;padding:4px 10px;border-radius:99px;background:#e7f4f3;color:#087a79;font-size:13px;margin:2px 4px 2px 0}
  .chip.warn{background:#fdf0e3;color:#a35b00}.chip.red{background:#fdecec;color:var(--red)}
  .chip.gray{background:#eef2f5;color:var(--mut)}
  .badge-ad{display:inline-block;background:#8a97a5;color:#fff;font-size:11px;border-radius:4px;padding:1px 5px;vertical-align:2px;margin-right:6px}
  .adslot{border:1.5px dashed #b8c6d2;border-radius:16px;padding:14px;text-align:center;color:var(--mut);background:#fbfcfd;margin-bottom:16px;font-size:14px}
  .tabbar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;background:#fff;border-top:1px solid var(--line);display:flex;z-index:20}
  .tabbar button{flex:1;padding:10px 0 13px;text-align:center;color:var(--mut);font-size:13px;position:relative}
  .tabbar button.on{color:var(--teal);font-weight:700}
  .tabbar .dot{position:absolute;top:5px;right:calc(50% - 18px);background:var(--red);color:#fff;border-radius:99px;font-size:11px;min-width:18px;height:18px;line-height:18px}
  .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
  .grid .cat{background:#fff;border-radius:16px;padding:20px 6px;text-align:center;font-weight:600;border:1px solid rgba(227,234,240,.7);box-shadow:0 2px 12px rgba(22,40,58,.07)}
  .msg{max-width:78%;padding:10px 14px;border-radius:16px;margin:8px 0;line-height:1.6;font-size:15px;white-space:pre-wrap;word-break:break-word}
  .msg.me{background:var(--teal);color:#fff;margin-left:auto;border-bottom-right-radius:4px}
  .msg.them{background:#fff;margin-right:auto;border-bottom-left-radius:4px}
  .ctx{background:#fff7e8;border:1px solid #f0d9a8;border-radius:12px;padding:12px;font-size:14px;margin-bottom:10px;line-height:1.6}
  .price{color:var(--gold);font-weight:700}
  .testacc{display:flex;flex-wrap:wrap;gap:8px}
  .testacc button{background:#eef4f8;border-radius:10px;padding:7px 11px;font-size:13px;color:var(--blue)}
  .hidden{display:none!important}
  .toast{position:fixed;bottom:96px;left:50%;transform:translateX(-50%);background:rgba(15,35,55,.92);color:#fff;padding:11px 18px;border-radius:99px;font-size:14px;z-index:50;max-width:88%;text-align:center}
  .slot{display:inline-block;border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:3px;font-size:14px;background:#fff}
  .slot.off{background:#f0f2f4;color:#9aa7b2;text-decoration:line-through}
  .sec-title{font-size:17px;font-weight:700;margin:20px 0 10px}
  .entry{display:flex;align-items:center;gap:12px;background:var(--card);border-radius:16px;padding:16px;margin-bottom:16px;border:1px solid rgba(227,234,240,.7);box-shadow:0 2px 12px rgba(22,40,58,.07);cursor:pointer}
  .entry .eic{font-size:20px;flex:0 0 auto}
  .entry .et{flex:1;min-width:0}
  .entry .et b{font-size:16px;display:block;line-height:1.45}
  .entry .arr{color:var(--mut);font-size:17px;flex:0 0 auto}
  a{color:var(--teal)}

/* 工具类（2026-10-16 CSP 收尾：原模板内联 style 全部迁到这里，页面禁止内联样式） */
.u-h6{height:6px}.u-h8{height:8px}.u-h10{height:10px}
.u-mt6{margin-top:6px}.u-mt8{margin-top:8px}.u-mt10{margin-top:10px}.u-mt12{margin-top:12px}.u-mt14{margin-top:14px}.u-mt18{margin-top:18px}
.u-mb10{margin-bottom:10px}.u-mv6{margin:6px 0}.u-mv10{margin:10px 0}.u-m146{margin:14px 0 6px}.u-m168{margin:16px 0 8px}.u-mv6-break{margin:6px 0;word-break:break-all}
.u-mw220{min-width:220px}.u-w110{width:110px}.u-w230{width:230px}.u-wauto{width:auto}
.u-f1{flex:1}.u-f60{flex:0 0 60px}.u-f72{flex:0 0 72px}.u-f90{flex:0 0 90px}.u-wrap{flex-wrap:wrap}.u-fr{float:right}
.u-fs13{font-size:13px}.u-fs13-dark{font-size:13px;color:#1c2b3a}.u-fs13-dim{font-size:13px;opacity:.7}
.u-span2{grid-column:span 2}.u-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.u-grid-search{display:grid;grid-template-columns:260px 160px 1fr;align-items:end}
.u-inline-mr{display:inline-block;margin-right:12px}.u-right{text-align:right}.u-center6{text-align:center;margin:6px 0}
.u-red{color:var(--red)}.u-danger-text{color:#b03a2e}
.u-actions-end{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}
.u-hr-top{border-top:1px solid #eee;margin-top:10px;padding-top:10px}
.u-ok-box{border-color:#bfe3d2;background:#eefaf3}.u-err-box{border-color:#f0c9c2;background:#fdf0ee}
.u-ring-teal{border:2px solid var(--teal)}
.u-sheet{background:#f2f7fb;border-radius:10px;padding:10px}
.u-modal-sheet{background:#fff;width:100%;max-width:480px;border-radius:16px 16px 0 0;padding:16px}
.u-search-input{flex:1;min-width:260px;font-size:15px;padding:10px}
.u-plain-btn{margin-top:0;padding:10px 4px;font-size:14px}
.u-pad6{padding:6px 0 10px}.u-sticky-b{position:sticky;bottom:70px}
.is-read{opacity:.65}
.share-mask{position:fixed;inset:0;background:rgba(10,25,40,.45);z-index:60;display:flex;align-items:flex-end;justify-content:center}
