pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}
/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}:root{--color-charcoal:#0b0d11;--color-charcoal-light:#151820;--color-charcoal-lighter:#1e222d;--color-neon-blue:#00f0ff;--color-neon-blue-hover:#00c2cf;--color-neon-blue-ink:#0e7c8c;--color-neon-purple:#8b5cf6;--color-neon-green:#34d399;--color-text:#d1d5db;--color-text-muted:#9ca3af;--color-text-strong:#fff;--color-text-faint:#6b7280;--color-bg:var(--color-charcoal);--color-bg-subtle:var(--color-charcoal-light);--color-border:hsla(0,0%,100%,.05);--color-border-soft:hsla(0,0%,100%,.1);--color-border-neon:var(--color-neon-blue);--color-success:#34d399;--color-warning:#fcd34d;--color-danger:#f87171;--color-info:var(--color-neon-blue);--shadow-neon:0 0 15px rgba(0,240,255,.3),0 0 30px rgba(0,240,255,.1);--shadow-neon-hover:0 0 20px rgba(0,240,255,.5),0 0 40px rgba(0,240,255,.2);--shadow-glow:0 0 60px -15px rgba(0,240,255,.3);--shadow-purple:0 0 60px -15px rgba(139,92,246,.35);--font-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-display:"Inter",system-ui,sans-serif;--font-mono:ui-monospace,"JetBrains Mono","Fira Code",Consolas,monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-pill:999px}:root[data-theme=light],html.light{--color-charcoal:#fff;--color-charcoal-light:#f8fafc;--color-charcoal-lighter:#eef2f7;--color-text:#1f2937;--color-text-muted:#475569;--color-text-strong:#0b0d11;--color-text-faint:#94a3b8;--color-bg:#fff;--color-bg-subtle:#f8fafc;--color-border:rgba(15,23,42,.1);--color-border-soft:rgba(15,23,42,.15)}:root[data-theme=light] ::selection,html.light ::selection{background:var(--color-neon-blue);color:#0b0d11}:root[data-theme=light] ::-webkit-scrollbar-track,html.light ::-webkit-scrollbar-track{background:#f1f5f9}:root[data-theme=light] ::-webkit-scrollbar-thumb,html.light ::-webkit-scrollbar-thumb{background:#cbd5e1}:root[data-theme=light] .ambient-glow-top,html.light .ambient-glow-top{background:rgba(0,240,255,.08)}:root[data-theme=light] .ambient-glow-bottom,html.light .ambient-glow-bottom{background:rgba(139,92,246,.05)}:root[data-theme=light] .bg-grid-pattern,html.light .bg-grid-pattern{background-image:linear-gradient(90deg,rgba(15,23,42,.04) 1px,transparent 0),linear-gradient(180deg,rgba(15,23,42,.04) 1px,transparent 0)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-charcoal)}::-webkit-scrollbar-thumb{background:var(--color-charcoal-lighter);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--color-neon-blue)}.bg-grid-pattern{background-image:linear-gradient(90deg,hsla(0,0%,100%,.03) 1px,transparent 0),linear-gradient(180deg,hsla(0,0%,100%,.03) 1px,transparent 0);background-size:40px 40px}.ambient-glow-bottom,.ambient-glow-top{position:fixed;pointer-events:none;z-index:-10;border-radius:50%;filter:blur(120px)}.ambient-glow-top{top:0;left:50%;transform:translateX(-50%);width:min(100%,32rem);height:500px;background:rgba(0,240,255,.2)}.ambient-glow-bottom{bottom:0;right:0;width:500px;height:500px;background:rgba(139,92,246,.1);filter:blur(150px)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-width:767px){.ambient-glow-top{filter:blur(70px)}.ambient-glow-bottom{filter:blur(80px)}}.gradient-text{background:linear-gradient(90deg,var(--color-neon-blue) 0,var(--color-neon-purple) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}body,html{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code,kbd,pre{font-family:var(--font-mono)}::selection{background:var(--color-neon-blue);color:var(--color-charcoal)}.logo-dark{display:inline}.logo-light,html.light .logo-dark,html[data-theme=light] .logo-dark{display:none}html.light .logo-light,html[data-theme=light] .logo-light{display:inline}.fn-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:14px;gap:14px;margin:24px 0 32px}.fn-tile{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg-subtle);text-decoration:none;color:var(--color-text);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.fn-tile:hover{border-color:var(--color-neon-blue);transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,240,255,.08)}.fn-tile h3{margin:0;font-size:16px;font-weight:700;color:var(--color-text-strong);display:flex;align-items:center;gap:8px}.fn-tile-icon{font-size:18px}.fn-tile p{margin:0;font-size:13px;line-height:1.5;color:var(--color-text-muted);flex:1 1}.fn-tile-roles{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-faint)}.docs-article{color:var(--color-text);line-height:1.65;font-size:15px}.docs-article>:first-child{margin-top:0}.docs-article h1{font-size:2.15rem;font-weight:800;color:var(--color-text-strong);margin:0 0 16px;letter-spacing:-.015em;line-height:1.15}.docs-article h2{font-size:1.5rem;margin:40px 0 14px;letter-spacing:-.01em;padding-bottom:8px;border-bottom:1px solid var(--color-border);line-height:1.25}.docs-article h2,.docs-article h3{font-weight:700;color:var(--color-text-strong)}.docs-article h3{font-size:1.2rem;margin:28px 0 10px;line-height:1.3}.docs-article h4{font-size:1.05rem;font-weight:600;color:var(--color-text-strong);margin:22px 0 8px}.docs-article p{margin:12px 0}.docs-article ol,.docs-article ul{margin:12px 0;padding-left:22px}.docs-article li,.docs-article li>p{margin:4px 0}.docs-article a{color:var(--color-neon-blue);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .12s ease}.docs-article a:hover{border-bottom-color:var(--color-neon-blue)}.docs-article a:visited{color:var(--color-neon-blue)}html.light .docs-article a,html[data-theme=light] .docs-article a{color:var(--color-neon-blue-ink)}html.light .docs-article a:hover,html[data-theme=light] .docs-article a:hover{border-bottom-color:var(--color-neon-blue-ink)}.docs-article .docs-lede{color:var(--color-text-muted);font-size:1.05rem;margin:0 0 20px}.docs-version-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.docs-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.5;border:1px solid transparent}.docs-badge-since{color:var(--color-neon-green);background:rgba(52,211,153,.12);border-color:rgba(52,211,153,.35)}.docs-badge-deprecated{color:var(--color-warning);background:rgba(252,211,77,.12);border-color:rgba(252,211,77,.35)}.docs-article code{padding:1px 6px;border-radius:4px;font-size:.88em;color:var(--color-text-strong)}.docs-article code,.docs-article pre{background:var(--color-charcoal-light);border:1px solid var(--color-border)}.docs-article pre{border-radius:10px;padding:16px 18px;font-size:13px;line-height:1.55;margin:16px 0}.docs-article pre code{background:transparent;padding:0;border:0;font-size:inherit;color:var(--color-text)}.docs-article pre code.hljs,.docs-article pre.hljs{background:transparent!important;padding:0!important}html.light .docs-article pre,html[data-theme=light] .docs-article pre{background:#f6f8fa;border-color:#d0d7de}html.light .docs-article pre code,html.light .docs-article pre code.hljs,html[data-theme=light] .docs-article pre code,html[data-theme=light] .docs-article pre code.hljs{color:#24292f}.docs-article table{width:100%;border-collapse:collapse;margin:18px 0;font-size:13.5px;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.docs-article td,.docs-article th{border-bottom:1px solid var(--color-border);padding:10px 12px;text-align:left;vertical-align:top}.docs-article th{background:var(--color-charcoal-lighter);color:var(--color-text-strong);font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em}.docs-article tbody tr:last-child td{border-bottom:0}.docs-article tbody tr:hover td{background:var(--color-charcoal-light)}.docs-article blockquote{border-left:3px solid var(--color-neon-blue);margin:16px 0;padding:10px 18px;color:var(--color-text-muted);background:rgba(0,240,255,.05);border-radius:0 8px 8px 0}.docs-article blockquote>:first-child{margin-top:0}.docs-article blockquote>:last-child{margin-bottom:0}.docs-article blockquote strong{color:var(--color-text-strong)}.docs-article hr{border:0;border-top:1px solid var(--color-border);margin:32px 0}.docs-article audio,.docs-article img,.docs-article video{max-width:100%;border-radius:6px}.docs-article kbd{background:var(--color-charcoal-lighter);border:1px solid var(--color-border-soft);padding:1px 6px;border-radius:4px;font-size:.85em;box-shadow:inset 0 -1px 0 var(--color-border-soft)}.docs-article :is(h2,h3,h4){position:relative;scroll-margin-top:72px}.cms-html-inline audio,.cms-html-inline img,.cms-html-inline video{max-width:100%}.docs-prevnext{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin:48px 0 0;padding-top:24px;border-top:1px solid var(--color-border)}.docs-prevnext-link{display:flex;flex-direction:column;padding:14px 18px;border:1px solid var(--color-border-soft);border-radius:10px;text-decoration:none;color:var(--color-text);background:var(--color-bg-subtle);transition:border-color .12s ease,color .12s ease}.docs-prevnext-link:hover{border-color:var(--color-neon-blue);color:var(--color-neon-blue)}.docs-prevnext-next{align-items:flex-end;text-align:right}.docs-prevnext-label{font-size:11px;color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.08em}.docs-prevnext-title{font-size:14px;font-weight:600;color:var(--color-text-strong);margin-top:4px}.docs-prevnext-link:hover .docs-prevnext-title{color:var(--color-neon-blue)}.docs-meta{margin-top:32px;color:var(--color-text-faint);font-size:12px}.docs-article pre{overflow-x:auto}.docs-article iframe,.docs-article img,.docs-article video{max-width:100%;height:auto}@media (max-width:1099px){.docs-article table{display:block;width:100%;overflow-x:auto}}@media (max-width:767px){.docs-article{font-size:16px;line-height:1.6}.docs-article h1{font-size:1.75rem;line-height:1.2}.docs-article h2{font-size:1.3rem}.docs-article h3{font-size:1.1rem}.docs-article .docs-lede{font-size:1rem}}.exam-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.exam-page{max-width:820px}.exam-muted{color:var(--color-text-muted);font-size:14px}.exam-footnote{margin-top:28px;color:var(--color-text-faint);font-size:12px;line-height:1.6}.exam-back{margin-top:32px;font-size:14px}.exam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px;margin:24px 0 32px}.exam-card{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg-subtle);color:var(--color-text);text-decoration:none;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.exam-card:hover{border-color:var(--portal-accent);transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,240,255,.08)}.exam-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.exam-card-title{margin:0;font-size:16px;font-weight:700;color:var(--color-text-strong)}.exam-card-desc{margin:0;font-size:13px;line-height:1.55;color:var(--color-text-muted);flex:1 1}.exam-card-facts{display:flex;flex-wrap:wrap;gap:16px;margin:0}.exam-card-facts dt{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-faint)}.exam-card-facts dd{margin:2px 0 0;font-size:14px;font-weight:600;color:var(--color-text-strong)}.exam-card-when{margin:0;font-size:12px;color:var(--color-text-faint)}.exam-card-go{font-size:13px;font-weight:600;color:var(--portal-accent)}.exam-chip{flex:none;padding:3px 10px;border-radius:999px;border:1px solid var(--color-border-soft);font-size:11px;font-weight:600;letter-spacing:.03em;white-space:nowrap}.exam-chip-idle{color:var(--color-text-muted)}.exam-chip-live{color:var(--portal-accent);border-color:var(--portal-accent)}.exam-chip-done{color:var(--color-success);border-color:var(--color-success)}.exam-chip-closed{color:var(--color-text-faint)}.exam-brief h1{margin:0 0 8px}.exam-lede{font-size:16px;line-height:1.6;color:var(--color-text-muted);margin:0 0 20px}.exam-facts{display:flex;flex-wrap:wrap;gap:26px;margin:0 0 22px;padding:16px 18px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg-subtle)}.exam-facts dt{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-faint)}.exam-facts dd{margin:4px 0 0;font-size:15px;font-weight:700;color:var(--color-text-strong)}.exam-rules{margin:0 0 24px;padding-left:20px}.exam-rules li{margin:0 0 10px;line-height:1.6;color:var(--color-text)}.exam-rules strong{color:var(--color-text-strong)}.exam-attempt{position:relative}.exam-attempt-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 18px;margin-bottom:20px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg-subtle)}.exam-attempt-eyebrow{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint)}.exam-attempt-title strong{font-size:16px;color:var(--color-text-strong)}.exam-timer{display:flex;align-items:baseline;gap:10px}.exam-timer-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint)}.exam-timer-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1;color:var(--color-text-strong)}.exam-timer-flag{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.exam-timer-low .exam-timer-flag,.exam-timer-low .exam-timer-value{color:var(--color-warning)}.exam-timer-out .exam-timer-flag,.exam-timer-out .exam-timer-value{color:var(--color-danger)}.exam-warning{padding:14px 16px;margin-bottom:20px;border:1px solid var(--color-warning);border-left-width:4px;border-radius:8px;background:rgba(252,211,77,.08);color:var(--color-text);line-height:1.6}.exam-warning strong{color:var(--color-text-strong)}.exam-error{border:1px solid var(--color-danger);border-left-width:4px;border-radius:8px;background:hsla(0,91%,71%,.08)}.exam-error,.exam-notice{padding:12px 14px;margin:16px 0;color:var(--color-text);line-height:1.6}.exam-notice{border:1px solid var(--color-border-soft);border-left:4px solid var(--portal-accent);border-radius:8px}.exam-notice,.exam-question{background:var(--color-bg-subtle)}.exam-question{padding:22px;border:1px solid var(--color-border);border-radius:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.exam-question-count{margin:0 0 6px;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-faint)}.exam-question-prompt{margin:0 0 20px;font-size:20px;line-height:1.45;font-weight:700;color:var(--color-text-strong)}.exam-question-prompt:focus-visible{outline:2px solid var(--portal-accent);outline-offset:6px;border-radius:4px}.exam-options{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;border:0}.exam-options-legend{padding:0;margin-bottom:10px;font-size:13px;color:var(--color-text-muted)}.exam-option{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--color-border-soft);border-radius:10px;background:var(--color-bg);cursor:pointer;line-height:1.55;transition:border-color .12s ease,background .12s ease}.exam-option-checked,.exam-option:hover{border-color:var(--portal-accent)}.exam-option-checked{background:rgba(0,240,255,.06)}.exam-option:focus-within{outline:2px solid var(--portal-accent);outline-offset:2px}.exam-option-input{margin:3px 0 0;flex:none;width:16px;height:16px;accent-color:var(--portal-accent)}.exam-option-text{color:var(--color-text)}.exam-options:disabled .exam-option{opacity:.6;cursor:default}.exam-final-note{margin:16px 0 18px;font-size:13px;color:var(--color-text-muted)}.exam-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:8px}.exam-btn{display:inline-block;padding:9px 18px;border:1px solid var(--color-border-soft);border-radius:8px;background:var(--color-bg-subtle);color:var(--color-text);font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;font-family:inherit}.exam-btn:hover:not(:disabled){border-color:var(--portal-accent);color:var(--portal-accent)}.exam-btn:focus-visible{outline:2px solid var(--portal-accent);outline-offset:2px}.exam-btn:disabled{opacity:.5;cursor:not-allowed}.exam-btn-primary,.exam-btn-primary:hover:not(:disabled){background:var(--portal-accent);border-color:var(--portal-accent);color:var(--portal-accent-ink)}.exam-btn-primary:hover:not(:disabled){filter:brightness(.92)}.exam-btn-lg{padding:13px 28px;font-size:16px}.exam-confirm{margin-top:8px;padding:16px 18px;border:1px solid var(--portal-accent);border-radius:12px;background:var(--color-bg-subtle)}.exam-confirm-title{margin:0 0 8px;font-size:16px;font-weight:700;color:var(--color-text-strong)}.exam-confirm-list{margin:0 0 8px;padding-left:20px;color:var(--color-text)}.exam-confirm-list li{margin-bottom:4px}.exam-countdown{display:flex;align-items:center;justify-content:center;min-height:260px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg-subtle)}.exam-countdown-inner{text-align:center}.exam-countdown-digit{display:block;font-size:84px;font-weight:800;line-height:1;color:var(--portal-accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.exam-countdown-note{margin:16px 0 0;font-size:14px;color:var(--color-text-muted)}.exam-submitted{padding:26px;margin:20px 0;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg-subtle);text-align:center}.exam-submitted-headline{margin:0 0 8px;font-size:28px;font-weight:800;color:var(--color-text-strong)}.exam-verdict{margin:0 0 16px;padding:14px 18px;border-radius:10px;font-size:18px;font-weight:700;text-align:center;border:1px solid var(--color-border-soft)}.exam-verdict-pass{color:var(--color-success);border-color:var(--color-success);background:rgba(52,211,153,.08)}.exam-verdict-fail{color:var(--color-danger);border-color:var(--color-danger);background:hsla(0,91%,71%,.08)}@media (prefers-reduced-motion:reduce){.exam-card,.exam-option{transition:none}.exam-card:hover{transform:none}}.docs-article a.exam-btn.exam-btn,.docs-article a.exam-btn.exam-btn:visited{color:var(--color-text);border-bottom:none}.docs-article a.exam-btn-primary.exam-btn-primary,.docs-article a.exam-btn-primary.exam-btn-primary:visited{color:var(--portal-accent-ink);border-bottom:none}.docs-article a.exam-btn.exam-btn:hover{border-bottom:none}.exam-cert-list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;grid-gap:.6rem;gap:.6rem}.exam-cert{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.85rem 1rem;border:1px solid var(--docs-border);border-radius:10px;background:var(--docs-surface)}.exam-cert-meta{margin-top:.2rem;font-size:.82rem;color:var(--docs-muted)}.exam-cert-meta code{font-size:.8rem;letter-spacing:.03em}.exam-cert-dl{flex:none;padding:.4rem .9rem;border:1px solid var(--docs-border);border-radius:8px;font-size:.85rem;font-weight:600;text-decoration:none;color:var(--docs-text);white-space:nowrap}.exam-cert-dl:hover{border-color:var(--docs-accent);color:var(--docs-accent)}:root{--portal-accent:var(--color-neon-blue);--portal-accent-ink:var(--color-bg)}html.light,html[data-theme=light]{--portal-accent:var(--color-neon-blue-ink)}.course-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.course-page{max-width:860px}.course-muted{font-size:14px}.course-lede,.course-muted{color:var(--color-text-muted)}.course-lede{font-size:16px;line-height:1.6;margin:0 0 18px}.course-eyebrow{margin:0 0 4px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint)}.course-back{margin-top:32px;font-size:14px}.course-progress{margin:0 0 4px}.course-progress-track{position:relative;height:8px;border-radius:999px;background:var(--color-charcoal-lighter);border:1px solid var(--color-border);overflow:hidden}.course-progress-lg .course-progress-track{height:12px}.course-progress-fill{display:block;height:100%;min-width:0;border-radius:999px;background:linear-gradient(90deg,var(--portal-accent) 0,var(--color-neon-purple) 100%);transition:width .3s ease}.course-progress-complete .course-progress-fill{background:var(--color-success)}.course-progress-label{margin:6px 0 0;font-size:12px;color:var(--color-text-muted)}.course-progress-label strong{color:var(--color-text-strong);font-weight:700}.course-progress-lg .course-progress-label{font-size:13px}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:14px;gap:14px;margin:24px 0 32px}.course-card{display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg-subtle);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}.course-card:hover{border-color:var(--portal-accent);box-shadow:0 6px 18px rgba(0,240,255,.08)}.course-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.course-card-title{margin:0;font-size:16px;font-weight:700;line-height:1.35;color:var(--color-text-strong)}.course-card-title a{color:inherit;text-decoration:none;border-bottom:0}.course-card-title a:hover{color:var(--portal-accent)}.course-card-title a:focus-visible{outline:2px solid var(--portal-accent);outline-offset:3px;border-radius:4px}.course-card-desc{margin:0;font-size:13px;line-height:1.55;color:var(--color-text-muted);flex:1 1}.course-card-when{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;font-size:12px;color:var(--color-text-faint)}.course-card-foot{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:auto}.course-card-hint{font-size:12px;color:var(--color-text-faint)}.course-chip{flex:none;padding:3px 10px;border-radius:999px;border:1px solid var(--color-border-soft);font-size:11px;font-weight:600;letter-spacing:.03em;white-space:nowrap}.course-chip-done{color:var(--color-success);border-color:var(--color-success)}.course-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.course-resume{margin:18px 0 8px}.course-resume-none{margin:0}.course-btn{display:inline-block;padding:9px 18px;border:1px solid var(--color-border-soft);border-radius:8px;background:var(--color-bg-subtle);color:var(--color-text);font-size:14px;font-weight:600;line-height:1.3;cursor:pointer;text-decoration:none;font-family:inherit}.course-btn:hover:not(:disabled){border-color:var(--portal-accent);color:var(--portal-accent)}.course-btn:focus-visible{outline:2px solid var(--portal-accent);outline-offset:2px}.course-btn:disabled{opacity:.5;cursor:not-allowed}.course-btn-primary,.course-btn-primary:hover:not(:disabled),.course-btn-primary:visited{background:var(--portal-accent);border-color:var(--portal-accent);color:var(--portal-accent-ink)}.course-btn-primary:hover:not(:disabled){filter:brightness(.92)}.course-btn-lg{padding:13px 26px;font-size:16px}.docs-article a.course-btn{border-bottom:0}.course-done-flag{font-size:13px;font-weight:600;color:var(--color-success)}.course-notice{margin:16px 0;border:1px solid var(--color-border-soft);border-left:4px solid var(--portal-accent);border-radius:8px;background:var(--color-bg-subtle)}.course-error,.course-notice{padding:12px 14px;color:var(--color-text);font-size:14px;line-height:1.6}.course-error{margin:0 0 16px;border:1px solid var(--color-danger);border-left-width:4px;border-radius:8px;background:hsla(0,91%,71%,.08)}.course-details{margin:28px 0 0}.course-details>:first-child{margin-top:0}.course-schedule{margin-top:32px}.course-sessions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.course-session{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-subtle)}.course-session-body{display:flex;flex-direction:column;gap:4px;min-width:0}.course-session-title{font-size:15px;font-weight:600;color:var(--color-text-strong)}.course-session-when{font-size:12px;color:var(--color-text-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.course-session-join{flex:none;padding:7px 14px;font-size:13px}.course-curriculum{margin-top:36px}.course-module{margin-bottom:22px}.course-module-title{margin:0 0 10px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);padding-bottom:6px}.course-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.course-item{margin:0}.course-item-link{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--color-border-soft);border-radius:10px;background:var(--color-bg);color:var(--color-text);text-decoration:none;transition:border-color .12s ease,background .12s ease}a.course-item-link{border-bottom:1px solid var(--color-border-soft)}a.course-item-link:hover{border-color:var(--portal-accent);background:var(--color-bg-subtle)}a.course-item-link:focus-visible{outline:2px solid var(--portal-accent);outline-offset:2px}.course-item-static{cursor:default}.course-item-tick{flex:none;width:22px;text-align:center;font-size:15px;line-height:1.5;color:var(--color-text-faint)}.course-item-tick-done{color:var(--color-success);font-weight:700}.course-item-tick-locked{color:var(--color-text-muted)}.course-item-body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1}.course-item-number{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-faint)}.course-item-title{font-size:15px;font-weight:600;line-height:1.4;color:var(--color-text-strong)}.course-item-done .course-item-title{color:var(--color-text-muted);font-weight:500}.course-item-reason{margin-top:4px}.course-item-note,.course-item-reason{font-size:13px;line-height:1.55;color:var(--color-text-muted)}.course-item-note{margin:8px 0 0;padding:8px 12px;border-left:3px solid var(--portal-accent);border-radius:0 6px 6px 0;background:var(--color-bg-subtle)}.course-item-go{flex:none;align-self:center;font-size:13px;font-weight:600;color:var(--portal-accent);white-space:nowrap}.course-module-exam .course-item-link{border-color:var(--color-border-soft);background:var(--color-bg-subtle)}.course-item-locked .course-item-link{opacity:.85}.course-exam-facts{display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0 0}.course-exam-facts dt{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-faint)}.course-exam-facts dd{margin:1px 0 0;font-size:13px;font-weight:600;color:var(--color-text-strong)}.course-lesson-count{margin:0 0 20px;font-size:13px;color:var(--color-text-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.course-lesson-body{margin-bottom:32px}.course-lesson-foot{margin-top:32px;padding-top:24px;border-top:1px solid var(--color-border)}.course-prevnext{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:24px}.course-prevnext-slot{display:flex;flex-direction:column;gap:4px;min-height:1px;padding:12px 14px;border:1px solid var(--color-border-soft);border-radius:10px;background:var(--color-bg-subtle);color:var(--color-text);text-decoration:none}a.course-prevnext-slot{border-bottom:1px solid var(--color-border-soft)}a.course-prevnext-slot:hover{border-color:var(--portal-accent)}a.course-prevnext-slot:focus-visible{outline:2px solid var(--portal-accent);outline-offset:2px}.course-prevnext-slot:empty{border:0;background:none;padding:0}.course-prevnext-next{text-align:right}.course-prevnext-label{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-faint)}.course-prevnext-title{font-size:14px;font-weight:600;line-height:1.4;color:var(--color-text-strong)}a.course-prevnext-slot:hover .course-prevnext-title{color:var(--portal-accent)}.course-prevnext-locked .course-prevnext-title{color:var(--color-text-muted)}.course-unlocked{padding:22px;border:1px solid var(--portal-accent);border-radius:12px;background:var(--color-bg-subtle)}.course-unlocked-title{margin:0 0 8px;font-size:22px;font-weight:800;line-height:1.25;color:var(--color-text-strong)}.course-unlocked-title:focus-visible{outline:2px solid var(--portal-accent);outline-offset:6px;border-radius:4px}.course-unlocked-body{margin:0 0 18px;font-size:15px;line-height:1.6;color:var(--color-text)}.course-unlocked-body strong{color:var(--color-text-strong)}@media (max-width:640px){.course-grid,.course-prevnext{grid-template-columns:1fr}.course-prevnext-next{text-align:left}.course-prevnext-slot:empty{display:none}.course-session{flex-direction:column;align-items:flex-start}.course-session-join{align-self:stretch;text-align:center}.course-item-link{flex-wrap:wrap}.course-item-go{width:100%;padding-left:34px;align-self:flex-start}.course-btn-lg{width:100%;text-align:center}.course-actions{gap:10px}}@media (prefers-reduced-motion:reduce){.course-card,.course-item-link,.course-progress-fill{transition:none}}.docs-article a.course-btn.course-btn,.docs-article a.course-btn.course-btn:visited{color:var(--color-text);border-bottom:none}.docs-article a.course-btn-primary.course-btn-primary,.docs-article a.course-btn-primary.course-btn-primary:visited{color:var(--portal-accent-ink);border-bottom:none}.docs-article a.course-btn.course-btn:hover{border-bottom:none}