@import url('https://fonts.googleapis.com/css2?family=Ultra&family=Geist:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap');
/* T092: one font contract for static pages and dynamically inserted lesson/lab content. */
:root { --font-tech: 'Ultra', Georgia, serif; --heading: 'Ultra', Georgia, serif; --font-body: 'Geist', sans-serif; --font-main: 'Geist', sans-serif; --sans: 'Geist', sans-serif; --font-code: 'JetBrains Mono', monospace; --mono: 'JetBrains Mono', monospace; --bb-control-font: 'Geist', sans-serif; }
html { font-synthesis: none; }
:root body { font-family: 'Geist', sans-serif !important; font-weight: 500 !important; }
:root body :is(h1,h2,h3,h4,h5,h6):not(:where(:is([data-bb-font-scene],.chalk-strip,.chalk-card,.chalkboard,.bsod-kernel-screen,.terminal,.terminal-window,.console,.os-window,.sim-window,.simulated-ui,.browser-viewport,.wa-window,.cli-terminal,.cli-screen,#linux-terminal,#cliHost,#cliPrompt,.acl-packet,.port-line), :is([data-bb-font-scene],.chalk-strip,.chalk-card,.chalkboard,.bsod-kernel-screen,.terminal,.terminal-window,.console,.os-window,.sim-window,.simulated-ui,.browser-viewport,.wa-window,.cli-terminal,.cli-screen,#linux-terminal,#cliHost,#cliPrompt,.acl-packet,.port-line) *)) { font-family: 'Ultra', Georgia, serif !important; font-weight: 400 !important; font-synthesis: none !important; }
:root body :is(p,li,label):not(:where(:is([data-bb-font-scene],.chalk-strip,.chalk-card,.chalkboard,.bsod-kernel-screen,.terminal,.terminal-window,.console,.os-window,.sim-window,.simulated-ui,.browser-viewport,.wa-window,.cli-terminal,.cli-screen,#linux-terminal,#cliHost,#cliPrompt,.acl-packet,.port-line), :is([data-bb-font-scene],.chalk-strip,.chalk-card,.chalkboard,.bsod-kernel-screen,.terminal,.terminal-window,.console,.os-window,.sim-window,.simulated-ui,.browser-viewport,.wa-window,.cli-terminal,.cli-screen,#linux-terminal,#cliHost,#cliPrompt,.acl-packet,.port-line) *, button *, [role='button'] *)) { font-family: 'Geist', sans-serif !important; font-weight: 500; }
:root body :is(button,input,select,textarea,.btn,[role='button'],nav a,.bb-return-link):not(:where(:is([data-bb-font-scene],.chalk-strip,.chalk-card,.chalkboard,.bsod-kernel-screen,.terminal,.terminal-window,.console,.os-window,.sim-window,.simulated-ui,.browser-viewport,.wa-window,.cli-terminal,.cli-screen,#linux-terminal,#cliHost,#cliPrompt,.acl-packet,.port-line), :is([data-bb-font-scene],.chalk-strip,.chalk-card,.chalkboard,.bsod-kernel-screen,.terminal,.terminal-window,.console,.os-window,.sim-window,.simulated-ui,.browser-viewport,.wa-window,.cli-terminal,.cli-screen,#linux-terminal,#cliHost,#cliPrompt,.acl-packet,.port-line) *)) { font-family: 'Geist', sans-serif !important; }
:root body :is(button,.btn,[role='button'],nav a,.bb-return-link):not(:where(:is([data-bb-font-scene],.chalk-strip,.chalk-card,.chalkboard,.bsod-kernel-screen,.terminal,.terminal-window,.console,.os-window,.sim-window,.simulated-ui,.browser-viewport,.wa-window,.cli-terminal,.cli-screen,#linux-terminal,#cliHost,#cliPrompt,.acl-packet,.port-line), :is([data-bb-font-scene],.chalk-strip,.chalk-card,.chalkboard,.bsod-kernel-screen,.terminal,.terminal-window,.console,.os-window,.sim-window,.simulated-ui,.browser-viewport,.wa-window,.cli-terminal,.cli-screen,#linux-terminal,#cliHost,#cliPrompt,.acl-packet,.port-line) *)) { font-weight: 700; }
:root body :is(code,pre,kbd,samp) { font-family: 'JetBrains Mono', monospace !important; }
@media (max-width: 480px) { :root body :is(h1,h2,h3,h4,h5,h6):not(:where(:is([data-bb-font-scene],.chalk-strip,.chalk-card,.chalkboard,.bsod-kernel-screen,.terminal,.terminal-window,.console,.os-window,.sim-window,.simulated-ui,.browser-viewport,.wa-window,.cli-terminal,.cli-screen,#linux-terminal,#cliHost,#cliPrompt,.acl-packet,.port-line), :is([data-bb-font-scene],.chalk-strip,.chalk-card,.chalkboard,.bsod-kernel-screen,.terminal,.terminal-window,.console,.os-window,.sim-window,.simulated-ui,.browser-viewport,.wa-window,.cli-terminal,.cli-screen,#linux-terminal,#cliHost,#cliPrompt,.acl-packet,.port-line) *)) { max-width: 100%; overflow-wrap: anywhere; white-space: normal; } }

/* Scene typography is instructional evidence, rather than page reading copy. */
:root body :is(.chalk-strip,.chalk-card,.chalkboard) :is(h1,h2,h3,h4,h5,h6,p,li,label) { font-family: 'Segoe Print', 'Comic Sans MS', cursive !important; font-weight: 400 !important; }
:root body :is(.bsod-kernel-screen,.terminal,.terminal-window,.console,.cli-terminal,.cli-screen,#linux-terminal,.acl-packet) :is(p,li,label), :root body :is(#cliHost,#cliPrompt,.port-line) { font-family: 'JetBrains Mono', monospace !important; }
:root body .wa-window :is(p,li,label,button,input,select,textarea) { font-family: 'Segoe UI', Arial, sans-serif !important; }

:root body .bsod-kernel-screen p { font-family: Consolas, 'Courier New', monospace !important; }
:root body .chalk-strip h3 { font-family: 'Comic Sans MS', 'Segoe Print', cursive !important; }

/* Browser small/sup/sub defaults otherwise shrink inherited text below the site floor. */
small { font-size: max(15px, .833333em); }
sup, sub { font-size: max(14px, .75em); }

/* Supply a readable default where controls otherwise use the browser 13.33px default. */
:where(button, input, select, textarea) { font-size: 15px; }

/* Reading defaults preserve larger inherited sizes. */
:where(p, td, dd, legend) { font-size: max(15px, 1em); }
