/* ===== Base ===== */
:root {
    --nc-bg: #ffffff;
    --nc-text: #222222;
    --nc-text-light: #666666;
    --nc-link: #0082c9;
    --nc-border: #dddddd;
    --nc-code-bg: #f0f0f0;
    --nc-blockquote-border: #0082c9;
    --nc-heading: #222222;
    --nc-success-bg: #d4edda;
    --nc-success-border: #c3e6cb;
    --nc-success-text: #155724;
    --nc-table-header-bg: #f0f0f0;
    --nc-emoji-size: 1.2em;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, "Noto Sans", sans-serif;
    line-height: 1.6;
    color: var(--nc-text);
    background-color: var(--nc-bg);
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
}

/* ===== Typographie ===== */
h1, h2, h3, h4, h5, h6 {
    color: var(--nc-heading);
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    font-weight: 600;
}

h1 { font-size: 2.2em; border-bottom: 2px solid var(--nc-border); padding-bottom: 0.3em; }
h2 { font-size: 1.8em; }
h3 { font-size: 1.5em; }

p {
    margin: 1em 0;
}

/* ===== Liens ===== */
a {
    color: var(--nc-link);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* ===== Listes ===== */
ul, ol {
    margin: 1em 0;
    padding-left: 2em;
}

ul {
    list-style-type: disc;
}

ol {
    list-style-type: decimal;
}

/* ===== Emojis ===== */
.emoji {
    height: var(--nc-emoji-size);
    width: var(--nc-emoji-size);
    margin: 0 0.2em;
    vertical-align: middle;
}

/* ===== Blocs de code ===== */
pre, code {
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, "Noto Mono", monospace;
    background-color: var(--nc-code-bg);
    border-radius: 4px;
}

code {
    padding: 0.2em 0.4em;
    font-size: 0.9em;
}

pre {
    padding: 1em;
    margin: 1em 0;
    overflow-x: auto;
    border-left: 3px solid var(--nc-blockquote-border);
}

pre code {
    white-space: pre;
    padding: 0;
    background: transparent;
}

/* ===== Blocs de succès (::: success) ===== */
.success {
    background-color: var(--nc-success-bg);
    border-left: 4px solid var(--nc-success-border);
    color: var(--nc-success-text);
    padding: 0.8em 1em;
    margin: 1em 0;
    border-radius: 4px;
    font-size: 0.95em;
    overflow-x: auto;
    white-space: pre-wrap; /* Conserve les sauts de ligne et espaces */
}

.success p {
    margin: 0;
}

.success code {
    background-color: rgba(255, 255, 255, 0.5);
    padding: 0.2em 0.4em;
    border-radius: 3px;
}

/* ===== Citations ===== */
blockquote {
    border-left: 4px solid var(--nc-blockquote-border);
    margin: 1em 0;
    padding: 0.5em 1em;
    color: var(--nc-text-light);
    font-style: italic;
    background-color: rgba(0, 130, 201, 0.05);
}

/* ===== Tableaux ===== */
table {
    border-collapse: collapse;
    width: 100%;
    margin: 1em 0;
    border: 1px solid var(--nc-border);
}

th, td {
    border: 1px solid var(--nc-border);
    padding: 8px 12px;
    text-align: left;
}

th {
    background-color: var(--nc-table-header-bg);
    font-weight: 600;
}

/* ===== Séparateurs ===== */
hr {
    border: none;
    border-top: 1px solid var(--nc-border);
    margin: 2em 0;
}

/* ===== Images et légendes ===== */
img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 1em auto;
}

figure {
    margin: 1.5em 0;
    text-align: center;
}

figcaption {
    font-style: italic;
    color: var(--nc-text-light);
    margin-top: 0.5em;
    font-size: 0.9em;
}

/* ===== Commandes shell ===== */
pre.command {
    background-color: #e8f4f8;
    border-left-color: #2196F3;
}

/* ===== Titres avec emojis ===== */
h1 em, h2 em, h3 em, h4 em, h5 em, h6 em {
    margin-right: 0.3em;
}