/* ============================================================
   Alma Mater · Vermilion — brand token + component layer
   Light + Dark. Tuned for the КРОК platform home/dashboard.
   ============================================================ */

@import url('https://fonts.cdnfonts.com/css/gilroy-bold');
@import url('https://fonts.googleapis.com/css2?family=Unbounded:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root {
  /* Brand — Vermilion. --accent is the live, tweakable hue. */
  --vermilion: #D94B33;
  --vermilion-deep: #A02C1B;
  --vermilion-soft: #F6D5CE;
  --accent: var(--vermilion);
  --accent-deep: var(--vermilion-deep);
  --accent-soft: var(--vermilion-soft);
  --accent-ink: #fff;            /* text on accent */
  --accent-glow: rgba(217, 75, 51, 0.26);

  /* Light · paper-first */
  --bg-page: #F2EBD9;
  --bg-card: #FCF7EC;
  --bg-elev: #FFFFFF;
  --bg-subtle: #E5DCC6;

  --fg-1: #1C1611;
  --fg-2: #3B3127;
  --fg-3: #6F665B;
  --fg-4: #9B9384;

  --rule: rgba(28, 22, 17, 0.14);
  --rule-strong: rgba(28, 22, 17, 0.26);

  --success: #4A8C49; --success-bg: #DEEBDB;
  --warning: #C68A2C; --warning-bg: #F4E4C9;
  --error:   #A02524; --error-bg:   #EFD2D2;
  --info:    #2D6E94; --info-bg:    #D2E1ED;

  --shadow-1: 0 1px 2px rgba(15, 14, 12, 0.06);
  --shadow-2: 0 8px 24px -10px rgba(15, 14, 12, 0.18);
  --shadow-glow: 0 14px 34px -12px var(--accent-glow);

  /* Tunable geometry (tweaks write these) */
  --radius: 18px;
  --radius-sm: 12px;
  --radius-pill: 999px;
  --gap: 16px;
  --pad: 24px;

  /* Type */
  --font-body: 'Gilroy', 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-head: 'Gilroy', 'Manrope', sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;

  /* Atlas decor opacity (0 = off). Tweaks scale this. */
  --atlas: 1;

  --sidebar-w: 248px;
  --bottomnav-h: 76px;
}

[data-theme="dark"] {
  --vermilion: #E85A42;
  --vermilion-deep: #B43A26;
  --vermilion-soft: rgba(232, 90, 66, 0.18);
  --accent-glow: rgba(232, 90, 66, 0.42);

  --bg-page: #0E0A07;
  --bg-card: #18120C;
  --bg-elev: #221A12;
  --bg-subtle: #2E2418;

  --fg-1: #F2EBD9;
  --fg-2: rgba(242, 235, 217, 0.85);
  --fg-3: rgba(242, 235, 217, 0.58);
  --fg-4: rgba(242, 235, 217, 0.40);

  --rule: rgba(242, 235, 217, 0.10);
  --rule-strong: rgba(242, 235, 217, 0.22);

  --success: #4EB36C; --success-bg: rgba(78, 179, 108, 0.16);
  --warning: #E89A45; --warning-bg: rgba(232, 154, 69, 0.16);
  --error:   #D44B4B; --error-bg:   rgba(212, 75, 75, 0.16);
  --info:    #5896C6; --info-bg:    rgba(88, 150, 198, 0.16);

  --shadow-1: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-2: 0 10px 30px -12px rgba(0, 0, 0, 0.6);
  --shadow-glow: 0 16px 40px -14px var(--accent-glow);
}

/* Біла тема · клінічна (затверджено 2026-09-27). Акцент і чорний — ті самі. */
[data-theme="white"] {
  --vermilion-soft: #FBE0DA;
  --bg-page: #F4F4F2;
  --bg-card: #FFFFFF;
  --bg-elev: #FFFFFF;
  --bg-subtle: #E9E9E6;
  --fg-1: #18171A;
  --fg-2: #35343A;
  --fg-3: #66656B;
  --fg-4: #98979C;
  --rule: rgba(24, 23, 26, 0.10);
  --rule-strong: rgba(24, 23, 26, 0.20);
  --success-bg: #E2EFE2; --warning-bg: #F7EBD7; --error-bg: #F6DDDC; --info-bg: #DDE8F2;
  --shadow-1: 0 1px 2px rgba(24, 23, 26, 0.05);
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--bg-page);
  color: var(--fg-1);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body { transition: background 0.3s ease, color 0.3s ease; }

/* ---- shared primitives ---------------------------------- */
.mono {
  font-family: var(--font-mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.eyebrow {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--fg-3);
  display: inline-flex;
  align-items: center;
  gap: 9px;
  white-space: nowrap;
}
.eyebrow .pip {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--accent);
}

h1, h2, h3 { font-family: var(--font-head); margin: 0; }

/* heading font swap (tweak) */
[data-head="unbounded"] h1,
[data-head="unbounded"] h2,
[data-head="unbounded"] h3,
[data-head="unbounded"] .display { font-family: 'Unbounded', sans-serif; letter-spacing: -0.02em; }

.display {
  font-family: var(--font-head);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.0;
}

.card {
  background: var(--bg-card);
  border: 1px solid var(--rule);
  border-radius: var(--radius);
  box-shadow: var(--shadow-1);
}

/* crosshair tick (atlas) */
.tick {
  position: absolute;
  width: 14px; height: 14px;
  opacity: calc(0.5 * var(--atlas));
  pointer-events: none;
}
.tick::before, .tick::after { content: ""; position: absolute; background: var(--fg-4); }
.tick::before { left: 50%; top: 0; bottom: 0; width: 1px; transform: translateX(-50%); }
.tick::after  { top: 50%; left: 0; right: 0; height: 1px; transform: translateY(-50%); }

/* anatomical annotation label (atlas) */
.annot {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fg-4);
  opacity: var(--atlas);
}
.annot::before { content: "→ "; color: var(--accent); }

/* scrollbar */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: var(--rule-strong); border-radius: 999px; border: 3px solid var(--bg-page); }
