/* ==========================================================================
   PARENTING GEAR · G 组视觉体系 v1（61–65 · 育儿喂养与成长装备）
   --------------------------------------------------------------------------
   · 与 C 组「纸墨青绿」/ F 组「暖砂方角」分离的第三套体系：云朵软圆
   · 每页再由 pg-6X.css 定义单页强调色与专属首屏骨架
   · 主题由导航 #themeToggle 控制：<html data-theme="dark">
   ========================================================================== */

.cg-page.pg-page {
    --pg-bg: #f6f5f1;
    --pg-bg-2: #ecf0f4;
    --pg-surface: #ffffff;
    --pg-surface-2: #f8fafb;
    --pg-surface-3: #eef3f6;
    --pg-ink: #1c2733;
    --pg-ink-2: #46586a;
    --pg-muted: #75879a;
    --pg-faint: #a3b2c0;
    --pg-line: #dde5ea;
    --pg-line-soft: #e9eff3;
    --pg-shadow: 0 2px 3px rgba(28,49,68,.04), 0 14px 34px rgba(28,49,68,.06);
    --pg-shadow-lg: 0 22px 60px rgba(28,49,68,.13);
    --pg-ok: #1e7a55;  --pg-ok-soft: #e0f3ea;
    --pg-warn: #a06408; --pg-warn-soft: #fcf0d8;
    --pg-bad: #bb3a45;  --pg-bad-soft: #fce7e9;
    --pg-info: #22629b; --pg-info-soft: #e3eefb;
    --pg-font: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, -apple-system, "Segoe UI", sans-serif;
    --pg-num: "Bahnschrift", "DIN Alternate", "SF Mono", ui-monospace, Consolas, Menlo, monospace;
    --pg-r: 22px;
    --pg-r-sm: 14px;
    background: linear-gradient(180deg, var(--pg-bg-2) 0%, var(--pg-bg) 340px);
    color: var(--pg-ink);
    font-family: var(--pg-font);
    font-size: 15.5px;
    line-height: 1.8;
    -webkit-font-smoothing: antialiased;
    min-height: 62vh;
    padding-bottom: 72px;
    overflow-x: hidden;
}
:root[data-theme="dark"] .cg-page.pg-page {
    --pg-bg: #101820; --pg-bg-2: #141d27;
    --pg-surface: #17222c; --pg-surface-2: #1c2833; --pg-surface-3: #223040;
    --pg-ink: #eef3f7; --pg-ink-2: #c2cfd9; --pg-muted: #8fa0af; --pg-faint: #6d7f8f;
    --pg-line: #2a3945; --pg-line-soft: #202d38;
    --pg-shadow: 0 2px 3px rgba(0,0,0,.3), 0 14px 34px rgba(0,0,0,.3);
    --pg-shadow-lg: 0 22px 60px rgba(0,0,0,.5);
    --pg-ok: #6fd3a5;  --pg-ok-soft: rgba(111,211,165,.13);
    --pg-warn: #efc06d; --pg-warn-soft: rgba(239,192,109,.13);
    --pg-bad: #ff97a1;  --pg-bad-soft: rgba(255,151,161,.13);
    --pg-info: #85c5f0; --pg-info-soft: rgba(133,197,240,.13);
}
.cg-page.pg-page *, .cg-page.pg-page *::before, .cg-page.pg-page *::after { box-sizing: border-box; }
.cg-page.pg-page a { color: var(--pg-accent, var(--pg-info)); text-decoration: none; }
.cg-page.pg-page a:hover { text-decoration: underline; }
.cg-page.pg-page button, .cg-page.pg-page input, .cg-page.pg-page select, .cg-page.pg-page textarea { font-family: inherit; }
.cg-page.pg-page strong, .cg-page.pg-page b { font-weight: 750; color: var(--pg-ink); }
:root[data-theme="dark"] .cg-page.pg-page strong, :root[data-theme="dark"] .cg-page.pg-page b { color: var(--pg-ink); }
.pg-k { color: var(--pg-accent, var(--pg-info)); font-weight: 750; }
.pg-num { font-family: var(--pg-num); font-variant-numeric: tabular-nums; letter-spacing: .01em; }
.cg-page.pg-page .cg-wrap { width: min(1240px, calc(100% - 56px)); margin: 0 auto; max-width: 1240px; }

/* ---------- 面包屑：云朵胶囊 ---------- */
.cg-page.pg-page .tsk-crumb-bar { background: transparent; border: 0; backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: none; margin: 0; }
.cg-page.pg-page .tsk-crumb-bar-in { max-width: 1240px; margin: 0 auto; padding: 22px 0 6px; }
.cg-page.pg-page .tsk-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; font-size: 12.5px; color: var(--pg-faint); }
.cg-page.pg-page .tsk-crumb a { color: var(--pg-muted); padding: 4px 13px; border-radius: 999px; background: var(--pg-surface); border: 1px solid var(--pg-line); }
.cg-page.pg-page .tsk-crumb a:hover { color: var(--pg-accent, var(--pg-info)); border-color: currentColor; text-decoration: none; }
.cg-page.pg-page .tsk-crumb-sep { color: var(--pg-faint); font-size: 15px; }
.cg-page.pg-page .tsk-crumb-cur { color: var(--pg-accent-ink, #fff); font-weight: 700; padding: 4px 13px; border-radius: 999px; background: var(--pg-accent, var(--pg-info)); }

/* ---------- 排版层级 ---------- */
.cg-page.pg-page .cg-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 11.5px; font-weight: 780; letter-spacing: .15em; text-transform: uppercase;
    color: var(--pg-accent, var(--pg-info)); background: var(--pg-surface);
    padding: 6px 14px; border-radius: 999px; line-height: 1.5;
    border: 1px solid var(--pg-line); box-shadow: var(--pg-shadow);
}
.cg-page.pg-page .cg-eyebrow i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; display: block; }
.cg-page.pg-page .cg-h1 { font-size: clamp(31px, 3.9vw, 48px); line-height: 1.22; letter-spacing: -.03em; font-weight: 830; margin: 18px 0 0; }
.cg-page.pg-page .cg-h1 em { font-style: normal; color: var(--pg-accent, var(--pg-info)); }
.cg-page.pg-page .cg-h1 span.cg-h1-lite { display: block; font-size: .45em; font-weight: 640; color: var(--pg-muted); margin-top: 13px; line-height: 1.6; }
.cg-page.pg-page .cg-sub { font-size: 16.5px; line-height: 1.92; color: var(--pg-ink-2); max-width: 62ch; margin: 16px 0 0; }
.cg-page.pg-page .cg-h2 { font-size: 22px; line-height: 1.4; letter-spacing: -.015em; font-weight: 790; margin: 0; }
.cg-page.pg-page .cg-h3 { font-size: 16px; line-height: 1.5; font-weight: 760; margin: 0; }
.cg-page.pg-page .cg-small { font-size: 12.5px; line-height: 1.75; color: var(--pg-muted); }
.cg-page.pg-page .cg-section { margin-top: 40px; }
.cg-page.pg-page .cg-section-h { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 16px; }
.cg-page.pg-page .cg-section-h .cg-small { max-width: 66ch; }
/* ---------- 卡片 / 操作台 ---------- */
.cg-page.pg-page .cg-card { background: var(--pg-surface); border: 1px solid var(--pg-line); border-radius: var(--pg-r); box-shadow: var(--pg-shadow); overflow: hidden; }
.cg-page.pg-page .cg-card + .cg-card { margin-top: 18px; }
.cg-page.pg-page .cg-card-h { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 16px 22px; border-bottom: 1px solid var(--pg-line-soft); background: var(--pg-surface-2); }
.cg-page.pg-page .cg-card-h .cg-h3 { display: flex; align-items: center; gap: 9px; }
.cg-page.pg-page .cg-card-h .cg-h3::before { content: ""; width: 9px; height: 9px; border-radius: 3px; background: var(--pg-accent, var(--pg-info)); transform: rotate(45deg); }
.cg-page.pg-page .cg-card-b { padding: 22px; }
.cg-page.pg-page .cg-card-b--tight { padding: 16px 18px; }
.cg-page.pg-page .cg-console { border: 1px solid var(--pg-line); border-radius: var(--pg-r); background: var(--pg-surface); box-shadow: var(--pg-shadow-lg); overflow: hidden; }
.cg-page.pg-page .cg-console-h { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 22px; background: var(--pg-accent, var(--pg-info)); color: var(--pg-accent-ink, #fff); font-size: 14px; font-weight: 730; }
.cg-page.pg-page .cg-console-h span { font-size: 10.5px; letter-spacing: .15em; color: rgba(255,255,255,.68); font-family: var(--pg-num); }
:root[data-theme="dark"] .cg-page.pg-page .cg-console-h span { color: rgba(255,255,255,.6); }
.cg-page.pg-page .cg-console-b { padding: 20px; }
.cg-page.pg-page .cg-console-note { margin: 0; padding: 12px 20px; background: var(--pg-surface-2); border-top: 1px solid var(--pg-line-soft); font-size: 12px; color: var(--pg-muted); line-height: 1.7; }

/* ---------- 表单 ---------- */
.cg-page.pg-page .cg-field { margin-bottom: 16px; }
.cg-page.pg-page .cg-field:last-child { margin-bottom: 0; }
.cg-page.pg-page .cg-label { display: block; font-size: 12.5px; font-weight: 730; color: var(--pg-ink-2); margin-bottom: 7px; }
.cg-page.pg-page .cg-label .cg-req { color: var(--pg-bad); margin-left: 3px; }
.cg-page.pg-page .cg-input, .cg-page.pg-page .cg-textarea, .cg-page.pg-page .cg-select {
    width: 100%; background: var(--pg-surface-2); color: var(--pg-ink);
    border: 1.5px solid var(--pg-line); border-radius: var(--pg-r-sm);
    padding: 10px 14px; font-size: 14px; line-height: 1.7; outline: none;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.cg-page.pg-page .cg-input:focus, .cg-page.pg-page .cg-textarea:focus, .cg-page.pg-page .cg-select:focus {
    border-color: var(--pg-accent, var(--pg-info)); background: var(--pg-surface);
    box-shadow: 0 0 0 4px var(--pg-accent-soft, var(--pg-info-soft));
}
.cg-page.pg-page .cg-input::placeholder, .cg-page.pg-page .cg-textarea::placeholder { color: var(--pg-faint); }
.cg-page.pg-page .cg-hint { font-size: 12px; line-height: 1.7; color: var(--pg-muted); margin: 7px 0 0; }
.cg-page.pg-page .cg-err { font-size: 12.5px; line-height: 1.7; color: var(--pg-bad); margin: 10px 0 0; min-height: 0; }
.cg-page.pg-page .cg-err:empty { display: none; }
.cg-page.pg-page .cg-err:not(:empty) { padding: 9px 13px; background: var(--pg-bad-soft); border-radius: var(--pg-r-sm); }
.cg-page.pg-page .cg-row { display: grid; gap: 12px; }
.cg-page.pg-page .cg-row--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cg-page.pg-page .cg-row--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cg-page.pg-page .cg-inline { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.cg-page.pg-page .cg-check { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--pg-ink-2); cursor: pointer; }
.cg-page.pg-page .cg-check input { accent-color: var(--pg-accent, var(--pg-info)); width: 16px; height: 16px; }

/* ---------- 按钮：胶囊 ---------- */
.cg-page.pg-page .cg-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    border: 1.5px solid var(--pg-line); background: var(--pg-surface); color: var(--pg-ink-2);
    border-radius: 999px; padding: 10px 18px; font-size: 13.5px; font-weight: 700;
    line-height: 1.6; cursor: pointer; white-space: nowrap;
    transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease, color .16s ease;
}
.cg-page.pg-page .cg-btn:hover { border-color: var(--pg-accent, var(--pg-info)); color: var(--pg-accent, var(--pg-info)); text-decoration: none; transform: translateY(-1px); box-shadow: var(--pg-shadow); }
.cg-page.pg-page .cg-btn:active { transform: translateY(1px); box-shadow: none; }
.cg-page.pg-page .cg-btn--primary {
    background: var(--pg-accent, var(--pg-info)); border-color: var(--pg-accent, var(--pg-info));
    color: var(--pg-accent-ink, #fff); box-shadow: 0 8px 20px color-mix(in srgb, var(--pg-accent, var(--pg-info)) 30%, transparent);
}
.cg-page.pg-page .cg-btn--primary:hover { background: var(--pg-accent-2, var(--pg-info)); border-color: var(--pg-accent-2, var(--pg-info)); color: var(--pg-accent-ink, #fff); }
.cg-page.pg-page .cg-btn--ghost { background: transparent; }
.cg-page.pg-page .cg-btn--sm { padding: 6px 13px; font-size: 12.5px; }
.cg-page.pg-page .cg-btn--block { width: 100%; }
.cg-page.pg-page .cg-btn[disabled] { opacity: .5; cursor: not-allowed; transform: none; }
.cg-page.pg-page .cg-btn:focus-visible, .cg-page.pg-page .cg-input:focus-visible, .cg-page.pg-page .cg-textarea:focus-visible, .cg-page.pg-page .cg-select:focus-visible { outline: 2px solid var(--pg-accent, var(--pg-info)); outline-offset: 2px; }
.cg-page.pg-page .cg-btn-row { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; }
.cg-page.pg-page .cg-actions { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; padding: 14px 20px; border-top: 1px solid var(--pg-line-soft); background: var(--pg-surface-2); }
.cg-page.pg-page .cg-actions > b { font-size: 12.5px; color: var(--pg-muted); margin-right: 4px; font-weight: 700; }
/* ---------- KPI ---------- */
.cg-page.pg-page .cg-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 26px; }
.cg-page.pg-page .cg-kpi { background: var(--pg-surface); border: 1px solid var(--pg-line); border-radius: var(--pg-r); padding: 16px 18px; position: relative; overflow: hidden; }
.cg-page.pg-page .cg-kpi::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--pg-accent, var(--pg-info)); border-radius: 0 4px 4px 0; }
.cg-page.pg-page .cg-kpi-label { font-size: 12px; color: var(--pg-muted); line-height: 1.6; }
.cg-page.pg-page .cg-kpi-value { font-family: var(--pg-num); font-size: 29px; line-height: 1.25; font-weight: 700; letter-spacing: -.02em; color: var(--pg-ink); margin-top: 4px; }
.cg-page.pg-page .cg-kpi-value small { font-size: 13px; font-weight: 600; color: var(--pg-muted); margin-left: 3px; font-family: var(--pg-font); }
.cg-page.pg-page .cg-kpi-foot { font-size: 11.5px; color: var(--pg-faint); line-height: 1.6; margin-top: 3px; }
.cg-page.pg-page .cg-kpi--ok::before { background: var(--pg-ok); }
.cg-page.pg-page .cg-kpi--warn::before { background: var(--pg-warn); }
.cg-page.pg-page .cg-kpi--bad::before { background: var(--pg-bad); }

/* ---------- 徽章 ---------- */
.cg-page.pg-page .cg-badge { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; font-size: 11.5px; font-weight: 720; line-height: 1.55; padding: 3px 11px; border-radius: 999px; color: var(--pg-ink-2); background: var(--pg-surface-3); border: 1px solid var(--pg-line); }
.cg-page.pg-page .cg-badge--ok { color: var(--pg-ok); background: var(--pg-ok-soft); border-color: transparent; }
.cg-page.pg-page .cg-badge--warn { color: var(--pg-warn); background: var(--pg-warn-soft); border-color: transparent; }
.cg-page.pg-page .cg-badge--bad { color: var(--pg-bad); background: var(--pg-bad-soft); border-color: transparent; }
.cg-page.pg-page .cg-badge--info { color: var(--pg-info); background: var(--pg-info-soft); border-color: transparent; }
.cg-page.pg-page .cg-badge--line { color: var(--pg-accent, var(--pg-info)); background: var(--pg-accent-soft, var(--pg-info-soft)); border-color: transparent; }
.cg-page.pg-page .cg-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: none; }

/* ---------- 表格 ---------- */
.cg-page.pg-page .cg-tablewrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.cg-page.pg-page .cg-table { width: 100%; border-collapse: collapse; font-size: 13px; line-height: 1.65; }
.cg-page.pg-page .cg-table th, .cg-page.pg-page .cg-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid var(--pg-line-soft); vertical-align: top; }
.cg-page.pg-page .cg-table thead th { position: sticky; top: 0; z-index: 2; background: var(--pg-surface-2); color: var(--pg-muted); font-size: 11.5px; font-weight: 760; letter-spacing: .04em; white-space: nowrap; border-bottom: 1px solid var(--pg-line); }
.cg-page.pg-page .cg-table tbody tr:hover { background: var(--pg-accent-soft, var(--pg-info-soft)); }
.cg-page.pg-page .cg-table tbody tr.is-mark { background: var(--pg-warn-soft); }
.cg-page.pg-page .cg-table tbody tr.is-bad { background: var(--pg-bad-soft); }
.cg-page.pg-page .cg-table td.cg-t-num { font-family: var(--pg-num); font-variant-numeric: tabular-nums; white-space: nowrap; }
.cg-page.pg-page .cg-table .cg-t-key { font-weight: 700; color: var(--pg-ink); white-space: nowrap; }
.cg-page.pg-page .cg-table-scroll { max-height: 520px; overflow: auto; }

/* ---------- 空态 / 提示条 ---------- */
.cg-page.pg-page .cg-empty { padding: 34px 18px; text-align: center; color: var(--pg-faint); font-size: 13.5px; line-height: 1.8; border-radius: var(--pg-r-sm); background: var(--pg-surface-2); border: 1.5px dashed var(--pg-line); }
.cg-page.pg-page .cg-empty b { display: block; color: var(--pg-ink-2); font-size: 14px; margin-bottom: 4px; }
.cg-page.pg-page .cg-notice { display: flex; gap: 11px; align-items: flex-start; padding: 13px 16px; border-radius: var(--pg-r-sm); background: var(--pg-accent-soft, var(--pg-info-soft)); color: var(--pg-ink-2); font-size: 12.8px; line-height: 1.8; }
.cg-page.pg-page .cg-notice b { color: var(--pg-accent, var(--pg-info)); }
.cg-page.pg-page .cg-notice--warn { background: var(--pg-warn-soft); }
.cg-page.pg-page .cg-notice--warn b { color: var(--pg-warn); }
.cg-page.pg-page .cg-notice--bad { background: var(--pg-bad-soft); }
.cg-page.pg-page .cg-notice--bad b { color: var(--pg-bad); }
.cg-page.pg-page .cg-notice-i { font-family: var(--pg-num); font-weight: 700; font-size: 15px; line-height: 1.4; color: var(--pg-accent, var(--pg-info)); }

/* ---------- 说明 / FAQ ---------- */
.cg-page.pg-page .cg-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.cg-page.pg-page .cg-note { background: var(--pg-surface); border: 1px solid var(--pg-line); border-radius: var(--pg-r); padding: 18px 20px; font-size: 13px; line-height: 1.88; color: var(--pg-ink-2); }
.cg-page.pg-page .cg-note h4 { color: var(--pg-ink); margin: 0 0 6px; }
.cg-page.pg-page .cg-note ul { margin: 0; padding-left: 19px; }
.cg-page.pg-page .cg-note li + li { margin-top: 5px; }
.cg-page.pg-page .cg-note p { margin: 0; }
.cg-page.pg-page .cg-faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.cg-page.pg-page .cg-faq details { background: var(--pg-surface); border: 1px solid var(--pg-line); border-radius: var(--pg-r-sm); padding: 13px 17px; font-size: 13.2px; line-height: 1.85; }
.cg-page.pg-page .cg-faq summary { cursor: pointer; font-weight: 700; color: var(--pg-ink); list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.cg-page.pg-page .cg-faq summary::-webkit-details-marker { display: none; }
.cg-page.pg-page .cg-faq summary::after { content: "+"; color: var(--pg-accent, var(--pg-info)); font-family: var(--pg-num); font-size: 17px; line-height: 1.3; }
.cg-page.pg-page .cg-faq details[open] summary::after { content: "−"; }
.cg-page.pg-page .cg-faq details:last-child:nth-child(odd) { grid-column: 1 / -1; }
.cg-page.pg-page .cg-faq details p { color: var(--pg-ink-2); margin: 10px 0 0; }
.cg-page.pg-page .cg-footnote { margin-top: 30px; padding-top: 18px; border-top: 1px solid var(--pg-line); font-size: 12px; line-height: 1.85; color: var(--pg-faint); }
/* ---------- AI 辅助区 ---------- */
.cg-page.pg-page .cg-ai { margin-top: 18px; padding: 16px 19px; border-radius: var(--pg-r); border: 1.5px dashed var(--pg-accent, var(--pg-info)); background: var(--pg-accent-soft, var(--pg-info-soft)); }
.cg-page.pg-page .cg-ai h4 { color: var(--pg-accent, var(--pg-info)); margin: 0 0 6px; font-size: 13.5px; font-weight: 760; }
.cg-page.pg-page .cg-ai p { margin: 0 0 11px; font-size: 12.5px; line-height: 1.8; color: var(--pg-ink-2); }
.cg-page.pg-page .cg-ai-out { margin-top: 12px; padding: 13px 15px; border-radius: var(--pg-r-sm); background: var(--pg-surface); border: 1px solid var(--pg-line); font-size: 13px; line-height: 1.85; white-space: pre-wrap; }
.cg-page.pg-page .cg-ai-out[hidden] { display: none; }

/* ---------- 结果弹窗（默认 hidden，仅操作完成后打开） ---------- */
.cg-page.pg-page .cg-modal[hidden] { display: none !important; }
.cg-page.pg-page .cg-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.cg-page.pg-page .cg-modal-mask { position: absolute; inset: 0; background: rgba(15,27,40,.58); backdrop-filter: blur(3px); }
.cg-page.pg-page .cg-modal-box { position: relative; width: min(760px, 100%); max-height: 86vh; display: flex; flex-direction: column; background: var(--pg-surface); color: var(--pg-ink); border: 1px solid var(--pg-line); border-radius: var(--pg-r); box-shadow: var(--pg-shadow-lg); overflow: hidden; }
.cg-page.pg-page .cg-modal-h { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 21px; border-bottom: 1px solid var(--pg-line); }
.cg-page.pg-page .cg-modal-x { border: 0; background: transparent; color: var(--pg-muted); font-size: 25px; line-height: 1; cursor: pointer; padding: 0 4px; }
.cg-page.pg-page .cg-modal-x:hover { color: var(--pg-accent, var(--pg-info)); }
.cg-page.pg-page .cg-modal-b { padding: 20px 21px; overflow: auto; font-size: 13.5px; line-height: 1.85; }
.cg-page.pg-page .cg-modal-f { padding: 12px 21px; border-top: 1px solid var(--pg-line); display: flex; justify-content: flex-end; gap: 9px; }
body.cg-modal-open { overflow: hidden; }

/* ---------- 通用网格 ---------- */
.cg-page.pg-page .cg-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.cg-page.pg-page .cg-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.cg-page.pg-page .cg-side { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr); gap: 16px; align-items: start; }
.cg-page.pg-page .cg-stack { display: grid; gap: 14px; }

/* ---------- toast ---------- */
.cg-page.pg-page .cg-toast-host { position: fixed; right: 22px; bottom: 22px; z-index: 100010; display: flex; flex-direction: column; gap: 9px; pointer-events: none; }
.cg-page.pg-page .cg-toast { pointer-events: auto; min-width: 200px; max-width: 340px; background: var(--pg-ink); color: #fff; border-radius: 999px; padding: 11px 17px; font-size: 13px; line-height: 1.7; box-shadow: var(--pg-shadow-lg); animation: pgToastIn .22s ease both; }
:root[data-theme="dark"] .cg-page.pg-page .cg-toast { background: #2a3b4b; color: #eef5f7; border: 1px solid var(--pg-line); }
.cg-page.pg-page .cg-toast--ok { border-left: 3px solid #55d39b; }
.cg-page.pg-page .cg-toast--bad { border-left: 3px solid #ff8b96; }
.cg-page.pg-page .cg-toast--warn { border-left: 3px solid #f0bd68; }
@keyframes pgToastIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* ---------- 响应式 ---------- */
@media (max-width: 1080px) {
    .cg-page.pg-page .cg-side { grid-template-columns: 1fr; }
    .cg-page.pg-page .cg-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .cg-page.pg-page .cg-wrap { width: min(100% - 32px, 1240px); }
    .cg-page.pg-page { font-size: 15px; padding-bottom: 46px; }
    .cg-page.pg-page .tsk-crumb-bar-in { padding: 16px 0 4px; }
    .cg-page.pg-page .cg-h1 { font-size: clamp(28px, 8vw, 36px); }
    .cg-page.pg-page .cg-sub { font-size: 15px; }
    .cg-page.pg-page .cg-row--2, .cg-page.pg-page .cg-row--3,
    .cg-page.pg-page .cg-notes, .cg-page.pg-page .cg-faq,
    .cg-page.pg-page .cg-grid-2, .cg-page.pg-page .cg-grid-3 { grid-template-columns: 1fr; }
    .cg-page.pg-page .cg-card-b, .cg-page.pg-page .cg-console-b { padding: 16px; }
    .cg-page.pg-page .cg-kpi-value { font-size: 23px; }
    .cg-page.pg-page .cg-section { margin-top: 30px; }
    :root.cg-c-page { overflow-x: clip; }
    :root.cg-c-page .tool-rec-grid { grid-template-columns: minmax(0, 1fr); }
    :root.cg-c-page .tool-rec-item { min-width: 0; max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .cg-page.pg-page *, .cg-page.pg-page *::before, .cg-page.pg-page *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

/* ---------- 打印：只保留对照单主体 ---------- */
@media print {
    .nav-header, .nav-mask, .cg-page.pg-page .tsk-crumb-bar, .cg-page.pg-page .cg-console,
    .cg-page.pg-page .cg-actions, .cg-page.pg-page .cg-btn-row, .cg-page.pg-page .cg-faq,
    .cg-page.pg-page .cg-ai, .cg-page.pg-page .pg-hero-tags, .cg-page.pg-page .pg-value-row,
    .cg-toast-host, .cg-modal, footer, .back-to-top, .tool-recommend { display: none !important; }
    .cg-page.pg-page { background: #fff; color: #000; font-size: 11pt; padding: 0; }
    :root[data-theme="dark"] .cg-page.pg-page { --pg-surface: #fff; --pg-surface-2: #fff; --pg-ink: #000; --pg-ink-2: #222; --pg-muted: #444; --pg-line: #bbb; --pg-line-soft: #ddd; }
    .cg-page.pg-page .cg-card { box-shadow: none; border: 1px solid #bbb; break-inside: avoid; }
    .cg-page.pg-page .cg-table thead th { position: static; background: #f0f0f0; color: #000; }
    .cg-page.pg-page .cg-h1 { font-size: 20pt; }
}
