/* Subject directory and reusable, readable study-sheet components. */
.subject-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.subject-card{min-height:244px;display:flex;flex-direction:column}
.subject-card:before{font-size:43px;right:16px;top:19px}
.subject-card .subject-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:18px}
.subject-open{color:#155dbb;font-weight:700;white-space:nowrap}
.subject-histo{background:linear-gradient(145deg,#eff7ff,#f4f8fc);border-color:#dceafb}
.subject-histo .subject-icon{color:#155dbb}
.resource-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.resource-card{display:flex;flex-direction:column;overflow:hidden}
.resource-card[hidden]{display:none!important}
.resource-body{display:flex;flex:1;flex-direction:column}
.resource-body p{flex:1}
.visual-heme{background:linear-gradient(145deg,#f4f1ff,#edf3ff)}
.visual-histo{background:linear-gradient(145deg,#edf7ff,#e9f3f8)}
.visual-heme:after,.visual-histo:after{content:"";position:absolute;inset:0;opacity:.16;background-image:radial-gradient(#347bb8 .65px,transparent .65px);background-size:13px 13px;mask-image:linear-gradient(90deg,transparent,black 28%,black 72%,transparent)}
.heme-art,.histo-art{position:relative;z-index:1;display:grid;place-items:center;width:92px;height:92px;border:1px solid #d5e5f7;border-radius:28px;background:#fff;color:#1769d2;font:800 30px/1 Manrope,sans-serif;box-shadow:0 15px 35px #24538516}
.visual-histo .histo-art{border-radius:50%;background:radial-gradient(circle,#fff 0 18%,#d8ebfb 19% 27%,#fff 28% 40%,#b5d5ef 41% 47%,#fff 48%);color:#236eaf;font-size:24px}
.heme-art,.histo-art,.visual-heme .visual-caption,.visual-histo .visual-caption,.visual-heme .visual-label,.visual-histo .visual-label{z-index:2}
.visual-heme .visual-caption,.visual-histo .visual-caption{color:#3976ae}
.fiche-dialog{max-height:min(88vh,900px);overflow-y:auto}
.dialog-body{display:grid;gap:12px;line-height:1.7}
.dialog-body>p{margin:0}
.dialog-body h3{font-size:13px;margin:10px 0 -4px}
.dialog-body ul{margin:0;padding-left:20px}
.dialog-body li+li{margin-top:5px}
.fiche-intro{padding:12px 14px;border:1px solid #dceafb;border-radius:14px;background:#f4f8ff}
.fiche-intro>span{color:#1769d2;font-size:9px;font-weight:800;letter-spacing:1.3px}
.fiche-intro p{margin:5px 0 0;color:#32465c}
.fiche-flow{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:13px;border-radius:14px;background:#edf5ff;color:#25486b;font-size:11px;font-weight:700;text-align:center}
.fiche-flow span{padding:7px 10px;border:1px solid #d8e7f8;border-radius:999px;background:#fff}
.fiche-flow i{color:#1769d2;font-style:normal;font-weight:800}
.fiche-flow-renal{gap:5px;font-size:10px}
.fiche-flow-renal span{padding-inline:8px}
.fiche-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.fiche-compare p{display:grid;gap:5px;margin:0;padding:10px;border:1px solid #e1eaf4;border-radius:12px;background:#fff;font-size:11px;line-height:1.5}
.fiche-compare strong{color:#155dbb}
.fiche-compare span{color:#69788a}
.fiche-callout{display:grid;gap:4px;padding:12px 14px;border-left:3px solid #347fc5;border-radius:0 12px 12px 0;background:#f0f7ff;color:#44566b;font-size:12px}
.fiche-callout strong{color:#155dbb}
.fiche-check{padding:11px 13px;border:1px solid #dceafb;border-radius:12px;background:#fbfdff;color:#40536a;font-size:12px}
.fiche-check summary{color:#155dbb;font-weight:700;cursor:pointer}
.fiche-check p{margin:9px 0 0}
.dialog-source{line-height:1.7}
.mono-mode .subject-histo{background:#111318;border-color:#2b2e35}
.mono-mode .subject-open{color:#f1f2f5}
.mono-mode .visual-heme,.mono-mode .visual-histo{background:linear-gradient(145deg,#191b21,#101116)}
.mono-mode .heme-art,.mono-mode .histo-art{background:#17191f;border-color:#343741;color:#f2f3f6}
.mono-mode .fiche-intro,.mono-mode .fiche-flow,.mono-mode .fiche-callout,.mono-mode .fiche-check{background:#15171d;border-color:#30333b;color:#e6e8ed}
.mono-mode .fiche-intro p,.mono-mode .fiche-compare span,.mono-mode .fiche-callout span,.mono-mode .fiche-check{color:#c5c8d0}
.mono-mode .fiche-flow span,.mono-mode .fiche-compare p{background:#101116;border-color:#30333b;color:#f0f1f4}
.mono-mode .fiche-intro>span,.mono-mode .fiche-callout strong,.mono-mode .fiche-compare strong,.mono-mode .fiche-check summary{color:#f4f5f7}
.quiz-mode-switch{display:flex;gap:4px;padding:4px;border:1px solid #dce7f4;border-radius:999px;background:#f4f8fd;letter-spacing:0}
[hidden]{display:none!important}
.quiz-mode{border:0;border-radius:999px;padding:8px 13px;background:transparent;color:#728399;font:700 10px var(--sans);cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}
.quiz-mode.selected{background:#1769d2;color:#fff;box-shadow:0 4px 12px #1769d233}
.quiz-chip.urgent{background:#fff0ed;color:#b74a35;font-variant-numeric:tabular-nums}
.quiz-question-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.question-save{width:34px;height:34px;border:1px solid #dce7f4;border-radius:50%;background:#fff;color:#7f90a3;font-size:20px;line-height:1;cursor:pointer}
.question-save.is-saved{color:#1769d2;background:#edf5ff;border-color:#c9def7}
.question-hint{min-height:15px;margin-top:10px;color:#7c8da0;font-size:10px}
.quiz-content h3{margin-top:5px}
.quiz-feedback ul{margin:8px 0 0;padding-left:18px;display:grid;gap:7px;color:#556579}
.quiz-feedback li strong{color:#1769d2}
.quiz-feedback.wrong li strong{color:#1769d2}
.quiz-results{padding:25px 22px 23px;text-align:center}
.results-kicker{color:#1769d2;font:800 9px var(--display);letter-spacing:1.5px}
.results-score{margin-top:8px;color:#163657;font:800 57px/.98 var(--display);letter-spacing:-3px}
.results-score span{color:#91a1b3;font-size:24px;letter-spacing:-1px}
.quiz-results h3{margin:10px 0 5px;color:#183957;font:700 19px var(--display)}
.quiz-results p{margin:0;color:#738399;font-size:11px;line-height:1.6}
.results-actions{display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap;margin-top:18px}
.results-actions .button{min-height:39px;padding-inline:15px;font-size:10px}
.results-actions .button:disabled{opacity:.45;cursor:not-allowed}
.mono-mode .quiz-mode-switch,.mono-mode .question-save{background:#17191f;border-color:#343741;color:#c6c8ce}
.mono-mode .quiz-mode.selected{background:#f5f6f8;color:#090a0d}
.mono-mode .question-save.is-saved{background:#292c33;color:#fff}
.mono-mode .quiz-chip.urgent{background:#272126;color:#f0c4bb}
.mono-mode .quiz-results h3,.mono-mode .results-score{color:#f5f6f8}
.mono-mode .results-score span,.mono-mode .quiz-results p,.mono-mode .quiz-feedback ul{color:#b7bbc3}
.mono-mode .quiz-feedback li strong,.mono-mode .results-kicker{color:#f5f6f8}
body.mono-mode .answer-option.correct{border-color:#b2b4b9;background:#272a30}
body.mono-mode .answer-option.incorrect{border-color:#7a6a68;background:#292221}
@media(max-width:680px){.quiz-mode{padding:7px 10px;font-size:9px}.quiz-results{padding-inline:12px}.results-score{font-size:51px}.results-actions{gap:8px}.quiz-feedback ul{padding-left:15px}}
@media(max-width:980px){.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subject-card{min-height:220px}}
@media(max-width:680px){.subject-grid{grid-template-columns:1fr}.subject-card{min-height:185px}.resource-grid{grid-template-columns:1fr}.fiche-compare{grid-template-columns:1fr}.fiche-flow-renal{justify-content:flex-start}}
