
  /* Hidden Internal Mode */
  .internal-tool { display: none !important; }
  body.internal-mode-unlocked .internal-tool { display: block !important; }
  body.internal-mode-unlocked .internal-tool-flex { display: flex !important; }

  * {
    box-sizing: border-box;
  }

  /* === 全局防选中 / 防复制（v4.54 整理）===
     原则：
     1) 表单控件 / 可编辑区域 永远可选中。
     2) 内容型区域（法条正文、判决文本、复制卡片、帮助卡片、更新日志等）可选中。
     3) 标题 / 品牌 / 章节名 / 统计 / 信息文字 可选中（之前提示"该内容受保护"就是因为没加入白名单）。
     4) 显式标记 .sl-allow-select 的元素及其后代强制可选中。
     5) UI 装饰（导航、按钮、卡片外壳、图标等）默认不可选中，避免误触影响点击。
     6) 默认全局 user-select: none，仅在下方白名单中开启 text。 */
  html, body {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
  }

  /* === 1) 表单与可编辑 === */
  input, textarea, select, [contenteditable="true"] {
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
  }

  /* === 2) 内容型区域（法条、判决、帮助、更新日志、正式文本、复制卡片） === */
  .copy-card, .copy-card *,
  .law-section-body, .law-section-body *,
  .law-content,
  .result-card, .result-card *,
  .formal-text, .formal-text *,
  .changelog-card, .changelog-card *,
  .help-card, .help-card *,
  .search-result-content,
  .codex-main, .codex-main .law-content,
  pre, code {
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
  }

  /* === 3) 标题 / 品牌 / 章节名 / 统计 / 信息文字（之前会触发"该内容受保护"） === */
  .brand-title, .brand-sub,
  .hero-title, .hero-desc,
  .hero-brand h2, .hero-brand p, .hero-brand-mini,
  .eyebrow,
  .section-title, .section-sub,
  .chapter-item-title, .chapter-item-meta, .chapter-item,
  .codex-main-title, .codex-main-sub,
  .codex-side-note, .codex-side,
  .stat-label, .stat-value,
  .info-copy, .info-copy *,
  .codex-subtitle, .search-help,
  .foot-note, .empty-state {
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
  }

  /* === 4) 显式标记强制可选中（最高优先级，可覆盖任何默认） === */
  .sl-allow-select, .sl-allow-select * {
    -webkit-user-select: text !important;
    -moz-user-select: text !important;
    -ms-user-select: text !important;
    user-select: text !important;
  }

  /* === 5) 高阶管理员模式：全局允许选中 / 复制 / 右键（便于排错与导出）
        仅在「高阶警用模式」或「后台维护中心」解锁时由 JS 自动添加该 body class === */
  body.sl-admin-elevated, body.sl-admin-elevated * {
    -webkit-user-select: text !important;
    -moz-user-select: text !important;
    -ms-user-select: text !important;
    user-select: text !important;
    -webkit-touch-callout: default !important;
  }
  body.sl-admin-elevated *:not(input):not(textarea):not(select):not([contenteditable="true"]) {
    -webkit-user-context-menu: default !important;
  }

  /* 屏蔽图片被拖拽 */
  img { -webkit-user-drag: none; user-drag: none; }
  /* svg 默认可点（导航图标、按钮图标需要点击） */
  svg { -webkit-user-drag: none; user-drag: none; }

  /* === 计时器 / 导航 / 后台 等可交互区域强制可点击（避免被防选中规则间接影响） === */
  .sidebar-timer, .sidebar-timer *,
  .sidebar, .sidebar *,
  .nav, .nav *,
  .nav-btn, button {
    pointer-events: auto !important;
  }
  /* 计时器按钮：点击时主动 blur，避免焦点影响空格翻页等 */
  #timerStartBtn:focus, #timerResetBtn:focus,
  [data-timer-add]:focus { outline: none; }

  :root {
    --bg: #060b22;
    --bg-2: #0b1233;
    --panel: #0f1a46;
    --panel-2: #111f57;
    --panel-3: #0b153f;
    --line: rgba(255,255,255,0.08);
    --line-2: rgba(255,255,255,0.14);
    --text: #eef2ff;
    --sub: #aab4e8;
    --muted: #7f8bc4;
    --primary: #6f5bff;
    --primary-2: #8575ff;
    --green: #3ddc97;
    --gold: #f7c662;
    --pink: #ff79b7;
    --cyan: #4fd3ff;
    --danger: #ff6b8f;
    --shadow: 0 20px 50px rgba(0,0,0,0.28);
    --soft-shadow: 0 10px 24px rgba(0,0,0,0.18);
    --radius-xl: 24px;
    --radius-lg: 18px;
    --radius-md: 14px;
  }

  /* Toast System — v4.59 通知从底部改到顶部 */
  .sl-toast-container {
    position: fixed;
    top: 80px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    z-index: 9999;
    pointer-events: none;
    max-width: calc(100vw - 24px);
    width: max-content;
  }
  .sl-toast {
    background: var(--toast-bg, rgba(15, 26, 70, 0.95));
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid var(--toast-border, rgba(143,124,255,0.3));
    color: var(--toast-text, var(--text));
    padding: 12px 24px;
    border-radius: 999px;
    font-size: 14px;
    box-shadow: var(--toast-shadow, 0 10px 25px rgba(0,0,0,0.3));
    /* 顶部弹出：从上方淡入 */
    animation: sl-toast-in 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
    transition: transform 0.2s ease, opacity 0.3s ease;
    max-width: 80vw;
    text-align: center;
  }
  .sl-toast.bounce {
    animation: sl-toast-bounce 0.3s ease;
  }
  /* 顶部消失：向上淡出 */
  .sl-toast.fade-out {
    opacity: 0;
    transform: translateY(-20px);
  }
  @keyframes sl-toast-in {
    from { opacity: 0; transform: translateY(-20px); }
    to { opacity: 1; transform: translateY(0); }
  }
  @keyframes sl-toast-bounce {
    0% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-6px) scale(1.05); border-color: var(--primary); }
    100% { transform: translateY(0) scale(1); }
  }

  /* === v4.59 无痕模式提示条：fixed 定位不占文档流 ===
     当开启无痕模式时，applyIncognitoUI() 会在 body 末尾追加一个
     .sl-incognito-bar 元素。这里用 fixed 定位 + z-index:10001 把它
     钉在顶部，避免挤压正文；body.sl-incognito-mode 时给整页预留
     padding-top 防止顶部内容被遮住。 */
  .sl-incognito-bar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10001;
    background: linear-gradient(90deg, rgba(45,30,90,.95), rgba(70,40,120,.95));
    color: #f0e7ff;
    text-align: center;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    border-bottom: 1px solid rgba(160,120,255,.35);
    box-shadow: 0 2px 12px rgba(0,0,0,.3);
    pointer-events: none; /* 提示条不参与交互，避免拦截点击 */
    animation: sl-incognito-bar-slide 0.3s ease-out;
  }
  body.sl-incognito-mode { padding-top: 38px !important; }
  body.sl-incognito-mode .sidebar,
  body.sl-incognito-mode .topbar { top: 38px !important; }
  @keyframes sl-incognito-bar-slide {
    from { transform: translateY(-100%); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
  }
  /* 开启无痕时给开关按钮一个高亮态 */
  .btn-secondary.sl-incognito-on {
    background: linear-gradient(135deg, rgba(160,120,255,.35), rgba(110,90,200,.25)) !important;
    border-color: rgba(160,120,255,.5) !important;
    color: #f0e7ff !important;
  }

  /* === Glass Modal (theme-aware) === */
  :root, body {
    --glass-overlay: rgba(6, 11, 34, 0.6);
    --glass-bg: linear-gradient(135deg, rgba(19,32,84,0.75), rgba(11,21,63,0.85));
    --glass-border: rgba(255,255,255,0.15);
    --glass-shadow: 0 25px 50px rgba(0,0,0,0.5), inset 0 0 0 1px rgba(255,255,255,0.05);
    --glass-title: #fff;
    --glass-desc: var(--sub);
    --glass-input-bg: rgba(0,0,0,0.25);
    --glass-input-border: rgba(255,255,255,0.12);
    --glass-input-text: #fff;
    --glass-input-focus: rgba(111,91,255,0.2);
  }
  /* Custom Modal (alert/confirm/prompt) */
  .sl-modal {
    position: fixed;
    inset: 0;
    background: var(--glass-overlay, rgba(6, 11, 34, 0.6));
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    z-index: 11000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0s linear 0.2s;
    padding: 16px;
  }
  .sl-modal.active {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transition: opacity 0.2s ease, visibility 0s linear 0s;
  }
  /* === v4.59 隐藏态防护：确保弹窗隐藏时子元素无法被点击 === */
  .sl-modal .sl-modal-box,
  .sl-modal .sl-modal-box * {
    pointer-events: none;
  }
  .sl-modal.active .sl-modal-box,
  .sl-modal.active .sl-modal-box * {
    pointer-events: auto;
  }
  .sl-modal-box {
    background: var(--panel, #ffffff);
    color: var(--text, #1a2240);
    border: 1px solid var(--line, rgba(0,0,0,0.08));
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.32), 0 2px 6px rgba(0,0,0,0.06);
    border-radius: 14px;
    padding: 22px 22px 18px;
    width: 100%;
    max-width: 420px;
    transform: translateY(12px) scale(0.98);
    transition: transform 0.22s cubic-bezier(0.175,0.885,0.32,1.275);
    max-height: calc(100vh - 32px);
    overflow-y: auto;
    box-sizing: border-box;
  }
  .sl-modal.active .sl-modal-box {
    transform: translateY(0) scale(1);
  }
  /* 默认隐藏大图标（如需展示可在调用时显式开启） */
  .sl-modal-icon {
    display: none !important;
  }
  .sl-modal-icon.is-shown {
    display: flex !important;
    width: 36px; height: 36px; border-radius: 10px;
    background: var(--sl-input-bg, rgba(0,0,0,0.04));
    border: 1px solid var(--line, rgba(0,0,0,0.1));
    align-items: center; justify-content: center;
    font-size: 18px; margin-bottom: 10px;
  }
  .sl-modal-icon.info { color: var(--primary, #6e8bff); }
  .sl-modal-icon.warn { color: #d68a2a; }
  .sl-modal-icon.danger { color: #d63d4d; }
  .sl-modal-icon.success { color: #2faa6b; }
  .sl-modal-icon.question { color: #7c5cff; }
  .sl-modal-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--text, #1a2240);
    margin: 0 0 8px;
    line-height: 1.4;
  }
  .sl-modal-msg {
    font-size: 14px;
    line-height: 1.65;
    color: var(--text, #1a2240);
    opacity: 0.9;
    margin: 0 0 18px;
    word-break: break-word;
    white-space: pre-wrap;
  }
  .sl-modal-input {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid var(--line, rgba(0,0,0,0.12));
    background: var(--sl-input-bg, #ffffff);
    color: var(--sl-input-text, var(--text, #1a2240));
    font-size: 14px;
    outline: none;
    margin-bottom: 8px;
    font-family: inherit;
  }
  .sl-modal-input::placeholder { color: var(--muted, #7f8bc4); opacity: .8; }
  .sl-modal-input:focus { border-color: var(--primary, #6e8bff); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary, #6e8bff) 20%, transparent); }
  /* 敏感输入（密码/密钥）默认脱敏，提供"👁 显示"切换 */
  .sl-modal-input.is-sensitive { letter-spacing: 2px; }
  .sl-modal-input-wrap { position: relative; margin-bottom: 16px; }
  .sl-modal-input-wrap .sl-modal-input { margin-bottom: 0; padding-right: 56px; }
  .sl-modal-eye {
    position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
    width: 34px; height: 28px; border: 0; border-radius: 8px; cursor: pointer;
    background: transparent;
    color: var(--muted, #7f8bc4); font-size: 14px; line-height: 1;
    display: flex; align-items: center; justify-content: center;
  }
  .sl-modal-eye:hover { background: color-mix(in srgb, var(--primary, #6e8bff) 12%, transparent); color: var(--primary, #6e8bff); }
  .sl-modal-eye-label { position: absolute; right: 46px; top: 50%; transform: translateY(-50%); font-size: 11px; color: var(--muted, #7f8bc4); pointer-events: none; }
  .sl-modal-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    flex-wrap: wrap;
  }
  .sl-modal-btn {
    border: 1px solid transparent;
    border-radius: 10px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: transform .15s ease, opacity .15s ease, background .15s ease;
    min-width: 72px;
    font-family: inherit;
    background: var(--sl-input-bg, rgba(0,0,0,0.04));
    color: var(--text, #1a2240);
  }
  .sl-modal-btn:hover { transform: translateY(-1px); }
  .sl-modal-btn:active { transform: translateY(0); opacity: .85; }
  .sl-modal-btn.primary {
    background: var(--primary, #6e8bff);
    color: #ffffff;
    border-color: var(--primary, #6e8bff);
  }
  .sl-modal-btn.primary:hover { background: color-mix(in srgb, var(--primary, #6e8bff) 88%, #000); }
  .sl-modal-btn.danger {
    background: #d63d4d;
    color: #ffffff;
    border-color: #d63d4d;
  }
  .sl-modal-btn.danger:hover { background: #b7303e; }
  .sl-modal-btn.ghost {
    background: transparent;
    color: var(--text, #1a2240);
    border-color: var(--line, rgba(0,0,0,0.12));
  }
  .sl-modal-btn.ghost:hover { background: color-mix(in srgb, var(--text, #1a2240) 6%, transparent); }
  body.mobile-ui .sl-modal{padding:10px !important;}
  body.mobile-ui .sl-modal-box{padding:18px 16px !important;border-radius:14px !important;max-width:none !important;}
  body.mobile-ui .sl-modal-actions{flex-direction:column-reverse !important;gap:8px !important;}
  body.mobile-ui .sl-modal-btn{width:100% !important;padding:11px !important;font-size:14px !important;}

  /* === 法条对比 (Law Compare) — v4.54.1 全面主题适配 === */
  .sl-compare-modal {
    position: fixed;
    inset: 0;
    background: color-mix(in srgb, var(--bg, #060b22) 78%, transparent);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    z-index: 10900;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: opacity 0.22s ease, visibility 0s linear 0.22s;
    padding: 16px;
  }
  .sl-compare-modal.active {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transition: opacity 0.22s ease, visibility 0s linear 0s;
  }
  /* === v4.59 隐藏态防护：避免被全局 * 选择器意外开启 pointer-events === */
  .sl-compare-modal .sl-compare-box,
  .sl-compare-modal .sl-compare-box * {
    pointer-events: none;
  }
  .sl-compare-modal.active .sl-compare-box,
  .sl-compare-modal.active .sl-compare-box * {
    pointer-events: auto;
  }
  .sl-compare-box {
    background: linear-gradient(180deg, var(--panel, #0f1a46) 0%, var(--bg-2, #0b1233) 100%);
    border: 1px solid var(--line-2, rgba(255,255,255,0.14));
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.55), inset 0 0 0 1px color-mix(in srgb, var(--text, #eef2ff) 6%, transparent);
    border-radius: 20px;
    padding: 22px 22px 18px;
    width: 100%;
    max-width: 1180px;
    color: var(--text, #eef2ff);
    transform: translateY(12px) scale(0.98);
    transition: transform 0.22s cubic-bezier(0.175,0.885,0.32,1.275);
    max-height: calc(100vh - 32px);
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
  }
  .sl-compare-modal.active .sl-compare-box {
    transform: translateY(0) scale(1);
  }
  .sl-compare-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
    flex-wrap: wrap;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--line-2, rgba(255,255,255,0.14));
  }
  .sl-compare-title {
    font-size: 19px;
    font-weight: 900;
    color: var(--text, #eef2ff);
    margin: 0;
    line-height: 1.4;
  }
  .sl-compare-sub {
    font-size: 13px;
    color: var(--sub, #aab4e8);
    margin: 4px 0 0;
    line-height: 1.6;
  }
  .sl-compare-close {
    background: var(--danger, #ef4444);
    border: 1px solid color-mix(in srgb, var(--danger, #ef4444) 50%, transparent);
    color: #fff;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 20px;
    font-weight: 800;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .15s ease, filter .15s ease;
  }
  .sl-compare-close:hover { transform: scale(1.06); filter: brightness(1.1); }
  .sl-compare-toolbar {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 10px;
    align-items: end;
    margin-bottom: 14px;
  }
  .sl-compare-side {
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: var(--soft-bg, rgba(20, 30, 70, 0.85));
    border: 1px solid var(--line, rgba(255,255,255,0.08));
    border-radius: 12px;
    padding: 10px 12px;
  }
  .sl-compare-side-label {
    font-size: 12px;
    font-weight: 900;
    color: var(--primary, #6f5bff);
    letter-spacing: 0.8px;
    text-transform: uppercase;
  }
  .sl-compare-select {
    width: 100%;
    box-sizing: border-box;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid var(--line-2, rgba(255,255,255,0.14));
    background: var(--field-bg, #ffffff);
    color: var(--text, #0a1130);
    font-size: 13px;
    outline: none;
    font-family: inherit;
    font-weight: 600;
  }
  .sl-compare-select:focus { border-color: var(--primary, #6e8bff); box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary, #6e8bff) 30%, transparent); }
  .sl-compare-action-col {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 100px;
  }
  .sl-compare-btn {
    border: 0;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: transform .15s ease, opacity .15s ease, filter .15s ease;
    font-family: inherit;
  }
  .sl-compare-btn.primary {
    background: linear-gradient(180deg, var(--primary, #6f5bff), var(--primary-2, #8575ff));
    color: #fff;
    border: 1px solid color-mix(in srgb, var(--primary, #6f5bff) 50%, transparent);
  }
  .sl-compare-btn.ghost {
    background: var(--soft-bg, rgba(255, 255, 255, 0.08));
    color: var(--text, #eef2ff);
    border: 1px solid var(--line, rgba(255,255,255,0.08));
  }
  .sl-compare-btn:hover { transform: translateY(-1px); filter: brightness(1.08); }
  .sl-compare-panels {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    overflow: auto;
    min-height: 280px;
    max-height: calc(100vh - 280px);
  }
  .sl-compare-panel {
    background: var(--field-bg, #ffffff);
    border: 1px solid var(--line, rgba(255,255,255,0.08));
    border-radius: 14px;
    padding: 16px 18px;
    overflow: auto;
    color: var(--text, #0a1130);
  }
  .sl-compare-panel-title {
    font-size: 17px;
    font-weight: 900;
    color: var(--text, #0a1130);
    margin: 0 0 6px;
    line-height: 1.5;
    word-break: break-word;
  }
  .sl-compare-panel-chapter {
    font-size: 13px;
    color: var(--sub, #4a5577);
    margin: 0 0 10px;
    line-height: 1.4;
    font-weight: 600;
  }
  .sl-compare-panel-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
  }
  .sl-compare-panel-body {
    font-size: 15px;
    color: var(--text, #0a1130);
    line-height: 1.85;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 50vh;
    overflow: auto;
    font-weight: 500;
  }
  .sl-compare-diff-strip {
    font-size: 12px;
    color: var(--primary, #1f3aae);
    margin-top: 12px;
    padding: 10px 12px;
    background: color-mix(in srgb, var(--primary, #6e8bff) 12%, transparent);
    border-radius: 8px;
    border: 1px dashed color-mix(in srgb, var(--primary, #6e8bff) 40%, transparent);
    line-height: 1.6;
    font-weight: 700;
  }
  .sl-compare-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6px;
    color: var(--muted, #4a5577);
    font-size: 14px;
    padding: 30px 10px;
    text-align: center;
    min-height: 200px;
    font-weight: 600;
  }
  .sl-compare-foot {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin-top: 14px;
  }
  .sl-compare-foot .sl-compare-btn { min-width: 110px; }
  .sl-compare-highlight {
    background: color-mix(in srgb, var(--primary, #6f5bff) 22%, transparent);
    color: var(--text, #5a3500);
    border-radius: 4px;
    padding: 0 3px;
    font-weight: 700;
  }
  @media (max-width: 680px) {
    .sl-compare-modal { padding: 8px; }
    .sl-compare-box { max-width: none; padding: 16px 14px; max-height: calc(100vh - 16px); }
    .sl-compare-toolbar { grid-template-columns: 1fr; }
    .sl-compare-action-col { flex-direction: row; }
    .sl-compare-action-col .sl-compare-btn { flex: 1; }
    .sl-compare-panels { grid-template-columns: 1fr; max-height: calc(100vh - 360px); }
    .sl-compare-foot { flex-direction: column-reverse; }
    .sl-compare-foot .sl-compare-btn { width: 100%; }
  }

  /* Version Fab (Mobile only) — 5-tap unlock trigger */
  .sl-version-fab{
    display:none;
    position:fixed;
    left:10px;
    bottom:84px;
    z-index:998;
    padding:5px 12px;
    font-size:12px;
    font-weight:800;
    color:var(--primary);
    background:linear-gradient(90deg,var(--panel-2,#111f57),var(--panel,#0f1a46));
    border:1px solid var(--line-2);
    border-radius:999px;
    box-shadow:0 6px 18px rgba(0,0,0,.28);
    cursor:pointer;
    user-select:none;
    -webkit-tap-highlight-color:transparent;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    letter-spacing:.5px;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .sl-version-fab:active{transform:scale(0.95);box-shadow:0 3px 10px rgba(0,0,0,.28);}
  .sl-version-fab.show{display:flex !important;align-items:center;justify-content:center;}
  .sl-version-fab.unlock-pulse{color:#c7f9cc !important;text-shadow:0 0 10px rgba(61,220,151,.55);box-shadow:0 4px 14px rgba(61,220,151,.35);}
  @media (max-width:760px){
    .sl-version-fab{display:flex !important;align-items:center;justify-content:center;}
  }

  .sl-glass-modal {
    position: fixed;
    inset: 0;
    background: var(--glass-overlay);
    backdrop-filter: blur(12px);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0s linear 0.3s;
  }
  .sl-glass-modal.active {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transition: opacity 0.3s ease, visibility 0s linear 0s;
  }
  /* === v4.59 隐藏态防护：避免被全局 * 选择器意外开启 pointer-events，导致"看不见但点得到" === */
  .sl-glass-modal .sl-glass-content,
  .sl-glass-modal .sl-glass-content * {
    pointer-events: none;
  }
  .sl-glass-modal.active .sl-glass-content,
  .sl-glass-modal.active .sl-glass-content * {
    pointer-events: auto;
  }
  .sl-glass-content {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
    border-radius: 24px;
    padding: 32px;
    width: 90%;
    max-width: 360px;
    text-align: center;
    transform: translateY(20px);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
  .sl-glass-modal.active .sl-glass-content {
    transform: translateY(0);
  }
  .sl-glass-title {
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 10px;
    color: var(--glass-title);
  }
  .sl-glass-desc {
    font-size: 13px;
    color: var(--glass-desc);
    margin-bottom: 24px;
    line-height: 1.6;
  }
  .sl-glass-input {
    width: 100%;
    background: var(--glass-input-bg);
    border: 1px solid var(--glass-input-border);
    color: var(--glass-input-text);
    font-size: 16px;
    padding: 14px 18px;
    border-radius: 14px;
    text-align: center;
    margin-bottom: 20px;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    letter-spacing: 2px;
  }
  .sl-glass-input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 4px var(--glass-input-focus);
  }
  .sl-glass-input:disabled {
    opacity: 0.55;
    cursor: not-allowed;
  }
  .sl-glass-actions {
    display: flex;
    gap: 12px;
  }
  .sl-glass-actions button {
    flex: 1;
    padding: 12px;
  }
  .sl-glass-lock-hint {
    font-size: 12px;
    color: var(--glass-desc);
    margin: -10px 0 14px;
    line-height: 1.5;
  }
  .sl-glass-lock-hint strong { color: #ff7a85; }
  .sl-glass-attempts {
    display: inline-block;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(255,122,133,.12);
    color: #ff7a85;
    margin-left: 6px;
    letter-spacing: 0.5px;
  }

  /* === 搜索历史 chips === */
  .sl-search-history-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 6px;
    padding: 8px 4px 0;
  }
  .sl-search-history-label {
    font-size: 12px;
    color: var(--sub);
    flex-shrink: 0;
  }
  .sl-search-history-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    flex: 1;
  }
  .sl-search-history-empty {
    font-size: 12px;
    color: var(--muted);
    font-style: italic;
  }
  .sl-search-history-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px 4px 10px;
    background: var(--soft-bg);
    border: 1px solid var(--line);
    border-radius: 999px;
    font-size: 12px;
    color: var(--text);
    cursor: pointer;
    transition: background 0.15s, transform 0.1s;
  }
  .sl-search-history-chip:hover {
    background: var(--card-bg-2);
    transform: translateY(-1px);
  }
  .sl-search-history-remove {
    border: none;
    background: transparent;
    color: var(--muted);
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    padding: 0 2px;
    border-radius: 999px;
  }
  .sl-search-history-remove:hover { color: #ff7a85; }
  .sl-search-history-clear {
    border: 1px dashed var(--line);
    background: transparent;
    color: var(--sub);
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    cursor: pointer;
  }
  .sl-search-history-clear:hover { color: #ff7a85; border-color: #ff7a85; }
  .sl-search-hint {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    color: var(--muted);
  }
  .sl-search-hint code {
    background: var(--soft-bg);
    padding: 1px 6px;
    border-radius: 6px;
    font-size: 11px;
    color: var(--primary);
  }

  html, body {
    margin: 0;
    min-height: 100%;
    font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
    background:
      radial-gradient(circle at top right, rgba(111,91,255,0.18), transparent 28%),
      radial-gradient(circle at bottom left, rgba(79,211,255,0.08), transparent 30%),
      linear-gradient(180deg, #08102c 0%, #060b22 100%);
    color: var(--text);
  }

  body {
    display: flex;
  }

  .sidebar {
    width: 92px;
    min-height: 100vh;
    position: sticky;
    top: 0;
    background: linear-gradient(180deg, #2837b9 0%, #2a2eb4 38%, #181b7b 100%);
    box-shadow: 10px 0 30px rgba(0,0,0,0.25);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 14px 10px 18px;
    z-index: 20;
  }

  .brand {
    width: 68px;
    height: 68px;
    border: 0;
    border-radius: 22px;
    background: rgba(255,255,255,0.12);
    padding: 6px;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.15);
    margin-bottom: 14px;
  }

  .brand img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 18px;
    display: block;
  }

  .nav {
    display: grid;
    gap: 14px;
    width: 100%;
  }

  .nav-btn {
    width: 100%;
    border: 0;
    border-radius: 18px;
    background: rgba(255,255,255,0.10);
    color: #eef2ff;
    padding: 12px 8px 11px;
    cursor: pointer;
    transition: transform .16s ease, background .16s ease, box-shadow .16s ease;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.10);
  }

  .nav-btn.active,
  .nav-btn:hover {
    background: rgba(255,255,255,0.18);
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(0,0,0,0.18);
  }

  .nav-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 7px;
  }

  .nav-icon svg {
    width: 22px;
    height: 22px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .nav-text {
    font-size: 11px;
    line-height: 1.35;
    color: rgba(255,255,255,0.92);
    letter-spacing: .4px;
  }

  .sidebar-foot {
    margin-top: auto;
    text-align: center;
    color: rgba(255,255,255,0.70);
    font-size: 10px;
    line-height: 1.6;
    padding-top: 18px;
  }

  .app {
    flex: 1;
    min-width: 0;
    padding: 18px;
  }

  .wrap {
    max-width: 1480px;
    margin: 0 auto;
  }

  .view {
    display: none;
  }

  .view.active {
    display: block;
  }

  .hero {
    background: linear-gradient(180deg, rgba(15,26,70,0.98), rgba(11,21,63,0.98));
    border: 1px solid var(--line);
    border-radius: 28px;
    box-shadow: var(--shadow);
    overflow: hidden;
    position: relative;
  }

  .hero::after {
    content: "";
    position: absolute;
    right: -40px;
    top: -20px;
    width: 340px;
    height: 340px;
    background: radial-gradient(circle, rgba(255,255,255,0.06), transparent 60%);
    pointer-events: none;
  }

  .hero-grid {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 18px;
    padding: 16px;
  }

  /* === v4.55 使用帮助页 hero：标题块横向铺满，子块 3 列 === */
  .hero-grid-help {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .hero-title-card-wide {
    width: 100% !important;
    max-width: none !important;
  }
  .help-side-row {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 14px !important;
  }
  .help-side-card {
    background: var(--card-bg-2);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 18px 20px;
    box-shadow: var(--soft-shadow);
  }
  .help-side-card h3 {
    margin: 0 0 10px;
    font-size: 15px;
    font-weight: 800;
    color: var(--text);
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .help-side-card h3 .hj-icon {
    width: 18px;
    height: 18px;
    display: inline-flex;
    color: var(--primary);
  }
  .help-side-card h3 .hj-icon svg { width: 100%; height: 100%; stroke: currentColor; }
  .hero-steps, .hero-shortcuts, .hero-tiers {
    margin: 6px 0 0;
    padding-left: 22px;
    line-height: 1.85;
    color: var(--text);
  }
  .hero-shortcuts, .hero-tiers { list-style: none; padding-left: 0; }
  .hero-tiers li { display: flex; align-items: flex-start; gap: 8px; margin: 6px 0; }
  .tier-dot {
    display: inline-block;
    width: 10px; height: 10px;
    border-radius: 999px;
    margin-top: 7px;
    flex: 0 0 10px;
  }
  .tier-public { background: #4ade80; }
  .tier-law    { background: #f59e0b; }
  .tier-maint  { background: #ef4444; }
  .hj-icon {
    display: inline-flex;
    width: 16px; height: 16px;
    vertical-align: -3px;
    margin-right: 4px;
    color: var(--primary);
  }
  .hj-icon svg { width: 100%; height: 100%; stroke: currentColor; }
  .hero-quick-btn {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
  }
  .hero-quick-btn .hj-icon { margin-right: 0; color: currentColor; }

  .hero-brand {
    background: linear-gradient(180deg, rgba(19,33,86,0.95), rgba(10,19,59,0.95));
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 18px 16px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    min-height: 220px;
  }

  .hero-brand-top {
    display: flex;
    gap: 12px;
    align-items: center;
  }

  .hero-brand-logo {
    width: 88px;
    height: 88px;
    border-radius: 20px;
    object-fit: cover;
    box-shadow: 0 16px 28px rgba(0,0,0,0.26);
    border: 2px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.08);
  }

  .hero-brand h2 {
    margin: 0;
    font-size: 24px;
    line-height: 1.25;
  }

  .hero-brand p {
    margin: 6px 0 0;
    color: var(--sub);
    font-size: 13px;
    line-height: 1.75;
  }

  .hero-brand-mini {
    color: var(--sub);
    font-size: 12px;
    line-height: 1.7;
  }

  .home-brand {
    gap: 14px;
  }

  .home-brand .hero-brand-top {
    width: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    gap: 14px;
  }

  .home-brand .hero-brand-logo {
    width: 118px;
    height: 118px;
    border-radius: 24px;
  }

  .home-brand .hero-brand-top > div {
    width: 100%;
    text-align: center;
  }

  .home-brand h2 {
    margin: 0;
  }

  .home-brand p {
    margin: 10px 0 0;
  }

  .home-brand .hero-brand-mini {
    margin-top: 2px;
  }

  .hero-main {
    display: grid;
    gap: 14px;
  }

  .hero-title-card {
    background: linear-gradient(180deg, rgba(19,32,84,0.96), rgba(11,21,63,0.96));
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 20px 22px 18px;
    position: relative;
    overflow: hidden;
  }

  .hero-title-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at 85% 30%, rgba(255,255,255,0.08), transparent 25%),
      radial-gradient(circle at 92% 22%, rgba(255,255,255,0.04), transparent 12%);
    pointer-events: none;
  }

  .eyebrow {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    color: var(--sub);
    font-size: 13px;
    margin-bottom: 8px;
  }

  .eyebrow-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--green);
    box-shadow: 0 0 0 4px rgba(61,220,151,0.12);
  }

  .hero-title {
    margin: 0;
    font-size: 36px;
    line-height: 1.2;
    letter-spacing: .4px;
  }

  .hero-desc {
    margin: 12px 0 0;
    max-width: 980px;
    color: var(--sub);
    font-size: 14px;
    line-height: 1.9;
  }

  .hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
  }

  .meta-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.06);
    border: 1px solid var(--line);
    color: var(--sub);
    font-size: 12px;
  }

  .stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
  }

  .stat-card {
    background: linear-gradient(180deg, rgba(19,32,84,0.96), rgba(11,21,63,0.96));
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 16px 18px;
    position: relative;
    overflow: hidden;
  }

  .stat-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--sub);
    font-size: 13px;
    margin-bottom: 12px;
  }

  .stat-icon {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.08);
  }

  .stat-value {
    font-size: 34px;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 6px;
  }

  .stat-label {
    color: var(--sub);
    font-size: 13px;
    line-height: 1.65;
  }

  .icon-purple { color: #8f7cff; }
  .icon-pink { color: #ff89c0; }
  .icon-green { color: #3ddc97; }
  .icon-gold { color: #f7c662; }

  .stat-icon svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    display: block;
  }


  .panel {
    background: linear-gradient(180deg, rgba(15,26,70,0.98), rgba(11,21,63,0.98));
    border: 1px solid var(--line);
    border-radius: 24px;
    box-shadow: var(--soft-shadow);
  }

  .section-block {
    margin-top: 18px;
  }

  .section-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    padding: 22px 22px 0;
  }

  .section-title {
    margin: 0;
    font-size: 24px;
  }

  .section-sub {
    margin-top: 6px;
    color: var(--sub);
    font-size: 13px;
    line-height: 1.7;
  }

  .action-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
  }

  button {
    appearance: none;
    border: 0;
    border-radius: 14px;
    padding: 11px 15px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease, background .15s ease;
  }

  button:hover {
    transform: translateY(-1px);
  }

  .btn-primary {
    background: linear-gradient(135deg, var(--primary), var(--primary-2));
    color: white;
    box-shadow: 0 14px 24px rgba(111,91,255,0.25);
  }

  .btn-secondary {
    background: rgba(255,255,255,0.08);
    color: var(--text);
    border: 1px solid var(--line);
  }

  .btn-danger {
    background: rgba(255,107,143,0.14);
    color: #ffc3d2;
    border: 1px solid rgba(255,107,143,0.20);
  }

  .btn-ghost {
    background: transparent;
    color: var(--sub);
    border: 1px dashed var(--line-2);
  }

  .workspace {
    padding: 18px 22px 22px;
  }

  .calc-rows {
    display: grid;
    gap: 14px;
  }

  .calc-row {
    display: grid;
    grid-template-columns: 2.4fr 1fr 1fr 100px;
    gap: 12px;
    align-items: start;
    padding: 16px;
    background: rgba(255,255,255,0.03);
    border: 1px solid var(--line);
    border-radius: 18px;
    position: relative;
  }

  .field {
    position: relative;
  }

  .field label {
    display: block;
    color: var(--sub);
    font-size: 12px;
    margin-bottom: 8px;
  }

  .input,
  .select,
  .textarea {
    width: 100%;
    border-radius: 14px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,0.06);
    color: var(--text);
    padding: 13px 14px;
    font-size: 14px;
    outline: none;
  }

  .input::placeholder,
  .textarea::placeholder {
    color: rgba(238,242,255,0.38);
  }

  .input:focus,
  .select:focus,
  .textarea:focus {
    border-color: rgba(143,124,255,0.6);
    box-shadow: 0 0 0 4px rgba(143,124,255,0.08);
  }

  .suggestions {
    position: absolute;
    left: 0;
    right: 0;
    top: 76px;
    background: #0f1a46;
    border: 1px solid var(--line-2);
    border-radius: 16px;
    overflow: hidden;
    z-index: 12;
    box-shadow: 0 18px 32px rgba(0,0,0,0.28);
    display: none;
    max-height: 280px;
    overflow-y: auto;
  }

  .suggestion {
    padding: 12px 14px;
    cursor: pointer;
    border-bottom: 1px solid rgba(255,255,255,0.05);
  }

  .suggestion:last-child {
    border-bottom: none;
  }

  .suggestion:hover {
    background: rgba(255,255,255,0.06);
  }

  .suggestion-name {
    font-weight: 700;
    margin-bottom: 4px;
  }

  .suggestion-meta {
    color: var(--sub);
    font-size: 12px;
    line-height: 1.6;
  }

  .row-note {
    grid-column: 1 / -1;
    border-radius: 14px;
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--line);
    padding: 12px 14px;
    color: var(--sub);
    font-size: 13px;
    line-height: 1.8;
  }

  .toggle-row {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    padding: 16px 4px 4px;
  }

  .toggle {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--sub);
    font-size: 14px;
  }

  .toggle input {
    width: 18px;
    height: 18px;
    accent-color: var(--primary);
  }

  .result-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-top: 18px;
  }

  .result-card {
    padding: 22px;
  }

  .result-card h3 {
    margin: 0 0 14px;
    font-size: 20px;
  }

  .result-main {
    font-size: 22px;
    line-height: 1.45;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 12px;
  }

  .result-main strong {
    font-size: 46px;
    color: #97a4ff;
    letter-spacing: .5px;
  }

  .result-detail {
    color: var(--sub);
    line-height: 1.95;
    font-size: 14px;
  }

  .textarea {
    min-height: 250px;
    resize: vertical;
    line-height: 1.8;
  }

  .codex-grid {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 16px;
    margin-top: 18px;
  }

  .codex-side {
    padding: 16px;
  }

  .codex-side .search-row,
  .search-page .search-row {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr auto;
    gap: 10px;
  }

  .search-page .search-row {
    grid-template-columns: 1fr auto;
  }

  .chapter-list {
    margin-top: 14px;
    display: grid;
    gap: 8px;
    max-height: 680px;
    overflow-y: auto;
    padding-right: 4px;
  }

  .chapter-item {
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,0.03);
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, transform .15s ease;
  }

  .chapter-item:hover {
    transform: translateY(-1px);
    background: rgba(255,255,255,0.05);
  }

  .chapter-item.active {
    background: rgba(111,91,255,0.18);
    border-color: rgba(143,124,255,0.55);
  }

  .chapter-item-title {
    font-weight: 700;
    margin-bottom: 4px;
  }

  .chapter-item-meta {
    color: var(--sub);
    font-size: 12px;
    line-height: 1.6;
  }

  .codex-main {
    padding: 16px;
  }

  .codex-main-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
  }

  .codex-main-title {
    margin: 0;
    font-size: 24px;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
  }

  .chapter-official-link {
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 10px;
    border-radius:999px;
    border:1px solid var(--line-2);
    background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 18%, transparent), color-mix(in srgb, var(--field-bg) 90%, transparent));
    color:var(--text);
    font-size:12px;
    font-weight:800;
    text-decoration:none;
    line-height:1;
  }

  .chapter-official-link:hover {
    background:linear-gradient(180deg,var(--primary),var(--primary-2));
    color:var(--on-primary);
  }

  .codex-main-sub {
    color: var(--sub);
    font-size: 13px;
    line-height: 1.75;
    margin-top: 6px;
  }

  .section-list {
    display: grid;
    gap: 10px;
  }

  .law-section {
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    background: rgba(255,255,255,0.03);
  }

  .law-section-head {
    width: 100%;
    text-align: left;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: transparent;
    color: var(--text);
    padding: 15px 16px;
    border-radius: 0;
    font-weight: 700;
    font-size: 15px;
  }

  .law-section-head:hover {
    transform: none;
    background: rgba(255,255,255,0.04);
  }

  .law-section-meta {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    font-size: 12px;
  }

  .tag {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
    color: var(--sub);
    border: 1px solid rgba(255,255,255,0.05);
  }

  .tag.good {
    color: #0a3d20;
    background: #4ade80;
    border-color: #16a34a;
  }

  .tag.bad {
    color: #4a0a18;
    background: #fb7185;
    border-color: #be123c;
  }

  .tag.light {
    color: #002a4d;
    background: #38bdf8;
    border-color: #0369a1;
    font-weight: 900;
    box-shadow: 0 1px 4px rgba(56, 189, 248, 0.5);
  }

  .tag.felony {
    color: #4a0a18;
    background: #f43f5e;
    border-color: #be123c;
    font-weight: 900;
    box-shadow: 0 1px 4px rgba(244, 63, 94, 0.5);
  }

  .tag.free {
    color: #064e1f;
    background: #4ade80;
    border-color: #16a34a;
    font-weight: 900;
  }

  .tag.civil {
    color: #4a2c00;
    background: #fbbf24;
    border-color: #d97706;
    font-weight: 900;
  }

  .law-section-body {
    display: none;
    padding: 0 16px 16px;
    color: #d8defd;
    line-height: 1.95;
    font-size: 14px;
    white-space: pre-wrap;
  }

  .law-section.open .law-section-body {
    display: block;
  }

  .law-section.open {
    border-color: rgba(143,124,255,0.45);
    background: rgba(111,91,255,0.08);
  }

  /* === v4.59 全局搜索分组（codex 关键词模式下跨章节平铺） === */
  .codex-search-group {
    margin-bottom: 16px;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid var(--line, rgba(255,255,255,0.10));
    background: rgba(255,255,255,0.02);
  }
  .codex-search-group-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    background: linear-gradient(90deg, rgba(111,91,255,0.18), rgba(60,80,200,0.12));
    border-bottom: 1px solid var(--line, rgba(255,255,255,0.10));
    font-size: 13px;
    color: var(--text, #e8ecff);
    cursor: pointer;
    user-select: none;
  }
  .codex-search-group-head:hover {
    background: linear-gradient(90deg, rgba(143,124,255,0.28), rgba(80,100,220,0.18));
  }
  .codex-search-group-num {
    font-weight: 700;
    color: #c8baff;
    font-size: 12px;
    letter-spacing: 0.5px;
    background: rgba(143,124,255,0.18);
    border: 1px solid rgba(143,124,255,0.35);
    padding: 2px 8px;
    border-radius: 999px;
    flex-shrink: 0;
  }
  .codex-search-group-title {
    flex: 1;
    font-weight: 600;
    color: var(--text, #e8ecff);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .codex-search-group-count {
    font-size: 12px;
    color: var(--sub, #a9b3d6);
    background: rgba(0,0,0,0.18);
    padding: 2px 8px;
    border-radius: 999px;
    flex-shrink: 0;
  }
  .codex-search-group-jump {
    padding: 4px 10px !important;
    font-size: 12px !important;
    border-radius: 8px !important;
  }
  .codex-search-group .law-section {
    margin: 10px 12px;
    border-radius: 10px;
  }
  .codex-search-group .law-section:last-child {
    margin-bottom: 12px;
  }

  .search-page {
    margin-top: 18px;
  }

  .search-panel {
    padding: 20px;
  }

  .search-help {
    color: var(--sub);
    font-size: 13px;
    line-height: 1.75;
    margin-top: 10px;
  }

  .search-results {
    margin-top: 16px;
    display: grid;
    gap: 12px;
  }

  .search-result {
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,0.03);
  }

  .search-result-title {
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 6px;
  }

  .search-result-meta {
    color: var(--sub);
    font-size: 12px;
    margin-bottom: 10px;
  }

  .search-result-content {
    color: #d8defd;
    line-height: 1.9;
    font-size: 14px;
    white-space: pre-wrap;
  }

  .empty-state {
    text-align: center;
    color: var(--sub);
    padding: 34px 16px;
    border: 1px dashed var(--line-2);
    border-radius: 18px;
    background: rgba(255,255,255,0.02);
    line-height: 1.9;
  }

  .top-mini {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 10px;
  }

  .mini-chip {
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,0.06);
    color: var(--sub);
    font-size: 12px;
    border: 1px solid var(--line);
  }

  .foot-note {
    margin-top: 14px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.8;
  }

  ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
  }

  ::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.16);
    border-radius: 999px;
  }

  ::-webkit-scrollbar-track {
    background: transparent;
  }

  @media (max-width: 1200px) {
    .hero-grid,
    .codex-grid,
    .result-grid {
      grid-template-columns: 1fr;
    }

    .stats-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 980px) {
    body {
      display: block;
    }

    .sidebar {
      position: static;
      width: 100%;
      min-height: auto;
      height: auto;
      flex-direction: row;
      justify-content: flex-start;
      gap: 10px;
      padding: 10px 12px;
      overflow-x: auto;
    }

    .nav {
      display: flex;
      width: auto;
      gap: 10px;
    }

    .nav-btn {
      width: 86px;
      flex-shrink: 0;
    }

    .sidebar-foot {
      display: none;
    }

    .app {
      padding: 14px;
    }

    .hero-title {
      font-size: 28px;
    }

    .calc-row {
      grid-template-columns: 1fr;
    }

    .codex-side .search-row {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 760px) {
    .stats-grid {
      grid-template-columns: 1fr;
    }

    .hero-brand-top {
      flex-direction: column;
      align-items: flex-start;
    }

    .hero-brand-logo {
      width: 72px;
      height: 72px;
    }

    .hero-title {
      font-size: 24px;
    }

    .section-head {
      padding: 18px 18px 0;
    }

    .workspace,
    .codex-side,
    .codex-main,
    .search-panel,
    .result-card {
      padding-left: 16px;
      padding-right: 16px;
    }

    .search-page .search-row {
      grid-template-columns: 1fr;
    }
  }

  /* sidebar upgrade */
  .sidebar{width:146px;padding:12px 12px 16px;align-items:stretch;background:linear-gradient(180deg,#202b86 0%,#232b88 18%,#1c266f 52%,#172056 100%);}
  .sidebar-brand-card{padding:0 0 8px;}
  .brand{width:92px;height:92px;margin:0 auto 8px;border-radius:18px;background:rgba(255,255,255,.08);padding:6px;display:block;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 26px rgba(0,0,0,.15);}
  .brand img{border-radius:14px;object-fit:cover;}
  .sidebar-brand-text{text-align:center;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08);}
  .brand-title{font-size:24px;font-weight:800;letter-spacing:.4px;color:#fff;line-height:1.1;}
  .brand-sub{margin-top:6px;font-size:13px;color:rgba(255,255,255,.8);line-height:1.3;}
  .nav{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:10px;}
  .nav-btn{width:100%;display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:14px;background:transparent;box-shadow:none;text-align:left;}
  .nav-btn:hover,.nav-btn.active{background:linear-gradient(180deg,rgba(111,91,255,.92),rgba(132,117,255,.82));transform:none;box-shadow:0 10px 24px rgba(34,31,107,.28), inset 0 1px 0 rgba(255,255,255,.08);}
  .nav-icon{margin-bottom:0;flex:0 0 18px;display:flex;align-items:center;justify-content:center;}
  .nav-icon svg{width:18px;height:18px;stroke:#eef2ff;opacity:.95;}
  .nav-text{font-size:14px;font-weight:600;letter-spacing:.1px;white-space:nowrap;}
  .sidebar-foot{margin-top:auto;padding-top:14px;}
  .status-card{border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border-radius:14px;padding:12px 10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);}
  .status-title{font-size:13px;font-weight:700;color:#fff;line-height:1.3;}
  .status-sub{font-size:12px;color:#cfd5ff;margin-top:3px;}
  .status-dotline{margin-top:10px;font-size:12px;color:#8be9a8;display:flex;align-items:center;gap:6px;}
  .status-dotline .dot{width:8px;height:8px;border-radius:50%;background:#27d86f;display:inline-block;box-shadow:0 0 12px rgba(39,216,111,.65);}
  .status-version{margin-top:8px;font-size:12px;color:#9ba6df;}
  .app{padding-left:22px;}
  .settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px;}
  .settings-card{padding:20px;}
  .settings-card h3{margin:0 0 10px;font-size:18px;}
  .settings-card p{margin:0 0 14px;color:var(--sub);line-height:1.7;font-size:14px;}
  .settings-actions{display:flex;gap:10px;flex-wrap:wrap;}
  @media (max-width:1200px){.settings-grid{grid-template-columns:1fr;}}
  @media (max-width:900px){.sidebar{width:120px;}.brand{width:78px;height:78px;}.brand-title{font-size:18px;}.nav-text{font-size:13px;}}



  .version-highlight {
    margin-top: 16px;
    padding: 16px 18px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.12);
    background: linear-gradient(135deg, rgba(255,121,183,0.18), rgba(111,91,255,0.22), rgba(79,211,255,0.14));
    box-shadow: 0 0 0 1px rgba(255,255,255,0.04) inset, 0 12px 30px rgba(13, 20, 72, 0.28);
    position: relative;
    overflow: hidden;
  }
  .version-highlight::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255,255,255,0.08), transparent 35%, transparent 65%, rgba(255,255,255,0.08));
    pointer-events: none;
  }
  .version-highlight-title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .4px;
    color: #fff0f7;
    margin-bottom: 10px;
  }
  .version-highlight-title::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #ff79b7;
    box-shadow: 0 0 14px rgba(255,121,183,0.8);
    display: inline-block;
  }
  .version-highlight-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    position: relative;
    z-index: 1;
  }
  .version-chip {
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(9, 17, 54, 0.52);
    border: 1px solid rgba(255,255,255,0.08);
    color: var(--text);
    font-size: 13px;
    line-height: 1.55;
  }
  .version-chip strong {
    display: block;
    font-size: 12px;
    color: #ffc8e4;
    margin-bottom: 4px;
    letter-spacing: .2px;
  }
  @media (max-width: 980px) {
    .version-highlight-grid {
      grid-template-columns: 1fr;
    }
  }


  /* 处罚标准重点展示：统一将法典正文中的处罚标准做成醒目卡片 */
  .punishment-standard-box {
    margin: 12px 0 4px;
    padding: 13px 15px 14px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.14);
    border-left: 4px solid #ff4d6d;
    background: rgba(6, 11, 34, 0.46);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 10px 24px rgba(0,0,0,0.12);
  }

  .punishment-standard-title {
    color: #ffffff;
    font-weight: 800;
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 7px;
  }

  .punishment-standard-content {
    color: #d8defd;
    font-size: 14px;
    line-height: 1.9;
    white-space: pre-wrap;
  }

  .punishment-highlight {
    color: #ff6b8f;
    font-weight: 900;
    padding: 0 2px;
    text-shadow: 0 0 12px rgba(255,107,143,0.28);
  }

  .row-note .punishment-standard-box,
  .search-result-content .punishment-standard-box {
    margin-top: 8px;
    margin-bottom: 8px;
  }



  /* ===== 19:9 宽屏适配：尽量一屏显示主要内容 ===== */
  html, body {
    height: 100%;
  }

  body {
    min-height: 100vh;
    overflow: hidden;
  }

  .sidebar {
    width: 128px !important;
    padding: 10px 10px 12px !important;
  }

  .brand {
    width: 74px !important;
    height: 74px !important;
    margin-bottom: 6px !important;
  }

  .brand-title {
    font-size: 18px !important;
  }

  .brand-sub,
  .status-sub,
  .status-version,
  .status-dotline {
    font-size: 11px !important;
  }

  .nav {
    gap: 7px !important;
    margin-top: 8px !important;
  }

  .nav-btn {
    min-height: 38px;
    padding: 8px 10px !important;
    border-radius: 12px !important;
  }

  .nav-icon svg {
    width: 16px !important;
    height: 16px !important;
  }

  .nav-text {
    font-size: 12px !important;
  }

  .sidebar-foot {
    padding-top: 8px !important;
  }

  .status-card {
    padding: 8px !important;
    border-radius: 12px !important;
  }

  .app {
    height: 100vh;
    overflow: hidden;
    padding: 10px 12px !important;
  }

  .wrap {
    max-width: none !important;
    height: 100%;
  }

  .view.active {
    height: 100%;
    min-height: 0;
  }

  .hero,
  .panel {
    border-radius: 18px !important;
  }

  .hero-grid {
    grid-template-columns: 230px 1fr !important;
    gap: 10px !important;
    padding: 10px !important;
  }

  .hero-brand {
    min-height: 150px !important;
    padding: 12px !important;
    border-radius: 16px !important;
  }

  .hero-brand-logo {
    width: 58px !important;
    height: 58px !important;
    border-radius: 14px !important;
  }

  .hero-brand h2,
  .section-title,
  .codex-main-title {
    font-size: 20px !important;
  }

  .hero-title-card {
    padding: 14px 16px !important;
    border-radius: 16px !important;
  }

  .hero-title {
    font-size: 26px !important;
  }

  .hero-desc,
  .section-sub,
  .codex-main-sub,
  .chapter-item-meta,
  .law-section-body,
  .row-note,
  .result-detail,
  .search-result-content {
    line-height: 1.62 !important;
  }

  .hero-desc {
    margin-top: 6px !important;
  }

  .hero-meta,
  .top-mini {
    margin-top: 8px !important;
    gap: 7px !important;
  }

  .meta-pill,
  .mini-chip {
    padding: 5px 9px !important;
    font-size: 11px !important;
  }

  .stats-grid {
    gap: 8px !important;
  }

  .stat-card {
    padding: 10px 12px !important;
    border-radius: 14px !important;
  }

  .stat-top {
    margin-bottom: 6px !important;
  }

  .stat-value {
    font-size: 24px !important;
  }

  .section-block,
  .codex-grid,
  .search-page {
    margin-top: 10px !important;
  }

  .section-head {
    padding: 14px 16px 0 !important;
  }

  .workspace,
  .codex-side,
  .codex-main,
  .search-panel,
  .result-card {
    padding: 12px 14px !important;
  }

  .codex-grid {
    grid-template-columns: 280px 1fr !important;
    gap: 10px !important;
    height: calc(100vh - 20px);
    min-height: 0;
  }

  .codex-side,
  .codex-main {
    min-height: 0;
    overflow: hidden;
  }

  .codex-main-head {
    margin-bottom: 8px !important;
  }

  .chapter-list {
    max-height: calc(100vh - 118px) !important;
    gap: 6px !important;
  }

  .chapter-item {
    padding: 8px 10px !important;
    border-radius: 11px !important;
  }

  .chapter-item-title {
    font-size: 13px !important;
    margin-bottom: 2px !important;
  }

  .section-list {
    gap: 7px !important;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    padding-right: 4px;
  }

  .law-section {
    border-radius: 12px !important;
  }

  .law-section-head {
    padding: 9px 12px !important;
    font-size: 13px !important;
    min-height: 38px;
  }

  .law-section-meta {
    gap: 5px !important;
  }

  .tag,
  .severity-badge,
  .severity-tag,
  .crime-severity {
    padding: 2px 6px !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  .law-section-body {
    padding: 0 12px 10px !important;
    font-size: 12px !important;
  }

  .penalty-box,
  .penalty-standard,
  .punishment-box {
    margin-top: 8px !important;
    padding: 9px 11px !important;
    border-radius: 10px !important;
  }

  .penalty-title,
  .punishment-title {
    margin-bottom: 4px !important;
    font-size: 12px !important;
  }

  .input,
  .select,
  .textarea {
    padding: 9px 11px !important;
    font-size: 13px !important;
    border-radius: 11px !important;
  }

  .search-row,
  .codex-side .search-row,
  .search-page .search-row {
    gap: 7px !important;
  }

  button {
    padding: 8px 11px !important;
    font-size: 12px !important;
    border-radius: 11px !important;
  }

  .calc-row {
    padding: 10px !important;
    gap: 8px !important;
    border-radius: 14px !important;
  }

  .result-grid {
    gap: 10px !important;
    margin-top: 10px !important;
  }

  .result-main strong {
    font-size: 32px !important;
  }

  .textarea {
    min-height: 180px !important;
  }

  @media (min-aspect-ratio: 19/9) {
    .section-list {
      max-height: calc(100vh - 86px);
    }
    .chapter-list {
      max-height: calc(100vh - 104px) !important;
    }
  }

  @media (max-width: 980px) {
    body { overflow: auto; }
    .app { height: auto; overflow: visible; }
  }

/* === 主页优化整合版新增样式 === */
.home-quick-nav {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.home-quick-nav .btn-secondary,
.home-quick-nav .btn-primary,
.home-quick-nav .btn-ghost{
  min-width:120px;
}
.module-overview {
  margin-top: 18px;
}
.module-grid {
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.module-card {
  position:relative;
  padding:18px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(54,76,170,.30), rgba(20,30,95,.28));
  border:1px solid rgba(142,161,255,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.module-card::before {
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:radial-gradient(circle at top right, rgba(128,115,255,.18), transparent 45%);
  pointer-events:none;
}
.module-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.module-kicker {
  font-size:12px;
  color:#9db3ff;
  letter-spacing:.04em;
}
.module-card h3 {
  margin:6px 0 8px;
  font-size:24px;
}
.module-card p {
  margin:0;
  color:#dce4ff;
  line-height:1.75;
}
.module-points {
  list-style:none;
  padding:0;
  margin:14px 0 0;
  display:grid;
  gap:10px;
}
.module-points li {
  padding:10px 12px;
  border-radius:12px;
  background:rgba(7,17,74,.34);
  border:1px solid rgba(152,167,255,.12);
  color:#edf1ff;
  font-size:13px;
}
.module-stat-badge {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(131,114,255,.18);
  color:#fff;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.home-feature-section .section-head {
  margin-bottom:18px;
}
.preview-calc-grid {
  display:grid;
  grid-template-columns: 1.4fr .9fr;
  gap:16px;
}
.preview-window {
  border-radius:18px;
  background:rgba(10,20,86,.52);
  border:1px solid rgba(140,160,255,.16);
  overflow:hidden;
}
.preview-window-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid rgba(140,160,255,.14);
  background:linear-gradient(180deg, rgba(68,89,188,.30), rgba(25,38,112,.22));
}
.preview-window-head h3, .preview-window-head h4 {
  margin:0;
}
.preview-window-body {
  padding:16px;
}
.mini-form-grid {
  display:grid;
  grid-template-columns: 1.7fr .7fr .7fr .32fr;
  gap:10px;
  margin-bottom:12px;
}
.fake-input,
.fake-textarea,
.fake-chip,
.fake-box {
  border-radius:12px;
  border:1px solid rgba(147,166,255,.18);
  background:rgba(21,35,102,.74);
  color:#c8d4ff;
}
.fake-input {
  min-height:42px;
  padding:11px 14px;
  display:flex;
  align-items:center;
  font-size:13px;
}
.fake-textarea {
  min-height:60px;
  padding:12px 14px;
  font-size:13px;
  line-height:1.7;
}
.mini-toggle-row {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:10px;
}
.fake-chip {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  font-size:13px;
}
.fake-box {
  padding:18px;
  min-height:210px;
}
.result-number {
  font-size:56px;
  line-height:1;
  font-weight:800;
  color:#93a8ff;
  margin-bottom:12px;
}
.result-number small {
  font-size:.50em;
}
.result-lines {
  line-height:1.8;
  color:#eef2ff;
  font-size:14px;
}
.codex-preview-grid {
  display:grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap:16px;
}
.codex-sidebar-preview,
.codex-main-preview {
  border-radius:18px;
  background:rgba(10,20,86,.52);
  border:1px solid rgba(140,160,255,.16);
  overflow:hidden;
}
.codex-sidebar-top {
  padding:16px;
  border-bottom:1px solid rgba(140,160,255,.12);
}
.codex-search-row {
  display:flex;
  gap:8px;
  margin-bottom:12px;
}
.codex-search-row .fake-input { flex:1; min-height:40px; }
.codex-side-note {
  color:#ced7ff;
  font-size:13px;
  line-height:1.7;
}
.chapter-preview-list {
  padding:10px;
  display:grid;
  gap:8px;
  max-height:430px;
  overflow:auto;
}
.chapter-preview-item {
  padding:14px 12px;
  border-radius:14px;
  border:1px solid rgba(145,165,255,.15);
  background:rgba(22,36,105,.62);
}
.chapter-preview-item.active {
  background:linear-gradient(180deg, rgba(72,83,198,.34), rgba(36,49,133,.52));
  border-color:rgba(168,183,255,.36);
  box-shadow:0 0 0 1px rgba(163,176,255,.08) inset;
}
.chapter-preview-item strong { display:block; margin-bottom:4px; }
.chapter-preview-item span { color:#dbe5ff; font-size:13px; }
.codex-main-top {
  padding:16px 18px;
  border-bottom:1px solid rgba(140,160,255,.12);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.codex-main-content { padding:16px; }
.law-preview-card {
  border:1px solid rgba(145,165,255,.14);
  border-radius:16px;
  background:rgba(20,33,101,.64);
  padding:14px 16px;
  margin-bottom:12px;
}
.law-preview-card:last-child { margin-bottom:0; }
.law-preview-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.preview-badges {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.preview-badge {
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  background:rgba(86,104,210,.22);
  border:1px solid rgba(153,170,255,.2);
}
.preview-badge.badge-info {
  background:rgba(59,130,246,.16);
  color:#cfe4ff;
  border-color:rgba(96,165,250,.22);
}
.preview-law-text {
  color:#e7ecff;
  line-height:1.82;
  font-size:14px;
}
.preview-law-text p { margin:.35em 0; }
.home-jump-buttons {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
@media (max-width: 1180px) {
  .module-grid,
  .preview-calc-grid,
  .codex-preview-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 720px) {
  .mini-form-grid { grid-template-columns: 1fr; }
  .module-card h3 { font-size:20px; }
  .result-number { font-size:44px; }
}


/* === 页面滚动修复：量刑计算与法典查询可上下滑动 === */
body {
  overflow: hidden !important;
}

.app {
  height: 100vh !important;
  overflow: hidden !important;
}

.view.active {
  height: 100% !important;
  max-height: 100vh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 6px;
  scroll-behavior: smooth;
}

#view-sentence.active,
#view-codex.active {
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

#view-sentence .section-block {
  margin-bottom: 18px !important;
}

#view-sentence .result-grid {
  margin-bottom: 24px !important;
}

#view-codex .codex-grid {
  height: auto !important;
  min-height: calc(100vh - 24px) !important;
  align-items: start !important;
}

#view-codex .codex-side {
  position: sticky;
  top: 0;
  z-index: 100;
  max-height: calc(100vh - 90px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

#view-codex .codex-main {
  overflow: visible !important;
  min-height: calc(100vh - 22px) !important;
}

#view-codex .section-list {
  max-height: none !important;
  overflow: visible !important;
  padding-right: 0 !important;
}

#view-codex .chapter-list {
  max-height: calc(100vh - 150px) !important;
  overflow-y: auto !important;
}

/* 低分辨率和窗口较矮时，取消左侧固定，保证整页自然滑动 */
@media (max-height: 760px), (max-width: 980px) {
  body {
    overflow: auto !important;
  }
  .app {
    height: auto !important;
    min-height: 100vh !important;
    overflow: visible !important;
  }
  .view.active {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  #view-codex .codex-side {
    position: static !important;
    max-height: none !important;
  }
}



  /* theme selector */
  .theme-card{grid-column:1 / -1;}
  .theme-options{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:12px;margin-top:14px;}
  .theme-btn{border:1px solid var(--line-2);background:var(--panel-2);color:var(--text);border-radius:16px;padding:12px 10px;cursor:pointer;text-align:left;transition:.18s ease;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);}
  .theme-btn:hover{transform:translateY(-1px);border-color:var(--primary-2);box-shadow:0 10px 24px rgba(0,0,0,.16);}
  .theme-btn.active{border-color:var(--primary-2);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 35%, transparent),0 12px 24px rgba(0,0,0,.20);}
  .theme-swatch{height:34px;border-radius:12px;margin-bottom:10px;border:1px solid rgba(255,255,255,.18);}
  .theme-name{font-weight:800;font-size:14px;line-height:1.2;}
  .theme-desc{font-size:12px;color:var(--sub);margin-top:5px;line-height:1.4;}
  .theme-default .theme-swatch{background:linear-gradient(135deg,#060b22,#6f5bff,#4fd3ff);}
  .theme-white .theme-swatch{background:linear-gradient(135deg,#ffffff,#e8edff,#9fb3ff);}
  .theme-black .theme-swatch{background:linear-gradient(135deg,#000000,#1a1a1a,#555555);}
  .theme-pink .theme-swatch{background:linear-gradient(135deg,#271027,#ff79b7,#ffd1e7);}
  .theme-lspd .theme-swatch{background:linear-gradient(135deg,#051a3f,#0b5ed7,#7ec8ff);}
  .theme-lssd .theme-swatch{background:linear-gradient(135deg,#211604,#8b5e13,#f7c662);}
  .theme-sadoj .theme-swatch{background:linear-gradient(135deg,#1d1233,#5b3aa8,#d4af37);}
  @media (max-width:1400px){.theme-options{grid-template-columns:repeat(4,minmax(120px,1fr));}}
  @media (max-width:760px){.theme-options{grid-template-columns:1fr 1fr;}}

  [data-theme="white"]{
    --bg:#f3f6ff;--bg-2:#ffffff;--panel:#ffffff;--panel-2:#eef3ff;--panel-3:#f8faff;
    --line:rgba(20,35,80,.12);--line-2:rgba(20,35,80,.20);--text:#17213f;--sub:#4b587b;--muted:#6c7695;
    --primary:#3157d5;--primary-2:#5477ff;--green:#15803d;--gold:#b7791f;--pink:#db2777;--cyan:#0284c7;--danger:#dc2626;
    background:linear-gradient(180deg,#f8fbff 0%,#edf2ff 100%);
  }
  [data-theme="white"] .sidebar{background:linear-gradient(180deg,#ffffff 0%,#edf3ff 100%);box-shadow:10px 0 30px rgba(50,70,120,.12);}
  [data-theme="white"] .nav-btn{color:#17213f;}
  [data-theme="white"] .nav-icon svg{stroke:#17213f;}
  [data-theme="white"] .brand-title,[data-theme="white"] .status-title{color:#17213f;}
  [data-theme="white"] .brand-sub,[data-theme="white"] .status-sub,[data-theme="white"] .status-version{color:#4b587b;}
  [data-theme="white"] .input,[data-theme="white"] textarea{color:#17213f;background:#f8faff;}

  [data-theme="black"]{
    --bg:#000000;--bg-2:#050505;--panel:#0d0d0d;--panel-2:#151515;--panel-3:#090909;
    --line:rgba(255,255,255,.10);--line-2:rgba(255,255,255,.18);--text:#f5f5f5;--sub:#b8b8b8;--muted:#8c8c8c;
    --primary:#444444;--primary-2:#777777;--green:#22c55e;--gold:#eab308;--pink:#f472b6;--cyan:#38bdf8;--danger:#fb7185;
    background:linear-gradient(180deg,#050505 0%,#000000 100%);
  }
  [data-theme="black"] .sidebar{background:linear-gradient(180deg,#151515,#050505);}
  [data-theme="black"] .nav-btn:hover,[data-theme="black"] .nav-btn.active{background:linear-gradient(180deg,#343434,#171717);}

  [data-theme="pink"]{
    --bg:#1e0b24;--bg-2:#2a1031;--panel:#34133c;--panel-2:#451951;--panel-3:#260c2d;
    --line:rgba(255,214,235,.12);--line-2:rgba(255,214,235,.20);--text:#fff3fa;--sub:#ffc9e5;--muted:#d99abb;
    --primary:#ff79b7;--primary-2:#ff9ac9;--green:#64d7a1;--gold:#ffd166;--pink:#ff79b7;--cyan:#7dd3fc;--danger:#ff5f8f;
    background:radial-gradient(circle at top right,rgba(255,121,183,.25),transparent 30%),linear-gradient(180deg,#2a1031,#16081b);
  }
  [data-theme="pink"] .sidebar{background:linear-gradient(180deg,#69205f,#47194f,#2a1031);}
  [data-theme="pink"] .nav-btn:hover,[data-theme="pink"] .nav-btn.active{background:linear-gradient(180deg,#ff79b7,#b43a8b);}

  [data-theme="lspd"]{
    --bg:#04142f;--bg-2:#071d45;--panel:#092554;--panel-2:#0b3273;--panel-3:#061a3d;
    --line:rgba(166,211,255,.12);--line-2:rgba(166,211,255,.22);--text:#eef7ff;--sub:#b8d8ff;--muted:#85aee0;
    --primary:#0b5ed7;--primary-2:#2f8cff;--green:#3ddc97;--gold:#f7c662;--pink:#ff79b7;--cyan:#7ec8ff;--danger:#ff6b8f;
    background:radial-gradient(circle at top right,rgba(47,140,255,.25),transparent 30%),linear-gradient(180deg,#061a3d,#031026);
  }
  [data-theme="lspd"] .sidebar{background:linear-gradient(180deg,#0b5ed7,#08479f,#05245a);}
  [data-theme="lspd"] .nav-btn:hover,[data-theme="lspd"] .nav-btn.active{background:linear-gradient(180deg,#2f8cff,#0b5ed7);}

  [data-theme="lssd"]{
    --bg:#171006;--bg-2:#241809;--panel:#2d1f0b;--panel-2:#3d2a0e;--panel-3:#201508;
    --line:rgba(255,213,128,.14);--line-2:rgba(255,213,128,.24);--text:#fff8e6;--sub:#f4d89a;--muted:#c8a867;
    --primary:#b7791f;--primary-2:#f7c662;--green:#78d78d;--gold:#f7c662;--pink:#f59ac4;--cyan:#86d8ff;--danger:#ff8a65;
    background:radial-gradient(circle at top right,rgba(247,198,98,.20),transparent 30%),linear-gradient(180deg,#241809,#120c04);
  }
  [data-theme="lssd"] .sidebar{background:linear-gradient(180deg,#8b5e13,#5f3e0b,#281a05);}
  [data-theme="lssd"] .nav-btn:hover,[data-theme="lssd"] .nav-btn.active{background:linear-gradient(180deg,#f7c662,#8b5e13);color:#211604;}

  [data-theme="sadoj"]{
    --bg:#120d21;--bg-2:#1d1433;--panel:#251a41;--panel-2:#312258;--panel-3:#171026;
    --line:rgba(230,210,140,.14);--line-2:rgba(230,210,140,.24);--text:#fbf7ff;--sub:#d8c8ff;--muted:#a99ad0;
    --primary:#6d4cc2;--primary-2:#d4af37;--green:#3ddc97;--gold:#d4af37;--pink:#ff79b7;--cyan:#7dd3fc;--danger:#ff6b8f;
    background:radial-gradient(circle at top right,rgba(212,175,55,.18),transparent 28%),linear-gradient(180deg,#1d1433,#0d0918);
  }
  [data-theme="sadoj"] .sidebar{background:linear-gradient(180deg,#4c2d83,#2f1f58,#171026);}
  [data-theme="sadoj"] .nav-btn:hover,[data-theme="sadoj"] .nav-btn.active{background:linear-gradient(180deg,#6d4cc2,#d4af37);}


  /* === 主题修复：功能框、导航、字体颜色全部跟随主题 === */
  :root{
    --page-gradient:
      radial-gradient(circle at top right, rgba(111,91,255,0.18), transparent 28%),
      radial-gradient(circle at bottom left, rgba(79,211,255,0.08), transparent 30%),
      linear-gradient(180deg, #08102c 0%, #060b22 100%);
    --card-bg: linear-gradient(180deg, color-mix(in srgb, var(--panel) 96%, transparent), color-mix(in srgb, var(--panel-3) 96%, transparent));
    --card-bg-2: linear-gradient(180deg, color-mix(in srgb, var(--panel-2) 88%, transparent), color-mix(in srgb, var(--panel) 90%, transparent));
    --field-bg: color-mix(in srgb, var(--panel-2) 82%, transparent);
    --soft-bg: color-mix(in srgb, var(--panel) 74%, transparent);
    --nav-text: var(--text);
    --nav-muted: var(--sub);
    --on-primary: #ffffff;
    --sidebar-bg: linear-gradient(180deg,#202b86 0%,#232b88 18%,#1c266f 52%,#172056 100%);
    --sidebar-card-bg: linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));
  }

  body{background:var(--page-gradient); color:var(--text);}
  .sidebar{background:var(--sidebar-bg) !important; color:var(--nav-text);}
  .sidebar-brand-text{border-bottom-color:var(--line) !important;}
  .brand-title,.status-title,.nav-text{color:var(--nav-text) !important;}
  .brand-sub,.status-sub,.status-version,.hero-brand-mini,.hero-brand p,.section-sub,.stat-label,.foot-note,.search-help,.codex-subtitle,.codex-side-note,.theme-desc{color:var(--nav-muted) !important;}
  .nav-btn{color:var(--nav-text) !important;background:transparent !important;}
  .nav-icon svg{stroke:var(--nav-text) !important;}
  .nav-btn.active,.nav-btn:hover{background:linear-gradient(180deg,var(--primary),var(--primary-2)) !important;color:var(--on-primary) !important;}
  .nav-btn.active .nav-text,.nav-btn:hover .nav-text{color:var(--on-primary) !important;}
  .nav-btn.active .nav-icon svg,.nav-btn:hover .nav-icon svg{stroke:var(--on-primary) !important;}
  .status-card{background:var(--sidebar-card-bg) !important;border-color:var(--line) !important;}

  .app,.wrap,.view{color:var(--text);}
  .hero-title,.section-title,.panel h3,.settings-card h3,.law-title,.law-preview-top strong,.codex-title,.result-main,.result-main strong{color:var(--text) !important;}
  .eyebrow,.mini-chip,.meta-pill{color:var(--sub) !important;border-color:var(--line) !important;background:var(--soft-bg) !important;}
  .hero-title-card,.hero-brand,.stat-card,.panel,.workspace,.search-panel,.result-card,.settings-card,.codex-side,.codex-main,.preview-window,.codex-sidebar-preview,.codex-main-preview,.law-preview-card,.module-card{background:var(--card-bg) !important;border-color:var(--line) !important;color:var(--text) !important;box-shadow:var(--soft-shadow);}
  .stat-card,.version-chip,.calc-row,.fake-input,.fake-textarea,.fake-chip,.fake-box,.chapter-preview-item,.law-item,.law-entry,.law-content,.search-result-item,.theme-btn{background:var(--field-bg) !important;border-color:var(--line) !important;color:var(--text) !important;}
  .chapter-preview-item.active,.chapter-card.active,.chapter-btn.active{background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 28%,var(--panel-2)),color-mix(in srgb,var(--primary-2) 16%,var(--panel))) !important;border-color:var(--primary-2) !important;color:var(--text) !important;}
  .version-highlight{background:linear-gradient(135deg,color-mix(in srgb,var(--pink) 16%,var(--panel)),color-mix(in srgb,var(--primary) 20%,var(--panel)),color-mix(in srgb,var(--cyan) 12%,var(--panel))) !important;border-color:var(--line-2) !important;}
  .version-highlight-title{color:var(--text) !important;}
  .version-chip strong{color:var(--pink) !important;}
  .input,textarea,.textarea,select{background:var(--field-bg) !important;color:var(--text) !important;border-color:var(--line-2) !important;caret-color:var(--primary-2);}
  .input::placeholder,textarea::placeholder{color:var(--muted) !important;opacity:1;}
  .btn-secondary,.btn-ghost{background:var(--field-bg) !important;color:var(--text) !important;border-color:var(--line-2) !important;}
  .btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2)) !important;color:var(--on-primary) !important;border-color:transparent !important;}
  .punishment-standard-box{background:var(--soft-bg) !important;border-color:var(--line-2) !important;border-left-color:var(--danger) !important;color:var(--text) !important;}
  .punishment-standard-title{color:var(--text) !important;}
  .punishment-standard-content,.preview-law-text,.result-detail,.law-body,.law-text{color:var(--text) !important;}

  [data-theme="white"]{
    --page-gradient:linear-gradient(180deg,#f8fbff 0%,#edf2ff 100%);
    --card-bg:linear-gradient(180deg,#ffffff,#f6f8ff);
    --card-bg-2:linear-gradient(180deg,#f9fbff,#eef3ff);
    --field-bg:#f4f7ff;
    --soft-bg:#edf3ff;
    --sidebar-bg:linear-gradient(180deg,#ffffff 0%,#edf3ff 100%);
    --sidebar-card-bg:linear-gradient(180deg,#f8fbff,#eef3ff);
    --nav-text:#17213f;
    --nav-muted:#4b587b;
    --on-primary:#ffffff;
  }
  [data-theme="white"] .hero-title-card,[data-theme="white"] .hero-brand,[data-theme="white"] .stat-card,[data-theme="white"] .panel,[data-theme="white"] .workspace,[data-theme="white"] .search-panel,[data-theme="white"] .result-card,[data-theme="white"] .settings-card,[data-theme="white"] .codex-side,[data-theme="white"] .codex-main{box-shadow:0 14px 35px rgba(50,70,120,.12) !important;}
  [data-theme="white"] .version-highlight-title::before{box-shadow:0 0 12px rgba(219,39,119,.40);}

  [data-theme="black"]{
    --page-gradient:linear-gradient(180deg,#050505,#000000);
    --card-bg:linear-gradient(180deg,#111111,#070707);
    --card-bg-2:linear-gradient(180deg,#171717,#0c0c0c);
    --field-bg:#151515;
    --soft-bg:#0d0d0d;
    --sidebar-bg:linear-gradient(180deg,#151515,#050505);
    --sidebar-card-bg:linear-gradient(180deg,#111,#080808);
    --nav-text:#f5f5f5;
    --nav-muted:#b8b8b8;
    --on-primary:#ffffff;
  }

  [data-theme="pink"]{
    --page-gradient:radial-gradient(circle at top right,rgba(255,121,183,.25),transparent 30%),linear-gradient(180deg,#2a1031,#16081b);
    --card-bg:linear-gradient(180deg,#34133c,#260c2d);
    --card-bg-2:linear-gradient(180deg,#451951,#34133c);
    --field-bg:#451951;
    --soft-bg:#2d1035;
    --sidebar-bg:linear-gradient(180deg,#69205f,#47194f,#2a1031);
    --sidebar-card-bg:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
    --nav-text:#fff3fa;
    --nav-muted:#ffc9e5;
    --on-primary:#ffffff;
  }

  [data-theme="lspd"]{
    --page-gradient:radial-gradient(circle at top right,rgba(47,140,255,.25),transparent 30%),linear-gradient(180deg,#061a3d,#031026);
    --card-bg:linear-gradient(180deg,#092554,#061a3d);
    --card-bg-2:linear-gradient(180deg,#0b3273,#092554);
    --field-bg:#0b3273;
    --soft-bg:#08224f;
    --sidebar-bg:linear-gradient(180deg,#0b5ed7,#08479f,#05245a);
    --sidebar-card-bg:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));
    --nav-text:#eef7ff;
    --nav-muted:#b8d8ff;
    --on-primary:#ffffff;
  }

  [data-theme="lssd"]{
    --page-gradient:radial-gradient(circle at top right,rgba(247,198,98,.20),transparent 30%),linear-gradient(180deg,#241809,#120c04);
    --card-bg:linear-gradient(180deg,#2d1f0b,#201508);
    --card-bg-2:linear-gradient(180deg,#3d2a0e,#2d1f0b);
    --field-bg:#3d2a0e;
    --soft-bg:#261a09;
    --sidebar-bg:linear-gradient(180deg,#8b5e13,#5f3e0b,#281a05);
    --sidebar-card-bg:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
    --nav-text:#fff8e6;
    --nav-muted:#f4d89a;
    --on-primary:#211604;
  }
  [data-theme="lssd"] .nav-btn.active .nav-text,[data-theme="lssd"] .nav-btn:hover .nav-text{color:#211604 !important;}
  [data-theme="lssd"] .nav-btn.active .nav-icon svg,[data-theme="lssd"] .nav-btn:hover .nav-icon svg{stroke:#211604 !important;}

  [data-theme="sadoj"]{
    --page-gradient:radial-gradient(circle at top right,rgba(212,175,55,.18),transparent 28%),linear-gradient(180deg,#1d1433,#0d0918);
    --card-bg:linear-gradient(180deg,#251a41,#171026);
    --card-bg-2:linear-gradient(180deg,#312258,#251a41);
    --field-bg:#312258;
    --soft-bg:#1f1636;
    --sidebar-bg:linear-gradient(180deg,#4c2d83,#2f1f58,#171026);
    --sidebar-card-bg:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
    --nav-text:#fbf7ff;
    --nav-muted:#d8c8ff;
    --on-primary:#ffffff;
  }



  /* === 自选收藏罪名快捷栏 === */
  .quick-crime-panel,.formal-judgment-panel{margin-bottom:14px;}
  .quick-crime-title,.formal-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;}
  .quick-crime-title h3,.formal-title h3{margin:0;font-size:17px;}
  .quick-crime-title p,.formal-title p{margin:4px 0 0;color:var(--sub);font-size:13px;line-height:1.6;}
  .quick-crime-list{display:flex;flex-wrap:wrap;gap:10px;}
  .quick-crime-btn{border:1px solid var(--line);background:rgba(78,99,210,.20);color:var(--text);border-radius:999px;padding:9px 13px;font-size:13px;font-weight:700;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease;}
  .quick-crime-btn:hover{transform:translateY(-1px);border-color:rgba(167,185,255,.55);background:rgba(125,113,255,.28);}
  .formal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
  .formal-grid .field.wide{grid-column:span 2;}
  .formal-grid .field.full{grid-column:1/-1;}
  .formal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}
  [data-theme="white"] .quick-crime-btn{background:rgba(55,88,190,.10);color:var(--text);}
  @media(max-width:1100px){.formal-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
  @media(max-width:720px){.formal-grid{grid-template-columns:1fr;}.formal-grid .field.wide{grid-column:1/-1;}}



  /* === 用户自选收藏功能 === */
  .favorite-crime-panel{margin-bottom:14px;}
  .favorite-tools{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:10px;margin:12px 0 14px;align-items:end;}
  .favorite-tools .field{margin:0;}
  .favorite-tools .field label{display:block;margin:0 0 6px;color:var(--sub);font-size:12px;font-weight:700;}
  .favorite-empty{padding:12px 14px;border:1px dashed var(--line);border-radius:14px;color:var(--sub);background:rgba(20,33,101,.32);font-size:13px;line-height:1.65;}
  .favorite-crime-item{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:rgba(78,99,210,.20);color:var(--text);border-radius:999px;padding:7px 9px 7px 13px;font-size:13px;font-weight:700;}
  .favorite-crime-item .favorite-use{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:0;}
  .favorite-crime-item .favorite-remove{border:0;background:rgba(255,255,255,.12);color:inherit;border-radius:999px;width:22px;height:22px;line-height:20px;cursor:pointer;font-weight:900;}
  .favorite-crime-item .favorite-remove:hover{background:rgba(255,88,120,.30);}
  [data-theme="white"] .favorite-empty{background:rgba(55,88,190,.06);}
  [data-theme="white"] .favorite-crime-item{background:rgba(55,88,190,.10);color:var(--text);}
  @media(max-width:860px){.favorite-tools{grid-template-columns:1fr;}}

/* === 民用版色彩选择卡片：按指定色码 === */
.theme-options{grid-template-columns:repeat(6,minmax(130px,1fr)) !important;}
.theme-btn{min-height:118px;}
.theme-swatch{height:42px !important;border-radius:14px !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.32);}
.theme-pink .theme-swatch{background:#FFC0CB !important;}
.theme-white .theme-swatch{background:#ffffff !important;}
.theme-black .theme-swatch{background:#000000 !important;}
.theme-teal .theme-swatch{background:#20B2AA !important;}
.theme-lightblue .theme-swatch{background:#ADD8E6 !important;}
.theme-gainsboro .theme-swatch{background:gainsboro !important;}
.theme-code{display:inline-flex;margin-top:8px;padding:4px 8px;border-radius:999px;background:var(--soft-bg);border:1px solid var(--line);font-size:11px;color:var(--sub);font-weight:700;}

[data-theme="pink"]{
  --bg:#fff3f6;--bg-2:#ffffff;--panel:#fff7f9;--panel-2:#ffe6ec;--panel-3:#fff1f5;
  --line:rgba(120,35,70,.16);--line-2:rgba(120,35,70,.26);--text:#2b1420;--sub:#74475a;--muted:#9b6479;
  --primary:#FFC0CB;--primary-2:#e85b91;--green:#168a62;--gold:#a66b00;--pink:#FFC0CB;--cyan:#20B2AA;--danger:#d61f69;
  --page-gradient:linear-gradient(180deg,#fff6f8 0%,#ffe4eb 100%);
  --card-bg:linear-gradient(180deg,#ffffff,#fff2f6);
  --card-bg-2:linear-gradient(180deg,#fff9fb,#ffe8ef);
  --field-bg:#fff2f6;
  --soft-bg:#ffe6ec;
  --sidebar-bg:linear-gradient(180deg,#FFC0CB,#ffe3ea,#fff7f9);
  --sidebar-card-bg:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.48));
  --nav-text:#2b1420;--nav-muted:#74475a;--on-primary:#2b1420;
}
[data-theme="pink"] .nav-btn.active,[data-theme="pink"] .nav-btn:hover{background:linear-gradient(180deg,#FFC0CB,#ff9eb1) !important;color:#2b1420 !important;}
[data-theme="pink"] .nav-btn.active .nav-text,[data-theme="pink"] .nav-btn:hover .nav-text{color:#2b1420 !important;}
[data-theme="pink"] .nav-btn.active .nav-icon svg,[data-theme="pink"] .nav-btn:hover .nav-icon svg{stroke:#2b1420 !important;}

[data-theme="white"]{
  --bg:#ffffff;--bg-2:#ffffff;--panel:#ffffff;--panel-2:#f6f7fb;--panel-3:#ffffff;
  --line:rgba(20,35,80,.12);--line-2:rgba(20,35,80,.20);--text:#111827;--sub:#4b5563;--muted:#6b7280;
  --primary:#ffffff;--primary-2:#d9e2ff;--green:#15803d;--gold:#b7791f;--pink:#FFC0CB;--cyan:#20B2AA;--danger:#dc2626;
  --page-gradient:linear-gradient(180deg,#ffffff 0%,#f2f5fb 100%);
  --card-bg:linear-gradient(180deg,#ffffff,#f8fafc);
  --card-bg-2:linear-gradient(180deg,#ffffff,#f1f5f9);
  --field-bg:#f8fafc;
  --soft-bg:#f1f5f9;
  --sidebar-bg:linear-gradient(180deg,#ffffff,#f1f5f9);
  --sidebar-card-bg:linear-gradient(180deg,#ffffff,#f8fafc);
  --nav-text:#111827;--nav-muted:#4b5563;--on-primary:#111827;
}
[data-theme="white"] .nav-btn.active,[data-theme="white"] .nav-btn:hover{background:linear-gradient(180deg,#ffffff,#e5e7eb) !important;color:#111827 !important;border:1px solid rgba(17,24,39,.14) !important;}
[data-theme="white"] .nav-btn.active .nav-text,[data-theme="white"] .nav-btn:hover .nav-text{color:#111827 !important;}
[data-theme="white"] .nav-btn.active .nav-icon svg,[data-theme="white"] .nav-btn:hover .nav-icon svg{stroke:#111827 !important;}

[data-theme="black"]{
  --bg:#000000;--bg-2:#050505;--panel:#0d0d0d;--panel-2:#151515;--panel-3:#090909;
  --line:rgba(255,255,255,.12);--line-2:rgba(255,255,255,.20);--text:#f5f5f5;--sub:#b8b8b8;--muted:#8c8c8c;
  --primary:#000000;--primary-2:#333333;--green:#22c55e;--gold:#eab308;--pink:#FFC0CB;--cyan:#20B2AA;--danger:#fb7185;
  --page-gradient:linear-gradient(180deg,#050505 0%,#000000 100%);
  --card-bg:linear-gradient(180deg,#111111,#070707);
  --card-bg-2:linear-gradient(180deg,#171717,#0c0c0c);
  --field-bg:#151515;
  --soft-bg:#0d0d0d;
  --sidebar-bg:linear-gradient(180deg,#151515,#050505);
  --sidebar-card-bg:linear-gradient(180deg,#111,#080808);
  --nav-text:#f5f5f5;--nav-muted:#b8b8b8;--on-primary:#ffffff;
}
[data-theme="black"] .nav-btn.active,[data-theme="black"] .nav-btn:hover{background:linear-gradient(180deg,#343434,#000000) !important;color:#ffffff !important;}

[data-theme="teal"]{
  --bg:#062f2d;--bg-2:#0a4541;--panel:#0f5854;--panel-2:#126d68;--panel-3:#083735;
  --line:rgba(225,255,253,.14);--line-2:rgba(225,255,253,.26);--text:#effffe;--sub:#c7f5f1;--muted:#9adad5;
  --primary:#20B2AA;--primary-2:#68ddd7;--green:#9df5c7;--gold:#ffe29a;--pink:#FFC0CB;--cyan:#20B2AA;--danger:#ff8f9d;
  --page-gradient:radial-gradient(circle at top right,rgba(32,178,170,.32),transparent 30%),linear-gradient(180deg,#0a4541,#041f1e);
  --card-bg:linear-gradient(180deg,#0f5854,#083735);
  --card-bg-2:linear-gradient(180deg,#126d68,#0f5854);
  --field-bg:#126d68;
  --soft-bg:#0a4541;
  --sidebar-bg:linear-gradient(180deg,#20B2AA,#0f6f69,#073937);
  --sidebar-card-bg:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.05));
  --nav-text:#effffe;--nav-muted:#c7f5f1;--on-primary:#042321;
}
[data-theme="teal"] .nav-btn.active,[data-theme="teal"] .nav-btn:hover{background:linear-gradient(180deg,#68ddd7,#20B2AA) !important;color:#042321 !important;}
[data-theme="teal"] .nav-btn.active .nav-text,[data-theme="teal"] .nav-btn:hover .nav-text{color:#042321 !important;}
[data-theme="teal"] .nav-btn.active .nav-icon svg,[data-theme="teal"] .nav-btn:hover .nav-icon svg{stroke:#042321 !important;}

[data-theme="lightblue"]{
  --bg:#eefaff;--bg-2:#ffffff;--panel:#ffffff;--panel-2:#e6f6fb;--panel-3:#f5fcff;
  --line:rgba(34,78,100,.14);--line-2:rgba(34,78,100,.24);--text:#0d2735;--sub:#3f6170;--muted:#6f8d9b;
  --primary:#ADD8E6;--primary-2:#5aa9c9;--green:#15803d;--gold:#a66b00;--pink:#FFC0CB;--cyan:#20B2AA;--danger:#dc2626;
  --page-gradient:linear-gradient(180deg,#f7fdff 0%,#dff3fa 100%);
  --card-bg:linear-gradient(180deg,#ffffff,#eefaff);
  --card-bg-2:linear-gradient(180deg,#f8fdff,#e2f4fa);
  --field-bg:#eefaff;
  --soft-bg:#e2f4fa;
  --sidebar-bg:linear-gradient(180deg,#ADD8E6,#dff3fa,#f7fdff);
  --sidebar-card-bg:linear-gradient(180deg,rgba(255,255,255,.80),rgba(255,255,255,.48));
  --nav-text:#0d2735;--nav-muted:#3f6170;--on-primary:#0d2735;
}
[data-theme="lightblue"] .nav-btn.active,[data-theme="lightblue"] .nav-btn:hover{background:linear-gradient(180deg,#ADD8E6,#7fc3d8) !important;color:#0d2735 !important;}
[data-theme="lightblue"] .nav-btn.active .nav-text,[data-theme="lightblue"] .nav-btn:hover .nav-text{color:#0d2735 !important;}
[data-theme="lightblue"] .nav-btn.active .nav-icon svg,[data-theme="lightblue"] .nav-btn:hover .nav-icon svg{stroke:#0d2735 !important;}

[data-theme="gainsboro"]{
  --bg:#DCDCDC;--bg-2:#f7f7f7;--panel:#f7f7f7;--panel-2:#eeeeee;--panel-3:#e6e6e6;
  --line:rgba(40,40,40,.14);--line-2:rgba(40,40,40,.22);--text:#1f2933;--sub:#4b5563;--muted:#737373;
  --primary:#DCDCDC;--primary-2:#a7a7a7;--green:#15803d;--gold:#946200;--pink:#FFC0CB;--cyan:#20B2AA;--danger:#dc2626;
  --page-gradient:linear-gradient(180deg,#f5f5f5 0%,#DCDCDC 100%);
  --card-bg:linear-gradient(180deg,#ffffff,#eeeeee);
  --card-bg-2:linear-gradient(180deg,#f7f7f7,#e6e6e6);
  --field-bg:#eeeeee;
  --soft-bg:#e6e6e6;
  --sidebar-bg:linear-gradient(180deg,#f7f7f7,#DCDCDC,#cfcfcf);
  --sidebar-card-bg:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.42));
  --nav-text:#1f2933;--nav-muted:#4b5563;--on-primary:#1f2933;
}
[data-theme="gainsboro"] .nav-btn.active,[data-theme="gainsboro"] .nav-btn:hover{background:linear-gradient(180deg,#eeeeee,#cfcfcf) !important;color:#1f2933 !important;}
[data-theme="gainsboro"] .nav-btn.active .nav-text,[data-theme="gainsboro"] .nav-btn:hover .nav-text{color:#1f2933 !important;}
[data-theme="gainsboro"] .nav-btn.active .nav-icon svg,[data-theme="gainsboro"] .nav-btn:hover .nav-icon svg{stroke:#1f2933 !important;}


/* === Toast 主题适配 === */
/* 浅色主题：白色玻璃 + 深色文字 */
[data-theme="white"] {
  --toast-bg: rgba(255, 255, 255, 0.92);
  --toast-border: rgba(20, 35, 80, 0.18);
  --toast-text: #17213f;
  --toast-shadow: 0 8px 24px rgba(20, 35, 80, 0.16);
}
[data-theme="pink"] {
  --toast-bg: rgba(255, 240, 245, 0.94);
  --toast-border: rgba(229, 121, 161, 0.32);
  --toast-text: #6b1d3f;
  --toast-shadow: 0 8px 24px rgba(229, 121, 161, 0.22);
}
[data-theme="lightblue"] {
  --toast-bg: rgba(238, 246, 255, 0.94);
  --toast-border: rgba(60, 130, 200, 0.30);
  --toast-text: #143a66;
  --toast-shadow: 0 8px 24px rgba(60, 130, 200, 0.20);
}
[data-theme="gainsboro"] {
  --toast-bg: rgba(248, 248, 250, 0.94);
  --toast-border: rgba(70, 80, 100, 0.22);
  --toast-text: #2a2e38;
  --toast-shadow: 0 8px 24px rgba(70, 80, 100, 0.18);
}
/* 深色主题：保持深色玻璃 + 浅色文字 */
[data-theme="black"],
body:not([data-theme]) {
  --toast-bg: rgba(15, 26, 70, 0.95);
  --toast-border: rgba(143, 124, 255, 0.32);
  --toast-text: #f0f3ff;
  --toast-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
}
[data-theme="lspd"] {
  --toast-bg: rgba(13, 32, 80, 0.94);
  --toast-border: rgba(120, 170, 255, 0.34);
  --toast-text: #e8efff;
  --toast-shadow: 0 8px 22px rgba(7, 19, 50, 0.45);
}
[data-theme="lssd"] {
  --toast-bg: rgba(40, 25, 10, 0.92);
  --toast-border: rgba(214, 158, 78, 0.36);
  --toast-text: #fdf4e0;
  --toast-shadow: 0 8px 22px rgba(20, 10, 0, 0.45);
}
[data-theme="sadoj"] {
  --toast-bg: rgba(28, 32, 56, 0.92);
  --toast-border: rgba(195, 175, 130, 0.34);
  --toast-text: #f3eed7;
  --toast-shadow: 0 8px 22px rgba(10, 12, 28, 0.45);
}
[data-theme="teal"] {
  --toast-bg: rgba(8, 40, 38, 0.92);
  --toast-border: rgba(94, 200, 180, 0.34);
  --toast-text: #e0fff5;
  --toast-shadow: 0 8px 22px rgba(2, 20, 18, 0.45);
}

/* === 玻璃模态框多主题适配 === */
[data-theme="white"] {
  --glass-overlay: rgba(20, 35, 80, 0.35);
  --glass-bg: linear-gradient(135deg, rgba(255,255,255,0.92), rgba(238,243,255,0.96));
  --glass-border: rgba(20,35,80,0.18);
  --glass-shadow: 0 18px 40px rgba(20,35,80,0.18), inset 0 0 0 1px rgba(255,255,255,0.4);
  --glass-title: #17213f;
  --glass-desc: #4b587b;
  --glass-input-bg: rgba(255,255,255,0.65);
  --glass-input-border: rgba(20,35,80,0.18);
  --glass-input-text: #17213f;
  --glass-input-focus: rgba(55,88,190,0.18);
}
[data-theme="black"] {
  --glass-overlay: rgba(0, 0, 0, 0.72);
  --glass-bg: linear-gradient(135deg, rgba(20,20,20,0.92), rgba(0,0,0,0.96));
  --glass-border: rgba(255,255,255,0.10);
  --glass-shadow: 0 25px 50px rgba(0,0,0,0.7), inset 0 0 0 1px rgba(255,255,255,0.04);
  --glass-title: #f5f5f5;
  --glass-desc: #b8b8b8;
  --glass-input-bg: rgba(255,255,255,0.06);
  --glass-input-border: rgba(255,255,255,0.16);
  --glass-input-text: #f5f5f5;
  --glass-input-focus: rgba(180,180,255,0.20);
}
[data-theme="pink"] {
  --glass-overlay: rgba(74, 17, 50, 0.55);
  --glass-bg: linear-gradient(135deg, rgba(255,121,183,0.55), rgba(105,32,95,0.78));
  --glass-border: rgba(255,214,235,0.30);
  --glass-shadow: 0 25px 50px rgba(0,0,0,0.45), inset 0 0 0 1px rgba(255,255,255,0.08);
  --glass-title: #fff3fa;
  --glass-desc: #ffd2e7;
  --glass-input-bg: rgba(0,0,0,0.22);
  --glass-input-border: rgba(255,214,235,0.35);
  --glass-input-text: #fff3fa;
  --glass-input-focus: rgba(255,121,183,0.30);
}
[data-theme="lspd"] {
  --glass-overlay: rgba(4, 20, 47, 0.70);
  --glass-bg: linear-gradient(135deg, rgba(11,95,215,0.55), rgba(8,71,159,0.78));
  --glass-border: rgba(166,211,255,0.30);
  --glass-shadow: 0 25px 50px rgba(0,0,0,0.5), inset 0 0 0 1px rgba(166,211,255,0.10);
  --glass-title: #eef7ff;
  --glass-desc: #b8d8ff;
  --glass-input-bg: rgba(0,0,0,0.25);
  --glass-input-border: rgba(166,211,255,0.30);
  --glass-input-text: #eef7ff;
  --glass-input-focus: rgba(47,140,255,0.30);
}
[data-theme="lssd"] {
  --glass-overlay: rgba(40, 26, 5, 0.65);
  --glass-bg: linear-gradient(135deg, rgba(247,198,98,0.50), rgba(95,62,11,0.78));
  --glass-border: rgba(255,213,128,0.30);
  --glass-shadow: 0 25px 50px rgba(0,0,0,0.45), inset 0 0 0 1px rgba(255,213,128,0.10);
  --glass-title: #fff8e6;
  --glass-desc: #f4d89a;
  --glass-input-bg: rgba(0,0,0,0.22);
  --glass-input-border: rgba(255,213,128,0.30);
  --glass-input-text: #fff8e6;
  --glass-input-focus: rgba(247,198,98,0.30);
}
[data-theme="sadoj"] {
  --glass-overlay: rgba(23, 16, 38, 0.65);
  --glass-bg: linear-gradient(135deg, rgba(109,76,194,0.55), rgba(47,31,88,0.80));
  --glass-border: rgba(230,210,140,0.25);
  --glass-shadow: 0 25px 50px rgba(0,0,0,0.5), inset 0 0 0 1px rgba(230,210,140,0.08);
  --glass-title: #fbf7ff;
  --glass-desc: #d8c8ff;
  --glass-input-bg: rgba(0,0,0,0.25);
  --glass-input-border: rgba(230,210,140,0.30);
  --glass-input-text: #fbf7ff;
  --glass-input-focus: rgba(212,175,55,0.30);
}
[data-theme="teal"] {
  --glass-overlay: rgba(6, 47, 45, 0.65);
  --glass-bg: linear-gradient(135deg, rgba(104,221,215,0.45), rgba(18,109,104,0.78));
  --glass-border: rgba(202,238,236,0.30);
  --glass-shadow: 0 25px 50px rgba(0,0,0,0.45), inset 0 0 0 1px rgba(202,238,236,0.10);
  --glass-title: #f1fdfb;
  --glass-desc: #b3e8e2;
  --glass-input-bg: rgba(0,0,0,0.25);
  --glass-input-border: rgba(202,238,236,0.30);
  --glass-input-text: #f1fdfb;
  --glass-input-focus: rgba(32,178,170,0.30);
}
[data-theme="lightblue"] {
  --glass-overlay: rgba(13, 39, 53, 0.40);
  --glass-bg: linear-gradient(135deg, rgba(255,255,255,0.92), rgba(230,246,251,0.96));
  --glass-border: rgba(13,39,53,0.18);
  --glass-shadow: 0 18px 40px rgba(13,39,53,0.20), inset 0 0 0 1px rgba(255,255,255,0.5);
  --glass-title: #0d2735;
  --glass-desc: #4b6b7a;
  --glass-input-bg: rgba(255,255,255,0.65);
  --glass-input-border: rgba(13,39,53,0.18);
  --glass-input-text: #0d2735;
  --glass-input-focus: rgba(125,195,216,0.30);
}
[data-theme="gainsboro"] {
  --glass-overlay: rgba(31, 41, 51, 0.40);
  --glass-bg: linear-gradient(135deg, rgba(255,255,255,0.95), rgba(220,220,220,0.96));
  --glass-border: rgba(31,41,51,0.18);
  --glass-shadow: 0 18px 40px rgba(31,41,51,0.18), inset 0 0 0 1px rgba(255,255,255,0.45);
  --glass-title: #1f2933;
  --glass-desc: #4b5563;
  --glass-input-bg: rgba(255,255,255,0.7);
  --glass-input-border: rgba(31,41,51,0.18);
  --glass-input-text: #1f2933;
  --glass-input-focus: rgba(100,100,100,0.20);
}


/* === 渐变色卡与底色修复 === */
body{background:var(--page-gradient) !important;}
main.app,.app,.wrap,.view,.view.active,#view-home,#view-codex,#view-search,#view-settings{background:transparent !important;}
.hero{background:var(--card-bg) !important;border-color:var(--line) !important;box-shadow:var(--soft-shadow) !important;}
.panel,.stat-card,.hero-title-card,.hero-brand,.workspace,.search-panel,.result-card,.settings-card,.codex-side,.codex-main,.preview-window,.codex-sidebar-preview,.codex-main-preview,.law-preview-card,.module-card,.status-card,.chapter-preview-item,.law-item,.law-entry,.law-content,.search-result-item,.theme-btn,.suggestions,.favorite-empty,.favorite-crime-item,.quick-crime-btn{background:var(--card-bg-2) !important;border-color:var(--line) !important;}
.stat-icon,.theme-code,.meta-pill,.mini-chip,.version-chip{background:linear-gradient(180deg,color-mix(in srgb,var(--soft-bg) 96%, transparent),color-mix(in srgb,var(--field-bg) 92%, transparent)) !important;}
.input,.select,.textarea,textarea,input[type="text"],input[type="search"]{background:linear-gradient(180deg,color-mix(in srgb,var(--field-bg) 96%, transparent),color-mix(in srgb,var(--soft-bg) 88%, transparent)) !important;}
.theme-btn{background:linear-gradient(180deg,color-mix(in srgb,var(--card-bg-2) 96%, transparent),color-mix(in srgb,var(--soft-bg) 92%, transparent)) !important;}
.theme-swatch{height:42px !important;border-radius:14px !important;border:1px solid rgba(255,255,255,.18) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 10px 22px rgba(0,0,0,.12);}
.theme-pink .theme-swatch{background:linear-gradient(135deg,#fff4f7 0%,#FFC0CB 55%,#e85b91 100%) !important;}
.theme-white .theme-swatch{background:linear-gradient(135deg,#ffffff 0%,#f4f6fb 58%,#d7dde8 100%) !important;}
.theme-black .theme-swatch{background:linear-gradient(135deg,#000000 0%,#1a1a1a 55%,#555555 100%) !important;}
.theme-teal .theme-swatch{background:linear-gradient(135deg,#eafffd 0%,#20B2AA 55%,#0f6f69 100%) !important;}
.theme-lightblue .theme-swatch{background:linear-gradient(135deg,#ffffff 0%,#ADD8E6 55%,#72bfd7 100%) !important;}
.theme-gainsboro .theme-swatch{background:linear-gradient(135deg,#ffffff 0%,Gainsboro 55%,#b8b8b8 100%) !important;}
[data-theme="black"] .panel,[data-theme="black"] .stat-card,[data-theme="black"] .hero,[data-theme="black"] .hero-brand,[data-theme="black"] .settings-card,[data-theme="black"] .result-card,[data-theme="black"] .codex-side,[data-theme="black"] .codex-main{background:linear-gradient(180deg,#111111,#070707) !important;}
[data-theme="black"] .chapter-preview-item,[data-theme="black"] .law-preview-card,[data-theme="black"] .theme-btn,[data-theme="black"] .search-result-item{background:linear-gradient(180deg,#171717,#0c0c0c) !important;}



/* === 法典正文可读性优化：保持同色调但加深 === */
.law-section-body,
.search-result-content,
.row-note,
.preview-law-text,
.law-body,
.law-text,
.punishment-standard-content {
  color: color-mix(in srgb, var(--text) 90%, var(--primary) 10%) !important;
}
.law-section-body strong,
.search-result-content strong,
.row-note strong,
.punishment-standard-content strong {
  color: var(--text) !important;
}
.law-section-body,
.search-result-content,
.row-note {
  text-shadow: 0 1px 0 rgba(255,255,255,0.10);
}
[data-theme="black"] .law-section-body,
[data-theme="black"] .search-result-content,
[data-theme="black"] .row-note,
[data-theme="black"] .preview-law-text,
[data-theme="black"] .law-body,
[data-theme="black"] .law-text,
[data-theme="black"] .punishment-standard-content {
  color: color-mix(in srgb, var(--text) 96%, var(--primary) 4%) !important;
  text-shadow: 0 1px 0 rgba(0,0,0,0.30);
}
[data-theme="pink"] .law-section.open,
[data-theme="lightblue"] .law-section.open,
[data-theme="white"] .law-section.open,
[data-theme="gainsboro"] .law-section.open {
  background: linear-gradient(180deg, color-mix(in srgb, var(--soft-bg) 96%, white 4%), color-mix(in srgb, var(--card-bg-2) 88%, white 12%)) !important;
}
[data-theme="pink"] .law-section-body,
[data-theme="lightblue"] .law-section-body,
[data-theme="white"] .law-section-body,
[data-theme="gainsboro"] .law-section-body,
[data-theme="pink"] .search-result-content,
[data-theme="lightblue"] .search-result-content,
[data-theme="white"] .search-result-content,
[data-theme="gainsboro"] .search-result-content,
[data-theme="pink"] .row-note,
[data-theme="lightblue"] .row-note,
[data-theme="white"] .row-note,
[data-theme="gainsboro"] .row-note {
  color: color-mix(in srgb, var(--text) 94%, #5b4b8a 6%) !important;
}



/* === 设置页增强功能 === */
body.compact-mode .panel,
body.compact-mode .stat-card,
body.compact-mode .settings-card,
body.compact-mode .hero-title-card,
body.compact-mode .hero-brand,
body.compact-mode .law-section-head,
body.compact-mode .law-section-body{padding-top:10px !important;padding-bottom:10px !important;}
body.compact-mode .section-block{margin-top:10px !important;}
body.compact-mode .settings-grid{gap:10px !important;}
body.compact-mode .hero-title{font-size:24px !important;}
body.compact-mode .law-section-body{line-height:1.55 !important;font-size:13px !important;}
.settings-card h3{display:flex;align-items:center;gap:8px;}
.settings-card h3::before{content:'•';color:var(--primary-2);font-size:22px;line-height:1;}



/* === 侧边栏计时器 === */
.sidebar-timer{
  margin-top:12px;
  padding:10px;
  border-radius:16px;
  border:1px solid var(--line);
  background:color-mix(in srgb,var(--sidebar-card-bg) 90%,transparent);
  color:var(--nav-text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  display:flex;
  flex-direction:column;
  gap:8px;
  overflow:hidden;
}
.sidebar-timer *{box-sizing:border-box;}
.timer-title{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:800;
  color:var(--nav-text);
  margin:0;
}
.timer-dot{
  width:8px;
  height:8px;
  flex:0 0 auto;
  border-radius:999px;
  background:var(--green);
  box-shadow:0 0 10px color-mix(in srgb,var(--green) 65%,transparent);
}
.timer-display{
  width:100%;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:clamp(16px, 1.15vw, 22px);
  line-height:1;
  font-weight:900;
  letter-spacing:0;
  font-variant-numeric:tabular-nums;
  font-family: "Segoe UI", "DIN Alternate", "Arial Narrow", Arial, sans-serif;
  color:var(--nav-text);
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  padding:7px 4px;
  min-height:42px;
  border-radius:12px;
  border:1px solid var(--line-2);
  background:color-mix(in srgb,var(--field-bg) 88%,transparent);
}
.timer-input-row input{
  width:100%;
  min-width:0;
  border-radius:10px;
  border:1px solid var(--line-2);
  background:color-mix(in srgb,var(--field-bg) 92%,transparent);
  color:var(--nav-text);
  padding:8px 10px;
  font-size:12px;
  outline:none;
}
.timer-input-row input:focus{
  border-color:color-mix(in srgb,var(--primary) 55%, white 10%);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 15%, transparent);
}
.timer-controls{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
}
.timer-controls button,
.timer-quick button{
  width:100%;
  min-width:0;
  border:1px solid var(--line-2);
  background:color-mix(in srgb,var(--field-bg) 84%,transparent) !important;
  color:var(--nav-text) !important;
  border-radius:10px;
  padding:8px 6px;
  font-size:12px;
  font-weight:800;
  line-height:1;
  box-shadow:none;
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}
#timerStartBtn{
  background:linear-gradient(180deg,var(--primary),var(--primary-2)) !important;
  color:var(--on-primary) !important;
  border-color:transparent !important;
}
.timer-controls button:hover,
.timer-quick button:hover{
  background:linear-gradient(180deg,var(--primary),var(--primary-2)) !important;
  color:var(--on-primary) !important;
  border-color:transparent !important;
}
.timer-quick{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}
.sidebar-timer.running .timer-dot{
  background:var(--danger);
  box-shadow:0 0 10px color-mix(in srgb,var(--danger) 65%,transparent);
}
@media (max-width:900px){
  .sidebar-timer{padding:9px; gap:7px;}
  .timer-title{font-size:11px;}
  .timer-display{font-size:18px; min-height:40px; padding:6px 4px;}
  .timer-input-row input,
  .timer-controls button,
  .timer-quick button{font-size:11px; padding:7px 5px;}
}



/* === 新增庭审功能：处罚档位 / 帮助页 / 计时器开关 / 到点提醒 === */
.tier-field{grid-column:1 / -1;}
.tier-field select{cursor:pointer;}
.case-tools-card{margin-bottom:14px;}
.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;}
.help-card{padding:18px;border-radius:18px;border:1px solid var(--line);background:var(--card-bg-2);line-height:1.75;}
.help-card h3{margin:0 0 8px;font-size:18px;}
.help-card p{margin:0;color:var(--sub);font-size:14px;}
.help-card ul{margin:10px 0 0;padding-left:18px;color:var(--text);line-height:1.85;font-size:14px;}
.sidebar.timer-off .sidebar-timer{display:none !important;}
.sidebar-timer.timer-finished{animation:timerFlash .8s ease-in-out 5;}
@keyframes timerFlash{0%,100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.05);}50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 38%,transparent),0 0 28px color-mix(in srgb,var(--danger) 45%,transparent);}}
@media(max-width:900px){.help-grid{grid-template-columns:1fr;padding:14px;}.tier-field{grid-column:1/-1;}}



/* === v4.00 法典筛选 / 字号调节 / 提醒功能 === */
body[data-font-size="small"]{font-size:13px;}
body[data-font-size="small"] .law-section-body,body[data-font-size="small"] .search-result-content,body[data-font-size="small"] .row-note{font-size:13px !important;}
body[data-font-size="large"]{font-size:16px;}
body[data-font-size="large"] .law-section-body,body[data-font-size="large"] .search-result-content,body[data-font-size="large"] .row-note{font-size:16px !important;line-height:1.85 !important;}
.font-options{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;}
.font-btn{border:1px solid var(--line-2);background:var(--field-bg)!important;color:var(--text)!important;border-radius:12px;padding:10px 14px;font-weight:800;}
.font-btn.active{background:linear-gradient(180deg,var(--primary),var(--primary-2))!important;color:var(--on-primary)!important;border-color:transparent!important;}
.codex-filter-line{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;}
@media(max-width:900px){.codex-filter-line{grid-template-columns:1fr;}}
.calc-row.tier-missing{outline:2px solid color-mix(in srgb,var(--danger) 68%,transparent);outline-offset:3px;border-radius:18px;}
.tier-warning{margin-top:8px;padding:8px 10px;border-left:4px solid var(--danger);border-radius:10px;background:color-mix(in srgb,var(--danger) 12%,var(--field-bg));color:var(--text);font-size:12px;font-weight:800;}



/* === v4.00 量刑输入区紧凑优化 === */
#view-sentence .workspace{
  padding:12px 16px 16px !important;
}
#view-sentence .calc-rows{
  gap:10px !important;
}
#view-sentence .calc-row{
  grid-template-columns:minmax(260px,2.4fr) minmax(110px,.72fr) minmax(130px,.82fr) 74px !important;
  gap:8px !important;
  padding:10px 12px !important;
  border-radius:15px !important;
  align-items:end !important;
}
#view-sentence .calc-row .field label{
  font-size:11px !important;
  margin-bottom:5px !important;
}
#view-sentence .calc-row .input,
#view-sentence .calc-row .select,
#view-sentence .calc-row .textarea{
  min-height:34px !important;
  padding:8px 10px !important;
  border-radius:11px !important;
  font-size:12px !important;
}
#view-sentence .calc-action-bar{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  margin:10px 0 12px;
}
#view-sentence .calc-action-bar .btn-primary{
  min-width:140px;
  padding:10px 18px;
}
#view-sentence .calc-row .delete-row-btn{
  width:100% !important;
  min-height:34px !important;
  padding:8px 6px !important;
  border-radius:11px !important;
  font-size:12px !important;
}
#view-sentence .row-note{
  padding:8px 10px !important;
  border-radius:12px !important;
  font-size:12px !important;
  line-height:1.55 !important;
}
#view-sentence .row-note .punishment-standard-box{
  padding:10px 12px !important;
  border-radius:12px !important;
  margin:4px 0 !important;
}
#view-sentence .row-note .punishment-standard-title{
  margin-bottom:6px !important;
  font-size:12px !important;
}
#view-sentence .row-note .punishment-standard-content{
  font-size:12px !important;
  line-height:1.55 !important;
}
#view-sentence .tier-field{
  grid-column:1 / 2 !important;
}
#view-sentence .suggestions{
  top:56px !important;
}
@media(max-width:980px){
  #view-sentence .calc-row{
    grid-template-columns:1fr 1fr !important;
  }
  #view-sentence .row-note,
  #view-sentence .tier-field{
    grid-column:1 / -1 !important;
  }
}



/* === v4.00 更新日志页面 === */
.changelog-wrap{padding:22px;display:grid;gap:14px;}
.changelog-card{border:1px solid var(--line);background:var(--card-bg-2);border-radius:18px;padding:16px 18px;}
.changelog-card.current{border-left:5px solid var(--primary);}
.changelog-card.previous{border-left:5px solid var(--cyan);}
.changelog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap;}
.changelog-date{font-size:12px;color:var(--sub);font-weight:600;letter-spacing:.2px;opacity:.85;}

/* v4.55：更早版本折叠到 details */
.changelog-history{border:1px solid var(--line);background:var(--card-bg-2);border-radius:18px;padding:14px 18px;}
.changelog-history>summary{cursor:pointer;list-style:none;font-weight:700;color:var(--text);padding:6px 0;user-select:none;}
.changelog-history>summary::-webkit-details-marker{display:none;}
.changelog-history>summary::before{content:"▸";display:inline-block;margin-right:8px;transition:transform 0.15s;}
.changelog-history[open]>summary::before{transform:rotate(90deg);}
.changelog-wrap-inner{display:grid;gap:14px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line);}
.changelog-version{font-size:20px;font-weight:900;color:var(--text);}
.changelog-tag{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;border:1px solid var(--line-2);background:var(--soft-bg);font-size:12px;font-weight:800;color:var(--sub);}
.changelog-card ul{margin:10px 0 0;padding-left:20px;line-height:1.85;color:var(--text);}
.changelog-note{border:1px dashed var(--line-2);background:var(--soft-bg);border-radius:16px;padding:14px 16px;color:var(--sub);line-height:1.75;font-size:13px;}



/* === v4.02 设置页：密码法典编辑器 === */
.law-admin-card{grid-column:1/-1;}
.law-admin-lock{display:grid;grid-template-columns:minmax(180px,320px) auto auto;gap:10px;align-items:end;margin-top:12px;}
.law-admin-lock .field{margin:0;}
.law-admin-status{margin-top:10px;font-size:13px;line-height:1.7;color:var(--sub);}
.law-admin-panel{display:none;margin-top:16px;padding-top:16px;border-top:1px solid var(--line);}
.law-admin-panel.unlocked{display:block;}
.law-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
.law-admin-wide{grid-column:1/-1;}
.law-admin-panel label{display:block;margin:0 0 6px;font-size:12px;font-weight:800;color:var(--sub);}
.law-admin-panel textarea{min-height:260px;resize:vertical;line-height:1.75;}
.law-admin-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}
.law-admin-add-box{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--field-bg) 72%,transparent);}
.law-admin-add-box h4{margin:0 0 10px;font-size:15px;color:var(--text);}
.law-admin-add-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.law-admin-add-grid .wide{grid-column:1/-1;}
.law-admin-add-grid textarea{min-height:110px !important;}
.law-admin-mini{font-size:12px;color:var(--sub);line-height:1.7;margin-top:8px;}
.law-admin-edited-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--primary) 14%,var(--field-bg));border:1px solid var(--line);color:var(--text);font-size:12px;font-weight:800;margin-left:6px;}
@media(max-width:860px){.law-admin-lock,.law-admin-grid,.law-admin-add-grid{grid-template-columns:1fr;}.law-admin-lock button{width:100%;}}


.law-link{color:var(--primary-2);font-weight:800;text-decoration:underline;text-underline-offset:3px;word-break:break-all;}
.law-link:hover{color:var(--primary);}



/* === v4.13 新手引导 === */
.onboarding-launch{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:9000;
  border:none;
  border-radius:999px;
  padding:11px 16px;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  color:var(--on-primary);
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  box-shadow:0 12px 30px rgba(0,0,0,.22);
}
.onboarding-launch:hover{filter:brightness(1.08);}
.onboarding-mask{
  position:fixed;
  inset:0;
  z-index:8999;
  background:rgba(2,8,23,.58);
  backdrop-filter:blur(3px);
  display:none;
}
.onboarding-mask.active{display:block;}
.onboarding-target-highlight{
  position:relative !important;
  z-index:9002 !important;
  outline:3px solid color-mix(in srgb,var(--primary) 70%, white 30%) !important;
  box-shadow:0 0 0 8px color-mix(in srgb,var(--primary) 24%, transparent),0 14px 42px rgba(0,0,0,.35) !important;
  border-radius:18px !important;
}
.onboarding-popover{
  position:fixed;
  z-index:9003;
  width:min(420px,calc(100vw - 28px));
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--card-bg);
  color:var(--text);
  box-shadow:0 22px 70px rgba(0,0,0,.34);
  padding:18px;
  display:none;
}
.onboarding-popover.active{display:block;}
.onboarding-step-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 10px;
  border-radius:999px;
  background:color-mix(in srgb,var(--primary) 16%, transparent);
  color:var(--primary);
  font-size:12px;
  font-weight:900;
  margin-bottom:10px;
}
.onboarding-title{
  margin:0 0 8px;
  font-size:20px;
  line-height:1.25;
  font-weight:900;
}
.onboarding-text{
  margin:0;
  font-size:14px;
  line-height:1.8;
  color:var(--sub);
}
.onboarding-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-top:16px;
}
.onboarding-left,.onboarding-right{display:flex;gap:8px;align-items:center;}
.onboarding-actions button{
  border:1px solid var(--line);
  border-radius:12px;
  padding:9px 12px;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  background:var(--field-bg);
  color:var(--text);
}
.onboarding-actions .primary{
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  color:var(--on-primary);
  border-color:transparent;
}
.onboarding-actions .ghost{opacity:.86;}
.onboarding-progress{
  height:7px;
  border-radius:999px;
  background:color-mix(in srgb,var(--field-bg) 70%, transparent);
  overflow:hidden;
  margin-top:14px;
}
.onboarding-progress span{
  display:block;
  height:100%;
  width:0;
  background:linear-gradient(90deg,var(--primary),var(--primary-2));
  border-radius:999px;
  transition:width .2s ease;
}
@media (max-width:900px){
  .onboarding-launch{right:12px;bottom:12px;padding:9px 12px;font-size:12px;}
  .onboarding-popover{left:14px !important;right:14px !important;bottom:14px !important;top:auto !important;width:auto;}
}



/* === v4.15 黑色主题筛选框与档位选择框修复 === */
[data-theme="black"]{
  color-scheme: dark;
}
[data-theme="black"] select,
[data-theme="black"] .select,
[data-theme="black"] .input:is(select),
[data-theme="black"] select.input,
[data-theme="black"] select.select,
[data-theme="black"] .tier-select,
[data-theme="black"] #codexSort,
[data-theme="black"] #codexChapterFilter,
[data-theme="black"] #codexSeverityFilter,
[data-theme="black"] #codexPenaltyFilter{
  background:linear-gradient(180deg,#151515,#050505) !important;
  background-color:#0b0b0b !important;
  color:#ffffff !important;
  border-color:#3a3a3a !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 0 0 1px rgba(255,255,255,.03) !important;
}
[data-theme="black"] select option,
[data-theme="black"] .select option,
[data-theme="black"] .input option,
[data-theme="black"] .tier-select option,
[data-theme="black"] datalist option{
  background-color:#0b0b0b !important;
  color:#ffffff !important;
}
[data-theme="black"] select:focus,
[data-theme="black"] .select:focus,
[data-theme="black"] .tier-select:focus{
  border-color:#9ca3af !important;
  box-shadow:0 0 0 3px rgba(255,255,255,.14), inset 0 1px 0 rgba(255,255,255,.08) !important;
}



/* === 联网状态与离线暂停功能（不改变版本号） === */
.status-dotline.online-state{color:#27d86f !important;}
.status-dotline.online-state .dot{
  background:#27d86f !important;
  animation:netPulse 1s ease-in-out infinite;
  box-shadow:0 0 14px rgba(39,216,111,.85) !important;
}
.status-dotline.offline-state{color:#ff4d6d !important;}
.status-dotline.offline-state .dot{
  background:#ff4d6d !important;
  animation:none !important;
  box-shadow:0 0 12px rgba(255,77,109,.65) !important;
}
@keyframes netPulse{
  0%,100%{transform:scale(1);opacity:.72;}
  50%{transform:scale(1.35);opacity:1;}
}
body.offline-mode .app,
body.offline-mode .nav,
body.offline-mode .sidebar-timer,
body.offline-mode .guide-launcher{
  pointer-events:none !important;
  user-select:none !important;
  filter:grayscale(.35) brightness(.72);
}
body.offline-mode .status-card{
  pointer-events:auto !important;
}
.offline-lock-screen{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,0,0,.52);
  backdrop-filter:blur(8px);
}
body.offline-mode .offline-lock-screen{display:flex;}
.offline-lock-card{
  max-width:520px;
  width:min(520px,92vw);
  border-radius:24px;
  padding:26px;
  border:1px solid rgba(255,77,109,.48);
  background:linear-gradient(135deg,rgba(20,20,24,.96),rgba(55,16,24,.94));
  color:#fff;
  box-shadow:0 24px 80px rgba(0,0,0,.45);
  text-align:center;
}
.offline-lock-card h2{margin:0 0 10px;font-size:24px;}
.offline-lock-card p{margin:0;line-height:1.8;color:rgba(255,255,255,.86);}
.qq-feedback-card .qq-btn{margin-top:10px;}



/* === 手机 / 电脑 UI 自适应切换 === */
.ui-mode-options{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}
.ui-mode-btn{border:1px solid var(--line-2);border-radius:999px;background:var(--field-bg,rgba(255,255,255,.08));color:var(--text);padding:10px 14px;cursor:pointer;font-weight:800;}
.ui-mode-btn.active{background:var(--primary);color:#fff;border-color:transparent;box-shadow:0 10px 22px rgba(0,0,0,.18);}
.mobile-tip{font-size:12px;color:var(--sub);line-height:1.6;margin-top:8px;}
body.mobile-ui{display:block;overflow-x:hidden;}
body.mobile-ui .app{padding:10px 10px 92px !important;width:100%;}
body.mobile-ui .wrap{max-width:100%;}
body.mobile-ui .sidebar{position:fixed !important;left:8px;right:8px;bottom:8px;top:auto;width:auto !important;min-height:0;height:72px;padding:6px 12px;z-index:9999;background:linear-gradient(90deg,var(--panel-2,#111f57),var(--panel,#0f1a46)) !important;border:1px solid var(--line-2);border-radius:22px;box-shadow:0 14px 36px rgba(0,0,0,.35);display:flex;flex-direction:row;align-items:center;justify-content:center;pointer-events:none !important;}
body.mobile-ui .sidebar .nav,
body.mobile-ui .sidebar .nav-btn{pointer-events:auto !important;z-index:10000 !important;position:relative;}
body.mobile-ui .sidebar-brand-card,body.mobile-ui .sidebar-foot,body.mobile-ui .sidebar-timer{display:none !important;}
body.mobile-ui .nav{display:flex !important;gap:8px;width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;align-items:center;justify-content:space-evenly;}
body.mobile-ui .nav::-webkit-scrollbar{display:none;}
body.mobile-ui .nav-btn{min-width:56px;max-width:80px;width:auto;padding:6px 6px;border-radius:14px;flex:0 0 auto;}
body.mobile-ui .nav-icon{margin-bottom:3px;}
body.mobile-ui .nav-icon svg{width:20px;height:20px;}
body.mobile-ui .nav-text{font-size:11px;white-space:nowrap;}
body.mobile-ui .hero-grid,body.mobile-ui .stats-grid,body.mobile-ui .result-grid,body.mobile-ui .codex-layout,body.mobile-ui .search-layout,body.mobile-ui .settings-grid,body.mobile-ui .law-admin-grid,body.mobile-ui .law-admin-add-grid,body.mobile-ui .favorite-tools,body.mobile-ui .formal-grid{grid-template-columns:1fr !important;}
body.mobile-ui .hero{border-radius:18px;}
body.mobile-ui .hero-grid{padding:10px;gap:10px;}
body.mobile-ui .hero-title{font-size:24px !important;line-height:1.2;}
body.mobile-ui .hero-title-card,body.mobile-ui .hero-brand,body.mobile-ui .panel,body.mobile-ui .workspace,body.mobile-ui .stat-card,body.mobile-ui .settings-card,body.mobile-ui .codex-side,body.mobile-ui .codex-main,body.mobile-ui .search-panel{border-radius:16px !important;padding:14px !important;}
body.mobile-ui .hero-brand{min-height:auto;}
body.mobile-ui .hero-brand-top{align-items:center;}
body.mobile-ui .hero-brand-logo{width:64px;height:64px;border-radius:16px;}
body.mobile-ui .hero-brand-mini{font-size:12px;line-height:1.65;margin-top:12px;}
body.mobile-ui .hero-meta{gap:6px;}
body.mobile-ui .meta-pill{font-size:11px;padding:6px 9px;}
body.mobile-ui .section-block{margin-top:12px;}
body.mobile-ui .calc-row{grid-template-columns:1fr !important;gap:8px !important;}
body.mobile-ui .row-note,body.mobile-ui .tier-field{grid-column:1/-1 !important;}
body.mobile-ui input,body.mobile-ui select,body.mobile-ui textarea,body.mobile-ui button{font-size:16px;}
body.mobile-ui .button-row,body.mobile-ui .settings-actions,body.mobile-ui .toolbar,body.mobile-ui .calc-action-bar{gap:8px;flex-wrap:wrap;}
body.mobile-ui .btn-primary,body.mobile-ui .btn-secondary,body.mobile-ui .btn-danger,body.mobile-ui .ghost,body.mobile-ui .primary{min-height:40px;}
body.mobile-ui .codex-list,body.mobile-ui .law-list,body.mobile-ui .search-results{max-height:none !important;}
body.mobile-ui .codex-side{max-height:300px;overflow:auto;}
body.mobile-ui .copy-textarea,body.mobile-ui textarea{min-height:150px;}
body.mobile-ui .theme-options{grid-template-columns:1fr 1fr !important;}
body.mobile-ui .onboarding-launch{bottom:88px !important;right:14px !important;}
body.mobile-ui .sl-toast-container{top:80px !important;left:12px !important;right:12px !important;transform:none !important;align-items:stretch !important;width:auto !important;max-width:100% !important;}
body.mobile-ui .sl-toast{width:100% !important;box-sizing:border-box !important;font-size:13px !important;padding:10px 14px !important;border-radius:14px !important;}
body.mobile-ui .sl-glass-content{padding:22px 18px !important;width:92% !important;max-width:none !important;border-radius:18px !important;}
body.mobile-ui .sl-glass-title{font-size:18px !important;}
body.mobile-ui .sl-glass-desc{font-size:12px !important;line-height:1.55 !important;}
body.mobile-ui .sl-glass-input{padding:12px 14px !important;font-size:15px !important;}
body.mobile-ui .sl-glass-actions{flex-direction:column !important;gap:8px !important;}
body.mobile-ui .sl-glass-actions button{width:100% !important;padding:11px 12px !important;}
body.mobile-ui .calc-row .input,
body.mobile-ui .calc-row .select,
body.mobile-ui .calc-row .textarea{padding:12px 12px !important;font-size:15px !important;}
body.mobile-ui .calc-row .delete-row-btn{width:100% !important;padding:11px !important;}
body.mobile-ui .quick-crime-list{gap:6px !important;}
body.mobile-ui .quick-crime-btn{padding:7px 10px !important;font-size:12px !important;max-width:100% !important;overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important;}
body.mobile-ui .suggestions{max-height:200px !important;border-radius:14px !important;}
body.mobile-ui .suggestion{padding:10px 12px !important;}
body.mobile-ui .suggestion-name{font-size:14px !important;}
body.mobile-ui .suggestion-meta{font-size:11px !important;}
body.mobile-ui .theme-options{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
body.mobile-ui .version-highlight.modern-info-strip .version-highlight-grid.modern-info-grid{grid-template-columns:1fr !important;gap:10px !important;}
body.mobile-ui .version-highlight.modern-info-strip .version-chip.info-chip{min-height:auto !important;padding:14px !important;}
body.mobile-ui .version-highlight.modern-info-strip .version-chip.info-chip .info-value{font-size:24px !important;}
body.mobile-ui .version-highlight.modern-info-strip .version-chip.info-chip .info-text{font-size:13px !important;}
body.mobile-ui .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important;}
body.mobile-ui .stat-card{padding:14px 12px !important;}
body.mobile-ui .stat-card .stat-value{font-size:22px !important;}
body.mobile-ui .stat-card .stat-label{font-size:11px !important;}
body.mobile-ui .codex-filter-line{grid-template-columns:1fr !important;}
body.mobile-ui .help-grid{grid-template-columns:1fr !important;padding:12px !important;}
body.mobile-ui .maintenance-grid{grid-template-columns:1fr !important;}
body.mobile-ui .maintenance-form-grid{grid-template-columns:1fr !important;}
body.mobile-ui .ai-provider-grid{grid-template-columns:1fr !important;}
body.mobile-ui .ai-action-row{flex-direction:column !important;gap:8px !important;}
body.mobile-ui .ai-action-row button{width:100% !important;}
body.mobile-ui .sl-tool-grid{grid-template-columns:1fr !important;}
body.mobile-ui .formal-grid{grid-template-columns:1fr !important;}
body.mobile-ui .formal-grid .field.wide{grid-column:1/-1 !important;}
body.mobile-ui .favorite-tools{grid-template-columns:1fr !important;gap:8px !important;}
body.mobile-ui .law-admin-card .law-admin-lock,
body.mobile-ui .law-admin-card .law-admin-grid,
body.mobile-ui .law-admin-card .law-admin-add-grid{grid-template-columns:1fr !important;}
body.mobile-ui .law-admin-card button{width:100% !important;}
body.mobile-ui .changelog-card{padding:14px !important;}
body.mobile-ui .changelog-head{flex-direction:column !important;align-items:flex-start !important;gap:6px !important;}
body.mobile-ui .changelog-version{font-size:15px !important;}
body.mobile-ui .changelog-card li{font-size:13px !important;line-height:1.6 !important;padding-left:18px !important;}
body.mobile-ui .codex-list,
body.mobile-ui .law-list,
body.mobile-ui .search-results{max-height:none !important;}
body.mobile-ui .calc-action-bar{flex-direction:column !important;gap:8px !important;}
body.mobile-ui .calc-action-bar button{width:100% !important;}
body.mobile-ui #view-sentence .result-card{padding:14px !important;}
body.mobile-ui #view-sentence .result-card h3{font-size:16px !important;}
body.mobile-ui .hero-grid{padding:10px !important;gap:10px !important;}
body.mobile-ui .hero-title-card{padding:14px !important;}
body.mobile-ui .home-brand{padding:14px !important;gap:10px !important;}
body.mobile-ui .home-brand .hero-brand-top{flex-direction:column !important;align-items:center !important;text-align:center !important;gap:10px !important;}
body.mobile-ui .home-brand h2{font-size:18px !important;}
body.mobile-ui .home-brand p{font-size:13px !important;line-height:1.5 !important;}
body.mobile-ui .home-brand .hero-brand-mini{font-size:11px !important;padding:3px 8px !important;}
body.mobile-ui .search-row{flex-direction:column !important;gap:8px !important;align-items:stretch !important;}
body.mobile-ui .search-row > *{width:100% !important;}
body.mobile-ui .tier-field,
body.mobile-ui .row-note{grid-column:1/-1 !important;}
body.mobile-ui .formal-actions{flex-direction:column !important;gap:8px !important;}
body.mobile-ui .formal-actions button{width:100% !important;}
body.mobile-ui .onboarding-popover{left:8px !important;right:8px !important;bottom:80px !important;width:auto !important;max-width:none !important;border-radius:14px !important;padding:12px !important;}
body.mobile-ui #slGlassLockHint{font-size:12px !important;}
body.mobile-ui .settings-card{padding:14px !important;}
body.mobile-ui .settings-card h3{font-size:15px !important;}
body.mobile-ui .settings-card .setting-row{flex-direction:column !important;align-items:flex-start !important;gap:6px !important;}
body.mobile-ui .settings-card .setting-row input,
body.mobile-ui .settings-card .setting-row select{width:100% !important;}
body.mobile-ui .codex-side{max-height:none !important;position:static !important;width:100% !important;}
body.mobile-ui .codex-main{padding:14px !important;}
body.mobile-ui .codex-sidebar-preview{position:static !important;width:100% !important;max-height:240px !important;}
body.mobile-ui .preview-window{max-height:240px !important;}
body.mobile-ui .codex-list,
body.mobile-ui .law-list{grid-template-columns:1fr !important;}
body.mobile-ui .module-card{padding:14px !important;}
body.mobile-ui .module-card h3{font-size:15px !important;}
body.mobile-ui .result-card{padding:14px !important;}
body.mobile-ui .result-grid{gap:10px !important;}
body.mobile-ui .calc-row{font-size:14px !important;}
body.mobile-ui .sidebar-foot{
  display:block !important;
  position:fixed !important;
  left:10px !important;
  right:auto !important;
  bottom:82px !important;
  top:auto !important;
  width:auto !important;
  max-width:120px !important;
  z-index:998;
  margin:0 !important;
  padding:0 !important;
}
body.mobile-ui .sidebar-foot .status-title,
body.mobile-ui .sidebar-foot .status-sub,
body.mobile-ui .sidebar-foot .status-dotline{display:none !important;}
body.mobile-ui .sidebar-foot .status-card{
  padding:6px 12px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,var(--panel-2,#111f57),var(--panel,#0f1a46)) !important;
  border:1px solid var(--line-2) !important;
  box-shadow:0 6px 18px rgba(0,0,0,.28) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
body.mobile-ui .sidebar-foot .status-version{
  font-size:11px !important;
  color:var(--primary) !important;
  font-weight:800 !important;
  cursor:pointer !important;
  padding:2px 4px !important;
  user-select:none !important;
  -webkit-tap-highlight-color:transparent !important;
}
@media(max-width:760px){body:not(.desktop-ui){display:block;overflow-x:hidden;}body:not(.desktop-ui) .app{padding:10px 10px 92px !important;width:100%;}body:not(.desktop-ui) .sidebar{position:fixed !important;left:8px;right:8px;bottom:8px;top:auto;width:auto !important;min-height:0;height:70px;padding:8px 10px;z-index:9999;background:linear-gradient(90deg,var(--panel-2,#111f57),var(--panel,#0f1a46)) !important;border:1px solid var(--line-2);border-radius:22px;box-shadow:0 14px 36px rgba(0,0,0,.35);display:flex;flex-direction:row;align-items:center;justify-content:center;pointer-events:none !important;}body:not(.desktop-ui) .sidebar .nav,body:not(.desktop-ui) .sidebar .nav-btn{pointer-events:auto !important;z-index:10000 !important;position:relative;}body:not(.desktop-ui) .sidebar-brand-card,body:not(.desktop-ui) .sidebar-timer{display:none !important;}body:not(.desktop-ui) .sidebar-foot{display:block !important;position:fixed !important;left:10px !important;right:auto !important;bottom:82px !important;top:auto !important;width:auto !important;max-width:140px !important;z-index:998;margin:0 !important;padding:0 !important;}body:not(.desktop-ui) .sidebar-foot .status-title,body:not(.desktop-ui) .sidebar-foot .status-sub,body:not(.desktop-ui) .sidebar-foot .status-dotline{display:none !important;}body:not(.desktop-ui) .sidebar-foot .status-card{padding:6px 12px !important;border-radius:999px !important;background:linear-gradient(90deg,var(--panel-2,#111f57),var(--panel,#0f1a46)) !important;border:1px solid var(--line-2) !important;box-shadow:0 6px 18px rgba(0,0,0,.28) !important;display:flex !important;align-items:center !important;justify-content:center !important;}body:not(.desktop-ui) .sidebar-foot .status-version{font-size:11px !important;color:var(--primary) !important;font-weight:800 !important;cursor:pointer !important;padding:2px 4px !important;user-select:none !important;-webkit-tap-highlight-color:transparent !important;}body:not(.desktop-ui) .nav{display:flex !important;gap:6px;width:100%;overflow-x:auto;scrollbar-width:none;}body:not(.desktop-ui) .nav::-webkit-scrollbar{display:none;}body:not(.desktop-ui) .nav-btn{min-width:68px;max-width:82px;width:auto;padding:7px 8px;border-radius:16px;flex:0 0 auto;}body:not(.desktop-ui) .nav-icon{margin-bottom:2px;}body:not(.desktop-ui) .nav-icon svg{width:19px;height:19px;}body:not(.desktop-ui) .nav-text{font-size:11px;white-space:nowrap;}body:not(.desktop-ui) .hero-grid,body:not(.desktop-ui) .stats-grid,body:not(.desktop-ui) .result-grid,body:not(.desktop-ui) .codex-layout,body:not(.desktop-ui) .search-layout,body:not(.desktop-ui) .settings-grid,body:not(.desktop-ui) .law-admin-grid,body:not(.desktop-ui) .law-admin-add-grid,body:not(.desktop-ui) .favorite-tools,body:not(.desktop-ui) .formal-grid{grid-template-columns:1fr !important;}body:not(.desktop-ui) .calc-row{grid-template-columns:1fr !important;}body:not(.desktop-ui) .hero-title{font-size:24px !important;}body:not(.desktop-ui) .hero-title-card,body:not(.desktop-ui) .hero-brand,body:not(.desktop-ui) .panel,body:not(.desktop-ui) .workspace,body:not(.desktop-ui) .stat-card,body:not(.desktop-ui) .settings-card,body:not(.desktop-ui) .codex-side,body:not(.desktop-ui) .codex-main,body:not(.desktop-ui) .search-panel{border-radius:16px !important;padding:14px !important;}body:not(.desktop-ui) input,body:not(.desktop-ui) select,body:not(.desktop-ui) textarea,body:not(.desktop-ui) button{font-size:16px;}body:not(.desktop-ui) .theme-options{grid-template-columns:1fr 1fr !important;}body:not(.desktop-ui) .onboarding-launch{bottom:88px !important;right:14px !important;}}



/* === v4.26 已移除旧版手机底部栏错误样式 === */
/* === v4.26 手机底部栏重修：修复自动模式误触发与无法点击 === */
body.mobile-ui{
  display:block !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  position:relative;
}
body.mobile-ui .app{
  width:100% !important;
  min-height:100vh !important;
  height:auto !important;
  overflow-x:hidden !important;
  overflow-y:visible !important;
  padding:10px 10px 10px !important;
}
body.mobile-ui .wrap,
body.mobile-ui .view.active{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding:0 0 calc(88px + env(safe-area-inset-bottom,0px)) !important;
  margin:0 !important;
}
body.mobile-ui .sidebar{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  width:100% !important;
  min-width:0 !important;
  height:72px !important;
  min-height:72px !important;
  padding:6px 6px calc(6px + env(safe-area-inset-bottom)) !important;
  border-radius:18px 18px 0 0 !important;
  border-left:0 !important;
  border-right:0 !important;
  border-bottom:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:9999 !important;
  pointer-events:none !important;
}
body.mobile-ui .nav,
body.mobile-ui .nav-btn{
  pointer-events:auto !important;
  z-index:10000 !important;
  position:relative;
}
body.mobile-ui .sidebar-brand-card,
body.mobile-ui .sidebar-foot,
body.mobile-ui .sidebar-timer{
  display:none !important;
}
body.mobile-ui .nav{
  width:100% !important;
  height:100% !important;
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(36px,1fr)) !important;
  gap:4px !important;
  overflow:hidden !important;
  margin:0 !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  pointer-events:auto !important;
}
body.mobile-ui .nav-btn{
  min-width:0 !important;
  max-width:none !important;
  width:100% !important;
  height:60px !important;
  padding:5px 1px !important;
  border-radius:14px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:3px !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
}
body.mobile-ui .nav-icon{margin:0 !important;flex:0 0 auto !important;}
body.mobile-ui .nav-icon svg{width:20px !important;height:20px !important;}
body.mobile-ui .nav-text{
  display:block !important;
  max-width:100% !important;
  font-size:11px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  text-align:center !important;
}
body.mobile-ui .hero-grid,
body.mobile-ui .stats-grid,
body.mobile-ui .result-grid,
body.mobile-ui .codex-layout,
body.mobile-ui .search-layout,
body.mobile-ui .settings-grid,
body.mobile-ui .law-admin-grid,
body.mobile-ui .law-admin-add-grid,
body.mobile-ui .favorite-tools,
body.mobile-ui .formal-grid{
  grid-template-columns:1fr !important;
}
body.mobile-ui .hero-title{font-size:24px !important;line-height:1.2 !important;}
body.mobile-ui .hero-title-card,
body.mobile-ui .hero-brand,
body.mobile-ui .panel,
body.mobile-ui .workspace,
body.mobile-ui .stat-card,
body.mobile-ui .settings-card,
body.mobile-ui .codex-side,
body.mobile-ui .codex-main,
body.mobile-ui .search-panel{border-radius:16px !important;padding:14px !important;}
body.mobile-ui input,
body.mobile-ui select,
body.mobile-ui textarea,
body.mobile-ui button{font-size:16px;}
body.mobile-ui .calc-row{grid-template-columns:1fr !important;gap:8px !important;}
body.mobile-ui .row-note,
body.mobile-ui .tier-field{grid-column:1/-1 !important;}
body.mobile-ui .theme-options{grid-template-columns:1fr 1fr !important;}
body.mobile-ui .onboarding-launch{bottom:88px !important;right:14px !important;}

@media(max-width:760px){
  body:not(.desktop-ui){display:block !important;overflow-x:hidden !important;overflow-y:auto !important;position:relative;}
  body:not(.desktop-ui) .sl-toast-container{top:80px !important;left:12px !important;right:12px !important;transform:none !important;align-items:stretch !important;width:auto !important;max-width:100% !important;}
  body:not(.desktop-ui) .sl-toast{width:100% !important;box-sizing:border-box !important;font-size:13px !important;padding:10px 14px !important;border-radius:14px !important;}
  body:not(.desktop-ui) .sl-glass-content{padding:22px 18px !important;width:92% !important;max-width:none !important;border-radius:18px !important;}
  body:not(.desktop-ui) .sl-glass-title{font-size:18px !important;}
  body:not(.desktop-ui) .sl-glass-desc{font-size:12px !important;line-height:1.55 !important;}
  body:not(.desktop-ui) .sl-glass-input{padding:12px 14px !important;font-size:15px !important;}
  body:not(.desktop-ui) .sl-glass-actions{flex-direction:column !important;gap:8px !important;}
  body:not(.desktop-ui) .sl-glass-actions button{width:100% !important;padding:11px 12px !important;}
  body:not(.desktop-ui) .calc-row .input,
  body:not(.desktop-ui) .calc-row .select,
  body:not(.desktop-ui) .calc-row .textarea{padding:12px 12px !important;font-size:15px !important;}
  body:not(.desktop-ui) .calc-row .delete-row-btn{width:100% !important;padding:11px !important;}
  body:not(.desktop-ui) .quick-crime-list{gap:6px !important;}
  body:not(.desktop-ui) .quick-crime-btn{padding:7px 10px !important;font-size:12px !important;}
  body:not(.desktop-ui) .suggestions{max-height:200px !important;border-radius:14px !important;}
  body:not(.desktop-ui) .suggestion{padding:10px 12px !important;}
  body:not(.desktop-ui) .suggestion-name{font-size:14px !important;}
  body:not(.desktop-ui) .suggestion-meta{font-size:11px !important;}
  body:not(.desktop-ui) .app{
    width:100% !important;
    min-height:100vh !important;
    height:auto !important;
    overflow-x:hidden !important;
    overflow-y:visible !important;
    padding:10px 10px calc(88px + env(safe-area-inset-bottom)) !important;
  }
  body:not(.desktop-ui) .wrap,
  body:not(.desktop-ui) .view.active{width:100% !important;max-width:100% !important;height:auto !important;min-height:0 !important;padding-bottom:calc(92px + env(safe-area-inset-bottom,0px)) !important;}
  body:not(.desktop-ui) .sidebar{
    position:fixed !important;
    left:0 !important;right:0 !important;bottom:0 !important;top:auto !important;
    width:100% !important;min-width:0 !important;height:72px !important;min-height:72px !important;
    padding:6px 6px calc(6px + env(safe-area-inset-bottom)) !important;
    border-radius:18px 18px 0 0 !important;
    border-left:0 !important;border-right:0 !important;border-bottom:0 !important;
    overflow:hidden !important;display:flex !important;flex-direction:row !important;align-items:center !important;justify-content:center !important;
    z-index:9999 !important;pointer-events:none !important;
  }
  body:not(.desktop-ui) .nav,
  body:not(.desktop-ui) .nav-btn{
    pointer-events:auto !important;
    z-index:10000 !important;
    position:relative;
  }
  body:not(.desktop-ui) .sidebar-brand-card,
  body:not(.desktop-ui) .sidebar-foot,
  body:not(.desktop-ui) .sidebar-timer{display:none !important;}
  body:not(.desktop-ui) .nav{
    width:100% !important;height:100% !important;display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(36px,1fr)) !important;
    gap:4px !important;overflow:hidden !important;margin:0 !important;align-items:stretch !important;justify-content:stretch !important;pointer-events:auto !important;
  }
  body:not(.desktop-ui) .nav-btn{
    min-width:0 !important;max-width:none !important;width:100% !important;height:60px !important;
    padding:5px 1px !important;border-radius:14px !important;display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;gap:3px !important;pointer-events:auto !important;touch-action:manipulation !important;
  }
  body:not(.desktop-ui) .nav-icon{margin:0 !important;flex:0 0 auto !important;}
  body:not(.desktop-ui) .nav-icon svg{width:18px !important;height:18px !important;}
  body:not(.desktop-ui) .nav-text{display:block !important;max-width:100% !important;font-size:10px !important;line-height:1.05 !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;text-align:center !important;}
  body:not(.desktop-ui) .hero-grid,
  body:not(.desktop-ui) .stats-grid,
  body:not(.desktop-ui) .result-grid,
  body:not(.desktop-ui) .codex-layout,
  body:not(.desktop-ui) .search-layout,
  body:not(.desktop-ui) .settings-grid,
  body:not(.desktop-ui) .law-admin-grid,
  body:not(.desktop-ui) .law-admin-add-grid,
  body:not(.desktop-ui) .favorite-tools,
  body:not(.desktop-ui) .formal-grid{grid-template-columns:1fr !important;}
  body:not(.desktop-ui) .hero-title{font-size:24px !important;line-height:1.2 !important;}
  body:not(.desktop-ui) .hero-title-card,
  body:not(.desktop-ui) .hero-brand,
  body:not(.desktop-ui) .panel,
  body:not(.desktop-ui) .workspace,
  body:not(.desktop-ui) .stat-card,
  body:not(.desktop-ui) .settings-card,
  body:not(.desktop-ui) .codex-side,
  body:not(.desktop-ui) .codex-main,
  body:not(.desktop-ui) .search-panel{border-radius:16px !important;padding:14px !important;}
  body:not(.desktop-ui) input,
  body:not(.desktop-ui) select,
  body:not(.desktop-ui) textarea,
  body:not(.desktop-ui) button{font-size:16px;}
  body:not(.desktop-ui) .calc-row{grid-template-columns:1fr !important;gap:8px !important;}
  body:not(.desktop-ui) .row-note,
  body:not(.desktop-ui) .tier-field{grid-column:1/-1 !important;}
  body:not(.desktop-ui) .theme-options{grid-template-columns:1fr 1fr !important;}
  body:not(.desktop-ui) .onboarding-launch{bottom:88px !important;right:14px !important;}
}
/* 手机横屏适配：底部导航改为左侧窄栏 */
@media (orientation: landscape) and (max-height: 500px){
  body:not(.desktop-ui) .sidebar{
    width:64px !important;height:100vh !important;
    left:0 !important;right:auto !important;bottom:0 !important;top:0 !important;
    border-radius:0 18px 18px 0 !important;
    border-left:0 !important;border-right:1px solid var(--line-2) !important;border-bottom:0 !important;
    padding:8px 4px !important;
  }
  body:not(.desktop-ui) .nav{
    grid-template-columns:1fr !important;gap:4px !important;
  }
  body:not(.desktop-ui) .nav-btn{
    height:auto !important;min-height:44px !important;padding:4px 2px !important;
  }
  body:not(.desktop-ui) .nav-text{font-size:9px !important;}
  body:not(.desktop-ui) .app{
    padding-left:74px !important;padding-bottom:10px !important;padding-top:10px !important;
  }
}
@media(max-width:380px){
  body.mobile-ui .nav-text,
  body:not(.desktop-ui) .nav-text{font-size:9px !important;}
  body.mobile-ui .nav-icon svg,
  body:not(.desktop-ui) .nav-icon svg{width:17px !important;height:17px !important;}
  body.mobile-ui .quick-crime-btn,
  body:not(.desktop-ui) .quick-crime-btn{padding:6px 8px !important;font-size:11px !important;}
  body.mobile-ui .sl-glass-content,
  body:not(.desktop-ui) .sl-glass-content{padding:18px 14px !important;width:94% !important;}
  body.mobile-ui .sl-glass-title,
  body:not(.desktop-ui) .sl-glass-title{font-size:16px !important;}
  body.mobile-ui .hero-title,
  body:not(.desktop-ui) .hero-title{font-size:20px !important;}
  body.mobile-ui .panel,
  body:not(.desktop-ui) .panel,
  body.mobile-ui .workspace,
  body:not(.desktop-ui) .workspace,
  body.mobile-ui .stat-card,
  body:not(.desktop-ui) .stat-card{padding:12px !important;}
  body.mobile-ui .calc-row,
  body:not(.desktop-ui) .calc-row{padding:12px !important;}
  body.mobile-ui .app,
  body:not(.desktop-ui) .app{padding:8px 8px calc(84px + env(safe-area-inset-bottom)) !important;}
}
@media (min-width:1440px){
  body:not(.mobile-ui):not(:has(.mobile-ui)) .calc-row{grid-template-columns:2.6fr 1fr 1fr 110px;gap:14px;}
  body:not(.mobile-ui):not(:has(.mobile-ui)) .hero-title{font-size:34px;}
  body:not(.mobile-ui):not(:has(.mobile-ui)) .panel,
  body:not(.mobile-ui):not(:has(.mobile-ui)) .workspace{padding:22px;}
}
@media (min-width:1920px){
  body:not(.mobile-ui):not(:has(.mobile-ui)) .hero-title{font-size:38px;}
  body:not(.mobile-ui):not(:has(.mobile-ui)) .stat-card{padding:24px;}
}


/* === v4.26 手机版背景与法典自适应修复 === */
html,
body{
  min-height:100%;
  background:var(--page-gradient) !important;
  background-color:var(--bg) !important;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:var(--page-gradient) !important;
}
body.mobile-ui,
body.mobile-ui .app,
body.mobile-ui .wrap,
body.mobile-ui .view,
body.mobile-ui .view.active,
body:not(.desktop-ui),
body:not(.desktop-ui) .app,
body:not(.desktop-ui) .wrap,
body:not(.desktop-ui) .view,
body:not(.desktop-ui) .view.active{
  background:transparent !important;
}
body.mobile-ui,
body:not(.desktop-ui){
  overscroll-behavior-y:none;
  -webkit-overflow-scrolling:touch;
}
body.mobile-ui .sidebar,
body:not(.desktop-ui) .sidebar{
  background:var(--sidebar-bg) !important;
  box-shadow:0 -12px 32px rgba(0,0,0,.28) !important;
}
body.mobile-ui #view-codex .codex-grid,
body:not(.desktop-ui) #view-codex .codex-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
  width:100% !important;
  max-width:100% !important;
}
body.mobile-ui #view-codex .codex-side,
body.mobile-ui #view-codex .codex-main,
body:not(.desktop-ui) #view-codex .codex-side,
body:not(.desktop-ui) #view-codex .codex-main{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  border-radius:16px !important;
  padding:12px !important;
}
body.mobile-ui #view-codex .codex-side .search-row,
body:not(.desktop-ui) #view-codex .codex-side .search-row{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
}
body.mobile-ui #view-codex .codex-side .search-row input,
body.mobile-ui #view-codex .codex-side .search-row select,
body:not(.desktop-ui) #view-codex .codex-side .search-row input,
body:not(.desktop-ui) #view-codex .codex-side .search-row select{
  width:100% !important;
  min-width:0 !important;
}
body.mobile-ui #view-codex .chapter-list,
body:not(.desktop-ui) #view-codex .chapter-list{
  max-height:260px !important;
  overflow:auto !important;
  display:grid !important;
  gap:8px !important;
  padding-right:2px !important;
}
body.mobile-ui #view-codex .chapter-item,
body.mobile-ui #view-codex .chapter-btn,
body:not(.desktop-ui) #view-codex .chapter-item,
body:not(.desktop-ui) #view-codex .chapter-btn{
  width:100% !important;
  min-width:0 !important;
  white-space:normal !important;
  word-break:break-word !important;
}
body.mobile-ui #view-codex .codex-main-head,
body:not(.desktop-ui) #view-codex .codex-main-head{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  align-items:start !important;
}
body.mobile-ui #view-codex .codex-main-title,
body:not(.desktop-ui) #view-codex .codex-main-title{
  font-size:20px !important;
  line-height:1.25 !important;
  word-break:break-word !important;
}
body.mobile-ui #view-codex .codex-main-sub,
body:not(.desktop-ui) #view-codex .codex-main-sub{
  font-size:13px !important;
  line-height:1.65 !important;
}
body.mobile-ui #view-codex .section-list,
body:not(.desktop-ui) #view-codex .section-list{
  display:grid !important;
  gap:10px !important;
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
  padding-bottom:12px !important;
}
body.mobile-ui #view-codex .law-section,
body:not(.desktop-ui) #view-codex .law-section{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}
body.mobile-ui #view-codex .law-section-head,
body:not(.desktop-ui) #view-codex .law-section-head{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
  text-align:left !important;
  align-items:start !important;
  width:100% !important;
}
body.mobile-ui #view-codex .law-section-head > span:first-child,
body:not(.desktop-ui) #view-codex .law-section-head > span:first-child{
  white-space:normal !important;
  word-break:break-word !important;
  line-height:1.45 !important;
}
body.mobile-ui #view-codex .law-section-meta,
body:not(.desktop-ui) #view-codex .law-section-meta{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  justify-content:flex-start !important;
}
body.mobile-ui #view-codex .law-section-body,
body:not(.desktop-ui) #view-codex .law-section-body{
  font-size:14px !important;
  line-height:1.8 !important;
  word-break:break-word !important;
  overflow-wrap:anywhere !important;
  max-width:100% !important;
}
body.mobile-ui .chapter-official-link,
body:not(.desktop-ui) .chapter-official-link{
  display:inline-flex !important;
  margin-top:8px !important;
  max-width:100% !important;
  white-space:normal !important;
}
@media(max-width:760px){
  html,body{background:var(--page-gradient) !important;background-color:var(--bg) !important;}
  body:not(.desktop-ui)::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--page-gradient) !important;}
}

/* === v4.26 智能工具侧栏 / 阅读模式 / 字号无级 / 引导修复 === */
body.sl-reading-mode{
  --bg:#090f1c !important;
  --panel:#101827 !important;
  --panel-2:#111827 !important;
  --card-bg:#111827 !important;
  --field-bg:#0f172a !important;
  --soft-bg:#1e293b !important;
  --text:#f8fafc !important;
  --sub:#d7e0ee !important;
  --line:#334155 !important;
  --line-2:#475569 !important;
  --primary:#94a3b8 !important;
  --primary-2:#64748b !important;
  --on-primary:#07111f !important;
  --page-gradient:linear-gradient(135deg,#090f1c,#111827 52%,#0f172a) !important;
  background:var(--page-gradient) !important;
}
body.sl-reading-mode .sidebar{background:linear-gradient(180deg,#0f172a,#111827) !important;}
body.sl-reading-mode .law-card,
body.sl-reading-mode .section-card,
body.sl-reading-mode .panel,
body.sl-reading-mode .settings-card,
body.sl-reading-mode .hero-title-card,
body.sl-reading-mode .codex-side,
body.sl-reading-mode .codex-main,
body.sl-reading-mode .search-panel,
body.sl-reading-mode .stat-card{
  background:#111827 !important;
  color:#f8fafc !important;
  border-color:#334155 !important;
}
body.sl-reading-mode .btn-primary,
body.sl-reading-mode .nav-btn.active{background:linear-gradient(180deg,#94a3b8,#64748b) !important;color:#07111f !important;}

/* === v4.46 高对比阅读模式 === */
body.sl-high-contrast{
  --text:#ffffff !important;
  --sub:#e2e8f0 !important;
  --line:#94a3b8 !important;
  --line-2:#cbd5e1 !important;
  --primary:#fbbf24 !important;
  --primary-2:#f59e0b !important;
  --on-primary:#0a0a0a !important;
}
body.sl-high-contrast .panel,
body.sl-high-contrast .law-card,
body.sl-high-contrast .section-card,
body.sl-high-contrast .settings-card,
body.sl-high-contrast .codex-side,
body.sl-high-contrast .codex-main,
body.sl-high-contrast .search-panel,
body.sl-high-contrast .hero-title-card,
body.sl-high-contrast .law-section,
body.sl-high-contrast .search-result,
body.sl-high-contrast .sl-modal-box,
body.sl-high-contrast .sl-compare-box,
body.sl-high-contrast .sl-compare-panel{
  border-width:2px !important;
  border-color:var(--line) !important;
  background:rgba(15,23,42,0.95) !important;
  color:var(--text) !important;
}
body.sl-high-contrast .btn-primary{
  background:linear-gradient(180deg,var(--primary),var(--primary-2)) !important;
  color:#000 !important;
  font-weight:900 !important;
}
body.sl-high-contrast .btn-secondary,
body.sl-high-contrast button{
  border:2px solid var(--line) !important;
}
body.sl-high-contrast .input,
body.sl-high-contrast input[type="text"],
body.sl-high-contrast input[type="password"],
body.sl-high-contrast textarea,
body.sl-high-contrast select,
body.sl-high-contrast .select{
  border:2px solid var(--line) !important;
  background:#0f172a !important;
  color:#fff !important;
}
body.sl-high-contrast .input:focus,
body.sl-high-contrast select:focus{
  outline:3px solid var(--primary) !important;
  outline-offset:1px !important;
}
body.sl-high-contrast .tag{
  border:1.5px solid currentColor !important;
}
body.sl-high-contrast .law-section-body{
  color:#fff !important;
}
body.sl-high-contrast a{ color:#fbbf24 !important; text-decoration:underline !important; }
body{--sl-user-font-scale:1;}
body .law-section-body,body .search-result-content,body .row-note,body .hero-desc,body .help-card p,body .settings-card p{font-size:calc(1em * var(--sl-user-font-scale)) !important;}
.font-range-wrap{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-top:10px;}
.font-range-wrap input[type="range"]{width:100%;accent-color:var(--primary);}
.font-range-value{min-width:58px;text-align:center;font-weight:900;color:var(--text);border:1px solid var(--line);background:var(--field-bg);border-radius:10px;padding:8px 10px;}
body.mobile-ui .onboarding-popover, body:not(.desktop-ui) .onboarding-popover{
  top:12px !important;
  bottom:auto !important;
  max-height:calc(100vh - 112px) !important;
  overflow:auto !important;
}
body.mobile-ui .onboarding-actions, body:not(.desktop-ui) .onboarding-actions{position:sticky;bottom:0;background:var(--card-bg);padding-top:10px;}
body.mobile-ui .nav, body:not(.desktop-ui) .nav{overflow-x:visible !important;}
body.mobile-ui .nav-btn, body:not(.desktop-ui) .nav-btn{min-width:0 !important;flex:1 1 0 !important;padding:8px 4px !important;}
body.mobile-ui .nav-text, body:not(.desktop-ui) .nav-text{font-size:11px !important;}
#slToolsBtn{display:none !important;}


/* === 深夜阅读界面生效信息修复：不改版本号，不写更新日志 === */
html body.sl-reading-mode .version-highlight{
  background:#111827 !important;
  background-image:none !important;
  color:#e5edf7 !important;
  border-color:#334155 !important;
  box-shadow:none !important;
}
html body.sl-reading-mode .version-highlight::before{
  display:none !important;
  background:transparent !important;
  opacity:0 !important;
}
html body.sl-reading-mode .version-highlight-title::before{
  background:#64748b !important;
  box-shadow:0 0 10px rgba(100,116,139,.45) !important;
}
html body.sl-reading-mode .version-highlight-grid > *,
html body.sl-reading-mode .version-chip,
html body.sl-reading-mode .info-card,
html body.sl-reading-mode .meta-card{
  background:#0b1220 !important;
  background-image:none !important;
  color:#f8fafc !important;
  border-color:#334155 !important;
  box-shadow:none !important;
}
html body.sl-reading-mode .version-chip strong,
html body.sl-reading-mode .info-card strong,
html body.sl-reading-mode .meta-card strong{
  color:#ffffff !important;
}
html body.sl-reading-mode .version-chip span,
html body.sl-reading-mode .version-chip div{
  color:#e5edf7 !important;
}
html body.sl-reading-mode .sidebar-brand-card,
html body.sl-reading-mode .sidebar .brand,
html body.sl-reading-mode .sidebar-brand-text{
  background:#0b1220 !important;
  background-image:linear-gradient(180deg,#0b1220,#111827) !important;
  color:#e5edf7 !important;
  border-color:#334155 !important;
}
html body.sl-reading-mode .severity-tag,
html body.sl-reading-mode .law-section-meta .tag,
html body.sl-reading-mode .law-section-head .tag,
html body.sl-reading-mode .law-section-head .badge,
html body.sl-reading-mode .mini-chip{
  background:#0b1220 !important;
  background-image:none !important;
  color:#f8fafc !important;
  border-color:#475569 !important;
}


/* === 信息栏样式修正：更新日期改为5月3日，信息栏改为横向统计卡样式 === */
.version-highlight.modern-info-strip{background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 84%, transparent),color-mix(in srgb,var(--panel-2) 88%, transparent)) !important;border:1px solid var(--line-2) !important;border-radius:24px !important;padding:14px !important;box-shadow:var(--soft-shadow) !important;}
.version-highlight.modern-info-strip::before,.version-highlight.modern-info-strip .version-highlight-title{display:none !important;content:none !important;}
.version-highlight.modern-info-strip .version-highlight-grid.modern-info-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.version-highlight.modern-info-strip .version-chip.info-chip{display:flex !important;align-items:center;gap:16px;min-height:112px;border-radius:18px !important;padding:16px 18px !important;background:linear-gradient(180deg,color-mix(in srgb,var(--soft-bg) 92%, transparent),color-mix(in srgb,var(--field-bg) 96%, transparent)) !important;border:1px solid var(--line) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 10px 22px rgba(0,0,0,.14);color:var(--text) !important;}
.version-highlight.modern-info-strip .version-chip.info-chip strong{display:block !important;margin:0 !important;font-size:14px !important;font-weight:700;color:var(--muted) !important;letter-spacing:.02em;}
.version-highlight.modern-info-strip .version-chip.info-chip .info-value{display:block;font-size:34px;font-weight:800;line-height:1.05;letter-spacing:.01em;color:var(--text) !important;}
.version-highlight.modern-info-strip .version-chip.info-chip .info-text{display:block;font-size:18px;font-weight:800;line-height:1.2;color:var(--text) !important;}
.version-highlight.modern-info-strip .version-chip.info-chip .info-text.long{font-size:18px;line-height:1.35;font-weight:700;}
.version-highlight.modern-info-strip .version-chip.info-chip .info-copy{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1;}
.version-highlight.modern-info-strip .version-chip.info-chip .info-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;flex:0 0 64px;border:1px solid color-mix(in srgb,currentColor 22%, transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 18px rgba(0,0,0,.18);}
.version-highlight.modern-info-strip .version-chip.info-chip .info-icon svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.version-highlight.modern-info-strip .info-chip-purple .info-icon{color:#8b7cff;background:linear-gradient(180deg,rgba(139,124,255,.18),rgba(139,124,255,.08));}
.version-highlight.modern-info-strip .info-chip-purple .info-value,.version-highlight.modern-info-strip .info-chip-purple .info-text{color:#8b7cff !important;}
.version-highlight.modern-info-strip .info-chip-pink .info-icon{color:#d78bff;background:linear-gradient(180deg,rgba(215,139,255,.18),rgba(215,139,255,.08));}
.version-highlight.modern-info-strip .info-chip-pink .info-value,.version-highlight.modern-info-strip .info-chip-pink .info-text{color:#d78bff !important;}
.version-highlight.modern-info-strip .info-chip-gold .info-icon{color:#f4b14a;background:linear-gradient(180deg,rgba(244,177,74,.18),rgba(244,177,74,.08));}
.version-highlight.modern-info-strip .info-chip-gold .info-value,.version-highlight.modern-info-strip .info-chip-gold .info-text{color:#f4b14a !important;}
html body.sl-reading-mode .version-highlight.modern-info-strip{background:linear-gradient(180deg,#0f172a,#0b1325) !important;border-color:#334155 !important;}
html body.sl-reading-mode .version-highlight.modern-info-strip .version-chip.info-chip{background:linear-gradient(180deg,#111827,#0b1220) !important;border-color:#334155 !important;box-shadow:none !important;}
@media (max-width:980px){.version-highlight.modern-info-strip .version-highlight-grid.modern-info-grid{grid-template-columns:1fr !important;}.version-highlight.modern-info-strip .version-chip.info-chip{min-height:96px;}.version-highlight.modern-info-strip .version-chip.info-chip .info-value{font-size:30px;}.version-highlight.modern-info-strip .version-chip.info-chip .info-text{font-size:16px;}}


/* === v4.26 法典搜索高亮 + 法条修改历史 === */

.law-admin-history-box{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--field-bg) 78%,transparent);}
.law-admin-history-box h4{margin:0 0 8px;font-size:15px;color:var(--text);}
.law-admin-history-count{font-size:12px;color:var(--muted);margin:6px 0 4px;letter-spacing:.3px;}
.law-admin-history-list{display:grid;gap:8px;max-height:320px;overflow:auto;padding-right:4px;}
.law-admin-history-item{padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:color-mix(in srgb,var(--soft-bg) 82%,transparent);font-size:12px;line-height:1.6;color:var(--text);}
.law-admin-history-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
.law-admin-history-item strong{color:var(--primary-2);}
.law-admin-history-time{font-family:monospace;font-size:11px;color:var(--muted);background:color-mix(in srgb,var(--field-bg) 80%,transparent);padding:2px 6px;border-radius:6px;letter-spacing:.5px;}
.law-admin-history-meta{color:var(--muted);margin-top:2px;}
.law-admin-history-diff{margin-top:6px;display:grid;gap:3px;}
.law-admin-history-diff .diff-old{color:#ff8a92;background:rgba(255,122,133,0.08);padding:4px 8px;border-radius:8px;border-left:3px solid #ff7a85;font-family:monospace;font-size:11px;line-height:1.5;word-break:break-all;}
.law-admin-history-diff .diff-new{color:#7ad3a0;background:rgba(108,212,154,0.08);padding:4px 8px;border-radius:8px;border-left:3px solid #6cd49a;font-family:monospace;font-size:11px;line-height:1.5;word-break:break-all;}
.law-admin-history-empty{font-size:13px;color:var(--sub);line-height:1.8;padding:10px;background:color-mix(in srgb,var(--field-bg) 60%,transparent);border-radius:12px;}


/* === v4.26 高亮颜色与维护入口布局优化 === */
.law-search-mark{
  display:inline !important;
  padding:1px 5px !important;
  border-radius:7px !important;
  background:linear-gradient(90deg,rgba(255,120,190,.32),rgba(96,220,255,.28)) !important;
  color:color-mix(in srgb,var(--text) 92%,#ffffff 8%) !important;
  font-weight:900 !important;
  box-shadow:inset 0 -2px 0 rgba(255,120,190,.55),0 0 0 1px rgba(255,255,255,.10) !important;
}
[data-theme="black"] .law-search-mark,
body.sl-reading-mode .law-search-mark{
  background:linear-gradient(90deg,rgba(236,72,153,.34),rgba(34,211,238,.30)) !important;
  color:#f8fafc !important;
  box-shadow:inset 0 -2px 0 rgba(45,212,191,.65),0 0 0 1px rgba(148,163,184,.18),0 0 12px rgba(34,211,238,.14) !important;
}
.law-admin-card.law-admin-compact{
  grid-column:auto !important;
  padding:16px !important;
  opacity:.92;
}
.law-admin-card.law-admin-compact h3{font-size:18px !important;margin-bottom:6px !important;}
.law-admin-card.law-admin-compact > p{font-size:13px !important;line-height:1.6 !important;margin-bottom:8px !important;color:var(--sub) !important;}
.law-admin-card.law-admin-compact .law-admin-lock{grid-template-columns:1fr auto auto !important;gap:8px !important;margin-top:8px !important;}
.law-admin-card.law-admin-compact .law-admin-status{font-size:12px !important;margin-top:8px !important;}
.law-admin-card.law-admin-compact .law-admin-panel{margin-top:12px !important;padding-top:12px !important;}
@media(max-width:860px){.law-admin-card.law-admin-compact .law-admin-lock{grid-template-columns:1fr !important;}}
.calc-action-bar .btn-danger{box-shadow:0 10px 22px rgba(255,77,125,.18);}


/* === v4.26 设置页维护功能增强 === */
.maintenance-tools-card{grid-column:1/-1;}
.maintenance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;}
.maintenance-box{border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--field-bg) 82%,transparent);padding:14px;}
.maintenance-box h4{margin:0 0 8px;font-size:15px;color:var(--text);}
.maintenance-box p{margin:0 0 10px;font-size:12px;line-height:1.7;color:var(--sub);}
.maintenance-box .settings-actions{margin-top:8px;}
.maintenance-result{margin-top:10px;max-height:220px;overflow:auto;border:1px dashed var(--line-2);border-radius:14px;padding:10px 12px;background:color-mix(in srgb,var(--soft-bg) 86%,transparent);font-size:12px;line-height:1.7;color:var(--text);white-space:pre-wrap;}
.maintenance-result .maint-log-bucket{font-weight:800;color:var(--primary);font-size:11px;letter-spacing:.5px;padding:6px 0 4px;border-bottom:1px dashed var(--line);margin-bottom:4px;margin-top:6px;}
.maintenance-result .maint-log-bucket:first-child{margin-top:0;}
.maintenance-result .maint-log-row{display:grid;grid-template-columns:84px auto 1fr;gap:6px;align-items:baseline;padding:2px 0;}
.maintenance-result .maint-log-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;}
.maintenance-result .maint-log-action{color:var(--text);font-weight:700;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.maintenance-result .maint-log-detail{color:var(--sub);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.maintenance-result .maint-log-more{margin-top:6px;font-size:11px;color:var(--muted);text-align:center;font-style:italic;}
.maintenance-result .maint-log-count{display:inline-block;padding:0 5px;border-radius:8px;background:var(--primary);color:#fff;font-size:10px;font-weight:800;margin-left:4px;vertical-align:1px;}
.maintenance-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;}
.maintenance-form-grid .field{margin:0;}
.maintenance-form-grid label{display:block;margin:0 0 6px;font-size:12px;font-weight:800;color:var(--sub);}
.maintenance-form-grid input,.maintenance-form-grid select,.maintenance-form-grid textarea{width:100%;}
.maintenance-form-grid textarea{min-height:90px;resize:vertical;}
.maintenance-mini-note{font-size:12px;color:var(--sub);line-height:1.7;margin-top:8px;}
body:not(.admin-maintenance-on) .law-admin-card{display:none !important;}
.admin-mode-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;border:1px solid var(--line);font-size:12px;font-weight:800;background:color-mix(in srgb,var(--field-bg) 86%,transparent);color:var(--sub);}
body.admin-maintenance-on .admin-mode-badge{color:var(--green);border-color:color-mix(in srgb,var(--green) 40%,var(--line));}
@media(max-width:980px){.maintenance-grid,.maintenance-form-grid{grid-template-columns:1fr;}.maintenance-tools-card{padding:14px !important;}}


/* === v4.28 后台维护中心统一密码锁 === */
.maintenance-master-lock{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--field-bg) 92%,transparent),color-mix(in srgb,var(--soft-bg) 82%,transparent));}
.maintenance-lock-grid{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;align-items:end;margin-top:10px;}
.maintenance-lock-note{font-size:13px;color:var(--sub);line-height:1.7;margin-top:8px;}
.maintenance-secure-panel{display:none !important;margin-top:14px;}
.maintenance-secure-panel.unlocked{display:block !important;}
.maintenance-master-lock.unlocked{border-color:color-mix(in srgb,var(--green) 36%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--green) 10%,var(--field-bg)),color-mix(in srgb,var(--soft-bg) 88%,transparent));}
.maintenance-master-lock .lock-status{font-size:13px;font-weight:800;color:var(--muted);}
.maintenance-master-lock.unlocked .lock-status{color:var(--green);}
@media(max-width:760px){.maintenance-lock-grid{grid-template-columns:1fr}.maintenance-lock-grid button{width:100%;}}


/* === v4.39 后台维护中心整合到底部卡片栏，法典编辑维护并入后台 === */
.maintenance-tools-card{grid-column:1/-1 !important;order:99;}
.law-admin-integrated-grid{margin-top:14px;}
.law-admin-inside{grid-column:1/-1;background:linear-gradient(180deg,color-mix(in srgb,var(--field-bg) 88%,transparent),color-mix(in srgb,var(--soft-bg) 80%,transparent)) !important;}
.law-admin-inside h4{margin:0 0 8px;font-size:16px;color:var(--text);}
.law-admin-inside .law-admin-lock{max-width:760px;}
.maintenance-secure-panel:not(.unlocked) .law-admin-inside{display:none !important;}
.maintenance-secure-panel.unlocked .law-admin-card.law-admin-inside{display:block !important;}
.maintenance-secure-panel .law-admin-inside .law-admin-lock{display:none !important;}


/* === v4.39 本地人性化智能分析升级 === */
.ai-assistant-card{grid-column:1/-1;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 12%,var(--field-bg)),color-mix(in srgb,var(--pink) 10%,var(--field-bg))) !important;border:1px solid var(--line-2) !important;}
.ai-assistant-card h3{display:flex;align-items:center;gap:8px;font-size:20px !important;}
.ai-provider-grid{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:10px;margin:10px 0;}
.ai-provider-grid label{display:flex;flex-direction:column;gap:6px;color:var(--sub);font-size:12px;font-weight:800;}
.ai-provider-grid input,.ai-provider-grid select{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;background:var(--field-bg);color:var(--text);padding:10px;}
.ai-action-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.ai-action-row button{margin-top:0 !important;}
.ai-example-row{display:flex;align-items:center;gap:8px;margin:8px 0 4px;flex-wrap:wrap;}
.ai-example-row select{flex:1;min-width:200px;padding:7px 10px;border-radius:8px;border:1px solid var(--line);background:var(--field-bg);color:var(--text);font-size:13px;cursor:pointer;}
.ai-example-row select:focus{outline:none;border-color:var(--primary);}
.ai-example-label{font-size:12px;color:var(--sub);font-weight:700;white-space:nowrap;}
.ai-answer{white-space:normal !important;line-height:1.7;}
.ai-answer h4{margin:10px 0 6px;font-size:15px;color:var(--primary);}
.ai-answer .ai-item{border:1px solid var(--line);background:color-mix(in srgb,var(--card-bg) 82%,transparent);border-radius:12px;padding:10px;margin:8px 0;}
.ai-answer .ai-title{font-weight:900;color:var(--text);margin-bottom:4px;}
.ai-answer .ai-meta{font-size:12px;color:var(--sub);margin:4px 0;}
.ai-answer .ai-small{font-size:12px;color:var(--sub);}
.ai-answer .ai-add-btn{border:0;border-radius:999px;background:linear-gradient(180deg,var(--primary),var(--primary-2));color:var(--on-primary);padding:7px 10px;font-weight:900;cursor:pointer;margin-top:8px;}
.ai-answer pre{white-space:pre-wrap;margin:0;background:transparent;color:var(--text);font-family:inherit;}
.ai-note{font-size:12px;color:var(--sub);line-height:1.6;margin-top:6px;}
body.sl-reading-mode .ai-assistant-card,body.sl-reading-mode .ai-answer .ai-item{background:#111827 !important;border-color:#334155 !important;color:#e5edf7 !important;}
@media(max-width:860px){.ai-provider-grid{grid-template-columns:1fr}.ai-action-row button{width:100%;}}


/* === v4.39 法典查询电脑版 UI 优化：取消双层滑动，改为章节卡片区 + 正文单页滚动；手机 UI 不受影响 === */
@media (min-width:981px){
  body:not(.mobile-ui) #view-codex .codex-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    align-items:stretch !important;
    min-height:auto !important;
    height:auto !important;
  }
  body:not(.mobile-ui) #view-codex .codex-side{
    position:static !important;
    top:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding:18px !important;
    border-radius:22px !important;
  }
  body:not(.mobile-ui) #view-codex .codex-side .search-row{
    display:grid !important;
    grid-template-columns:minmax(280px,1.45fr) minmax(190px,.85fr) minmax(190px,.85fr) auto !important;
    align-items:center !important;
    gap:10px !important;
  }
  body:not(.mobile-ui) #view-codex .codex-filter-line{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    margin-top:10px !important;
  }
  body:not(.mobile-ui) #view-codex .codex-side .foot-note{
    margin:12px 0 0 !important;
    padding:10px 12px !important;
    border-radius:14px !important;
    border:1px dashed var(--line-2) !important;
    background:color-mix(in srgb,var(--soft-bg) 78%, transparent) !important;
  }
  body:not(.mobile-ui) #view-codex .chapter-list{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(215px,1fr)) !important;
    gap:10px !important;
    max-height:none !important;
    overflow:visible !important;
    padding:0 !important;
    margin-top:14px !important;
  }
  body:not(.mobile-ui) #view-codex .chapter-item,
  body:not(.mobile-ui) #view-codex .chapter-btn{
    min-height:74px !important;
    padding:12px 14px !important;
    border-radius:16px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:4px !important;
  }
  body:not(.mobile-ui) #view-codex .chapter-item:hover,
  body:not(.mobile-ui) #view-codex .chapter-btn:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 12px 24px rgba(0,0,0,.16) !important;
  }
  body:not(.mobile-ui) #view-codex .chapter-item.active,
  body:not(.mobile-ui) #view-codex .chapter-btn.active{
    box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 24%, transparent),0 12px 28px rgba(0,0,0,.18) !important;
  }
  body:not(.mobile-ui) #view-codex .codex-main{
    min-height:auto !important;
    overflow:visible !important;
    padding:18px !important;
    border-radius:22px !important;
  }
  body:not(.mobile-ui) #view-codex .codex-main-head{
    position:sticky !important;
    top:10px !important;
    z-index:8 !important;
    margin:-2px 0 14px !important;
    padding:12px 14px !important;
    border:1px solid var(--line) !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,color-mix(in srgb,var(--card-bg) 94%, transparent),color-mix(in srgb,var(--card-bg-2) 96%, transparent)) !important;
    backdrop-filter:blur(12px) !important;
  }
  body:not(.mobile-ui) #view-codex .section-list{
    max-height:none !important;
    overflow:visible !important;
  }
}
@media (min-width:981px) and (max-width:1180px){
  body:not(.mobile-ui) #view-codex .codex-side .search-row{grid-template-columns:1fr 1fr !important;}
  body:not(.mobile-ui) #view-codex .codex-side .search-row button{width:100% !important;}
  body:not(.mobile-ui) #view-codex .chapter-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) !important;}
}



  /* === v4.59 双端密码切换模式：默认纯净民用版，连续点击左下版本号5次并输入部门密码切换执法功能 === */
body:not(.internal-mode-unlocked) [data-nav="sentence"],
body:not(.internal-mode-unlocked) #view-sentence,
body:not(.internal-mode-unlocked) #sidebarTimer,
body:not(.internal-mode-unlocked) #home-sentencing-section,
body:not(.internal-mode-unlocked) button[onclick*="switchView('sentence'"],
body:not(.internal-mode-unlocked) button[onclick*='switchView("sentence"'],
body:not(.internal-mode-unlocked) .case-tools-card,
body:not(.internal-mode-unlocked) .sentence-only,
body:not(.internal-mode-unlocked) .internal-tool,
body:not(.internal-mode-unlocked) .internal-tool-flex{
  display:none !important;
}
#sysVersionToggle{cursor:pointer;user-select:none;}
#sysVersionToggle.unlock-pulse{color:#c7f9cc !important;text-shadow:0 0 12px rgba(61,220,151,.45);}
   v4.59: 移除执法人员模式下强制显示 #sidebarTimer 的规则，
   避免在 mobile 端把它塞进底部 .sidebar 抢占 tab 空间。 */
body.internal-mode-unlocked [data-nav="sentence"]{display:flex !important;}
@media(max-width:760px){body:not(.internal-mode-unlocked) [data-nav="sentence"]{display:none !important;}}

