:root {
  --roudenn: #3e5c5a;
  --roudenn-clair: #e9efed;
  --papier: #fbfaf7;
  --encre: #2b3a42;
}
[data-bs-theme="dark"] {
  --roudenn-clair: #24302f;
  --papier: #1d2222;
  --encre: #dfe6e4;
}
body { background: var(--papier); color: var(--encre); }
.nav-roudenn { background: var(--roudenn); }
.btn-roudenn { background: var(--roudenn); border-color: var(--roudenn); color: #fff; }
.btn-roudenn:hover, .btn-roudenn:focus { background: #2f4846; border-color: #2f4846; color: #fff; }

.carte-papier { background: var(--bs-body-bg); border: 1px solid var(--bs-border-color); border-radius: .75rem; }
.page-texte { font-family: Georgia, "Times New Roman", serif; font-size: 1.12rem; line-height: 1.7;
              white-space: pre-wrap; overflow-wrap: anywhere; }
.page-date { color: var(--bs-secondary-color); font-size: .95rem; }
.page-titre { font-family: Georgia, "Times New Roman", serif; }

.mois-titre { font-size: 1rem; text-transform: uppercase; letter-spacing: .06em;
              color: var(--bs-secondary-color); border-bottom: 1px solid var(--bs-border-color);
              padding-bottom: .3rem; margin-top: 1.6rem; }
.entree-ligne { display: block; padding: .7rem .2rem; border-bottom: 1px dashed var(--bs-border-color);
                color: inherit; text-decoration: none; }
.entree-ligne:hover { background: var(--roudenn-clair); }
.entree-jour { min-width: 3.2rem; text-align: center; line-height: 1.1; }
.entree-jour .num { font-size: 1.4rem; font-family: Georgia, serif; }
.entree-jour .js { font-size: .75rem; color: var(--bs-secondary-color); }
.entree-apercu { color: var(--bs-secondary-color); font-size: .92rem;
                 display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

textarea.ecriture { font-family: Georgia, "Times New Roman", serif; font-size: 1.12rem; line-height: 1.7;
                    min-height: 50vh; resize: vertical; }
.vignettes { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: .6rem; }
.vignettes img { width: 100%; height: 140px; object-fit: cover; border-radius: .5rem; }
.code-secours { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 1.5rem; letter-spacing: .08em;
                word-spacing: .3em; padding: 1rem; border: 2px dashed var(--roudenn); border-radius: .75rem;
                text-align: center; user-select: all; }
mark { padding: 0 .1em; }
@media print {
  .nav-roudenn, .no-print { display: none !important; }
}
