/* ============================================================
 * Reset + box model
 * ============================================================ */

*, *::before, *::after {
    box-sizing: border-box;
}

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    /* color-scheme settée par le script inline en haut du <head>
       (only light OU only dark, jamais "light dark"). */
    background-color: var(--bg) !important;
}

html, body {
    margin: 0;
    padding: 0;
    min-height: 100vh;
    min-height: 100dvh;
    /* Bloque le rubber-band iOS au top : empêche le rebond élastique
       quand on tire la page vers le bas. */
    overscroll-behavior-y: none;
}

body {
    font-family: var(--font-sans);
    font-size: 16px;
    line-height: 1.55;
    color: var(--ink);
    background-color: var(--bg) !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

img, svg {
    display: block;
    max-width: 100%;
    height: auto;
}

/* ============================================================
 * Surfaces — dé-boxing : jamais bordure + ombre ensemble.
 * (.card est défini dans _utilities.css, chargé après ; ici on
 *  n'ajoute que .panel et .meta-inline.)
 * ============================================================ */

/* Groupement secondaire sans élévation : aplat crème, ni bordure ni ombre. */
.panel {
    background: var(--bg-paper);
    border: none;
    border-radius: var(--radius-lg);
}

/* Méta descriptive en ligne (point médian dans le template),
   remplace les pills bordurées : « 1987 · 324 p. · Roman ». */
.meta-inline {
    color: var(--muted);
    font-size: 0.85rem;
    line-height: 1.4;
}
