/* Brand kit HotMinds (impeccable_chiara.md, Parte B). Solo token e font: lo stile dell'app sta in app.css. */

@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-600.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-700.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-900.woff2") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url("../fonts/jetbrains-mono-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url("../fonts/jetbrains-mono-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }

:root {
    --lime: #BFDD2E; --lime-ink: #0B1304; --purple: #6C5CE7;
    --ink: #0A0A0F; --paper: #F4F4EE; --ink-soft: #9097A8; --paper-soft: #4B4F5A;
    --ok: #3FA34D; --warn: #E0A12B; --error: #D6453A; --info: #6C5CE7;
    --font-sans: "Montserrat", "Helvetica Neue", Arial, sans-serif;
    --font-mono: "JetBrains Mono", ui-monospace, monospace;
    --bs-font-sans-serif: var(--font-sans);
    --bs-font-monospace: var(--font-mono);
    --bs-primary: #BFDD2E; --bs-primary-rgb: 191, 221, 46;
}

/* Dopo bootstrap.min.css: a parità di specificità vincono questi valori. */
[data-bs-theme="dark"] {
    --bg: var(--ink); --surface: #111118; --line: #24242E;
    --fg: #F4F4EE; --muted: var(--ink-soft);
    --accent-text: var(--lime);
    --bs-body-bg: var(--bg); --bs-body-color: var(--fg);
    --bs-border-color: var(--line); --bs-secondary-color: var(--muted);
}

[data-bs-theme="light"] {
    --bg: var(--paper); --surface: #FFFFFF; --line: #DCDCD3;
    --fg: #0A0A0F; --muted: var(--paper-soft);
    /* Il lime su paper non arriva a 4.5:1: per il testo d'accento si usa la sua versione scura (circa 6:1). */
    --accent-text: #556300;
    --bs-body-bg: var(--bg); --bs-body-color: var(--fg);
    --bs-border-color: var(--line); --bs-secondary-color: var(--muted);
}

body { background: var(--bg); color: var(--fg); font-family: var(--font-sans); }
h1, h2, h3 { font-family: var(--font-sans); }
code, pre, .font-mono { font-family: var(--font-mono); }

.btn-primary { --bs-btn-bg: var(--lime); --bs-btn-color: var(--lime-ink); --bs-btn-border-color: var(--lime);
    --bs-btn-hover-bg: #A8C226; --bs-btn-hover-border-color: #A8C226; --bs-btn-hover-color: var(--lime-ink);
    --bs-btn-active-bg: #A8C226; --bs-btn-active-border-color: #A8C226; --bs-btn-active-color: var(--lime-ink); }

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, .btn:focus-visible {
    outline: 2px solid var(--purple); outline-offset: 2px; box-shadow: 0 0 0 4px rgba(191, 221, 46, .35);
}
