  * { margin: 0; padding: 0; box-sizing: border-box; }
  html { -webkit-text-size-adjust: 100%; }
  body {
    font-family: "Microsoft YaHei", "PingFang SC", "Segoe UI", -apple-system, sans-serif;
    background: #f4f5f7; color: #1f2329; font-size: 14px;
  }
  a { text-decoration: none; color: inherit; cursor: pointer; }
  button { font-family: inherit; }
  input, textarea, select { font-family: inherit; }

  /* ===== 顶部导航 ===== */
  .topbar { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid #e6e8eb; }
  .topbar-inner { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; gap: 22px; padding: 0 20px; height: 62px; position: relative; }
  .logo { display: flex; align-items: center; gap: 10px; flex: none; }
  .logo-mark {
    width: 36px; height: 36px; border-radius: 9px; color: #fff;
    font-family: Georgia, 'Palatino Linotype', 'Times New Roman', serif;
    font-size: 18px; font-weight: 700; font-style: italic; letter-spacing: 0;
    background: linear-gradient(135deg, #2c5187, #16304f);
    display: flex; align-items: center; justify-content: center;
  }
  .logo-text { display: flex; flex-direction: column; line-height: 1.2; font-size: 17px; font-weight: 700; color: #1f3b63; }
  .logo-text small { font-size: 11px; color: #98a0ac; font-weight: 400; }
  .nav { display: flex; gap: 4px; }
  .nav a { padding: 7px 13px; border-radius: 7px; color: #4b5563; font-size: 15px; }
  .nav a:hover { background: #f2f4f7; color: #1f2329; }
  .nav a.active { color: #1f3b63; font-weight: 600; background: #eef3fa; }
  .search { margin-left: auto; position: relative; flex: none; }
  .search input {
    width: 260px; height: 36px; border: 1px solid #dcdfe4; border-radius: 8px;
    padding: 0 42px 0 12px; font-size: 13px; background: #f7f8fa; outline: none; transition: all .15s;
  }
  .search input:focus { border-color: #2b5aa0; background: #fff; box-shadow: 0 0 0 3px rgba(43,90,160,.1); }
  .search-btn {
    position: absolute; right: 5px; top: 50%; transform: translateY(-50%);
    width: 27px; height: 27px; border: none; border-radius: 6px; background: transparent;
    display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .15s;
  }
  .search-btn:hover { background: #eef3fa; }
  .search-btn svg { stroke: #5a6472; }
  .search-btn:hover svg { stroke: #1f3b63; }
  .btn-submit {
    background: #1f3b63; color: #fff; border: none; height: 36px; padding: 0 18px;
    border-radius: 8px; font-size: 14px; cursor: pointer; flex: none; transition: background .15s;
    display: inline-flex; align-items: center;
  }
  .btn-submit:hover { background: #16304f; }
  /* 汉堡菜单(仅移动端显示):关于本站/投稿指南/联系反馈/备案信息 */
  .menu-btn {
    display: none; width: 36px; height: 36px; border: 1px solid #dcdfe4; border-radius: 8px;
    background: #fff; color: #4b5563; cursor: pointer; align-items: center; justify-content: center; flex: none;
  }
  .menu-btn:hover { border-color: #c5d4e8; color: #1f3b63; }
  .menu-panel {
    display: none; position: absolute; top: calc(100% + 8px); right: 12px; z-index: 60;
    background: #fff; border: 1px solid #e6e8eb; border-radius: 12px;
    box-shadow: 0 8px 28px rgba(15,35,60,.14); padding: 8px; width: 210px;
  }
  .menu-panel.open { display: block; }
  .menu-panel a { display: block; padding: 8px 14px; border-radius: 8px; font-size: 14px; color: #3f4650; }
  .menu-panel a:hover { background: #f2f4f7; color: #1f3b63; }
  .menu-panel a.active { background: #eef3fa; color: #1f3b63; font-weight: 600; }
  /* 小屏手机端导航下拉:当前栏目+箭头,点击展开其余栏目(默认隐藏) */
  .nav-drop { display: none; position: relative; flex: none; }
  .nav-drop-btn {
    display: inline-flex; align-items: center; gap: 4px; padding: 6px 10px;
    border: none; border-radius: 7px; background: none; font-size: 14px;
    color: #1f3b63; font-weight: 600; cursor: pointer; white-space: nowrap;
  }
  .nav-drop-btn svg { color: #9aa1ab; transition: transform .15s; flex: none; }
  .nav-drop:has(.nav-drop-panel.open) .nav-drop-btn { background: #eef3fa; }
  .nav-drop:has(.nav-drop-panel.open) .nav-drop-btn svg { transform: rotate(180deg); }
  .nav-drop-panel {
    display: none; position: absolute; top: calc(100% + 6px); left: 0; z-index: 70;
    background: #fff; border: 1px solid #e6e8eb; border-radius: 10px;
    box-shadow: 0 8px 28px rgba(15,35,60,.14); padding: 6px; min-width: 150px;
  }
  .nav-drop-panel.open { display: block; }
  .nav-drop-panel a { display: block; padding: 8px 14px; border-radius: 7px; font-size: 14px; color: #3f4650; white-space: nowrap; }
  .nav-drop-panel a:hover { background: #f2f4f7; color: #1f3b63; }
  .menu-panel .menu-sep { height: 1px; background: #eef0f3; margin: 6px 8px; }
  .menu-panel .menu-note { font-size: 12px; color: #9aa1ab; line-height: 1.7; padding: 3px 14px; }

  /* ===== 三栏布局 ===== */
  .layout {
    max-width: 1200px; margin: 20px auto; padding: 0 20px;
    display: grid; grid-template-columns: 200px minmax(0,1fr) 280px; gap: 20px; align-items: start;
  }
  .sidebar { position: sticky; top: 82px; }
  .side-card { background: #fff; border: 1px solid #e6e8eb; border-radius: 10px; padding: 12px; margin-bottom: 16px; }
  .side-title { font-size: 12px; color: #98a0ac; margin: 10px 4px 6px; letter-spacing: .06em; }
  .side-title:first-child { margin-top: 2px; }
  .tag { display: flex; align-items: center; gap: 9px; padding: 7px 10px; border-radius: 7px; color: #3f4650; font-size: 14px; }
  .tag:hover { background: #f2f4f7; }
  .tag.active { background: #eef3fa; color: #1f3b63; font-weight: 600; }
  .dot { width: 9px; height: 9px; border-radius: 3px; flex: none; }

  /* ===== 工具条 ===== */
  .toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; position: relative; }
  /* 内容类型横向单行(仅小屏手机端显示,排列在导航栏下方) */
  .type-row {
    display: none; gap: 8px; overflow-x: auto; padding: 10px 12px 2px; scrollbar-width: none;
  }
  .type-row::-webkit-scrollbar { display: none; }
  .type-row a {
    display: inline-flex; align-items: center; gap: 5px; padding: 5px 11px; flex: none;
    border: 1px solid #e6e8eb; border-radius: 999px; background: #fff; font-size: 12.5px; color: #4b5563;
  }
  .type-row a:hover { background: #eef3fa; border-color: #cfdff2; color: #1f3b63; }
  .type-row a.active { background: #eef3fa; border-color: #cfdff2; color: #1f3b63; font-weight: 600; }
  .sort-tabs { display: flex; background: #fff; border: 1px solid #e6e8eb; border-radius: 9px; padding: 3px; }
  .sort-tabs a, .sort-tabs button { border: none; background: none; padding: 6px 18px; border-radius: 7px; font-size: 13px; color: #6b7280; cursor: pointer; transition: all .15s; display: inline-block; }
  .sort-tabs a.active, .sort-tabs button.active { background: #1f3b63; color: #fff; }
  .btn-all {
    margin-left: auto; padding: 6px 20px; border-radius: 7px; font-size: 13px;
    background: #fff; border: 1px solid #e6e8eb; color: #4b5563; transition: all .15s;
  }
  .btn-all:hover { border-color: #c5d4e8; color: #1f3b63; }
  .btn-all.active { background: #eef3fa; color: #1f3b63; font-weight: 600; border-color: #cfdff2; }

  /* ===== 内容卡片 ===== */
  .card {
    background: #fff; border: 1px solid #e6e8eb; border-radius: 10px; padding: 16px;
    display: flex; gap: 14px; margin-bottom: 12px; transition: border-color .15s, box-shadow .15s;
    position: relative;
  }
  .card:hover { border-color: #c5d4e8; box-shadow: 0 2px 12px rgba(31,59,99,.07); }
  .card-title a::after { content: ''; position: absolute; inset: 0; border-radius: 10px; }
  .card .src-link { position: relative; z-index: 1; }
  .card-icon {
    width: 44px; height: 44px; border-radius: 10px; flex: none; color: #fff; font-size: 20px;
    display: flex; align-items: center; justify-content: center;
  }
  .icon-law  { background: linear-gradient(135deg, #2c5187, #1f3b63); }
  .icon-doc  { background: linear-gradient(135deg, #2c7a6b, #1f5c50); }
  .icon-case { background: linear-gradient(135deg, #c07a2b, #9a5a14); }
  .icon-qa { background: linear-gradient(135deg, #6d4fb3, #4a3585); }
  .avatar {
    width: 44px; height: 44px; border-radius: 50%; flex: none; color: #fff; font-size: 18px;
    display: flex; align-items: center; justify-content: center;
  }
  /* 后台上传的自定义卡片图标 */
  .card-img-icon {
    width: 44px; height: 44px; border-radius: 10px; flex: none; object-fit: cover;
    background: #eef1f5; display: block;
  }
  .card-img-icon.round { border-radius: 50%; }
  .card-body { min-width: 0; flex: 1; }
  .card-title-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
  .card-title { font-size: 16px; font-weight: 600; }
  a.card-title:hover, .card-title a:hover { color: #2b5aa0; }
  .card-meta { color: #98a0ac; font-size: 12.5px; margin-top: 5px; }
  .src-link { color: #2b5aa0; font-size: 12.5px; }
  .src-link:hover { text-decoration: underline; }
  .card-desc {
    color: #4b5563; font-size: 13.5px; margin-top: 6px; line-height: 1.65;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  }
  .card-foot { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 12px; color: #98a0ac; flex-wrap: wrap; }
  .chip { padding: 2px 9px; border-radius: 5px; font-size: 12px; }
  .chip-crim  { background: #fdeeee; color: #b3413a; }
  .chip-civil { background: #eaf2fd; color: #2b5aa0; }
  .chip-biz   { background: #fdf3e7; color: #b07317; }
  .chip-adm   { background: #e8f0f7; color: #34699a; }
  .chip-fam   { background: #fdeef6; color: #b3417a; }
  .chip-ip    { background: #efeafd; color: #6d4fb3; }
  .chip-labor { background: #e6f4f1; color: #1f7a68; }
  .chip-lit   { background: #eef0f4; color: #5a6472; }
  .chip-cons  { background: #e8f5ee; color: #2e8b57; }
  .chip-ai    { background: linear-gradient(135deg, #e8effc, #eef3fa); color: #1f3b63; border: 1px solid #cfdff2; }
  .chip-tech  { background: #e9f6ef; color: #1a7f5a; }
  .reads { margin-left: auto; flex: none; display: inline-flex; align-items: center; gap: 5px; color: #98a0ac; }
  .card-time { flex: none; color: #98a0ac; }

  /* ===== 右侧栏 ===== */
  .about p { font-size: 12.5px; color: #6b7280; line-height: 1.75; }
  .stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .stats-wide { grid-template-columns: repeat(5, 1fr); }
  .stat { background: #f7f9fc; border-radius: 8px; padding: 10px; text-align: center; }
  .stat b { display: block; font-size: 18px; color: #1f3b63; }
  .stat span { font-size: 12px; color: #98a0ac; }
  .footer { font-size: 12px; color: #9aa1ab; line-height: 2.1; padding: 4px 6px; }
  .footer a:hover { color: #2b5aa0; }
  .footer .sep { margin: 0 4px; color: #d5d9e0; }
  .beian-link { display: inline-flex; align-items: center; gap: 4px; }
  .beian-icon { width: 14px; height: 14px; flex: none; }

  /* ===== 详情页 ===== */
  .detail-wrap { max-width: 860px; margin: 24px auto; padding: 0 20px; }
  .crumb { font-size: 13px; color: #98a0ac; margin-bottom: 14px; }
  .crumb a { color: #2b5aa0; }
  .crumb a:hover { text-decoration: underline; }
  .detail-card { background: #fff; border: 1px solid #e6e8eb; border-radius: 12px; padding: 34px 40px; }
  .detail-title { font-size: 24px; font-weight: 700; color: #16304f; line-height: 1.4; }
  .detail-meta { color: #98a0ac; font-size: 13px; margin-top: 12px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
  .holding { margin-top: 16px; background: #fbf5ec; border: 1px solid #ecdcbf; border-left: 4px solid #c07a2b; border-radius: 8px; padding: 14px 18px; }
  .holding .holding-t { display: block; font-weight: 600; color: #9a5a14; font-size: 13.5px; margin-bottom: 6px; }
  .holding p { margin: 0; font-size: 14px; line-height: 1.8; color: #5a4a33; white-space: pre-wrap; }
  .detail-tags { margin-top: 14px; display: flex; gap: 8px; flex-wrap: wrap; }
  .detail-tags .chip { font-size: 12.5px; padding: 3px 11px; }
  .detail-body { margin-top: 24px; font-size: 15px; line-height: 1.9; color: #2b3138; }
  .detail-body p { margin: 0 0 14px; }
  .detail-body h2 { font-size: 19px; margin: 26px 0 12px; color: #16304f; }
  .detail-body h3 { font-size: 16.5px; margin: 20px 0 10px; color: #16304f; }
  .detail-body ul, .detail-body ol { margin: 0 0 14px 24px; }
  .detail-body li { margin-bottom: 6px; }
  .detail-body a { color: #2b5aa0; }
  .detail-body a:hover { text-decoration: underline; }
  .detail-body blockquote { border-left: 3px solid #c5d4e8; padding: 4px 16px; color: #5a6472; background: #f7f9fc; margin: 0 0 14px; border-radius: 0 6px 6px 0; }
  .detail-body code { background: #eef1f5; padding: 2px 6px; border-radius: 4px; font-size: 13px; }
  .detail-body pre { background: #f4f6f9; padding: 14px 16px; border-radius: 8px; overflow-x: auto; margin: 0 0 14px; }
  .detail-body pre code { background: none; padding: 0; }
  .detail-body img { max-width: 100%; height: auto; border-radius: 8px; margin: 6px 0; }
  .detail-body video { max-width: 100%; border-radius: 8px; background: #0b0f14; margin: 6px 0; }
  .ai-note { margin-top: 26px; padding-top: 14px; border-top: 1px dashed #e2e5ea; font-size: 12.5px; color: #98a0ac; text-align: right; }
  .download-bar { margin-top: 22px; display: flex; align-items: center; gap: 14px; }
  .btn-download { background: #1f5c50; color: #fff; border: none; padding: 10px 22px; border-radius: 8px; font-size: 14px; cursor: pointer; }
  .btn-download:hover { background: #17463c; }

  /* ===== 评论区 ===== */
  .comments { margin-top: 26px; background: #fff; border: 1px solid #e6e8eb; border-radius: 12px; padding: 26px 32px; }
  .comments h3 { font-size: 16px; color: #16304f; margin-bottom: 4px; }
  .comments .hint { font-size: 12.5px; color: #98a0ac; margin-bottom: 16px; }
  .comment-item { border-top: 1px solid #eef0f3; padding: 14px 0; }
  .comment-item .who { font-size: 13px; font-weight: 600; color: #2b5aa0; }
  .comment-item .when { font-size: 12px; color: #b6bcc6; margin-left: 8px; }
  .comment-item .txt { font-size: 14px; color: #2b3138; line-height: 1.7; margin-top: 6px; white-space: pre-wrap; word-break: break-word; }
  .no-comment { color: #98a0ac; font-size: 13px; padding: 16px 0; }
  .comment-form { margin-top: 14px; padding-bottom: 20px; border-bottom: 1px solid #eef0f3; }
  .comment-form label { display: block; font-size: 13px; color: #5a6472; margin: 12px 0 6px; }
  .comment-form .field-row label { margin-top: 0; }
  .comment-form label .opt { color: #b6bcc6; font-weight: 400; font-size: 12px; }
  .comment-form input[type=text], .comment-form input[type=email], .comment-form textarea {
    width: 100%; border: 1px solid #dcdfe4; border-radius: 8px; padding: 9px 12px; font-size: 14px;
    background: #f7f8fa; outline: none; transition: all .15s; resize: vertical;
  }
  .comment-form input[type=text]:focus, .comment-form input[type=email]:focus, .comment-form textarea:focus { border-color: #2b5aa0; background: #fff; }
  .comment-list { margin-top: 4px; }
  .comment-list .comment-item:first-child { border-top: none; }
  .comment-form .actions { margin-top: 14px; display: flex; align-items: center; gap: 12px; }
  .btn-comment { background: #1f3b63; color: #fff; border: none; padding: 9px 24px; border-radius: 8px; font-size: 14px; cursor: pointer; }
  .btn-comment:hover { background: #16304f; }
  .btn-comment:disabled { background: #b6bcc6; cursor: not-allowed; }
  .form-msg { font-size: 13px; }
  .form-msg.ok { color: #1a7f37; }
  .form-msg.err { color: #c0392b; }

  /* ===== 分页 ===== */
  .pager { display: flex; justify-content: center; align-items: center; gap: 6px; margin: 22px 0 10px; }
  .pager a, .pager span { padding: 6px 13px; border-radius: 7px; font-size: 13px; background: #fff; border: 1px solid #e6e8eb; color: #4b5563; }
  .pager a:hover { border-color: #c5d4e8; color: #1f3b63; }
  .pager .cur { background: #1f3b63; color: #fff; border-color: #1f3b63; }
  .pager .gap, .pager .dis { border: none; background: none; color: #b6bcc6; }

  /* ===== 单栏页(投稿指南/关于) ===== */
  .single-wrap { max-width: 760px; margin: 28px auto; padding: 0 20px; }
  .single-card { background: #fff; border: 1px solid #e6e8eb; border-radius: 12px; padding: 34px 40px; }
  .single-card h1 { font-size: 22px; color: #16304f; margin-bottom: 6px; }
  .single-card .sub { color: #98a0ac; font-size: 13px; margin-bottom: 20px; }
  .email-pill { display: inline-flex; align-items: center; gap: 8px; background: #eef3fa; border: 1px solid #cfdff2; color: #1f3b63; font-weight: 600; padding: 7px 16px; border-radius: 99px; font-size: 14px; user-select: all; }

  /* ===== 联系反馈页 ===== */
  .contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 6px 0 4px; }
  .contact-card { background: #f7f9fc; border: 1px solid #e6ebf2; border-radius: 10px; padding: 16px 14px; text-align: center; }
  .contact-t { font-size: 13.5px; font-weight: 600; color: #16304f; margin-bottom: 12px; }
  .qr-img { width: 150px; height: 150px; object-fit: contain; border-radius: 8px; background: #fff; border: 1px solid #e6ebf2; }
  .qr-placeholder { width: 150px; max-width: 100%; height: 150px; margin: 0 auto; border: 1.5px dashed #cdd5e0; border-radius: 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: #9aa4b2; background: #fff; }
  .qr-placeholder span { font-size: 13px; }
  .qr-placeholder small { font-size: 11.5px; color: #b6bcc6; }
  .qr-line { margin-top: 12px; font-size: 12.5px; color: #3f4650; word-break: break-all; }
  .qr-line .qr-k { color: #98a0ac; margin-right: 4px; }
  .qr-line .qr-v { font-weight: 600; user-select: all; }
  .detail-body .hint { font-size: 12.5px; color: #98a0ac; line-height: 1.7; margin-top: 16px; }

  /* ===== AI 法律问答 ===== */
  /* 右栏入口卡片:仅一个按钮,无介绍文字(卡片更高,按钮用网页底色) */
  .ask-entry { padding: 34px 16px; }
  .btn-ask {
    display: flex; align-items: center; justify-content: center; width: 78%; margin: 0 auto;
    background: #f4f5f7; color: #1f3b63; border: 1px solid #e6e8eb;
    border-radius: 8px; padding: 12px 0; font-size: 14.5px; font-weight: 600;
    transition: background .15s;
  }
  .btn-ask:hover { background: #eaecf0; color: #1f3b63; }
  /* 移动端顶栏 AI 问答按钮(≤720px 取代投稿按钮,桌面端隐藏) */
  .btn-ask-top {
    display: none; background: #1f3b63; color: #fff; height: 36px; padding: 0 14px;
    border-radius: 8px; font-size: 14px; align-items: center; flex: none; white-space: nowrap;
  }
  .btn-ask-top:hover { background: #16304f; color: #fff; }
  /* 问答页 */
  .ask-wrap { max-width: 860px; margin: 20px auto; padding: 0 20px; }
  .ask-card {
    background: #fff; border: 1px solid #e6e8eb; border-radius: 12px;
    display: flex; flex-direction: column; height: calc(100vh - 160px); min-height: 420px; overflow: hidden;
  }
  .ask-head { padding: 16px 22px 12px; border-bottom: 1px solid #eef0f3; }
  .ask-head h1 { font-size: 18px; color: #16304f; }
  .ask-head .sub { font-size: 12.5px; color: #98a0ac; margin-top: 5px; }
  .ask-msgs { flex: 1; overflow-y: auto; padding: 18px 22px; display: flex; flex-direction: column; gap: 14px; }
  .ask-welcome { background: #f7f9fc; border: 1px solid #e6ebf2; border-radius: 10px; padding: 14px 16px; }
  .ask-welcome-t { font-weight: 600; color: #1f3b63; font-size: 14px; }
  .ask-welcome p { font-size: 13px; color: #6b7280; margin-top: 6px; line-height: 1.7; }
  .ask-msg { display: flex; }
  .ask-msg.m-user { justify-content: flex-end; }
  .ask-msg .bubble {
    max-width: 82%; padding: 10px 14px; border-radius: 12px; font-size: 14px; line-height: 1.75;
    white-space: pre-wrap; word-break: break-word;
  }
  .m-user .bubble { background: #1f3b63; color: #fff; border-bottom-right-radius: 4px; }
  .m-ai .bubble { background: #f4f6f9; border: 1px solid #e6e8eb; color: #2b3138; border-bottom-left-radius: 4px; }
  .m-ai .bubble.typing { color: #98a0ac; }
  /* AI 回答按 Markdown 渲染:取消 pre-wrap,避免标签间空白被渲染成换行 */
  .m-ai .bubble.md { white-space: normal; }
  .m-ai .bubble.md > *:first-child { margin-top: 0; }
  .m-ai .bubble.md > *:last-child { margin-bottom: 0; }
  .m-ai .bubble.md p { margin: 0 0 8px; }
  .m-ai .bubble.md ul, .m-ai .bubble.md ol { margin: 0 0 8px; padding-left: 20px; }
  .m-ai .bubble.md li { margin: 3px 0; }
  .m-ai .bubble.md li > p { margin: 0; }
  .m-ai .bubble.md strong { color: #16304f; }
  .m-ai .bubble.md code { background: #e8edf4; border-radius: 4px; padding: 1px 5px; font-size: 13px; }
  .m-ai .bubble.md pre { background: #e8edf4; border-radius: 6px; padding: 10px 12px; overflow-x: auto; margin: 0 0 8px; }
  .m-ai .bubble.md pre code { background: none; padding: 0; }
  .m-ai .bubble.md h1, .m-ai .bubble.md h2, .m-ai .bubble.md h3, .m-ai .bubble.md h4 { font-size: 14.5px; color: #16304f; margin: 10px 0 6px; }
  .m-ai .bubble.md blockquote { border-left: 3px solid #c9d2dd; margin: 0 0 8px; padding: 2px 0 2px 10px; color: #6b7280; }
  .m-ai .bubble.md a { color: #2b5aa0; }
  .m-ai .bubble.md table { border-collapse: collapse; margin: 0 0 8px; font-size: 13px; }
  .m-ai .bubble.md th, .m-ai .bubble.md td { border: 1px solid #d7dee8; padding: 4px 8px; }
  .ask-input { display: flex; gap: 10px; padding: 12px 16px; border-top: 1px solid #eef0f3; align-items: flex-end; }
  .ask-input textarea {
    flex: 1; border: 1px solid #dcdfe4; border-radius: 8px; padding: 12px 14px; font-size: 14.5px;
    background: #f7f8fa; outline: none; resize: none; min-height: 84px; max-height: 180px; transition: all .15s;
    line-height: 1.6;
  }
  .ask-input textarea:focus { border-color: #2b5aa0; background: #fff; }
  .ask-send {
    background: #1f3b63; color: #fff; border: none; border-radius: 8px; padding: 9px 22px;
    font-size: 14px; cursor: pointer; flex: none; transition: background .15s;
  }
  .ask-send:hover { background: #16304f; }
  .ask-send:disabled { background: #b6bcc6; cursor: not-allowed; }
  .ask-tip { padding: 0 16px 12px; font-size: 12px; color: #b6bcc6; text-align: center; }

  /* ===== 后台 ===== */
  .admin-layout { max-width: 1100px; margin: 20px auto; padding: 0 20px; }
  .admin-top { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; flex-wrap: wrap; }
  .admin-top h1 { font-size: 20px; color: #16304f; }
  .admin-top .spacer { flex: 1; }
  .admin-nav { display: flex; gap: 8px; margin-bottom: 18px; flex-wrap: wrap; }
  .admin-nav a { padding: 7px 16px; border-radius: 8px; background: #fff; border: 1px solid #e6e8eb; font-size: 14px; color: #4b5563; }
  .admin-nav a.active, .admin-nav a:hover { background: #1f3b63; color: #fff; border-color: #1f3b63; }
  .panel { background: #fff; border: 1px solid #e6e8eb; border-radius: 12px; padding: 22px; margin-bottom: 18px; }
  .panel h2 { font-size: 16px; color: #16304f; margin-bottom: 14px; }
  table.tbl { width: 100%; border-collapse: collapse; font-size: 13.5px; }
  table.tbl th, table.tbl td { text-align: left; padding: 9px 10px; border-bottom: 1px solid #eef0f3; vertical-align: middle; }
  table.tbl th { color: #98a0ac; font-weight: 500; font-size: 12.5px; }
  table.tbl tr:hover td { background: #f9fafc; }
  .btn-sm { padding: 4px 12px; border-radius: 6px; font-size: 12.5px; cursor: pointer; border: 1px solid #dcdfe4; background: #fff; color: #4b5563; }
  .btn-sm:hover { border-color: #c5d4e8; color: #1f3b63; }
  .btn-sm.primary { background: #1f3b63; color: #fff; border-color: #1f3b63; }
  .btn-sm.primary:hover { background: #16304f; }
  .btn-sm.danger { color: #c0392b; border-color: #f2c4be; }
  .btn-sm.danger:hover { background: #fdecea; }
  .btn-sm.green { color: #1a7f37; border-color: #bfe3c9; }
  .btn-sm.green:hover { background: #e6f4ea; }
  .st { display: inline-block; padding: 2px 9px; border-radius: 99px; font-size: 11.5px; }
  .st-approved { background: #e6f4ea; color: #1a7f37; border: 1px solid #c2e3cc; }
  .st-published { background: #e6f4ea; color: #1a7f37; border: 1px solid #c2e3cc; }
  .st-draft { background: #eef0f4; color: #5a6472; border: 1px solid #dde1e7; }
  .flagged { background: #fdeeee; color: #b3413a; border: 1px solid #f2c4be; }
  .clean { background: #e6f4ea; color: #1a7f37; border: 1px solid #c2e3cc; }

  /* ===== 表单 ===== */
  .field { margin-bottom: 16px; }
  .field label { display: block; font-size: 13px; color: #5a6472; margin-bottom: 6px; }
  .field input[type=text], .field input[type=password], .field input[type=email], .field textarea, .field select {
    width: 100%; border: 1px solid #dcdfe4; border-radius: 8px; padding: 9px 12px; font-size: 14px;
    background: #f7f8fa; outline: none; transition: all .15s;
  }
  .field textarea { resize: vertical; }
  .field input:focus, .field textarea:focus, .field select:focus { border-color: #2b5aa0; background: #fff; }
  .field .tip { font-size: 12px; color: #b6bcc6; margin-top: 5px; }
  .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .check-row { display: flex; gap: 20px; align-items: center; font-size: 14px; color: #4b5563; }
  .check-row label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
  .btn-primary { background: #1f3b63; color: #fff; border: none; padding: 10px 26px; border-radius: 8px; font-size: 14px; cursor: pointer; }
  .btn-primary:hover { background: #16304f; }
  .btn-primary.green { background: #1a7f37; }
  .btn-primary.green:hover { background: #14662c; }
  .btn-ghost { background: #fff; color: #4b5563; border: 1px solid #dcdfe4; padding: 10px 22px; border-radius: 8px; font-size: 14px; cursor: pointer; }
  .btn-ghost:hover { border-color: #c5d4e8; color: #1f3b63; }
  /* 标签下拉多选 */
  .tag-select { position: relative; }
  .tag-select-btn { width: 100%; text-align: left; background: #f7f8fa; border: 1px solid #dcdfe4; border-radius: 8px; padding: 9px 12px; font-size: 14px; color: #1f2933; cursor: pointer; transition: all .15s; }
  .tag-select-btn:hover, .tag-select.open .tag-select-btn { border-color: #2b5aa0; background: #fff; }
  .tag-select-btn.empty { color: #9aa4b2; }
  .tag-select-panel { display: none; position: absolute; z-index: 30; top: calc(100% + 4px); left: 0; right: 0; background: #fff; border: 1px solid #dcdfe4; border-radius: 8px; box-shadow: 0 4px 16px rgba(15, 35, 60, .10); padding: 8px; grid-template-columns: repeat(3, 1fr); gap: 2px; }
  .tag-select.open .tag-select-panel { display: grid; }
  .tag-select-panel label { display: flex; align-items: center; gap: 6px; padding: 6px 8px; border-radius: 6px; font-size: 13.5px; color: #4b5563; cursor: pointer; margin: 0; white-space: nowrap; }
  .tag-select-panel label:hover { background: #eef3fa; }
  /* 全站页脚(text-indent 补偿 letter-spacing 末尾空隙,保证真正居中) */
  .site-footer { text-align: center; padding: 36px 16px 48px; color: #b6bcc6; font-size: 13px; letter-spacing: 2px; text-indent: 2px; }
  .login-wrap { min-height: 70vh; display: flex; align-items: center; justify-content: center; }
  .login-card { background: #fff; border: 1px solid #e6e8eb; border-radius: 12px; padding: 34px 38px; width: 360px; }
  .login-card h1 { font-size: 18px; color: #16304f; margin-bottom: 20px; text-align: center; }
  .alert { padding: 10px 14px; border-radius: 8px; font-size: 13px; margin-bottom: 16px; }
  .alert.err { background: #fdecea; color: #c0392b; border: 1px solid #f2c4be; }
  .alert.ok { background: #e6f4ea; color: #1a7f37; border: 1px solid #c2e3cc; }
  .muted { color: #98a0ac; font-size: 12.5px; }
  .empty { text-align: center; color: #98a0ac; padding: 40px 0; font-size: 14px; }

  /* ===== 响应式(移动端适配) ===== */
  /* 平板:三栏变两栏,右栏下沉到内容底部(备案/页脚信息保持可见) */
  @media (max-width: 1020px) {
    .layout { grid-template-columns: 188px minmax(0,1fr); }
    .rightbar { grid-column: 1 / -1; position: static; }
    .topbar-inner { gap: 14px; }
    .nav a { padding: 7px 9px; font-size: 13.5px; flex: none; }
    .search input { width: 180px; }
  }
  /* 手机:导航栏保持显示(窄时横向滑动),搜索框+投稿+右侧三条线一行;内容类型左侧栏在平板段正常显示 */
  @media (max-width: 860px) {
    .topbar-inner { flex-wrap: nowrap; height: auto; padding: 8px 12px; gap: 10px; }
    .logo { display: none; }
    .nav { order: 1; flex: 1 1 auto; min-width: 0; overflow-x: auto; }
    .nav::-webkit-scrollbar { display: none; }
    .nav a { flex: none; padding: 6px 8px; font-size: 13px; }
    .search { order: 2; flex: none; margin-left: 0; }
    .search input { width: 170px; }
    .btn-submit { order: 3; height: 34px; padding: 0 12px; font-size: 13px; }
    .menu-btn { order: 4; display: inline-flex; width: 36px; height: 36px; }
    .menu-panel { width: 220px; max-height: calc(100vh - 70px); overflow-y: auto; }
    .admin-nav { order: 4; width: 100%; }
    /* 右栏在移动端整体隐藏:备案/链接/版权/声明均已收入右侧三条线菜单 */
    .rightbar { display: none; }
    .detail-card, .single-card, .comments { padding: 22px; }
    .detail-title { font-size: 21px; }
    .field-row { grid-template-columns: 1fr; }
    .tag-select-panel { grid-template-columns: repeat(2, 1fr); }
    .pager { flex-wrap: wrap; }
    .login-card { max-width: 100%; }
    /* 防止 iOS 聚焦输入框时页面自动放大 */
    input, select, textarea { font-size: 16px; }
    .search input { font-size: 14px; }
  }
  /* 小屏手机竖屏:顶栏单行(栏目下拉+搜索框+投稿+右侧三条线),内容类型横向单行排在导航栏下方 */
  @media (max-width: 720px) {
    .layout { grid-template-columns: 1fr; margin-top: 12px; gap: 14px; }
    .sidebar { display: none; }
    .topbar-inner { flex-wrap: nowrap; }
    .nav { display: none; }
    .nav-drop { display: block; order: 1; }
    .search { order: 2; flex: 1 1 auto; min-width: 0; }
    .search input { width: 100%; }
    .btn-submit { order: 3; padding: 0 10px; }
    .menu-btn { order: 4; }
    .type-row { display: flex; }
    .card { padding: 13px; }
    .stats-wide { grid-template-columns: repeat(2, 1fr); }
    .detail-wrap { margin: 14px auto; padding: 0 12px; }
    .single-wrap { padding: 0 12px; margin: 16px auto; }
    .detail-card, .single-card { padding: 18px 16px; border-radius: 10px; }
    .comments { padding: 18px 16px; border-radius: 10px; }
    .detail-title { font-size: 20px; }
    .detail-body { font-size: 14.5px; }
    .admin-layout { padding: 0 12px; margin: 12px auto; }
    .panel { padding: 16px 14px; overflow-x: auto; }
    table.tbl { min-width: 700px; }
    .toolbar { flex-wrap: wrap; }
    .sort-tabs { max-width: 100%; overflow-x: auto; flex: none; }
    .sort-tabs a, .sort-tabs button { flex: none; }
  }
  /* 小屏手机:联系页单列,图标缩小 */
  @media (max-width: 600px) {
    .contact-grid { grid-template-columns: 1fr; }
    .card-icon, .avatar { width: 40px; height: 40px; font-size: 18px; }
    .card-img-icon { width: 40px; height: 40px; }
    .email-pill { max-width: 100%; flex-wrap: wrap; word-break: break-all; }
    .layout, .admin-layout { padding-left: 12px; padding-right: 12px; }
  }
  /* 小屏手机:顶栏投稿按钮替换为 AI 问答按钮(汉堡菜单保持不变);问答页收窄 */
  @media (max-width: 720px) {
    .btn-submit { display: none; }
    .btn-ask-top { display: inline-flex; order: 3; height: 34px; padding: 0 12px; font-size: 13px; }
    .ask-wrap { margin: 12px auto; padding: 0 12px; }
    .ask-card { height: calc(100vh - 140px); min-height: 380px; border-radius: 10px; }
    .ask-head { padding: 13px 16px 10px; }
    .ask-msgs { padding: 14px 16px; }
    .ask-msg .bubble { max-width: 88%; }
    .ask-input { padding: 10px 12px; }
    .ask-send { padding: 9px 16px; }
  }
