/* Minimal theme for Ch.4 — swap for the course custom.css if preferred */
:root {
  --navy: #333399;
  --red: #C00000;
  --green: #2E7D32;
}
.reveal { font-size: 30px; }
.reveal h1, .reveal h2 { color: var(--red); font-weight: 500; }
.reveal h2 { font-size: 1.35em; }
.reveal h3 { color: var(--navy); font-size: 1.0em; }
.reveal .slide-number { font-size: 14px; }
.reveal section img { margin: 4px auto; display: block; }

.ex   { color: var(--red); font-weight: 600; }       /* "Example 4.x" label */
.key  { color: var(--red); }
.navy { color: var(--navy); }
.grn  { color: var(--green); }
.new  { font-size: 0.55em; font-weight: 700; color: #fff; background: var(--green);
        padding: 1px 6px; border-radius: 3px; vertical-align: middle; margin-left: 8px; }
.fix  { font-size: 0.55em; font-weight: 700; color: #fff; background: #b36b00;
        padding: 1px 6px; border-radius: 3px; vertical-align: middle; margin-left: 8px; }

.reveal .callout { font-size: 0.85em; }
.reveal table { font-size: 0.92em; }
.reveal table th { color: var(--navy); }
.reveal pre code { font-size: 0.82em; line-height: 1.35; max-height: 560px; }
.reveal .panel-tabset .tab-content { font-size: 0.95em; }

.box { border: 2px solid var(--navy); border-radius: 6px; padding: 6px 14px; margin: 8px 0; }
.boxr { border: 2px solid var(--red); border-radius: 6px; padding: 6px 14px; margin: 8px 0; }
.small { font-size: 0.78em; }
.tiny  { font-size: 0.62em; }
.center { text-align: center; }

/* section title slides */
.reveal section.title-slide h1 { color: var(--navy); }
.reveal .subtitle { color: var(--red); }

/* larger code inside tabsets */
.reveal div.sourceCode pre code { font-size: 20px !important; line-height: 1.35 !important; }
.reveal div.sourceCode { max-height: 560px; overflow: auto; }

/* review badges (NEW / FIX): hidden in the published deck; delete this rule to show them */
.new, .fix { display: none !important; }

/* ---------- print / PDF (reveal ?print-pdf) ---------- */
.print-only { display: none; }
html.print-pdf .print-only { display: block; }
html.print-pdf .screen-only { display: none !important; }
/* show every code tab, stacked and labelled */
html.print-pdf .panel-tabset .panel-tabset-tabby, html.print-pdf .panel-tabset .nav-tabs { display: none; }
html.print-pdf .panel-tabset .tab-content > div { display: block !important; opacity: 1 !important; }
html.print-pdf .panel-tabset .tab-content > div::before {
  display: block; font-size: 15px; font-weight: 700; color: var(--navy); margin: 4px 0 2px;
}
html.print-pdf .panel-tabset .tab-content > div:nth-child(1)::before { content: "Python"; }
html.print-pdf .panel-tabset .tab-content > div:nth-child(2)::before { content: "MATLAB"; }
html.print-pdf .reveal div.sourceCode pre code { font-size: 15.5px !important; line-height: 1.25 !important; }
html.print-pdf .reveal div.sourceCode { max-height: none; overflow: visible; margin: 2px 0; }
html.print-pdf .reveal .code-copy-button { display: none; }

/* compact formula tables (tuning-rule tables) */
.reveal .ftab table { font-size: 0.8em; }
.reveal .ftab td, .reveal .ftab th { padding: 0.25em 0.9em; }

/* ---------- frame: page number top-right, school logo bottom-right, tools bottom-left ---------- */
.reveal .slide-number { top: 14px !important; bottom: auto !important; right: 18px !important; left: auto !important;
  background: transparent !important; color: #555 !important; font-size: 17px !important; }
.reveal .slide-number a { color: #555 !important; }
.reveal .slide-logo { max-height: 28px !important; height: 28px !important; bottom: 5px !important; right: 10px !important; }
html.print-pdf .reveal .slide-logo { max-height: 26px !important; height: 26px !important; bottom: 3px !important; right: 8px !important; }
html.print-pdf .slide-chalkboard-buttons, html.print-pdf .slide-menu-button { display: none !important; }
