/* © 2026 Lubansu Alphonse — Grader : identité visuelle fusionnée.
   QCM Grader  = marine / violet / cyan, accent or     (outils, tableaux de bord, nuit)
   Open-Grader = forêt / sauge / ivoire, accent ocre    (papier, photographies, lecture)
   Grader      = l'or commun aux deux + ivoire + double fond marine|forêt                  */
:root{
  --navy:#0e1d38;--navy2:#152b4d;--navy3:#1c3358;--violet:#7a4cf0;--cyan:#5fc4ff;
  --forest:#123b2e;--forest2:#1d513e;--forest3:#2a6a52;--sage:#d7edb8;--sage2:#b9db90;--mint:#e5eddf;
  --ivory:#f5f6f1;--paper:#fbfbf7;--card:#ffffff;
  --gold:#e9b44c;--gold2:#f6d58a;--gold3:#b9852a;
  --ink:#10231c;--ink2:#2c4036;--muted:#5f7068;--line:#d9e0d3;
  --danger:#b3382c;--ok:#2f7d4f;--warn:#b9852a;
  --r-sm:10px;--r:16px;--r-lg:24px;
  --shadow:0 18px 50px rgba(14,29,56,.14);--shadow-sm:0 6px 22px rgba(14,29,56,.09);
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:Georgia,"Iowan Old Style","Times New Roman",serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);background:var(--ivory);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5}
a{color:inherit}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:#fff;color:#000;padding:10px 14px;border-radius:8px;z-index:9999}
.skip:focus{top:10px}

/* boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:12px;padding:13px 20px;font-weight:700;font-size:14px;text-decoration:none;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.btn.gold{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#1b1608;box-shadow:0 10px 26px rgba(233,180,76,.28)}
.btn.gold:hover{box-shadow:0 14px 34px rgba(233,180,76,.42)}
.btn.forest{background:var(--forest2);color:#fff}
.btn.forest:hover{background:var(--forest)}
.btn.navy{background:var(--navy3);color:#fff}
.btn.navy:hover{background:var(--navy)}
.btn.ghost{background:transparent;border-color:currentColor;color:inherit;opacity:.92}
.btn.ghost:hover{background:rgba(255,255,255,.08)}
.btn.line{background:#fff;border-color:var(--line);color:var(--ink2)}
.btn.line:hover{border-color:var(--forest3);background:var(--mint)}
.btn.danger{background:#fff;border-color:#e3b9b3;color:var(--danger)}
.btn.sm{padding:8px 13px;font-size:12.5px;border-radius:10px}
.btn.block{width:100%}

/* marque */
.brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.brand img{width:40px;height:40px;border-radius:11px;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.brand b{display:block;font-size:20px;letter-spacing:-.03em;line-height:1.05}
.brand small{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:.72;margin-top:2px}

/* étiquettes */
.chip{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:7px 13px;border:1px solid}
.chip.qcm{color:var(--cyan);border-color:rgba(95,196,255,.4);background:rgba(95,196,255,.09)}
.chip.open{color:var(--sage);border-color:rgba(215,237,184,.4);background:rgba(215,237,184,.09)}
.chip.mixed{color:var(--gold2);border-color:rgba(233,180,76,.5);background:rgba(233,180,76,.1)}
.tag{display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:3px 9px;font-size:11.5px;font-weight:700}
.tag.qcm{background:#e3ecfb;color:#1c3f8a}.tag.open{background:#e3f0d8;color:#2c5a2f}.tag.mixed{background:#fbefcf;color:#7a5410}
.tag.ok{background:#dff1e4;color:#1f6a3f}.tag.warn{background:#fbefcf;color:#7a5410}.tag.mute{background:#ecefe9;color:#55655c}.tag.bad{background:#f6dcd8;color:#8a2a20}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

[hidden]{display:none!important}
