/* =========================================================================
   ATBC 2026 — Design tokens
   "Tropical modern": jungle greens, warm amber accent, light + dark themes.
   ========================================================================= */

:root {
  /* --- Brand scale: jungle green ------------------------------------- */
  --green-50:  #ecfdf5;
  --green-100: #d1fae5;
  --green-200: #a7f3d0;
  --green-300: #6ee7b7;
  --green-400: #34d399;
  --green-500: #10b981;
  --green-600: #0e9b73;
  --green-700: #0e7c66;
  --green-800: #115e4a;
  --green-900: #114635;
  --green-950: #0a2c20;

  /* --- Warm accent: amber / coral ----------------------------------- */
  --amber-400: #fbbf24;
  --amber-500: #f59e0b;
  --coral-500: #f0683c;
  --coral-600: #e0532a;

  /* --- Neutral (slightly green-tinted) ------------------------------ */
  --ink-950: #0b1410;
  --ink-900: #0f1a15;
  --ink-800: #13211a;
  --ink-700: #1d2c24;
  --ink-600: #33433a;
  --ink-500: #5b6b62;
  --ink-400: #8a9a90;
  --ink-300: #b9c6bd;
  --ink-200: #d8e2da;
  --ink-100: #eef3ef;
  --ink-50:  #f6faf6;
  --white:   #ffffff;

  /* --- Type ---------------------------------------------------------- */
  --font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI",
               Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-display: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: ui-monospace, "SF Mono", "JetBrains Mono", "Menlo", monospace;

  --fs-xs: .75rem;  --fs-sm: .8125rem; --fs-base: .9375rem; --fs-md: 1rem;
  --fs-lg: 1.125rem; --fs-xl: 1.375rem; --fs-2xl: 1.75rem; --fs-3xl: 2.25rem;
  --fs-4xl: 3rem;   --fs-5xl: 3.75rem;
  --lh-tight: 1.18; --lh-snug: 1.35; --lh-normal: 1.55;

  /* --- Spacing / radius / shadow ------------------------------------ */
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px; --sp-5: 20px;
  --sp-6: 24px; --sp-8: 32px; --sp-10: 40px; --sp-12: 48px; --sp-16: 64px;

  --r-xs: 6px; --r-sm: 9px; --r-md: 14px; --r-lg: 20px; --r-xl: 28px; --r-full: 999px;

  --shadow-xs: 0 1px 2px rgba(10, 44, 32, .06);
  --shadow-sm: 0 2px 8px rgba(10, 44, 32, .07);
  --shadow-md: 0 6px 20px rgba(10, 44, 32, .10);
  --shadow-lg: 0 16px 48px rgba(10, 44, 32, .16);
  --ring: 0 0 0 3px rgba(14, 124, 102, .28);

  --maxw: 1180px;
  --header-h: 64px;
  --transition: 160ms cubic-bezier(.2, .6, .2, 1);
}

/* ---------------------- LIGHT THEME (default) ----------------------- */
:root,
[data-theme="light"] {
  color-scheme: light;
  --bg:        #f3f8f3;
  --bg-grad-1: #eaf5ee;
  --bg-grad-2: #f7fbf6;
  --surface:   #ffffff;
  --surface-2: #f4f8f4;
  --surface-3: #eaf1ea;
  --text:      var(--ink-900);
  --text-soft: var(--ink-700);
  --muted:     var(--ink-500);
  --border:    #dde7df;
  --border-strong: #c7d6ca;
  --primary:   var(--green-700);
  --primary-hover: var(--green-800);
  --primary-ink: #ffffff;
  --primary-soft: var(--green-50);
  --accent:    var(--coral-600);
  --accent-soft: #fdeee7;
  --link:      var(--green-700);
  --grid-band: #eef4ee;
  --header-bg: rgba(255, 255, 255, .82);
  --chip-bg:   #eef4ef;
  --overlay:   rgba(11, 20, 16, .45);
}

/* ---------------------------- DARK THEME ---------------------------- */
[data-theme="dark"] {
  color-scheme: dark;
  --bg:        #0a130f;
  --bg-grad-1: #0c1812;
  --bg-grad-2: #08110d;
  --surface:   #11201a;
  --surface-2: #142720;
  --surface-3: #1b3328;
  --text:      #e7f0ea;
  --text-soft: #c2d2c8;
  --muted:     #8ba093;
  --border:    #21342b;
  --border-strong: #2c4538;
  --primary:   var(--green-400);
  --primary-hover: var(--green-300);
  --primary-ink: #06140e;
  --primary-soft: #112a20;
  --accent:    #ff8a5c;
  --accent-soft: #2a1810;
  --link:      var(--green-300);
  --grid-band: #0f1d16;
  --header-bg: rgba(10, 19, 15, .82);
  --chip-bg:   #16291f;
  --overlay:   rgba(0, 0, 0, .6);
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);
  --shadow-sm: 0 2px 10px rgba(0, 0, 0, .4);
  --shadow-md: 0 8px 26px rgba(0, 0, 0, .5);
  --shadow-lg: 0 20px 56px rgba(0, 0, 0, .6);
  --ring: 0 0 0 3px rgba(52, 211, 153, .3);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --bg: #0a130f; --bg-grad-1: #0c1812; --bg-grad-2: #08110d;
    --surface: #11201a; --surface-2: #142720; --surface-3: #1b3328;
    --text: #e7f0ea; --text-soft: #c2d2c8; --muted: #8ba093;
    --border: #21342b; --border-strong: #2c4538;
    --primary: var(--green-400); --primary-hover: var(--green-300);
    --primary-ink: #06140e; --primary-soft: #112a20;
    --accent: #ff8a5c; --accent-soft: #2a1810; --link: var(--green-300);
    --grid-band: #0f1d16; --header-bg: rgba(10, 19, 15, .82);
    --chip-bg: #16291f; --overlay: rgba(0, 0, 0, .6);
    --shadow-sm: 0 2px 10px rgba(0,0,0,.4); --shadow-md: 0 8px 26px rgba(0,0,0,.5);
    --shadow-lg: 0 20px 56px rgba(0,0,0,.6); --ring: 0 0 0 3px rgba(52,211,153,.3);
  }
}

/* Session-type accent colors (used for badges + grid stripes) */
:root {
  --t-oral:      #2563eb;
  --t-symposium: #0e7c66;
  --t-poster:    #d97706;
  --t-ofs:       #7c3aed;
  --t-workshop:  #db2777;
  --t-course:    #0891b2;
  --t-plenary:   var(--coral-600);
  --t-special:   #64748b;
}
