
/* --- BUNDLED: base.css --- */
*,::after,::before{box-sizing:border-box;margin:0;padding:0}body.no-transition .sidebar,body.no-transition .main-content,body.no-transition .sidebar-toggle{transition:none !important}:root{--bg:#fff;--sidebar-bg:#f8fafc;--text:#334155;--text-muted:#64748b;--heading:#0f172a;--link:#3b82f6;--link-hover:#1d4ed8;--border:#e2e8f0;--code-bg:#f1f5f9;--active-bg:rgba(59,130,246,0.08);--course-accent:#3b82f6;--font:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-variant-ligatures:none;--font-code:'JetBrains Mono','Fira Code',Consolas,monospace;--content-max:760px;--sidebar-width:300px;--bg-alt:#fbfdff;--callout-note:#3b82f6;--callout-abstract:#06b6d4;--callout-info:#0ea5e9;--callout-todo:#14b8a6;--callout-tip:#22c55e;--callout-success:#84cc16;--callout-question:#f59e0b;--callout-warning:#f97316;--callout-failure:#ef4444;--callout-danger:#dc2626;--callout-bug:#ec4899;--callout-example:#8b5cf6;--callout-quote:#6b7280;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px -1px rgba(0,0,0,0.1);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1);--radius:8px;--radius-sm:4px}html{font-size:19px;scroll-behavior:smooth}.article-body{font-family:var(--font);font-size:1rem;line-height:1.7;color:var(--text)}body{font-family:var(--font);font-size:1rem;line-height:1.65;color:var(--text);background:var(--bg)}.page-wrapper{display:flex;min-height:100vh;transition:all .3s ease}.sidebar,.sidebar-content{display:flex;flex-direction:column;overflow:hidden}.sidebar{position:fixed;left:0;top:0;width:var(--sidebar-width);height:100vh;background:var(--sidebar-bg);border-right:1px solid var(--border);box-shadow:var(--shadow);z-index:100;transition:transform .3s cubic-bezier(.4,0,.2,1)}.sidebar-content{padding:0;flex:1;height:100%}.sidebar-title-section{padding:2.5rem 1.5rem 1rem;text-align:center}.course-title-link:hover .sidebar-course-title{color:var(--link-hover)}.sidebar-course-title{font-size:1.2rem;font-weight:700;color:var(--heading);text-align:center;line-height:1.4;margin:0;letter-spacing:-.02em}.sidebar-ornament{display:none}.sidebar-toc-section{padding:0 1.5rem;flex:1;display:flex;flex-direction:column;min-height:0}.toc-header{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;text-align:left;padding-bottom:.75rem}.toc-list{list-style:none;padding:0;margin:0;overflow-y:auto;flex:1}.toc-item{margin:2px 0}.toc-item a{display:block;padding:.3rem .25rem;font-size:.85rem;color:var(--text);text-decoration:none;border-radius:var(--radius-sm);transition:all .15s ease}.toc-item a:hover{background:var(--active-bg);color:var(--link)}.toc-item.active a{background:var(--active-bg);color:var(--link);font-weight:600}.toc-item.level-3{margin-left:1.25rem}.toc-item.level-3 a{font-size:.85rem}.toc-item.level-4{margin-left:2.5rem}.toc-item.level-4 a{font-size:.8rem}.toc-item.level-5{margin-left:3.75rem}.toc-item.level-5 a{font-size:.75rem}.toc-item.level-6{margin-left:5rem}.toc-item.level-6 a{font-size:.7rem}.sidebar-nav-section{padding:1rem 1.5rem;border-top:1px solid var(--border);margin-top:auto;display:flex;flex-direction:column;gap:.5rem}.sidebar-nav-link{font-size:.9rem;color:var(--link);text-decoration:none}.sidebar-nav-link:hover,a:hover{text-decoration:underline}.sidebar-nav-link.prev{display:inline-flex;align-items:center;gap:.25rem}.sidebar-nav-link.next{display:inline-flex;align-items:center;justify-content:flex-end;gap:.25rem}.sidebar-nav-link.back{display:inline-flex;align-items:center;gap:.35rem}.nav-icon{width:16px;height:16px;flex-shrink:0}.breadcrumb-icon{width:12px;height:12px;vertical-align:middle}.breadcrumb-separator{display:inline-flex;align-items:center}.mobile-menu-toggle{display:none;position:fixed;top:1rem;left:1rem;z-index:200;width:42px;height:42px;background:var(--course-accent);color:#fff;border:0;border-radius:50%;cursor:pointer;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.2);transition:all .3s cubic-bezier(.4,0,.2,1)}.mobile-menu-toggle:hover{transform:scale(1.05);box-shadow:0 6px 16px rgba(0,0,0,.25)}.mobile-menu-toggle svg{width:20px;height:20px}.mobile-menu-toggle.open{transform:translateX(calc(280px - 1rem - 21px))}.mobile-menu-toggle.open:hover{transform:translateX(calc(280px - 1rem - 21px)) scale(1.05)}.mobile-menu-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:90}.mobile-menu-overlay.open{display:block}.main-content{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;align-items:center;padding:2.5rem 2rem;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.article{width:100%;max-width:var(--content-max);flex:1}.breadcrumb{font-size:.85rem;color:var(--text-muted);text-align:center;padding:.75rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:1rem}.breadcrumb-link{color:var(--text-muted);transition:color .15s}.breadcrumb-link:hover,a{color:var(--link);text-decoration:underline}.breadcrumb-link,a{text-decoration:none}.breadcrumb-separator{margin:0 .4rem;color:var(--heading)}.breadcrumb-current{color:var(--text)}.article-header{text-align:center;margin-bottom:2.5rem;padding-bottom:0;border-bottom:0}.chapter-number{display:block;font-size:1.3rem;font-style:italic;color:var(--text-muted);margin-bottom:.5rem}.article-title{display:flex;justify-content:center;align-items:center;gap:.75rem;font-size:2.25rem;font-weight:700;color:var(--heading);line-height:1.25;margin-bottom:.75rem;letter-spacing:-.02em}.title-ornament{display:none}.title-ornament.right{display:none}.title-text{width:100%}.article-date{margin:0}.article h1,.article h2,.article h3,.article h4,.article h5,.article h6,.article>h2,.article>h3,.article>h4,.article>h5,.article>h6{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;color:var(--heading)}.article h1,.article h2,.article h3{font-size:1.35rem;font-weight:600;margin-top:.5rem;margin-bottom:.3rem;letter-spacing:-.01em}.article-body h2,.article-body h3{font-size:1.2rem;margin-top:10px;margin-bottom:10px;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.article-body h3{font-size:1.05rem;padding-bottom:.25rem}.article-body h4,.article-body h5,.article-body h6{font-size:1rem;font-weight:600;margin-top:10px;margin-bottom:10px}.article-body h2,.article-body h3,.article-body h4,.article-body h5,.article-body h6,.content h2,.content h3,.content h4,.content h5,.content h6{margin-top:10px !important;margin-bottom:10px !important}.heading-roman{display:none}.heading-text{flex:1}.heading-arabic{font-size:.8em;color:var(--text-muted);font-weight:500;margin-left:auto}.article-body p,.content p{margin:1.5rem 0}.article-body p,.content p,.assignment-content p{line-height:1.7;text-align:justify;hyphens:auto}.assignment-content p{margin:.25rem 0}.article-body p:first-child,.content p:first-child,.assignment-content p:first-child{margin-top:0}.article-body p+p,.content p+p,.callout-content p+p{margin-top:1.25rem}.article-body p:last-child,.content p:last-child,.assignment-content p:last-child{margin-bottom:0}.article-body h1+p,.article-body h2+p,.article-body h3+p,.article-body h4+p,.article-body h5+p,.article-body h6+p,.content h1+p,.content h2+p,.content h3+p,.content h4+p,.content h5+p,.content h6+p{margin-top:.25em}.article-body h1:not(:first-child)~p:first-of-type,.article-body h2:not(:first-child)~p:first-of-type,.article-body h3:not(:first-child)~p:first-of-type,.article-body h4:not(:first-child)~p:first-of-type,.article-body h5:not(:first-child)~p:first-of-type,.article-body h6:not(:first-child)~p:first-of-type,.content h1:not(:first-child)~p:first-of-type,.content h2:not(:first-child)~p:first-of-type,.content h3:not(:first-child)~p:first-of-type,.content h4:not(:first-child)~p:first-of-type,.content h5:not(:first-child)~p:first-of-type,.content h6:not(:first-child)~p:first-of-type{margin-top:.25em}.article-body ol,.article-body ul{padding-left:1.5rem}.article-body blockquote{margin:1rem 0;padding:.75rem 1rem;background:var(--code-bg);border-left:3px solid var(--link);font-style:italic;color:var(--text-muted)}.article-body blockquote p:last-child,.callout-content>p:last-child{margin-bottom:0}.callout{margin:1rem 0;border:1px solid var(--border);border-left:4px solid var(--callout-note);border-radius:var(--radius);overflow:hidden;background:var(--code-bg);box-shadow:var(--shadow-sm)}.callout-icon,.callout-title{display:flex;align-items:center}.callout-title{padding:.5rem 1rem;gap:.5rem;font-weight:600;color:var(--callout-note)}.callout-icon{color:inherit}.callout-icon svg{width:18px;height:18px}.callout-title-inner{flex:1}.callout-content{padding:0 1rem 1rem}.callout-abstract{border-left-color:var(--callout-abstract)}.callout-abstract .callout-title{color:var(--callout-abstract)}.callout-info{border-left-color:var(--callout-info)}.callout-info .callout-title{color:var(--callout-info)}.callout-todo{border-left-color:var(--callout-todo)}.callout-todo .callout-title{color:var(--callout-todo)}.callout-tip{border-left-color:var(--callout-tip)}.callout-tip .callout-title{color:var(--callout-tip)}.callout-success{border-left-color:var(--callout-success)}.callout-success .callout-title{color:var(--callout-success)}.callout-question{border-left-color:var(--callout-question)}.callout-question .callout-title{color:var(--callout-question)}.callout-warning{border-left-color:var(--callout-warning)}.callout-warning .callout-title{color:var(--callout-warning)}.callout-failure{border-left-color:var(--callout-failure)}.callout-failure .callout-title{color:var(--callout-failure)}.callout-danger{border-left-color:var(--callout-danger)}.callout-danger .callout-title{color:var(--callout-danger)}.callout-bug{border-left-color:var(--callout-bug)}.callout-bug .callout-title{color:var(--callout-bug)}.callout-example{border-left-color:var(--callout-example)}.callout-example .callout-title{color:var(--callout-example)}.callout-quote{border-left-color:var(--callout-quote)}.callout-quote .callout-title{color:var(--callout-quote)}code:not(pre code){font-family:var(--font-code);background-color:var(--code-bg);padding:.1rem .35rem;border-radius:4px;font-size:.9em;color:var(--link);border:1px dashed var(--border);white-space:pre-wrap;word-break:break-word;font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}pre[class*=language-]{background:hsl(230,1%,98%) !important;margin:1.5rem 0;padding:1rem 1rem 1rem 1rem;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);font-family:'JetBrains Mono','Fira Code',Consolas,monospace;font-size:.85rem !important;position:relative;overflow-x:auto;font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}.copy-button,pre[data-lang]::before{position:absolute;top:.5rem;height:26px;background:hsl(230,1%,92%);border:1px solid hsl(230,1%,85%);border-radius:var(--radius-sm)}.copy-button{right:.5rem;width:26px;padding:0;color:hsl(230,6%,44%);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:20;opacity:.8}.copy-button:hover{background:hsl(230,1%,85%);color:hsl(230,8%,24%);opacity:1}.copy-button svg{width:14px;height:14px}pre[data-lang]::before{content:attr(data-lang);right:2.2rem;line-height:26px;padding:0 .5rem;font-size:.65rem;font-weight:600;text-transform:uppercase;color:hsl(230,6%,50%);pointer-events:none;z-index:10}pre code[class*=language-]{background:0 0 !important;text-shadow:none !important;color:hsl(230,8%,24%) !important}.line-numbers .line-numbers-rows{border-right:1px solid #444 !important;padding-right:.5rem !important;margin-bottom:1.5rem}.line-numbers-rows>span:before{color:#666 !important}pre::-webkit-scrollbar{height:8px}pre::-webkit-scrollbar-track{background:#1e1e1e}pre::-webkit-scrollbar-thumb{background:#444;border-radius:4px}pre::-webkit-scrollbar-thumb:hover{background:var(--course-accent)}.article-body table,.content table,.assignment-content table{margin:1.5rem auto;border-collapse:collapse}.article-body table,.content table{font-size:.9rem}.article-body thead,.content thead{border-bottom:2px solid var(--border)}.article-body td,.article-body th,.content td,.content th{padding:.5rem .75rem}.article-body th,.content th{font-weight:600;text-align:left}.assignment-content th,.assignment-content td{padding:.5rem .75rem;border-right:1px solid #ccc;border-bottom:1px solid #ccc;text-align:left}.assignment-content th:last-child,.assignment-content td:last-child{border-right:0}.assignment-content th{font-weight:600;background:0}.assignment-content tr:last-child td{border-bottom:0}.article-body td,.content td{border-bottom:1px solid var(--border)}hr{border:0;border-top:1px solid var(--border);margin:2rem 0;height:0}hr::before{display:none}.article-body img,.content img,.assignment-content img{display:block;margin:1rem auto}img:not([width]):not([height]){max-width:100%;height:auto}img[width]{max-width:none}figure{margin:1.25rem 0;text-align:center}.footer p,figcaption{color:var(--text-muted)}figcaption{font-size:.85rem;font-style:italic;margin-top:.4rem}.asset-img,.asset-svg,.centered{display:flex;width:100%;height:auto;justify-content:center;margin:0}.no-break{page-break-inside:avoid}.svg-graph{max-width:100%}.katex-display{margin:1rem 0;overflow-x:auto;overflow-y:visible;max-width:100%}.katex-display>.katex{max-width:100%;overflow-x:hidden;overflow-y:hidden;padding:.25rem 0}.katex{font-size:1em}.katex-html{white-space:normal}.footer{width:100%;max-width:var(--content-max);margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border);text-align:center}.footer p{font-size:.8rem}::selection{background:rgba(136,68,34,.15)}@media(max-width:900px){.sidebar{position:fixed;left:-100%;width:280px;transition:left .3s ease}.sidebar.open{left:0}.mobile-menu-toggle{display:flex}.page-wrapper{flex-direction:column}.main-content{margin-left:0;padding:4rem 1.5rem 2rem}}.sidebar-toggle{display:none;position:fixed;top:50%;transform:translateY(-50%);left:var(--sidebar-width);z-index:200;width:24px;height:48px;background:var(--course-accent);border:0;border-radius:0 4px 4px 0;cursor:pointer;align-items:center;justify-content:center;color:#fff;box-shadow:2px 0 8px rgba(0,0,0,.1);transition:all .3s cubic-bezier(.4,0,.2,1);padding:0}.sidebar-toggle:hover{width:28px;background:var(--link-hover)}.toggle-icon{width:20px;height:20px;transition:transform .3s ease}body.sidebar-hidden .sidebar-toggle{left:0}body.sidebar-hidden .toggle-icon{transform:rotate(180deg)}@media(min-width:901px){.sidebar-toggle{display:flex}body.sidebar-hidden .sidebar{transform:translateX(-100%)}body.sidebar-hidden .main-content{margin-left:0}}@media(max-width:500px){html{font-size:17px}.main-content{padding:4rem 1rem 1.5rem}.article-title{flex-direction:column;gap:.25rem}.title-number{align-self:flex-end;margin-left:0}.contents-page{padding:2rem 1rem}}@media print{.mobile-menu-toggle,.sidebar{display:none}.main-content{margin-left:0}}.contents-page{max-width:850px;margin:2rem auto;padding:0 1.5rem;min-height:100vh;display:flex;flex-direction:column;font-family:var(--font-serif);color:var(--text)}.contents-header{text-align:center}.contents-ornament{font-size:2rem;color:var(--course-accent);margin:1rem 0}.contents-title{font-size:2.5rem;font-weight:400;margin:.5rem 0;color:var(--heading)}.contents-title::after{display:none}.back-link,.contents-subtitle{font-family:var(--font-headers);letter-spacing:.05em;color:var(--text-muted)}.contents-subtitle{font-size:1rem;font-style:italic;margin-top:2rem;text-align:center;margin-bottom:1.5rem}.back-link{position:fixed;top:2rem;left:2rem;z-index:999;display:inline-block;font-size:.9rem;text-transform:uppercase;text-decoration:none;transition:color .2s;background:var(--bg);padding:.5rem;border-radius:4px}.back-link:hover,.contents-link:hover{color:var(--course-accent)}.course-title-link{text-decoration:none;display:block;position:relative;padding:1rem 0;margin:0 1rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.course-title-link::after,.course-title-link::before{content:"❧";position:absolute;font-size:1.2rem;color:var(--text-muted);background:var(--sidebar-bg)}.course-title-link::before{top:-.8rem;left:0;padding-right:.5rem}.course-title-link::after{bottom:-.9rem;right:0;padding-left:.5rem;transform:scaleX(-1)}.appendices-list .contents-link::before,.sidebar-ornament{display:none}.contents-main{flex:1;margin-bottom:3rem}.contents-list{list-style:none;padding:0;margin:0;counter-reset:chapter-roman}.contents-item{margin-bottom:0;border-bottom:1px solid var(--border);padding:10px 0}.contents-link{display:flex;align-items:baseline;text-decoration:none;color:var(--heading);transition:background-color .15s,color .15s}.contents-link:hover{background-color:var(--bg-alt)}.parts-container{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:1.5rem}@media(min-width:768px){.parts-container{grid-template-columns:1fr 1fr;align-items:start;row-gap:0}.parts-container--single{grid-template-columns:1fr;max-width:800px;margin-left:auto;margin-right:auto}}.part-block{display:grid;grid-template-rows:subgrid;grid-row:span 2}.part-title{font-family:var(--font-headers);font-size:1.1rem;color:var(--heading);text-transform:uppercase;letter-spacing:.05em;font-weight:600;display:flex;align-items:flex-end;align-self:end;border-bottom:1px solid var(--course-accent);padding-bottom:.4rem;margin-top:1.5rem}.part-roman{margin-right:.5rem;color:var(--course-accent)}.contents-list:not(.index-list) .contents-link::before{counter-increment:chapter-roman;content:counter(chapter-roman,decimal)".";min-width:1.5rem;margin-right:.75rem;font-family:var(--font-headers);font-size:.9rem;color:var(--course-accent);font-weight:600;text-align:right}.contents-item:last-child{border-bottom:0}.index-list .contents-link{justify-content:space-between}.contents-name,.index-list .contents-name{font-weight:400}.course-arrow{opacity:0;transform:translateX(-5px);transition:all .2s;color:var(--course-accent);margin-left:auto}.contents-link:hover .course-arrow{opacity:1;transform:translateX(0)}.contents-section .contents-link{width:100%}.appendices-section{margin-top:3rem}.appendices-section .section-title{margin-bottom:2rem;color:var(--text-muted);font-size:1.1rem;text-transform:uppercase;letter-spacing:.1em}.appendix-icon{width:1.1rem;height:1.1rem;margin-right:.75rem;color:var(--course-accent);flex-shrink:0}.appendices-list .contents-item{border-bottom:1px dashed var(--border)}.appendices-list .contents-item:last-child{border-bottom:0}.contents-page .footer,.sidebar-nav-link.back{border-top:1px solid var(--border);text-align:center;color:var(--text-muted)}.contents-page .footer{font-size:.85rem;padding-top:1.5rem;margin-top:3rem;position:relative}.slides-handle{position:fixed;bottom:2rem;right:2rem;z-index:999;display:inline-block;font-size:.9rem;text-transform:uppercase;text-decoration:none;background:var(--bg);padding:.5rem;border-radius:4px;color:var(--text-muted);transition:color .2s}.slides-handle:hover{color:var(--course-accent)}.contents-year,.section-title{font-family:var(--font-headers)}.contents-year{font-size:1.1rem;color:var(--text-muted);margin-top:.5rem;font-style:italic}.section-title{font-size:1.15rem;color:var(--text-primary);margin-bottom:.75rem;text-align:center;font-weight:600}.section-divider{height:1px;background-color:var(--border);margin:2rem auto;width:50%}.article-date{font-family:var(--font-headers);font-size:.9rem;color:var(--text-muted);margin-top:.5rem;font-style:italic;letter-spacing:.05em}.sidebar-nav-link.back{margin-top:1rem;padding-top:1rem;display:block}.sidebar-nav-link.back:hover{color:var(--course-accent)}.breadcrumb-part{color:var(--text-muted);font-weight:500;cursor:default}.downloads{display:flex;flex-direction:column;gap:.25rem;margin:1.5rem 0;padding:1rem 1.5rem;background:var(--code-bg);border-radius:4px;border-left:3px solid var(--course-accent)}.downloads::before{content:"Downloads";display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}p:has(>.download-link){text-align:center;margin:0;display:flex;flex-direction:column;align-items:center}.download-link{display:block;padding:.5rem 1.5rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--link);text-decoration:none;transition:color .15s ease}.download-link+.download-link{border-top:0}p:has(>.download-link)+p:has(>.download-link) .download-link:first-child{border-top:0}.download-link::after{content:"";display:inline-block;width:.9em;height:.9em;margin-left:.4em;vertical-align:-.1em;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODg0NDIyIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyIDE1VjMiLz48cGF0aCBkPSJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCIvPjxwYXRoIGQ9Im03IDEwIDUgNSA1LTUiLz48L3N2Zz4=);background-size:contain;background-repeat:no-repeat}.download-link:hover{color:var(--course-accent);text-decoration:underline}td .download-link,th .download-link{border:0;padding:0;display:inline}.downloads .download-link{display:block;padding:.4rem 0;border:0}.kmap-img polygon{opacity:.8}.svg-graph .gate{fill:#f5ede4 !important;filter:drop-shadow(0 1px 3px rgba(136,68,34,.15))}.svg-graph .wire{stroke:var(--text-muted) !important;stroke-width:2 !important}.col1{width:90%;margin:0 auto}.col2{display:flex;justify-content:space-around;align-items:center;width:90%;margin:0 auto;align-items:flex-start}.answer{border:1px solid #333;padding:15px;margin:30px 0}@media(max-width:375){.col2{flex-direction:column}}.svg-graph,.schemdraw-plot-img{line-height:normal !important}.svg-graph svg,.schemdraw-plot-img svg,.svg-graph text,.schemdraw-plot-img text{line-height:normal !important}.example,.block-slide,.block-presentation{border:1px solid var(--border);padding:1rem 1.25rem;margin:1.5rem 0;border-radius:var(--radius-sm);background:var(--bg-alt)}.exam,.assignment{margin:0}.example-title,.question-title,.block-slide-title,.block-presentation-title{font-family:var(--font-headers);font-size:.9rem;font-weight:600;text-transform:uppercase;cursor:pointer;letter-spacing:.05em;color:var(--course-accent);padding-bottom:.5rem;margin-bottom:0;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;user-select:none}.exam-title,.assignment-title{font-family:var(--font-headers);font-size:.85rem;font-weight:600;text-transform:uppercase;color:var(--heading);margin-bottom:1rem;display:flex;align-items:center;justify-content:center;text-align:center;flex-wrap:wrap;user-select:none}.example-title:hover,.question-title:hover,.block-slide-title:hover,.block-presentation-title:hover{opacity:.8}.example-chevron{width:26px;height:26px;flex-shrink:0;transition:transform .25s ease;margin-left:.5rem}.example-collapsed .example-chevron{transform:rotate(-90deg)}.example-content,.exam-content,.assignment-content,.question-content,.block-slide-content,.block-presentation-content{overflow:hidden;transition:height .3s ease}.example-collapsed .example-title,.exam-collapsed .exam-title,.assignment-collapsed .assignment-title,.question-collapsed .question-title,.block-slide-collapsed .block-slide-title,.block-presentation-collapsed .block-presentation-title{border-bottom-color:transparent;padding-bottom:0;margin-bottom:0}.example:not(.example-collapsed) .example-title,.exam:not(.example-collapsed) .exam-title,.assignment:not(.example-collapsed) .assignment-title,.question:not(.example-collapsed) .question-title,.block-slide:not(.example-collapsed) .block-slide-title,.block-presentation:not(.example-collapsed) .block-presentation-title{margin-bottom:1rem}.example ul,.exam ul,.assignment ul,.question ul,.questions ul,.block-slide ul,.block-presentation ul,.example ol,.exam ol,.assignment ol,.question ol,.questions ol,.block-slide ol,.block-presentation ol{margin-top:-.5rem;margin-bottom:1rem;list-style-type:none;padding-left:.5rem}.example p+ul,.exam p+ul,.assignment p+ul,.question p+ul,.questions p+ul,.block-slide p+ul,.block-presentation p+ul,.example p+ol,.exam p+ol,.assignment p+ol,.question p+ol,.questions p+ol,.block-slide p+ol,.block-presentation p+ol{margin-top:-1.25rem}.questions{border:0;background:transparent;padding:0}.questions-title{font-family:var(--font-headers);font-size:1.1rem;font-weight:700;text-transform:uppercase;cursor:pointer;letter-spacing:.05em;color:var(--heading);padding-bottom:.75rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;user-select:none}.questions-content{overflow:hidden;transition:height .3s ease}.questions-collapsed .questions-title{margin-bottom:0}.applet-container{margin:2rem 0;width:100%;background:var(--bg);overflow:hidden}.applet-container.centered{display:flex;justify-content:center}.applet-container iframe{max-width:100%;background:#fff}.applet-container.sketch-border{border:2px solid var(--text);border-radius:4px;box-shadow:4px 4px 0 var(--text)}.red-note{color:var(--callout-failure)}.exam-gap{display:inline-flex;align-items:center;justify-content:space-between;width:30px;margin:0 4px;font-weight:500}.exam-gap::before{content:"("}.exam-gap::after{content:")"}.mermaid{background:transparent !important;border:none !important;padding:0 !important;margin:1.5rem 0 !important;font-family:inherit !important;overflow:visible !important;text-align:center}pre.mermaid{white-space:pre;font-family:var(--font-code);color:var(--text-muted)}.centered .mermaid{display:flex;justify-content:center;margin-left:auto;margin-right:auto}.mermaid svg{max-width:100%;height:auto}.mermaid svg .edgeBadge text,.mermaid svg .edgeBadge tspan,.mermaid svg .edgeTerm text,.mermaid svg .edgeTerm tspan,.mermaid svg .multiplicity text,.mermaid svg .multiplicity tspan,.mermaid svg text.edgeBadge,.mermaid svg text.edgeTerm{font-size:18px !important;font-weight:700 !important;fill:var(--heading) !important}.mermaid-outer-container{margin:1.5rem 0;position:relative;width:100%}.mermaid-switcher{display:flex;justify-content:flex-end;margin-bottom:.75rem;width:100%}.switcher-track{display:inline-flex;align-items:center;background:var(--code-bg);padding:3px;border-radius:var(--radius);border:1px solid var(--border);position:relative}.switcher-btn{display:flex;align-items:center;gap:.4rem;border:0;background:transparent;padding:.35rem 1rem;font-size:.75rem;font-weight:500;color:var(--text-muted);border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:all .2s cubic-bezier(0.4,0,0.2,1);position:relative;z-index:1}.switcher-btn svg{width:14px;height:14px}.switcher-btn:hover{color:var(--text)}.switcher-btn.active{color:var(--heading);background:var(--bg);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.mermaid-content{min-height:50px}.mermaid-display{transition:opacity .2s ease}.mermaid-source pre{margin:0 !important;background:var(--code-bg) !important;border:1px dashed var(--border) !important}.mermaid-display.centered{display:block;margin-left:auto;margin-right:auto;max-width:100%}margin-left:auto;margin-right:auto;max-width:100%}on:opacity .2s ease}.mermaid-source pre{margin:0 !important;background:var(--code-bg) !important;border:1px dashed var(--border) !important}.mermaid-display.centered{display:block;margin-left:auto;margin-right:auto;max-width:100%}
