:root{
  --navy:#1a1d21; --primary:#1a1d21; --primary-dark:#000;
  --light:#f2f4f7; --border:#e7e9ee; --green:#26A25E; --yellow:#FFC107; --red:#e5484d;
  --grad:linear-gradient(180deg,#2a2e33,#1a1d21);
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:#f6f7f9}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;background:#f6f7f9;color:#1f2329;font-size:14px;line-height:1.5}
a{color:var(--primary);text-decoration:none}
a:hover{color:var(--primary-dark)}

/* 导航 */
.navbar{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}
.navbar-inner{max-width:1140px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;justify-content:space-between}
.brand{font-size:20px;font-weight:800;color:var(--navy)}
.nav-links{display:flex;gap:20px;align-items:center;margin-left:auto}
.nav-links a{color:var(--navy);font-weight:600;font-size:14px}
.nav-links a:hover{color:var(--primary)}
.nav-links a.active{color:var(--primary)}
.login-only{display:none}
html.is-logged .auth-only{display:none}
html.is-logged .login-only{display:inline-flex}
.bal-pill{background:var(--light);color:var(--primary-dark);padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;width:132px;text-align:center;white-space:nowrap;overflow:hidden;flex-shrink:0;box-sizing:border-box}
.logout{color:var(--navy);font-size:13px;font-weight:600;cursor:pointer}

/* 主视觉 */
.hero{background:var(--grad);color:#fff;text-align:center;padding:44px 16px}
.hero h1{font-size:26px;font-weight:800;letter-spacing:.5px}
.hero p{margin-top:8px;font-size:15px;opacity:.95}
.login-hero{background:var(--grad);color:#fff;text-align:center;padding:52px 16px 30px}
.login-hero h1{font-size:30px;font-weight:800;letter-spacing:.5px}
.login-hero p{margin-top:8px;font-size:15px;opacity:.95}

/* 登录卡片 */
.login-card{max-width:420px;margin:-6px auto 0;background:#fff;border:1px solid var(--border);border-radius:14px;padding:28px 26px;box-shadow:0 6px 20px rgba(12,48,91,.08)}
.login-card h2{font-size:18px;color:var(--navy);margin-bottom:20px;text-align:center}

.container{max-width:1140px;margin:0 auto;padding:24px 16px 40px}
.card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:16px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.card h2{font-size:16px;color:var(--navy);margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}

.field{margin-bottom:14px}
label{display:block;font-size:13px;color:#556;margin-bottom:6px;font-weight:600}
input,select,textarea{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:9px;font-size:14px;outline:none;background:#fff;font-family:inherit}
input:focus{border-color:var(--primary)}
.forgot{display:block;text-align:right;font-size:12px;margin:-6px 0 14px}

.btn{background:var(--grad);color:#fff;border:none;border-radius:9px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer}
.btn:hover{filter:brightness(1.05)}
.btn.ghost{background:#f0f4fa;color:var(--navy)}
.btn.block{width:100%;padding:12px;font-size:15px;font-weight:700}
.btn:disabled{opacity:.5;cursor:not-allowed}

.hint{text-align:center;margin-top:16px;font-size:13px;color:#556}
.msg{margin-top:12px;text-align:center;font-size:12px;color:var(--green);min-height:16px}
.msg.err{color:var(--red)}

/* 平台 tab */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.tab{padding:7px 15px;border-radius:20px;border:1px solid var(--border);background:#fff;color:var(--navy);cursor:pointer;font-size:13px;font-weight:600;white-space:nowrap}
.tab.active{background:var(--grad);color:#fff;border-color:var(--primary)}
.searchrow{margin-bottom:14px}

/* 服务列表 */
.svc-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:4px}
.svc{border:1px solid var(--border);border-radius:10px;padding:11px 13px;cursor:pointer;display:flex;justify-content:space-between;gap:10px;align-items:flex-start;transition:.15s}
.svc:hover{border-color:var(--primary);background:#f7fbff}
.svc.sel{border-color:var(--primary);background:var(--light)}
.svc .nm{font-size:13px;font-weight:600;line-height:1.4;flex:1}
.svc .meta{font-size:11px;color:#8a8f99;margin-top:3px}
.svc .pr{text-align:right;white-space:nowrap}
.svc .pr b{color:var(--primary);font-size:17px;font-weight:800}
.svc .pr small{display:inline;color:#8a8f99;font-size:12px;margin-left:2px;font-weight:500}

.grid{display:grid;grid-template-columns:1fr 380px;gap:20px}
@media(max-width:900px){.grid{grid-template-columns:1fr}}
.price-big{font-size:26px;font-weight:800;color:var(--primary)}
.muted{color:#8a8f99;font-size:12px}

table{width:100%;border-collapse:collapse;font-size:12px}
th,td{padding:8px 6px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}
th{color:var(--navy);background:#f7faff}
.tag{display:inline-block;padding:2px 9px;border-radius:10px;font-size:11px;background:var(--light);color:var(--primary-dark)}
.tag.done{background:#e6f7e6;color:#1a7f37}.tag.fail{background:#fdeeee;color:#d93025}.tag.run{background:#fff4e5;color:#b26a00}

.why{text-align:center;padding:36px 16px;background:#fff;border:1px solid var(--border);border-radius:12px;margin-bottom:20px}
.why h2{color:var(--navy);font-size:18px}
.why p{margin-top:10px;font-size:16px;color:#333}
footer{text-align:center;color:#8a8f99;font-size:12px;padding:20px 16px}

/* 服务页：分类侧栏 */
.svc-layout{display:grid;grid-template-columns:240px 1fr;gap:20px}
@media(max-width:820px){.svc-layout{grid-template-columns:1fr}}
.cat-side{background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px;overflow-y:auto}
.cat-side .cat{padding:8px 12px;border-radius:8px;cursor:pointer;font-size:13px;color:#334;display:flex;justify-content:space-between;align-items:center}
.cat-side .cat:hover{background:var(--light)}
.cat-side .cat.active{background:var(--grad);color:#fff}
.cat-side .cat .cnt{font-size:11px;opacity:.7}

/* API 文档 */
.api-block{margin-bottom:22px}
.api-block h3{color:var(--navy);font-size:15px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.api-block pre{background:#0d1420;color:#d9e2ef;padding:14px;border-radius:10px;font-size:12px;overflow-x:auto;line-height:1.5;margin-top:8px}
.kv{display:grid;grid-template-columns:180px 1fr;gap:4px 12px;font-size:13px;margin:8px 0}
.kv .k{color:var(--navy);font-weight:600}
.terms-text{font-size:13px;color:#334;line-height:1.8}
.terms-text h3{color:var(--navy);margin:16px 0 6px;font-size:14px}

/* 长列表渲染优化：只渲染可视区域，滚动更顺 */
.svc, .goods { content-visibility: auto; contain-intrinsic-size: 76px; }
