/* ═══════════════════════════════════════════════
   Theme v3 — Light Tech Design System
   ═══════════════════════════════════════════════ */

:root {
  /* 背景 — 干净白/微灰 */
  --bg:        #ffffff;
  --bg-alt:    #f8fafc;
  --surface:   #f1f5f9;
  --card:      #ffffff;
  --card-hover:#f8fafc;

  /* 边框 */
  --border:       #e2e8f0;
  --border-light: #cbd5e1;
  --border-focus: #3b82f6;

  /* 文字 */
  --text:          #0f172a;
  --text-secondary:#475569;
  --text-muted:    #94a3b8;

  /* 品牌 — 科技蓝 + 紫点缀 */
  --brand:       #2563eb;
  --brand-hover: #1d4ed8;
  --brand-light: #dbeafe;
  --brand-glow:  rgba(37,99,235,.12);
  --accent:      #7c3aed;
  --accent-light:#ede9fe;
  --accent-glow: rgba(124,58,237,.1);

  /* 渐变 */
  --gradient-brand: linear-gradient(135deg, #2563eb, #7c3aed);
  --gradient-subtle: linear-gradient(135deg, #f0f9ff, #faf5ff);
  --gradient-mesh: linear-gradient(135deg, rgba(37,99,235,.04) 0%, rgba(124,58,237,.04) 50%, rgba(6,182,212,.04) 100%);

  /* 语义 */
  --success:     #10b981;
  --success-bg:  #ecfdf5;
  --warning:     #f59e0b;
  --warning-bg:  #fffbeb;
  --error:       #ef4444;
  --error-bg:    #fef2f2;

  /* 排版 */
  --font: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-mono: "JetBrains Mono", "SF Mono", monospace;

  /* 圆角 */
  --radius-sm: 8px;
  --radius:    12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 999px;

  /* 阴影 — 精致微影 */
  --shadow-sm: 0 1px 2px rgba(0,0,0,.04), 0 1px 3px rgba(0,0,0,.06);
  --shadow:    0 4px 6px rgba(0,0,0,.04), 0 10px 20px rgba(0,0,0,.04);
  --shadow-lg: 0 10px 25px rgba(0,0,0,.06), 0 20px 50px rgba(0,0,0,.04);
  --shadow-brand: 0 4px 14px rgba(37,99,235,.15), 0 10px 30px rgba(37,99,235,.1);

  /* 过渡 */
  --ease:     .2s cubic-bezier(.4,0,.2,1);
  --ease-out: .4s cubic-bezier(0,0,.2,1);
  --ease-spring: .5s cubic-bezier(.175,.885,.32,1.275);
}

/* ── Reset ── */
*,*::before,*::after{ margin:0; padding:0; box-sizing:border-box }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100% }

body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
  overflow-x:hidden;
}

a{ color:inherit; text-decoration:none }
img,svg{ display:block; max-width:100% }

h1,h2,h3,h4{
  line-height:1.1; letter-spacing:-.03em; font-weight:700;
}
::selection{ background:rgba(37,99,235,.15); color:var(--text) }

/* ── 渐变文字 ── */
.gradient-text{
  background:var(--gradient-brand);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* ── 滚动条 ── */
::-webkit-scrollbar{ width:6px; height:6px }
::-webkit-scrollbar-track{ background:transparent }
::-webkit-scrollbar-thumb{ background:#cbd5e1; border-radius:3px }
::-webkit-scrollbar-thumb:hover{ background:#94a3b8 }