/*
 * Frogge Docs custom theme.
 *
 * Keeps Material's stock "green" primary (set in mkdocs.yml), paired with a
 * custom aether-violet accent (a nod to FFXIV's magic/aetheryte imagery)
 * on warmer neutrals than Material's default stark white / cool slate.
 * Discord-brand colors used elsewhere (buttons, the /command pill) are
 * intentionally untouched: those represent real Discord UI, not site
 * branding, and shouldn't shift with it.
 */

/* ---------- Palette: accent (aether violet) ---------- */

[data-md-color-scheme="slate"][data-md-color-accent="custom"] {
    --md-accent-fg-color: #8b5cf6;
    --md-accent-fg-color--transparent: #8b5cf626;
    --md-accent-bg-color: #1a1a1a;
    --md-accent-bg-color--light: #1a1a1a;
}

[data-md-color-scheme="default"][data-md-color-accent="custom"] {
    --md-accent-fg-color: #6d28d9;
    --md-accent-fg-color--transparent: #6d28d91f;
    --md-accent-bg-color: #ffffff;
    --md-accent-bg-color--light: #ffffff;
}

/* ---------- Base neutrals: warmer than stock white/slate ---------- */

[data-md-color-scheme="default"] {
    --md-default-bg-color: #fbfaf6;
    --md-default-fg-color: #1c1e1a;
    --md-default-fg-color--light: #45483f;
    --md-default-fg-color--lighter: #6d7166;
    --md-footer-bg-color: #16241c;
    --md-footer-bg-color--dark: #101a14;
}

[data-md-color-scheme="slate"] {
    --md-default-bg-color: #14181a;
    --md-default-fg-color: #dce3dc;
    --md-default-fg-color--light: #a9b3a7;
    --md-default-fg-color--lighter: #7c867b;
    --md-typeset-color: #cbd3c9;
    --md-code-bg-color: #1b2120;
    --md-code-fg-color: #c6ccc4;
}

/* ---------- Typography ---------- */

.md-typeset h1 {
    font-weight: 800;
    letter-spacing: -0.015em;
    text-wrap: balance;
}

.md-typeset h2 {
    font-weight: 700;
    letter-spacing: -0.01em;
    margin-top: 1.8em;
}

.md-typeset h3 {
    font-weight: 700;
}

.md-typeset a {
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    transition: color 0.15s ease;
}

.md-typeset p,
.md-typeset li {
    line-height: 1.65;
}

/* ---------- Admonitions & details: softer, less "stock Material box" ---------- */

.md-typeset .admonition,
.md-typeset details {
    border-radius: 10px;
    border-width: 1px;
    box-shadow: 0 6px 20px -14px rgba(0, 0, 0, 0.35);
    overflow: hidden;
}

.md-typeset .admonition-title,
.md-typeset summary {
    font-weight: 700;
}

/* ---------- Tabbed content (pymdownx.tabbed alternate style) ---------- */

.md-typeset .tabbed-set {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--md-default-fg-color--lightest, rgba(0, 0, 0, 0.07));
}

.md-typeset .tabbed-labels {
    background: color-mix(in srgb, var(--md-primary-fg-color) 6%, transparent);
}

.md-typeset .tabbed-labels > label {
    font-weight: 600;
    transition: color 0.15s ease;
}

.md-typeset .tabbed-set > input:checked + label {
    color: var(--md-primary-fg-color);
}

.md-typeset .tabbed-content {
    padding: 0.2em 1.2em 1em;
}

/* ---------- Code blocks ---------- */

.md-typeset code {
    border-radius: 4px;
}

.md-typeset pre > code {
    border-radius: 8px;
}

/* ---------- Navigation: clearer active state ---------- */

.md-nav__item .md-nav__link--active {
    font-weight: 700;
}

.md-nav__link:focus,
.md-nav__link:hover {
    color: var(--md-accent-fg-color);
}

/* ---------- Homepage grid cards ---------- */

.md-typeset .grid.cards > ul > li,
.md-typeset .grid > .card {
    border-radius: 12px;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.md-typeset .grid.cards > ul > li:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px -18px rgba(0, 0, 0, 0.4);
    border-color: var(--md-accent-fg-color);
}

/* ---------- Footer ---------- */

.md-footer-meta {
    background-color: color-mix(in srgb, var(--md-footer-bg-color) 85%, black);
}
