/* Marque StillDeep (docs/brand/README.md) : polices auto-hebergees (OFL, R6), tokens --sd-* et marque typographique.
   Seul endroit des codes de couleur de l'Admin et du Report. Theme du systeme par defaut ; data-theme="light|dark" sur
   <html> (cookie sd-theme, BrowserTheme) le fixe. */
/* Manrope variable 200-800 latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(fonts/manrope-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Manrope variable 200-800 latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(fonts/manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* JetBrains Mono normal latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/jetbrains-mono-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* JetBrains Mono normal latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/jetbrains-mono-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* JetBrains Mono normal latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/jetbrains-mono-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* JetBrains Mono normal latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/jetbrains-mono-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* .sd-paper : apercu d'un objet imprime (papier blanc, encre noire), valeurs claires quel que soit le theme. */
:root,
.sd-paper {
    color-scheme: light;

    --sd-bg: #F7F8FA;
    --sd-surface: #FFFFFF;
    --sd-surface-2: #F0F2F5;
    --sd-border: #E1E4E8;
    --sd-text: #111316;
    --sd-text-muted: #59616E;
    --sd-accent: #2563EB;
    --sd-on-accent: #FFFFFF;
    --sd-accent-soft: #EAF0FD;
    --sd-accent-strong: #1D4ED8;
    --sd-success: #166534;
    --sd-success-soft: #E8F5EC;
    --sd-warning: #92400E;
    --sd-warning-soft: #FDF2E3;
    --sd-danger: #B91C1C;
    --sd-danger-soft: #FDECEC;
    --sd-ai: #4E1A6B;
    --sd-ai-soft: #EFE8F5;
    /* Meme blanc dans les deux themes : --sd-on-accent sombre n'atteint pas 4,5:1 sur --sd-ai. */
    --sd-on-ai: #FFFFFF;
    /* Texte IA (comme --sd-accent-strong) : l'onde IA sombre n'atteint pas 4,5:1 en texte, eclaircie vers le texte. */
    --sd-ai-strong: var(--sd-ai);
    --sd-logo-deep: #111316;

    /* Series (graphiques, employes de l'agenda), dans cet ordre ; Report : meme suite dans ChartPalette. */
    --sd-series-1: #2563EB;
    --sd-series-2: #932467;
    --sd-series-3: #0896B8;
    --sd-series-4: #A77F19;
    --sd-series-5: #654199;

    --sd-font-sans: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
    --sd-font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

    --sd-radius-sm: 4px;
    --sd-radius-md: 8px;
    --sd-radius-lg: 14px;

    /* Encre des ombres et des voiles : le texte en clair, le fond en sombre (une ombre claire serait un halo). */
    --sd-shadow-ink: var(--sd-text);
    --sd-shadow-1: 0 1px 2px color-mix(in srgb, var(--sd-shadow-ink) 6%, transparent);
    --sd-shadow-2: 0 1px 2px color-mix(in srgb, var(--sd-shadow-ink) 5%, transparent), 0 8px 24px -16px color-mix(in srgb, var(--sd-shadow-ink) 22%, transparent);
    --sd-shadow-3: 0 1px 2px color-mix(in srgb, var(--sd-shadow-ink) 6%, transparent), 0 18px 36px -18px color-mix(in srgb, var(--sd-shadow-ink) 28%, transparent);
    --sd-focus-ring: 0 0 0 3px color-mix(in srgb, var(--sd-accent) 25%, transparent);
}

/* Theme sombre : systeme sombre sans choix "clair", ou choix "sombre". Memes valeurs dans les deux blocs. */
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        color-scheme: dark;

        --sd-bg: #0D0F12;
        --sd-surface: #16191E;
        --sd-surface-2: #1E2228;
        --sd-border: #2C313A;
        --sd-text: #EDEFF2;
        --sd-text-muted: #9AA3B0;
        --sd-accent: #7FA6FF;
        --sd-on-accent: #0D0F12;
        --sd-accent-soft: #18264A;
        --sd-accent-strong: #A3BFFF;
        --sd-success: #4ADE80;
        --sd-success-soft: #12301F;
        --sd-warning: #FBBF24;
        --sd-warning-soft: #3A2A0B;
        --sd-danger: #F87171;
        --sd-danger-soft: #3A1618;
        --sd-ai: #8E5CC7;
        --sd-ai-soft: #241133;
        --sd-ai-strong: color-mix(in srgb, var(--sd-ai) 75%, var(--sd-text));
        --sd-logo-deep: #5B6472;

        --sd-series-1: #558CFF;
        --sd-series-2: #BC267F;
        --sd-series-3: #0CA3BE;
        --sd-series-4: #BD8708;
        --sd-series-5: #AF6AF2;

        --sd-shadow-ink: var(--sd-bg);
        --sd-shadow-1: 0 1px 2px color-mix(in srgb, var(--sd-shadow-ink) 40%, transparent);
        --sd-shadow-2: 0 1px 2px color-mix(in srgb, var(--sd-shadow-ink) 35%, transparent), 0 8px 24px -16px color-mix(in srgb, var(--sd-shadow-ink) 70%, transparent);
        --sd-shadow-3: 0 1px 2px color-mix(in srgb, var(--sd-shadow-ink) 40%, transparent), 0 18px 36px -18px color-mix(in srgb, var(--sd-shadow-ink) 80%, transparent);
        --sd-focus-ring: 0 0 0 3px color-mix(in srgb, var(--sd-accent) 40%, transparent);
    }
}
:root[data-theme="dark"] {
    color-scheme: dark;

    --sd-bg: #0D0F12;
    --sd-surface: #16191E;
    --sd-surface-2: #1E2228;
    --sd-border: #2C313A;
    --sd-text: #EDEFF2;
    --sd-text-muted: #9AA3B0;
    --sd-accent: #7FA6FF;
    --sd-on-accent: #0D0F12;
    --sd-accent-soft: #18264A;
    --sd-accent-strong: #A3BFFF;
    --sd-success: #4ADE80;
    --sd-success-soft: #12301F;
    --sd-warning: #FBBF24;
    --sd-warning-soft: #3A2A0B;
    --sd-danger: #F87171;
    --sd-danger-soft: #3A1618;
    --sd-ai: #8E5CC7;
    --sd-ai-soft: #241133;
    --sd-ai-strong: color-mix(in srgb, var(--sd-ai) 75%, var(--sd-text));
    --sd-logo-deep: #5B6472;

    --sd-series-1: #558CFF;
    --sd-series-2: #BC267F;
    --sd-series-3: #0CA3BE;
    --sd-series-4: #BD8708;
    --sd-series-5: #AF6AF2;

    --sd-shadow-ink: var(--sd-bg);
    --sd-shadow-1: 0 1px 2px color-mix(in srgb, var(--sd-shadow-ink) 40%, transparent);
    --sd-shadow-2: 0 1px 2px color-mix(in srgb, var(--sd-shadow-ink) 35%, transparent), 0 8px 24px -16px color-mix(in srgb, var(--sd-shadow-ink) 70%, transparent);
    --sd-shadow-3: 0 1px 2px color-mix(in srgb, var(--sd-shadow-ink) 40%, transparent), 0 18px 36px -18px color-mix(in srgb, var(--sd-shadow-ink) 80%, transparent);
    --sd-focus-ring: 0 0 0 3px color-mix(in srgb, var(--sd-accent) 40%, transparent);
}

/* Le texte d'un apercu imprime herite sinon la couleur calculee de la page. */
.sd-paper { color: var(--sd-text); }

/* Logo : la version du theme affiche (BrandLogo pose les deux), jamais une version recoloree ; !important contre un
   display pose sur le logo. */
:root[data-theme="light"] .sd-logo--dark,
:root[data-theme="dark"] .sd-logo--light { display: none !important; }
@media (prefers-color-scheme: light) {
    :root:not([data-theme="dark"]) .sd-logo--dark { display: none !important; }
}
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .sd-logo--light { display: none !important; }
}

/* Choix du theme (ThemeSwitch) : trois boutons, celui du choix courant presse. */
.sd-theme-switch {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 2px;
    border: 1px solid var(--sd-border);
    border-radius: 999px;
    background: var(--sd-surface-2);
}
.sd-theme-switch__option {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--sd-text-muted);
    cursor: pointer;
    transition: background 150ms ease, color 150ms ease;
}
.sd-theme-switch__option:hover { color: var(--sd-text); }
.sd-theme-switch__option:focus-visible { outline: 2px solid var(--sd-accent); outline-offset: 1px; }
.sd-theme-switch__option[aria-pressed="true"] {
    background: var(--sd-surface);
    color: var(--sd-accent);
    box-shadow: var(--sd-shadow-1), inset 0 0 0 1px var(--sd-border);
}
.sd-theme-switch__option svg { width: 16px; height: 16px; }

/* Marque typographique : "Still" leger, "Deep" gras ; "AI" en couleur IA. */
.sd-wordmark {
    font-family: var(--sd-font-sans);
    letter-spacing: -0.01em;
    color: var(--sd-text);
    white-space: nowrap;
}
.sd-wordmark__still { font-weight: 300; }
.sd-wordmark__deep { font-weight: 800; }
.sd-wordmark__ai { font-weight: 800; color: var(--sd-ai-strong); margin-left: 0.28em; }
