/* ============================================================
   顺达转运 · 客户查询站样式
   ------------------------------------------------------------
   设计基线
   - 移动优先：默认样式面向 320px，用 min-width 向上增强
   - 断点：480（大手机）、768（平板）、1024（桌面）
   - 色彩：品牌橙 50-800 色阶 + 暖中性灰 + 语义色，全部 token 化
   - 字阶：11 / 12.5 / 14 / 15 / 17 / 20 / 26 / 32，桌面端整体放大一档
   - 对比度：正文与辅助文字均 ≥ 4.5:1（WCAG 2.2 AA）
   - 动效：只动 transform / opacity，尊重 prefers-reduced-motion
   ============================================================ */

:root{
  /* —— 品牌橙 50→800 —— */
  --brand-50:#fff8f1;
  --brand-100:#ffeedd;
  --brand-200:#fed7aa;
  --brand-300:#fdba74;
  --brand-400:#fb923c;
  --brand-500:#f97316;
  --brand-600:#ea580c;
  --brand-700:#c2410c;
  --brand-800:#9a3412;

  /* —— 暖中性灰（带一点橙调，和主色同温，不发青） —— */
  --ink-1:#0f172a;   /* 标题 · 17.9:1 */
  --ink-2:#334155;   /* 正文 · 10.4:1 */
  --ink-3:#55657d;   /* 辅助文字 · 5.9:1 ✓ */
  --ink-4:#64748b;   /* 弱提示 · 4.8:1 ✓（AA 下限，只用于 ≤14px 的次要信息） */
  --line:#e7ecf3;
  --line-2:#f1f5f9;
  --bg:#f7f9fc;
  --paper:#fff;

  /* —— 语义色 —— */
  --ok-50:#f0fdf4;  --ok-200:#bbf7d0;  --ok-500:#22c55e;  --ok-700:#15803d;
  --warn-50:#fffbeb; --warn-200:#fde68a; --warn-700:#b45309;
  --bad-50:#fef2f2;  --bad-200:#fecaca;  --bad-500:#ef4444;  --bad-700:#b91c1c;

  /* —— 字阶（手机基准，桌面端在 media query 里放大） —— */
  --fs-xs:11px;
  --fs-sm:12.5px;
  --fs-base:14px;
  --fs-md:15px;
  --fs-lg:17px;
  --fs-xl:20px;
  --fs-h1:26px;

  /* —— 字重：只用 4 档，避免非标准值在部分字体上回退 —— */
  --fw-r:400;
  --fw-m:500;
  --fw-b:700;
  --fw-h:800;

  /* —— 间距（4px 网格） —— */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px;
  --sp-5:20px; --sp-6:24px; --sp-8:32px;

  /* —— 圆角 —— */
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-xl:20px; --r-full:99px;

  /* —— 阴影：三级层次，越靠上越"高" —— */
  --sh-1:0 1px 2px rgba(15,23,42,.04), 0 1px 3px rgba(15,23,42,.06);
  --sh-2:0 4px 12px -2px rgba(15,23,42,.07), 0 2px 6px -2px rgba(15,23,42,.05);
  --sh-3:0 12px 32px -12px rgba(15,23,42,.16);
  --sh-brand:0 8px 22px -10px rgba(234,88,12,.55);

  /* —— 字体栈 —— */
  --ff: -apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC",
        "Microsoft YaHei", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  --ff-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;

  /* 安全区 */
  --safe-b: env(safe-area-inset-bottom, 0px);
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
html{-webkit-text-size-adjust:100%}

body{
  font-family:var(--ff);
  /* 顶部一层品牌暖光，模拟纸张受光，比纯色背景有质感且不抢占内容 */
  background:
    radial-gradient(120% 380px at 50% -140px, #ffe6cf 0%, rgba(255,230,207,0) 68%),
    var(--bg);
  background-attachment:scroll;
  color:var(--ink-1);
  font-size:var(--fs-md);
  line-height:1.6;
  min-height:100vh;
  padding-bottom:var(--safe-b);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

code{
  font-family:var(--ff-mono);font-size:.9em;
  background:var(--line-2);border:1px solid var(--line);border-radius:5px;
  padding:1px 5px;color:var(--ink-2);
}

/* 键盘用户看得见焦点；鼠标点击不出现难看的框 */
:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px;border-radius:6px}

/* ---------- 顶部 ---------- */
.top{
  display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);
  padding:var(--sp-3) var(--sp-4);
  max-width:720px;margin:0 auto;
}
.brand{display:flex;align-items:center;text-decoration:none}
/* logo 是白底 JPG，用 multiply 让它融进浅色背景，不然一块白框很扎眼 */
.logo-img{
  height:34px;width:auto;display:block;border-radius:6px;
  mix-blend-mode:multiply;
}
.kf{
  font-family:inherit;cursor:pointer;
  font-size:var(--fs-sm);font-weight:var(--fw-b);color:var(--brand-700);
  background:var(--paper);border:1px solid var(--brand-200);border-radius:var(--r-full);
  padding:7px 14px;box-shadow:var(--sh-1);white-space:nowrap;
  transition:border-color .18s, background-color .18s, transform .12s;
}
.kf:hover{border-color:var(--brand-400);background:var(--brand-50)}
.kf:active{transform:scale(.97)}

main{max-width:720px;margin:0 auto;padding:var(--sp-1) var(--sp-4) var(--sp-8)}

/* ---------- 首屏 ---------- */
.hero{padding:var(--sp-2) 0 var(--sp-4)}
.hero h1{
  margin:0 0 6px;
  font-size:var(--fs-h1);
  line-height:1.28;
  letter-spacing:-.5px;
  font-weight:var(--fw-h);
  text-align:center;
  color:var(--ink-1);
}
.sub{
  margin:0 0 var(--sp-4);color:var(--ink-3);
  font-size:var(--fs-sm);font-weight:var(--fw-m);text-align:center;
  letter-spacing:.1px;
}
.sub b{color:var(--brand-700);font-weight:var(--fw-b)}

/* ---------- 最近查询 ---------- */
.history{margin-top:var(--sp-3)}
.his-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;padding:0 2px}
.his-head span{font-size:var(--fs-xs);font-weight:var(--fw-b);color:var(--ink-4);letter-spacing:.2px}
.his-clear{
  border:0;background:transparent;cursor:pointer;font-family:inherit;
  font-size:var(--fs-xs);font-weight:var(--fw-b);color:var(--ink-4);padding:2px 4px;
  transition:color .15s;
}
.his-clear:hover{color:var(--bad-500)}
.his-list{display:flex;flex-wrap:wrap;gap:7px}
.his-chip{
  display:inline-flex;align-items:center;gap:5px;max-width:100%;
  border:1px solid var(--line);background:var(--paper);border-radius:var(--r-full);
  padding:6px 11px;cursor:pointer;font-family:var(--ff-mono);
  font-size:var(--fs-sm);font-weight:var(--fw-b);color:var(--ink-2);
  box-shadow:var(--sh-1);
  transition:border-color .15s, color .15s, background-color .15s;
}
.his-chip:hover{border-color:var(--brand-300);color:var(--brand-700);background:var(--brand-50)}
.his-chip .st{font-family:inherit;font-size:10.5px;font-weight:var(--fw-h);color:var(--ink-4)}
.his-chip.done .st{color:var(--ok-700)}

/* ---------- 搜索框 ---------- */
.search{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:var(--sp-3) var(--sp-3) 10px;
  box-shadow:var(--sh-2);
  transition:border-color .18s, box-shadow .18s;
}
.search:focus-within{
  border-color:var(--brand-300);
  box-shadow:0 0 0 3px rgba(249,115,22,.12), 0 12px 30px -16px rgba(234,88,12,.5);
}
#input{
  width:100%;border:0;outline:0;resize:none;background:transparent;
  font-family:var(--ff-mono);
  /* 16px 是关键：iOS Safari 遇到 <16px 的输入框会自动放大整页 */
  font-size:16px;line-height:1.65;color:var(--ink-1);letter-spacing:-.1px;
  min-height:64px;
}
#input::placeholder{color:var(--ink-4);font-family:inherit;letter-spacing:0}
.search-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}
.search-hint{font-size:var(--fs-xs);color:var(--ink-3);font-weight:var(--fw-m)}
.btn-go{
  border:0;cursor:pointer;font-family:inherit;
  font-size:var(--fs-md);font-weight:var(--fw-h);letter-spacing:2px;
  color:#fff;background:linear-gradient(145deg, var(--brand-400), var(--brand-600));
  border-radius:var(--r-md);padding:10px 24px;
  box-shadow:var(--sh-brand);
  transition:transform .12s, filter .18s;
}
.btn-go:hover{filter:brightness(1.05)}
.btn-go:active{transform:scale(.97)}
.btn-go:disabled{filter:grayscale(.4) opacity(.6);cursor:default;transform:none}
.tip{margin:11px 2px 0;font-size:var(--fs-xs);color:var(--ink-3);font-weight:var(--fw-m);line-height:1.6}

/* ---------- 结果卡片 ---------- */
.results{display:flex;flex-direction:column;gap:var(--sp-3);margin-top:var(--sp-1)}
.rcard{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--sh-2);
  animation:pop .28s cubic-bezier(.2,.9,.3,1) both;
}
@keyframes pop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* 已签收：整卡转绿调，左侧加一条色条，一眼区分状态 */
.rcard.signed{
  border-color:var(--ok-200);
  background:linear-gradient(180deg, #f7fef9 0%, #fff 42%);
  box-shadow:0 0 0 1px rgba(34,197,94,.06), var(--sh-2);
}
.rcard.fail{border-color:var(--bad-200);background:linear-gradient(180deg,#fffafa,#fff)}

.rc-head{
  padding:var(--sp-3) var(--sp-4) 10px;
  display:flex;align-items:flex-start;gap:6px 10px;justify-content:space-between;flex-wrap:wrap;
}
.rc-no{
  font-family:var(--ff-mono);
  font-size:var(--fs-base);font-weight:var(--fw-b);letter-spacing:-.2px;
  word-break:break-all;flex:1;min-width:0;color:var(--ink-1);
}
/* 单号下面那行：目的地 · 邮编 · 件数 */
.rc-no small{
  display:flex;flex-wrap:wrap;align-items:center;gap:2px 9px;
  font-family:inherit;font-size:var(--fs-xs);font-weight:var(--fw-m);color:var(--ink-3);
  margin-top:5px;letter-spacing:0;
}
.rc-no small i{font-style:normal;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.rc-no small em{
  font-style:normal;font-family:var(--ff-mono);font-size:11px;
  color:var(--ink-2);font-weight:var(--fw-b);letter-spacing:0;
}
.badge{
  flex:none;font-size:var(--fs-xs);font-weight:var(--fw-h);
  border-radius:var(--r-full);padding:4px 11px;white-space:nowrap;
  background:var(--brand-50);color:var(--brand-700);border:1px solid var(--brand-200);
}
.badge.ok{background:var(--ok-50);color:var(--ok-700);border-color:var(--ok-200)}
.badge.bad{background:var(--bad-50);color:var(--bad-700);border-color:var(--bad-200)}

/* ---------- 进度条 ---------- */
.steps{display:flex;align-items:flex-start;padding:6px var(--sp-4) var(--sp-4)}
.step{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;position:relative;min-width:0}
.step .dot{
  width:19px;height:19px;border-radius:50%;
  background:var(--line-2);border:2px solid var(--line);
  display:grid;place-items:center;font-size:10px;color:var(--ink-4);font-weight:var(--fw-h);
  z-index:1;transition:background-color .2s, border-color .2s, box-shadow .2s;
}
.step .lb{
  font-size:10.5px;color:var(--ink-3);font-weight:var(--fw-m);
  text-align:center;line-height:1.3;word-break:keep-all;
}
.step::before{
  content:"";position:absolute;top:9px;left:calc(-50% + 12px);right:calc(50% + 12px);height:2px;
  background:var(--line);z-index:0;border-radius:2px;
}
.step:first-child::before{display:none}
.step.done .dot{
  background:linear-gradient(145deg, var(--brand-400), var(--brand-600));
  border-color:var(--brand-400);color:#fff;
}
.step.done .lb{color:var(--brand-700);font-weight:var(--fw-b)}
.step.done::before{background:var(--brand-200)}
/* 当前节点：外圈光晕，不用动画，静态也清楚 */
.step.now .dot{box-shadow:0 0 0 4px rgba(249,115,22,.15)}
.step.done.signed .dot{background:linear-gradient(145deg,#4ade80,var(--ok-500));border-color:#4ade80}
.step.done.signed .lb{color:var(--ok-700)}

/* ---------- 最新动态 ---------- */
.rc-latest{
  margin:0 var(--sp-4) var(--sp-3);padding:11px var(--sp-3);
  border-radius:var(--r-md);background:#fafbfd;border:1px solid var(--line-2);
}
.lt{font-size:var(--fs-xs);color:var(--ink-4);font-weight:var(--fw-b);margin-bottom:3px}
.li{font-size:var(--fs-base);color:var(--ink-2);font-weight:var(--fw-m);line-height:1.55;word-break:break-word}
.rc-fail{padding:2px var(--sp-4) var(--sp-4);font-size:var(--fs-base);color:var(--bad-700);font-weight:var(--fw-m);line-height:1.65}

/* ---------- 轨迹区 ---------- */
/* 缓存提示：走缓存时告诉客户数据是几分钟前的，别让人以为实时刷新 */
.rc-upd{
  margin:0 var(--sp-4) var(--sp-2);padding:5px 9px;
  background:var(--brand-50);border-radius:var(--r-sm);
  font-size:var(--fs-xs);font-weight:var(--fw-m);color:var(--brand-700);line-height:1.5;
}

.rc-foot{display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-4) var(--sp-3);flex-wrap:wrap}
.tgl{
  border:0;background:transparent;cursor:pointer;font-family:inherit;
  font-size:var(--fs-sm);font-weight:var(--fw-b);color:var(--brand-700);
  padding:4px 0;transition:color .15s;
}
.tgl:hover{color:var(--brand-800);text-decoration:underline;text-underline-offset:3px}

/* 语言切换：「切换语言：」是纯文字、无底色，胶囊只包 🌏 中文 / 英文 */
.tr-wrap{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:6px}
.tr-lbl{
  font-style:normal;font-size:12px;font-weight:var(--fw-m);
  color:var(--brand-600);white-space:nowrap;letter-spacing:.2px;
}
.tr-btn{
  flex:none;display:inline-flex;align-items:center;gap:1px;
  border:1px solid var(--brand-500);background:var(--brand-500);color:#fff;
  border-radius:var(--r-full);padding:3px 7px 3px 6px;
  font-size:11px;font-weight:var(--fw-b);font-family:inherit;
  cursor:pointer;white-space:nowrap;
  transition:background-color .16s, border-color .16s;
}
.tr-btn:hover{background:var(--brand-600);border-color:var(--brand-600)}
.tr-btn .globe{font-size:12px;line-height:1;margin-right:3px}
.tr-btn b{font-weight:var(--fw-m);opacity:.65;transition:opacity .16s;line-height:1.55}
.tr-btn b.cur{
  opacity:1;font-weight:var(--fw-h);
  background:#fff;color:var(--brand-700);
  border-radius:var(--r-full);padding:0 6px;
}
.tr-btn .sep{font-style:normal;opacity:.5;margin:0 2px}
/* 极窄屏（≤359px，iPhone SE 一类）收掉「切换语言：」四个字，
   让「全部物流轨迹」和语言开关待在同一行，别折成两行显松散 */
@media (max-width:359px){
  .tr-lbl{display:none}
  .tr-btn{padding:4px 9px 4px 8px}
}

.rc-meta{margin-left:auto;font-size:var(--fs-xs);color:var(--ink-4);font-weight:var(--fw-m)}

.traces{
  border-top:1px solid var(--line-2);background:#fcfdff;
  padding:var(--sp-3) var(--sp-4) 4px;
  max-height:420px;overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.traces::-webkit-scrollbar{width:6px}
.traces::-webkit-scrollbar-thumb{background:#dde4ee;border-radius:var(--r-full)}
.traces::-webkit-scrollbar-thumb:hover{background:#c8d2e0}
.traces::-webkit-scrollbar-track{background:transparent}

.tr{display:flex;gap:10px;padding-bottom:13px;position:relative}
.tr::before{content:"";position:absolute;left:6px;top:14px;bottom:0;width:2px;background:var(--line-2)}
.tr:last-child::before{display:none}
.tr-dot{
  width:14px;height:14px;border-radius:50%;
  background:#fff;border:2px solid #d7dfec;flex:none;margin-top:1px;z-index:1;
}
.tr.new .tr-dot{border-color:var(--brand-500);box-shadow:0 0 0 3px rgba(249,115,22,.14)}
.tr-main{min-width:0;flex:1}
.tr-time{font-size:var(--fs-xs);color:var(--ink-4);font-weight:var(--fw-b);font-variant-numeric:tabular-nums}
.tr-info{font-size:13px;color:var(--ink-2);line-height:1.55;word-break:break-word;font-weight:var(--fw-m)}
.tr-loc{font-size:var(--fs-xs);color:var(--ink-3);margin-top:2px}

/* ---------- 骨架屏 ---------- */
.loading{display:flex;flex-direction:column;gap:10px;margin-top:var(--sp-1)}
.load-tip{margin:2px 0 0;text-align:center;font-size:var(--fs-xs);color:var(--ink-4);font-weight:var(--fw-m)}
.sk{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-4);box-shadow:var(--sh-1)}
.sk i{
  display:block;height:11px;border-radius:6px;margin-bottom:9px;
  background:linear-gradient(90deg, var(--line-2) 25%, #f8fafc 37%, var(--line-2) 63%);
  background-size:400% 100%;
  animation:shine 1.4s ease infinite;
}
.sk i:nth-child(1){width:42%}
.sk i:nth-child(2){width:88%}
.sk i:nth-child(3){width:66%;margin-bottom:0}
@keyframes shine{0%{background-position:100% 0}100%{background-position:0 0}}

.err-box{
  margin-top:var(--sp-1);background:var(--bad-50);border:1px solid var(--bad-200);color:var(--bad-700);
  border-radius:var(--r-md);padding:var(--sp-3) 14px;
  font-size:var(--fs-base);font-weight:var(--fw-m);line-height:1.65;
}

/* 原来的「查不到怎么办」FAQ 卡已按需求移除：客户查不到直接点右上角联系客服，
   文字说明在手机上反而把页面拖长，稀释查询结果这个唯一重点 */

/* ---------- 页脚 ---------- */
footer{max-width:720px;margin:0 auto;padding:var(--sp-2) var(--sp-4) var(--sp-6)}

.brand-card{
  display:flex;align-items:center;gap:var(--sp-3);
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:var(--sp-3) 14px;box-shadow:var(--sh-1);margin-bottom:10px;
}
.brand-ie{
  width:54px;height:54px;flex:none;border-radius:11px;object-fit:cover;object-position:center;
  border:1px solid var(--line-2);
}
.brand-txt2{display:flex;flex-direction:column;line-height:1.5;min-width:0}
.brand-txt2 b{font-size:var(--fs-sm);font-weight:var(--fw-h);letter-spacing:-.2px;color:var(--ink-1)}
.brand-txt2 span{font-size:var(--fs-xs);color:var(--ink-3);font-weight:var(--fw-m)}
.brand-txt2 span:last-child{color:var(--ink-4)}

/* 页脚不再放客服卡：顶部右侧已有「联系客服」常驻入口，重复反而稀释重点 */
.copy{text-align:center;color:var(--ink-4);font-size:var(--fs-xs);font-weight:var(--fw-m);margin:var(--sp-4) 0 0}

/* ---------- 二维码弹窗 ---------- */
.mask{
  position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:var(--sp-5);
  background:rgba(15,23,42,.58);
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
}
.mask.on{display:grid;animation:fade .18s ease both}
@keyframes fade{from{opacity:0}to{opacity:1}}
.kf-modal{
  position:relative;width:100%;max-width:330px;background:var(--paper);
  border-radius:var(--r-xl);padding:14px 14px var(--sp-4);
  box-shadow:0 30px 60px -20px rgba(15,23,42,.5);
  text-align:center;
  animation:up .24s cubic-bezier(.2,.9,.3,1) both;
  max-height:88vh;overflow:auto;
}
@keyframes up{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
.kf-qr{width:100%;height:auto;border-radius:var(--r-md);display:block}
.kf-modal p{margin:11px 0 0;font-size:var(--fs-sm);color:var(--ink-3);font-weight:var(--fw-m)}
.kf-close{
  position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;
  border:0;background:rgba(255,255,255,.94);color:var(--ink-2);
  font-size:15px;font-weight:var(--fw-b);cursor:pointer;display:grid;place-items:center;
  box-shadow:0 2px 8px rgba(0,0,0,.12);transition:color .15s, background-color .15s;
}
.kf-close:hover{background:#fff;color:var(--bad-500)}

/* ============================================================
   响应式：移动优先，只向上增强
   ============================================================ */

/* 大手机 —— 稍稍松一点，标签字号回正 */
@media (min-width:480px){
  .hero h1{font-size:28px}
  .step .lb{font-size:10.5px}
  .step .dot{width:21px;height:21px}
  .step::before{top:10px;left:calc(-50% + 13px);right:calc(50% + 13px)}
  .tr-info{font-size:var(--fs-base)}
}

/* 平板 —— 内容收窄居中，卡片内边距加大，触摸目标更舒展 */
@media (min-width:768px){
  :root{
    --fs-sm:13px;
    --fs-base:14.5px;
    --fs-md:15.5px;
    --fs-h1:32px;
  }
  .top,main,footer{max-width:680px}
  .top{padding:var(--sp-4) 20px}
  .logo-img{height:38px}
  main{padding-bottom:var(--sp-8)}
  .hero{padding:var(--sp-3) 0 var(--sp-5)}
  .search{padding:var(--sp-4) var(--sp-4) var(--sp-3);border-radius:var(--r-xl)}
  #input{min-height:76px;font-size:16px}
  .btn-go{padding:11px 28px}
  .rc-head{padding:var(--sp-4) 20px 12px}
  .steps{padding:8px 20px var(--sp-4)}
  .rc-foot{padding:0 20px var(--sp-3)}
  .traces{padding:var(--sp-3) 20px 4px;max-height:480px}
  .rc-latest{margin:0 20px var(--sp-3)}
  .results{gap:var(--sp-4)}
  footer{padding-bottom:var(--sp-8)}
}

/* 桌面 —— 再多给一点呼吸，但保持单列（查询场景单列最快，不要为了"利用空间"拉两栏） */
@media (min-width:1024px){
  :root{--fs-h1:34px}
  .top,main,footer{max-width:720px}
  body{background:radial-gradient(1100px 460px at 50% -160px,#ffe6cf 0%,rgba(255,230,207,0) 66%),var(--bg)}
  .search{box-shadow:var(--sh-3)}
  .rcard{box-shadow:var(--sh-3)}
  /* 桌面鼠标环境给个更明确的 hover 反馈（移动端没有 hover，不做） */
  .rcard:hover{box-shadow:0 16px 38px -14px rgba(15,23,42,.2)}
}

/* ---------- 尊重系统设置：关掉动效 ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}

/* ---------- 横屏小高度设备（手机横放）：压缩首屏 ---------- */
@media (max-height:500px) and (orientation:landscape){
  .hero{padding:0 0 var(--sp-3)}
  .hero h1{font-size:22px}
  .sub{margin-bottom:var(--sp-3)}
  #input{min-height:48px}
}
