/* ========================================
   HTTPOST - Base Styles & Theme Variables
   ======================================== */

/* --- Google Fonts --- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* --- CSS Reset --- */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  line-height: 1.6;
  transition: background-color 0.3s ease, color 0.3s ease;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  max-width: 100%;
  display: block;
}

button {
  cursor: pointer;
  font-family: inherit;
  border: none;
  outline: none;
}

ul, ol {
  list-style: none;
}

/* ========================================
   Theme: Light Mode (信任色系 - 蓝)
   ======================================== */
:root {
  /* Background */
  --bg-primary: #F8FAFC;
  --bg-secondary: #FFFFFF;
  --bg-tertiary: #F1F5F9;
  --bg-card: #FFFFFF;
  --bg-hero: linear-gradient(135deg, #1E3A5F 0%, #2563EB 50%, #3B82F6 100%);

  /* Text */
  --text-primary: #0F172A;
  --text-secondary: #475569;
  --text-tertiary: #94A3B8;
  --text-inverse: #FFFFFF;
  --text-muted: #CBD5E1;

  /* Accent */
  --accent-primary: #2563EB;
  --accent-primary-hover: #1D4ED8;
  --accent-secondary: #3B82F6;
  --accent-glow: rgba(37, 99, 235, 0.2);

  /* Semantic */
  --success: #10B981;
  --warning: #F59E0B;
  --danger: #EF4444;
  --info: #06B6D4;

  /* Border & Shadow */
  --border-light: #E2E8F0;
  --border-medium: #CBD5E1;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
  --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
  --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.1), 0 10px 10px -5px rgba(0,0,0,0.04);

  /* Radius */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 9999px;

  /* Header */
  --header-bg: rgba(255, 255, 255, 0.85);
  --header-blur: 12px;
  --header-border: rgba(226, 232, 240, 0.6);

  /* Pricing card */
  --pricing-card-bg: #FFFFFF;
  --pricing-card-border: #E2E8F0;
  --pricing-badge-bg: #FEF2F2;
  --pricing-badge-text: #DC2626;

  /* Compare table */
  --compare-header-bg: #F1F5F9;
  --compare-row-bg: #FFFFFF;
  --compare-row-alt: #F8FAFC;
  --compare-highlight-bg: #EFF6FF;
  --compare-highlight-border: #BFDBFE;

  /* FAQ */
  --faq-bg: #FFFFFF;
  --faq-border: #E2E8F0;
  --faq-hover-bg: #F8FAFC;
  --faq-active-bg: #EFF6FF;

  /* Contact */
  --contact-bg: linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 100%);
  --contact-border: #BFDBFE;

  /* Price display */
  --price-original: #94A3B8;
  --price-current: #2563EB;
  --price-promo: #DC2626;

  /* Transition */
  --transition-fast: 0.15s ease;
  --transition-base: 0.3s ease;
  --transition-slow: 0.5s ease;
}

/* ========================================
   Theme: Dark Mode (活力色系 - 紫/青渐变)
   ======================================== */
[data-theme="dark"] {
  --bg-primary: #0B1121;
  --bg-secondary: #111827;
  --bg-tertiary: #1E293B;
  --bg-card: #1E293B;
  --bg-hero: linear-gradient(135deg, #1A0533 0%, #4C1D95 30%, #7C3AED 60%, #06B6D4 100%);

  --text-primary: #F1F5F9;
  --text-secondary: #94A3B8;
  --text-tertiary: #64748B;
  --text-inverse: #FFFFFF;
  --text-muted: #475569;

  --accent-primary: #8B5CF6;
  --accent-primary-hover: #7C3AED;
  --accent-secondary: #06B6D4;
  --accent-glow: rgba(139, 92, 246, 0.25);

  --border-light: #1E293B;
  --border-medium: #334155;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.3);
  --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.4), 0 2px 4px -1px rgba(0,0,0,0.3);
  --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.4), 0 4px 6px -2px rgba(0,0,0,0.3);
  --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.5), 0 10px 10px -5px rgba(0,0,0,0.3);

  --header-bg: rgba(17, 24, 39, 0.85);
  --header-border: rgba(51, 65, 85, 0.6);

  --pricing-card-bg: #1E293B;
  --pricing-card-border: #334155;
  --pricing-badge-bg: #3B0A0A;
  --pricing-badge-text: #FCA5A5;

  --compare-header-bg: #1E293B;
  --compare-row-bg: #111827;
  --compare-row-alt: #1E293B;
  --compare-highlight-bg: #1A1040;
  --compare-highlight-border: #7C3AED;

  --faq-bg: #1E293B;
  --faq-border: #334155;
  --faq-hover-bg: #1E293B;
  --faq-active-bg: #1A1040;

  --contact-bg: linear-gradient(135deg, #1A1040 0%, #1E1B4B 100%);
  --contact-border: #7C3AED;

  --price-original: #64748B;
  --price-current: #8B5CF6;
  --price-promo: #FCA5A5;
}

/* --- Base Typography --- */
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  line-height: 1.2;
  color: var(--text-primary);
}

p {
  color: var(--text-secondary);
}

code {
  font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
  background: var(--bg-tertiary);
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  font-size: 0.875em;
  color: var(--accent-primary);
}

/* --- Focus styles for accessibility --- */
:focus-visible {
  outline: 2px solid var(--accent-primary);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}
