* { margin: 0; padding: 0; box-sizing: border-box; }
:root {
  --bg: #0a1a26;
  --bg-sidebar: #0c1e2c;
  --bg-hover: #F2F6F9;
  --bg-active: rgba(25,201,194,.13);
  --primary: #19c9c2;
  --primary-dark: #0E7490;
  --primary-light: rgba(25,201,194,.16);
  --text: #0F2A3D;
  --text-secondary: #7E93A4;
  --text-muted: #547586;
  --border: #EAF0F5;
  --border-light: #F2F6F9;
  --radius: 10px;
  --radius-sm: 7px;
}
html { scroll-behavior: smooth; }
body {
  font-family: "Microsoft YaHei", "微软雅黑", sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  height: 100vh;
  overflow: hidden;
 -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
/* 光斑 */
.glow-a, .glow-b { position: fixed; border-radius: 50%; filter: blur(90px); pointer-events: none; z-index: 0; opacity: .5; }
.glow-a { width: 420px; height: 420px; background: rgba(25,201,194,.13); top: -120px; left: -100px; animation: driftA 14s ease-in-out infinite alternate; }
.glow-b { width: 380px; height: 380px; background: rgba(255,176,55,.07); bottom: -140px; right: -100px; animation: driftB 18s ease-in-out infinite alternate; }
@keyframes driftA { from { transform: translate(0, 0); } to { transform: translate(46px, 34px); } }
@keyframes driftB { from { transform: translate(0, 0); } to { transform: translate(-34px, -44px); } }
/* 整体布局 */
.app { display: flex; height: 100vh; position: relative; z-index: 1; }
/* 侧边栏 */
.sidebar { width: 280px; background: var(--bg-sidebar); display: none; flex-direction: column; flex-shrink: 0; }
body.side-open .sidebar { display: flex; }
.sidebar-header { padding: 16px; }
.sidebar-brand { display: flex; align-items: center; gap: 10px; padding: 0 4px 14px; }
.sidebar-brand img { width: 40px; height: 40px; border-radius: 8px; object-fit: contain; flex-shrink: 0; }
.sidebar-brand-text b { font-size: 16px; display: block; }
.sidebar-brand-text b span { color: var(--primary); }
.sidebar-brand-text small { font-size: 14px; color: var(--ds-c-4e6f82); letter-spacing: 1px; }
.new-btn { width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px; background: var(--ds-c-0e7490); color: var(--ds-c-ffffff); font-weight: 600; font-size: 16px; padding: 12px 16px; border-radius: var(--radius); border: none; cursor: pointer; transition: all .2s; font-family: inherit; }
.new-btn:hover { filter: brightness(1.1); transform: translateY(-1px); box-shadow: 0 6px 18px rgba(25,201,194,.3); }
.sidebar-search { padding: 12px 16px; }
.search-input { width: 100%; display: flex; align-items: center; gap: 8px; background: var(--bg-hover); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 8px 12px; transition: all .2s; }
.search-input:focus-within { border-color: var(--primary); }
.search-input .ico { font-size:16px; color: var(--text-muted); flex-shrink: 0; }
.search-input input { background: none; border: none; outline: none; color: var(--text); font-size:16px; width: 100%; font-family: inherit; }
.search-input input::placeholder { color: var(--text-muted); }
.sidebar-nav { flex: 1; overflow-y: auto; padding: 8px 12px; }
.sidebar-nav::-webkit-scrollbar { width: 4px; }
.sidebar-nav::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; }
.nav-group { margin-bottom: 16px; }
.nav-group-title { font-size: 14px; color: var(--ds-c-4e6f82); padding: 8px 12px 6px; letter-spacing: 1.5px; font-weight: 600; }
.nav-item { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: var(--radius-sm); cursor: pointer; transition: all .15s; font-size:16px; color: var(--text-secondary); text-decoration: none; }
.nav-item:hover { background: var(--bg-hover); color: var(--text); }
.nav-item .ico { font-size: 16px; flex-shrink: 0; }
.history-item { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: var(--radius-sm); cursor: pointer; transition: all .15s; font-size:16px; color: var(--text-secondary); }
.history-item:hover { background: var(--bg-hover); color: var(--text); }
.history-item .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--primary); flex-shrink: 0; }
.history-item .nm { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.history-item .tm { font-size: 14px; color: var(--ds-c-4e6f82); flex-shrink: 0; }
.his-empty { padding: 10px 12px; color: var(--ds-c-4e6f82); font-size: 14px; text-align: center; }
.sidebar-footer { padding: 12px 12px 14px !important; position: relative; }
.user-card { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: var(--radius-sm); cursor: pointer; position: relative; }
.user-more { color: var(--ds-c-556f80); font-size: 16px; padding: 4px 6px; border-radius: 8px; }
.user-card:hover .user-more { color: var(--text); }
.user-menu { position: absolute; bottom: calc(100% + 10px); left: 8px; right: 8px; background: rgba(13,30,43,.97); border: 1px solid rgba(25,201,194,.22); border-radius: 12px; padding: 6px; box-shadow: 0 -8px 30px rgba(0,0,0,.45); display: none; z-index: 130; backdrop-filter: blur(12px); }
.user-menu.open { display: block; animation: menuUp .18s ease; }
@keyframes menuUp { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.user-menu a { display: flex; align-items: center; gap: 9px; padding: 9px 12px; border-radius: 8px; color: var(--text-secondary); font-size:16px; text-decoration: none; cursor: pointer; transition: all .15s; font-family: inherit; }
.user-menu a:hover { background: rgba(25,201,194,.12); color: var(--text); }
.user-menu .menu-divider { height: 1px; background: var(--ds-c-edf2f6); margin: 5px 8px; }
.user-menu .menu-danger { color: var(--ds-c-fca5a5); }
.user-menu .menu-danger:hover { background: rgba(248,113,113,.1); }
.user-avatar { width: 34px; height: 34px; border-radius: 50%; background: var(--ds-c-0e7490); color: var(--ds-c-fff); font-weight: 700; font-size:16px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.user-info { flex: 1; min-width: 0; }
.user-info > b { font-size:16px; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.user-info small { font-size: 14px; color: var(--ds-c-556f80); display: block; letter-spacing: .2px; }
.user-card .side-out { background: rgba(248,113,113,.1); border: 1px solid rgba(248,113,113,.25); color: var(--ds-c-fca5a5); font-size: 14px; padding: 5px 12px; border-radius: 8px; cursor: pointer; font-family: inherit; transition: all .2s; }
.user-card .side-out:hover { background: rgba(248,113,113,.2); }
/* 主区域 */
.main { flex: 1; display: flex; flex-direction: column; overflow: hidden; min-width: 0; }
.main-header { height: 56px; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; flex-shrink: 0; }
.main-header-left { display: flex; align-items: center; gap: 10px; }
.main-header-left h1 { font-size: 16px; font-weight: 600; }
.main-header-left .subtitle { font-size: 14px; color: var(--text-muted); }
.main-header { background: transparent; }
.main-header-right { display: flex; align-items: center; gap: 8px; }
.header-link-btn { display: inline-flex; align-items: center; padding: 7px 14px; border-radius: 8px; font-size:14px; color: var(--text-secondary); text-decoration: none; border: none; transition: all .2s; }
.header-link-btn:hover { color: var(--primary); background: rgba(25,201,194,.08); }
.header-link-btn.cta { background: var(--ds-c-0e7490); color: var(--ds-c-ffffff); font-weight: 600; border: none; }
.header-link-btn.cta:hover { filter: brightness(1.1); color: var(--ds-c-ffffff); }
/* 欢迎区 */
.welcome-area { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding: 40px 24px; overflow-y: auto; }
        .welcome-area > .welcome-logo { margin-top: 6px; }
        .welcome-area > .mode-cards { margin-bottom: auto; }
.welcome-logo { margin-bottom: 2px; overflow: visible; line-height: 0; }
        .welcome-logo .ds-infinity { display: block; font-size: 74px; font-weight: 700; line-height: 1.25; letter-spacing: 0; padding: 0 12px 2px; background: linear-gradient(135deg, var(--ds-c-0a1a26) 0%, var(--ds-c-0e7490) 55%, var(--ds-c-19c9c2) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
        .welcome-brand-block { text-align: center; margin-bottom: 10px; }
        .welcome-brand-block .wb-cn { font-size: 32px; font-weight: 600; letter-spacing: 3px; line-height: 1.2; color: var(--ds-c-0f2a3d); }
        .welcome-brand-block .wb-en { font-size:16px; font-weight: 500; letter-spacing: .01em; color: var(--ds-c-7b94a6); margin-top: 5px; }
.welcome-logo img { width: 72px; height: 72px; object-fit: contain; border-radius: 12px; box-shadow: 0 8px 28px rgba(25,201,194,.16); }
@keyframes logoFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
.welcome-brand { font-size: 32px; font-weight: 800; letter-spacing: -1px; margin-bottom: 6px; background: linear-gradient(135deg, var(--ds-c-0a1a26) 0%, var(--ds-c-0e7490) 55%, var(--ds-c-19c9c2) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.welcome-subtitle { font-size: 16px; color: var(--text-secondary); margin-bottom: 20px; font-weight: 500; }
/* 输入区 */
.input-area { width: 100%; max-width: 780px; }
.input-box { background: var(--bg-hover); border: 1px solid var(--border); border-radius: 12px; padding: 13px 16px; transition: all .2s; }
.input-box:focus-within { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(25,201,194,.1); }
.input-directions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; padding-bottom: 12px; }
.direction-label { font-size: 14px; color: var(--ds-c-4e6f82); margin-right: 4px; flex-shrink: 0; }
.direction-tag { font-size: 14px; padding: 5px 12px; border-radius: 8px; background: var(--bg); border: 1px solid var(--border); color: var(--ds-c-556f80); cursor: pointer; transition: all .15s; white-space: nowrap; }
.direction-tag:hover { border-color: var(--primary); color: var(--primary); }
.direction-tag.active { background: var(--primary-light); border-color: var(--primary); color: var(--primary); font-weight: 600; }
.input-box textarea { width: 100%; background: none; border: none; outline: none; color: var(--text); font-size: 16px; font-family: inherit; resize: none; min-height: 150px height: 150px !important; line-height: 1.75; margin-top: 6px; }
.input-box textarea::placeholder { color: var(--text-muted); }
.input-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; flex-wrap: wrap; }
.input-tags { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.input-tag { font-size: 14px; padding: 7px 13px; border-radius: 8px; background: var(--bg); border: 1px solid var(--border); color: var(--text-secondary); cursor: pointer; transition: all .15s; font-family: inherit; }
.input-tag:hover { border-color: var(--primary); color: var(--primary); }
.agree { display: flex; align-items: center; gap: 6px; font-size: 14px; color: var(--ds-c-556f80); cursor: pointer; }
.agree input { accent-color: var(--primary); }
.send-btn { display: flex; align-items: center; gap: 6px; background: linear-gradient(135deg, var(--primary), var(--primary-dark)); color: var(--bg); font-weight: 700; font-size: 16px; padding: 11px 26px; border-radius: 8px; border: none; cursor: pointer; transition: all .2s; font-family: inherit; }
.send-btn:hover { filter: brightness(1.1); transform: translateY(-1px); box-shadow: 0 6px 18px rgba(25,201,194,.3); }
.input-hint { text-align: center; font-size: 14px; color: var(--ds-c-4e6f82); margin-top: 7px; }
/* 模式卡 */
.mode-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; max-width: 780px; width: 100%; margin: 12px auto 0; }
.mode-card { background: var(--bg-hover); border: 1.5px solid var(--border); border-radius: var(--radius); padding: 10px 12px; cursor: pointer; transition: all .2s; position: relative; }
.mode-card:hover { border-color: var(--primary); background: var(--bg-active); transform: translateY(-2px); }
.mode-card.selected { border-color: var(--primary); background: var(--bg-active); box-shadow: 0 0 0 3px rgba(25,201,194,.13), 0 8px 24px rgba(25,201,194,.12); transform: translateY(-2px); }
.mode-card.selected::after { content: '✓'; position: absolute; top: 10px; right: 10px; width: 20px; height: 20px; border-radius: 50%; background: var(--primary); color: var(--bg); font-size: 14px; font-weight: 800; display: flex; align-items: center; justify-content: center; animation: popIn .3s ease; }
@keyframes popIn { 0% { transform: scale(0); opacity: 0; } 50% { transform: scale(1.2); } 100% { transform: scale(1); opacity: 1; } }
.mode-card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.mode-icon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 16px; }
.mode-badge { font-size: 14px; padding: 3px 8px; border-radius: 8px; background: var(--primary-light); color: var(--primary); font-weight: 700; }
.mode-badge.recommend { background: rgba(255,176,55,.15); color: var(--ds-c-6b3b00); /* A11Y_2 */ }
.mode-badge.custom { background: rgba(109,179,242,.15); color: var(--ds-c-6db3f2); }
.mode-card h4 { font-size: 16px; margin-bottom: 4px; font-weight: 700; }
.mode-card p { font-size: 14px; color: var(--text-secondary); line-height: 1.55; margin-bottom: 4px; min-height: 0; }
.mode-meta { display: flex; gap: 8px; font-size: 14px; color: var(--ds-c-4e6f82); padding-top: 6px; flex-wrap: wrap; }
.mode-price { margin-top: 6px; font-size: 16px; font-weight: 800; color: var(--ds-c-19c9c2); }
.mode-price.custom { color: var(--ds-c-ffb037); }
/* 帮助弹窗 */
#helpModal { display: none; }
/* footer */
/* 响应式 */
@media (max-width: 900px) {
  .sidebar { width: 240px; }
  .mode-cards { grid-template-columns: 1fr; max-width: 460px; }
}
@media (max-width: 640px) {
  .sidebar { display: none; }
  .main-header-left .subtitle { display: none; }
  .header-link-btn { padding: 6px 10px; font-size: 14px; }
  .welcome-brand { font-size: 26px; }
  .input-actions { flex-direction: column; align-items: stretch; }
  .send-btn { justify-content: center; }
}

.set-mask { position: fixed; inset: 0; background: rgba(4,12,20,.72); display: flex; align-items: center; justify-content: center; z-index: 999; backdrop-filter: blur(4px); }
.set-box { width: 400px; max-width: 92vw; background: var(--ds-c-0d2433); border: 1px solid rgba(25,201,194,.25); border-radius: 16px; padding: 26px 28px; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.set-head { display: flex; justify-content: space-between; align-items: center; font-size: 16px; font-weight: 700; margin-bottom: 18px; }
.set-avatar { width: 56px; height: 56px; border-radius: 50%; background: linear-gradient(135deg, var(--ds-c-19c9c2), var(--ds-c-0e8f8a)); color: var(--ds-c-0a1a26); font-size:20px; font-weight: 700; display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; }
.set-row { display: flex; align-items: center; gap: 14px; padding: 11px 4px; border-bottom: 1px solid var(--ds-c-f2f6f9); }
.set-row label { width: 70px; font-size:16px; color: var(--ds-c-4e6f82); flex-shrink: 0; }
.set-row input { flex: 1; background: var(--ds-c-f4f8fa); border: 1px solid var(--ds-c-e8eff4); border-radius: 8px; padding: 9px 12px; color: var(--ds-c-0f2a3d); font-size: 16px; outline: none; font-family: inherit; transition: all .2s; }
.set-row input:focus { border-color: var(--ds-c-19c9c2); }
.set-save { width: 100%; margin-top: 18px; padding: 11px 0; background: linear-gradient(135deg, var(--ds-c-19c9c2), var(--ds-c-0e8f8a)); color: var(--ds-c-0a1a26); border: none; border-radius: 8px; font-size: 16px; font-weight: 700; cursor: pointer; font-family: inherit; transition: all .2s; }
.set-save:hover { filter: brightness(1.1); }

.cf-text p { font-size:16px; color: var(--ds-c-46647a); line-height: 1.9; margin-bottom: 10px; padding-left: 2px; }
.cf-text p b { color: var(--ds-c-0f2a3d); }

/* 文本选中 */
::selection { background: rgba(25,201,194,.35); color: var(--ds-c-fff); }
/* 自定义确认书checkbox */
.agree input[type="checkbox"] { appearance: none; -webkit-appearance: none; width: 16px; height: 16px; border-radius: 8px; border: 1.5px solid var(--ds-c-e0e9f0); background: var(--ds-c-f6f9fb); cursor: pointer; position: relative; transition: all .2s; flex-shrink: 0; }
.agree input[type="checkbox"]:hover { border-color: var(--primary); }
.agree input[type="checkbox"]:checked { background: var(--primary); border-color: var(--primary); }
.agree input[type="checkbox"]:checked::after { content: ""; position: absolute; left: 4.5px; top: 1.5px; width: 4px; height: 8px; border: solid var(--ds-c-0a1a26); border-width: 0 2px 2px 0; transform: rotate(45deg); }
/* 按钮按下反馈 */
.new-btn:active, .send-btn:active, .header-link-btn:active, .mode-card:active, .input-tag:active, .direction-tag:active, .side-out:active { transform: scale(.96); }
/* 弹窗动画 */
.set-mask, .modal-mask { animation: maskFade .2s ease; }
@keyframes maskFade { from { opacity: 0; } to { opacity: 1; } }
.set-box, .modal-box { animation: boxUp .25s cubic-bezier(.2,.9,.3,1.2); }
@keyframes boxUp { from { opacity: 0; transform: translateY(14px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
/* 用户菜单 */
.user-menu.open { animation: menuUp .18s ease; }
/* toast滑入 */
#toast { animation: toastIn .25s ease; }
@keyframes toastIn { from { opacity: 0; transform: translateX(-50%) translateY(-8px); } to { opacity: 1; transform: translateX(-50%) translateY(0); } }
/* 主区滚动条 */
.welcome-area::-webkit-scrollbar { width: 5px; }
.welcome-area::-webkit-scrollbar-thumb { background: var(--ds-c-edf2f6); border-radius: 4px; }
.welcome-area::-webkit-scrollbar-thumb:hover { background: rgba(25,201,194,.3); }
/* 历史分组 */
.history-group { font-size: 14px; color: var(--ds-c-547586); padding: 12px 12px 4px; letter-spacing: 1px; }
/* 模式卡图标微动 */
.mode-card:hover .mode-icon { transform: scale(1.12) rotate(-4deg); }
.mode-icon { transition: transform .25s ease; }
/* 类型标签选中动画 */
.direction-tag.active { transform: scale(1.04); }
.direction-tag { transition: all .18s ease; }
/* main-header标题细节 */
.main-header-left h1::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--primary); margin-right: 10px; box-shadow: 0 0 8px rgba(25,201,194,.8); vertical-align: 2px; }
/* 新建按钮icon */
.new-btn .ico { font-size: 16px; }

/* 底部信息 */
footer { position: fixed; left: 0; right: 0; bottom: 0; z-index: 100; background: rgba(10,26,38,.98); padding: 10px 20px 9px; border-top: none; text-align: center; pointer-events: auto; }
footer div { text-align: center; }
.ft-line1 { font-size: 14px; color: var(--ds-c-4e6f82); line-height: 1.7; }
.ft-line2 { font-size: 14px; color: var(--ds-c-4e6f82); line-height: 1.8; }
.ft-line3 { font-size: 14px; line-height: 1.8; }
.ft-line3 a { color: var(--ds-c-4e6f82); text-decoration: none; cursor: pointer; margin: 0 6px; transition: color .2s; }
.ft-line3 a:hover { color: var(--ds-c-19c9c2); }
.ft-line3 span { color: var(--ds-c-4e6f82); }
.ft-line4 { font-size: 14px; color: var(--ds-c-4e6f82); line-height: 1.7; margin-top: 2px; }
@media (max-width: 640px) { footer { padding: 8px 12px; } .ft-line3 a { margin: 0 4px; } }
/* 品质感：首屏渐入 */
@keyframes pageIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.sidebar { animation: pageIn .45s ease both; }
.main-header { animation: pageIn .45s ease .08s both; }
.welcome-area { animation: pageIn .5s ease .15s both; }
footer { animation: pageIn .45s ease .25s both; }
/* 品质感：微交互强化 */
.mode-card { transition: all .25s cubic-bezier(.2,.9,.3,1.1); }
.mode-card:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(25,201,194,.12); border-color: rgba(25,201,194,.45); }
.direction-tag { transition: all .2s ease; }
.direction-tag:hover { border-color: rgba(25,201,194,.5); background: rgba(25,201,194,.08); }
.send-btn, .new-btn { transition: all .25s ease; }
.send-btn:hover, .new-btn:hover { filter: brightness(1.12); box-shadow: 0 4px 18px rgba(25,201,194,.35); }
.send-btn:active, .new-btn:active { transform: scale(.95); }
.sidebar input:focus, .main-area textarea:focus, .welcome-area textarea:focus, textarea:focus { box-shadow: 0 0 0 3px rgba(25,201,194,.15); }
.history-item { transition: all .18s ease; }
.history-item:hover { transform: translateX(3px); }
/* 品质感：滚动条 */
.sidebar-nav::-webkit-scrollbar { width: 4px; }
.sidebar-nav::-webkit-scrollbar-thumb { background: var(--ds-c-e8eff4); border-radius: 4px; }
.welcome-area::-webkit-scrollbar { width: 5px; }
.welcome-area::-webkit-scrollbar-thumb { background: var(--ds-c-e8eff4); border-radius: 4px; }
.welcome-area::-webkit-scrollbar-thumb:hover { background: rgba(25,201,194,.35); }

/* ===== 智能整理动画弹窗 ===== */
.work-mask { position: fixed; inset: 0; background: rgba(4,12,20,.78); backdrop-filter: blur(10px); display: flex; align-items: center; justify-content: center; z-index: 1000; animation: maskFade .25s ease; }
.work-card { width: 400px; max-width: 92vw; background: linear-gradient(160deg, var(--ds-c-0e2233), var(--ds-c-0a1a26)); border: 1px solid rgba(25,201,194,.3); border-radius: 16px; padding: 34px 30px 30px; text-align: center; position: relative; overflow: hidden; box-shadow: 0 30px 80px rgba(0,0,0,.6), 0 0 60px rgba(25,201,194,.08); animation: boxUp .3s cubic-bezier(.2,.9,.3,1.15); }
.work-card::before { content: ""; position: absolute; top: -60%; left: -60%; width: 220%; height: 220%; background: radial-gradient(circle at 30% 20%, rgba(25,201,194,.08), transparent 45%); pointer-events: none; }
/* 顶部流光扫过 */
.work-card::after { content: ""; position: absolute; top: 0; left: -70%; width: 50%; height: 2px; background: linear-gradient(90deg, transparent, var(--ds-c-19c9c2), var(--ds-c-ffb037), transparent); animation: lightSweep 2.6s ease-in-out infinite; }
@keyframes lightSweep { 0% { left: -70%; } 60% { left: 120%; } 100% { left: 120%; } }
/* 漂浮粒子 */
.work-p1, .work-p2, .work-p3 { position: absolute; border-radius: 50%; background: rgba(25,201,194,.35); filter: blur(2px); animation: floatP 3.5s ease-in-out infinite; pointer-events: none; }
.work-p1 { width: 8px; height: 8px; top: 22%; left: 12%; }
.work-p2 { width: 5px; height: 5px; top: 68%; right: 14%; background: rgba(255,176,55,.4); animation-delay: 1.1s; }
.work-p3 { width: 6px; height: 6px; top: 40%; right: 24%; animation-delay: 2s; }
@keyframes floatP { 0%,100% { transform: translateY(0) scale(1); opacity: .5; } 50% { transform: translateY(-16px) scale(1.3); opacity: 1; } }
/* 环形进度 */
.work-ring { position: relative; width: 130px; height: 130px; margin: 6px auto 18px; }
.work-ring svg { transform: rotate(-90deg); }
.work-ring .ring-bg { stroke: var(--ds-c-edf2f6); }
.work-ring .ring-fg { stroke: url(#ringGrad); stroke-linecap: round; transition: stroke-dashoffset .4s ease; filter: drop-shadow(0 0 6px rgba(25,201,194,.6)); }
.work-ring .ring-txt { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 26px; font-weight: 800; color: var(--ds-c-0f2a3d); }
.work-ring .ring-txt small { font-size:16px; color: var(--ds-c-4e6f82); font-weight: 500; margin-left: 2px; }
.work-ring .ring-done { position: absolute; inset: 0; display: none; align-items: center; justify-content: center; font-size: 46px; }
.work-card.done .ring-txt { display: none; }
.work-card.done .ring-done { display: flex; animation: popIn .4s cubic-bezier(.2,.9,.3,1.4); }
.work-card.done .ring-fg { stroke: var(--ds-c-19c9c2); }
/* 标题与状态 */
.work-title { font-size:20px; font-weight: 800; margin-bottom: 4px; color: var(--ds-c-0f2a3d); }
.work-sub { font-size: 14px; color: var(--ds-c-4e6f82); margin-bottom: 20px; }
/* 步骤列表 */
.work-steps { text-align: left; margin-top: 4px; }
.work-step { display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 8px; margin-bottom: 4px; opacity: .35; transition: all .35s ease; }
.work-step .ws-ico { width: 30px; height: 30px; border-radius: 8px; background: var(--ds-c-f4f8fa); display: flex; align-items: center; justify-content: center; font-size: 16px; flex-shrink: 0; transition: all .3s; }
.work-step .ws-name { font-size:16px; color: var(--ds-c-0f2a3d); flex: 1; }
.work-step .ws-flag { font-size:16px; color: var(--ds-c-19c9c2); opacity: 0; transform: scale(.4); transition: all .3s; }
.work-step.active { opacity: 1; background: rgba(25,201,194,.07); }
.work-step.active .ws-ico { background: rgba(25,201,194,.18); box-shadow: 0 0 14px rgba(25,201,194,.25); }
.work-step.done { opacity: 1; }
.work-step.done .ws-flag { opacity: 1; transform: scale(1); }
/* 完成提示 */
.work-done-tip { margin-top: 14px; font-size: 14px; color: var(--ds-c-556f80); opacity: 0; transition: all .3s; }
.work-card.done .work-done-tip { opacity: 1; }

/* ===== 全站统一字体栈 ===== */
html { font-family: "PingFang SC", "Microsoft YaHei", "Segoe UI", -apple-system, sans-serif !important; }
body, button, input, textarea, select { font-family: inherit !important; }


/* ===== 免登录结果卡（2026-10-03 新增）===== */
.ds-guest-result{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(6,26,38,.72);padding:20px}
.ds-gr-card{background:var(--ds-c-fff);border-radius:16px;max-width:520px;width:100%;padding:28px 26px 22px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.3);max-height:88vh;overflow-y:auto}
.ds-gr-ico{font-size:32px;line-height:1}
.ds-gr-card h3{font-size:20px;color:var(--ds-c-0d2b3a);margin:10px 0 6px}
.ds-gr-meta{font-size:14px;color:var(--ds-c-6b8a99);margin-bottom:14px}
.ds-gr-sum{font-size:16px;color:var(--ds-c-33475b);line-height:1.75;text-align:left;background:var(--ds-c-f5f9fb);border-radius:8px;padding:12px 14px;margin-bottom:14px;max-height:170px;overflow-y:auto}
.ds-gr-warn{font-size:14px;color:var(--ds-c-b45309);background:var(--ds-c-fffbeb);border-radius:8px;padding:8px 12px;margin-bottom:12px;text-align:left}
.ds-gr-actions{display:flex;flex-direction:column;gap:10px}
.ds-gr-btn{display:block;padding:12px;border-radius:8px;text-decoration:none;font-size:16px;font-weight:500;border:1px solid var(--ds-c-d7e5ec);color:var(--ds-c-0d5f70);background:var(--ds-c-fff);transition:.15s}
.ds-gr-btn:hover{background:var(--ds-c-f2f9fb)}
.ds-gr-btn.primary{background:linear-gradient(135deg,var(--ds-c-0f7a8a),var(--ds-c-19c9c2));color:var(--ds-c-fff);border:none}
.ds-gr-tip{font-size:14px;color:var(--ds-c-90a8b4);margin-top:14px;line-height:1.6}
.ds-gr-close{margin-top:12px;font-size:14px;color:var(--ds-c-9ab);cursor:pointer}

/* ===== 专业审定背书（2026-10-03 从首页迁移至此）===== */
.ds-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; margin: 10px auto 0; padding: 0; max-width: 920px; background: none; border: none; font-size: 14px; color: var(--ds-c-7c93a3); }
.ds-trust span { white-space: nowrap; }
@media (max-width: 640px) {
    .ds-trust { font-size: 14px; gap: 6px 12px; padding: 8px 10px; }
}

/* ===== 浅色模式 CSS变量覆盖（全局生效） ===== */
html[data-theme="light"] {
  --bg: #f3f6fa;
  --bg-sidebar: #ffffff;
  --bg-hover: #f1f5f9;
  --bg-active: rgba(25,201,194,.12);
  --primary: #0f8f8a;
  --primary-dark: #0e8f8a;
  --primary-light: rgba(25,201,194,.14);
  --text: #0f2a3d;
  --text-secondary: #5b7a91;
  --text-muted: #64748b;
  --border: #e2e8f0;
  --border-light: #eef2f7;
}

/* ===== 明暗主题 ===== */
html[data-theme="light"] body { background: var(--ds-c-f3f6fa); }
html[data-theme="light"] .app { background: var(--ds-c-f3f6fa); }
html[data-theme="light"] .glow-a, html[data-theme="light"] .glow-b { opacity: 0.15; }
html[data-theme="light"] .sidebar { background: var(--ds-c-ffffff); border-right: 1px solid var(--ds-c-e2e8f0); }
html[data-theme="light"] .sidebar-brand-text b { color: var(--ds-c-0f2a3d); }
html[data-theme="light"] .sidebar-brand-text small { color: var(--ds-c-4b5f70); }
html[data-theme="light"] .sidebar-search .search-input { background: var(--ds-c-f1f5f9); border-color: var(--ds-c-e2e8f0); }
html[data-theme="light"] .search-input input { color: var(--ds-c-0f2a3d); }
html[data-theme="light"] .nav-group-title { color: var(--ds-c-4b5f70); }
html[data-theme="light"] .side-his-list .his-item { background: var(--ds-c-f8fafc); border: 1px solid var(--ds-c-eef2f7); color: var(--ds-c-0f2a3d); }
html[data-theme="light"] .side-his-list .his-item:hover { background: var(--ds-c-f1f5f9); }
html[data-theme="light"] .side-his-list .his-item .his-title { color: var(--ds-c-0f2a3d); }
html[data-theme="light"] .side-his-list .his-item .his-time { color: var(--ds-c-64748b); }
html[data-theme="light"] .his-empty { color: var(--ds-c-64748b); }
html[data-theme="light"] .sidebar-footer { border-top-color: var(--ds-c-eef2f7); }
html[data-theme="light"] .user-card { background: var(--ds-c-f8fafc); border: 1px solid var(--ds-c-eef2f7); }
html[data-theme="light"] .user-card .user-info b { color: var(--ds-c-0f2a3d); }
html[data-theme="light"] .user-card .user-info small { color: var(--ds-c-4b5f70); }
html[data-theme="light"] .user-menu { background: var(--ds-c-ffffff); border: 1px solid var(--ds-c-e2e8f0); box-shadow: 0 12px 32px rgba(15,42,61,0.12); }
html[data-theme="light"] .user-menu a { color: var(--ds-c-0f2a3d); }
html[data-theme="light"] .user-menu a:hover { background: var(--ds-c-f1f5f9); }
html[data-theme="light"] .main-header h1 { color: var(--ds-c-0f2a3d); }
html[data-theme="light"] .main-header .subtitle { color: var(--ds-c-4b5f70); }
html[data-theme="light"] .main-header-right .header-link-btn { color: var(--ds-c-334e63); border-color: var(--ds-c-dbe4ec); background: var(--ds-c-ffffff); }
html[data-theme="light"] .main-header-right .header-link-btn:hover { background: var(--ds-c-f1f5f9); color: var(--ds-c-0f2a3d); }
html[data-theme="light"] .welcome-area .welcome-brand { color: var(--ds-c-0f2a3d); }
html[data-theme="light"] .welcome-area .welcome-subtitle { color: var(--ds-c-5b7a91); }
html[data-theme="light"] .input-area .input-box { background: var(--ds-c-ffffff); border: 1px solid var(--ds-c-e2e8f0); box-shadow: 0 8px 28px rgba(15,42,61,0.06); }
html[data-theme="light"] .input-directions .direction-label { color: var(--ds-c-334e63); }
html[data-theme="light"] .input-box .chips { background: var(--ds-c-f1f5f9); border: 1px solid var(--ds-c-e2e8f0); color: var(--ds-c-334e63); }
html[data-theme="light"] .input-box .chips.active, html[data-theme="light"] .input-box .chips.selected { background: var(--ds-c-19c9c2); color: var(--ds-c-fff); border-color: var(--ds-c-19c9c2); }
html[data-theme="light"] .input-box textarea { color: var(--ds-c-0f2a3d); background: var(--ds-c-ffffff); }
html[data-theme="light"] .input-box textarea::placeholder { color: var(--ds-c-64748b); }
html[data-theme="light"] .input-area .input-tag { color: var(--ds-c-334e63); background: var(--ds-c-f1f5f9); border-color: var(--ds-c-e2e8f0); }
html[data-theme="light"] .input-area .input-tag:hover { background: var(--ds-c-e2e8f0); }
html[data-theme="light"] .input-area .agree { color: var(--ds-c-4b5f70); }
html[data-theme="light"] .mode-cards .mode-card { background: var(--ds-c-ffffff); border-color: var(--ds-c-e2e8f0); }
html[data-theme="light"] .mode-card .mode-name { color: var(--ds-c-0f2a3d); }
html[data-theme="light"] .mode-card .mode-desc { color: var(--ds-c-5b7a91); }
html[data-theme="light"] .mode-card .mode-price b { color: var(--ds-c-0f2a3d); }
html[data-theme="light"] .mode-card.selected { border-color: var(--ds-c-19c9c2); box-shadow: 0 0 0 2px rgba(25,201,194,0.25); }
html[data-theme="light"] .work-mask { background: rgba(243,246,250,0.8); }
html[data-theme="light"] .work-card { background: var(--ds-c-ffffff); border: 1px solid var(--ds-c-e2e8f0); }
html[data-theme="light"] .work-card .work-title { color: var(--ds-c-0f2a3d); }
html[data-theme="light"] .work-card .work-sub { color: var(--ds-c-5b7a91); }
html[data-theme="light"] .set-mask { background: rgba(15,42,61,0.35); }
html[data-theme="light"] .set-modal { background: var(--ds-c-ffffff); border: 1px solid var(--ds-c-e2e8f0); }
html[data-theme="light"] .set-modal .set-head { color: var(--ds-c-0f2a3d); }
html[data-theme="light"] .set-modal .set-body, html[data-theme="light"] .set-modal p { color: var(--ds-c-334e63); }
html[data-theme="light"] footer { background: var(--ds-c-f3f6fa); border-top: none; color: var(--ds-c-4b5f70) !important; }
html[data-theme="light"] footer .ft-line1 { color: var(--ds-c-4b5f70); }
html[data-theme="light"] footer .ft-line3 a { color: var(--ds-c-334e63); }
html[data-theme="light"] footer .ft-line3 a:hover { color: var(--ds-c-0f8f8a); }
html[data-theme="light"] footer .ft-line4 { color: var(--ds-c-64748b); }

/* ===== 浅色模式文字对比度兜底 ===== */
html[data-theme="light"] .sub,
html[data-theme="light"] .muted,
html[data-theme="light"] .hint,
html[data-theme="light"] .tip,
html[data-theme="light"] .desc,
html[data-theme="light"] .gray,
html[data-theme="light"] .gray-text,
html[data-theme="light"] .weak,
html[data-theme="light"] .light-text,
html[data-theme="light"] .secondary,
html[data-theme="light"] .placeholder,
html[data-theme="light"] .note,
html[data-theme="light"] .small,
html[data-theme="light"] small { color: var(--ds-c-4b5f70) !important; }
html[data-theme="light"] h1, html[data-theme="light"] h2, html[data-theme="light"] h3,
html[data-theme="light"] h4, html[data-theme="light"] strong, html[data-theme="light"] b { color: var(--ds-c-0f2a3d) !important; }
html[data-theme="light"] input, html[data-theme="light"] textarea, html[data-theme="light"] select { color: var(--ds-c-0f2a3d) !important; background-color: var(--ds-c-f8fafc) !important; border-color: var(--ds-c-dbe4ec) !important; }
html[data-theme="light"] input::placeholder, html[data-theme="light"] textarea::placeholder { color: var(--ds-c-64748b) !important; }
html[data-theme="light"] label { color: var(--ds-c-334e63) !important; }
html[data-theme="light"] th { color: var(--ds-c-5b7a91) !important; }
html[data-theme="light"] td { color: var(--ds-c-334e63) !important; }
html[data-theme="light"] a { color: var(--ds-c-0f8f8a) !important; }
html[data-theme="light"] .card, html[data-theme="light"] .panel,
html[data-theme="light"] .box, html[data-theme="light"] .item,
html[data-theme="light"] .list-item { background-color: var(--ds-c-ffffff) !important; border-color: var(--ds-c-e2e8f0) !important; }
html[data-theme="light"] p, html[data-theme="light"] li, html[data-theme="light"] span { color: var(--ds-c-334e63); }


/* ===== 浅色模式局部补漏 ===== */
html[data-theme="light"] .set-box, html[data-theme="light"] .modal-box { background: var(--ds-c-ffffff); border-color: var(--ds-c-e2e8f0); box-shadow: 0 20px 60px rgba(15,42,61,.15); }
html[data-theme="light"] .set-box h3, html[data-theme="light"] .set-box h4,
html[data-theme="light"] .modal-box h3 { color: var(--ds-c-0f2a3d); }
html[data-theme="light"] .set-box p, html[data-theme="light"] .set-box label,
html[data-theme="light"] .modal-box p, html[data-theme="light"] .modal-box label { color: var(--ds-c-334e63); }
html[data-theme="light"] .set-row { border-bottom-color: var(--ds-c-eef2f7); }
html[data-theme="light"] .set-row input { background: var(--ds-c-f8fafc); border-color: var(--ds-c-dbe4ec); color: var(--ds-c-0f2a3d); }
html[data-theme="light"] .user-menu .menu-divider { background: var(--ds-c-eef2f7); }
html[data-theme="light"] .agree input[type="checkbox"] { border-color: var(--ds-c-cbd5e1); background: var(--ds-c-ffffff); }
html[data-theme="light"] .work-ring .ring-bg { stroke: var(--ds-c-e2e8f0); }
html[data-theme="light"] .work-step .ws-ico { background: var(--ds-c-eef2f7); }
html[data-theme="light"] ::-webkit-scrollbar-thumb { background: var(--ds-c-dbe4ec); }
html[data-theme="light"] .input-tag, html[data-theme="light"] .side-out { background: var(--ds-c-ffffff); border-color: var(--ds-c-dbe4ec); color: var(--ds-c-334e63); }

/* ===== 首页高级感优化（浅色） ===== */
html[data-theme="light"] body {
  font-family: "PingFang SC","Microsoft YaHei","Segoe UI",-apple-system,sans-serif;
  background: var(--ds-c-f7f8fa);
  -webkit-font-smoothing: antialiased;
}
html[data-theme="light"] button, html[data-theme="light"] input, html[data-theme="light"] textarea { font-family: inherit; }
/* 品牌区 */
html[data-theme="light"] .sidebar-brand-text b { font-size:16px; font-weight: 800; letter-spacing: .5px; color: var(--ds-c-0f2a3d); }
html[data-theme="light"] .sidebar-brand-text small { font-size: 14px; letter-spacing: 2.5px; color: var(--ds-c-64748b); }
html[data-theme="light"] .sidebar { background: var(--ds-c-ffffff); border-right: 1px solid var(--ds-c-edf1f5); }
/* 主标题 */
html[data-theme="light"] .main-header-left h1 { font-size:16px; font-weight: 700; letter-spacing: .5px; color: var(--ds-c-0f2a3d); }
html[data-theme="light"] .main-header-left .subtitle { font-size: 14px; color: var(--ds-c-64748b); }
/* 欢迎区大标题 */
html[data-theme="light"] .welcome-logo img { width: 64px; height: 64px; border-radius: 12px; box-shadow: 0 12px 30px rgba(25,201,194,.18); }
html[data-theme="light"] .welcome-brand { font-size: 32px; font-weight: 800; letter-spacing: -1px; color: var(--ds-c-0f2a3d); margin-top: 14px; }
html[data-theme="light"] .welcome-subtitle { font-size:16px; color: var(--ds-c-4e6f82); letter-spacing: 1px; font-weight: 400; }
/* 输入区 */
html[data-theme="light"] .input-box { background: var(--ds-c-ffffff); border: 1px solid var(--ds-c-e8edf3); border-radius: 16px; box-shadow: 0 6px 20px rgba(15,42,61,.04); }
html[data-theme="light"] .input-box:focus-within { border-color: var(--ds-c-19c9c2); box-shadow: 0 0 0 4px rgba(25,201,194,.10), 0 8px 24px rgba(25,201,194,.06); }
html[data-theme="light"] .input-box textarea { font-size: 16px; color: var(--ds-c-0f2a3d); }
html[data-theme="light"] .input-box textarea::placeholder { color: var(--ds-c-a6b6c3); }
html[data-theme="light"] .direction-label { font-size: 14px; color: var(--ds-c-64748b); font-weight: 600; }
html[data-theme="light"] .direction-tag { background: var(--ds-c-f7f9fb); border: 1px solid var(--ds-c-e8edf3); color: var(--ds-c-5b7a91); border-radius: 8px; padding: 6px 14px; font-size: 14px; transition: all .18s; }
html[data-theme="light"] .direction-tag:hover { border-color: var(--ds-c-19c9c2); color: var(--ds-c-0d9488); background: var(--ds-c-f0fdfb); }
html[data-theme="light"] .direction-tag.active { background: var(--ds-c-e8f9f8); border-color: var(--ds-c-19c9c2); color: var(--ds-c-0d9488); font-weight: 700; }
/* 套餐卡 */
html[data-theme="light"] .mode-cards { gap: 14px; }
html[data-theme="light"] .mode-card { background: var(--ds-c-ffffff); border: 1.5px solid var(--ds-c-e8edf3); border-radius: 16px; padding: 18px 16px; box-shadow: 0 4px 16px rgba(15,42,61,.03); }
html[data-theme="light"] .mode-card:hover { border-color: var(--ds-c-19c9c2); background: var(--ds-c-ffffff); box-shadow: 0 10px 28px rgba(25,201,194,.10); transform: translateY(-3px); }
html[data-theme="light"] .mode-card.selected { border-color: var(--ds-c-19c9c2); background: var(--ds-c-ffffff); box-shadow: 0 0 0 3px rgba(25,201,194,.12), 0 12px 30px rgba(25,201,194,.12); transform: translateY(-3px); }
html[data-theme="light"] .mode-card h4 { font-size: 16px; font-weight: 800; color: var(--ds-c-0f2a3d); letter-spacing: .3px; }
html[data-theme="light"] .mode-card p { font-size: 14px; color: var(--ds-c-4e6f82); line-height: 1.6; }
html[data-theme="light"] .mode-price { font-size: 20px; font-weight: 800; color: var(--ds-c-0d9488); font-variant-numeric: tabular-nums; letter-spacing: -.5px; }
html[data-theme="light"] .mode-price.custom { color: var(--ds-c-d97706); }
html[data-theme="light"] .mode-card.selected::after { background: var(--ds-c-19c9c2); }
/* 历史记录 */
html[data-theme="light"] .history-item { background: var(--ds-c-ffffff); border: 1px solid var(--ds-c-f0f3f7); border-radius: 8px; padding: 10px 13px; margin-bottom: 2px; color: var(--ds-c-334e63); }
html[data-theme="light"] .history-item:hover { background: var(--ds-c-f8fafc); border-color: var(--ds-c-e2e8f0); }
html[data-theme="light"] .history-item .dot { background: var(--ds-c-19c9c2); }
html[data-theme="light"] .history-item .tm { color: var(--ds-c-a6b6c3); font-size: 14px; }
/* 按钮 */
html[data-theme="light"] .new-btn { border-radius: 12px; font-size: 16px; font-weight: 700; letter-spacing: 1px; box-shadow: 0 8px 20px rgba(25,201,194,.22); }
html[data-theme="light"] .send-btn, html[data-theme="light"] .primary-btn { border-radius: 12px; font-weight: 700; box-shadow: 0 6px 16px rgba(25,201,194,.18); }
html[data-theme="light"] .input-tag, html[data-theme="light"] .side-out { background: var(--ds-c-ffffff); border: 1px solid var(--ds-c-e8edf3); color: var(--ds-c-5b7a91); border-radius: 8px; }
html[data-theme="light"] .input-tag:hover, html[data-theme="light"] .side-out:hover { border-color: var(--ds-c-19c9c2); color: var(--ds-c-0d9488); }
/* 搜索框 */
html[data-theme="light"] .search-input { background: var(--ds-c-f7f9fb); border-color: var(--ds-c-e8edf3); border-radius: 8px; }
html[data-theme="light"] .search-input input { color: var(--ds-c-0f2a3d); }
/* 滚动条细化 */
html[data-theme="light"] ::-webkit-scrollbar { width: 6px; }
html[data-theme="light"] ::-webkit-scrollbar-thumb { background: var(--ds-c-dbe4ec); border-radius: 4px; }

/* ===== 全站统一配色：黑+青蓝+亮青（浅色） ===== */
html[data-theme="light"] body { background: var(--ds-c-f8fafc) !important; }
html[data-theme="light"] .sidebar { background: var(--ds-c-ffffff); }
html[data-theme="light"] .new-btn, html[data-theme="light"] .primary-btn, html[data-theme="light"] .submit-btn {
  background: var(--ds-c-0e7490) !important;
}
html[data-theme="light"] .new-btn:hover, html[data-theme="light"] .primary-btn:hover {
  filter: brightness(1.08);
  box-shadow: 0 8px 20px rgba(14,143,158,.25);
}
html[data-theme="light"] a, html[data-theme="light"] .link { color: var(--ds-c-08545c); } /* A11Y_5 文字对比 */
html[data-theme="light"] .direction-tag.active, html[data-theme="light"] .tag.active { color: var(--ds-c-0a6b77); border-color: rgba(14,143,158,.4); }
html[data-theme="light"] .search-input:focus-within, html[data-theme="light"] input:focus, html[data-theme="light"] textarea:focus {
  border-color: var(--ds-c-0e8f9e) !important;
  box-shadow: 0 0 0 3px rgba(14,143,158,.10);
}
html[data-theme="light"] .mode-card.recommended { border-color: rgba(25,201,194,.5); box-shadow: 0 8px 24px rgba(25,201,194,.12); }


/* ===== 工作台打磨：黑+青蓝+亮青（浅色） ===== */
html[data-theme="light"] .welcome-brand {
  background: linear-gradient(95deg, var(--ds-c-0a1a26) 0%, var(--ds-c-0e7490) 55%, var(--ds-c-19c9c2) 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
html[data-theme="light"] .direction-tag {
  background: var(--ds-c-ffffff);
  border: 1px solid var(--ds-c-e1e8ef);
  color: var(--ds-c-5b7a91);
}
html[data-theme="light"] .direction-tag:hover, html[data-theme="light"] .direction-tag.active {
  border-color: var(--ds-c-0e8f9e);
  color: var(--ds-c-0a6b77);
  background: var(--ds-c-f0fbfa);
}
html[data-theme="light"] .mode-card {
  background: var(--ds-c-ffffff);
  border: 1px solid var(--ds-c-e6edf3);
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(10,26,38,.05);
  transition: all .2s;
}
html[data-theme="light"] .mode-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(14,143,158,.12);
  border-color: rgba(14,143,158,.35);
}
html[data-theme="light"] .mode-card.recommended {
  border-color: rgba(25,201,194,.55);
  box-shadow: 0 8px 24px rgba(25,201,194,.15);
}
html[data-theme="light"] .start-box textarea {
  background: var(--ds-c-ffffff);
  border: 1.5px solid var(--ds-c-dce4ec);
  color: var(--ds-c-0f2a3d);
  border-radius: 12px;
}
html[data-theme="light"] .start-box textarea:focus {
  border-color: var(--ds-c-0e8f9e);
  box-shadow: 0 0 0 3px rgba(14,143,158,.10);
  outline: none;
}
html[data-theme="light"] .input-tag {
  background: var(--ds-c-ffffff);
  border: 1.5px solid var(--ds-c-dce4ec);
  color: var(--ds-c-0a6b77);
  border-radius: 8px;
}
html[data-theme="light"] .input-tag:hover {
  border-color: var(--ds-c-0e8f9e);
  background: var(--ds-c-f0fbfa);
}
html[data-theme="light"] .send-btn {
  background: linear-gradient(135deg, var(--ds-c-0a1a26) 0%, var(--ds-c-0e7490) 55%, var(--ds-c-19c9c2) 100%) !important;
  color: var(--ds-c-ffffff) !important;
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(14,143,158,.22);
}
html[data-theme="light"] .send-btn:hover { filter: brightness(1.08); }
html[data-theme="light"] .mode-price { color: var(--ds-c-0a6b77); }
html[data-theme="light"] .welcome-subtitle { color: var(--ds-c-5b7a91); }
html[data-theme="light"] .main-header-left h1 { color: var(--ds-c-0f2a3d); }


/* ===== 顶部导航统一（2026-10-08）=====
   口径：中性文字 + 品牌青选中 + 渐变主按钮；数值全部取自设计令牌
   中性 var(--ds-c-547586)(--ink-3 同族) · 选中/悬停 var(--ds-c-0e7490)(--brand) · 浅青底 var(--ds-c-e6f3f6)(--brand-weak)
   边线 var(--ds-c-e2e8f0)(--line) / var(--ds-c-a8d9df)(--brand-line) · 主按钮 渐变(var(--ds-c-0e7490)→var(--ds-c-0a6b77))+白字
   背景：原先「导航字体加深」把 .header-link-btn 与 nav a 一并压成 var(--ds-c-0a5c54)，
        既压平了首页 CTA 渐变，又让内页两种青绿并存；此处改为按角色分别着色。 */
html[data-theme="light"] .main-header-right .header-link-btn,
html[data-theme="light"] .zd-nav a {
  color: var(--ds-c-547586) !important;
  border: 1px solid var(--ds-c-e2e8f0) !important;
  background: transparent !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}
html[data-theme="light"] .main-header-right .header-link-btn:hover,
html[data-theme="light"] .zd-nav a:hover {
  color: var(--ds-c-0e7490) !important;
  border-color: var(--ds-c-a8d9df) !important;
  background: rgba(25,201,194,.06) !important;
}
html[data-theme="light"] .main-header-right .header-link-btn.on,
html[data-theme="light"] .zd-nav a.on {
  color: var(--ds-c-0e7490) !important;
  border-color: var(--ds-c-a8d9df) !important;
  background: var(--ds-c-e6f3f6) !important;
  font-weight: 700 !important;
}
html[data-theme="light"] .main-header-right .header-link-btn.cta,
html[data-theme="light"] .zd-nav a.cta {
  color: var(--ds-c-ffffff) !important;
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--ds-c-0e7490), var(--ds-c-0a6b77)) !important;
  font-weight: 700 !important;
}
html[data-theme="light"] .main-header-right .header-link-btn.cta:hover,
html[data-theme="light"] .zd-nav a.cta:hover {
  color: var(--ds-c-ffffff) !important;
  filter: brightness(1.08);
}

/* ===== 导航字体加深 ===== */
html[data-theme="light"] .nav-link, html[data-theme="light"] .nav-btn, html[data-theme="light"] .topbar a, html[data-theme="light"] header a {
  color: var(--ds-c-0a5c54) !important;
  font-weight: 600 !important;
}


/* ===== 顶部导航全站统一 ===== */
html[data-theme="light"] .topbar, html[data-theme="light"] header.topbar {
  height: 64px !important;
  min-height: 64px !important;
  background: var(--ds-c-ffffff) !important;
  border-bottom: 1px solid var(--ds-c-e8eef3) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 28px !important;
  box-shadow: 0 2px 12px rgba(10,26,38,.04) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  box-sizing: border-box !important;
}
html[data-theme="light"] .topbar .nav, html[data-theme="light"] .topbar-nav {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
html[data-theme="light"] .topbar .nav a, html[data-theme="light"] .topbar-nav a, html[data-theme="light"] .topbar nav a {
  color: var(--ds-c-0a5c54) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  background: transparent !important;
  border: none !important;
}
html[data-theme="light"] .topbar .nav a:hover, html[data-theme="light"] .topbar-nav a:hover {
  background: var(--ds-c-f0fbfa) !important;
  color: var(--ds-c-0b6b63) !important;
}
html[data-theme="light"] .topbar .nav a.on, html[data-theme="light"] .topbar-nav a.active, html[data-theme="light"] .topbar .nav a.active {
  color: var(--ds-c-0a5c54) !important;
  font-weight: 700 !important;
  background: var(--ds-c-e8f6f5) !important;
}
html[data-theme="light"] .topbar .brand, html[data-theme="light"] .topbar-brand, html[data-theme="light"] .topbar a.brand {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
}
html[data-theme="light"] .topbar .brand img, html[data-theme="light"] .topbar-brand img {
  width: 34px !important;
  height: 34px !important;
  border-radius: 8px !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
}
html[data-theme="light"] .topbar .brand b, html[data-theme="light"] .topbar-brand .tb-name, html[data-theme="light"] .topbar .brand b span {
  font-size: 16px !important;
  color: var(--ds-c-0a1a26) !important;
  font-weight: 800 !important;
}
html[data-theme="light"] .topbar .brand small, html[data-theme="light"] .topbar-brand .tb-sub {
  font-size: 14px !important;
  color: var(--ds-c-4e6f82) !important;
  display: block !important;
  letter-spacing: 1px !important;
}


/* ===== 首屏交互细化（2026-10-03）===== */
.input-box:focus-within {
    border-color: var(--ds-c-19c9c2) !important;
    box-shadow: 0 8px 28px rgba(25,201,194,.14) !important;
}
.direction-tag:hover {
    border-color: var(--ds-c-19c9c2) !important;
    color: var(--ds-c-0e7490) !important;
    background: var(--ds-c-f0fdfd) !important;
}
.direction-tag.active {
    background: linear-gradient(135deg, var(--ds-c-0e7490), var(--ds-c-19c9c2)) !important;
    border-color: transparent !important;
    color: var(--ds-c-fff) !important;
    box-shadow: 0 3px 10px rgba(25,201,194,.22);
}
.input-tag:hover {
    border-color: var(--ds-c-19c9c2) !important;
    color: var(--ds-c-0e7490) !important;
    background: var(--ds-c-f0fdfd) !important;
}
.send-btn:hover {
    filter: brightness(1.06);
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(25,201,194,.28);
}
.send-btn:active { transform: translateY(0); }
.send-btn:disabled { opacity: .6; cursor: not-allowed; transform: none; }

/* ===== 首屏底部入口导航（2026-10-03）===== */
.ds-quicknav {
    display: flex; flex-wrap: wrap; justify-content: center;
    gap: 6px 20px; margin: 14px auto 0; padding: 0;
}
.ds-quicknav a {
    display: inline-flex; align-items: center; gap: 4px;
    font-size:16px; color: var(--ds-c-5b7a91); text-decoration: none;
    padding: 3px 2px; border-bottom: 1px solid transparent;
    transition: color .18s, border-color .18s;
}
.ds-quicknav a:hover { color: var(--ds-c-0e7490); border-bottom-color: var(--ds-c-19c9c2); }
@media (max-width: 640px) {
    .ds-quicknav { gap: 6px 14px; }
    .ds-quicknav a { font-size: 14px; }
}

/* ===== 诊段统一主题层（2026-10-03）=====
   只覆盖「主题变量 + body 底色 + 字体 + 光晕」，不触碰工作台的组件样式 */
:root {
    --bg: #f3f6fa !important;
    --bg-card: #ffffff !important;
    --card: #ffffff !important;
    --bg-hover: #ffffff !important;
    --border: #e8edf3 !important;
    --text: #0f2a3d !important;
    --text-2: #5b7a91 !important;
    --text-3: #64748b !important;
    --text-secondary: #5b7a91 !important;
    --text-muted: #64748b !important;
    --primary: #19C9C2 !important;
    --primary-dark: #0E7490 !important;
    --primary-light: rgba(25,201,194,.12) !important;
    --accent: #19c9c2 !important;
}
html, body { background: var(--ds-c-f3f6fa) !important; color: var(--ds-c-0f2a3d) !important; }
body { font-family: "PingFang SC", "Microsoft YaHei", "Segoe UI", -apple-system, sans-serif !important; }
.glow-a, .glow-b { display: none !important; }


/* ==================================================================
   工作台改造层（2026-10-04）
   ① 顶部加「返回首页 + 诊段品牌」
   ② 导航响应式：多断点 + 移动端汉堡菜单
   ③ 补齐 1024 / 900 / 768 / 480 断点
   ================================================================== */

/* —— 顶部品牌 —— */
.main-header { height: 62px; }
.wb-home {
    display: inline-flex; align-items: center; gap: 9px;
}
.wb-home:hover { opacity: .82; }
.wb-home img { height: 28px; width: auto; display: block; }
.wb-home-txt { display: flex; flex-direction: column; line-height: 1; }
.wb-home-txt b { font-size: 1.12rem; font-weight: 700; color: var(--ds-c-0b2233); letter-spacing: .02em; }
.wb-home-txt em { font-style: normal; font-size: 0.8125rem; letter-spacing: .18em; color: var(--ds-c-7b94a6); font-weight: 600; margin-top: 2px; }
.main-header-left h1 { font-size: 16px; font-weight: 620; color: var(--ds-c-0b2233); white-space: nowrap; }
.main-header-left .subtitle { font-size: 14px; color: var(--ds-c-7b94a6); white-space: nowrap; }

/* —— 汉堡按钮（默认桌面隐藏） —— */
.wb-nav-toggle {
    display: none; width: 38px; height: 38px; border-radius: 8px;
    align-items: center; justify-content: center;
    border: 1px solid var(--border, var(--ds-c-e3eaf0)); background: var(--ds-c-fff); color: var(--ds-c-3d5a6e);
}
.wb-nav-toggle svg { width: 19px; height: 19px; }
.wb-nav-toggle:hover { border-color: var(--ds-c-19c9c2); color: var(--ds-c-0e7490); }

/* —— 欢迎区品牌标 —— */
.wb-mark { height: 62px; width: auto; display: block; margin: 0 auto;
    filter: drop-shadow(0 4px 12px rgba(14,116,144,.16)); }

/* —— 导航容器：允许换行，不再挤压 —— */
.main-header-right { flex-wrap: wrap; justify-content: flex-end; }

/* ================= 断点：1024（小笔记本） ================= */
@media (max-width: 1024px) {
    .main-header { padding: 0 18px; }
    .header-link-btn { padding: 6px 11px; font-size: 14px; }
    .main-header-right { gap: 6px; }
}

/* ================= 断点：900（平板竖屏 / 大手机） ================= */
@media (max-width: 900px) {
    .main-header { height: 58px; padding: 0 14px; }
    .main-header-left .subtitle { display: none; }
    .wb-sep { display: none; }
    .main-header-left h1 { font-size: 16px; }
    .header-link-btn { padding: 6px 10px; font-size: 14px; }
    .wb-mark { height: 52px; }
}

/* ================= 断点：768（手机横屏 / 小平板）→ 汉堡菜单 ================= */
@media (max-width: 768px) {
    .main-header-left .subtitle { display: none; }
    .wb-nav-toggle { display: inline-flex; }

    /* 导航收成下拉面板 */
    .main-header-right {
        position: absolute; top: 62px; right: 12px; left: 12px;
        z-index: 60;
        display: none; flex-direction: column; align-items: stretch;
        gap: 6px; padding: 12px;
        background: var(--ds-c-fff); border-radius: 16px;
        box-shadow: 0 12px 40px rgba(15,42,61,.16), 0 0 0 1px rgba(15,42,61,.05);
    }
    .main-header-right.open { display: flex; }
    .header-link-btn {
        justify-content: center; padding: 11px 14px; font-size: 16px;
        border-radius: 8px; border-color: var(--ds-c-e8eff4);
    }
    .header-link-btn.cta { padding: 11px 14px; font-size: 16px; }
    /* 保证下拉面板盖在内容之上（welcome-area 有动画会生成层叠上下文） */
    .main-header { position: relative; z-index: 90; }
    .main-header-right {
        background: var(--ds-c-ffffff) !important;
        box-shadow: 0 14px 44px rgba(15,42,61,.18), 0 0 0 1px rgba(15,42,61,.06) !important;
    }
    .main-header-right .header-link-btn { background: var(--ds-c-ffffff) !important; }
}

/* ================= 断点：480（手机竖屏） ================= */
@media (max-width: 480px) {
    .main-header { height: 56px; padding: 0 12px; }
    .wb-home img { height: 24px; }
    .wb-home-txt b { font-size: 1rem; }
    .wb-home-txt em { font-size: 0.8125rem; letter-spacing: .14em; }
    .main-header-left h1 { font-size:16px; }
    .wb-mark { height: 44px; }
    .main-header-right { top: 58px; right: 8px; left: 8px; padding: 10px; }
    .header-link-btn { font-size:16px; padding: 10px 12px; }
}

/* —— 超窄屏（≤360）再收一档 —— */
@media (max-width: 360px) {
    .wb-home-txt em { display: none; }
    .main-header-left h1 { font-size:16px; }
}

/* —— 触屏优化 —— */
@media (hover: none) {
    .header-link-btn:active { transform: scale(.97); }
}


/* ===== 三档报告交付时间：徽标样式（2026-10-04）===== */
.mode-card .mode-meta .mm-time {
    display: inline-flex; align-items: center; gap: 3px;
    font-weight: 700; color: var(--ds-c-0e7490);
    background: rgba(25,201,194,.11);
    border-radius: 8px; padding: 2px 7px;
    letter-spacing: .01em;
}
html[data-theme="light"] .mode-card .mode-meta .mm-time {
    color: var(--ds-c-0b7c78); background: rgba(25,201,194,.12);
}
.mode-card.selected .mode-meta .mm-time {
    background: rgba(25,201,194,.18);
}


/* ==================================================================
   纠纷类型：52 类分组选择器（2026-10-04）
   ================================================================== */
.direction-more {
    font-size: 14px; padding: 5px 12px; border-radius: 8px;
    background: transparent; border: 1px dashed var(--border, var(--ds-c-dbe4ec));
    color: var(--primary, var(--ds-c-19c9c2)); cursor: pointer;
    transition: all .15s; white-space: nowrap;
    display: inline-flex; align-items: center; gap: 5px;
}
.direction-more:hover { border-style: solid; background: var(--primary-light, rgba(25,201,194,.10)); }
.direction-more .tm-ar { font-size: 14px; }

.type-panel {
    display: none; margin: 0 0 12px;
    background: var(--ds-c-fff); border: 1px solid var(--border, var(--ds-c-e2e8f0));
    border-radius: 12px; padding: 14px;
    box-shadow: 0 12px 36px rgba(15,42,61,.10);
    max-height: 340px; overflow-y: auto;
}
.type-panel.open { display: block; animation: tpIn .22s cubic-bezier(.16,1,.3,1); }
@keyframes tpIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }


.tp-body { padding-top: 2px; }
.tp-group { margin-bottom: 14px; }
.tp-group:last-child { margin-bottom: 0; }
.tp-group > b {
    display: block; font-size: 14px; font-weight: 700;
    color: var(--primary, var(--ds-c-0e7490)); letter-spacing: .04em;
    margin-bottom: 8px;
}
.tp-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.tp-chip {
    font-size: 14px; padding: 5px 11px; border-radius: 8px;
    background: var(--bg, var(--ds-c-f6f9fb)); border: 1px solid var(--border, var(--ds-c-e6eef3));
    color: var(--text-secondary, var(--ds-c-5b7a91)); cursor: pointer;
    transition: all .15s; white-space: nowrap;
}
.tp-chip:hover { border-color: var(--primary, var(--ds-c-19c9c2)); color: var(--primary, var(--ds-c-0e7490)); background: var(--ds-c-f2fbfa); }
.tp-chip.on { background: var(--primary, var(--ds-c-19c9c2)); border-color: var(--primary, var(--ds-c-19c9c2)); color: var(--ds-c-fff); font-weight: 600; }

@media (max-width: 640px) {
    .type-panel { max-height: 300px; padding: 12px; }
    .tp-chip { font-size: 14px; padding: 5px 10px; }
}

.legal-note { font-size: 14px; color: var(--ds-c-64748b); line-height: 1.9; }
.legal-note .pending-slot { color: var(--ds-c-b08968); }

.ds-quicknav .qn-login {
    color: var(--ds-c-0e7490); font-weight: 600;
    border: 1px solid rgba(25,201,194,.35);
    background: rgba(25,201,194,.07);
    border-radius: 8px; padding: 8px 16px;
    display: inline-flex; align-items: center; gap: 6px;
    transition: all .2s;
}
.ds-quicknav .qn-login:hover { background: rgba(25,201,194,.14); border-color: rgba(25,201,194,.6); }

/* ==================================================================
   首屏入口导航修复（2026-10-04）
   问题：.main 是 flex column + overflow:hidden，.welcome-area 用 flex:1
        占满剩余空间后，.ds-quicknav 被挤到可视区之外，实际看不见
   修法：给 quicknav 固定高度不可压缩，并让 welcome-area 允许收缩
   ================================================================== */
.main { min-height: 0; }
.welcome-area { min-height: 0; }
.main > .ds-quicknav {
    position: relative;
    z-index: 5;
    margin: 0 auto;
    padding: 12px 24px 14px;
    width: 100%;
    max-width: 920px;
    box-sizing: border-box;
    order: 99;
    border-top: 1px solid rgba(15,42,61,.06);
    background: transparent;
}
@media (max-width: 640px) {
    .main > .ds-quicknav { padding: 10px 16px 12px; gap: 6px 12px; }
    .main > .ds-quicknav a { font-size: 14px; }
}

/* ==================================================================
   工作台页脚重做（2026-10-04）
   四层：导航 → 公司 → 备案 → 免责，层级由深到浅
   分隔线用 CSS 生成，避免手工写 | 漏掉
   ================================================================== */
.zd-footer {
    margin-top: auto;
    padding: 26px 24px 22px;
    text-align: center;
    background: transparent;
}

/* 第一层：导航 */
.ft-nav {
    display: flex; flex-wrap: wrap; justify-content: center;
    align-items: center;
    margin: 0 auto 18px;
    max-width: 760px;
}
.ft-nav a {
    position: relative;
    display: inline-block;
    padding: 4px 13px;
    font-size: 14px;
    color: var(--ds-c-46647a);
    text-decoration: none;
    line-height: 1.5;
    border-radius: 8px;
    transition: color .2s, background .2s;
}
.ft-nav a:hover { color: var(--ds-c-0e7490); background: rgba(25,201,194,.07); }
/* 自动分隔线 */
.ft-nav a + a::before {
    content: '';
    position: absolute; left: 0; top: 50%;
    width: 1px; height: 11px; margin-top: -5.5px;
    background: var(--ds-c-dce6ed);
}
.ft-nav a:first-child { padding-left: 4px; }
.ft-nav a:first-child::before { display: none; }

/* 第二层：公司主体 */
.ft-company {
    font-size: 14px;
    color: var(--ds-c-556f80);
    line-height: 1.9;
    margin-bottom: 5px;
    letter-spacing: .01em;
}

/* 第三层：备案信息 */
.ft-beian {
    display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
    gap: 4px 8px;
    font-size: 14px;
    color: var(--ds-c-556f80);
    line-height: 1.9;
    margin-bottom: 8px;
}
.ft-beian a { color: var(--ds-c-556f80); text-decoration: none; transition: color .2s; }
.ft-beian a:hover { color: var(--ds-c-0e7490); }
.ft-beian .ft-dot { color: var(--ds-c-8c9fac); }
.ft-beian .pending-slot { font-style: normal; color: var(--ds-c-b08968); }

/* 第四层：免责声明 */
.ft-disclaimer {
    font-size: 14px;
    color: var(--ds-c-556f80);
    line-height: 1.8;
    letter-spacing: .01em;
}

/* 手机端 */
@media (max-width: 640px) {
    .zd-footer { padding: 20px 16px 18px; }
    .ft-nav { gap: 2px 0; margin-bottom: 14px; }
    .ft-nav a { font-size: 14px; padding: 4px 9px; }
    .ft-company, .ft-beian { font-size: 14px; }
    .ft-disclaimer { font-size: 14px; }
}
@media (max-width: 380px) {
    .ft-nav a { padding: 4px 7px; font-size: 14px; }
}

/* 服务说明 + 免责声明（定价卡下方）2026-10-04 */

/* 《用户确认书》弹窗 —— 完整协议文本（2026-10-04） */
#confirmModal .set-box { max-height: 88vh !important; display: flex; flex-direction: column; }
#confirmModal .cf-text {
    flex: 1 1 auto;
    overflow-y: auto;
    max-height: none !important;
    padding: 4px 20px 8px !important;
    font-size:16px;
    line-height: 1.85;
    color: var(--ds-c-3d5a6e);
    scrollbar-width: none;
}
#confirmModal .cf-text::-webkit-scrollbar { width: 0; display: none; }
#confirmModal .cf-text h4 {
    font-size:16px;
    font-weight: 700;
    color: var(--ds-c-0e7490);
    margin: 16px 0 7px;
    padding-left: 9px;
    border-left: 3px solid var(--ds-c-19c9c2);
    line-height: 1.5;
}
#confirmModal .cf-text h4:first-of-type { margin-top: 10px; }
#confirmModal .cf-text p { margin: 0 0 8px; text-align: justify; }
#confirmModal .cf-text b { color: var(--ds-c-0b2233); font-weight: 640; }
#confirmModal .cf-text ul { margin: 6px 0 10px 18px; padding: 0; }
#confirmModal .cf-text li { margin-bottom: 5px; }
#confirmModal .cf-lead {
    background: var(--ds-c-f2f9fa);
    border-radius: 8px;
    padding: 11px 14px;
    font-size:16px;
    color: var(--ds-c-3d5a6e);
    box-shadow: inset 0 0 0 1px rgba(14,116,144,.13);
    margin-bottom: 4px !important;
}
#confirmModal .cf-more {
    margin-top: 14px !important;
    padding-top: 12px;
    border-top: 1px solid var(--ds-c-e8eff4);
    text-align: center;
}
#confirmModal .cf-more a { color: var(--ds-c-0e7490); font-size: 14px; text-decoration: none; }
#confirmModal .cf-more a:hover { text-decoration: underline; }
#confirmModal .set-save { flex: 0 0 auto; margin-top: 12px; }
@media (max-width: 640px) {
    #confirmModal .cf-text { font-size:16px; padding: 4px 14px 8px !important; }
    #confirmModal .cf-text h4 { font-size:16px; }
}

/* ==================================================================
   《用户确认书》弹窗重做（2026-10-04）
   对齐《个人信息告知同意指南》：要点告知 + 主动勾选 + 可拒绝
   ================================================================== */
#confirmModal .set-box { max-height: 88vh; display: flex; flex-direction: column; }
#confirmModal .cf-sum {
    flex: 1 1 auto; overflow-y: auto;
    padding: 2px 20px 4px; scrollbar-width: none;
}
#confirmModal .cf-sum::-webkit-scrollbar { width: 0; display: none; }

#confirmModal .cf-intro {
    font-size:16px; color: var(--ds-c-3d5a6e); line-height: 1.8;
    margin: 0 0 14px; text-align: left;
}
#confirmModal .cf-intro b { color: var(--ds-c-0b2233); }

#confirmModal .cf-item {
    display: flex; gap: 11px; align-items: flex-start;
    padding: 11px 13px; margin-bottom: 9px;
    background: var(--ds-c-f7fafc); border-radius: 12px;
    box-shadow: inset 0 0 0 1px rgba(15,42,61,.05);
}
#confirmModal .cf-ico { font-size: 16px; line-height: 1.5; flex: 0 0 auto; }
#confirmModal .cf-body { flex: 1 1 auto; min-width: 0; text-align: left; }
#confirmModal .cf-body b {
    display: block; font-size:16px; font-weight: 640;
    color: var(--ds-c-0b2233); margin-bottom: 3px; line-height: 1.5;
}
#confirmModal .cf-body span {
    display: block; font-size: 14px; color: var(--ds-c-46647a); line-height: 1.75;
}
#confirmModal .cf-body em { font-style: normal; color: var(--ds-c-0e7490); font-weight: 600; }

#confirmModal .cf-links {
    margin: 14px 0 12px; padding-top: 12px;
    border-top: 1px solid var(--ds-c-e8eff4);
    font-size: 14px; color: var(--ds-c-556f80); text-align: left; line-height: 1.9;
}
#confirmModal .cf-links a { color: var(--ds-c-0e7490); text-decoration: none; margin-right: 8px; }
#confirmModal .cf-links a:hover { text-decoration: underline; }

#confirmModal .cf-check {
    display: flex; align-items: flex-start; gap: 9px;
    padding: 12px 13px; margin-bottom: 4px;
    background: var(--ds-c-f2f9fa); border-radius: 12px;
    box-shadow: inset 0 0 0 1px rgba(14,116,144,.15);
    cursor: pointer; user-select: none; text-align: left;
}
#confirmModal .cf-check input[type="checkbox"] {
    appearance: none; -webkit-appearance: none;
    flex: 0 0 auto; width: 16px; height: 16px; margin-top: 2px;
    border: 1.5px solid var(--ds-c-c6d5df); border-radius: 4px; background: var(--ds-c-fff);
    cursor: pointer; position: relative;
    transition: all .18s cubic-bezier(.16,1,.3,1);
}
#confirmModal .cf-check input:checked { background: var(--ds-c-0e7490); border-color: var(--ds-c-0e7490); }
#confirmModal .cf-check input:checked::after {
    content: ''; position: absolute; left: 4.5px; top: 1px;
    width: 4px; height: 8px; border: solid var(--ds-c-fff);
    border-width: 0 2px 2px 0; transform: rotate(45deg);
}
#confirmModal .cf-check span { font-size: 14px; color: var(--ds-c-3d5a6e); line-height: 1.7; }

#confirmModal .cf-actions {
    flex: 0 0 auto; display: flex; gap: 10px;
    padding: 12px 20px 4px;
}
#confirmModal .cf-btn {
    flex: 1; padding: 11px 16px; border-radius: 12px;
    font-size: 16px; font-weight: 620; font-family: inherit;
    cursor: pointer; border: none;
    transition: all .2s cubic-bezier(.16,1,.3,1);
}
#confirmModal .cf-btn-ghost {
    background: var(--ds-c-f4f8fa); color: var(--ds-c-46647a);
    box-shadow: inset 0 0 0 1px var(--ds-c-e2ebf1);
}
#confirmModal .cf-btn-ghost:hover { background: var(--ds-c-eaf2f6); color: var(--ds-c-3d5a6e); }
#confirmModal .cf-btn-main {
    background: linear-gradient(135deg, var(--ds-c-0a1a26) 0%, var(--ds-c-0e7490) 55%, var(--ds-c-19c9c2) 100%);
    color: var(--ds-c-fff);
}
#confirmModal .cf-btn-main:hover:not(:disabled) { filter: brightness(1.1); }
#confirmModal .cf-btn-main:disabled {
    background: var(--ds-c-e4ebf1); color: var(--ds-c-556f80); cursor: not-allowed; filter: none;
}
@media (max-width: 640px) {
    #confirmModal .cf-sum { padding: 2px 15px 4px; }
    #confirmModal .cf-actions { padding: 10px 15px 4px; }
    #confirmModal .cf-item { padding: 10px 11px; }
    #confirmModal .cf-body b { font-size:16px; }
    #confirmModal .cf-body span { font-size: 14px; }
}

/* 页脚上移（2026-10-04）：.app 不再固定 100vh，随内容伸缩，页脚紧跟内容 */
html, body { height: auto !important; min-height: 100vh !important; }
.app { height: auto !important; min-height: 0 !important; }
.main { overflow: visible !important; }
.welcome-area { overflow: visible !important; }
.zd-footer { margin-top: 28px !important; padding: 22px 24px 26px !important; }

/* 开始整理按钮始终靠右（2026-10-04）
   根因：勾选文案变长后，input-actions 的 flex-wrap 把按钮挤到下一行左侧。
   修法：桌面端给按钮 margin-left:auto，强制右对齐。 */
@media (min-width: 641px) {
    .send-btn { margin-left: auto !important; flex-shrink: 0 !important; white-space: nowrap !important; }
    .input-tags { flex-wrap: wrap !important; min-width: 0 !important; }
    .input-actions { align-items: center !important; }
}

/* ==================================================================
   工作台首页视觉修正（2026-10-04）
   ================================================================== */

/* 1) 输入区：上传按钮与「开始整理」同一行，勾选框独占一行 */
.input-actions {
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 12px !important;
}
.input-tags { flex: 1 1 auto !important; min-width: 0 !important; flex-wrap: wrap !important; }
.send-btn {
    margin-left: auto !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    padding: 11px 30px !important;
}
.agree-row {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    margin-top: 11px !important;
    font-size: 14px !important;
    color: var(--ds-c-556f80) !important;
    cursor: pointer !important;
    line-height: 1.6 !important;
    flex-wrap: wrap !important;
}
.agree-row input[type="checkbox"] {
    flex: 0 0 auto !important;
    width: 14px !important; height: 14px !important;
    accent-color: var(--ds-c-0e7490) !important;
    cursor: pointer !important;
}
.agree-row a, .agree-row span[onclick] { color: var(--ds-c-0e7490) !important; }

/* 2) 底部说明文字：与定价卡留出干净间距，不被压住 */
.plan-note {
    margin-top: 22px !important;
    margin-bottom: 0 !important;
    padding: 0 4px !important;
    position: relative !important;
    z-index: 2 !important;
}
.plan-note-desc {
    font-size: 14px !important;
    color: var(--ds-c-556f80) !important;
    line-height: 1.8 !important;
}

/* 3) 定价卡：底部留白收紧，避免压住下方文字 */
.mode-cards { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.mode-card { box-shadow: 0 2px 6px rgba(15,42,61,.05), 0 10px 24px rgba(15,42,61,.05) !important; }

/* 4) 整体垂直节奏：顶部 logo 区收紧 */
.welcome-area { padding-top: 4px !important; }
.welcome-logo { margin-bottom: 0 !important; }
.welcome-logo .ds-infinity { font-size: 64px !important; line-height: 1.1 !important; padding: 0 !important; }
.welcome-logo img { max-height: 64px !important; }
.welcome-brand-block { margin-top: 2px !important; }
.wb-cn { font-size: 26px !important; line-height: 1.35 !important; margin: 0 0 2px !important; }
.wb-en { font-size: 14px !important; letter-spacing: .1em !important; color: var(--ds-c-556f80) !important; }
.input-area { margin-top: 16px !important; }

/* 5) 信任行与定价卡之间的间距 */
.ds-trust { margin-top: 12px !important; margin-bottom: 16px !important; }

/* ==================================================================
   工作台布局根因修复（2026-10-04）
   ──────────────────────────────────────────────────────────────────
   问题：footer 被设为 position:fixed; bottom:0，导致
         ① 页脚永远贴在屏幕最底部，与上方内容脱节
         ② 页脚与内容重叠
         ③ body 固定高度 + overflow:hidden，超出内容被裁且不能滚动
   修法：页脚回归正常文档流；body 高度自适应并允许滚动
   ================================================================== */

/* 1) 页脚回归文档流 */
footer, .zd-footer {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    top: auto !important;
    background: transparent !important;
    border-top: none !important;
    box-shadow: none !important;
    margin-top: 28px !important;
    padding: 22px 24px 26px !important;
}

/* 2) body / html 高度自适应，允许纵向滚动 */
html {
    height: auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}
body {
    height: auto !important;
    min-height: 100vh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

/* 3) 让内容自然撑开 */
.app { height: auto !important; min-height: 0 !important; }
.main { overflow: visible !important; }
.welcome-area { overflow: visible !important; }

/* ==================================================================
   首屏适配（2026-10-04）
   当前整页高 985px，900px 视口下页脚被截断。
   只收紧装饰性间距与页脚内边距，不动正文字号、不压缩输入框高度。
   ================================================================== */
@media (max-height: 1000px) {
    /* 顶部品牌区：收图标尺寸与上下间距 */
    .welcome-logo { margin-top: 0 !important; margin-bottom: 0 !important; }
    .welcome-logo .ds-infinity { font-size: 50px !important; line-height: 1.15 !important; padding: 0 !important; }
    .welcome-logo img { max-height: 50px !important; }
    .welcome-brand-block { margin-top: 0 !important; }
    .wb-cn { font-size:20px !important; line-height: 1.3 !important; margin-bottom: 1px !important; }
    .wb-en { font-size: 14px !important; }

    /* 输入区上下间距 */
    .input-area { margin-top: 14px !important; }

    /* 信任行 → 定价卡 */
    .ds-trust { margin-top: 10px !important; margin-bottom: 12px !important; }
    .mode-cards { margin-top: 10px !important; }

    /* 定价卡内边距 */
    .mode-card { padding: 15px 17px 13px !important; }

    /* 说明文字 */
    .plan-note { margin-top: 14px !important; }

    /* 页脚：收紧内边距与行高 */
    footer, .zd-footer {
        margin-top: 20px !important;
        padding: 14px 24px 16px !important;
    }
    footer > div, .zd-footer > div { margin-bottom: 2px !important; line-height: 1.7 !important; }
    .ft-company, .ft-beian { font-size: 14px !important; }
    .ft-disclaimer { font-size: 14px !important; }
}

/* 输入框加高（2026-10-04）：对话框上下更宽松 */
.input-box textarea {
    min-height: 120px !important;
    padding: 4px 0 2px !important;
    line-height: 1.75 !important;
}
.input-box { padding: 15px 18px !important; }
@media (max-width: 640px) {
    .input-box textarea { min-height: 100px !important; }
}

/* ==================================================================
   全站可访问性增强层（2026-10-04）
   目标：老年人可读、移动端不缩放、触摸好点、键盘可操作
   ================================================================== */

/* 1) 输入控件字号 ≥16px —— 防止 iOS Safari 聚焦时自动放大页面 */
input, textarea, select {
    font-size: max(16px, 1em) !important;
}
input::placeholder, textarea::placeholder {
    font-size: 16px !important;
}

/* 2) 正文行高：中文正文 1.75 更好读 */
p, li, td, th, dd, dt {
    line-height: 1.75;
}
p { margin-bottom: .7em; }

/* 3) 按钮 / 可点元素：触摸目标 ≥44px（移动端） */
@media (max-width: 900px) {
    button, .btn, [role="button"],
    a.header-link-btn, .mode-tab, .mat-tab, .tp-chip, .direction-tag,
    .input-tag, .send-btn, .code-btn, .pm-tab, .role-tab {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    a { padding-top: 2px; padding-bottom: 2px; }
}

/* 4) 键盘焦点可见（老年人常用 Tab 键） */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
    outline: 2px solid var(--ds-c-0e7490) !important;
    outline-offset: 2px !important;
    border-radius: 8px;
}

/* 5) 长段落限宽，避免一行过长难读（中文一行 ≤38 字） */
.zd-footer, .ft-disclaimer, .ft-company, .ft-beian { text-wrap: pretty; }
p, li { text-wrap: pretty; }

/* 6) 尊重系统「减少动效」设置（老年人易眩晕） */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

/* 上传区图标（SVG）：与页面线性图标风格统一 */
.input-tag {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    line-height: 1;
}
.input-tag .it-ico {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    opacity: .88;
}
.input-tag:hover .it-ico { opacity: 1; }
.input-tag > span { white-space: nowrap; }
@media (max-width: 480px) {
    .input-tag .it-ico { width: 14px; height: 14px; flex-basis: 14px; }
    .input-tag { gap: 5px; }
}

/* ==================================================================
   链接下划线修复（2026-10-04）
   问题：<a> 浏览器默认 text-decoration: underline，
        品牌区/导航/页脚链接被划上横线
   原则：结构化导航类链接一律无下划线；正文内联链接保留（可读性需要）
   ================================================================== */
.wb-home,
.wb-home:link, .wb-home:visited, .wb-home:hover, .wb-home:active,
.top-brand, .top-brand:link, .top-brand:visited, .top-brand:hover,
a.zd-brand, a.zd-brand:hover,
.zd-head a, .zd-nav a, .zd-nav a:link, .zd-nav a:visited, .zd-nav a:hover,
.main-header a, .main-header a:hover,
.ft-nav a, .ft-nav a:hover,
.ft-tip a, .ft-tip a:hover,
.ft-company a, .ft-company a:hover,
.ft-beian a, .ft-beian a:hover,
.portal-footer a, .portal-footer a:hover,
.fnav a, .fnav a:hover,
.fbottom a, .fbottom a:hover,
.sidebar a, .sidebar a:hover,
.side-menu a, .side-menu a:hover,
nav a, nav a:hover,
header a, header a:hover,
footer a, footer a:hover {
    text-decoration: none !important;
}
/* 正文与卡片内的链接保留下划线（帮助识别可点） */
.card p a, .sec p a, .note a, article p a {
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

/* ==================================================================
   报告档位卡 · 三行极简结构（2026-10-04 定稿）
   行1 图标+标题(+徽标) / 行2 时间+交付 / 行3 价格+(律师级别)
   ================================================================== */
.mode-cards {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12px !important;
    max-width: 920px !important;
    width: 100% !important;
    margin: 14px auto 0 !important;
    align-items: stretch !important;
}
.mode-card {
    display: flex !important;
    flex-direction: column !important;
    padding: 15px 17px 14px !important;
    border-radius: 12px !important;
    background: var(--ds-c-ffffff) !important;
    border: 1.5px solid var(--ds-c-e8edf3) !important;
    transform: none !important;
    box-shadow: 0 2px 6px rgba(15,42,61,.04) !important;
    cursor: pointer;
    transition: border-color .2s, box-shadow .2s, background .2s;
}
.mode-card:hover {
    border-color: var(--ds-c-19c9c2) !important;
    background: var(--ds-c-fafefe) !important;
    box-shadow: 0 3px 12px rgba(25,201,194,.10) !important;
    transform: none !important;
}
.mode-card.selected {
    border-color: var(--ds-c-19c9c2) !important;
    background: var(--ds-c-f7fdfd) !important;
    box-shadow: 0 0 0 2px rgba(25,201,194,.26), 0 3px 12px rgba(25,201,194,.10) !important;
    transform: none !important;
}
.mode-card.selected::after {
    content: "✓" !important;
    position: absolute !important;
    right: 9px !important; top: 9px !important;
    width: 19px !important; height: 19px !important;
    border-radius: 50% !important;
    background: var(--ds-c-19c9c2) !important; color: var(--ds-c-fff) !important;
    font-size: 12px !important; line-height: 19px !important; text-align: center !important;
    font-weight: 700 !important;
}

/* 行1：图标 + 标题（+ 徽标靠右） */
.mc-row1 {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin-bottom: 10px !important;
    min-height: 26px !important;
}
.mc-row1 .mode-icon {
    width: 26px !important; height: 26px !important;
    border-radius: 8px !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    font-size: 14px !important; flex: 0 0 26px !important;
}
.mc-row1 h4 {
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--ds-c-0b2233) !important;
    letter-spacing: .2px !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
}
.mode-card.selected .mc-row1 { padding-right: 22px !important; }
.mc-row1 .mode-badge {
    margin-left: auto !important;
    font-size:13px !important;
    padding: 2px 8px !important;
    border-radius: 8px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    flex: 0 0 auto !important;
}

/* 行2：时间 + 交付 */
.mc-row2 {
    font-size: 13px !important;
    line-height: 1.55 !important;
    color: var(--ds-c-46647a) !important;
    margin: 0 0 12px !important;
    min-height: 0 !important;
}

/* 行3：价格 + 律师级别 */
.mode-price {
    margin-top: auto !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    color: var(--ds-c-0e8f9e) !important;
    letter-spacing: -.2px !important;
}
.mode-price.custom { color: var(--ds-c-d97706) !important; }
.mode-price .mc-tier {
    font-size:13px !important;
    font-weight: 500 !important;
    color: var(--ds-c-5c7a8f) !important;
    letter-spacing: 0 !important;
}

/* 隐藏旧结构（如果还有残留） */
.mode-meta { display: none !important; }
.mode-card-header { display: none !important; }

@media (max-width: 900px) {
    .mode-cards { grid-template-columns: 1fr !important; max-width: 460px !important; }
    .mc-row2 { margin-bottom: 10px !important; }
}
@media (max-width: 640px) {
    .mode-card { padding: 14px 15px 13px !important; }
    .mc-row2 { font-size:13px !important; }
    .mode-price { font-size:20px !important; }
}

/* 内容清单行（2026-10-04） */
.mc-desc {
    font-size:13px !important;
    line-height: 1.55 !important;
    color: var(--ds-c-5c7a8f) !important;
    margin: 0 0 9px !important;
    padding-bottom: 9px !important;
    border-bottom: 1px dashed var(--ds-c-edf2f6) !important;
    min-height: 2.9em !important;     /* 固定 2 行，保证跨卡对齐 */
}
.mc-row2 {
    margin-bottom: 12px !important;
    min-height: 1.6em !important;
}
@media (max-width: 900px) {
    .mc-desc { min-height: 0 !important; }
}
@media (max-width: 640px) {
    .mc-desc { font-size: 12px !important; }
}

/* 页脚再上移一点（2026-10-04）：间距 20px → 10px */
footer, .zd-footer, .portal-footer {
    margin-top: 4px !important;
    padding-top: 6px !important;
}
.zd-footer .ft-tip, .zd-footer .ft-company, .zd-footer .ft-beian { margin-top: 0 !important; }
.zd-footer .ft-nav { margin-bottom: 12px !important; }
@media (max-width: 640px) {
    footer, .zd-footer, .portal-footer { margin-top: 3px !important; padding-top: 5px !important; }
    .zd-footer .ft-nav { margin-bottom: 10px !important; }
}

/* ===== 四档卡 · 决策增强版（2026-10-11）===== */
.mode-card { display:flex !important; flex-direction:column !important; }
.mc-pos { font-size:12px !important; color:var(--ds-c-0a6b77) !important; font-weight:600 !important; margin:0 0 6px !important; line-height:1.4 !important; }
.mc-law { display:inline-flex !important; align-items:center !important; font-size:12px !important; font-weight:600 !important; color:var(--ds-c-fff) !important; background:var(--ds-c-0e7490) !important; border-radius:99rem !important; padding:3px 9px !important; margin:0 0 8px !important; width:fit-content !important; }
.mc-law.warn { background:var(--ds-c-b45309) !important; } /* CONTRAST_A11Y4_20261027：白字在 #D97706 上只有 3.19 */
.mc-law.pro { background:var(--ds-c-3e6fa8) !important; }
.mc-law.custom { background:var(--ds-c-6e5ca6) !important; }
.mc-core { margin:0 0 4px !important; padding:0 !important; list-style:none !important; }
.mc-core li { font-size:12px !important; line-height:1.6 !important; color:var(--ds-c-46647a) !important; position:relative !important; padding-left:2px !important; }
.mc-core li::before { content:"·"; color:var(--ds-c-19c9c2); font-weight:700; margin-right:4px; }
.mc-scene { font-size:11px !important; color:var(--ds-c-64748b) !important; margin:auto 0 4px !important; line-height:1.4 !important; padding-top:4px !important; }
.mc-foot { display:flex; align-items:center; justify-content:space-between; margin-top:8px !important; }

.input-hint { font-size:12px !important; color:var(--ds-c-64748b) !important; line-height:1.5 !important; margin:6px 2px 0 !important; }

.mc-unit { font-size:12px !important; font-weight:500 !important; color:var(--ds-c-64748b) !important; margin-left:1px !important; }

/* ===== 首页打磨轮（2026-10-11）· 去实线框 / 输入框减薄 / 压到一屏 ===== */
/* 1) 输入框去掉实线边框，只用柔和阴影撑出层次 */
.input-area .input-box, .input-box {
    border: none !important;
    box-shadow: 0 1px 2px rgba(15,42,61,.04), 0 10px 26px rgba(15,42,61,.07) !important;
    padding: 11px 15px 10px !important;
    border-radius: 12px !important;
    background: var(--ds-c-ffffff) !important;
}
.input-area .input-box:focus-within, .input-box:focus-within {
    border: none !important;
    box-shadow: 0 1px 2px rgba(15,42,61,.04), 0 12px 30px rgba(25,201,194,.16) !important;
}
/* 2) 内层 textarea 不再画第二个框（原来是框套框） */
.input-box textarea, textarea {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    outline: none !important;
}
.input-box textarea:focus, textarea:focus, textarea:focus-visible {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}
/* 3) 输入框减薄 */
.input-box textarea, textarea {
    min-height: 70px !important;
    line-height: 1.6 !important;
    margin-top: 4px !important;
    padding: 2px 0 0 !important;
}
.input-directions { padding-bottom: 7px !important; }
.input-hint { margin: 4px 2px 0 !important; }
.input-actions { margin-top: 7px !important; }
.agree-row { margin-top: 7px !important; }
/* 4) 压纵向间距，争取一屏放下 */
.welcome-area { padding-top: 0 !important; }
.welcome-logo { margin: 0 !important; }
.welcome-logo img, .wb-mark { height: 40px !important; max-height: 40px !important; }
.wb-cn { font-size: 20px !important; line-height: 1.25 !important; margin-bottom: 0 !important; }
.wb-en { font-size: 12px !important; margin-top: 2px !important; }
.welcome-brand-block { margin-top: 4px !important; margin-bottom: 2px !important; }
.input-area { margin-top: 9px !important; }
.mode-cards { margin-top: 9px !important; }
.mode-card { padding: 12px 14px 11px !important; }
footer, .zd-footer, .portal-footer { margin-top: 2px !important; padding-top: 4px !important; }

/* ===== 首页打磨轮 2（2026-10-11）· 输入框做大做舒服（实测有余量 92px）===== */
.input-box textarea, textarea {
    min-height: 132px !important;
    line-height: 1.7 !important;
    padding: 4px 2px 2px !important;
}
.input-area .input-box, .input-box {
    padding: 8px 10px 9px !important;
    box-shadow: 0 1px 2px rgba(15,42,61,.03), 0 12px 32px rgba(15,42,61,.08) !important;
    border-radius: 16px !important;
}
.input-area .input-box:focus-within, .input-box:focus-within {
    box-shadow: 0 1px 2px rgba(15,42,61,.03), 0 14px 36px rgba(25,201,194,.18) !important;
}
.input-directions { padding-bottom: 9px !important; }
.input-hint { margin: 6px 2px 0 !important; }
.input-actions { margin-top: 9px !important; }
/* 余量回收：卡区与页脚各让一点，保证仍是一屏 */
.mode-cards { margin-top: 8px !important; }
.mode-card { padding: 11px 14px 10px !important; }
footer, .zd-footer, .portal-footer { margin-top: 0 !important; padding-top: 2px !important; }
.zd-footer .ft-nav { margin-bottom: 8px !important; }

/* ===== 打磨轮3（2026-10-11）· 布局比例 + 多设备适配 ===== */
html { height: auto !important; }
body {
  display: flex !important; flex-direction: column !important;
  min-height: 100vh !important; overflow-y: auto !important;
}
.app { flex: 1 1 auto !important; min-height: 0 !important; display: flex !important; }
.main { display: flex !important; flex-direction: column !important; flex: 1 1 auto !important; min-height: 0 !important; }
.main-header { flex: 0 0 auto !important; }
/* 关键：上下 auto 边距 → 内容在「页头与页脚之间」垂直居中（内容过高时自动归零、不会截顶） */
.welcome-area {
  flex: 0 1 auto !important;
  margin-block: auto !important;
  display: flex !important; flex-direction: column !important; align-items: center !important;
  gap: 16px !important; padding-block: 10px !important;
}
.welcome-logo, .welcome-brand-block, .input-area, .mode-cards {
  margin-top: 0 !important; margin-bottom: 0 !important;
}
.zd-footer { flex: 0 0 auto !important; margin-top: 0 !important; }

/* —— 大屏 / 台式大显示器：内容放大一档，别显得小气 —— */
@media (min-width: 1536px) {
  .input-area { max-width: 780px !important; } .mode-cards { max-width: 780px !important; }
  .wb-mark { height: 46px !important; }
  .wb-cn { font-size: 20px !important; }
  .wb-en { font-size: 13px !important; }
  .input-box textarea { min-height: 150px !important; }
  .mode-card { padding: 13px 16px 12px !important; }
  .welcome-area { gap: 18px !important; }
}
/* —— 常规笔记本 1280~1535 —— */
@media (min-width: 1280px) and (max-width: 1535px) {
  .input-area { max-width: 780px !important; } .mode-cards { max-width: 780px !important; }
  .input-box textarea { min-height: 138px !important; }
}
/* —— 矮屏笔记本（1366x768 / 1280x800）：压扁保证一屏 —— */
@media (max-height: 820px) and (min-width: 1025px) {
  .welcome-area { gap: 10px !important; }
  .wb-mark { height: 34px !important; }
  .wb-cn { font-size: 16px !important; }
  .wb-en { font-size: 11px !important; }
  .input-area .input-box, .input-box { padding: 13px 16px 11px !important; }
  .input-box textarea { min-height: 100px !important; }
  .input-directions { padding-bottom: 7px !important; }
  .mode-card { padding: 10px 13px 9px !important; }
}
/* —— 平板：卡 2×2 —— */
@media (max-width: 1024px) {
  .input-area { max-width: 780px !important; } .mode-cards { max-width: 94vw !important; }
  .mode-cards { grid-template-columns: repeat(2, 1fr) !important; }
  .input-box textarea { min-height: 122px !important; }
}
/* —— 手机：单列、放开滚动 —— */
@media (max-width: 640px) {
  .welcome-area { gap: 12px !important; padding-block: 8px 18px !important; }
  .input-area { max-width: 100% !important; } .mode-cards { max-width: 100% !important; }
  .mode-cards { grid-template-columns: 1fr !important; }
  .input-box textarea { min-height: 118px !important; }
  .wb-mark { height: 34px !important; }
  .wb-cn { font-size: 20px !important; }
}
@media (max-width: 380px) {
  .wb-mark { height: 30px !important; }
  .wb-cn { font-size: 16px !important; }
  .input-box textarea { min-height: 104px !important; }
}

/* ===== 打磨轮4（2026-10-11）· 按高度分档，保证桌面各尺寸一屏 ===== */
.welcome-area { gap: 12px !important; padding-block: 2px !important; }
.input-box textarea { min-height: 126px !important; }
@media (min-width: 1536px) { .input-area { max-width: 780px !important; } .mode-cards { max-width: 780px !important; } }
@media (min-width: 1280px) and (max-width: 1535px) { .input-area { max-width: 780px !important; } .mode-cards { max-width: 780px !important; } }
/* 高屏（1080p 等）放大一档 */
@media (min-height: 1000px) {
  .welcome-area { gap: 20px !important; padding-block: 12px !important; }
  .input-box textarea { min-height: 156px !important; }
  .wb-mark { height: 48px !important; }
  .wb-cn { font-size: 20px !important; }
  .wb-en { font-size: 13px !important; }
  .mode-card { padding: 13px 16px 12px !important; }
}
/* 矮屏压缩 */
@media (max-height: 870px) {
  .welcome-area { gap: 10px !important; padding-block: 0 !important; }
  .input-box textarea { min-height: 112px !important; }
  .wb-mark { height: 36px !important; }
  .wb-cn { font-size: 20px !important; }
}
/* 更矮（≤800，含 1366x768 / 1280x800）再压一档 */
@media (max-height: 800px) and (min-width: 1025px) {
  .main-header { min-height: 52px !important; max-height: 52px !important; }
  .welcome-area { gap: 8px !important; }
  .input-box textarea { min-height: 92px !important; }
  .wb-mark { height: 30px !important; }
  .wb-cn { font-size: 16px !important; }
  .wb-en { font-size: 11px !important; }
  .input-area .input-box, .input-box { padding: 11px 14px 10px !important; }
  .input-directions { padding-bottom: 5px !important; }
  .input-hint { margin: 4px 2px 0 !important; }
  .input-actions { margin-top: 6px !important; }
  .agree-row { margin-top: 5px !important; }
  .mode-card { padding: 9px 12px 8px !important; }
  .ft-disclaimer { font-size: 12px !important; line-height: 1.5 !important; }
  .ft-company { font-size: 12px !important; line-height: 1.5 !important; }
}

/* ===== 打磨轮5（2026-10-11）· 矮屏再收 12px，1366x768 也一屏 ===== */
@media (max-height: 800px) and (min-width: 1025px) {
  .welcome-area { gap: 7px !important; }
  .input-box textarea { min-height: 86px !important; }
  .wb-mark { height: 28px !important; }
  .input-area .input-box, .input-box { padding: 10px 14px 9px !important; }
  .mode-card { padding: 8px 12px 7px !important; }
  .ft-disclaimer, .ft-company { font-size: 12px !important; }
}

/* ===== 首页交互打磨（2026-10-11）· 类型引导 / 上传入口合并 / 协议更醒目 ===== */
.type-tip { font-size: 12px !important; color: var(--ds-c-64748b) !important; margin-left: 2px !important; }
.type-tip b { color: var(--ds-c-0e7490) !important; font-weight: 600 !important; }

.upload-wrap { position: relative !important; display: inline-flex !important; align-items: center !important; }
.upload-wrap .upload-main { padding-right: 11px !important; }
.upload-caret { border: none !important; background: var(--ds-c-eff4f8) !important; color: var(--ds-c-334e63) !important;
  border-radius: 8px !important; width: 24px !important; height: 26px !important; margin-left: 4px !important;
  cursor: pointer !important; font-size: 11px !important; line-height: 1 !important; }
.upload-caret:hover { background: var(--ds-c-e2e8f0) !important; }
.upload-menu { display: none; position: absolute !important; left: 0 !important; top: calc(100% + 6px) !important;
  z-index: 60 !important; background: var(--ds-c-fff) !important; border: 1px solid var(--ds-c-e6edf3) !important; border-radius: 12px !important;
  box-shadow: 0 14px 36px rgba(15,42,61,.14) !important; padding: 6px !important; min-width: 210px !important; }
.upload-menu.open { display: block !important; }
.upload-menu a { display: block !important; padding: 9px 12px !important; border-radius: 8px !important;
  color: var(--ds-c-334e63) !important; font-size: 13px !important; cursor: pointer !important; text-decoration: none !important; white-space: nowrap !important; }
.upload-menu a:hover { background: var(--ds-c-f1f7f8) !important; color: var(--ds-c-0e7490) !important; }

.agree-row { font-size: 14px !important; color: var(--ds-c-334e63) !important; gap: 9px !important; margin-top: 11px !important;
  padding: 9px 12px !important; background: var(--ds-c-f7fafc) !important; border-radius: 8px !important; }
.agree-row input[type="checkbox"] { width: 18px !important; height: 18px !important; }
.agree-row.miss { background: var(--ds-c-fff6e8) !important; box-shadow: 0 0 0 2px rgba(217,119,6,.28) !important; animation: zdShake .42s ease; }
@keyframes zdShake { 0%,100% { transform: translateX(0); } 25% { transform: translateX(-3px); } 75% { transform: translateX(3px); } }
@media (max-width: 640px) {
  .upload-menu { min-width: 178px !important; }
  .agree-row { font-size: 13px !important; }
  .type-tip { display: block !important; margin-top: 4px !important; }
}

/* ===== 首页交互打磨2（2026-10-11）· 900 高屏回收 23px，保证仍是一屏 ===== */
@media (min-height: 880px) and (max-height: 999px) {
  .agree-row { padding: 6px 12px !important; }
  .welcome-area { gap: 9px !important; }
  .input-actions { margin-top: 7px !important; }
  .mode-cards { margin-top: 5px !important; }
  .zd-footer, footer { padding-top: 0 !important; margin-top: 0 !important; }
}

/* ===== 首页交互打磨3（2026-10-11）· 协议行不加高 + 引导语不折行 ===== */
.agree-row {
  padding: 0 0 0 10px !important;
  background: transparent !important;
  border-radius: 0 !important;
  border-left: 3px solid rgba(25,201,194,.55) !important;
  font-size: 14px !important; color: var(--ds-c-334e63) !important; gap: 9px !important; margin-top: 9px !important;
}
.agree-row.miss { background: var(--ds-c-fff6e8) !important; border-left-color: var(--ds-c-d97706) !important; }
.type-tip { white-space: nowrap !important; }
@media (max-width: 640px) { .type-tip { white-space: normal !important; display: block !important; margin-top: 4px !important; } }

/* ===== 首页交互打磨4（2026-10-11）· 矮屏(≤820)收口：引导语隐藏 + 间距微收 ===== */
@media (max-height: 820px) and (min-width: 1025px) {
  .type-tip { display: none !important; }
  .welcome-area { gap: 6px !important; }
  .mode-cards { margin-top: 4px !important; }
  .input-actions { margin-top: 5px !important; }
  .agree-row { margin-top: 7px !important; }
}

/* ===== 2026-10-11 全站页脚统一 ===== */
.zd-ft { text-align: center !important; padding: 18px 20px 22px !important; margin-top: 18px !important;
  border-top: 1px solid var(--ds-c-e8edf3) !important; background: transparent !important;
  color: var(--ds-c-5b7a91) !important; font-size: 13px !important; line-height: 1.9 !important; }
.zd-ft .ft-nav { display: flex !important; flex-wrap: wrap !important; justify-content: center !important;
  gap: 4px 22px !important; margin: 0 0 10px !important; padding: 0 !important; }
.zd-ft .ft-nav a { color: var(--ds-c-5b7a91) !important; text-decoration: none !important; font-size: 13px !important; white-space: nowrap !important; }
.zd-ft .ft-nav a:hover { color: var(--ds-c-0e7490) !important; }
.zd-ft .ft-company { color: var(--ds-c-5b7a91) !important; font-size: 13px !important; margin-bottom: 4px !important; }
.zd-ft .ft-company a { color: var(--ds-c-5b7a91) !important; text-decoration: none !important; }
.zd-ft .ft-company a:hover { color: var(--ds-c-0e7490) !important; }
.zd-ft .ft-sep { margin: 0 8px !important; color: var(--ds-c-cbd5dd) !important; }
.zd-ft .ft-disclaimer { color: var(--ds-c-64748b) !important; font-size: 12px !important; }
@media (max-width: 640px) {
  .zd-ft { padding: 14px 14px 18px !important; }
  .zd-ft .ft-nav { gap: 4px 14px !important; }
  .zd-ft .ft-sep { margin: 0 5px !important; }
}

/* ===== 2026-10-11 侧栏登录账号块必须贴在侧栏最底部（原来底部留了 98px，把它顶了上来） ===== */
.sidebar { height: 100vh !important; }
.sidebar .sidebar-nav { flex: 1 1 auto !important; min-height: 0 !important; }
.sidebar .sidebar-footer { margin-top: auto !important; padding: 12px 12px 14px !important; }
.sidebar .user-card { margin-bottom: 0 !important; }

/* ===== 2026-10-11 侧栏改为固定悬浮 =====
   之前 .app 被适配 CSS 改成 height:auto，侧栏跟着内容长到整页高，
   账号块被推到整页底部（停在页面顶部时看不到）。
   现在把侧栏钉死在整个视口上，账号块永远贴在屏幕左下角。 */
body.side-open .sidebar {
  position: fixed !important; left: 0 !important; top: 0 !important; bottom: 0 !important;
  width: 280px !important; height: 100vh !important; z-index: 60 !important;
  display: flex !important; flex-direction: column !important; overflow: hidden !important;
}
body.side-open .main { margin-left: 280px !important; }
.sidebar .sidebar-nav { flex: 1 1 auto !important; overflow-y: auto !important; min-height: 0 !important; }
.sidebar .sidebar-footer { margin-top: auto !important; flex: 0 0 auto !important; padding: 12px 12px 14px !important; }
.sidebar .user-card { margin-bottom: 0 !important; }
@media (max-width: 900px) {
  body.side-open .sidebar { width: 240px !important; }
  body.side-open .main { margin-left: 240px !important; }
}

/* ===== 2026-10-11 页脚链接行统一样式：链接行居中；公司行/声明行靠左 ===== */
.zd-footer .ft-nav, .zd-ft .ft-nav, footer .ft-nav, .ft-nav {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: auto !important;
  max-width: 100% !important;
}
.zd-footer, .zd-ft, footer { text-align: center !important; }
.ft-company, .ft-disclaimer, .ft-beian { text-align: center !important; }
.ft-company { justify-content: center !important; }

/* ===== 2026-10-11 侧栏固定后，页脚要一起让位 =====
   页脚在 .app 之外、按整页宽度居中，左侧 280px 会被固定侧栏盖住。 */
body.side-open .zd-footer, body.side-open .zd-ft, body.side-open footer.zd-footer { margin-left: 280px !important; }
@media (max-width: 900px) { body.side-open .zd-footer, body.side-open .zd-ft, body.side-open footer.zd-footer { margin-left: 240px !important; } }

/* ===== 2026-10-11 登录后精简顶部 =====
   侧栏已有「DeepSorter 深度整理工作台」品牌，主区顶部再放一遍
   「诊段 ZHENDUAN / 深度整理 · 消费纠纷材料整理」是重复信息，登录后隐藏。 */
body.zd-logged .main-header-left { display: none !important; }
body.zd-logged .main-header { justify-content: flex-end !important; }

/* 上传按钮 / 下拉箭头 / 开始按钮：同一高度 38，同一圆角 10 */
.input-tag{min-height:38px !important;padding:0 14px !important;display:inline-flex !important;align-items:center;gap:6px;border-radius:8px !important;font-size:14px !important}
.upload-caret{min-height:38px !important;width:32px !important;display:inline-flex;align-items:center;justify-content:center;border-radius:8px !important}
.send-btn{min-height:38px !important;padding:0 24px !important;font-size:14px !important;border-radius:8px !important;display:inline-flex;align-items:center;gap:6px}
/* 上传菜单三项：等高、图标与文字对齐 */
.upload-menu a{min-height:38px !important;display:flex !important;align-items:center !important;gap:8px;padding:0 14px !important;font-size:14px !important;line-height:1.4}
/* 档位卡：清单区固定高度，价格行贴底，三张卡的每一行都对齐 */
.mode-card{display:flex !important;flex-direction:column}
.mc-core{min-height:80px !important}
.mc-scene{margin-top:auto !important}
.mc-foot{margin-top:6px !important}
.mode-price{font-size:20px;font-weight:700}

/* 顶栏去掉「诊段」文字后：图标与产品名之间留 12px，标题对齐基线 */
.main-header-left{gap:12px !important;align-items:center}
.main-header-left .wb-home{margin-right:0 !important}
.main-header-left h1{font-size:20px !important;line-height:1.3}
.main-header-left .subtitle{font-size:13px !important}

/* 一列到底：输入卡、信任行、价格卡共用同一列宽，改一处全动 */
.welcome-area { --col: 772px; padding-bottom: 0 !important; }
@media (min-width: 1920px) { .welcome-area { padding-top: 12px !important; } }
.ds-trust { margin-top: 10px !important; }
.mode-cards { margin-top: 10px !important; }
.input-area, .ds-trust, .mode-cards { max-width: var(--col) !important; width: 100% !important; margin-left: auto !important; margin-right: auto !important; }
@media (min-width: 1920px) { .welcome-area { --col: 1040px; } }
@media (min-width: 2400px) { .welcome-area { --col: 1120px; } }

/* 列内容垂直居中：上下均衡，不再上满下空 */
.welcome-area { justify-content: center !important; padding-top: 0 !important; padding-bottom: 0 !important; }
.welcome-area > .mode-cards { margin-bottom: 0 !important; }

/* 首页 → 登录/注册 走跨页淡变，不再白闪 */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: vtOutH .16s ease both }
::view-transition-new(root) { animation: vtInH .24s ease both }
@keyframes vtOutH { from{opacity:1} to{opacity:0} }
@keyframes vtInH { from{opacity:0} to{opacity:1} }

.history-item{ align-items: center !important; }
.history-item .hi-main{ flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.history-item .hi-main .nm{ font-size: 12px !important; font-weight: 600; color: var(--ds-c-0b1f2a); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.history-item .hi-main .hi-sub{ font-size: 11px !important; color: var(--ds-c-7a8f9e); }
.history-item .tm{ font-size: 11px !important; color: var(--ds-c-a7b8c4) !important; }

/* 登录后：任何"登录/注册"按钮都不该出现 */
html.has-token .header-link-btn.cta,
html.has-token #topLoginBtn,
html.has-token a[href="/login.html"],
body.auth-in .header-link-btn.cta,
body.auth-in #topLoginBtn,
body.auth-in a[href="/login.html"]{ display: none !important; }

/* 刷新时不播放入场动画（观感上就是"闪"） */
.sidebar, .main-header, .welcome-area, footer, .zd-footer, .mode-card, .dsnav, .wk, .panel { animation: none !important; }
/* 登录态：首帧就显示侧栏（由 head 内联脚本打 has-token） */
html.has-token body .sidebar { display: flex !important; }
@media (max-width: 760px){
  html.has-token body .sidebar { display: none !important; }
  html.has-token body.side-open .sidebar { display: flex !important; position: fixed; left: 0; top: 0; bottom: 0;
    width: 82vw; max-width: 320px; z-index: 1200; box-shadow: 0 0 40px rgba(0,0,0,.28); }
}
html.has-token body.side-open .sidebar { display: flex !important; }
/* 首帧前不画内容，等布局稳定（仅 60ms，肉眼无感，避免跳） */

@media (max-width: 760px){
  html.has-token body .sidebar { display: none !important; }
  html.has-token.side-open body .sidebar, html.has-token body.side-open .sidebar {
    display: flex !important; position: fixed; left: 0; top: 0; bottom: 0;
    width: 84vw; max-width: 320px; z-index: 1200; box-shadow: 0 0 40px rgba(0,0,0,.3); }
  html, body { display: block !important; height: auto !important; overflow-x: hidden !important; overflow-y: auto !important; }
  .app, .main { width: 100% !important; max-width: 100% !important; height: auto !important; min-height: 0 !important; }
}

@media (max-width: 760px){
  /* MOBILE_20261022：手机端不显示侧栏（历史进个人中心看），主内容全宽 */
  html.has-token body .sidebar,
  html.has-token body.side-open .sidebar,
  html.has-token.side-open body .sidebar { display: none !important; }
  body { overflow-x: hidden !important; }
  .app, .main { width: 100% !important; max-width: 100% !important; }
  .welcome-area { padding: 10px 12px 16px !important; }
  .input-area, .mode-cards, .plan-cards { width: 100% !important; max-width: 100% !important; }
  .mode-cards { grid-template-columns: 1fr !important; }
  .mode-card { width: 100% !important; }
}

@media (max-width: 760px){
  .app{ display:block !important; }
  .main, body.side-open .main{ margin:0 !important; width:100% !important; max-width:100% !important; }
  body.side-open footer, body.side-open .zd-footer, body.side-open .zd-ft{ margin-left:0 !important; }
  .welcome-area{ width:100% !important; max-width:100% !important; padding:8px 12px 14px !important; box-sizing:border-box; }
  .input-box, .mode-cards, .ds-trust, .plan-cards{ width:100% !important; max-width:100% !important; box-sizing:border-box; }
  .main-header{ padding:8px 12px !important; }
  footer, .zd-footer{ padding:10px 12px !important; }
}

@media (max-width: 760px){
  .tp-chips{ display:flex !important; flex-wrap:wrap !important; gap:6px !important; overflow:visible !important; }
  .tp-chip{ font-size:12px !important; padding:6px 10px !important; white-space:nowrap; }
  .type-panel, .input-tags, .input-directions{ max-width:100% !important; }
  .direction-tag{ font-size:12px !important; max-width:100% !important; }
  .mode-cards{ grid-template-columns:1fr !important; }
  .mode-card{ min-width:0 !important; }
  .input-box textarea{ font-size:13px !important; line-height:1.7 !important; }
  .ck-line, .agree-line, .consent-line{ font-size:11px !important; line-height:1.6 !important; }
  .agree-line a, .ck-line a{ font-size:11px !important; }
  .welcome-area{ padding-left:10px !important; padding-right:10px !important; }
  .plan-cards, .ds-trust{ flex-wrap:wrap !important; }
  *, .welcome-area, .input-area, .input-box, .mode-cards, .plan-cards { box-sizing: border-box !important; }
  .welcome-area, .input-area, .input-box, .mode-cards, .plan-cards { width:100% !important; max-width:100% !important; }
  .agree, .agree-row, .mc-agree { white-space: normal !important; overflow-wrap: anywhere !important; }
  .agree-row, .mc-agree, .cf-check{ display:flex !important; flex-wrap:wrap !important; align-items:flex-start !important; gap:4px 6px !important; padding-right:14px !important; white-space:normal !important; }
  .agree-row span, .mc-agree span, .cf-check span{ display:inline !important; white-space:normal !important; word-break:break-word !important; }
  .agree-row input, .mc-agree input{ flex:0 0 auto; margin-top:3px; }
  .agree-row, .mc-agree{ display:block !important; white-space:normal !important; line-height:1.75 !important; word-break:break-word; padding-right:6px; }
  .agree-row span, .mc-agree span{ display:inline !important; white-space:normal !important; }
  .mc-agree{ font-size:11px !important; }

}

/* 顶栏统一：与个人中心同一套字号与颜色 */
body, .main-header-left h1, .main-header-left .subtitle, .header-link-btn, .sidebar, .nav-item, .new-btn, .user-info b, .user-info small{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Segoe UI",Roboto,Arial,sans-serif !important;
}
.main-header-left h1{ font-size:14px !important; font-weight:600 !important; letter-spacing:-.2px; }
.main-header-left .subtitle{ font-size:12px !important; color:var(--ds-c-7a8f9e) !important; }
.main-header-right .header-link-btn{
  height:32px !important; padding:0 12px !important; font-size:13px !important; font-weight:500 !important;
  border-radius:8px !important; color:var(--ds-c-3e5766) !important; border:1px solid var(--ds-c-e7eef3) !important; background:var(--ds-c-fff) !important;
  display:inline-flex !important; align-items:center;
}
.main-header-right .header-link-btn:hover{ color:var(--ds-c-0b1f2a) !important; border-color:var(--ds-c-cfe0e8) !important; background:var(--ds-c-fbfdfe) !important; }
.main-header-right .header-link-btn.on{ color:var(--ds-c-0a6376) !important; border-color:var(--ds-c-cfe9ee) !important; background:var(--ds-c-eaf6f8) !important; font-weight:600 !important; }

/* 参照页主内容区 top = 72px（顶栏 62 + 10）；本页实测 275px，低了 203px。
     只把主内容区顶上去，不动宽度/卡片/字号。 */
  .main { padding-top: 10px !important; }
  .welcome-area { margin-top: 0 !important; padding-top: 0 !important; }

/* 矮屏（屏高≤960）压缩：只动高度相关项，不动宽度，保持 780 对齐 */
  @media (max-height: 960px) {
    .input-box textarea { height: 104px !important; min-height: 104px !important; }
    .input-box { padding: 7px 10px 8px !important; }
    .input-box > * { margin-top: 5px !important; }
    .input-directions { padding-bottom: 8px !important; }
    .main { padding-top: 6px !important; }
    .welcome-area { gap: 6px !important; padding-block: 2px 6px !important; }
    .welcome-area > .mode-cards, .mode-cards { margin-top: 18px !important; }
    .mode-card, .plan-card { padding: 11px 14px 10px !important; }
    .mode-card p, .plan-card p { margin-bottom: 3px !important; }
    footer.zd-footer, .zd-footer { padding-top: 6px !important; padding-bottom: 8px !important; }
  }
  @media (max-height: 830px) {
    .input-box textarea { height: 82px !important; min-height: 82px !important; }
    .welcome-logo, .welcome-area > .welcome-logo { margin-top: 0 !important; }
    .mode-card h4, .plan-card h4 { font-size: 14px !important; }
    .mode-card p, .plan-card p { font-size: 13px !important; line-height: 1.35 !important; }
    .mode-card li, .plan-card li { font-size: 12px !important; line-height: 1.35 !important; margin: 1.5px 0 !important; }
    .mode-cards { gap: 10px !important; }
  }

/* 用户要求：分组标题加粗 + 并到一行（不单独占行，省空间又保住分组） */
  .type-panel { padding: 10px 12px !important; max-height: 340px !important; }
  .tp-body { padding-top: 0 !important; }
  /* 每一组 = 一行：加粗标题在行首，选项紧跟其后，必要时换行 */
  .tp-group {
    display: flex !important; flex-wrap: wrap !important; align-items: baseline !important;
    gap: 6px 7px !important; margin: 0 0 8px !important; padding: 0 !important;
  }
  .tp-group > b {
    display: inline-block !important; flex: 0 0 auto !important;
    font-size: 13px !important; font-weight: 800 !important; color: var(--ds-c-0e7490) !important;
    letter-spacing: .3px !important; margin: 0 2px 0 0 !important; padding: 0 !important;
    line-height: 1.5 !important; white-space: nowrap !important;
  }
  .tp-group > b::after { content: "｜"; color: var(--ds-c-b9ccd8) !important; font-weight: 400 !important; margin-left: 4px !important; }
  .tp-chips { display: contents !important; }
  .tp-chip {
    display: inline-block !important; font-size: 12px !important; padding: 4px 10px !important;
    margin: 0 !important; line-height: 1.5 !important;
  }

/* 引导条：与输入区同一套尺寸，不新增页面区块 */
#guideBox{margin:12px 0 2px;border:1px solid var(--border,var(--ds-c-e2e8f0));border-radius:12px;background:var(--card,var(--ds-c-fff));padding:14px 16px;display:none}
#guideBox.on{display:block}
.gd-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.gd-title{font-size:14px;font-weight:600;color:var(--text,var(--ds-c-0f2a3d));display:flex;align-items:center;gap:8px}
.gd-dots{display:flex;gap:6px}
.gd-dot{width:6px;height:6px;border-radius:99px;background:var(--ds-c-e2e8f0)}
.gd-dot.on{background:var(--ds-c-0e7490);width:18px}
.gd-skip{font-size:13px;color:var(--ds-c-64748b);cursor:pointer;background:none;border:0}
.gd-q{font-size:14px;color:var(--text,var(--ds-c-0f2a3d));margin-bottom:10px;line-height:1.6}
.gd-chips{display:flex;flex-wrap:wrap;gap:8px}
.gd-chip{min-height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--ds-c-e2e8f0);background:var(--ds-c-f8fafc);color:var(--ds-c-334e63);font-size:13px;cursor:pointer;display:inline-flex;align-items:center;transition:.16s}
.gd-chip:hover{border-color:var(--ds-c-19c9c2);color:var(--ds-c-0e7490);background:var(--ds-c-f2fbfa)}
.gd-chip.on{background:var(--ds-c-0e7490);border-color:var(--ds-c-0e7490);color:var(--ds-c-fff);font-weight:600}
.gd-other{display:flex;gap:8px;margin-top:10px}
.gd-other input{flex:1;height:36px;border-radius:8px;border:1px solid var(--ds-c-e2e8f0);background:var(--ds-c-f8fafc);padding:0 12px;font-size:13px;color:var(--ds-c-0f2a3d)}
.gd-foot{display:flex;align-items:center;gap:10px;margin-top:12px}
.gd-next{height:36px;padding:0 18px;border-radius:8px;border:0;background:var(--ds-c-0e7490);color:var(--ds-c-fff);font-size:13px;font-weight:600;cursor:pointer}
.gd-next[disabled]{opacity:.45;cursor:not-allowed}
.gd-reopen{display:none;margin-top:8px;font-size:13px;color:var(--ds-c-0e7490);cursor:pointer;background:none;border:0;padding:0}
.gd-reopen.on{display:inline-block}
/* 对齐现有暗色主题 */
html[data-theme="dark"] #guideBox{background:var(--ds-c-121a21);border-color:var(--ds-c-22303c)}
html[data-theme="dark"] .gd-q,html[data-theme="dark"] .gd-title{color:var(--ds-c-e6edf3)}
html[data-theme="dark"] .gd-chip{background:var(--ds-c-16212b);border-color:var(--ds-c-243342);color:var(--ds-c-b6c6d4)}
html[data-theme="dark"] .gd-other input{background:var(--ds-c-16212b);border-color:var(--ds-c-243342);color:var(--ds-c-e6edf3)}

/* 结果弹层：三个动作一行排开、等宽等高，一屏可点到 */
.ds-gr-card{width:520px !important;max-width:94vw}
.ds-gr-actions{display:flex !important;flex-direction:row !important;gap:10px !important;margin-top:16px}
.ds-gr-actions .ds-gr-btn{flex:1 1 0;min-height:44px;display:inline-flex !important;align-items:center;justify-content:center;padding:0 14px !important;font-size:14px !important;white-space:nowrap}
.ds-gr-meta{font-size:13px}
.ds-gr-tip{font-size:13px !important;line-height:1.7 !important;margin-top:12px}
.ds-gr-close{margin-top:10px;font-size:13px}
@media (max-width:560px){.ds-gr-actions{flex-direction:column}}

#mcMask{position:fixed;inset:0;background:rgba(11,34,51,.45);display:flex;align-items:center;justify-content:center;z-index:9999}
#mcMask .mc-box{width:min(520px,92vw);background:var(--ds-c-fff);border-radius:16px;padding:22px 24px;box-shadow:0 18px 48px rgba(11,34,51,.22);font-family:inherit}
#mcMask h3{margin:0 0 6px;font-size:20px;color:var(--ds-c-0b2233)}
#mcMask .mc-sub{margin:0 0 12px;font-size:13px;color:var(--ds-c-54708a);line-height:1.6}
#mcMask .mc-list{list-style:none;margin:0 0 12px;padding:0;font-size:14px;color:var(--ds-c-334e63)}
#mcMask .mc-list li{padding:6px 0 6px 22px;position:relative;border-bottom:1px dashed var(--ds-c-edf1f5)}
#mcMask .mc-list li:before{position:absolute;left:0;top:6px;font-size:13px}
#mcMask .mc-list li.ok:before{content:"✓";color:var(--ds-c-12a05c)}
#mcMask .mc-list li.miss:before{content:"!";color:var(--ds-c-e8890c);font-weight:700}
#mcMask .mc-warn{margin:0 0 12px;font-size:13px;color:var(--ds-c-b45309);background:var(--ds-c-fff7e8);border:1px solid var(--ds-c-fde3b8);border-radius:8px;padding:8px 10px;line-height:1.6}
#mcMask .mc-agree{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--ds-c-0b2233);margin:6px 0 16px}
#mcMask .mc-btns{display:flex;gap:10px;justify-content:flex-end}
#mcMask button{height:40px;padding:0 18px;border-radius:8px;border:1px solid var(--ds-c-dee5ec);background:var(--ds-c-fff);color:var(--ds-c-334e63);font-size:14px;cursor:pointer}
#mcMask button.mc-ok{background:var(--ds-c-0e6b8a);border-color:var(--ds-c-0e6b8a);color:var(--ds-c-fff)}
#mcMask button.mc-ok:disabled{opacity:.45;cursor:not-allowed}

/* 版面 V3：body 纵向弹性（app 占满剩余高度、页脚独立一行），内容区自适应，页脚永不压内容 */
@media (min-width: 1100px) and (min-height: 900px) {
  html { height: 100% !important; overflow: hidden !important; }
  body { height: 100vh !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; }
  .app { flex: 1 1 auto !important; height: auto !important; min-height: 0 !important; }
  .sidebar { height: 100% !important; }
  .main { height: 100% !important; display: flex !important; flex-direction: column !important;
          min-height: 0 !important; overflow: hidden !important; }
  .main-header { flex: 0 0 auto !important; }
  .welcome-area { flex: 1 1 auto !important; min-height: 0 !important; overflow: hidden !important;
                  justify-content: flex-start !important; padding: 6px 24px 4px !important; }
  footer, .zd-footer { flex: 0 0 auto !important; margin: 0 !important; padding: 10px 20px 12px !important; }
}
@media (max-width: 1099px), (max-height: 899px) {
  html, body { height: auto !important; overflow-y: auto !important; }
  body { display: block !important; }
  .app, .main { height: auto !important; min-height: 100vh !important; }
  .welcome-area { overflow: visible !important; }
}
footer, .zd-footer {
  position: static !important; left: auto !important; right: auto !important;
  bottom: auto !important; top: auto !important; margin: 0 !important;
  background: transparent !important; border-top: none !important; box-shadow: none !important;
}
footer .ft-disclaimer, .zd-footer .ft-disclaimer { font-size: 12px !important; line-height: 1.6 !important; }
footer .ft-company, .zd-footer .ft-company { font-size: 12px !important; line-height: 1.6 !important; margin-top: 4px !important; }

/* 移动端适配（≤760px）：禁横向溢出，内容全宽，纵向滚动 */
@media (max-width: 760px) {
  html, body { width: 100% !important; max-width: 100% !important; overflow-x: hidden !important; height: auto !important; }
  body { display: block !important; }
  .app { display: block !important; width: 100% !important; height: auto !important; }
  .sidebar { display: none !important; }
  .main { width: 100% !important; min-width: 0 !important; height: auto !important; overflow: visible !important; }
  .main-header { padding: 10px 12px !important; gap: 6px !important; flex-wrap: wrap !important; }
  .main-header h1 { font-size: 20px !important; }
  .main-header .subtitle, .main-header-left .subtitle { display: none !important; }
  .main-header-right { gap: 4px !important; flex-wrap: wrap !important; justify-content: flex-start !important; width: 100% !important; margin-top: 6px !important; }
  .header-link-btn { padding: 6px 9px !important; font-size: 13px !important; }
  .welcome-area { padding: 8px 12px 10px !important; gap: 8px !important; overflow: visible !important; }
  .welcome-logo img, .welcome-area .wb-mark { width: 46px !important; height: 46px !important; }
  .input-area, .mode-cards, .plan-cards, .plan-card, .mode-card,
  .composer, .chat-box, .chat-input, .ds-trust, .cf-box, .card { width: auto !important; max-width: 100% !important; min-width: 0 !important; }
  .plan-card, .mode-card { flex: 1 1 100% !important; }
  .send-btn, .btn-primary { max-width: 100% !important; }
  footer, .zd-footer { padding: 10px 12px !important; }
  footer .ft-disclaimer, footer .ft-company { font-size: 11px !important; }
  img, svg, video { max-width: 100% !important; height: auto !important; }
}

/* 左上角品牌锁定：图标 + 英文主标 + 中文小字（去掉重复的中文大标与长副标） */
.main-header-left { display: flex !important; align-items: center !important; gap: 11px !important; }
.main-header-left .wb-home { display: flex; align-items: center; }
.main-header-left .wb-home img { height: 36px !important; width: auto !important; display: block; border-radius: 0; padding: 4px; box-sizing: border-box; }
.main-header-left .ds-lockup {
  display: flex !important; flex-direction: column !important; justify-content: center !important;
  line-height: 1.12 !important; gap: 3px !important; margin-top: -1px !important;
}
.main-header-left .ds-lockup b {
  font-size: 14px !important; font-weight: 600 !important; letter-spacing: .5px !important;
  color: var(--ds-c-0f2a3d) !important; font-family: -apple-system, "SF Pro Display", "Segoe UI", Roboto, Arial, sans-serif !important;
}
.main-header-left .ds-lockup em {
  font-style: normal !important; font-size: 12px !important; letter-spacing: 1px !important;
  color: var(--ds-c-7b94a6) !important; font-weight: 500 !important;
}
.main-header-left h1, .main-header-left .subtitle { display: none !important; }
.main-header-left h1::before { content: none !important; }
@media (max-width: 760px) {
  .main-header-left .wb-home img { height: 22px !important; }
  .main-header-left .ds-lockup b { font-size: 14px !important; }
  .main-header-left .ds-lockup em { font-size: 11px !important; letter-spacing: .12em !important; }
}/* ===== HOME_PASS_20261021：首页字号/颜色/段落统一（只管观感，不动布局尺寸） ===== */

/* 标题与副标 */
.welcome-area{ padding: 40px 24px !important; }
.welcome-brand-block .wb-cn{ font-size: 32px !important; font-weight: 600 !important; letter-spacing: 2px !important; color: var(--ds-c-0f2a3d) !important; background: none !important; -webkit-text-fill-color: var(--ds-c-0f2a3d) !important; }
.welcome-brand-block .wb-en{ font-size: 12px !important; color: var(--ds-muted) !important; letter-spacing: .14em !important; }
.welcome-brand, .welcome-area .welcome-brand{ font-size: 32px !important; letter-spacing: -.5px !important; }
.welcome-subtitle, .welcome-area .welcome-subtitle{ font-size: 14px !important; color: var(--ds-ink-3) !important; font-weight: 400 !important; letter-spacing: 0 !important; }

/* 输入框内文字与提示 */
.input-box textarea{ font-size: 14px !important; line-height: 1.75 !important; color: var(--ds-ink) !important; }
.input-hint{ font-size: 12px !important; color: var(--ds-muted) !important; line-height: 1.7 !important; margin-top: 8px !important; }
.direction-label{ font-size: 12px !important; color: var(--ds-muted) !important; }
.gd-reopen{ font-size: 12px !important; color: var(--ds-brand) !important; }
.agree{ font-size: 12px !important; color: var(--ds-muted) !important; }
.agree a{ color: var(--ds-brand) !important; }

/* 价格卡 */
.mode-card h4{ font-size: 14px !important; font-weight: 700 !important; color: var(--ds-ink) !important; }
.mode-card p{ font-size: 12px !important; line-height: 1.65 !important; color: var(--ds-muted) !important; }
.mode-card li{ font-size: 12px !important; line-height: 1.7 !important; color: var(--ds-ink-3) !important; }
.mode-price{ font-size: 20px !important; font-weight: 800 !important; color: var(--ds-brand) !important; }
.mode-price small, .mode-price em{ font-size: 12px !important; font-weight: 500 !important; color: var(--ds-muted) !important; font-style: normal !important; }
.mode-badge{ font-size: 11px !important; font-weight: 700 !important; padding: 2px 7px !important; }

/* 信任行与页脚 */
.ds-trust, .trust-line{ font-size: 12px !important; color: var(--ds-muted) !important; }
footer .ft-line1, footer .ft-line2, footer .ft-line3, footer .ft-line4,
.zd-footer .ft-line1, .zd-footer .ft-line2, .zd-footer .ft-line3, .zd-footer .ft-line4{
  font-size: 12px !important; color: var(--ds-muted) !important; line-height: 1.7 !important;
}
footer a, .zd-footer a{ color: var(--ds-ink-3) !important; }
footer a:hover, .zd-footer a:hover{ color: var(--ds-brand) !important; }

/* 侧栏 */
.sidebar-brand-text b{ font-size: 14px !important; }
.sidebar-brand-text small{ font-size: 11px !important; color: var(--ds-muted) !important; }
.new-btn{ font-size: 14px !important; font-weight: 600 !important; background: var(--ds-c-0e7490) !important; color: var(--ds-c-ffffff) !important; }
.history-item, .history-item .nm{ font-size: 13px !important; }
.history-item .tm, .history-group, .his-empty{ font-size: 11px !important; color: var(--ds-muted) !important; }
.user-info > b{ font-size: 13px !important; }
.user-info small{ font-size: 11px !important; color: var(--ds-muted) !important; }
.user-menu a{ font-size: 13px !important; }

/* 顶栏 */
.main-header-right .header-link-btn,
.main-header .main-header-right a.header-link-btn{ font-size: 14px !important; border: none !important; background: transparent !important; }

/* 类型选择面板 */
.type-panel{ margin-top: 10px !important; padding: 12px !important; max-height: 380px !important; }
.type-panel .tp-body{ padding-top: 4px !important; }
.tp-group{ margin-bottom: 10px !important; }
.tp-group:last-child{ margin-bottom: 0 !important; }
.tp-group .tp-title{ font-size: 13px !important; font-weight: 600 !important; margin-bottom: 6px !important; color: var(--ds-c-0f2a3d) !important; }
.tp-group .tp-item{ font-size: 12px !important; padding: 3px 10px !important; margin: 2px !important; border-radius: 8px !important; }

/* 主标题排版 */
.welcome-brand-block{ text-align: center !important; margin-bottom: 20px !important; }
.welcome-brand-block .wb-cn{ font-size: 32px !important; font-weight: 600 !important; letter-spacing: 4px !important; line-height: 1.3 !important; color: var(--ds-c-0f2a3d) !important; }
.welcome-brand-block .wb-en{ font-size: 20px !important; font-weight: 500 !important; letter-spacing: 2px !important; margin-top: 10px !important; color: var(--ds-c-7b94a6) !important; }

/* 左上角导航栏logo文字 */
.ds-lockup{ display: flex !important; flex-direction: column !important; justify-content: center !important; line-height: 1.2 !important; }
.ds-lockup b{ font-size: 14px !important; font-weight: 600 !important; color: var(--ds-c-0f2a3d) !important; letter-spacing: 0.5px !important; }
.ds-lockup em{ font-size: 11px !important; font-weight: 500 !important; color: var(--ds-c-7b94a6) !important; letter-spacing: 1px !important; margin-top: 1px !important; font-style: normal !important; }
.main-header-left .wb-home{ width: 36px !important; height: 36px !important; }
/* ============================================================
   诊段 · 深度整理 全站设备适配层  v20261011b
   作用：手机 / 平板 / 笔记本 / 台式 统一适配
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
html, body { max-width: 100%; }
body { overflow-x: hidden; }
img, video, canvas { max-width: 100%; }
a, p, li, td, th, h1, h2, h3, h4, span { overflow-wrap: anywhere; word-break: break-word; }

/* —— 表格：窄屏块级 + 横向滚动（覆盖页面自带的 min-width） —— */
@media (max-width: 900px) {
  table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  table th, table td { min-width: 0 !important; }
}

/* —— 平板 —— */
@media (max-width: 1024px) {
  .grid-4, .cols-4, .cards-4 { grid-template-columns: repeat(2, 1fr) !important; }
  .container, .wrap, .wrapper { max-width: 100% !important; }
}


/* —— 窄屏页头导航：自动换行，不挤破 —— */
@media (max-width: 760px) {
  header, .zd-header, .topbar, .site-header, .main-header { flex-wrap: wrap !important; }
  header nav, .zd-nav, header .nav, .topbar nav, .topbar .nav, .site-header nav, .main-header-right {
    flex-wrap: wrap !important; justify-content: flex-end !important;
    gap: 4px 12px !important; row-gap: 2px !important;
  }
  header nav a, .zd-nav a, .topbar .nav a, .main-header-right a { font-size: 13px !important; white-space: nowrap !important; }
}

/* —— 手机 —— */
@media (max-width: 640px) {
  body { font-size: 14px; }
  h1 { font-size: 1.45rem !important; line-height: 1.32 !important; }
  h2 { font-size: 1.18rem !important; line-height: 1.35 !important; }
  h3 { font-size: 1.04rem !important; }
  button, .btn, [class*="btn"], a[class*="btn"], input[type="submit"], input[type="button"] { min-height: 40px; }
  section, .section, .container, .wrap, .wrapper { padding-left: 14px !important; padding-right: 14px !important; }
  .grid-2, .grid-3, .grid-4, .cols-2, .cols-3, .cols-4, .cards-2, .cards-3, .cards-4 {
    grid-template-columns: 1fr !important;
  }
}

/* —— 有页脚的内容页：内容不足一屏时页脚贴底 —— */
body.zd-adapt-footer { display: flex; flex-direction: column; min-height: 100vh; }
body.zd-adapt-footer > footer,
body.zd-adapt-footer > .zd-footer,
body.zd-adapt-footer > .portal-footer { margin-top: auto !important; }
/* =========================================================================
   ui-unify.css — 全站排版与组件统一层（最后加载，只统一尺寸/节奏，不改结构）
   2026-10-19 深度整理平台
   原则：不动布局骨架，只让「同一层级的东西同一个尺寸」。
   ========================================================================= */
:root{
  --u-container: 1180px;
  --u-gap: 20px;
  --u-radius: 14px;
  --u-radius-sm: 10px;
  --u-h2: 28px;
  --u-h3: 20px;
  --u-body: 15.5px;
  --u-hint: 13.5px;
  --u-ctl-h: 40px;      /* 输入/按钮统一高度 */
  --u-ctl-h-sm: 28px;
  --u-sec: 64px;        /* 一级区块上下节奏 */
}

/* —— 正文字号阶梯：同一级文本全站一致 —— */
body{ font-size: var(--u-body); }

/* —— 容器：统一最大宽度，左右留白一致（只改上限，不改内距） —— */
.wrap, .container, .zd-wrap, .page-wrap{ max-width: var(--u-container); margin-left: auto; margin-right: auto; }

/* —— 区块标题：全站同一字号、同一间距 —— */
.sec-head h2, section > h2, .section-title, .box-head h2{
  font-size: var(--u-h2) !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  letter-spacing: .2px;
}
.sec-head{ margin-bottom: 18px; }
.sec-head p, .section-sub{ font-size: var(--u-body); line-height: 1.75; }

/* —— 卡片网格：同一行必须等高（消除一高一低） —— */
.grid, .cards, .card-grid, .mode-cards{
  display: grid;
  gap: var(--u-gap);
  align-items: stretch;      /* 关键：行内等高 */
}
.grid > *, .cards > *, .card-grid > *, .mode-cards > *{
  height: 100%;
  display: flex;
  flex-direction: column;
}
.card, .mode-card, .work-card{
  border-radius: var(--u-radius);
  height: 100%;
}
/* 卡片内部文字纵向排布，底部自然对齐，不再出现长短不一 */
.card > :last-child, .mode-card > :last-child{ margin-top: auto; }

/* —— 按钮：全站统一高度/圆角/字号（小按钮单独一档） —— */
.btn, button.btn, .header-link-btn, .cta, .primary-btn, .submit-btn, .action-btn{
  min-height: var(--u-ctl-h);
  padding-left: 22px;
  padding-right: 22px;
  border-radius: var(--u-radius-sm);
  font-size: 14px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  line-height: 1;
}
.btn-sm, .chip, .tag, .direction-tag, .pill{ min-height: var(--u-ctl-h-sm); border-radius: 999px; font-size: 14px; }

/* —— 表单控件：统一高度与圆角（不用实线边框，用柔和阴影） —— */
input[type="text"], input[type="tel"], input[type="password"], input[type="search"],
input[type="number"], input[type="email"], select, textarea{
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.5;
}
input[type="text"], input[type="tel"], input[type="password"], input[type="search"],
input[type="number"], input[type="email"], select{
  min-height: var(--u-ctl-h);
  padding: 0 14px;
}
textarea{ padding: 12px 14px; }

/* —— 一级区块上下留白统一 —— */
section.sec, .sec-block{ padding-top: var(--u-sec); padding-bottom: var(--u-sec); }

/* —— 页脚：与内容同宽，避免忽宽忽窄 —— */
footer, .zd-footer, .portal-footer{ margin-left: auto; margin-right: auto; }

/* —— 表格：统一行高与字号 —— */
table th, table td{ font-size: 14px; line-height: 1.6; }

/* —— 卡片内容：统一标题字号、正文限行、底部对齐（2026-10-19 案例页等高） —— */
.grid{ grid-auto-rows: 1fr; }
.grid > .card, .card-grid > .card{ display:flex; flex-direction:column; }
.grid > .card h3{ font-size:20px !important; line-height:1.45 !important; margin:0 0 10px !important; font-weight:700; }
.grid > .card p{ font-size:14px !important; line-height:1.72 !important; margin:0 0 10px; color:var(--u-body-2,var(--ds-c-456)); }
.grid > .card p:not(:last-child){ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.grid > .card > :last-child{ margin-top:auto; margin-bottom:0; }
[class*="tag"], [class*="badge"], .pill{ white-space:nowrap; }

/* —— 顶栏品牌图标：与小程序图标一致后统一到 32px，方图不变形 —— */
.zd-brand img, .wb-home img{ height:34px !important; width:34px !important; object-fit:contain !important; display:block }
.wb-mark, .welcome-logo img{ height:48px !important; max-height:48px !important; width:auto !important }
@media (max-width:900px){ .zd-brand img, .wb-home img{ height:28px !important } }
/* DS_THEME_20261020 — 与登录/注册页同一套调性：浅灰底、白卡、青绿主色、克制排版 */
:root {
  --ds-bg: #F5F8FA;
  --ds-card: #FFFFFF;
  --ds-border: #E6EDF3;
  --ds-text: #0A1A26;
  --ds-text-2: #40596B;
  --ds-muted: #6B8296;
  --ds-primary: #0E7490;
  --ds-primary-2: #0A5C70;
  --ds-soft: #EDF7F9;
  --ds-radius: 16px;
  --ds-shadow: 0 2px 6px rgba(10, 26, 38, .04), 0 14px 36px rgba(10, 26, 38, .06);
}

html, body {
  background: var(--ds-bg) !important;
  color: var(--ds-text) !important;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

/* 旧顶栏统一隐藏（全站导航由 ds-nav.js 提供） */
.ds-subtop, .ds-subtop-back, header.top, .top:not(.dsnav) { display: none !important; }

/* 版心与节奏 */
.wrap { max-width: 1180px !important; margin: 0 auto !important; padding: 34px 24px 64px !important; }
@media (max-width: 760px) { .wrap { padding: 20px 14px 48px !important; } }

/* 页头 */
.wrap .head, .wrap > .main-col > .head { margin-bottom: 26px !important; }
.wrap .head h1, .wrap h1 {
  font-size: clamp(26px, 2.3vw, 34px) !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  line-height: 1.32 !important;
  color: var(--ds-text) !important;
  margin: 0 0 10px !important;
}
.wrap .head h1 em, .wrap h1 em { font-style: normal !important; color: var(--ds-primary) !important; font-weight: 800 !important; }
.wrap .head p, .wrap > .head > p {
  font-size: clamp(13.5px, 1.05vw, 15.5px) !important;
  color: var(--ds-text-2) !important;
  line-height: 1.85 !important;
  margin: 0 !important;
  max-width: 880px;
}

/* 小节标题 */
.wrap h2, .wrap h3 {
  font-size: 20px !important; font-weight: 700 !important; color: var(--ds-text) !important;
  letter-spacing: .01em; margin: 30px 0 14px !important;
}

/* 卡片统一：白底、16 圆角、细描边、软阴影、悬停微抬 */
.zn-item, .deliver-card, .case-card, .lawyer-card, .lawyers-grid > *, .deliver-grid > *, .case-grid > *, .plan-compare {
  background: var(--ds-card) !important;
  border: 1px solid var(--ds-border) !important;
  border-radius: var(--ds-radius) !important;
  box-shadow: var(--ds-shadow) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.case-card:hover, .lawyer-card:hover, .lawyers-grid > *:hover, .deliver-card:hover {
  transform: translateY(-2px);
  border-color: var(--ds-c-cfe9ee) !important;
  box-shadow: 0 6px 14px rgba(10, 26, 38, .06), 0 18px 44px rgba(10, 26, 38, .08) !important;
}

/* 统计条 */
.stats .stat, .lawyer-stat {
  background: var(--ds-card) !important;
  border: 1px solid var(--ds-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 6px rgba(10,26,38,.04) !important;
}
.stats .stat b, .lawyer-stat b { color: var(--ds-primary) !important; font-weight: 800 !important; }
.stats .stat span, .lawyer-stat span { color: var(--ds-muted) !important; font-size: 12px !important; }

/* 标签 / 筛选 */
.chip, .lawyer-tag, .tag {
  border-radius: 999px !important;
  border: 1px solid var(--ds-border) !important;
  background: var(--ds-c-fff) !important;
  color: var(--ds-text-2) !important;
  font-size: 13px !important;
  padding: 6px 14px !important;
  transition: .15s;
}
.chip:hover, .lawyer-tag:hover { border-color: var(--ds-c-cfe9ee) !important; color: var(--ds-primary) !important; background: var(--ds-soft) !important; }
.chip.active, .chip.on { background: var(--ds-soft) !important; border-color: var(--ds-c-bfe4ea) !important; color: var(--ds-primary) !important; font-weight: 700 !important; }

/* 按钮 */
.wrap .btn, .wrap .cta, .wrap button.primary {
  border-radius: 12px !important;
  font-weight: 700 !important;
}
.wrap .btn-primary, .wrap .cta.primary {
  background: linear-gradient(135deg, var(--ds-primary), var(--ds-primary-2)) !important;
  color: var(--ds-c-fff) !important; border: none !important;
  box-shadow: 0 8px 20px rgba(14, 116, 144, .18) !important;
}

/* 表格 */
.wrap table { border-collapse: separate !important; border-spacing: 0; width: 100%; }
.wrap table th {
  background: var(--ds-c-f3f7fa) !important; color: var(--ds-text-2) !important;
  font-weight: 700 !important; font-size: 13px !important;
  padding: 12px 14px !important; border-bottom: 1px solid var(--ds-border) !important;
}
.wrap table td { padding: 12px 14px !important; border-bottom: 1px solid var(--ds-c-f0f4f7) !important; font-size: 14px !important; color: var(--ds-text-2) !important; }

/* 正文与声明块 */
.wrap p, .wrap li { color: var(--ds-text-2); }
.wrap strong { color: var(--ds-text); }
.zd-notice, .notice, .disclaimer {
  background: var(--ds-c-fbfdfe) !important; border: 1px solid var(--ds-border) !important;
  border-radius: var(--ds-radius) !important; padding: 20px 22px !important;
}

/* 页脚 */
footer, .footer { color: var(--ds-muted) !important; font-size: 12px !important; }


/* ===== 第二轮细化（2026-10-20）：页头左对齐、卡片内距、按钮统一、选中态强化 ===== */
.wrap .head, .wrap .head-flex { text-align: left !important; align-items: flex-start !important; }
.wrap .head p { margin-top: 2px !important; }

.lawyer-card { background: var(--ds-c-fff) !important; padding: 22px !important; }
.lawyer-card .actions { gap: 10px !important; margin-top: 16px !important; }
.lawyer-card .actions button, .lawyer-card .actions a.btn,
.lawyer-card button.more, .lawyer-card button.pick {
  height: 40px !important; border-radius: 8px !important; font-size: 14px !important;
  font-weight: 700 !important; cursor: pointer; transition: .18s; font-family: inherit;
}
.lawyer-card button.pick {
  background: linear-gradient(135deg, var(--ds-primary), var(--ds-primary-2)) !important;
  color: var(--ds-c-fff) !important; border: none !important;
  box-shadow: 0 6px 16px rgba(14,116,144,.20) !important;
}
.lawyer-card button.pick:hover { filter: brightness(1.06); }
.lawyer-card button.more {
  background: var(--ds-c-fff) !important; color: var(--ds-text-2) !important;
  border: 1px solid var(--ds-c-dce7ef) !important;
}
.lawyer-card button.more:hover { border-color: var(--ds-c-bfe4ea) !important; color: var(--ds-primary) !important; }

/* 选中标签更明确 */
.chip.active, .chip.on {
  background: var(--ds-soft) !important;
  border-color: var(--ds-c-8fd3dc) !important;
  color: var(--ds-primary) !important;
  box-shadow: inset 0 0 0 1px rgba(14,116,144,.15);
}

/* 卡片内信息层级 */
.lawyer-card .lawyer-name { font-size: 16px !important; font-weight: 800 !important; }
.lawyer-card .lawyer-info { color: var(--ds-muted) !important; line-height: 1.7 !important; }
.lawyer-card .lawyer-tags { gap: 8px !important; margin: 12px 0 !important; }
.lawyer-card .lawyer-stats { margin-top: 14px !important; gap: 10px !important; }

/* 报告样本页交付卡与对比表 */
.deliver-card { padding: 20px !important; }
.plan-compare { padding: 0 !important; overflow: hidden; }
.plan-compare-tb th { background: var(--ds-c-f3f7fa) !important; }


/* ===== 第三轮：全站导航样式锁定（防止页面旧样式覆盖 CTA 文字颜色） ===== */
.dsnav .dsn-links a { color: var(--ds-c-3d5a6e) !important; text-decoration: none !important; }
.dsnav .dsn-links a.on { color: var(--ds-c-0e7490) !important; font-weight: 700 !important; background: var(--ds-c-edf7f9) !important; border-color: var(--ds-c-cfe9ee) !important; }
.dsnav .dsn-links a.cta,
.dsnav .dsn-links a.cta:link,
.dsnav .dsn-links a.cta:visited,
.dsnav .dsn-links a.cta:hover {
  color: var(--ds-c-ffffff) !important;
  background: linear-gradient(135deg, var(--ds-c-0e7490), var(--ds-c-0a5c70)) !important;
  border: none !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}
.dsnav { z-index: 1200 !important; }


/* ===== 修正：交付卡四列挤压（2026-10-20）===== */
.deliver-card { padding: 18px !important; }
.deliver-card .dc-tier { display: flex !important; flex-wrap: wrap !important; align-items: baseline !important; gap: 6px 8px !important; }
.deliver-card .dc-tier > b { font-size: 16px !important; }
.deliver-card .dc-tag { font-size: 12px !important; padding: 2px 7px !important; border-radius: 8px !important; }
.deliver-card .dc-chap {
  flex-basis: 100% !important; margin-left: 0 !important; margin-top: 2px !important;
  font-size: 12px !important; padding: 2px 8px !important; line-height: 1.6 !important;
  white-space: normal !important;
}
.deliver-grid { gap: 14px !important; align-items: stretch !important; }


/* ===== 大屏适配（2026-10-20 第1块）：≥1920 放宽版心，收掉左右大片空白 ===== */
@media (min-width: 1920px) {
  .wrap { max-width: 1320px !important; padding-top: 30px !important; }
  .wrap .head { margin-bottom: 22px !important; }
  .zd-notice { padding: 24px 26px !important; }
  .zn-alert { font-size: 14px !important; }
  .zn-q { padding: 16px 18px !important; }
  .zn-q span { font-size: 13px !important; }
}
@media (min-width: 2400px) {
  .wrap { max-width: 1400px !important; }
}
/* STABLE_GUTTER_20261022：滚动条常驻，页面之间切换不再横向抖 15px */
html{ scrollbar-gutter: stable; }
/* 顶部栏去掉毛玻璃：backdrop-filter 会在滚动/首帧触发重绘闪烁 */
.dsnav, .main-header, .topbar{ backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
.dsnav{ background:var(--ds-c-fff) !important; }
/* 搜索框只留一层边框（组件层给 input 加过边框，造成双圈） */
.search-input input, .sidebar-search input{ border:none !important; background:transparent !important; box-shadow:none !important; outline:none !important; }
/* NO_WHITE_FLASH_20261022：任何页面首帧就是浅灰，不再白闪 */
html{ background:var(--ds-c-f5f8fa); }
html, body{ transition:none !important; }
/* DS_TOKENS_20261021
   全站统一视觉令牌：字体阶梯 / 行高 / 颜色 / 间距 / 圆角 / 阴影 / 按钮 / 输入框 / 表格
   加载位置：所有页面 </head> 前最后一个 <link>，保证在页面自带样式之后生效。
   纪律：只统一“观感”，不改各页布局尺寸（首页是一屏固定版，动尺寸会挤掉价格卡）。
*/

:root{
  /* 字体 */
  --ds-font: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Arial, sans-serif;
  --ds-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* 字号阶梯 */
  --ds-fs-h1: 26px;
  --ds-fs-h2: 20px;
  --ds-fs-h3: 16px;
  --ds-fs-body: 14px;
  --ds-fs-sm: 13px;
  --ds-fs-xs: 12.5px;

  /* 行高 */
  --ds-lh-tight: 1.35;
  --ds-lh: 1.6;
  --ds-lh-loose: 1.85;

  /* 颜色 */
  --ds-ink: #0B1F2A;
  --ds-ink-2: #3E5766;
  --ds-ink-3: #5C7386;
  --ds-muted: #7A8F9E;
  --ds-line: #E7EEF3;
  --ds-line-soft: #F1F5F8;
  --ds-surface: #FFFFFF;
  --ds-bg: #F6F9FB;
  --ds-brand: #0E7490;
  --ds-brand-dark: #0A5C70;
  --ds-brand-soft: #EDF7F9;

  /* 间距 */
  --ds-s1: 4px; --ds-s2: 8px; --ds-s3: 12px; --ds-s4: 16px;
  --ds-s5: 24px; --ds-s6: 32px; --ds-s7: 48px;

  /* 圆角 */
  --ds-r-sm: 8px; --ds-r: 10px; --ds-r-lg: 14px; --ds-r-xl: 18px; --ds-r-pill: 999px;

  /* 阴影 */
  --ds-sh-1: 0 1px 2px rgba(11,31,42,.05);
  --ds-sh-2: 0 1px 2px rgba(11,31,42,.04), 0 8px 24px rgba(11,31,42,.05);
  --ds-sh-3: 0 2px 4px rgba(11,31,42,.05), 0 14px 32px rgba(11,31,42,.09);
  --ds-ring: 0 0 0 3px rgba(14,116,144,.12);
}

/* 页面底色随文档本身铺满，切页时不会先闪白 */
html{ background:var(--ds-c-f6f9fb); }

/* ---------- 字体与基础排版 ---------- */
body{
  font-family: var(--ds-font);
  font-size: var(--ds-fs-body);
  line-height: var(--ds-lh);
  color: var(--ds-ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
h1{ font-size: var(--ds-fs-h1); line-height: var(--ds-lh-tight); font-weight: 800; letter-spacing: -.01em; }
h2{ font-size: var(--ds-fs-h2); line-height: var(--ds-lh-tight); font-weight: 800; }
h3{ font-size: var(--ds-fs-h3); line-height: var(--ds-lh-tight); font-weight: 700; }
p, li{ line-height: var(--ds-lh); }
small{ font-size: var(--ds-fs-xs); }
code, pre, .mono{ font-family: var(--ds-font-mono); font-variant-numeric: tabular-nums; }

/* 数字统一等宽，金额不跳位 */
.price, .amount, .num, .kpi b{ font-variant-numeric: tabular-nums; }

/* ---------- 按钮（统一高度与形状，不改页面原有配色类名） ---------- */
.ds-btn, button.ds-btn{
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 40px; padding: 0 18px; border-radius: var(--ds-r);
  font-family: var(--ds-font); font-size: var(--ds-fs-sm); font-weight: 600;
  border: 1px solid var(--ds-line); background: var(--ds-c-fff); color: var(--ds-ink-2);
  cursor: pointer; transition: .18s; text-decoration: none; white-space: nowrap;
}
.ds-btn:hover{ border-color: var(--ds-c-cfe9ee); color: var(--ds-brand); }
.ds-btn.primary{
  background: linear-gradient(135deg, var(--ds-brand), var(--ds-brand-dark));
  border: none; color: var(--ds-c-fff); box-shadow: 0 6px 16px rgba(14,116,144,.2);
}
.ds-btn.primary:hover{ filter: brightness(1.06); color: var(--ds-c-fff); }
.ds-btn.ghost{ background: transparent; border-color: transparent; color: var(--ds-brand); }
.ds-btn.ghost:hover{ background: var(--ds-brand-soft); }
.ds-btn.sm{ height: 32px; padding: 0 13px; font-size: var(--ds-fs-xs); border-radius: var(--ds-r-sm); }

/* ---------- 输入框 ---------- */
.ds-input, .ds-field input, .ds-field textarea, .ds-field select{
  height: 42px; padding: 0 13px; border: 1px solid var(--ds-c-e3ebf2); border-radius: var(--ds-r);
  background: var(--ds-c-fff); color: var(--ds-ink); font-family: var(--ds-font);
  font-size: 14px; outline: none; transition: .16s;
}
.ds-field textarea{ height: auto; padding: 11px 13px; line-height: var(--ds-lh); }
.ds-input:focus, .ds-field input:focus, .ds-field textarea:focus, .ds-field select:focus{
  border-color: var(--ds-c-7fd3d9); box-shadow: var(--ds-ring);
}
.ds-input::placeholder, .ds-field input::placeholder, .ds-field textarea::placeholder{ color: var(--ds-c-a7b8c4); }

/* ---------- 卡片 ---------- */
.ds-card{
  background: var(--ds-surface); border: 1px solid var(--ds-line);
  border-radius: var(--ds-r-lg); box-shadow: var(--ds-sh-2);
}

/* ---------- 表格 ---------- */
.ds-table{ width: 100%; border-collapse: separate; border-spacing: 0; }
.ds-table thead th{
  font-size: var(--ds-fs-xs); font-weight: 600; color: var(--ds-muted);
  text-align: left; padding: 12px 16px; background: var(--ds-c-fbfdfe);
  border-bottom: 1px solid var(--ds-line-soft); white-space: nowrap;
}
.ds-table tbody td{
  font-size: var(--ds-fs-sm); color: var(--ds-ink-2);
  padding: 0 16px; height: 52px; border-bottom: 1px solid var(--ds-c-f4f8fa);
}
.ds-table tbody tr:last-child td{ border-bottom: none; }

/* ---------- 标签/徽标 ---------- */
.ds-tag{
  display: inline-flex; align-items: center; gap: 5px; height: 23px; padding: 0 9px;
  border-radius: 8px; font-size: var(--ds-fs-xs); font-weight: 600;
  background: var(--ds-c-f1f4f6); color: var(--ds-ink-3);
}

/* ---------- 分隔与间距工具 ---------- */
.ds-divider{ height: 1px; background: var(--ds-line-soft); border: 0; margin: var(--ds-s4) 0; }

/* ---------- 移动端字号收敛（只缩字号，不动布局） ---------- */
@media (max-width: 760px){
  :root{ --ds-fs-h1: 22px; --ds-fs-h2: 18px; --ds-fs-h3: 15.5px; --ds-fs-body: 14.5px; }
}


/* ===== PAGE_TRANSITION_20261021：站内切页淡入淡出（Chrome 126+ 生效，其它浏览器自动忽略） ===== */
@view-transition { navigation: auto; }
::view-transition-old(root){ animation: dsFadeOut .1s ease both; }
::view-transition-new(root){ animation: dsFadeIn .12s ease both; }
@keyframes dsFadeOut { from { opacity: 1 } to { opacity: 0 } }
@keyframes dsFadeIn { from { opacity: 0 } to { opacity: 1 } }
@media (prefers-reduced-motion: reduce){
  ::view-transition-old(root), ::view-transition-new(root){ animation: none; }
}

/* FONT_UNIFY_20261022：全站只留一套字体栈（原来深浅两套混用） */
html, body, button, input, textarea, select, .btn, .ds-btn, .send-btn{
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Arial, sans-serif !important;
}
h1, h2, h3, h4 { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Arial, sans-serif !important; }
/* ===== DS_COMPONENTS_20261021 =====
   组件收口层：把各页现有的按钮/输入框/卡片/表格/标签/空态，映射到同一套令牌。
   改这里 → 全站同步变；页面只写布局，不写这些值。
*/

/* ---------- 按钮：主按钮 ---------- */
:is(.send-btn, .btn-primary, .ds-btn.primary, .header-link-btn.cta, .wk-new, .mc-ok, .set-save,
   .btn-new, .submit-btn, #cLogin, #fLogin, .login-submit){
  height: 40px !important;
  padding: 0 18px !important;
  border-radius: 8px !important;
  border: none !important;
  font-family: var(--ds-font) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--ds-c-fff) !important;
  background: var(--ds-brand) !important;
  box-shadow: 0 6px 16px rgba(14,116,144,.20) !important;
  display: inline-flex;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  transition: filter .18s, transform .18s !important;
}
:is(.send-btn, .btn-primary, .header-link-btn.cta, .mc-ok, .set-save, .btn-new, .submit-btn, #cLogin):hover{
  filter: brightness(1.06) !important;
  transform: translateY(-1px);
}

/* ---------- 按钮：次按钮（白底描边） ---------- */
:is(.header-link-btn, .btn, .ds-btn, .ghost, .wk-tab, .codebtn){
  height: 38px !important;
  padding: 0 15px !important;
  border-radius: 8px !important;
  border: 1px solid var(--ds-line) !important;
  background: var(--ds-c-fff) !important;
  color: var(--ds-ink-2) !important;
  font-family: var(--ds-font) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  display: inline-flex;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  cursor: pointer;
  transition: border-color .18s, color .18s, background .18s !important;
  box-shadow: none !important;
}
:is(.header-link-btn, .btn, .ds-btn, .ghost, .wk-tab, .codebtn):hover{
  border-color: var(--ds-c-cfe9ee) !important;
  color: var(--ds-brand) !important;
  background: var(--ds-c-fbfdfe) !important;
}
/* 选中的筛选项 */
:is(.wk-tab.on, .direction-tag.active, .tp-chip.on){
  background: var(--ds-brand-soft) !important;
  border-color: var(--ds-c-8fd3dc) !important;
  color: var(--ds-brand) !important;
  font-weight: 700 !important;
}

/* ---------- 输入框 ---------- */
:is(.search-input, .input-box, .gd-other input, .set-row input, .mc-field input){
  border: 1px solid var(--ds-line) !important;
  border-radius: 12px !important;
  background: var(--ds-c-fff) !important;
  transition: border-color .16s, box-shadow .16s !important;
}
:is(.search-input, .input-box, .gd-other input, .set-row input):focus-within,
:is(.gd-other input, .set-row input):focus{
  border-color: var(--ds-c-7fd3d9) !important;
  box-shadow: 0 0 0 3px rgba(14,116,144,.10) !important;
}
:is(.search-input input, .input-box textarea, .gd-other input, .set-row input){
  font-family: var(--ds-font) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: var(--ds-ink) !important;
}
:is(.search-input input, .input-box textarea)::placeholder{ color: var(--ds-c-9fb2c0) !important; }

/* 类型标签 / 小标签 */
:is(.direction-tag, .input-tag, .tp-chip){
  height: 32px !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  border: 1px solid var(--ds-line) !important;
  background: var(--ds-c-fff) !important;
  color: var(--ds-ink-3) !important;
  font-size: 13px !important;
  font-family: var(--ds-font) !important;
  display: inline-flex;
  align-items: center !important;
}
:is(.direction-tag, .input-tag, .tp-chip):hover{ border-color: var(--ds-c-cfe9ee) !important; color: var(--ds-brand) !important; }

/* ---------- 卡片 ---------- */
:is(.mode-card, .deliver-card, .hc, .td, .wk-n, .case-card, .plan-card, .panel){
  border: 1px solid var(--ds-line) !important;
  border-radius: 12px !important;
  background: var(--ds-c-fff) !important;
  box-shadow: var(--ds-sh-2) !important;
}
:is(.mode-card, .plan-card, .case-card, .hc):hover{
  box-shadow: var(--ds-sh-3) !important;
  border-color: var(--ds-c-cfe9ee) !important;
}

/* ---------- 表格 ---------- */
:is(table.wk-tb, table.ds-table, .panel table){
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
:is(table.wk-tb, table.ds-table, .panel table) thead th{
  background: var(--ds-c-fbfdfe) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--ds-muted) !important;
  letter-spacing: .02em;
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--ds-line-soft) !important;
  white-space: nowrap;
}
:is(table.wk-tb, table.ds-table, .panel table) tbody td{
  font-size: 13px !important;
  color: var(--ds-ink-2) !important;
  height: 52px !important;
  padding: 0 16px !important;
  border-bottom: 1px solid var(--ds-c-f4f8fa) !important;
}

/* ---------- 标题层级收敛 ---------- */
:is(.wk-head h1, .page-title, .main-header h1){ letter-spacing: -.01em; }

/* ---------- 空态 ---------- */
:is(.empty, .his-empty, .wk-empty){
  color: var(--ds-muted) !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
}
/* ===== HOME_PASS_20261021：首页字号/颜色/段落统一（只管观感，不动布局尺寸） ===== */

/* 标题与副标 */
.welcome-area{ padding: 40px 24px !important; }
.welcome-brand-block .wb-cn{ font-size: 32px !important; font-weight: 600 !important; letter-spacing: 2px !important; color: var(--ds-c-0f2a3d) !important; background: none !important; -webkit-text-fill-color: var(--ds-c-0f2a3d) !important; }
.welcome-brand-block .wb-en{ font-size: 12px !important; color: var(--ds-muted) !important; letter-spacing: .14em !important; }
.welcome-brand, .welcome-area .welcome-brand{ font-size: 32px !important; letter-spacing: -.5px !important; }
.welcome-subtitle, .welcome-area .welcome-subtitle{ font-size: 14px !important; color: var(--ds-ink-3) !important; font-weight: 400 !important; letter-spacing: 0 !important; }

/* 输入框内文字与提示 */
.input-box textarea{ font-size: 14px !important; line-height: 1.75 !important; color: var(--ds-ink) !important; }
.input-hint{ font-size: 12px !important; color: var(--ds-muted) !important; line-height: 1.7 !important; margin-top: 8px !important; }
.direction-label{ font-size: 12px !important; color: var(--ds-muted) !important; }
.gd-reopen{ font-size: 12px !important; color: var(--ds-brand) !important; }
.agree{ font-size: 12px !important; color: var(--ds-muted) !important; }
.agree a{ color: var(--ds-brand) !important; }

/* 价格卡 */
.mode-card h4{ font-size: 14px !important; font-weight: 700 !important; color: var(--ds-ink) !important; }
.mode-card p{ font-size: 12px !important; line-height: 1.65 !important; color: var(--ds-muted) !important; }
.mode-card li{ font-size: 12px !important; line-height: 1.7 !important; color: var(--ds-ink-3) !important; }
.mode-price{ font-size: 20px !important; font-weight: 800 !important; color: var(--ds-brand) !important; }
.mode-price small, .mode-price em{ font-size: 12px !important; font-weight: 500 !important; color: var(--ds-muted) !important; font-style: normal !important; }
.mode-badge{ font-size: 11px !important; font-weight: 700 !important; padding: 2px 7px !important; }

/* 信任行与页脚 */
.ds-trust, .trust-line{ font-size: 12px !important; color: var(--ds-muted) !important; }
footer .ft-line1, footer .ft-line2, footer .ft-line3, footer .ft-line4,
.zd-footer .ft-line1, .zd-footer .ft-line2, .zd-footer .ft-line3, .zd-footer .ft-line4{
  font-size: 12px !important; color: var(--ds-muted) !important; line-height: 1.7 !important;
}
footer a, .zd-footer a{ color: var(--ds-ink-3) !important; }
footer a:hover, .zd-footer a:hover{ color: var(--ds-brand) !important; }

/* 侧栏 */
.sidebar-brand-text b{ font-size: 14px !important; }
.sidebar-brand-text small{ font-size: 11px !important; color: var(--ds-muted) !important; }
.new-btn{ font-size: 14px !important; font-weight: 600 !important; background: var(--ds-c-0e7490) !important; color: var(--ds-c-ffffff) !important; }
.history-item, .history-item .nm{ font-size: 13px !important; }
.history-item .tm, .history-group, .his-empty{ font-size: 11px !important; color: var(--ds-muted) !important; }
.user-info > b{ font-size: 13px !important; }
.user-info small{ font-size: 11px !important; color: var(--ds-muted) !important; }
.user-menu a{ font-size: 13px !important; }

/* 顶栏 */
.main-header-right .header-link-btn,
.main-header .main-header-right a.header-link-btn{ font-size: 14px !important; border: none !important; background: transparent !important; }

/* 类型选择面板 */
.type-panel{ margin-top: 10px !important; padding: 12px !important; max-height: 380px !important; }
.type-panel .tp-body{ padding-top: 4px !important; }
.tp-group{ margin-bottom: 10px !important; }
.tp-group:last-child{ margin-bottom: 0 !important; }
.tp-group .tp-title{ font-size: 13px !important; font-weight: 600 !important; margin-bottom: 6px !important; color: var(--ds-c-0f2a3d) !important; }
.tp-group .tp-item{ font-size: 12px !important; padding: 3px 10px !important; margin: 2px !important; border-radius: 8px !important; }

/* 主标题排版 */
.welcome-brand-block{ text-align: center !important; margin-bottom: 24px !important; }
.welcome-brand-block .wb-cn{ font-size: 32px !important; font-weight: 600 !important; letter-spacing: 4px !important; line-height: 1.3 !important; color: var(--ds-c-0f2a3d) !important; }
.welcome-brand-block .wb-en{ font-size: 20px !important; font-weight: 500 !important; letter-spacing: 2px !important; margin-top: 10px !important; color: var(--ds-c-7b94a6) !important; }

/* 左上角导航栏logo文字 */
.ds-lockup{ display: flex !important; flex-direction: column !important; justify-content: center !important; line-height: 1.2 !important; }
.ds-lockup b{ font-size: 14px !important; font-weight: 600 !important; color: var(--ds-c-0f2a3d) !important; letter-spacing: 0.5px !important; }
.ds-lockup em{ font-size: 13px !important; font-weight: 500 !important; color: var(--ds-c-7b94a6) !important; letter-spacing: 2px !important; margin-top: 2px !important; font-style: normal !important; }
.main-header-left .wb-home{ width: 36px !important; height: 36px !important; }

/* 上传材料按钮 */
.upload-main{ background: var(--ds-c-e8eef4) !important; border: 1px solid var(--ds-c-d0dae4) !important; color: var(--ds-c-0f2a3d) !important; font-size: 14px !important; font-weight: 600 !important; padding: 9px 16px !important; }
.upload-caret{ background: var(--ds-c-e8eef4) !important; color: var(--ds-c-0f2a3d) !important; font-size: 13px !important; }

/* 更多场景按钮 */
.direction-more{ border: 1px solid var(--ds-c-cbd5e1) !important; color: var(--ds-c-334e63) !important; font-size: 14px !important; font-weight: 600 !important; padding: 7px 16px !important; background: var(--ds-c-f8fafc) !important; }


/* A11Y_3 20261024：对比度修正（深底深字 / 浅底浅字）*/
.hd-r a, .hd-r a:visited, .ds-subtop-nav a, .ds-subtop-nav a:visited { color: var(--ds-c-08545c) !important; }
.build-stamp { display: none !important; }

/* A11Y_4 20261024：提高特异性，压过后加载的页面样式 */
html body .ds-subtop-nav a, html body .hd-r a, html body .hd-r a:visited { color: var(--ds-c-08545c) !important; }
