/* darija.bjarken.net — feuille unique, responsive, zéro dépendance (étape 2, widgets v0.2 étape 5, markdown v0.3 étape 6) */
:root{
  --rouge:#c1272d; --vert:#006233; --vert-clair:#e8f3ec; --sable:#faf7f0;
  --encre:#26221c; --gris:#6b6459; --bord:#e4ddcf; --blanc:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--sable);color:var(--encre);
  font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.wrap{max-width:800px;margin:0 auto;padding:1.25rem}
a{color:var(--vert)}
a:hover{color:var(--rouge)}

/* navigation */
.topnav{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:1rem;
  background:var(--vert);padding:.6rem 1rem;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.topnav .brand{font-weight:700;color:#fff;font-size:1.05rem;text-decoration:none}
.topnav nav{display:flex;gap:.9rem;margin-left:auto}
.topnav nav a{color:#eafff3;text-decoration:none;padding:.25rem .5rem;border-radius:6px}
.topnav nav a:hover{background:rgba(255,255,255,.15);color:#fff}

/* fil d'Ariane */
.crumb{font-size:.85rem;color:var(--gris);margin-bottom:1rem}
.crumb a{color:var(--gris)}

/* contenu */
h1{font-size:1.6rem;line-height:1.25;margin:.2rem 0 1rem}
h2{font-size:1.2rem;color:var(--vert);margin-top:1.8rem}
h3{font-size:1.05rem;color:var(--vert);margin-top:1.4rem}
.objectif{background:var(--vert-clair);border-left:4px solid var(--vert);
  padding:.75rem 1rem;border-radius:0 8px 8px 0}
.wip{background:#fff8e1;border:1px dashed #d4a017;padding:.9rem 1rem;border-radius:8px;margin:1rem 0}
.astuce{background:#eef6fb;border-left:4px solid #2a6f97;padding:.75rem 1rem;border-radius:0 8px 8px 0}

/* contenus convertis depuis Markdown (étape 6) */
blockquote{margin:.6rem 0;padding:.55rem .95rem;border-left:4px solid var(--vert);
  background:var(--vert-clair);border-radius:0 8px 8px 0}
blockquote p{margin:.35rem 0}
code{background:#f1ede3;padding:.08rem .35rem;border-radius:6px;font-size:.92em}
hr{border:0;border-top:1px solid var(--bord);margin:1.5rem 0}

/* tableaux */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.vocab{border-collapse:collapse;width:100%;min-width:520px;background:var(--blanc)}
table.vocab th{background:var(--vert);color:#fff;text-align:left;padding:.5rem .6rem;font-size:.9rem}
table.vocab td{border-bottom:1px solid var(--bord);padding:.5rem .6rem;vertical-align:top}
table.vocab tr:nth-child(even) td{background:#f7f4ec}

/* dialogues */
.dialogue p{background:var(--blanc);border:1px solid var(--bord);border-radius:10px;
  padding:.6rem .9rem;margin:.5rem 0}
.dialogue .locuteur{font-weight:700;color:var(--rouge)}
.dialogue em{color:var(--gris)}

/* widgets vote + commentaires */
.widget{background:var(--blanc);border:1px solid var(--bord);border-radius:12px;
  padding:1rem 1.1rem;margin:1.5rem 0}
.widget h2{margin-top:0}
.vote-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.btn-vote{cursor:pointer;border:1px solid var(--bord);background:var(--sable);
  padding:.45rem .9rem;border-radius:999px;font-size:1rem}
.btn-vote:hover{border-color:var(--vert);background:var(--vert-clair)}
.score{font-weight:700;color:var(--gris)}
.hint{font-size:.82rem;color:var(--gris);margin:.6rem 0 0}
#form-commentaire{display:grid;gap:.4rem;max-width:520px}
#form-commentaire label{font-size:.85rem;color:var(--gris)}
#form-commentaire input,#form-commentaire textarea{font:inherit;padding:.5rem .6rem;
  border:1px solid var(--bord);border-radius:8px;width:100%}
#form-commentaire button{justify-self:start;cursor:pointer;background:var(--vert);
  color:#fff;border:0;padding:.5rem 1.1rem;border-radius:999px;font-size:.95rem}
#form-commentaire button:hover{background:var(--rouge)}
.fil{margin-top:.8rem}
.commentaire{background:var(--sable);border:1px solid var(--bord);border-radius:10px;
  padding:.6rem .8rem;margin:.5rem 0}
.commentaire p{margin:.15rem 0}
.commentaire .date{font-size:.78rem;color:var(--gris);font-weight:400;margin-left:.4rem}
.btn-vote:disabled,#form-commentaire button:disabled{opacity:.55;cursor:default}

/* pager + footer */
.pager{display:flex;justify-content:space-between;gap:.6rem;margin:2rem 0 1rem}
.pager a{flex:1;background:var(--blanc);border:1px solid var(--bord);border-radius:10px;
  padding:.6rem .8rem;text-decoration:none;font-size:.92rem}
.pager a.next{text-align:right}
.site-footer{border-top:1px solid var(--bord);margin-top:2rem;padding:1.2rem;
  text-align:center;color:var(--gris);font-size:.9rem}
.site-footer .muted{font-size:.8rem}

/* accueil */
.hero{background:linear-gradient(135deg,var(--vert),#0a4d2e);color:#fff;
  border-radius:14px;padding:1.6rem 1.4rem;margin-bottom:1.6rem}
.hero h1{color:#fff}
.hero .btn{display:inline-block;background:#fff;color:var(--vert);font-weight:700;
  padding:.55rem 1.1rem;border-radius:999px;text-decoration:none;margin-top:.4rem}
ol.toc{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}
.toc li a{display:block;background:var(--blanc);border:1px solid var(--bord);
  border-radius:10px;padding:.55rem .8rem;text-decoration:none;color:var(--encre)}
.toc li a:hover{border-color:var(--vert)}
.toc .num{display:inline-block;min-width:2.2em;font-weight:700;color:var(--rouge)}

/* toast */
.toast{position:fixed;left:50%;bottom:1.2rem;transform:translateX(-50%);
  background:var(--encre);color:#fff;padding:.6rem 1rem;border-radius:999px;
  font-size:.9rem;box-shadow:0 4px 14px rgba(0,0,0,.25);z-index:50}

@media (max-width:560px){
  .wrap{padding:.9rem}
  h1{font-size:1.35rem}
  .topnav{flex-wrap:wrap}
  .topnav nav{margin-left:0}
}
