/* ============================================================
 * 问稷 AgriMind · 页面级布局
 * 只放跨页复用的版式骨架；单页特有效果写在页面文件内的 <style> 里
 * ========================================================== */

/* ---------------- 首屏 Hero ---------------- */
.hero{padding:var(--s7) 0 var(--s5);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
  gap:var(--s7);align-items:start}
@media (max-width:940px){ .hero{grid-template-columns:1fr;gap:var(--s5)} }
.hero-eyebrow{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s4);flex-wrap:wrap}
.hero h1{font-size:var(--t-h1);font-weight:700;letter-spacing:-.02em;line-height:1.2}
@media (min-width:1000px){ .hero h1{font-size:37px} }
.hero h1 em{font-style:normal;background:linear-gradient(transparent 62%,var(--brand) 62%);padding:0 2px}
.hero-lead{margin-top:var(--s4);font-size:var(--t-body-lg);color:var(--ink-2);line-height:1.8;max-width:52ch}
.hero-act{margin-top:var(--s5);display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center}
.hero-facts{margin-top:var(--s5);display:flex;gap:var(--s5);flex-wrap:wrap}
.hero-fact .hf-v{font-family:var(--font-mono);font-size:22px;font-weight:600;letter-spacing:-.02em}
.hero-fact .hf-l{font-size:var(--t-cap);color:var(--ink-3);margin-top:2px}
.hero-art{
  border:1px solid var(--line);border-radius:var(--r);background:var(--panel);
  padding:var(--s3);position:relative;overflow:hidden;
}
.hero-art .ha-cap{
  display:flex;align-items:center;gap:var(--s2);padding-bottom:var(--s2);
  border-bottom:1px solid var(--line);margin-bottom:var(--s2);
}
.hero-src{margin-top:var(--s4);font-size:var(--t-cap);color:var(--ink-4);line-height:1.7}

/* ---------------- 痛点→功能 对照 ---------------- */
.pain{
  display:grid;grid-template-columns:minmax(0,1.05fr) 24px minmax(0,1fr) minmax(0,.7fr);
  gap:var(--s3);align-items:center;padding:var(--s3) 0;border-bottom:1px dashed var(--line);
}
.pain:last-child{border-bottom:0}
.pain .p-q{font-size:var(--t-body-lg);color:var(--ink);line-height:1.65}
.pain .p-q::before{content:"“";color:var(--line-3)}
.pain .p-q::after{content:"”";color:var(--line-3)}
.pain .p-arrow{display:grid;place-items:center;color:var(--line-3)}
.pain .p-a{font-size:var(--t-body);font-weight:600;color:var(--brand-ink)}
.pain .p-a span{display:block;font-weight:400;font-size:var(--t-cap);color:var(--ink-3);margin-top:3px;line-height:1.5}
@media (max-width:820px){
  .pain{grid-template-columns:1fr;gap:var(--s1)}
  .pain .p-arrow{display:none}
}

/* ---------------- 双栏工作区（控制台） ---------------- */
.work{display:grid;grid-template-columns:minmax(0,1fr) 336px;gap:var(--gap);align-items:start}
@media (max-width:1080px){ .work{grid-template-columns:1fr} }
.side{display:flex;flex-direction:column;gap:var(--gap);position:sticky;top:110px}
@media (max-width:1080px){ .side{position:static} }

/* ---------------- 大数处方（决策建议） ---------------- */
.rx{background:var(--panel--none,transparent)}
.rx-big{
  display:flex;align-items:baseline;gap:var(--s2);flex-wrap:wrap;
  font-family:var(--font-mono);font-weight:600;letter-spacing:-.03em;line-height:1;
}
.rx-big .rx-n{font-size:52px}
.rx-big .rx-u{font-size:14px;font-weight:500;color:var(--ink-3);letter-spacing:0}
.rx-big .rx-op{font-size:26px;color:var(--line-3);font-weight:400;margin:0 2px}
@media (max-width:520px){ .rx-big .rx-n{font-size:40px} }
.rx-split{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--s4);align-items:center}
.rx-side .rx-lab{font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-4)}
.rx-side .rx-when{font-size:var(--t-cap);color:var(--ink-3);margin-top:4px}
.rx-plus{font-size:24px;color:var(--line-3);font-weight:300}
.rx-meter{margin-top:var(--s4)}
.rx-meter .rm-bar{display:flex;height:22px;border-radius:var(--r-xs);overflow:hidden;border:1px solid var(--line-2)}
.rx-meter .rm-bar i{display:block;transition:width var(--t-slow) var(--ease)}
.rx-meter .rm-bar i.a{background:var(--forest)}
.rx-meter .rm-bar i.b{background:var(--brand)}
.rx-meter .rm-lg{display:flex;justify-content:space-between;margin-top:5px;font-size:10px;
  font-family:var(--font-mono);color:var(--ink-4);letter-spacing:.04em}

/* ---------------- 架构图（工程页） ---------------- */
.arch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);align-items:stretch}
@media (max-width:900px){ .arch{grid-template-columns:1fr} }
.arch-col{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:var(--s4);
  display:flex;flex-direction:column;gap:var(--s3)}
.arch-col .ac-h{display:flex;align-items:center;gap:var(--s2);padding-bottom:var(--s2);
  border-bottom:1px solid var(--line)}
.arch-col .ac-h .ac-n{font-family:var(--font-mono);font-size:10px;color:var(--ink-4);letter-spacing:.1em}
.arch-col .ac-h h4{font-size:var(--t-body);font-weight:700}
.arch-node{border:1px solid var(--line-2);border-radius:var(--r-sm);padding:var(--s3);background:var(--panel-2)}
.arch-node.brand{background:var(--brand-soft);border-color:#DFEBAE}
.arch-node .an-t{font-size:var(--t-cap);font-weight:700}
.arch-node .an-m{font-family:var(--font-mono);font-size:10px;color:var(--ink-4);margin-top:3px;line-height:1.55}

/* ---------------- 登录/权限矩阵 ---------------- */
.matrix{font-size:var(--t-cap)}
.matrix th,.matrix td{border:1px solid var(--line);padding:6px 9px;text-align:center}
.matrix th{background:var(--panel-2);font-family:var(--font-mono);font-size:var(--t-label);
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4)}
.matrix td:first-child,.matrix th:first-child{text-align:left;font-weight:600}
.matrix .y{color:var(--ok);font-weight:700}
.matrix .n{color:var(--line-3)}
.matrix .p{color:var(--warn);font-weight:700}

/* ---------------- 页脚 ---------------- */
.foot{
  margin-top:var(--s8);border-top:1px solid var(--line-2);padding:var(--s5) 0 var(--s6);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:var(--s5);
  font-size:var(--t-cap);color:var(--ink-3);line-height:1.75;
}
@media (max-width:820px){ .foot{grid-template-columns:1fr} }
.foot h4{font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-4);margin-bottom:var(--s2)}
.foot b{color:var(--ink-2)}

/* ---------------- 状态条（离线/同步） ---------------- */
.syncbar{
  display:flex;align-items:center;gap:var(--s2);padding:6px var(--s3);border-radius:var(--r-sm);
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;
  border:1px solid var(--line-2);background:var(--panel-2);color:var(--ink-3);
}
.syncbar i{width:6px;height:6px;border-radius:50%;background:var(--ok);flex:0 0 auto}
.syncbar.off i{background:var(--ink-4)}
.syncbar.off{color:var(--ink-2);background:var(--panel-3)}
.syncbar b{color:var(--ink);font-weight:700}

/* ============================================================
 * 快速开问向导 wizard.html
 * 农户零门槛入口：大按钮点选、三步出结果、可朗读可打印
 * 所有字号取 --t-*，口语模式下自动放大
 * ========================================================== */
.wz-bar{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s5);flex-wrap:wrap}
.wz-bar .wz-d{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;
  font-family:var(--font-mono);font-size:var(--t-body);font-weight:700;
  background:var(--panel);border:1px solid var(--line-2);color:var(--ink-4);
  transition:all var(--t) var(--ease);
}
.wz-bar .wz-d.on{background:var(--brand);border-color:var(--brand-deep);color:var(--brand-ink)}
.wz-bar .wz-d.done{background:var(--brand-soft);border-color:#DFEBAE;color:var(--brand-deep)}
.wz-bar .wz-l{font-size:var(--t-cap);color:var(--ink-4)}
.wz-bar .wz-l.on{color:var(--ink);font-weight:600}
.wz-bar .wz-b{margin-left:auto;display:flex;gap:var(--s2)}

.wz-q{font-size:var(--t-h2);font-weight:700;line-height:1.4;margin:0 0 var(--s2);letter-spacing:-.01em}
.wz-hint{font-size:var(--t-body);color:var(--ink-3);margin:0 0 var(--s5);line-height:1.7}

.wz-opts{display:grid;gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(148px,1fr))}
.wz-opt{
  display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;
  padding:var(--s4) var(--s5);min-height:76px;
  background:var(--panel);border:1.5px solid var(--line);border-radius:var(--r);
  cursor:pointer;font:inherit;color:var(--ink);
  transition:transform var(--t) var(--ease),border-color var(--t) var(--ease),box-shadow var(--t) var(--ease);
}
.wz-opt:hover{transform:translateY(-2px);box-shadow:var(--sh-3);border-color:var(--line-2)}
.wz-opt:active{transform:translateY(0)}
.wz-opt .wo-t{font-size:var(--t-body-lg);font-weight:700;line-height:1.35}
.wz-opt .wo-d{font-size:var(--t-cap);color:var(--ink-3);line-height:1.55}
.wz-opt.on{border-color:var(--brand);background:var(--brand-soft)}
.wz-opt.on .wo-d{color:var(--brand-ink)}

.wz-row{margin-bottom:var(--s6)}
.wz-row .wz-rl{
  font-size:var(--t-body);font-weight:600;margin-bottom:var(--s3);
  display:flex;align-items:center;gap:7px;
}
.wz-row .wz-rl .n{font-family:var(--font-mono);font-size:var(--t-label);color:var(--brand-deep)}

/* 结果卡 */
.rx-card{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--panel);box-shadow:var(--sh-2)}
.rx-top{background:var(--brand-soft);border-bottom:1px solid #DFEBAE;padding:var(--s6) var(--s5);text-align:center}
.rx-big{display:flex;align-items:flex-end;justify-content:center;gap:var(--s5);flex-wrap:wrap}
.rx-n{font-family:var(--font-mono);font-size:44px;font-weight:700;line-height:1;color:var(--brand-ink);letter-spacing:-.02em}
.rx-n small{font-size:15px;font-weight:600;margin-left:3px;color:var(--ink-2)}
.rx-u{font-size:var(--t-body);color:var(--ink-2);margin-top:7px}
.rx-op{font-size:30px;color:var(--brand-deep);line-height:1;font-weight:700}
.rx-body{padding:var(--s5)}
.rx-line{display:flex;gap:var(--s3);padding:9px 0;border-bottom:1px solid var(--panel-3);font-size:var(--t-body)}
.rx-line:last-child{border-bottom:0}
.rx-line .rl{flex:0 0 86px;color:var(--ink-3);font-size:var(--t-cap)}
.rx-line .rv{flex:1;line-height:1.7;min-width:0}
.rx-line .rv b{color:var(--brand-ink)}

/* 低把握地块清单：高风险行左侧强调 */
.tbl tr.risk-row{background:color-mix(in srgb,var(--risk) 8%,transparent)}
.tbl tr.risk-row td:first-child{box-shadow:inset 3px 0 0 var(--risk)}
.tbl tr.risk-row:hover{background:color-mix(in srgb,var(--risk) 14%,transparent)}

@media print{
  .foot,.wz-act,.wz-bar{display:none!important}
  .rx-card{box-shadow:none;border-color:#bbb}
  body{background:#fff}
}
