/* nickfrates.com study lessons, v2 (Oct 4, 2026). Loaded only on Tutor course / lesson / quiz pages
   by inc/nf-lesson-enqueue.php. Content rules are scoped under .nf-lesson; the light-mode lock below only
   touches Tutor's own colour tokens on those pages.
   Colors and fonts come from the live nickfrates.com theme (Twenty Twenty-Five + the study-guide post styles). */

/* ---- Cert Lab light-mode lock ----
   Tutor 4.x switches its learning area to dark (html[data-tutor-theme="dark"], or "system" when the device
   is in dark mode) by swapping its --tutor-* colour tokens. Cert Lab lessons are designed light (dark text,
   pastel callouts), so on these pages we put Tutor's own light token values back. Higher specificity than
   Tutor's [data-tutor-theme=dark] rules; values copied from Tutor 4.1.0 :root,[data-tutor-theme=light]. */
html[data-tutor-theme=dark],html[data-tutor-theme=system],
html[data-tutor-theme=dark][data-tutor-contrast],html[data-tutor-theme=system][data-tutor-contrast],
html[data-tutor-theme=dark][data-tutor-vision],html[data-tutor-theme=system][data-tutor-vision]{color-scheme:light;
--tutor-surface-base:#fafafa;--tutor-surface-l1:#fff;--tutor-surface-l1-hover:#f5f5f6;--tutor-surface-l2:#ececed;--tutor-surface-l2-hover:#cecfd2;--tutor-surface-l3:#f5f5f6;--tutor-surface-brand-secondary:var(--tutor-brand-300,#dbe4fa);--tutor-surface-brand-tertiary:var(--tutor-brand-100,#f6f8fe);--tutor-surface-brand-quaternary:var(--tutor-brand-200,#e4ebfc);--tutor-surface-sidebar-l1:#fcfcfc;--tutor-surface-exception2-secondary:#fff0f9;--tutor-surface-exception6:#f2e8ff;--tutor-surface-dark:#0c111d;--tutor-surface-warning:#fffaeb;--tutor-surface-warning-hover:#fef0c7;--tutor-surface-warning-hover-2:#fef0c7;--tutor-surface-success:#eaf6ec;--tutor-surface-critical:#fee4e2;--tutor-text-primary:#0c111d;--tutor-text-secondary:#333741;--tutor-text-disabled:#cecfd2;--tutor-text-brand:var(--tutor-brand-600,#3e64de);--tutor-text-brand-hover:var(--tutor-brand-700,#2b49ca);--tutor-text-success:#1c7731;--tutor-text-warning:#93370d;--tutor-text-caution:#854a0e;--tutor-icon-idle:#333741;--tutor-icon-hover:#161b26;--tutor-icon-subdued:#94969c;--tutor-icon-disabled:#cecfd2;--tutor-icon-brand:var(--tutor-brand-600,#3e64de);--tutor-icon-brand-secondary:var(--tutor-brand-300,#dbe4fa);--tutor-icon-success-secondary:#24983f;--tutor-icon-warning:#b54708;--tutor-button-primary-soft:var(--tutor-brand-200,#e4ebfc);--tutor-button-primary-soft-hover:var(--tutor-brand-300,#dbe4fa);--tutor-button-primary-soft-focused:var(--tutor-brand-200,#e4ebfc);--tutor-button-disabled:#f0f1f1;--tutor-button-success:#24983f;--tutor-button-success-hover:#1c7731;--tutor-button-success-focused:#24983f;--tutor-button-secondary:#ececed;--tutor-button-secondary-hover:#cecfd2;--tutor-button-secondary-focused:#ececed;--tutor-button-outline-inverse:#fff;--tutor-button-outline-hover:#ececed;--tutor-button-outline-focused-inverse:#fff;--tutor-button-ghost-hover:#ececed;--tutor-border-idle:#ececed;--tutor-border-idle2:#ececed;--tutor-border-hover:#cecfd2;--tutor-border-tertiary:#94969c;--tutor-border-inverse:#fff;--tutor-border-brand-secondary:var(--tutor-brand-300,#dbe4fa);--tutor-border-brand-tertiary:var(--tutor-brand-400,#a4bcf4);--tutor-border-dark:#0c111d;--tutor-border-success:#6fc482;--tutor-border-success-secondary:#1c7731;--tutor-border-warning-secondary:#b54708;--tutor-border-warning-tertiary:#fdb022;--tutor-border-error:#fda29b;--tutor-border-error-secondary:#b42318;--tutor-tab-sidebar-l2:#fcfcfc;--tutor-tab-sidebar-l2-hover:#ececed;--tutor-tab-sidebar-l2-active:var(--tutor-brand-200,#e4ebfc);--tutor-tab-sidebar-l4-hover:#ececed;--tutor-tab-sidebar-l4-active:var(--tutor-brand-200,#e4ebfc);--tutor-tab-l3:var(--tutor-brand-200,#e4ebfc);--tutor-tab-l3-hover:var(--tutor-brand-300,#dbe4fa);--tutor-tab-l3-active:var(--tutor-brand-200,#e4ebfc);--tutor-tab-l3-active-hover:#f0f1f1;--tutor-actions-success-tertiary:#eaf6ec;--tutor-actions-success-exception:#28a745;--tutor-actions-warning-secondary:#fef0c7;--tutor-actions-warning-exception:#f79009;--tutor-actions-brand-primary:var(--tutor-brand-600,#3e64de);--tutor-actions-brand-secondary:var(--tutor-brand-300,#dbe4fa);--tutor-actions-brand-tertiary:var(--tutor-brand-200,#e4ebfc);--tutor-actions-gray-empty:#f5f5f6;--tutor-actions-gray-secondary:#f0f1f1;--tutor-actions-gray-tertiary:#ececed;--tutor-actions-gray-quaternary:#e0e0e1;--tutor-actions-critical-secondary:#fee4e2;--tutor-quiz-idle:#fafafa;--tutor-quiz-hover:#f0f1f1;--tutor-visual-gray-1:#fff;--tutor-visual-gray-2:#ececed;--tutor-visual-gray-3:#cecfd2;--tutor-visual-gray-4:#2d3039;--tutor-visual-brand-1:var(--tutor-brand-500,#4979e8);--tutor-visual-brand-2:var(--tutor-brand-400,#a4bcf4);--tutor-visual-brand-3:var(--tutor-brand-300,#dbe4fa);--tutor-visual-critical-1:#f04438;--tutor-visual-critical-2:#fee4e2;--tutor-visual-caution-1:#fde272}

.nf-lesson{
  --nf-ink:#1F2933; --nf-muted:#52606D; --nf-navy:#2C3E50; --nf-night:#131B1E;
  --nf-blue:#3498DB; --nf-blue-ink:#1A5F91; --nf-blue-hover:#124A73; --nf-sky:#EEF6FC; --nf-sky-line:#C9DCEC; --nf-cloud:#EEF1F4; --nf-paper:#F7F9FB;
  --nf-amber:#F0A500; --nf-amber-bg:#FFF6E0; --nf-amber-ink:#7A4F00;
  --nf-green:#2E9E6A; --nf-green-bg:#EAF7F0; --nf-green-ink:#1E6B45;
  --nf-purple:#503AA8; --nf-purple-bg:#F1EEFB;
  --nf-red:#B42318; --nf-red-bg:#FDECEA;
  max-width:720px; margin:0 auto; background:transparent;
  font-family:Nunito,"Segoe UI",Roboto,Arial,sans-serif; font-size:18px; line-height:1.7; color:var(--nf-ink);
}
.nf-lesson p,.nf-lesson li,.nf-lesson td,.nf-lesson dd,.nf-lesson dt,.nf-lesson figcaption,.nf-lesson details{color:inherit}
.nf-lesson h2,.nf-lesson h3,.nf-lesson h4{font-family:"Fira Sans","Segoe UI",Roboto,Arial,sans-serif;color:var(--nf-night);line-height:1.25;margin:1.6em 0 .5em}
.nf-lesson h2{font-size:28px;font-weight:400}
.nf-lesson h3{font-size:22px;font-weight:700}
.nf-lesson h4{font-size:19px;font-weight:700}
.nf-lesson p,.nf-lesson ul,.nf-lesson ol{margin:0 0 1em}
.nf-lesson ul,.nf-lesson ol{padding-left:1.4em}
.nf-lesson li{margin:.3em 0}
.nf-lesson li::marker{color:var(--nf-navy)}
.nf-lesson a{color:var(--nf-blue-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.nf-lesson a:hover{color:var(--nf-blue-hover);text-decoration-thickness:2px}
.nf-lesson a:focus-visible{outline:3px solid var(--nf-blue);outline-offset:2px;border-radius:3px}
.nf-lesson strong{font-weight:800;color:inherit}
.nf-lesson code,.nf-lesson kbd{font-family:"Fira Code",ui-monospace,monospace;font-size:.88em;color:var(--nf-ink);background:var(--nf-cloud);border:1px solid #DDE3E9;padding:1px 5px;border-radius:4px}
.nf-lesson pre{background:var(--nf-paper);color:var(--nf-ink);border:1px solid #DDE3E9;border-radius:8px;padding:12px 14px;overflow-x:auto;font-size:15px;line-height:1.55}
.nf-lesson pre code{background:none;border:0;padding:0}
.nf-lesson blockquote{margin:22px 0;padding:12px 18px;border-left:4px solid var(--nf-sky-line);background:var(--nf-paper);color:var(--nf-ink);border-radius:0 8px 8px 0}
.nf-lesson blockquote > :last-child{margin-bottom:0}
.nf-lesson hr{border:0;border-top:1px solid var(--nf-sky-line);margin:28px 0}
.nf-lesson img{max-width:100%;height:auto}

/* objective pill (top of every lesson) */
.nf-objective{display:inline-block;background:var(--nf-sky);border:1px solid var(--nf-sky-line);color:var(--nf-blue-ink);
  border-radius:999px;padding:3px 14px;font-size:14px;font-weight:700;line-height:1.5}
.nf-lesson .nf-outcome{font-size:17px;color:var(--nf-navy)}

/* callouts: Key takeaway, Exam trap, Try it, Quick check */
.nf-lesson .nf-callout{position:relative;border-radius:10px;border-left:6px solid;padding:14px 18px 6px;margin:22px 0;font-size:17px;color:var(--nf-ink)}
.nf-lesson .nf-callout > :last-child{margin-bottom:8px}
.nf-lesson .nf-callout__label{display:flex;align-items:center;gap:8px;margin:0 0 6px;
  font-family:"Fira Sans","Segoe UI",Roboto,Arial,sans-serif;font-weight:700;font-size:15px;letter-spacing:.04em;text-transform:uppercase}
.nf-lesson .nf-callout__label::before{content:"";flex:0 0 22px;height:22px;background:currentColor;
  -webkit-mask:var(--nf-icon) center/contain no-repeat;mask:var(--nf-icon) center/contain no-repeat}
.nf-lesson .nf-callout__meta{font-family:Nunito,"Segoe UI",Roboto,Arial,sans-serif;font-weight:600;font-size:14px;letter-spacing:0;text-transform:none;opacity:.85;margin-left:auto}
.nf-lesson .nf-key{background:var(--nf-sky);border-color:var(--nf-blue)}
.nf-lesson .nf-key .nf-callout__label{color:var(--nf-blue-ink);
  --nf-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='12' r='4'/%3E%3Cpath d='M12 12h9M18 12v3M21 12v2'/%3E%3C/svg%3E")}
.nf-lesson .nf-trap{background:var(--nf-amber-bg);border-color:var(--nf-amber)}
.nf-lesson .nf-trap .nf-callout__label{color:var(--nf-amber-ink);
  --nf-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2 20h20L12 3z'/%3E%3Cpath d='M12 10v4M12 17v.5'/%3E%3C/svg%3E")}
.nf-lesson .nf-try{background:var(--nf-green-bg);border-color:var(--nf-green)}
.nf-lesson .nf-try .nf-callout__label{color:var(--nf-green-ink);
  --nf-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 6.5a4 4 0 0 0-5.3 5.3L4 17v3h3l5.2-5.2a4 4 0 0 0 5.3-5.3l-2.6 2.6-2.4-.6-.6-2.4z'/%3E%3C/svg%3E")}
.nf-lesson .nf-check{background:var(--nf-purple-bg);border-color:var(--nf-purple)}
.nf-lesson .nf-check .nf-callout__label{color:var(--nf-purple);
  --nf-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.5 9.5a2.5 2.5 0 1 1 3.5 2.3c-.6.3-1 .9-1 1.6v.6M12 17v.5'/%3E%3C/svg%3E")}
.nf-lesson .nf-check details{margin:6px 0 10px;border-top:1px dashed #C9C0EC;padding-top:8px}
.nf-lesson .nf-check summary{cursor:pointer;color:var(--nf-purple);font-weight:800;list-style:revert}
.nf-lesson .nf-check summary:focus-visible{outline:3px solid var(--nf-blue);outline-offset:2px;border-radius:4px}
.nf-lesson .nf-check details[open] summary{margin-bottom:6px}

/* comparison tables: matches the existing study-guide tables (sky header, light-blue rules) */
.nf-lesson .nf-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:20px 0;border:1px solid var(--nf-sky-line);border-radius:10px}
.nf-lesson .nf-table{border-collapse:collapse;width:100%;font-size:16px;line-height:1.5;margin:0;color:var(--nf-ink);background:#fff}
.nf-lesson .nf-table--wide{min-width:560px}
.nf-lesson .nf-table th,.nf-lesson .nf-table td{border:0;border-bottom:1px solid var(--nf-sky-line);padding:10px 12px;text-align:left;vertical-align:top}
.nf-lesson .nf-table thead th{background:var(--nf-sky);color:var(--nf-night);border-bottom:2px solid var(--nf-sky-line);font-family:"Fira Sans","Segoe UI",Roboto,Arial,sans-serif;font-weight:700}
.nf-lesson .nf-table tbody th{font-weight:800;color:var(--nf-navy);background:#FAFCFE;min-width:120px}
.nf-lesson .nf-table tr.nf-pick th,.nf-lesson .nf-table tr.nf-pick td{background:var(--nf-green-bg);color:var(--nf-green-ink);font-weight:700;border-bottom:0}

/* figures (diagrams) */
.nf-lesson .nf-figure{margin:24px auto;max-width:600px}
.nf-lesson .nf-figure img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--nf-sky-line)}
.nf-lesson .nf-figure figcaption{font-size:15px;line-height:1.55;color:var(--nf-muted);margin-top:8px}
.nf-lesson .nf-figure details{font-size:15px;color:var(--nf-muted);margin-top:4px}
.nf-lesson .nf-figure summary{cursor:pointer;color:var(--nf-blue-ink);font-weight:700}

/* Tutor quiz: question text, options and the answer-explanation box (Tutor 4.1 [data-quiz-explanation]) */
.tutor-quiz-explanation-body,[data-quiz-explanation]{color:var(--tutor-text-primary,#0c111d);font-size:17px;line-height:1.65}
.tutor-quiz-explanation-body a,[data-quiz-explanation] a{color:#1A5F91;text-decoration:underline;text-underline-offset:3px}
.tutor-quiz-explanation-body a:hover,[data-quiz-explanation] a:hover{color:#124A73}
.tutor-quiz-explanation-body code,[data-quiz-explanation] code{font-family:"Fira Code",ui-monospace,monospace;font-size:.88em;color:#1F2933;background:#EEF1F4;padding:1px 5px;border-radius:4px}

/* quiz answer explanations written by the importer: .nf-explanation (new), plus the older inline
   style="background:#f5f7ff" boxes until they are swapped over */
.nf-explanation,[style*="f5f7ff" i]{background:#EEF6FC !important;color:#1F2933 !important;border-left:4px solid #3498DB;border-radius:8px;padding:12px 16px;margin:12px 0;font-size:17px;line-height:1.65}
.nf-explanation *,[style*="f5f7ff" i] *{color:inherit}
.nf-explanation a,[style*="f5f7ff" i] a{color:#1A5F91;text-decoration:underline;text-underline-offset:3px}
.nf-explanation strong,[style*="f5f7ff" i] strong{font-weight:800}
.nf-explanation > :last-child,[style*="f5f7ff" i] > :last-child{margin-bottom:0}

/* screen-reader-only " (opens in new tab)" added to external links by assets/js/nf-external-links.js */
.nf-sr-newtab{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}

@media (max-width:600px){
  .nf-lesson{font-size:17px;line-height:1.65}
  .nf-lesson h2{font-size:24px}.nf-lesson h3{font-size:20px}
  .nf-lesson .nf-callout{padding:12px 14px 4px;margin:18px 0}
  .nf-lesson .nf-callout__meta{display:block;margin:2px 0 0;width:100%}
  .nf-lesson .nf-callout__label{flex-wrap:wrap}
}
@media print{.nf-lesson .nf-check details{display:block}.nf-lesson .nf-check details > *{display:block}}
