/* U39: school-scoped heatmap; no global styles or fixed-width table overflow. */
.sk39-heatmap{--s39-bg:#f2f7fc;--s39-card:#fff;--s39-ink:#18324b;--s39-muted:#405a76;--s39-border:#b4c7df;--s39-accent:#14518a;
background:var(--s39-bg)!important;color:var(--s39-ink)!important;border:1px solid var(--s39-border);border-radius:22px;
padding:clamp(16px,2.5vw,27px);margin:22px 0;max-width:100%;min-width:0;box-shadow:0 12px 25px #18324b13}
.sk39-heatmap :is(h2,p,th,td,small,span,strong,footer,caption){color:inherit}
.sk39-head{display:flex;justify-content:space-between;align-items:start;gap:16px;flex-wrap:wrap}
.sk39-head h2{font-weight:850;font-size:clamp(21px,2.3vw,28px);margin:7px 0;line-height:1.35}
.sk39-head p,.sk39-method,.sk39-heatmap footer{font-size:13px;line-height:1.7;color:var(--s39-muted)!important}
.sk39-kicker{font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--s39-muted)!important}
.sk39-pill{font-weight:750;font-size:12px;border:1px solid var(--s39-border);border-radius:50px;padding:8px 12px;background:var(--s39-card)}
.sk39-state{border:1px dashed var(--s39-border);border-radius:14px;background:var(--s39-card);padding:17px;margin:15px 0;color:var(--s39-ink)}
.sk39-intro{font-size:15px;line-height:1.5;margin:18px 0 7px}.sk39-method{margin:7px 0 16px}
.sk39-scroll{max-width:100%;overflow:auto;border-radius:15px;border:1px solid var(--s39-border);background:var(--s39-card)}
.sk39-table{border-collapse:separate;border-spacing:0;font-size:12px;width:100%;min-width:620px}
.sk39-table caption{caption-side:top;text-align:left;font-weight:750;padding:13px 15px;background:var(--s39-card)}
.sk39-table :is(th,td){padding:11px;border-bottom:1px solid var(--s39-border);min-width:90px;text-align:center;vertical-align:middle}
.sk39-table th:first-child{text-align:left;min-width:170px;position:sticky;left:0;background:var(--s39-card);z-index:1}
.sk39-table thead th{background:var(--s39-bg);font-weight:800}
.sk39-table th small{display:block;margin-top:4px;font-weight:550;color:var(--s39-muted)!important}
.sk39-cell{display:inline-flex;justify-content:center;align-items:center;min-width:61px;min-height:40px;padding:5px 10px;border-radius:12px;font-variant-numeric:tabular-nums;font-weight:850}
.sk39-review{background:#ffe0dc;color:#87251c!important}.sk39-practice{background:#fff0bf;color:#755018!important}
.sk39-strong{background:#d8f4e8;color:#135d48!important}.sk39-missing{background:#e6eaf0;color:#41546d!important}
.sk39-export{display:flex;flex-wrap:wrap;align-items:center;gap:11px;margin:20px 0}
.sk39-export button{min-height:46px;padding:10px 18px;background:#14518a!important;color:#fff!important;border-radius:11px;border:0;cursor:pointer;font-size:14px;font-weight:800}
.sk39-export span{color:var(--s39-muted)!important;font-size:12px;line-height:1.55}
.sk39-heatmap :is(button,a):focus-visible{outline:3px solid #e5a23b;outline-offset:3px}
.sk39-heatmap footer{border-top:1px solid var(--s39-border);padding-top:12px}
:is(.sk-dark,.sk-theme-dark,.sk-dim,.sk-theme-dim,[data-theme="dark"],[data-sk-theme="dark"],[data-theme="dim"],[data-sk-theme="dim"]) .sk39-heatmap{
--s39-bg:#192c43;--s39-card:#263b54;--s39-ink:#f1f6fe;--s39-muted:#ceddf0;--s39-border:#7690aa;--s39-accent:#a5d0ff}
@media(max-width:720px){.sk39-heatmap{padding:14px}.sk39-head{gap:8px}.sk39-table{min-width:580px}}
@media print{.sk39-heatmap{box-shadow:none!important;border:0;max-width:100%;padding:0;background:#fff!important;color:#15293b!important}.sk39-export{display:none!important}.sk39-scroll{overflow:visible}.sk39-table{min-width:0;font-size:10px}.sk39-table th:first-child{position:static}}
@media(prefers-reduced-motion:reduce){.sk39-heatmap *{animation:none!important;transition:none!important}}

.sk39-entry{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:16px;border-radius:15px;background:#f5f9fd;color:#203c5c;border:1px solid #abc2dd;margin:18px 0}
.sk39-entry a{display:inline-flex;align-items:center;min-height:44px;padding:10px 15px;border-radius:11px;background:#14518a;color:#fff!important;font-weight:800;text-decoration:none}
.sk39-entry small{color:#405976;font-size:12px;line-height:1.5}
:is(.sk-dark,.sk-theme-dark,.sk-dim,[data-sk-theme="dark"],[data-sk-theme="dim"]) .sk39-entry{background:#263b54;color:#eff5fd;border-color:#7690aa}
:is(.sk-dark,.sk-theme-dark,.sk-dim,[data-sk-theme="dark"],[data-sk-theme="dim"]) .sk39-entry small{color:#d5e3f4}

/* U40 explicit keyboard-accessible print/PDF control; print view remains read-only. */
.sk39-export button.sk39-print{background:#edf4ff!important;color:#144574!important;border:1px solid #7296c0}
@media print{@page{size:A4 landscape;margin:12mm}.sk39-head,.sk39-heatmap footer{break-after:avoid}.sk39-table tr{break-inside:avoid}.sk39-table :is(th,td){padding:6px}.sk39-print{display:none!important}}
