/* ============================================
   LINEAR MINIMAL — Apple / Linear Aesthetic
   Clean Borders · Indigo Accent · Inter
   ============================================ */

:root {
    /* --- Typography --- */
    --font-display: 'Inter', 'Segoe UI', 'Noto Sans SC', sans-serif;
    --font-body: 'Inter', 'Segoe UI', 'Noto Sans SC', sans-serif;
    --font-mono: 'JetBrains Mono', 'SF Mono', 'Consolas', monospace;

    /* --- Surfaces (light — 纯中性灰，零紫偏色) --- */
    --bg: #f5f5f7;
    --surface: #ffffff;
    --surface-hero: #EFF6FF;
    --surface-elevated: #F7F8FA;
    --surface-recessed: #eaeaec;

    /* --- Borders --- */
    --border: rgba(0, 0, 0, 0.08);
    --border-bright: rgba(0, 0, 0, 0.15);
    --border-accent: rgba(37, 99, 235, 0.35);
    --border-accent-soft: rgba(37, 99, 235, 0.5);
    --border-danger: rgba(224, 62, 62, 0.2);
    --border-p0: rgba(224, 62, 62, 0.25);
    --border-p1: rgba(37, 99, 235, 0.25);
    --border-p2: rgba(46, 160, 67, 0.2);
    --border-muted: rgba(142, 142, 160, 0.15);

    /* --- Text --- */
    --text: #1a1a2e;
    --text-dim: #5c5c7a;
    --text-muted: #8e8ea0;

    /* --- Accent: Steel Blue --- */
    --gold: #2563eb;
    --gold-bright: #3b82f6;
    --gold-dim: rgba(37, 99, 235, 0.10);

    /* --- Semantic --- */
    --green: #2ea043;
    --green-bg: rgba(46, 160, 67, 0.08);
    --red: #e03e3e;
    --red-bg: rgba(224, 62, 62, 0.06);
    --blue: #5e6ad2;
    --blue-bg: rgba(37, 99, 235, 0.06);
    --orange: #d4702a;

    /* --- Sentiment --- */
    --sentiment-strong-positive: #2ea043;
    --sentiment-positive: #4caf50;
    --sentiment-neutral: #8e8ea0;
    --sentiment-negative: #e03e3e;
    --sentiment-strong-negative: #c62828;

    /* --- Priority --- */
    --priority-p0: #e03e3e;
    --priority-p1: #5e6ad2;
    --priority-p2: #2ea043;

    /* --- Spacing --- */
    --sp-xs: 0.25rem;
    --sp-sm: 0.5rem;
    --sp-md: 1rem;
    --sp-lg: 1.5rem;
    --sp-xl: 2rem;
    --sp-2xl: 3rem;
    --sp-3xl: 4rem;

    /* --- Theme-specific helpers (light) --- */
    --surface-alt: rgba(0, 0, 0, 0.02);
    --surface-inset: rgba(0, 0, 0, 0.03);
    --surface-hover-subtle: rgba(0, 0, 0, 0.02);
    --surface-hover: rgba(0, 0, 0, 0.04);
    --surface-badge-muted: rgba(142, 142, 160, 0.10);
}

/* ============================================
   4-LAYER DEPTH SYSTEM (light glass)
   ============================================ */
.depth-hero {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.6) 60%);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.7);
    box-shadow:
        0 8px 32px rgba(37, 99, 235, 0.06),
        0 2px 8px rgba(0, 0, 0, 0.03),
        inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.depth-elevated {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.6);
    box-shadow:
        0 4px 16px rgba(0, 0, 0, 0.04),
        inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.depth-default {
    background: rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.5);
}

.depth-recessed {
    background: var(--surface-recessed);
    border: 1px solid var(--border);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.04);
}

/* ============================================
   AMBIENT — Near-zero, ultra-clean
   ============================================ */
body::before {
    content: '';
    position: fixed;
    inset: 0;
    background:
        radial-gradient(ellipse at 15% 20%, rgba(37, 99, 235, 0.008) 0%, transparent 50%),
        radial-gradient(ellipse at 85% 80%, rgba(37, 99, 235, 0.005) 0%, transparent 45%);
    pointer-events: none;
    z-index: 0;
}

/* ============================================
   HEADER — Transparent, blends into page
   ============================================ */
.header {
    background: transparent;
    border-bottom-color: var(--border);
}

.header::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 80px;
    height: 3px;
    background: var(--gold);
}

/* ============================================
   KPI STRIP — Indigo tinted gap borders + first card highlight
   ============================================ */
.kpi-strip {
    background: rgba(37, 99, 235, 0.06);
}

.kpi-card:first-child {
    background: var(--surface-hero);
}

.kpi-card:first-child::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--gold);
}

/* ============================================
   JUDGEMENT PANEL — Circular indigo decoration
   ============================================ */
.judgement-panel::after {
    content: '';
    position: absolute;
    right: -100px;
    top: -100px;
    width: 240px;
    height: 240px;
    border: 1px solid rgba(37, 99, 235, 0.08);
    border-radius: 50%;
    transform: rotate(15deg);
    pointer-events: none;
}

/* ============================================
   PERSONA CARD — Indigo radial decoration
   ============================================ */
.persona-card::before {
    content: '';
    position: absolute;
    top: 0; right: 0;
    width: 80px; height: 80px;
    background: radial-gradient(circle at corner, var(--gold) 0%, transparent 70%);
    opacity: 0.04;
}
