/* ==========================================================================
   Nencao-001 嫩草晨露 · reset（重置 + 基础排版）
   --------------------------------------------------------------------------
   设计语系：晨露草地白 / 嫩草青 / 叶形圆角 / 人本无衬线标题。
   ⚠️ 与基线「宣纸 + 朱砂 + 宋体」的分界（改样式前先看这几条）：
     · 底色是**冷绿相的晨露草地白**，不是米白、不是纯白
     · 强调色**只有嫩草青一种**；晨光金只留给评分数字，不做第二种主色
     · 标题改用**人本无衬线 800**，不再使用宋体衬线
     · 圆角是**叶形不对称**（大角 + 小角成对），不是四角等大的纸卡圆角
     · 装饰只允许「露珠 / 草叶 / 晨光」三种意象，不用渐变彩条与发光描边
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

html {
    min-width: 320px;
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
    scroll-padding-top: var(--cg-anchor-offset, 82px);
}

body {
    margin: 0;
    background:
        radial-gradient(1100px 520px at 10% -14%, rgba(127, 191, 74, .20), transparent 62%),
        radial-gradient(900px 460px at 98% 0%, rgba(207, 235, 168, .48), transparent 58%),
        linear-gradient(180deg, #f6faf0 0%, var(--cg-paper) 42%, #edf5e3 100%);
    color: var(--cg-ink);
    font: var(--cg-fs-base)/var(--cg-lh) var(--cg-sans);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5 {
    margin: 0;
    font-weight: 800;
    line-height: var(--cg-lh-tight);
    letter-spacing: .01em;
    color: var(--cg-ink);
}
h1 { font-size: var(--cg-fs-h1); font-family: var(--cg-serif); }
h2 { font-size: var(--cg-fs-lg); font-family: var(--cg-serif); }
h3 { font-size: var(--cg-fs-md); font-family: var(--cg-serif); font-weight: 700; }
h4 { font-size: var(--cg-fs-base); }
p, dl, dd, figure, blockquote { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button { background: none; border: 0; padding: 0; cursor: pointer; }
table { border-collapse: collapse; width: 100%; }
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }
::selection { background: var(--cg-accent-soft-2); color: var(--cg-ink); }

/* 键盘可达性：只在键盘导航时出焦点环（鼠标点击不出，保证「纸面」干净） */
:focus-visible {
    outline: 2px solid var(--cg-accent);
    outline-offset: 2px;
    border-radius: var(--cg-r-xs);
}

/* 视觉隐藏但保留语义（页头 h1 / 表格说明等） */
.cg-sr-only {
    position: absolute;
    width: 1px; height: 1px;
    margin: -1px; padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

/* 图片/区块的骨架底色：加载期间不该是刺眼的纯白 */
.cg-ph { background: var(--cg-surface-3); }
