:root{
  --ink:#14151A; --ink2:#5C5F6A; --ink3:#9A9DA8;
  --paper:#FBFAF8; --surface:#FFFFFF; --line:#ECEBE8;
  --orange:#FF6A2A; --orange-deep:#E8510F; --lemon:#E3FF57;
  --radius:22px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font:16px/1.7 -apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--orange-deep); text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:760px; margin:0 auto; padding-inline:22px}

/* header */
.top{position:sticky; top:0; z-index:9; backdrop-filter:saturate(180%) blur(14px);
  background:rgba(251,250,248,.82); border-bottom:1px solid var(--line)}
.top .wrap{display:flex; align-items:center; gap:14px; padding-block:14px}
.brand{display:flex; align-items:center; gap:9px; font-weight:800; font-size:19px; letter-spacing:-.02em}
.brand .mark{width:30px; height:30px; border-radius:9px; display:grid; place-items:center; font-size:17px;
  background:linear-gradient(160deg,#FF9A5C,var(--orange)); box-shadow:0 3px 10px rgba(255,106,42,.3)}
.brand b{color:var(--orange)}
.top nav{margin-left:auto; display:flex; gap:6px; align-items:center; flex-wrap:wrap}
.top nav a{color:var(--ink2); font-size:14px; font-weight:600; padding:7px 11px; border-radius:999px}
.top nav a:hover{background:#fff; color:var(--ink); text-decoration:none}
.top nav a[aria-current]{background:var(--ink); color:#fff}
.langbtn{font:inherit; font-size:13px; font-weight:700; cursor:pointer; color:var(--ink);
  background:#fff; border:1px solid var(--line); border-radius:999px; padding:7px 13px}
.langbtn:hover{border-color:var(--ink3)}

/* hero */
.hero{padding:72px 0 34px}
.hero h1{font-size:clamp(34px,7vw,54px); line-height:1.12; letter-spacing:-.03em; margin:0 0 16px; font-weight:800}
.hero p{font-size:clamp(16px,2.4vw,19px); color:var(--ink2); margin:0; max-width:34em}
.badge{display:inline-block; font-size:12.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  color:var(--orange-deep); background:#FFF1E9; border-radius:999px; padding:6px 13px; margin-bottom:20px}

/* cards */
.grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; padding:26px 0 10px}
.card{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:20px}
.card h3{margin:0 0 7px; font-size:16.5px; font-weight:700}
.card p{margin:0; font-size:14.5px; color:var(--ink2); line-height:1.65}
.card .ico{font-size:22px; display:block; margin-bottom:11px}

/* article */
main{padding-bottom:70px}
.page-title{padding:56px 0 8px}
.page-title h1{font-size:clamp(28px,5vw,40px); letter-spacing:-.025em; margin:0 0 8px; font-weight:800}
.updated{color:var(--ink3); font-size:14px; margin:0}
article h2{font-size:19px; margin:38px 0 10px; letter-spacing:-.01em; font-weight:750}
article h3{font-size:16px; margin:24px 0 6px; font-weight:700}
article p,article li{color:var(--ink2); font-size:15.5px}
article ul{padding-left:20px; margin:10px 0}
article li{margin-bottom:7px}
article strong{color:var(--ink); font-weight:650}
.callout{background:var(--surface); border:1px solid var(--line); border-left:3px solid var(--orange);
  border-radius:14px; padding:16px 18px; margin:22px 0}
.callout p{margin:0; color:var(--ink)}
hr{border:0; border-top:1px solid var(--line); margin:44px 0}

/* footer */
footer{border-top:1px solid var(--line); padding:30px 0 46px; color:var(--ink3); font-size:13.5px}
footer .wrap{display:flex; gap:16px; flex-wrap:wrap; align-items:center}
footer a{color:var(--ink2); font-weight:600}
footer .sp{margin-left:auto}

[data-lang-zh],[data-lang-en]{display:none}
html[lang^="zh"] [data-lang-zh]{display:revert}
html[lang="en"] [data-lang-en]{display:revert}

@media (prefers-color-scheme:dark){
  :root{--ink:#F2F2F4; --ink2:#A8AAB4; --ink3:#74767F; --paper:#0F1013; --surface:#17181C; --line:#26272C}
  .top{background:rgba(15,16,19,.82)}
  .top nav a[aria-current]{background:var(--orange); color:#fff}
  .top nav a:hover,.langbtn{background:var(--surface)}
  .badge{background:#2A1A12}
}
