/* 投稿台（投稿专区版）· 样式从首页原样迁出，勿在首页再维护一份 */
.sm {
  --r-2xs: 4px; --r-xs: 6px; --r-sm: 8px; --r-md: 12px; --r-lg: 14px; --r-xl: 18px; --r-2xl: 24px; --r-pill: 99px;
  --fs-2xs: 10.5px; --fs-xs: 11.5px; --fs-sm: 13px; --fs-md: 14px; --fs-lg: 15px;
  --fs-xl: 17px; --fs-2xl: 19px; --fs-3xl: 22px; --fs-4xl: 25px;
  --text: #15151d; --surface-h: #f7f7fb; --surface-s: #fafafd;
  --line-s: rgba(20, 20, 40, .18);
  --brand-solid: #6a45ff; --brand2-solid: #a82ae8;
  --up-text: #bf2f45; --ok-text: #0a7355; --gold-text: #8f5e00;
  --glass-solid: rgba(255, 255, 255, .92);
  --ease: cubic-bezier(.22, .61, .36, 1);
  --spring: cubic-bezier(.34, 1.4, .5, 1);
}
.sm-desk { max-width: 1560px; }
.sm-desk h1 { margin: 6px 0 0; font-size: 40px; font-weight: 850; letter-spacing: -.8px; }
.sm-desk .sm-desk-sub { margin: 10px 0 20px; font-size: 15px; color: var(--dim); line-height: 1.7; }
#submitView { margin-top: 4px; }
.sb-wrap { min-width: 0; }

/* 发件邮箱 */
.zd-mail { background: var(--card); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow); padding: 16px 18px; margin-bottom: 16px; }
.zd-mail-hd { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.zd-mail-hd b { font-size: 14.5px; }
.zd-mail-hd span { font-size: 12.5px; color: var(--faint); }
.zd-mail-hd button { margin-left: auto; height: 34px; padding: 0 13px; border: 1px solid var(--line-2); border-radius: 9px; background: #fff; font-size: 12.5px; font-weight: 650; }
.zd-mail-hd button:hover { border-color: var(--brand); color: var(--brand); }
.zd-mail-form { margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--line-2); display: flex; flex-direction: column; gap: 10px; }
.zd-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.zd-mail-form label { display: flex; flex-direction: column; gap: 5px; font-size: 11.5px; color: var(--dim); }
.zd-mail-form input, .zd-mail-form select { height: 40px; padding: 0 11px; border: 1px solid var(--line-2); border-radius: 10px; background: #fbfbfe; font-size: 13.5px; }
.zd-acts { display: flex; gap: 8px; flex-wrap: wrap; }
.zd-hint { margin: 2px 0 0; font-size: 11.5px; color: var(--faint); line-height: 1.7; }

/* 投递记录 */
.zd-log { margin-top: 16px; background: var(--card); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow); padding: 16px 18px; }
.zd-log h3 { margin: 0 0 10px; font-size: 14.5px; display: flex; align-items: center; gap: 10px; }
.zd-log h3 #zdLogSync { margin-left: auto; }
.zd-log h3 #zdLogClose { margin-left: 8px; }
.zd-log h3 button { margin-left: auto; height: 32px; padding: 0 12px; border: 1px solid var(--line-2); border-radius: 9px; background: #fff; font-size: 12.5px; }
.zd-log-row { display: flex; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 12.5px; align-items: baseline; }
.zd-log-row:last-child { border-bottom: 0; }
.zd-log-row b { flex: none; min-width: 92px; }
.zd-log-row span { color: var(--dim); flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.zd-log-row em { font-style: normal; color: var(--faint); font-size: 11px; }
.zd-empty { font-size: 12.5px; color: var(--faint); padding: 8px 0; }

/* 登录门 */
.zd-gate { background: var(--card); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow); padding: 40px 24px; text-align: center; }
.zd-gate b { font-size: 17px; }
.zd-gate p { margin: 8px 0 16px; font-size: 13.5px; color: var(--dim); }
.zd-gate a { display: inline-flex; align-items: center; height: 42px; padding: 0 20px; border-radius: 11px; background: var(--brand); color: #fff; font-weight: 700; font-size: 14px; }

@media (max-width: 760px) {
  .sm-desk h1 { font-size: 30px; }
  .zd-row { grid-template-columns: 1fr; }
}

/* ==================== 投稿台 v2（2026-10-21）==================== */
#submitView{display:none}
body[data-view="submit"] #submitView{display:block;animation:appIn .55s var(--ease) both}
body[data-view="submit"] .hero{position:fixed;inset:0;opacity:0;visibility:hidden;pointer-events:none}
body[data-view="submit"] #app,body[data-view="submit"] #insight,body[data-view="submit"] #lab{display:none}

/* 顶部智能摘要 */
.sb-ck-empty{font-size:var(--fs-xs);line-height:1.75;color:var(--dim);padding:10px 2px}
.sb-ck-empty a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.sb-ck-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sb-ck-acts{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}
.sb-ck-hint{font-size:var(--fs-2xs);color:var(--faint)}
.sb-ck-res{margin-top:12px;border:1px solid var(--line);border-radius:var(--r-md);padding:11px 12px;background:var(--surface-s)}
.sb-ck-res.is-fail{border-color:color-mix(in srgb,var(--up-text) 26%,transparent);background:color-mix(in srgb,var(--up-text) 7%,#fff)}
.sb-ck-res.is-warn{border-color:color-mix(in srgb,var(--gold-text) 26%,transparent);background:color-mix(in srgb,var(--gold-text) 7%,#fff)}
.sb-ck-res.is-pass{border-color:color-mix(in srgb,var(--ok-text) 24%,transparent);background:color-mix(in srgb,var(--ok-text) 7%,#fff)}
.sb-ck-res>b{font-size:var(--fs-sm);font-weight:800}
.sb-ck-items{display:flex;flex-direction:column;gap:7px;margin-top:9px}
.sb-ck-it{display:flex;gap:9px;font-size:var(--fs-xs);line-height:1.7}
.sb-ck-it>span{flex:none;width:44px;font-weight:700}
.sb-ck-it.is-fail>span{color:var(--up-text)}
.sb-ck-it.is-warn>span{color:var(--gold-text)}
.sb-ck-it p{margin:0;color:var(--dim)}
.sb-ck-it p b{color:var(--text);font-weight:700}
.sb-ck-it q{display:block;margin-top:3px;padding-left:8px;border-left:2px solid var(--line-s);font-size:var(--fs-2xs);color:var(--faint)}
.sb-ck-more{display:inline-block;margin-top:8px;font-size:var(--fs-xs);font-weight:700;color:var(--brand)}
.sb-frommap{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding:10px 14px;border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:var(--r-md);background:var(--surface-s);font-size:var(--fs-xs);color:var(--dim)}
.sb-frommap span{min-width:0;overflow-wrap:anywhere}
.sb-frommap .sb-mini{margin-left:auto}
.sb-hero{display:flex;align-items:center;gap:24px;padding:22px 24px;border:1px solid var(--line);
  border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-1);margin-bottom:16px}
.sb-hero-tx{flex:1;min-width:0}
.sb-badge{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:var(--r-pill);
  background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--brand);
  font-size:var(--fs-2xs);font-weight:800;letter-spacing:.6px}
.sb-hero-tx h3{margin:9px 0 4px;font-size:20px;font-weight:850;color:var(--text);letter-spacing:-.2px}
.sb-hero-tx p{margin:0;font-size:var(--fs-sm);color:var(--dim);line-height:1.7}
.sb-hero-stats{display:flex;gap:10px;flex:none}
.sb-hero-stats div{min-width:78px;padding:10px 14px;border-radius:var(--r-lg);text-align:center;
  border:1px solid var(--line);background:color-mix(in srgb,var(--dim) 3%,transparent)}
.sb-hero-stats b{display:block;font-size:22px;font-weight:850;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.2}
.sb-hero-stats span{font-size:var(--fs-2xs);color:var(--faint);font-weight:700}

.sb-grid{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:16px;align-items:start}
.sb-col{display:flex;flex-direction:column;gap:16px;min-width:0}
.sb-side{position:sticky;top:92px}
.sb-card{border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);
  padding:20px 22px;box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:14px}
.sb-hd{display:flex;align-items:center;gap:9px;margin:0}
.sb-hd i{flex:none;width:22px;height:22px;border-radius:50%;background:color-mix(in srgb,var(--brand) 12%,transparent);
  color:var(--brand);font-style:normal;font-size:var(--fs-2xs);font-weight:850;
  display:inline-flex;align-items:center;justify-content:center}
.sb-hd h3{margin:0;font-size:var(--fs-md);font-weight:850;color:var(--text)}
.sb-hd span{margin-left:auto;font-size:var(--fs-2xs);color:var(--faint);font-weight:650}

/* 表单：字段之间留呼吸，不再挤成一坨 */
.sb-fields{display:flex;gap:12px;align-items:flex-end}
.sb-f{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 180px}
.sb-f.w120{flex:0 0 120px}
.sb-f>span{font-size:var(--fs-2xs);font-weight:800;color:var(--faint);letter-spacing:.4px}
.sb-f input,.sb-f textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;
  background:var(--surface);color:var(--text);font-size:var(--fs-sm);padding:10px 12px;outline:none;
  font-family:inherit;transition:border-color .16s,box-shadow .16s}
.sb-f input:focus,.sb-f textarea:focus{border-color:color-mix(in srgb,var(--brand) 46%,transparent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 10%,transparent)}
.sb-f textarea{line-height:1.75;resize:vertical}

/* 上传区 */
.sb-drop{display:flex;align-items:center;gap:13px;padding:16px;border:1.5px dashed var(--line-s);
  border-radius:var(--r-lg);background:color-mix(in srgb,var(--dim) 2.5%,transparent);cursor:pointer;
  transition:border-color .16s,background .16s}
.sb-drop:hover{border-color:color-mix(in srgb,var(--brand) 40%,transparent);background:color-mix(in srgb,var(--brand) 4%,transparent)}
.sb-drop.on{border-style:solid;border-color:color-mix(in srgb,var(--brand) 34%,transparent);
  background:color-mix(in srgb,var(--brand) 5%,transparent);cursor:default}
.sb-drop-ic{flex:none;width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--brand)}
.sb-drop-tx{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
.sb-drop-tx b{font-size:var(--fs-sm);font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-drop-tx span{font-size:var(--fs-2xs);color:var(--faint);line-height:1.6}

/* 分段控件 */
.sb-seg{display:inline-flex;padding:3px;border-radius:10px;background:color-mix(in srgb,var(--dim) 6%,transparent);gap:3px}
.sb-seg button{height:30px;padding:0 18px;border:0;border-radius:8px;background:none;color:var(--dim);
  font-size:var(--fs-xs);font-weight:750;cursor:pointer;transition:.15s}
.sb-seg button.on{background:var(--surface);color:var(--brand);font-weight:850;box-shadow:var(--shadow-1)}

/* 题材 chips */
.sb-tags{display:flex;flex-wrap:wrap;gap:8px}
.sb-tag{height:32px;padding:0 13px;border-radius:var(--r-pill);border:1px solid var(--line);
  background:var(--surface);color:var(--dim);font-size:var(--fs-xs);font-weight:700;cursor:pointer;transition:.15s}
.sb-tag:hover{border-color:var(--line-s);color:var(--text)}
.sb-tag.on{border-color:color-mix(in srgb,var(--brand) 44%,transparent);color:var(--brand);
  background:color-mix(in srgb,var(--brand) 8%,transparent);font-weight:800}

.sb-adv{border-top:1px solid var(--line);padding-top:12px}
.sb-adv summary{cursor:pointer;font-size:var(--fs-2xs);font-weight:750;color:var(--faint);list-style:none}
.sb-adv summary::-webkit-details-marker{display:none}
.sb-adv summary::before{content:"+ ";color:var(--brand)}
.sb-adv[open] summary::before{content:"− "}
.sb-adv .sb-fields{margin-top:10px}

.sb-hintline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:var(--fs-2xs);color:var(--faint);line-height:1.6}

/* 智能匹配面板 */
.sb-smart{gap:12px}
.sb-smart-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sb-switch{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-size:var(--fs-2xs);color:var(--dim);font-weight:700}
.sb-switch input{position:absolute;opacity:0;width:0;height:0}
.sb-switch i{width:34px;height:20px;border-radius:99px;background:color-mix(in srgb,var(--dim) 18%,transparent);
  position:relative;transition:background .18s}
.sb-switch i::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.22);transition:transform .18s}
.sb-switch input:checked+i{background:var(--brand)}
.sb-switch input:checked+i::after{transform:translateX(14px)}
.sb-selinfo{font-size:var(--fs-2xs);color:var(--faint);display:flex;align-items:center;gap:6px}
.sb-selinfo b{color:var(--text);font-size:var(--fs-sm)}
.sb-clearsel{margin-left:auto;border:0;background:none;color:var(--faint);font-size:var(--fs-2xs);
  text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.sb-list{display:flex;flex-direction:column;gap:7px;max-height:330px;overflow:auto;margin:0 -4px;padding:0 4px}
.sb-mt{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid var(--line);
  border-radius:12px;cursor:pointer;background:var(--surface);transition:.15s}
.sb-mt:hover{border-color:var(--line-s)}
.sb-mt.on{border-color:color-mix(in srgb,var(--brand) 44%,transparent);background:color-mix(in srgb,var(--brand) 6%,transparent)}
.sb-mt.cool{opacity:.55;cursor:default}
.sb-mt input{flex:none;accent-color:var(--brand);margin:0}
.sb-score.pin{background:var(--surface-h);color:var(--dim);font-weight:700;letter-spacing:.02em}
.sb-score{flex:none;width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;
  font-size:var(--fs-xs);font-weight:850;font-variant-numeric:tabular-nums}
.sb-score.hi{color:#0f7a4f;background:color-mix(in srgb,#0f7a4f 11%,transparent)}
.sb-score.mid{color:var(--brand);background:color-mix(in srgb,var(--brand) 11%,transparent)}
.sb-score.lo{color:var(--faint);background:color-mix(in srgb,var(--dim) 8%,transparent)}
.sb-mt-m{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
.sb-mt-m b{font-size:var(--fs-sm);font-weight:800;color:var(--text);display:flex;align-items:center;gap:6px;min-width:0}
.sb-mt-m b em{font-style:normal;font-size:var(--fs-2xs);font-weight:700;color:var(--faint);white-space:nowrap}
.sb-mt-m i{font-style:normal;font-size:var(--fs-2xs);color:var(--dim);line-height:1.5;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-cool{flex:none;font-size:var(--fs-2xs);color:var(--gold);font-weight:800}

.sb-myhd{display:flex;align-items:center;gap:8px;padding-top:10px;border-top:1px solid var(--line);
  font-size:var(--fs-2xs);font-weight:800;color:var(--faint);letter-spacing:.5px}
.sb-addbtn{margin-left:auto;border:0;background:none;color:var(--brand);font-size:var(--fs-2xs);font-weight:800;cursor:pointer}
.sb-my-list{display:flex;flex-direction:column;gap:6px}
.sb-my{display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid var(--line);
  border-radius:10px;cursor:pointer;background:var(--surface)}
.sb-my.on{border-color:color-mix(in srgb,var(--brand) 44%,transparent);background:color-mix(in srgb,var(--brand) 6%,transparent)}
.sb-my input{flex:none;accent-color:var(--brand)}
.sb-my-m{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}
.sb-my-m b{font-size:var(--fs-xs);font-weight:800;color:var(--text)}
.sb-my-m i{font-style:normal;font-size:var(--fs-2xs);color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-mask{font-family:ui-monospace,Consolas,"Courier New",monospace;letter-spacing:.02em;color:var(--dim)!important}
.sb-del{flex:none;width:22px;height:22px;border:0;border-radius:6px;background:none;color:var(--faint);
  font-size:15px;line-height:1;cursor:pointer}
.sb-del:hover{background:color-mix(in srgb,var(--up) 10%,transparent);color:var(--up)}
.sb-addf{display:flex;flex-direction:column;gap:7px;padding:10px;border:1px dashed var(--line-s);border-radius:10px;
  background:color-mix(in srgb,var(--dim) 3%,transparent)}
.sb-addf input{border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);
  font-size:var(--fs-xs);padding:8px 10px;outline:none;font-family:inherit}
.sb-addf-ft{display:flex;justify-content:flex-end;gap:7px}

/* 投递条 */
.sb-sendbar{display:flex;align-items:center;gap:12px;padding-top:12px;border-top:1px solid var(--line)}
.sb-upg{display:block;margin-top:10px;padding:10px 12px;border-radius:11px;font-size:12.5px;line-height:1.6;
  background:rgba(90,70,220,.07);color:var(--brand);text-decoration:none;text-align:center}
.sb-upg:hover{background:rgba(90,70,220,.12)}
.sb-sendmeta{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}
.sb-sendmeta b{font-size:var(--fs-md);font-weight:850;color:var(--text);font-variant-numeric:tabular-nums}
.sb-sendmeta span{font-size:var(--fs-2xs);color:var(--faint)}
.sb-go{flex:none;height:40px;padding:0 24px;border:0;border-radius:11px;background:var(--brand);color:#fff;
  font-size:var(--fs-sm);font-weight:800;cursor:pointer;transition:.16s}
.sb-go:hover:not(:disabled){filter:brightness(1.06)}
.sb-go:disabled{opacity:.42;cursor:default}
.sb-status{font-size:var(--fs-2xs);color:var(--dim);line-height:1.7}
.sb-status.dim{color:var(--faint)}
.sb-empty2{padding:22px 10px;text-align:center;color:var(--faint);font-size:var(--fs-xs);line-height:1.8}
.sb-empty2.small{padding:12px 6px}

.sb-mini{height:30px;padding:0 12px;border-radius:8px;border:1px solid var(--line-s);background:none;
  color:var(--text);font-size:var(--fs-2xs);font-weight:750;cursor:pointer;white-space:nowrap;transition:.15s}
.sb-mini:hover{border-color:var(--brand);color:var(--brand)}
.sb-mini.ghost{color:var(--faint);border-color:var(--line)}
.sb-mini.pri{border-color:transparent;background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--brand);font-weight:800}

/* 手机端三步条：一次只展开一段（作品 → 邮件 → 匹配投递），桌面不显示 */
.sb-steps{display:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 12px}
.sb-steps button{appearance:none;cursor:pointer;font:inherit;display:flex;align-items:center;justify-content:center;gap:6px;
  height:42px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);color:var(--dim);
  font-size:var(--fs-xs);font-weight:750;white-space:nowrap}
.sb-steps button em{font-style:normal;flex:none;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;
  font-size:10.5px;font-weight:850;background:color-mix(in srgb,var(--dim) 13%,transparent);color:inherit}
.sb-steps button.on{border-color:color-mix(in srgb,var(--brand) 48%,var(--line));background:color-mix(in srgb,var(--brand) 9%,var(--surface));color:var(--brand)}
.sb-steps button.on em{background:var(--brand);color:#fff}
.sb-next{display:none;gap:8px;margin-top:14px}
.sb-next .sb-go{flex:1}
.sb-next .sb-mini{height:40px;padding:0 16px}
@media(max-width:1100px){
  .sb-grid{grid-template-columns:minmax(0,1fr)}
  .sb-side{position:static}
  .sb-steps{display:grid}
  .sb-next{display:flex}
  /* 一次只展开一张卡：作品 → 预检 → 邮件 → 投递 */
  .sb-wrap[data-step="1"] .sb-cck,.sb-wrap[data-step="1"] .sb-c2,.sb-wrap[data-step="1"] .sb-side,
  .sb-wrap[data-step="2"] .sb-c1,.sb-wrap[data-step="2"] .sb-c2,.sb-wrap[data-step="2"] .sb-side,
  .sb-wrap[data-step="3"] .sb-c1,.sb-wrap[data-step="3"] .sb-cck,.sb-wrap[data-step="3"] .sb-side,
  .sb-wrap[data-step="4"] .sb-c1,.sb-wrap[data-step="4"] .sb-cck,.sb-wrap[data-step="4"] .sb-c2{display:none}
  .sb-hero{flex-wrap:wrap;gap:16px}
  .sb-hero-stats{width:100%;justify-content:space-between}
}
/* 主行动按钮（下一步 / 投递）文字两档都必须白：夜间档 --brand 会变浅(#9d86ff)，
   再被 .sm-btn/.ink 那类连坐规则染成浅灰就看不清了，所以直接锁白 + 夜间用实心品牌底。 */
.sm .sb-go{color:#fff!important}
html.sm-dark .sm .sb-go{background:var(--brand-solid);color:#fff!important}
html.sm-dark .sm .sb-go:disabled{background:#3a3450}
@media(max-width:640px){
  .sb-card{padding:16px}
  /* 一行两格：作品名+字数、作品分类+读者情绪 各占一半，手机端少滚两屏 */
  .sb-fields{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:10px;flex-wrap:nowrap}
  /* 作品名要写长，字数只有几位数：手机端 7:3；两个下拉那行还是一人一半 */
  .sb-fields:has(select){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .sb-f,.sb-f.w120{flex:1 1 auto;min-width:0}
  .sb-hero{padding:16px}
  .sb-hero-tx h3{font-size:17px}
  .sb-list{max-height:none}
  .sb-hero-stats div{min-width:0;flex:1;padding:8px 10px}
  .sb-hero-stats b{font-size:18px}
}


.zd-toast { position: fixed; left: 50%; bottom: calc(92px + env(safe-area-inset-bottom)); transform: translate(-50%, 8px); z-index: 120; padding: 10px 16px; border-radius: 999px; background: #15151d; color: #fff; font-size: 13px; opacity: 0; pointer-events: none; transition: .2s ease; max-width: calc(100vw - 40px); text-align: center; }
.zd-toast.is-show { opacity: 1; transform: translate(-50%, 0); }
.zd-toast.is-error { background: #8f1d17; }
.zd-toast.is-success { background: #0a7355; }

/* 按稿子推荐 */
.sb-rec { margin: 10px 0 4px; padding: 10px; border: 1px dashed var(--line-2); border-radius: 10px; background: var(--surface-s); }
.sb-rec textarea { width: 100%; min-height: 84px; padding: 9px 10px; border: 1px solid var(--line-2); border-radius: 9px; background: #fff; font-size: 12.5px; line-height: 1.7; resize: vertical; }
.sb-rec textarea:focus { border-color: var(--brand); outline: 0; box-shadow: 0 0 0 3px rgba(106, 69, 255, .1); }
.sb-rec-bar { display: flex; align-items: center; gap: 9px; margin-top: 8px; flex-wrap: wrap; }
.sb-rec-bar span { font-size: 11px; color: var(--faint); line-height: 1.6; }
.sb-warn { display: block; margin-top: 3px; font-style: normal; font-size: 10px; color: var(--up-text); line-height: 1.5; }

/* 夜间模式（投稿台） */
html.sm-dark .sm .sb-card, html.sm-dark .sm .sb-mt, html.sm-dark .sm .sb-my,
html.sm-dark .sm .sb-drop { background: #161821; color: var(--ink); }
html.sm-dark .sm .sb-f input, html.sm-dark .sm .sb-f textarea,
html.sm-dark .sm .sb-addf input { background: #11131a; color: var(--ink); }
html.sm-dark .sm .sb-rec { background: #14161d; border-color: var(--line-2); }
html.sm-dark .sm .sb-rec textarea, html.sm-dark .sm .sb-subj, html.sm-dark .sm #sbBodyTx { background: #11131a; color: var(--ink); }
html.sm-dark .sm .zd-mail, html.sm-dark .sm .zd-log { background: #161821; }
html.sm-dark .sm .zd-mail-form input, html.sm-dark .sm .zd-mail-form select { background: #11131a; color: var(--ink); }
html.sm-dark .sm .zd-mail-hd button, html.sm-dark .sm .zd-log h3 button { background: #1a1c25; color: var(--ink); border-color: var(--line-2); }
html.sm-dark .sm .zd-mail-hd button:hover, html.sm-dark .sm .zd-log h3 button:hover { border-color: var(--brand); color: var(--brand); }
html.sm-dark .sm .sb-ck-res.is-fail { background: rgba(255, 138, 154, .09); border-color: rgba(255, 138, 154, .24); }
html.sm-dark .sm .sb-ck-res.is-warn { background: rgba(224, 162, 74, .09); border-color: rgba(224, 162, 74, .24); }
html.sm-dark .sm .sb-ck-res.is-pass { background: rgba(76, 195, 138, .09); border-color: rgba(76, 195, 138, .24); }
html.sm-dark .sm .sb-score.hi { color: #6fd6a5; background: rgba(76, 195, 138, .14); }
html.sm-dark .sm .zd-toast { background: #f1f1f6; color: #15151d; }

/* ---------- 稿件正文输入（拖 / 选 / 粘贴，预检与投稿台共用） ---------- */
.ms { display: flex; flex-direction: column; gap: 9px; }
.ms-drop { display: flex; align-items: center; gap: 12px; padding: 14px 15px; cursor: pointer;
  border: 1.5px dashed var(--line-s); border-radius: var(--r-lg); background: var(--surface-s); transition: .16s var(--ease); }
.ms-drop:hover, .ms-drop.is-over { border-color: color-mix(in srgb, var(--brand) 45%, var(--line)); background: color-mix(in srgb, var(--brand) 5%, var(--surface)); }
.ms-ic { flex: none; width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center;
  color: var(--brand); background: color-mix(in srgb, var(--brand) 10%, var(--surface)); }
.ms-tx { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ms-tx b { font-size: 13.5px; font-weight: 750; color: var(--text); }
.ms-tx span { font-size: 11.5px; color: var(--faint); }
.ms-or { position: relative; text-align: center; font-size: 11px; color: var(--faint); }
.ms-or::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--line); }
.ms-or span { position: relative; padding: 0 10px; background: var(--surface); }
.ms-text { width: 100%; box-sizing: border-box; padding: 11px 12px; border: 1px solid var(--line); border-radius: var(--r-md);
  background: var(--surface); color: var(--text); font: inherit; font-size: 13.5px; line-height: 1.85; resize: vertical; }
.ms-text:focus { outline: 0; border-color: color-mix(in srgb, var(--brand) 55%, var(--line)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 12%, transparent); }
.ms-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 11.5px; color: var(--faint); }
.ms-count b { color: var(--text); font-weight: 800; }
.ms-clear { appearance: none; border: 0; background: none; padding: 0; font: inherit; font-size: 11.5px; color: var(--faint); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.ms-clear:hover { color: var(--brand); }

/* ---------- 下拉与勾选：统一高度和描边，别再出现原生样式 ---------- */
.sb-f select { width: 100%; box-sizing: border-box; height: 42px; padding: 0 32px 0 11px; border: 1px solid var(--line);
  border-radius: 10px; background-color: var(--surface); color: var(--text); font: inherit; font-size: 13.5px;
  appearance: none; -webkit-appearance: none; cursor: pointer; white-space: nowrap; text-overflow: ellipsis;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2385859d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9.5l6 6 6-6'/></svg>");
  background-repeat: no-repeat; background-position: right 11px center; }
.sb-f select:focus { outline: 0; border-color: color-mix(in srgb, var(--brand) 55%, var(--line)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 12%, transparent); }
.sb-checks { display: flex; flex-wrap: wrap; gap: 8px; }
.sb-chk { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 13px; cursor: pointer;
  border: 1px solid var(--line); border-radius: var(--r-pill); background: var(--surface); font-size: 12.5px; color: var(--dim); }
.sb-chk input { width: 15px; height: 15px; margin: 0; accent-color: var(--brand); }
.sb-chk:has(input:checked) { border-color: color-mix(in srgb, var(--brand) 45%, var(--line)); background: color-mix(in srgb, var(--brand) 7%, var(--surface)); color: var(--brand); font-weight: 700; }
html.sm-dark .sm .ms-drop { background: #14161d; }
html.sm-dark .sm .ms-text, html.sm-dark .sm .sb-f select { background: #11131a; color: var(--ink); }
.sb-rec-ms { padding: 10px 12px; border: 1px dashed var(--line-s); border-radius: 10px; background: var(--surface);
  font-size: 12.5px; line-height: 1.75; color: var(--dim); }
.ms-file { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 12px;
  border: 1px solid color-mix(in srgb, var(--brand) 30%, var(--line)); border-radius: 10px;
  background: color-mix(in srgb, var(--brand) 6%, var(--surface)); font-size: 12.5px; color: var(--text); }
.ms-file-x { appearance: none; border: 0; background: none; padding: 0; font: inherit; font-size: 11.5px; color: var(--faint); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.ms-file-x:hover { color: var(--brand); }
/* 必填 / 选填 标记 */
.sb-f > span .req, .sb-f > span .opt { display: inline-block; margin-left: 6px; padding: 1px 6px; border-radius: 6px;
  font-style: normal; font-size: 10px; font-weight: 800; letter-spacing: .02em; vertical-align: 1px; }
.sb-f > span .req { color: #b3261e; background: color-mix(in srgb, #b3261e 10%, transparent); }
.sb-f > span .opt { color: var(--faint); background: color-mix(in srgb, var(--dim) 10%, transparent); }
html.sm-dark .sb-f > span .req { color: #ff8a9a; background: rgba(255, 138, 154, .14); }
html.sm-dark .sb-f > span .opt { color: var(--faint); background: rgba(255, 255, 255, .07); }

/* ---------- 投稿配置：笔名 / 联系方式 / 投稿邮箱（最多 5 个） ---------- */
.pf-host { display: flex; flex-direction: column; gap: 12px; }
.zd-mail .pf-host { margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--line); }
.pf-mails { display: flex; flex-direction: column; gap: 8px; }
.pf-hd { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.pf-hd span { font-size: var(--fs-2xs); font-weight: 800; color: var(--faint); letter-spacing: .4px; }
.pf-hd i { font-style: normal; font-size: 11px; color: var(--faint); }
.pf-list { display: grid; gap: 8px; }
.pf-mail { display: flex; gap: 8px; align-items: center; }
.pf-mail input { flex: 1; min-width: 0; height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px;
  background: var(--surface); color: var(--text); font: inherit; font-size: 13.5px; }
.pf-mail input:focus { outline: 0; border-color: color-mix(in srgb, var(--brand) 55%, var(--line)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 12%, transparent); }
.pf-mail button { flex: none; height: 36px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px;
  background: none; color: var(--faint); font: inherit; font-size: 12px; cursor: pointer; }
.pf-mail button:hover { color: var(--brand); border-color: var(--brand); }
.pf-add { align-self: flex-start; height: 36px; padding: 0 14px; border: 1px dashed var(--line-s); border-radius: 9px;
  background: none; color: var(--brand); font: inherit; font-size: 12.5px; font-weight: 700; cursor: pointer; }
.pf-empty { margin: 0; font-size: 12px; color: var(--faint); }
.pf-ft { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 11.5px; color: var(--faint); }
.pf-st { font-weight: 700; color: var(--faint); }
.pf-st.ok { color: var(--ok-text); }
html.sm-dark .sm .pf-mail input { background: #11131a; color: var(--ink); }

/* ---------- 投稿配置：顶部一行按钮 + 弹窗 ---------- */
.zd-cfg{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);
  border-radius:var(--r);box-shadow:var(--shadow);padding:14px 18px;margin-bottom:16px}
.zd-cfg-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.zd-cfg-tx b{font-size:14.5px}
.zd-cfg-tx span{font-size:12.5px;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zd-cfg button{flex:none;height:38px;padding:0 18px;border:0;border-radius:10px;background:var(--brand);color:#fff;
  font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.zd-modal{position:fixed;inset:0;z-index:130;display:flex;align-items:flex-start;justify-content:center;
  padding:24px 16px;overflow:auto;background:rgba(12,12,20,.5)}
.zd-modal[hidden]{display:none}
.zd-modal-card{width:min(720px,100%);background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-xl);box-shadow:0 24px 60px rgba(10,10,20,.28);margin:auto}
.zd-modal-hd{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.zd-modal-hd b{font-size:16px}
.zd-modal-hd span{flex:1;font-size:12px;color:var(--faint)}
.zd-modal-hd button{height:34px;padding:0 14px;border:1px solid var(--line-2);border-radius:9px;background:#fff;
  font:inherit;font-size:12.5px;cursor:pointer}
.zd-modal-bd{padding:16px 20px 20px;display:flex;flex-direction:column;gap:16px}
.cf-sec{display:flex;flex-direction:column;gap:10px}
.cf-sec-h{font-size:12px;font-weight:850;letter-spacing:.06em;color:var(--faint);display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.cf-sec-h i{font-style:normal;font-size:11px;font-weight:500;color:var(--faint);letter-spacing:0}
.cf-a{border:1px solid var(--line);border-radius:12px;background:var(--surface-s);padding:0 14px}
.cf-a summary{display:flex;align-items:center;gap:8px;padding:12px 0;cursor:pointer;list-style:none}
.cf-a summary::-webkit-details-marker{display:none}
.cf-ava{flex:none;font-size:10.5px;font-weight:850;color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent);padding:2px 7px;border-radius:6px}
.cf-a summary b{flex:1;min-width:0;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cf-st{flex:none;font-style:normal;font-size:11.5px;color:var(--faint)}
.cf-st.ok{color:var(--ok-text)} .cf-st.bad{color:var(--up-text)}
.cf-fields{display:flex;flex-direction:column;gap:10px;padding:0 0 14px}
.cf-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cf-hint{font-size:11px;color:var(--faint)}
.cf-empty{margin:0;font-size:12.5px;color:var(--faint)}
.cf-limit{margin:0;font-size:12.5px;color:var(--up-text)}
.cf-foot{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--faint)}
.cf-foot a{color:var(--brand)}
.cf-msg{font-size:12px} .cf-msg.ok{color:var(--ok-text)}
.sb-mini.danger{color:var(--up-text);border-color:color-mix(in srgb,var(--up-text) 30%,var(--line))}
html.sm-dark .sm .zd-modal-hd button{background:#1a1c25;color:var(--ink)}
html.sm-dark .sm .cf-a{background:#14161d}
@media(max-width:1100px){
  /* 编辑列表是个内嵌滚动区：高度写死像素（vh 会随手机地址栏收放变化 → 列表高度变了就"跳"），
     用 overscroll-behavior:contain 防止滚到底后把滚动甩给页面；废弃的 -webkit-overflow-scrolling 关掉。 */
  .sb-list{max-height:420px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:auto;scroll-behavior:auto}
}
@media(max-width:640px){
  .zd-modal{padding:0}
  .zd-modal-card{border-radius:0;min-height:100%;width:100%}
  .zd-modal-bd{padding:14px 16px calc(28px + env(safe-area-inset-bottom))}
  .sb-list{max-height:420px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:auto;scroll-behavior:auto}
}
.sb-smart-tip{margin:10px 0 4px;padding:10px 12px;border-radius:10px;background:var(--surface-s);border:1px solid var(--line);
  font-size:11.5px;line-height:1.7;color:var(--dim)}
.sb-smart-tip b{color:var(--text);font-weight:750}
.zd-fb-tip { font-size: 11.5px; color: var(--faint); padding: 2px 0 10px; line-height: 1.7; }
.zd-g { border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; margin-bottom: 10px; background: var(--card, #fff); }
.zd-g-hd { display: flex; gap: 12px; align-items: flex-start; }
.zd-g-t { flex: 1; min-width: 0; }
.zd-g-t b { display: block; font-size: 14px; line-height: 1.5; }
.zd-g-t i { display: block; font-style: normal; font-size: 11.5px; color: var(--faint); margin-top: 3px; }
.zd-g-src { font-style: normal; font-size: 11px; color: var(--faint); }
.zd-g-ms { margin-top: 8px; border-top: 1px solid var(--line); }
.zd-g-ms .zd-log-row b { min-width: 84px; font-size: 12px; font-weight: 500; }
@media (max-width: 899px) {
  .zd-g-hd { align-items: center; }
  .zd-g-ms .zd-log-row { flex-wrap: wrap; gap: 6px 10px; }
  .zd-g-ms .zd-log-row span { flex: 1 1 100%; order: 3; }
}

/* ---------- 手机端投递条（2026-10-24）：原来 meta 与按钮并排，按钮被挤成小方块 ---------- */
@media(max-width:640px){
  .sb-sendbar{flex-wrap:wrap;gap:10px}
  .sb-sendmeta{flex:1 1 100%;order:0}
  .sb-sendbar .sb-go{flex:1 1 100%;width:100%;height:50px;border-radius:13px;font-size:15px;letter-spacing:.02em}
  .sb-sendbar .sb-upg{margin-top:0}
  .sb-sendbar .sb-status,.sb-sendbar .sb-status.dim{flex:1 1 100%}
  /* 三步条在手机端是导航，字小号别挤：四个步骤也放得下 */
  .sb-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
  .sb-steps button{padding:8px 4px;font-size:11.5px}
}

/* ---------- 第 2 步「投稿预检」卡（2026-10-24）---------- */
.sb-ckin{display:flex;gap:10px;flex-wrap:wrap}
.sb-ckin .sb-f{flex:1 1 150px;min-width:0}
.sb-ckbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.sb-ckhint{font-size:var(--fs-2xs);color:var(--faint)}
.sb-cknone{margin-top:12px;padding:11px 12px;border:1px dashed var(--line-2);border-radius:var(--r-md);font-size:var(--fs-xs);line-height:1.75;color:var(--dim)}
.sb-ck-res>span{display:block;margin-top:2px;font-size:var(--fs-xs);line-height:1.7;color:var(--dim)}
.sb-ck-res>em{display:block;margin-top:4px;font-style:normal;font-size:var(--fs-2xs);color:var(--faint)}
.sb-ck-items{display:flex;flex-direction:column;gap:8px;margin-top:10px}
@media(max-width:640px){.sb-ckin{gap:10px}.sb-ckin .sb-f{flex:1 1 100%}}

/* ---------- 手机端四步流的顺手度修正（2026-10-24 实测后加的） ----------
   hero 每步占 217px、又缺「上一步」，所以压薄 hero、每步补返回按钮。
   操作条按用户要求不吸底（2026-10-24 明确"步骤不要固定"），跟卡片一起滚。 */
@media(max-width:1100px){
  .sb-steps button.done{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 30%,var(--line))}
  .sb-steps button.done em{background:color-mix(in srgb,var(--brand) 16%,transparent);color:var(--brand)}
  .sb-next{display:flex;align-items:center;gap:10px;margin-top:12px}
  .sb-next .sb-go{flex:1 1 auto;min-width:0;height:46px;font-size:14.5px}
  .sb-next .sb-mini{flex:none;height:46px;padding:0 14px}
  .sb-sendbar{flex-wrap:wrap;gap:10px}
  .sb-sendbar .sb-sendmeta{flex:1 1 100%;order:0}
  .sb-sendbar .sb-go{order:1;flex:1 1 auto;min-width:0;width:auto;height:50px}
  .sb-sendbar .sb-back3{order:2;flex:none;height:50px;padding:0 14px}
}
@media(max-width:640px){
  .sb-hero{padding:12px 14px;gap:10px}
  .sb-hero-tx p{display:none}
  .sb-hero-tx h3{margin:6px 0 0;font-size:15px;line-height:1.45}
  .sb-hero-stats{gap:6px}
  .sb-hero-stats div{min-width:0;flex:1;padding:6px 8px}
  .sb-hero-stats b{font-size:16px}
  .sb-hero-stats span{font-size:10.5px}
}
/* ---------- 投稿台第 1 步再收紧（2026-10-24 实测：整卡 1283px） ----------
   41 个题材标签占 493px、稿件区占 362px，字段本身已经两列了。这里把两块压小，
   标签限高内滚，粘贴框从 5 行减到 3 行，整步少滚两屏。 */
@media(max-width:640px){
  .sb-tags{gap:5px;max-height:150px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:2px 2px 4px 0}
  .sb-tag{height:27px;padding:0 9px;font-size:11px}
  .ms{gap:7px}
  .ms-drop{padding:10px 12px;gap:10px}
  .ms-ic{width:32px;height:32px;border-radius:10px}
  .ms-tx b{font-size:13px}
  .ms-tx span{font-size:11px;line-height:1.5}
  .ms-or{font-size:10.5px}
  .ms-text{height:92px;font-size:13px;line-height:1.7}
  .ms-file{padding:8px 10px;font-size:12px}
}

.sb-selinfo .sb-clearsel{text-decoration:underline;text-underline-offset:3px}
.sb-selinfo .sb-clearsel:hover{color:var(--brand)}
.sb-selinfo .sb-clearsel{text-decoration:underline;text-underline-offset:3px}
.sb-selinfo .sb-clearsel:hover{color:var(--brand)}
/* ---------- 投稿台一致性（2026-10-24）：与地图同一套反馈，主按钮仍是哑光实色 ---------- */
.sb-mt:hover { border-color: color-mix(in srgb, var(--brand) 32%, var(--line)); background: color-mix(in srgb, var(--brand) 3%, var(--surface)); }
.sb-go { box-shadow: 0 6px 16px rgba(20,20,40,.10); }
.sb-go:hover:not(:disabled) { box-shadow: 0 8px 22px rgba(20,20,40,.14); }
html.sm-dark .sm .sb-go { box-shadow: 0 6px 16px rgba(0,0,0,.4); }
@media(min-width:1101px){
  .sb-list { scrollbar-width: thin; scrollbar-color: var(--line-2) transparent; }
  .sb-list::-webkit-scrollbar { width: 8px; }
  .sb-list::-webkit-scrollbar-thumb { background: var(--line-2); border-radius: 999px; }
}
.zd-mail, .zd-log, .zd-cfg { border-radius: var(--r-xl); }
/* ---------- 吸收外部方案里安全的点（2026-10-24，全部哑光、无渐变） ----------
   步骤序号改成实心品牌圆、选中编辑左侧 3px 品牌竖条、预检条目等级做成胶囊、记录行悬停。 */
.sb-hd i { background:var(--brand); color:#fff; }
html.sm-dark .sm .sb-hd i { background:var(--brand-solid); color:#fff; }
.sb-mt { border-radius:13px; position:relative; }
.sb-mt.on { box-shadow:0 4px 14px rgba(20,20,40,.08); border-color:color-mix(in srgb, var(--brand) 40%, var(--line)); }
.sb-mt.on::before { content:""; position:absolute; left:0; top:9px; bottom:9px; width:3px; border-radius:0 3px 3px 0; background:var(--brand); }
html.sm-dark .sm .sb-mt.on::before { background:var(--brand-solid); }
.sb-hero-stats div { border-radius:14px; transition:.16s ease; }
.sb-hero-stats div:hover { border-color:color-mix(in srgb, var(--brand) 30%, var(--line)); transform:translateY(-1px); }
.sb-ck-it > span { width:auto; min-width:40px; text-align:center; padding:2px 8px; border-radius:999px;
  background:color-mix(in srgb, var(--dim) 9%, transparent); }
.sb-ck-it.is-fail > span { background:color-mix(in srgb, var(--up-text) 12%, transparent); }
.sb-ck-it.is-warn > span { background:color-mix(in srgb, var(--gold-text) 12%, transparent); }
.zd-log-row { border-radius:9px; padding-left:10px; padding-right:10px; margin:0 -10px; transition:background .14s ease; }
.zd-log-row:hover { background:color-mix(in srgb, var(--brand) 4%, transparent); }
html.sm-dark .sm .zd-log-row:hover { background:rgba(255,255,255,.045); }
