/* ═══════ 星才科技 Design System — 产品页共享样式 ═══════ */
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600&family=Geist+Mono:wght@400;500&display=swap');

:root {
  --bg-deep: #08090a; --bg-panel: #0f1011; --bg-surface: #161b22; --bg-elevated: #1c2128;
  --text-primary: #f0f2f5; --text-secondary: #b0b8c4; --text-tertiary: #6e7681; --text-muted: #444c56;
  --accent-blue: #539bf5; --accent-green: #3fb950; --accent-amber: #d29922; --accent-red: #f85149;
  --accent-purple: #986ee2; --accent-gold: #e3b341;
  --border-subtle: rgba(255,255,255,0.06); --border-standard: rgba(255,255,255,0.10); --border-emphasis: rgba(255,255,255,0.16);
  --shadow-card: 0 1px 0 rgba(255,255,255,0.04), 0 4px 12px rgba(0,0,0,0.3);
  --radius-sm: 6px; --radius-md: 8px; --radius-lg: 12px; --radius-xl: 16px;
  --font-sans: 'Geist','PingFang SC','Microsoft YaHei',system-ui,sans-serif;
  --font-mono: 'Geist Mono','SF Mono',monospace;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:var(--font-sans); background:var(--bg-deep); color:var(--text-primary); line-height:1.6; -webkit-font-smoothing:antialiased; }
.container { max-width:1000px; margin:0 auto; padding:24px; }

/* Nav */
.nav { position:sticky; top:0; z-index:100; background:rgba(8,9,10,0.85); backdrop-filter:blur(20px); border-bottom:1px solid var(--border-subtle); }
.nav-inner { max-width:1000px; margin:0 auto; padding:0 24px; height:56px; display:flex; align-items:center; justify-content:space-between; }
.nav-brand { font-size:16px; font-weight:600; color:var(--text-primary); text-decoration:none; display:flex; align-items:center; gap:8px; }
.nav-brand .dot { width:8px; height:8px; border-radius:50%; background:var(--accent-gold); }
.nav-link { font-size:14px; font-weight:500; color:var(--text-tertiary); text-decoration:none; transition:color 0.2s; }
.nav-link:hover,.nav-link.active { color:var(--text-primary); }

/* Hero area */
.page-hero { text-align:center; padding:48px 0 32px; }
.page-hero .icon { font-size:36px; margin-bottom:12px; }
.page-hero h1 { font-size:36px; font-weight:600; letter-spacing:-0.72px; }
.page-hero .sub { font-size:15px; color:var(--text-secondary); margin-top:8px; }

/* Score block */
.score-block { background:var(--bg-surface); border:1px solid var(--border-standard); border-radius:var(--radius-lg); padding:32px; text-align:center; margin:24px 0; }
.score-num { font-size:64px; font-weight:700; letter-spacing:-1.5px; }
.score-label { font-size:15px; color:var(--text-secondary); margin-top:8px; }
.score-detail { font-size:13px; color:var(--text-tertiary); margin-top:4px; }

/* Section */
.section { margin:32px 0; }
.section h2 { font-size:22px; font-weight:600; letter-spacing:-0.44px; margin-bottom:16px; padding-left:12px; border-left:2px solid var(--accent-blue); }
.section h3 { font-size:18px; font-weight:600; margin-bottom:12px; }

/* Cards / items */
.check-item,.skill-card,.domain-card { background:var(--bg-surface); border:1px solid var(--border-subtle); border-radius:var(--radius-md); padding:20px; margin:10px 0; display:flex; gap:14px; align-items:flex-start; transition:border-color 0.2s; }
.check-item:hover,.skill-card:hover,.domain-card:hover { border-color:var(--border-standard); }
.check-item .icon { font-size:20px; min-width:28px; }
.check-item .content { flex:1; }
.check-item .title { font-weight:600; font-size:15px; margin-bottom:4px; }
.check-item .desc { font-size:13px; color:var(--text-secondary); line-height:1.5; }

/* Paper ref */
.paper-ref { background:var(--bg-elevated); border:1px solid var(--border-subtle); border-radius:var(--radius-sm); padding:14px 16px; margin:8px 0; }
.paper-ref .arxiv { font-family:var(--font-mono); font-size:12px; color:var(--accent-blue); margin-bottom:4px; }
.paper-ref .title { font-weight:600; font-size:14px; margin-bottom:4px; }
.paper-ref .snippet { font-size:13px; color:var(--text-secondary); }

/* Table */
.table-wrap { overflow-x:auto; margin:16px 0; }
table { width:100%; border-collapse:collapse; font-size:13px; }
th,td { padding:8px 12px; text-align:left; border-bottom:1px solid var(--border-subtle); }
th { font-weight:600; color:var(--text-tertiary); font-size:12px; text-transform:uppercase; letter-spacing:0.3px; }
td { color:var(--text-secondary); }
.pass { color:var(--accent-green); font-weight:600; }
.fail { color:var(--accent-red); font-weight:600; }

/* Bar */
.bar-bg { background:rgba(255,255,255,0.06); border-radius:3px; height:6px; margin:6px 0; overflow:hidden; }
.bar-fill { height:100%; border-radius:3px; transition:width 0.5s; }

/* CTA */
.cta { background:linear-gradient(135deg, rgba(83,155,245,0.12), rgba(152,110,226,0.12)); border:1px solid var(--border-standard); border-radius:var(--radius-lg); padding:36px; text-align:center; margin:40px 0; }
.cta h3 { font-size:20px; font-weight:600; margin-bottom:8px; }
.cta p { font-size:14px; color:var(--text-secondary); margin-bottom:20px; }
.cta .btn { display:inline-block; background:var(--accent-blue); color:#fff; padding:12px 28px; border-radius:var(--radius-sm); font-size:14px; font-weight:600; text-decoration:none; transition:background 0.2s; }
.cta .btn:hover { background:#6aabff; }
.cta .contact { font-size:13px; color:var(--text-tertiary); margin-top:14px; }

/* Footer */
.footer { text-align:center; padding:32px 0; border-top:1px solid var(--border-subtle); margin-top:48px; }
.footer p { font-size:12px; color:var(--text-muted); }

/* Progress */
.progress-wrap { background:var(--bg-surface); border:1px solid var(--border-standard); border-radius:var(--radius-lg); padding:20px; margin:24px 0; }
.progress-bar { background:rgba(255,255,255,0.06); border-radius:8px; height:8px; overflow:hidden; }
.progress-fill { height:100%; border-radius:8px; transition:width 0.4s; background:linear-gradient(90deg,var(--accent-red),var(--accent-amber),var(--accent-green)); }
.progress-label { font-size:13px; color:var(--text-tertiary); margin-top:8px; }

/* Domain card */
.domain-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.domain-name { font-size:16px; font-weight:600; }
.domain-body p { margin:6px 0; font-size:13px; color:var(--text-secondary); }
.domain-body strong { color:var(--accent-blue); font-weight:500; }
.domain-check { display:flex; align-items:center; gap:8px; margin-top:12px; font-size:13px; color:var(--text-tertiary); cursor:pointer; }
.domain-check input[type="checkbox"] { width:16px; height:16px; accent-color:var(--accent-green); cursor:pointer; }

/* Radar */
.radar-wrap { text-align:center; margin:32px 0; }
.radar-wrap canvas { max-width:460px; width:100%; }
.legend { display:flex; justify-content:center; gap:16px; flex-wrap:wrap; margin-top:12px; }
.legend-item { display:flex; align-items:center; gap:6px; font-size:13px; }
.legend-dot { width:10px; height:10px; border-radius:50%; }

@media (max-width:640px) {
  .page-hero h1 { font-size:28px; }
  .score-num { font-size:48px; }
}
