/* Pagina "Voor docenten" (v0.99.64, BL-041): /teachers en /nl/docenten, gemaakt door maak_docentenpagina.mjs.
   Losse, statische pagina's in Huisstijl v2 (Licht = papier, Donker = nacht); de app-stylesheet laden ze niet. */
@font-face{ font-family:'Fraunces'; font-style:normal; font-weight:300 700; font-display:swap; src:url('/fonts/fraunces-latin.woff2') format('woff2'); }
@font-face{ font-family:'Inter'; font-style:normal; font-weight:300 800; font-display:swap; src:url('/fonts/inter-latin.woff2') format('woff2'); }
@font-face{ font-family:'JetBrains Mono'; font-style:normal; font-weight:500 700; font-display:swap; src:url('/fonts/jetbrains-mono-latin.woff2') format('woff2'); }
@font-face{ font-family:'RN Voortekens'; font-style:normal; font-weight:100 900; font-display:swap; src:url('/fonts/rn-voortekens.woff2') format('woff2'); unicode-range:U+266D-266F, U+1D12A-1D12B; }   /* BL-172 */
:root{
  --canvas:#ECE9E3; --surface:#F8F6F1; --border:#DAD5CB; --border-strong:#C9C3B7;
  --text:#1B1E24; --muted:#5F5C56; --accent:#26437E; --accent-ink:#FBFAF6; --accent-soft:#DCE2EE;
}
@media (prefers-color-scheme: dark){
  :root{ --canvas:#0B1020; --surface:#151B2C; --border:#232B40; --border-strong:#2F3850;
    --text:#EDEFF5; --muted:#9AA2B8; --accent:#93B6FF; --accent-ink:#0B1020; --accent-soft:#1F2C48; color-scheme:dark; }
}
*{ box-sizing:border-box; margin:0; font-variation-settings:'WONK' 0, 'SOFT' 0; }
body{ background:var(--canvas); color:var(--text); font:400 17px/1.6 'RN Voortekens', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif; padding:clamp(20px, 5vw, 56px) 20px 64px; }
main{ max-width:820px; margin-inline:auto; display:flex; flex-direction:column; gap:44px; }
header{ display:flex; flex-direction:column; gap:18px; align-items:flex-start; }
.brand{ display:inline-flex; align-items:baseline; gap:12px; color:var(--accent); text-decoration:none; }
.brand .name{ font:400 28px/1 'RN Voortekens', 'Fraunces', Georgia, serif; letter-spacing:-.02em; }
.brand .tag{ padding-left:12px; border-left:1px solid currentColor; font-size:15px; font-weight:500; opacity:.85; }
h1{ font:400 clamp(38px, 7vw, 56px)/1.05 'RN Voortekens', 'Fraunces', Georgia, serif; letter-spacing:-.02em; text-wrap:balance; }
h2{ font:600 24px/1.25 'RN Voortekens', 'Fraunces', Georgia, serif; letter-spacing:-.01em; }
.lead{ font-size:19px; color:var(--muted); max-width:62ch; }
section{ display:flex; flex-direction:column; gap:14px; }
p{ max-width:66ch; }
ul{ padding-left:20px; display:flex; flex-direction:column; gap:8px; max-width:68ch; }
li b{ font-weight:600; }
a{ color:var(--accent); }
.btn{ display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 22px; border-radius:999px; border:1px solid var(--accent);
  background:var(--accent); color:var(--accent-ink); font:600 16px/1 'RN Voortekens', 'Inter', system-ui, sans-serif; text-decoration:none; cursor:pointer; }
.btn.ghost{ background:transparent; color:var(--accent); border-color:var(--border-strong); }
.btn:focus-visible, select:focus-visible, a:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.scroll{ overflow-x:auto; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
table{ border-collapse:collapse; width:100%; min-width:640px; font-size:15px; line-height:1.45; }
th, td{ text-align:left; vertical-align:top; padding:12px 14px; border-bottom:1px solid var(--border); }
tbody tr:last-child th, tbody tr:last-child td{ border-bottom:0; }
thead th{ font:600 12px/1 'RN Voortekens', 'JetBrains Mono', ui-monospace, monospace; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
tbody th{ font-weight:600; white-space:nowrap; }
.maker{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:14px; padding:20px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.maker label{ display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:600; color:var(--muted); }
select{ min-height:44px; padding:0 12px; border-radius:10px; border:1px solid var(--border-strong); background:var(--canvas); color:var(--text); font:500 16px/1 'RN Voortekens', 'Inter', system-ui, sans-serif; }
.link{ grid-column:1 / -1; padding:12px 14px; border-radius:10px; background:var(--accent-soft); color:var(--text); font:500 15px/1.4 'RN Voortekens', 'JetBrains Mono', ui-monospace, monospace; overflow-wrap:anywhere; user-select:all; }
.acts{ grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:10px; }
/* BL-174: de link als QR-code (altijd zwart op wit, ook in het donkere thema: dat scant het best). */
.qr{ grid-column:1 / -1; display:flex; align-items:center; gap:16px; margin:0; }
.qr #mk-qr{ flex:none; width:132px; height:132px; border-radius:8px; overflow:hidden; }
.qr #mk-qr svg{ display:block; width:100%; height:100%; }
.qr .qr-light{ fill:#fff; }
.qr .qr-dark{ fill:#000; }
.qr figcaption{ font-size:14px; color:var(--muted); line-height:1.45; }
.qr figcaption a{ color:var(--accent); font-weight:600; }
.note{ color:var(--muted); font-size:15px; }
footer{ display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center; padding-top:20px; border-top:1px solid var(--border); color:var(--muted); font-size:15px; }
footer span{ margin-left:auto; }
@media (max-width:640px){ .maker{ grid-template-columns:1fr; } footer span{ margin-left:0; width:100%; } }
