/* ============================================================
 * 问稷 AgriMind · 基础层（重置 / 排版 / 布局原子）
 * ========================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--font-sans);font-size:var(--t-body);line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:none;padding:0}
h1,h2,h3,h4,p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:2px solid var(--brand-deep);outline-offset:2px}
::selection{background:var(--brand);color:var(--brand-ink)}

/* 滚动条：细，与纸色融合 */
*::-webkit-scrollbar{width:9px;height:9px}
*::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:99px;border:2px solid var(--paper)}
*::-webkit-scrollbar-thumb:hover{background:var(--line-3)}
*::-webkit-scrollbar-track{background:transparent}

/* ---------- 排版原子 ---------- */
.lbl{
  font-family:var(--font-mono);font-size:var(--t-label);font-weight:500;
  letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4);line-height:1.2;
}
.lbl-d{color:var(--ink-3)}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.cap{font-size:var(--t-cap);color:var(--ink-3);line-height:1.55}
.body{font-size:var(--t-body);color:var(--ink-2);line-height:1.75}
.body-lg{font-size:var(--t-body-lg);color:var(--ink);line-height:1.75}
.ink{color:var(--ink)} .ink2{color:var(--ink-2)} .ink3{color:var(--ink-3)} .ink4{color:var(--ink-4)}
.b{font-weight:700} .w600{font-weight:600}
.tnum-r{text-align:right}
.trunc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hr{height:1px;background:var(--line);border:0;margin:var(--s3) 0}
.hr-dash{height:1px;border:0;border-top:1px dashed var(--line-2);margin:var(--s3) 0}

/* 区块标题：// 前缀是本站签名式排版 */
.sec-h{
  display:flex;align-items:baseline;gap:var(--s2);margin:var(--s7) 0 var(--s3);
}
.sec-h::before{
  content:"//";font-family:var(--font-mono);font-size:var(--t-h2);
  color:var(--line-3);font-weight:500;letter-spacing:-.04em;
}
.sec-h h2{font-size:var(--t-h2);font-weight:700;letter-spacing:-.01em;line-height:1.25}
.sec-h .sec-meta{margin-left:auto;font-family:var(--font-mono);font-size:var(--t-label);
  letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);text-align:right}

/* ---------- 页面骨架 ---------- */
.page{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter) var(--s8)}
.page-narrow{max-width:900px}
.grid{display:grid;gap:var(--gap)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g6{grid-template-columns:repeat(6,minmax(0,1fr))}
@media (max-width:1000px){ .g4,.g6{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:760px){
  .g2,.g3,.g4,.g6{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:480px){
  .g2,.g3,.g4,.g6{grid-template-columns:1fr}
  :root{--t-h1:27px;--t-h2:18px}
}
.span2{grid-column:span 2} .span3{grid-column:span 3} .span4{grid-column:span 4}
.span6{grid-column:span 6} .span-all{grid-column:1/-1}
@media (max-width:1000px){ .span3,.span4,.span6{grid-column:1/-1} }
@media (max-width:760px){ .span2{grid-column:1/-1} }

/* ---------- 入场动效 ---------- */
.rv{opacity:0;transform:translateY(6px);transition:opacity var(--t-slow) var(--ease),transform var(--t-slow) var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
}
.hidden{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* 打印：只留内容（反馈签字表走独立窗口，这里兜底） */
@media print{
  .term,.nav,.no-print{display:none!important}
  body{background:#fff}
  .panel{break-inside:avoid;border-color:#999}
}
