:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Inter", "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--bg-page:#f8fafc;--bg-surface:#ffffff;--bg-surface-elevated:#ffffff;--bg-sidebar:#ffffff;--bg-subtle:#f1f5f9;--border-color:#cbd5e1;--border-light:#e2e8f0;--text-main:#0f172a;--text-muted:#475569;--text-dim:#94a3b8;--primary:#1d4ed8;--primary-hover:#1e40af;--primary-subtle:#eff6ff;--primary-border:#bfdbfe;--accent-teal:#0d9488;--accent-purple:#7c3aed;--accent-amber:#d97706;--code-bg:#f8fafc;--code-border:#cbd5e1;--shadow-sm:0 1px 2px 0 rgba(0, 0, 0, 0.05);--shadow-md:0 4px 6px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -2px rgba(0, 0, 0, 0.05);--shadow-lg:0 10px 20px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.05);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:9999px;--container-max:1440px;--header-height:64px;--sidebar-width:290px;--toc-width:240px}[data-theme=dark]{--bg-page:#151b28;--bg-surface:#1e2638;--bg-surface-elevated:#263047;--bg-sidebar:#192132;--bg-subtle:#252f44;--border-color:#334155;--border-light:#252f44;--text-main:#f8fafc;--text-muted:#cbd5e1;--text-dim:#94a3b8;--primary:#3b82f6;--primary-hover:#60a5fa;--primary-subtle:rgba(59, 130, 246, 0.15);--primary-border:rgba(59, 130, 246, 0.35);--accent-teal:#14b8a6;--accent-purple:#a855f7;--accent-amber:#f59e0b;--code-bg:#111722;--code-border:#2e3a52;--shadow-sm:0 1px 2px 0 rgba(0, 0, 0, 0.3);--shadow-md:0 4px 8px -1px rgba(0, 0, 0, 0.35);--shadow-lg:0 10px 24px -3px rgba(0, 0, 0, 0.5)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--text-main);background-color:var(--bg-page);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;background-color:var(--bg-page)}a{color:var(--primary);text-decoration:none;transition:color .15s ease}a:hover{color:var(--primary-hover)}img{max-width:100%;height:auto;display:block}.site-header{position:sticky;top:0;z-index:50;height:var(--header-height);background:rgba(255,255,255,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);transition:background-color .2s,border-color .2s}[data-theme=dark] .site-header{background:rgba(25,33,50,.9)}.header-inner{max-width:var(--container-max);margin:0 auto;padding:0 1.25rem;height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-main);flex-shrink:0}.brand-logo{width:36px;height:36px;object-fit:contain}.brand-text{display:flex;flex-direction:column;line-height:1.2}.brand-title{font-weight:700;font-size:1.05rem;color:var(--text-main);letter-spacing:-.01em}.brand-subtitle{font-size:.75rem;color:var(--text-muted);font-weight:500}.header-nav{display:flex;align-items:center;gap:1rem}.nav-links{display:flex;align-items:center;gap:.4rem;list-style:none}.nav-link{font-size:.9rem;font-weight:500;color:var(--text-muted);padding:.45rem .75rem;border-radius:var(--radius-sm);transition:all .15s ease;display:inline-flex;align-items:center;gap:.25rem}.nav-link:hover,.nav-link.active{color:var(--primary);background:var(--primary-subtle)}.nav-dropdown{position:relative;list-style:none}.nav-dropdown-btn{font-family:inherit;font-size:.9rem;font-weight:500;color:var(--text-muted);padding:.45rem .75rem;border-radius:var(--radius-sm);background:0 0;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:all .15s ease}.nav-dropdown-btn:hover,.nav-dropdown:hover .nav-dropdown-btn,.nav-dropdown:focus-within .nav-dropdown-btn{color:var(--primary);background:var(--primary-subtle)}.dropdown-chevron{font-size:.7rem;transition:transform .2s ease}.nav-dropdown:hover .dropdown-chevron,.nav-dropdown:focus-within .dropdown-chevron{transform:rotate(180deg)}.nav-dropdown-menu{position:absolute;top:100%;right:0;min-width:170px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.35rem;list-style:none;display:none;flex-direction:column;gap:.2rem;z-index:100;animation:dropdownFade .12s ease-out}.nav-dropdown-menu::before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:flex}.dropdown-item{display:flex;align-items:center;gap:.6rem;padding:.45rem .65rem;border-radius:var(--radius-sm);color:var(--text-main);text-decoration:none;font-size:.88rem;font-weight:500;transition:all .15s ease;white-space:nowrap}.dropdown-item:hover{background:var(--bg-hover);color:var(--primary)}.dropdown-icon{font-size:1rem;flex-shrink:0;display:inline-flex}.dropdown-item-title{flex:1}.dropdown-arrow{font-size:.75rem;color:var(--text-dim);opacity:.7;transition:transform .15s,opacity .15s}.dropdown-item:hover .dropdown-arrow{color:var(--primary);opacity:1;transform:translate(2px,-2px)}.header-actions{display:flex;align-items:center;gap:.5rem}.search-trigger-btn{display:flex;align-items:center;gap:.5rem;padding:.45rem .85rem;background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-muted);font-size:.85rem;cursor:pointer;transition:all .15s ease}.search-trigger-btn:hover{border-color:var(--primary);color:var(--text-main);box-shadow:var(--shadow-sm)}.search-kbd{font-family:var(--font-mono);font-size:.7rem;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:4px;padding:1px 5px;color:var(--text-muted)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;transition:all .15s ease;font-size:1rem}.icon-btn:hover{color:var(--text-main);background:var(--bg-subtle);border-color:var(--text-muted)}.lang-switch{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .65rem;font-size:.8rem;font-weight:600;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-muted);transition:all .15s}.lang-switch:hover{color:var(--primary);border-color:var(--primary)}.mobile-menu-toggle{display:none}.layout-container{max-width:var(--container-max);margin:0 auto;width:100%;display:flex;flex:1;min-height:calc(100vh - var(--header-height))}.site-sidebar{width:var(--sidebar-width);flex-shrink:0;border-right:1px solid var(--border-color);background:var(--bg-sidebar);height:calc(100vh - var(--header-height));position:sticky;top:var(--header-height);overflow-y:auto;padding:1.25rem 1rem}.sidebar-search{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.sidebar-search-btn{width:100%;display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);font-family:inherit;font-size:.85rem;cursor:pointer;transition:all .15s ease;box-shadow:var(--shadow-sm)}.sidebar-search-btn:hover{border-color:var(--primary);color:var(--text-main);background:var(--bg-hover)}.sidebar-search-text{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-search-kbd{font-family:var(--font-mono);font-size:.7rem;background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.15rem .35rem;color:var(--text-dim);font-weight:600;flex-shrink:0}.sidebar-section{margin-bottom:1.5rem}.sidebar-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--text-dim);margin-bottom:.5rem;padding:0 .5rem}.sidebar-nav-list{list-style:none;display:flex;flex-direction:column;gap:2px}.sidebar-nav-link{display:flex;align-items:center;justify-content:space-between;padding:.45rem .65rem;font-size:.88rem;color:var(--text-muted);border-radius:var(--radius-sm);transition:all .15s ease;font-weight:500}.sidebar-nav-link:hover{color:var(--text-main);background:var(--bg-subtle)}.sidebar-nav-link.active{color:var(--primary);background:var(--primary-subtle);font-weight:600}.sidebar-badge{font-size:.7rem;padding:2px 6px;border-radius:var(--radius-full);background:var(--bg-subtle);color:var(--text-muted);font-weight:600}.main-content{flex:1;min-width:0;padding:2rem 2.5rem}.main-content.no-sidebar{max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem}.hero-block{background:linear-gradient(135deg,rgba(29,78,216,8%) 0%,rgba(14,165,233,4%) 100%);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2.5rem 2rem;margin-bottom:2.5rem;position:relative;overflow:hidden}[data-theme=dark] .hero-block{background:linear-gradient(135deg,rgba(59,130,246,.14) 0%,rgba(56,189,248,6%) 100%);border-color:var(--border-color)}.hero-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .65rem;border-radius:var(--radius-full);background:var(--primary-subtle);color:var(--primary);border:1px solid var(--primary-border);margin-bottom:1rem}.hero-title{font-size:2.25rem;font-weight:800;line-height:1.2;letter-spacing:-.02em;color:var(--text-main);margin-bottom:.75rem}.hero-subtitle{font-size:1.05rem;color:var(--text-muted);max-width:720px;line-height:1.6;margin-bottom:1.5rem}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem 1.15rem;font-size:.9rem;font-weight:600;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all .15s ease;text-decoration:none}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover);color:#fff}.btn-secondary{background:var(--bg-surface);color:var(--text-main);border-color:var(--border-color)}.btn-secondary:hover{background:var(--bg-subtle);border-color:var(--text-muted);color:var(--text-main)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2.5rem}.stat-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.25rem 1rem;text-align:center;transition:transform .15s ease,box-shadow .15s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.stat-value{font-size:2rem;font-weight:800;color:var(--primary);line-height:1;margin-bottom:.35rem}.stat-label{font-size:.82rem;color:var(--text-muted);font-weight:500}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.section-title{font-size:1.4rem;font-weight:700;letter-spacing:-.01em;color:var(--text-main)}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-bottom:3rem}.course-card{display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,border-color .2s ease}.course-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.course-card-cover{height:145px;background-size:cover;background-position:50%;background-repeat:no-repeat;background-color:var(--bg-subtle);position:relative;display:flex;align-items:flex-end;padding:.75rem}.course-card-cover.no-cover{background:linear-gradient(135deg,#1e3a8a 0%,#0f172a 100%)}.course-card-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.65) 100%)}.course-specialty-badge{position:relative;z-index:2;font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:var(--radius-sm);background:rgba(15,23,42,.85);backdrop-filter:blur(4px);color:#fff;border:1px solid rgba(255,255,255,.15)}.course-card-body{padding:1.25rem;display:flex;flex-direction:column;flex:1}.course-card-title{font-size:1.1rem;font-weight:700;line-height:1.3;color:var(--text-main);margin-bottom:.4rem}.course-card-subtitle{font-size:.85rem;color:var(--text-muted);margin-bottom:.85rem;line-height:1.4}.course-card-meta{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:.85rem;border-top:1px solid var(--border-color);font-size:.8rem;color:var(--text-muted)}.course-counts{display:flex;gap:.75rem}.course-count-item{display:inline-flex;align-items:center;gap:.25rem}.material-group{margin-bottom:2.5rem}.material-table,.prose table{width:100%;border-collapse:collapse!important;border-spacing:0;background:var(--bg-surface);border:1px solid var(--border-color)!important;border-radius:var(--radius-md);margin:1.5rem 0}.material-table th,.prose table th{background:var(--bg-subtle);padding:.75rem 1rem;font-size:.82rem;font-weight:700;text-align:left;color:var(--text-main);text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border-color)!important}.material-table td,.prose table td{padding:.85rem 1rem;font-size:.9rem;border:1px solid var(--border-color)!important;color:var(--text-main);vertical-align:middle}.material-table tr:hover td,.prose table tr:hover td{background:var(--bg-subtle)}.type-pill{display:inline-flex;align-items:center;gap:.3rem;padding:2px 8px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.type-pill.lecture{background:rgba(13,148,136,.15);color:var(--accent-teal)}.type-pill.presentation{background:rgba(124,58,237,.15);color:var(--accent-purple)}.type-pill.lab{background:rgba(217,119,6,.15);color:var(--accent-amber)}.article-container{display:flex;gap:2.5rem;align-items:flex-start}.article-body{flex:1;min-width:0;max-width:860px}.article-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.82rem;color:var(--text-dim);margin-bottom:1rem}.breadcrumbs a{color:var(--text-muted)}.breadcrumbs a:hover{color:var(--primary)}.discipline-kicker{margin-top:.25rem;margin-bottom:.85rem}.discipline-kicker-link{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.6rem;padding:.45rem .95rem;background:var(--bg-surface);border:1.5px solid var(--border-color);border-radius:var(--radius-md);text-decoration:none;line-height:1.35;transition:all .2s ease;box-shadow:0 1px 3px rgba(0,0,0,5%)}.discipline-kicker-link:hover{border-color:var(--primary);background:var(--bg-subtle);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.discipline-kicker-badge{font-size:1.3rem;font-weight:800;color:var(--primary);letter-spacing:-.01em}.discipline-kicker-subtitle{font-size:1.12rem;font-weight:600;color:var(--text-muted)}.discipline-kicker-link:hover .discipline-kicker-subtitle{color:var(--text-main)}.article-title{font-size:2.1rem;font-weight:800;letter-spacing:-.02em;line-height:1.25;color:var(--text-main);margin-bottom:.75rem}.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;font-size:.82rem;color:var(--text-muted)}.prose{font-size:1.02rem;line-height:1.7;color:var(--text-main)}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--text-main);font-weight:700;line-height:1.3;margin-top:2rem;margin-bottom:.75rem;scroll-margin-top:80px}.prose h2{font-size:1.5rem;padding-bottom:.35rem;border-bottom:1px solid var(--border-color)}.prose h3{font-size:1.25rem}.prose h4{font-size:1.05rem}.prose p{margin-bottom:1.25rem}.prose ul,.prose ol{margin-bottom:1.25rem;padding-left:1.5rem}.prose li{margin-bottom:.4rem}.prose blockquote{border-left:4px solid var(--primary);padding:.75rem 1.25rem;margin:1.5rem 0;background:var(--bg-subtle);border-radius:0 var(--radius-sm)var(--radius-sm)0;color:var(--text-main)}.prose code:not(.chroma code){font-family:var(--font-mono);font-size:.88em;padding:.15rem .35rem;background:var(--code-bg);border:1px solid var(--code-border);border-radius:4px}.highlight{margin:1.5rem 0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--code-border);background:var(--code-bg);box-shadow:var(--shadow-sm);position:relative}.highlight pre{margin:0;padding:.85rem 0;overflow-x:auto;font-family:var(--font-mono);font-size:.88rem;line-height:1.6;background:0 0!important}.highlight .chroma{background:0 0!important;display:block}.highlight .chroma .line{display:flex;align-items:stretch;padding:0}.highlight .chroma .line:hover{background-color:rgba(125,125,125,8%)}.highlight .chroma .ln,.highlight .chroma .lnt{user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;display:inline-block;width:3.2rem;padding-right:.85rem;margin-right:.85rem;text-align:right;color:var(--text-dim)!important;border-right:1px solid var(--border-color);flex-shrink:0;font-variant-numeric:tabular-nums;cursor:default}.highlight .chroma .cl{flex:1;min-width:0;padding-right:3.5rem}.copy-code-btn{position:absolute;top:8px;right:8px;padding:4px 10px;font-size:.72rem;font-weight:600;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:4px;color:var(--text-muted);cursor:pointer;opacity:.85;transition:all .15s ease;z-index:5}.copy-code-btn:hover{opacity:1;color:var(--text-main);border-color:var(--primary);background:var(--bg-subtle)}.copy-code-btn.copied{color:var(--primary)!important;border-color:var(--primary)!important}.callout{margin:1.5rem 0;padding:1rem 1.25rem;border-left:4px solid var(--primary);background:var(--bg-subtle);border-radius:0 var(--radius-md)var(--radius-md)0}.callout-title{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.95rem;margin-bottom:.5rem}.callout-note{border-color:#3b82f6}.callout-tip{border-color:#10b981}.callout-warning{border-color:#f59e0b}.callout-important{border-color:#8b5cf6}.callout-caution{border-color:#ef4444}.article-toc{width:var(--toc-width);position:sticky;top:calc(var(--header-height) + 1.5rem);flex-shrink:0;max-height:calc(100vh - var(--header-height) - 3rem);overflow-y:auto;padding-left:1rem;border-left:1px solid var(--border-color)}.toc-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--text-dim);margin-bottom:.75rem}.toc-nav ul{list-style:none;display:flex;flex-direction:column;gap:.4rem}.toc-nav li a{font-size:.82rem;color:var(--text-muted);line-height:1.4;display:block;transition:color .15s}.toc-nav li a:hover,.toc-nav li a.active{color:var(--primary);font-weight:600}.presentation-viewer-wrap{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.presentation-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:.75rem 1rem;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md)}.presentation-toolbar-title{font-weight:600;font-size:.95rem;color:var(--text-main)}.presentation-toolbar-actions{display:flex;align-items:center;gap:.5rem}.presentation-frame-box{width:100%;aspect-ratio:16/9;background:#111;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);position:relative}.presentation-frame-box iframe{width:100%;height:100%;border:none}.search-modal-backdrop{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.65);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:none;align-items:flex-start;justify-content:center;padding-top:12vh}.search-modal-backdrop.open{display:flex!important}.search-modal{width:100%;max-width:640px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column;max-height:75vh;margin:0 1rem}.search-input-wrap{padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:.75rem;background:var(--bg-surface)}.search-input{width:100%;border:none;background:0 0;font-size:1.1rem;color:var(--text-main);outline:none;font-family:inherit;cursor:text}.search-input::placeholder{color:var(--text-dim)}.search-results-list{overflow-y:auto;padding:.5rem;list-style:none;max-height:55vh}.search-result-item{display:flex;flex-direction:column;padding:.75rem 1rem;border-radius:var(--radius-sm);color:var(--text-main);text-decoration:none;transition:background .15s}.search-result-item:hover,.search-result-item.selected{background:var(--primary-subtle)}.search-result-title{font-weight:600;font-size:.95rem;color:var(--text-main)}.search-result-meta{font-size:.78rem;color:var(--text-muted);margin-top:.2rem}.site-footer{border-top:1px solid var(--border-color);background:var(--bg-surface);padding:2.5rem 1.25rem 2rem;margin-top:auto;font-size:.88rem;color:var(--text-muted)}.footer-inner{max-width:var(--container-max);margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem}.footer-left{display:flex;flex-direction:column;gap:.25rem}.footer-links{display:flex;flex-wrap:wrap;gap:1.25rem;list-style:none}.footer-links a{color:var(--text-muted)}.footer-links a:hover{color:var(--primary)}@media(max-width:1024px){.site-sidebar{display:none;position:fixed;top:var(--header-height);left:0;bottom:0;width:280px;z-index:99;box-shadow:var(--shadow-lg);background:var(--bg-surface)}.site-sidebar.open{display:block}.article-toc{display:none}.main-content{padding:1.5rem 1rem}}@media(max-width:768px){.nav-links{display:none}.search-kbd{display:none}.hero-title{font-size:1.75rem}.courses-grid{grid-template-columns:1fr}}.bg{background-color:#f7f7f7}.chroma{background-color:#f7f7f7;-webkit-text-size-adjust:none}.chroma .err{color:#f6f8fa;background-color:#82071e}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#dedede}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#cf222e}.chroma .kc{color:#cf222e}.chroma .kd{color:#cf222e}.chroma .kn{color:#cf222e}.chroma .kp{color:#cf222e}.chroma .kr{color:#cf222e}.chroma .kt{color:#cf222e}.chroma .na{color:#1f2328}.chroma .nc{color:#1f2328}.chroma .no{color:#0550ae}.chroma .nd{color:#0550ae}.chroma .ni{color:#6639ba}.chroma .nl{color:#900;font-weight:700}.chroma .nn{color:#24292e}.chroma .nx{color:#1f2328}.chroma .nt{color:#0550ae}.chroma .nb{color:#6639ba}.chroma .bp{color:#6a737d}.chroma .nv{color:#953800}.chroma .vc{color:#953800}.chroma .vg{color:#953800}.chroma .vi{color:#953800}.chroma .vm{color:#953800}.chroma .nf{color:#6639ba}.chroma .fm{color:#6639ba}.chroma .s{color:#0a3069}.chroma .sa{color:#0a3069}.chroma .sb{color:#0a3069}.chroma .sc{color:#0a3069}.chroma .dl{color:#0a3069}.chroma .sd{color:#0a3069}.chroma .s2{color:#0a3069}.chroma .se{color:#0a3069}.chroma .sh{color:#0a3069}.chroma .si{color:#0a3069}.chroma .sx{color:#0a3069}.chroma .sr{color:#0a3069}.chroma .s1{color:#0a3069}.chroma .ss{color:#032f62}.chroma .m{color:#0550ae}.chroma .mb{color:#0550ae}.chroma .mf{color:#0550ae}.chroma .mh{color:#0550ae}.chroma .mi{color:#0550ae}.chroma .il{color:#0550ae}.chroma .mo{color:#0550ae}.chroma .o{color:#0550ae}.chroma .ow{color:#0550ae}.chroma .or{color:#0550ae}.chroma .p{color:#1f2328}.chroma .c{color:#57606a}.chroma .ch{color:#57606a}.chroma .cm{color:#57606a}.chroma .c1{color:#57606a}.chroma .cs{color:#57606a}.chroma .cp{color:#57606a}.chroma .cpf{color:#57606a}.chroma .gd{color:#82071e;background-color:#ffebe9}.chroma .ge{color:#1f2328}.chroma .gi{color:#116329;background-color:#dafbe1}.chroma .go{color:#1f2328}.chroma .gl{text-decoration:underline}.chroma .w{color:#fff}[data-theme=dark] .bg{color:#e6edf3;background-color:#0d1117}[data-theme=dark] .chroma{color:#e6edf3;background-color:#0d1117;-webkit-text-size-adjust:none}[data-theme=dark] .chroma .err{color:#f85149}[data-theme=dark] .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}[data-theme=dark] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}[data-theme=dark] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}[data-theme=dark] .chroma .hl{background-color:#6e7681}[data-theme=dark] .chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#737679}[data-theme=dark] .chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#6e7681}[data-theme=dark] .chroma .line{display:flex}[data-theme=dark] .chroma .k{color:#ff7b72}[data-theme=dark] .chroma .kc{color:#79c0ff}[data-theme=dark] .chroma .kd{color:#ff7b72}[data-theme=dark] .chroma .kn{color:#ff7b72}[data-theme=dark] .chroma .kp{color:#79c0ff}[data-theme=dark] .chroma .kr{color:#ff7b72}[data-theme=dark] .chroma .kt{color:#ff7b72}[data-theme=dark] .chroma .nc{color:#f0883e;font-weight:700}[data-theme=dark] .chroma .no{color:#79c0ff;font-weight:700}[data-theme=dark] .chroma .nd{color:#d2a8ff;font-weight:700}[data-theme=dark] .chroma .ni{color:#ffa657}[data-theme=dark] .chroma .ne{color:#f0883e;font-weight:700}[data-theme=dark] .chroma .nl{color:#79c0ff;font-weight:700}[data-theme=dark] .chroma .nn{color:#ff7b72}[data-theme=dark] .chroma .nx{color:#e6edf3}[data-theme=dark] .chroma .py{color:#79c0ff}[data-theme=dark] .chroma .nt{color:#7ee787}[data-theme=dark] .chroma .nv{color:#79c0ff}[data-theme=dark] .chroma .vc{color:#79c0ff}[data-theme=dark] .chroma .vg{color:#79c0ff}[data-theme=dark] .chroma .vi{color:#79c0ff}[data-theme=dark] .chroma .vm{color:#79c0ff}[data-theme=dark] .chroma .nf{color:#d2a8ff;font-weight:700}[data-theme=dark] .chroma .fm{color:#d2a8ff;font-weight:700}[data-theme=dark] .chroma .l{color:#a5d6ff}[data-theme=dark] .chroma .ld{color:#79c0ff}[data-theme=dark] .chroma .s{color:#a5d6ff}[data-theme=dark] .chroma .sa{color:#79c0ff}[data-theme=dark] .chroma .sb{color:#a5d6ff}[data-theme=dark] .chroma .sc{color:#a5d6ff}[data-theme=dark] .chroma .dl{color:#79c0ff}[data-theme=dark] .chroma .sd{color:#a5d6ff}[data-theme=dark] .chroma .s2{color:#a5d6ff}[data-theme=dark] .chroma .se{color:#79c0ff}[data-theme=dark] .chroma .sh{color:#79c0ff}[data-theme=dark] .chroma .si{color:#a5d6ff}[data-theme=dark] .chroma .sx{color:#a5d6ff}[data-theme=dark] .chroma .sr{color:#79c0ff}[data-theme=dark] .chroma .s1{color:#a5d6ff}[data-theme=dark] .chroma .ss{color:#a5d6ff}[data-theme=dark] .chroma .m{color:#a5d6ff}[data-theme=dark] .chroma .mb{color:#a5d6ff}[data-theme=dark] .chroma .mf{color:#a5d6ff}[data-theme=dark] .chroma .mh{color:#a5d6ff}[data-theme=dark] .chroma .mi{color:#a5d6ff}[data-theme=dark] .chroma .il{color:#a5d6ff}[data-theme=dark] .chroma .mo{color:#a5d6ff}[data-theme=dark] .chroma .o{color:#ff7b72;font-weight:700}[data-theme=dark] .chroma .ow{color:#ff7b72;font-weight:700}[data-theme=dark] .chroma .or{color:#ff7b72;font-weight:700}[data-theme=dark] .chroma .c{color:#8b949e;font-style:italic}[data-theme=dark] .chroma .ch{color:#8b949e;font-style:italic}[data-theme=dark] .chroma .cm{color:#8b949e;font-style:italic}[data-theme=dark] .chroma .c1{color:#8b949e;font-style:italic}[data-theme=dark] .chroma .cs{color:#8b949e;font-weight:700;font-style:italic}[data-theme=dark] .chroma .cp{color:#8b949e;font-weight:700;font-style:italic}[data-theme=dark] .chroma .cpf{color:#8b949e;font-weight:700;font-style:italic}[data-theme=dark] .chroma .gd{color:#ffa198;background-color:#490202}[data-theme=dark] .chroma .ge{font-style:italic}[data-theme=dark] .chroma .gr{color:#ffa198}[data-theme=dark] .chroma .gh{color:#79c0ff;font-weight:700}[data-theme=dark] .chroma .gi{color:#56d364;background-color:#0f5323}[data-theme=dark] .chroma .go{color:#8b949e}[data-theme=dark] .chroma .gp{color:#8b949e}[data-theme=dark] .chroma .gs{font-weight:700}[data-theme=dark] .chroma .gu{color:#79c0ff}[data-theme=dark] .chroma .gt{color:#ff7b72}[data-theme=dark] .chroma .gl{text-decoration:underline}[data-theme=dark] .chroma .w{color:#6e7681}