@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&display=swap');
:root {
  --md-primary-fg-color: #4f46e5;
  --md-primary-fg-color--light: #6366f1;
  --md-primary-fg-color--dark: #3730a3;
  --md-accent-fg-color: #06b6d4;
}
[data-md-color-scheme="slate"] {
  --md-primary-fg-color: #6366f1;
  --md-accent-fg-color: #22d3ee;
  --md-default-bg-color: #0b1020;
  --md-default-bg-color--light: #11182f;
}
/* Gradient brand header + tabs */
.md-header { background: linear-gradient(90deg, #312e81 0%, #4f46e5 55%, #0891b2 100%); }
.md-tabs { background: rgba(15,18,40,.18); }
/* Display font + gradient H1 */
.md-typeset h1, .md-typeset h2, .md-typeset h3 {
  font-family: "Space Grotesk", var(--md-text-font-family, system-ui), sans-serif;
  font-weight: 700; letter-spacing: -.02em;
}
.md-typeset h1 {
  background: linear-gradient(90deg, var(--md-primary-fg-color), var(--md-accent-fg-color));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.md-typeset h2 { margin-top: 2rem; padding-bottom: .25rem;
  border-bottom: 2px solid var(--md-default-fg-color--lightest); }

/* Grid cards on the home page — uniform height regardless of title length */
.md-typeset .grid.cards > ul { align-items: stretch; }
.md-typeset .grid.cards > ul > li {
  border: 1px solid var(--md-default-fg-color--lightest);
  border-top: 3px solid var(--md-accent-fg-color);
  border-radius: 14px; padding: 1rem 1.2rem;
  display: flex; flex-direction: column;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.md-typeset .grid.cards > ul > li:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 26px rgba(0,0,0,.12);
  border-color: var(--md-accent-fg-color);
}
/* Reserve two lines for the title so 1- and 2-line cards align identically. */
.md-typeset .grid.cards > ul > li > :first-child { min-height: 2.7em; margin-bottom: 0; }
/* Push the button row to the bottom of every card. */
.md-typeset .grid.cards > ul > li > :last-child { margin-top: auto; padding-top: .4rem; }

/* Tables */
.md-typeset table:not([class]) {
  border-radius: 10px; overflow: hidden; border: none;
  box-shadow: 0 1px 4px rgba(0,0,0,.10);
}
.md-typeset table:not([class]) th {
  background: var(--md-primary-fg-color); color: #fff; font-weight: 600;
}
.md-typeset table:not([class]) tbody tr:nth-child(2n) td {
  background: var(--md-default-fg-color--lightest);
}
.md-typeset table:not([class]) tbody tr:hover td {
  background: var(--md-accent-fg-color--transparent);
}

/* Admonitions / callouts (rendered from [!info] etc. by mkdocs-callouts) */
.md-typeset .admonition, .md-typeset details {
  border-radius: 12px; border-width: 0 0 0 .25rem;
  box-shadow: 0 1px 4px rgba(0,0,0,.08);
}

/* Buttons + venue badges */
.md-typeset .md-button {
  border-radius: 999px; padding: .25rem .9rem; margin: .2rem .35rem .2rem 0;
  font-size: .72rem; border-width: 1.5px;
}
.md-typeset .venue {
  display: inline-block; padding: .1rem .5rem; border-radius: 6px;
  background: color-mix(in srgb, var(--md-accent-fg-color) 12%, transparent);
  color: var(--md-accent-fg-color);
  border: 1px solid color-mix(in srgb, var(--md-accent-fg-color) 30%, transparent);
  font-size: .7rem; font-weight: 600; white-space: nowrap; letter-spacing: .01em;
}
.md-typeset .venue-none { color: var(--md-default-fg-color--lighter); }
.md-typeset .reason { font-size: .78rem; color: var(--md-default-fg-color--light); font-style: italic; }
/* "Ask ChatGPT" follow-up button */
.md-typeset .md-button.chatgpt-btn {
  background: #10a37f; color: #fff; border-color: #10a37f; font-weight: 600;
}
.md-typeset .md-button.chatgpt-btn:hover,
.md-typeset .md-button.chatgpt-btn:focus {
  background: #0e8e6f; border-color: #0e8e6f; color: #fff;
}
/* "Ask Claude" follow-up button */
.md-typeset .md-button.claude-btn {
  background: #d97757; color: #fff; border-color: #d97757; font-weight: 600; margin-left: .4rem;
}
.md-typeset .md-button.claude-btn:hover,
.md-typeset .md-button.claude-btn:focus {
  background: #c4623f; border-color: #c4623f; color: #fff;
}
/* Tag chips (Material tags plugin) */
.md-typeset .md-tag {
  border-radius: 6px; font-size: .68rem; font-weight: 600;
  background: color-mix(in srgb, var(--md-primary-fg-color) 10%, transparent);
}
/* Keep Date + Venue columns tidy; let the Paper title take the room. */
.md-typeset table:not([class]) td:first-child { white-space: nowrap; color: var(--md-default-fg-color--light); font-variant-numeric: tabular-nums; }
.md-typeset table:not([class]) td:last-child { white-space: nowrap; text-align: right; }
.md-typeset .new-badge {
  display: inline-block; padding: .05rem .5rem; border-radius: 999px;
  background: #e8590c; color: #fff; font-size: .68rem; font-weight: 700;
}
