:root { --pri:#c8102e; --txt:#222; --bg:#f7f7f8; --line:#e4e4e7; }
* { box-sizing:border-box; margin:0; }
body { font-family:"Microsoft YaHei","PingFang SC",sans-serif; color:var(--txt); background:var(--bg); line-height:1.7; }
.wrap { max-width:960px; margin:0 auto; padding:0 16px; }
.hd { background:#fff; border-bottom:1px solid var(--line); }
.hd .wrap { display:flex; align-items:center; justify-content:space-between; height:56px; }
.logo { font-size:18px; font-weight:700; color:var(--pri); text-decoration:none; }
.hd nav a { margin-left:18px; color:var(--txt); text-decoration:none; font-size:14px; }
.hd nav a:hover { color:var(--pri); }
main.wrap { padding:28px 16px 48px; }
.hero { text-align:center; padding:36px 0; }
.hero h1 { font-size:26px; margin-bottom:10px; }
.hero .sub { color:#666; max-width:640px; margin:0 auto 14px; }
.price { color:var(--pri); font-size:22px; font-weight:700; margin:8px 0 16px; }
.btn { display:inline-block; background:var(--pri); color:#fff; border:none; padding:10px 32px; font-size:16px; border-radius:4px; cursor:pointer; text-decoration:none; }
.btn.ghost { background:#fff; color:var(--pri); border:1px solid var(--pri); }
.card { background:#fff; border:1px solid var(--line); border-radius:8px; padding:24px; margin-bottom:20px; }
.card h1 { font-size:20px; margin-bottom:12px; }
.card h2 { font-size:16px; margin:16px 0 8px; }
.card ul { padding-left:20px; color:#444; }
.tbl { width:100%; border-collapse:collapse; margin:8px 0; }
.tbl th { text-align:right; color:#888; font-weight:400; width:90px; padding:6px 10px; vertical-align:top; }
.tbl.grid th, .tbl.grid td { border:1px solid var(--line); text-align:left; padding:8px 10px; }
.tbl.grid th { background:#fafafa; width:auto; }
.login form label { display:block; margin:10px 0; }
.login input { width:100%; max-width:360px; padding:9px 10px; border:1px solid var(--line); border-radius:4px; }
.err { color:var(--pri); }
.ok { color:#0a7d33; font-weight:700; }
.cdk { font-family:Consolas,monospace; color:var(--pri); }
.cdk.big { font-size:24px; letter-spacing:2px; background:#fff5f5; padding:8px 14px; display:inline-block; border-radius:4px; }
.ft { border-top:1px solid var(--line); background:#fff; padding:18px 0; color:#888; font-size:13px; text-align:center; }
