/* ============================================================
   初遇 · 站点设计系统
   白底、克制、零售质感。全站共用这一份，改配色只改这里。

   配色逻辑：
   - 近黑 #0f1216 是唯一主行动色（按钮、选中态）。零售站用彩色主按钮容易显廉价。
   - 深松绿 #1d6f52 只做状态色：已确认、在线、成功、权限标签。是点缀不是主色。
   - 价格用墨黑不用大红。靠字号字重拉层级，比染红更高级。
   - 边框做分隔，阴影只在 hover 时出现。
   ============================================================ */
:root{
  --bg:#ffffff;
  --bg-soft:#f7f8fa;
  --bg-sink:#f1f3f5;
  --ink:#0f1216;
  --ink-2:#545c66;
  --ink-3:#949ca5;
  --line:#e8eaed;
  --line-2:#d7dbe0;
  --accent:#1d6f52;
  --accent-soft:#eaf3ef;
  --err:#c0392b;
  --err-soft:#fdeeec;
  --radius:14px;
  --radius-lg:20px;
  --shadow-md:0 4px 12px rgba(15,18,22,.06),0 12px 32px rgba(15,18,22,.06);
  --sans:'Noto Sans SC',-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;
  --mono:'SF Mono',Consolas,'Roboto Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:var(--sans);background:var(--bg);color:var(--ink);
  font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.narrow{max-width:760px}

/* ---------- 顶栏 ---------- */
.top{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);
  backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--line);
}
.top .wrap{height:60px;display:flex;align-items:center;gap:28px}
.brand{font-weight:700;font-size:17px;letter-spacing:.02em;white-space:nowrap}
.brand span{color:var(--ink-3);font-weight:400;margin-left:8px;font-size:13px}
.nav{display:flex;gap:22px;margin-left:auto;font-size:14px;color:var(--ink-2)}
.nav a{transition:color .15s}
.nav a:hover,.nav a.on{color:var(--ink)}
.top-cta{
  padding:7px 16px;border-radius:999px;background:var(--ink);color:#fff;
  font-size:13.5px;font-weight:500;white-space:nowrap;transition:background .15s;
}
.top-cta:hover{background:#000}
@media(max-width:780px){.nav{display:none}}

/* ---------- 区块 ---------- */
section{padding:56px 0}
.sec-head{margin-bottom:28px}
.sec-head h2{font-size:26px;font-weight:700;letter-spacing:-.01em}
.sec-head p{color:var(--ink-3);font-size:14px;margin-top:6px}
.soft{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* ---------- 按钮 ---------- */
.btn{
  height:44px;padding:0 22px;border:1px solid transparent;border-radius:10px;
  background:var(--ink);color:#fff;font-weight:500;cursor:pointer;white-space:nowrap;
  display:inline-flex;align-items:center;justify-content:center;
  transition:background .15s,opacity .15s;
}
.btn:hover:not(:disabled){background:#000}
.btn:disabled{opacity:.4;cursor:not-allowed}
.btn-ghost{background:#fff;border-color:var(--line-2);color:var(--ink)}
.btn-ghost:hover:not(:disabled){background:var(--bg-sink);border-color:var(--ink-3)}
.btn-lg{height:50px;padding:0 28px;font-size:15.5px}

/* ---------- 表单 ---------- */
.field{flex:1;min-width:190px}
.field label{display:block;font-size:12.5px;color:var(--ink-2);margin-bottom:7px;font-weight:500}
.field input,.field select{
  width:100%;height:44px;padding:0 13px;border:1px solid var(--line-2);
  border-radius:10px;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;
}
.field input:focus,.field select:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(15,18,22,.06)}
.field input::placeholder{color:var(--ink-3)}
.hint{font-size:12.5px;color:var(--ink-3);margin-top:11px;line-height:1.7}
.hint code{font-family:var(--mono);background:var(--bg-sink);padding:1px 5px;border-radius:4px;font-size:12px}
.err{
  display:none;margin-top:14px;padding:11px 15px;border-radius:10px;
  background:var(--err-soft);border:1px solid rgba(192,57,43,.2);color:var(--err);font-size:13.5px;
}
.err.on{display:block}

/* ---------- 卡片与栅格 ---------- */
.grid{display:grid;gap:20px}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.g2{grid-template-columns:1fr}}
@media(max-width:560px){.g3{grid-template-columns:1fr}}
.card{
  border:1px solid var(--line);border-radius:var(--radius);background:#fff;
  overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .18s,border-color .18s;
}
.card:hover{box-shadow:var(--shadow-md);border-color:var(--line-2)}
.card .body{padding:20px;display:flex;flex-direction:column;flex:1}

/* 标签 */
.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}
.tag{font-size:11.5px;padding:3px 8px;border-radius:5px;background:var(--bg-sink);color:var(--ink-2)}
.tag.g{background:var(--accent-soft);color:var(--accent)}

/* 在线小圆点 */
.live{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--accent)}
.live i{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}

/* ---------- 页脚 ---------- */
.foot{border-top:1px solid var(--line);padding:40px 0 48px;color:var(--ink-3);font-size:13px;background:var(--bg-soft)}
.foot-grid{display:flex;gap:48px;flex-wrap:wrap;margin-bottom:28px}
.foot-col h4{font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:12px}
.foot-col a,.foot-col div{display:block;line-height:2;transition:color .15s}
.foot-col a:hover{color:var(--ink)}
.foot-bar{border-top:1px solid var(--line);padding-top:20px;display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.foot-bar .sp{margin-left:auto}
.foot-bar a:hover{color:var(--ink-2)}

/* ---------- 长文页（条款/隐私） ---------- */
.doc{padding:48px 0 72px}
.doc h1{font-size:30px;font-weight:700;letter-spacing:-.02em}
.doc .updated{color:var(--ink-3);font-size:13px;margin-top:8px}
.doc h2{font-size:18px;font-weight:650;margin:34px 0 10px}
.doc p,.doc li{color:var(--ink-2);font-size:14.5px;line-height:1.85}
.doc ul,.doc ol{padding-left:22px;margin:8px 0}
.doc li{margin:4px 0}
.doc strong{color:var(--ink);font-weight:600}
.doc table{width:100%;border-collapse:collapse;margin:14px 0;font-size:14px}
.doc th,.doc td{border:1px solid var(--line);padding:9px 12px;text-align:left}
.doc th{background:var(--bg-soft);font-weight:600;color:var(--ink)}
.doc td{color:var(--ink-2)}
