/* =====================================================================
   Project AB - design system
   Three themes, one variable set. Everything else reads from here.
   ===================================================================== */

:root {
  --r-sm: 8px;  --r-md: 14px;  --r-lg: 20px;  --r-xl: 28px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.18);
  --shadow-md: 0 8px 28px rgba(0,0,0,.22);
  --shadow-lg: 0 24px 60px rgba(0,0,0,.30);
  --ease: cubic-bezier(.32,.72,0,1);
  --sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --mono: 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, Consolas, monospace;
}

/* ---------------- DARK (default) ---------------- */
html[data-theme="dark"] {
  --bg:          #070a10;
  --bg-grad:     radial-gradient(1200px 600px at 15% -10%, #14203a 0%, transparent 60%),
                 radial-gradient(900px 500px at 90% 0%, #1a1030 0%, transparent 55%);
  --panel:       #0f141f;
  --panel-2:     #141b28;
  --panel-hi:    #1a2333;
  --border:      #1e2738;
  --border-soft: #182031;
  --text:        #e9edf5;
  --text-2:      #a8b2c7;
  --muted:       #6b7688;
  --accent:      #4d8dff;
  --accent-2:    #7b5cff;
  --accent-soft: rgba(77,141,255,.14);
  --up:          #16c784;
  --up-soft:     rgba(22,199,132,.13);
  --down:        #f6465d;
  --down-soft:   rgba(246,70,93,.13);
  --warn:        #f0b90b;
  --warn-soft:   rgba(240,185,11,.13);
  --grid:        rgba(255,255,255,.045);
  --glass:       rgba(255,255,255,.03);
}

/* ---------------- LIGHT ---------------- */
html[data-theme="light"] {
  --bg:          #f3f5fa;
  --bg-grad:     radial-gradient(1200px 600px at 15% -10%, #dfe8ff 0%, transparent 60%),
                 radial-gradient(900px 500px at 90% 0%, #eae2ff 0%, transparent 55%);
  --panel:       #ffffff;
  --panel-2:     #f8fafd;
  --panel-hi:    #eef2f9;
  --border:      #e2e8f2;
  --border-soft: #edf1f7;
  --text:        #0d1526;
  --text-2:      #3f4a63;
  --muted:       #78839a;
  --accent:      #2563eb;
  --accent-2:    #6d3fe0;
  --accent-soft: rgba(37,99,235,.10);
  --up:          #0ea36b;
  --up-soft:     rgba(14,163,107,.11);
  --down:        #dc2649;
  --down-soft:   rgba(220,38,73,.10);
  --warn:        #c98a05;
  --warn-soft:   rgba(201,138,5,.12);
  --grid:        rgba(13,21,38,.05);
  --glass:       rgba(13,21,38,.02);
  --shadow-md:   0 8px 28px rgba(20,35,80,.08);
  --shadow-lg:   0 24px 60px rgba(20,35,80,.12);
}

/* ---------------- PINK ---------------- */
html[data-theme="pink"] {
  --bg:          #fff4f9;
  --bg-grad:     radial-gradient(1200px 600px at 15% -10%, #ffdcec 0%, transparent 60%),
                 radial-gradient(900px 500px at 90% 0%, #ffe6f3 0%, transparent 55%);
  --panel:       #ffffff;
  --panel-2:     #fff8fb;
  --panel-hi:    #ffeaf3;
  --border:      #ffd6e7;
  --border-soft: #ffe6f0;
  --text:        #3d0f26;
  --text-2:      #7a3454;
  --muted:       #b0708c;
  --accent:      #ff2d7a;
  --accent-2:    #c840ff;
  --accent-soft: rgba(255,45,122,.10);
  --up:          #10a37f;
  --up-soft:     rgba(16,163,127,.12);
  --down:        #e5194b;
  --down-soft:   rgba(229,25,75,.10);
  --warn:        #d98600;
  --warn-soft:   rgba(217,134,0,.13);
  --grid:        rgba(61,15,38,.055);
  --glass:       rgba(255,45,122,.025);
  --shadow-md:   0 8px 28px rgba(180,40,100,.10);
  --shadow-lg:   0 24px 60px rgba(180,40,100,.14);
}

/* ===================== base ===================== */
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: var(--sans);
  background: var(--bg);
  background-image: var(--bg-grad);
  background-attachment: fixed;
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  font-feature-settings: 'tnum' 1, 'cv01' 1;
  transition: background-color .45s var(--ease), color .3s var(--ease);
}
a { color: var(--accent); text-decoration: none; }
::selection { background: var(--accent-soft); }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 20px; border: 3px solid transparent; background-clip: content-box; }
::-webkit-scrollbar-thumb:hover { background: var(--muted); background-clip: content-box; }

.mono { font-family: var(--mono); font-variant-numeric: tabular-nums; }
.up { color: var(--up); }
.down { color: var(--down); }
.muted { color: var(--muted); }
.t2 { color: var(--text-2); }
