/* Bauman PreDict — design tokens */
:root {
  /* LIGHT THEME — MGTU, softened */
  --bg: #F4F7FC;
  --bg-elev: #FFFFFF;
  --bg-soft: #E8EFFA;
  --card: #FFFFFF;
  --card-muted: #F0F4FB;
  --border: #DCE4F2;
  --border-strong: #C3D1E8;
  --text: #0E1B33;
  --text-muted: #56627A;
  --text-dim: #8691A8;

  --accent: #1E5BB8;           /* MGTU primary, softened */
  --accent-2: #3B7FD9;          /* brighter */
  --accent-soft: #DCE8FA;
  --accent-ink: #0E3D80;

  --success: #2E9E63;
  --success-soft: #DCF2E5;
  --warn: #D08A2A;
  --warn-soft: #FBEBD1;
  --danger: #CC3A47;
  --danger-soft: #FBDEE1;

  --gold: #D9A536;
  --silver: #A0AEC3;
  --bronze: #C07A3A;

  --shadow-sm: 0 1px 2px rgba(14, 27, 51, 0.04), 0 2px 6px rgba(14, 27, 51, 0.04);
  --shadow-md: 0 2px 6px rgba(14, 27, 51, 0.05), 0 8px 24px rgba(14, 27, 51, 0.06);
  --shadow-lg: 0 10px 40px rgba(14, 27, 51, 0.10);

  --r-sm: 10px;
  --r-md: 14px;
  --r-lg: 18px;
  --r-xl: 24px;
  --r-pill: 999px;
}

[data-theme="dark"] {
  --bg: #0E1B33;
  --bg-elev: #142444;
  --bg-soft: #1A2E54;
  --card: #18294A;
  --card-muted: #1F3561;
  --border: #263D67;
  --border-strong: #33558C;
  --text: #EAF0FB;
  --text-muted: #A4B4D0;
  --text-dim: #6E82A5;

  --accent: #6AA8E5;
  --accent-2: #8BBDEE;
  --accent-soft: #1F3561;
  --accent-ink: #BFD6F2;

  --success: #5BC98C;
  --success-soft: #1B3A2B;
  --warn: #E0A85A;
  --warn-soft: #3A2E18;
  --danger: #E86F7B;
  --danger-soft: #3A1B20;

  --shadow-sm: 0 1px 2px rgba(0,0,0,0.4);
  --shadow-md: 0 4px 14px rgba(0,0,0,0.35);
  --shadow-lg: 0 12px 36px rgba(0,0,0,0.45);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; font-family: 'Manrope', -apple-system, system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
body {
  background: #E6ECF5;
  color: var(--text);
  min-height: 100vh;
}
[data-theme="dark"] body, body[data-theme="dark"] { background: #081226; }

.font-display { font-family: 'Unbounded', 'Manrope', sans-serif; letter-spacing: -0.01em; }
.font-mono { font-family: 'JetBrains Mono', ui-monospace, monospace; }

/* Scrollbar styling inside phone */
.phone-scroll::-webkit-scrollbar { width: 0; height: 0; }
.phone-scroll { scrollbar-width: none; }

/* Utility animations */
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
.fade-up { animation: fadeUp 0.35s ease both; }

/* Focus */
button:focus-visible, [role="button"]:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
button { font-family: inherit; }
