/* merged extra.css from all books */

/* ===== Programming from Zero ===== */
/* Programming from Zero — small overrides only. Material's slate theme carries the rest. */

/* Quiz question admonitions: tint the collapsible "answer" reveals. */
.md-typeset .admonition.question,
.md-typeset details.question {
  border-color: var(--md-accent-fg-color);
}

/* Tighten code blocks a touch for the dense walkthroughs. */
.md-typeset pre > code {
  font-size: 0.78rem;
}

/* ===== Learning Mode admonitions: your-turn (decision point) + insight (★) ===== */
:root {
  --md-admonition-icon--your-turn: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8 3a2 2 0 0 0-2 2v4a2 2 0 0 1-2 2H3v2h1a2 2 0 0 1 2 2v4a2 2 0 0 0 2 2h2v-2H8v-5a2 2 0 0 0-2-2 2 2 0 0 0 2-2V5h2V3zm8 0a2 2 0 0 1 2 2v4a2 2 0 0 0 2 2h1v2h-1a2 2 0 0 0-2 2v4a2 2 0 0 1-2 2h-2v-2h2v-5a2 2 0 0 1 2-2 2 2 0 0 1-2-2V5h-2V3z"/></svg>');
  --md-admonition-icon--insight: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a7 7 0 0 1 7 7c0 2.38-1.19 4.47-3 5.74V17a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-2.26C6.19 13.47 5 11.38 5 9a7 7 0 0 1 7-7zm-3 19v-1h6v1a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1z"/></svg>');
}

/* your-turn (indigo) — the learner writes the load-bearing code here */
.md-typeset .admonition.your-turn,
.md-typeset details.your-turn {
  border-color: #6366f1;
}
.md-typeset .your-turn > .admonition-title,
.md-typeset .your-turn > summary {
  background-color: rgba(99, 102, 241, 0.1);
}
.md-typeset .your-turn > .admonition-title::before,
.md-typeset .your-turn > summary::before {
  background-color: #6366f1;
  -webkit-mask-image: var(--md-admonition-icon--your-turn);
          mask-image: var(--md-admonition-icon--your-turn);
}

/* insight (gold ★) — 2–3 design/trade-off points */
.md-typeset .admonition.insight,
.md-typeset details.insight {
  border-color: #f5b301;
}
.md-typeset .insight > .admonition-title,
.md-typeset .insight > summary {
  background-color: rgba(245, 179, 1, 0.1);
}
.md-typeset .insight > .admonition-title::before,
.md-typeset .insight > summary::before {
  background-color: #f5b301;
  -webkit-mask-image: var(--md-admonition-icon--insight);
          mask-image: var(--md-admonition-icon--insight);
}

/* ===== Foundations · GDScript & 2D ===== */
/* Foundations textbook — small overrides only. Material's slate theme carries the rest. */

/* Quiz question admonitions: tint the collapsible "answer" reveals. */
.md-typeset .admonition.question,
.md-typeset details.question {
  border-color: var(--md-accent-fg-color);
}

/* Tighten code blocks a touch for the dense walkthroughs. */
.md-typeset pre > code {
  font-size: 0.78rem;
}

/* ===== Learning Mode admonitions: your-turn (decision point) + insight (★) ===== */
:root {
  --md-admonition-icon--your-turn: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8 3a2 2 0 0 0-2 2v4a2 2 0 0 1-2 2H3v2h1a2 2 0 0 1 2 2v4a2 2 0 0 0 2 2h2v-2H8v-5a2 2 0 0 0-2-2 2 2 0 0 0 2-2V5h2V3zm8 0a2 2 0 0 1 2 2v4a2 2 0 0 0 2 2h1v2h-1a2 2 0 0 0-2 2v4a2 2 0 0 1-2 2h-2v-2h2v-5a2 2 0 0 1 2-2 2 2 0 0 1-2-2V5h-2V3z"/></svg>');
  --md-admonition-icon--insight: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a7 7 0 0 1 7 7c0 2.38-1.19 4.47-3 5.74V17a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-2.26C6.19 13.47 5 11.38 5 9a7 7 0 0 1 7-7zm-3 19v-1h6v1a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1z"/></svg>');
}

/* your-turn (indigo) — the learner writes the load-bearing code here */
.md-typeset .admonition.your-turn,
.md-typeset details.your-turn {
  border-color: #6366f1;
}
.md-typeset .your-turn > .admonition-title,
.md-typeset .your-turn > summary {
  background-color: rgba(99, 102, 241, 0.1);
}
.md-typeset .your-turn > .admonition-title::before,
.md-typeset .your-turn > summary::before {
  background-color: #6366f1;
  -webkit-mask-image: var(--md-admonition-icon--your-turn);
          mask-image: var(--md-admonition-icon--your-turn);
}

/* insight (gold ★) — 2–3 design/trade-off points */
.md-typeset .admonition.insight,
.md-typeset details.insight {
  border-color: #f5b301;
}
.md-typeset .insight > .admonition-title,
.md-typeset .insight > summary {
  background-color: rgba(245, 179, 1, 0.1);
}
.md-typeset .insight > .admonition-title::before,
.md-typeset .insight > summary::before {
  background-color: #f5b301;
  -webkit-mask-image: var(--md-admonition-icon--insight);
          mask-image: var(--md-admonition-icon--insight);
}

/* ===== Emberdelve · ARPG ===== */
/* Emberdelve textbook — small overrides only. Material's slate theme carries the rest. */

/* Quiz question admonitions: tint the collapsible "answer" reveals. */
.md-typeset .admonition.question,
.md-typeset details.question {
  border-color: var(--md-accent-fg-color);
}

/* Tighten code blocks a touch for the dense walkthroughs. */
.md-typeset pre > code {
  font-size: 0.78rem;
}

/* ===== Learning Mode admonitions: your-turn (decision point) + insight (★) ===== */
:root {
  --md-admonition-icon--your-turn: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8 3a2 2 0 0 0-2 2v4a2 2 0 0 1-2 2H3v2h1a2 2 0 0 1 2 2v4a2 2 0 0 0 2 2h2v-2H8v-5a2 2 0 0 0-2-2 2 2 0 0 0 2-2V5h2V3zm8 0a2 2 0 0 1 2 2v4a2 2 0 0 0 2 2h1v2h-1a2 2 0 0 0-2 2v4a2 2 0 0 1-2 2h-2v-2h2v-5a2 2 0 0 1 2-2 2 2 0 0 1-2-2V5h-2V3z"/></svg>');
  --md-admonition-icon--insight: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a7 7 0 0 1 7 7c0 2.38-1.19 4.47-3 5.74V17a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-2.26C6.19 13.47 5 11.38 5 9a7 7 0 0 1 7-7zm-3 19v-1h6v1a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1z"/></svg>');
}

/* your-turn (indigo) — the learner writes the load-bearing code here */
.md-typeset .admonition.your-turn,
.md-typeset details.your-turn {
  border-color: #6366f1;
}
.md-typeset .your-turn > .admonition-title,
.md-typeset .your-turn > summary {
  background-color: rgba(99, 102, 241, 0.1);
}
.md-typeset .your-turn > .admonition-title::before,
.md-typeset .your-turn > summary::before {
  background-color: #6366f1;
  -webkit-mask-image: var(--md-admonition-icon--your-turn);
          mask-image: var(--md-admonition-icon--your-turn);
}

/* insight (gold ★) — 2–3 design/trade-off points */
.md-typeset .admonition.insight,
.md-typeset details.insight {
  border-color: #f5b301;
}
.md-typeset .insight > .admonition-title,
.md-typeset .insight > summary {
  background-color: rgba(245, 179, 1, 0.1);
}
.md-typeset .insight > .admonition-title::before,
.md-typeset .insight > summary::before {
  background-color: #f5b301;
  -webkit-mask-image: var(--md-admonition-icon--insight);
          mask-image: var(--md-admonition-icon--insight);
}

/* ===== Gauntlet QA Workbook ===== */
/* Gauntlet QA Workbook — custom admonition flavors + small dark-mode polish.
   Built-in Material types reused as-is: abstract, info, example, warning,
   question (for quizzes), tip, success, danger. Custom types defined below:
   exercise, lab, checklist. */

/* ---- Icons (Material Design Icons path data, inlined as data URIs) ---- */
:root {
  --md-admonition-icon--exercise: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75z"/></svg>');
  --md-admonition-icon--lab: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6 22a3 3 0 0 1-3-3c0-.6.18-1.16.5-1.63L9 7.81V6a1 1 0 0 1-1-1V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1v1.81l5.5 9.56c.32.47.5 1.03.5 1.63a3 3 0 0 1-3 3z"/></svg>');
  --md-admonition-icon--checklist: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11 1c1.3 0 2.4.84 2.82 2H17a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.18C8.6 1.84 9.7 1 11 1m0 2a1 1 0 0 0-1 1 1 1 0 0 0 1 1 1 1 0 0 0 1-1 1 1 0 0 0-1-1M5 5v14h12V5h-2v2H7V5H5m5.5 9.17 5.09-5.08L17 10.5l-6.5 6.5L7 13.5l1.41-1.41 2.09 2.08z"/></svg>');
}

/* ---- exercise (purple) ---- */
.md-typeset .admonition.exercise,
.md-typeset details.exercise {
  border-color: #ab47bc;
}
.md-typeset .exercise > .admonition-title,
.md-typeset .exercise > summary {
  background-color: rgba(171, 71, 188, 0.1);
}
.md-typeset .exercise > .admonition-title::before,
.md-typeset .exercise > summary::before {
  background-color: #ab47bc;
  -webkit-mask-image: var(--md-admonition-icon--exercise);
          mask-image: var(--md-admonition-icon--exercise);
}

/* ---- lab (teal) ---- */
.md-typeset .admonition.lab,
.md-typeset details.lab {
  border-color: #00bfa5;
}
.md-typeset .lab > .admonition-title,
.md-typeset .lab > summary {
  background-color: rgba(0, 191, 165, 0.1);
}
.md-typeset .lab > .admonition-title::before,
.md-typeset .lab > summary::before {
  background-color: #00bfa5;
  -webkit-mask-image: var(--md-admonition-icon--lab);
          mask-image: var(--md-admonition-icon--lab);
}

/* ---- checklist (amber) ---- */
.md-typeset .admonition.checklist,
.md-typeset details.checklist {
  border-color: #ffa726;
}
.md-typeset .checklist > .admonition-title,
.md-typeset .checklist > summary {
  background-color: rgba(255, 167, 38, 0.1);
}
.md-typeset .checklist > .admonition-title::before,
.md-typeset .checklist > summary::before {
  background-color: #ffa726;
  -webkit-mask-image: var(--md-admonition-icon--checklist);
          mask-image: var(--md-admonition-icon--checklist);
}

/* Abbreviation tooltips: make the dotted underline a touch more visible in dark. */
.md-typeset abbr {
  text-decoration-color: var(--md-accent-fg-color);
  cursor: help;
}

/* Tighten task-list spacing inside checklist admonitions. */
.md-typeset .checklist .task-list-item {
  margin-bottom: 0.2rem;
}

/* ===== Learning Mode admonitions: your-turn (decision point) + insight (★) ===== */
:root {
  --md-admonition-icon--your-turn: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8 3a2 2 0 0 0-2 2v4a2 2 0 0 1-2 2H3v2h1a2 2 0 0 1 2 2v4a2 2 0 0 0 2 2h2v-2H8v-5a2 2 0 0 0-2-2 2 2 0 0 0 2-2V5h2V3zm8 0a2 2 0 0 1 2 2v4a2 2 0 0 0 2 2h1v2h-1a2 2 0 0 0-2 2v4a2 2 0 0 1-2 2h-2v-2h2v-5a2 2 0 0 1 2-2 2 2 0 0 1-2-2V5h-2V3z"/></svg>');
  --md-admonition-icon--insight: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a7 7 0 0 1 7 7c0 2.38-1.19 4.47-3 5.74V17a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-2.26C6.19 13.47 5 11.38 5 9a7 7 0 0 1 7-7zm-3 19v-1h6v1a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1z"/></svg>');
}

/* your-turn (indigo) — the learner writes the load-bearing code here */
.md-typeset .admonition.your-turn,
.md-typeset details.your-turn {
  border-color: #6366f1;
}
.md-typeset .your-turn > .admonition-title,
.md-typeset .your-turn > summary {
  background-color: rgba(99, 102, 241, 0.1);
}
.md-typeset .your-turn > .admonition-title::before,
.md-typeset .your-turn > summary::before {
  background-color: #6366f1;
  -webkit-mask-image: var(--md-admonition-icon--your-turn);
          mask-image: var(--md-admonition-icon--your-turn);
}

/* insight (gold ★) — 2–3 design/trade-off points */
.md-typeset .admonition.insight,
.md-typeset details.insight {
  border-color: #f5b301;
}
.md-typeset .insight > .admonition-title,
.md-typeset .insight > summary {
  background-color: rgba(245, 179, 1, 0.1);
}
.md-typeset .insight > .admonition-title::before,
.md-typeset .insight > summary::before {
  background-color: #f5b301;
  -webkit-mask-image: var(--md-admonition-icon--insight);
          mask-image: var(--md-admonition-icon--insight);
}

