.latex-document{border-block:4px double var(--bignon-border);grid-template-columns:minmax(0,1fr);gap:.45rem;margin-block:2rem;padding-block:.5rem;display:grid}.latex-document h2{border-bottom:1px solid var(--bignon-border);color:var(--sl-color-accent-high);text-shadow:none;margin:1.6rem 0 .4rem;padding:.45rem 0;font-size:1.75rem}.latex-document h3{border-top:1px solid color-mix(in srgb, var(--bignon-border) 30%, transparent);color:var(--sl-color-accent-high);gap:.2rem;margin:1rem 0 .35rem;padding-top:.6rem;font-size:1.05rem;display:grid}.latex-document h3 span{color:var(--bignon-secondary);font-size:.82rem;font-weight:700}.latex-document h3 .latex-document__heading{color:inherit;font-size:inherit}.latex-document h3 .latex-document__badge{color:var(--bignon-secondary);letter-spacing:.04em;vertical-align:.12em;border:1px solid;border-radius:999px;margin-right:.2rem;padding:.05rem .45rem;font-size:.72rem;display:inline-block}.latex-document p,.latex-document li,.latex-document code{color:var(--sl-color-gray-1)}.latex-document p{margin:.35rem 0}.latex-document ol,.latex-document ul{margin-block:.3rem .65rem;padding-inline-start:1.35rem}.latex-document li{margin-block:.25rem}.latex-document code{font-size:.9em}.latex-document__code{border:1px solid color-mix(in srgb, var(--bignon-border) 55%, transparent);background:color-mix(in srgb, var(--sl-color-gray-6) 72%, transparent);margin:.4rem 0 .75rem;padding:.75rem;font-size:.82rem;line-height:1.45;overflow-x:auto}.latex-document__code code{color:var(--sl-color-gray-1)}.latex-document__center{overflow-x:auto}.latex-document__table{border-collapse:collapse;width:100%;font-size:.9rem}.latex-document__table td{vertical-align:top;padding:.2rem .5rem .2rem 0}.latex-document .katex-display{text-align:left;margin:.45rem 0;font-size:.95rem;overflow:auto hidden}.latex-help{grid-template-columns:minmax(0,1fr);gap:.5rem;margin:.3rem 0 .6rem;display:grid}.latex-help__actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.latex-help__button,.latex-help__solution>summary{border:1px solid var(--bignon-border);color:var(--sl-color-accent-high);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.25rem .75rem;font-size:.85rem;font-weight:700}.latex-help__button[aria-expanded=true]{background:color-mix(in srgb, var(--sl-color-accent) 18%, transparent)}.latex-help__hint,.latex-help__body{border-left:3px solid var(--sl-color-accent);background:color-mix(in srgb, var(--sl-color-gray-6) 60%, transparent);color:var(--sl-color-gray-1);padding:.5rem .75rem}.latex-help__hint[hidden]{display:none}.latex-help .latex-help__actions>*,.latex-help>*{margin:0}.latex-help .latex-help__solution{background:0 0;border:0;padding:0}.latex-help .latex-help__solution>summary{margin:0;display:inline-block}.latex-help__body{margin-top:.5rem}.latex-help .katex-display{overflow:auto hidden}.latex-document__figure{max-width:26rem;margin:.6rem auto}.latex-document__figure img{background:#fff;border-radius:.4rem;width:100%;height:auto;padding:.4rem;display:block}.latex-document h3.latex-document__saveable{padding-right:2.6rem;position:relative}.exercise-save{border:1px solid var(--bignon-border);width:2.1rem;height:2.1rem;color:var(--sl-color-accent-high);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;margin:0;padding:0;display:none;position:absolute;top:.45rem;right:0}:root[data-saved-exercises=ready] .exercise-save{display:inline-flex}.exercise-save svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linejoin:round}.exercise-save:hover,.exercise-save:focus-visible{background:color-mix(in srgb, var(--sl-color-accent) 18%, transparent)}.exercise-save[aria-pressed=true]{border-color:var(--sl-color-accent);background:color-mix(in srgb, var(--sl-color-accent) 22%, transparent)}.exercise-save[aria-pressed=true] svg{fill:currentColor}.exercise-save-toast{z-index:100;border:1px solid var(--bignon-border);background:var(--sl-color-bg);max-width:calc(100vw - 2rem);color:var(--sl-color-gray-1);padding:.6rem .9rem;font-size:.9rem;position:fixed;bottom:1rem;right:1rem;box-shadow:0 .4rem 1.2rem #0000002e}.exercise-save-toast[hidden]{display:none}.exercise-save-toast a{color:var(--sl-color-accent-high);font-weight:700}@media (width<=50rem){.latex-document{font-size:.94rem}.latex-document h2{font-size:1.45rem}.latex-document .katex-display{font-size:.84rem}}.latex-document__code[data-lang]{tab-size:4;margin-bottom:0}.latex-document__code[data-lang] code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.latex-document__code[data-lang=python]:not([data-runner]){margin-bottom:.75rem}.latex-document .py-runner__toolbar>*{margin:0}.latex-document__code[data-lang=sql]{margin-bottom:.75rem}.latex-document__code [contenteditable]{white-space:pre;outline:none;min-width:100%;display:block}.latex-document__code:focus-within{border-color:var(--sl-color-accent)}.latex-document__code .tok-keyword{color:var(--bignon-code-keyword);font-weight:700}.latex-document__code .tok-builtin,.latex-document__code .tok-function{color:var(--bignon-code-function)}.latex-document__code .tok-string{color:var(--bignon-code-string)}.latex-document__code .tok-number{color:var(--bignon-code-number)}.latex-document__code .tok-comment{color:var(--sl-color-gray-3);font-style:italic}.latex-document,.cours{--bignon-code-keyword:#7a2e8e;--bignon-code-function:#1f5fa8;--bignon-code-string:#2f7a3a;--bignon-code-number:#a24b12}:root[data-theme=dark] .latex-document,:root[data-theme=dark] .cours{--bignon-code-keyword:#d79bea;--bignon-code-function:#8ab8f0;--bignon-code-string:#94d29e;--bignon-code-number:#f0aa76}.py-runner__toolbar{border:1px solid color-mix(in srgb, var(--bignon-border) 55%, transparent);border-top:0;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 .75rem;padding:.35rem .5rem;display:flex}.py-runner__button{border:1px solid var(--bignon-border);color:var(--sl-color-accent-high);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.15rem .65rem;font-size:.8rem;font-weight:700}.py-runner__button--run:before{content:"▶ ";font-size:.7em}.py-runner__button:disabled{opacity:.55;cursor:progress}.py-runner__button[hidden]{display:none}.py-runner__status{color:var(--sl-color-gray-3);font-size:.8rem}.py-runner__toolbar:has(+.py-runner__output:not([hidden])){margin-bottom:0}.py-runner__output{border:1px solid color-mix(in srgb, var(--bignon-border) 55%, transparent);border-top:0;border-left:3px solid var(--sl-color-accent);gap:.4rem;margin:0 0 .75rem;padding:.5rem .75rem;display:grid}.py-runner__output[hidden]{display:none}.latex-document .py-runner__output>*{margin:0}.py-runner__output pre{color:var(--sl-color-gray-1);white-space:pre-wrap;background:0 0;border:0;padding:0;font-size:.82rem;overflow-x:auto}.latex-document .py-runner__output .py-runner__error{color:var(--sl-color-red-high,#b3261e)}.py-runner__empty{color:var(--sl-color-gray-3);font-size:.85rem}.py-runner__output img{background:#fff;border-radius:.3rem;max-width:min(100%,32rem)}.py-runner__scratch code{min-height:7.5em;display:block}
