:root{--ccc-color-code-surface:#303030;--ccc-color-code-panel:#3b3b3b;--ccc-color-code-border:#999;--ccc-color-code-hover:#474747;--ccc-color-code-text:#f8f8f2;--ccc-color-code-keyword:#c4b5fd;--ccc-color-code-comment:#68fb9b;--ccc-color-code-string:#7dd3fc;--ccc-color-code-number:#fdba74;--ccc-color-code-operator:#93c5fd;--ccc-color-code-function:#68fb51;--ccc-color-code-class:#ff79c6;--ccc-color-code-builtin:#ffb86c;--ccc-color-code-special:#ff80ab;--ccc-color-code-inline-surface:#303030;--ccc-color-code-inline-text:#ff80ab;--ccc-color-code-snippet-surface:#2d2d2d}:root[data-ccc-code-theme=light]{--ccc-color-code-surface:#f1f1f1;--ccc-color-code-panel:#fff;--ccc-color-code-border:#767676;--ccc-color-code-hover:#e9ecef;--ccc-color-code-text:#303030;--ccc-color-code-keyword:#5b21b6;--ccc-color-code-comment:#216b35;--ccc-color-code-string:#075985;--ccc-color-code-number:#9a3412;--ccc-color-code-operator:#0000cd;--ccc-color-code-function:#166534;--ccc-color-code-class:#8b008b;--ccc-color-code-builtin:sienna;--ccc-color-code-special:#ce1050;--ccc-color-code-inline-surface:#f1f1f1;--ccc-color-code-inline-text:#ce1050;--ccc-color-code-snippet-surface:#f1f1f1}.ccc-course-article-content :not(pre)>code{background:var(--ccc-color-code-inline-surface);color:var(--ccc-color-code-inline-text);font-family:var(--ccc-font-mono);border-radius:3px;padding:.125rem .25rem;font-size:90%}.ccc-code-token--keyword{color:var(--ccc-color-code-keyword)}.ccc-code-token--comment{color:var(--ccc-color-code-comment)}.ccc-code-token--string{color:var(--ccc-color-code-string)}.ccc-code-token--number{color:var(--ccc-color-code-number)}.ccc-code-token--operator{color:var(--ccc-color-code-operator)}.ccc-code-token--function{color:var(--ccc-color-code-function)}.ccc-code-token--class{color:var(--ccc-color-code-class)}.ccc-code-token--builtin{color:var(--ccc-color-code-builtin)}.ccc-code-token--special{color:var(--ccc-color-code-special)}.ccc-code-token--italic{font-style:italic}.ccc-code-token--underline{text-decoration:underline}.ccc-code-block,.ccc-code-tabs{border:1px solid var(--ccc-color-brand);background:var(--ccc-color-code-surface);min-width:0;max-width:100%;color:var(--ccc-color-code-text);border-radius:8px;margin:2rem 0;overflow:hidden}.ccc-code-filename{overflow-wrap:anywhere;font-family:var(--ccc-font-mono);padding:.75rem}.ccc-code-block-content{text-align:left;max-width:100%;font-family:var(--ccc-font-mono);font-size:.875rem;font-weight:var(--ccc-weight-regular);tab-size:4;margin:0;padding:.75rem;line-height:1.6;display:flex;overflow-x:auto}.ccc-code-block-code{min-width:max-content;font:inherit;display:block}.ccc-code-copy-button{border:1px solid var(--ccc-color-code-border);min-width:32px;min-height:32px;color:var(--ccc-color-code-text);background:var(--ccc-color-code-surface);cursor:pointer;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;margin-left:auto;padding:.375rem .5rem;font-size:.75rem;display:inline-flex}.ccc-code-copy-button:hover{background:var(--ccc-color-code-hover)}.ccc-code-copy-button:focus-visible,.ccc-code-block-content:focus-visible{outline-color:var(--ccc-color-code-text)}.ccc-code-copy-notice{right:max(1rem, env(safe-area-inset-right));bottom:calc(5.5rem + env(safe-area-inset-bottom));z-index:1000;color:#166534;pointer-events:none;background:#dcfce7;border:1px solid #86efac;border-radius:8px;max-width:min(24rem,100vw - 2rem);padding:.75rem 1rem;font-size:.875rem;line-height:1.5;position:fixed;box-shadow:0 4px 16px #00000026}.ccc-code-copy-notice[data-ccc-state=unavailable]{color:#78350f;background:#fef3c7;border-color:#fcd34d}.ccc-code-line-numbers{text-align:right;min-width:3.5em;color:var(--ccc-color-code-text);-webkit-user-select:none;user-select:none;flex-shrink:0;padding-right:1em}.ccc-code-header{border-bottom:1px solid var(--ccc-color-brand);align-items:center;gap:.75rem;padding-right:.75rem;display:flex}.ccc-code-languages{align-items:center;gap:.25rem;min-width:0;padding:.5rem .5rem 0;display:flex;overflow-x:auto}.ccc-code-tabs-tab,.ccc-code-language{color:var(--ccc-color-code-text);font-size:.875rem;font-weight:var(--ccc-weight-bold);background:0 0;border:0;border-radius:6px 6px 0 0;flex-shrink:0;padding:.75rem 1rem}.ccc-code-tabs-tab{cursor:pointer}.ccc-code-tabs-tab:hover{background:var(--ccc-color-code-hover)}.ccc-code-tabs-tab[aria-selected=true],.ccc-code-language{background:var(--ccc-color-brand);color:var(--ccc-color-ink)}.ccc-code-tabs-panel>.ccc-code-block{border:0;border-radius:0;margin:0}.ccc-code-tabs-tab:focus-visible{outline-color:var(--ccc-color-code-text);outline-offset:-3px}.ccc-code-snippet{overflow-wrap:anywhere;max-width:100%}@media print{.ccc-code-header,.ccc-code-copy-notice{display:none}.ccc-code-block-content{white-space:pre-wrap;overflow-wrap:anywhere}.ccc-code-block-code{min-width:0}}.ccc-course-tree[data-astro-cid-j5k55uym]{margin:0;padding:0;list-style:none}.ccc-course-link[data-astro-cid-j5k55uym],.ccc-course-branch-trigger[data-astro-cid-j5k55uym]{min-height:44px;color:var(--ccc-color-ink);font-size:.9375rem;font-weight:var(--ccc-weight-regular);overflow-wrap:anywhere;align-items:center;padding:8px 12px;line-height:1.5;text-decoration:none;display:flex}.ccc-course-branch-trigger[data-astro-cid-j5k55uym]{cursor:pointer;justify-content:space-between;gap:16px;list-style:none}.ccc-course-branch-trigger[data-astro-cid-j5k55uym]::-webkit-details-marker{display:none}.ccc-course-branch-trigger[data-astro-cid-j5k55uym] svg[data-astro-cid-j5k55uym]{width:12px;color:var(--ccc-color-copy);flex-shrink:0}.ccc-course-branch[data-astro-cid-j5k55uym][open]>summary[data-astro-cid-j5k55uym] svg[data-astro-cid-j5k55uym]{transform:rotate(90deg)}.ccc-course-branch-content[data-astro-cid-j5k55uym]{border-left:1px solid var(--ccc-color-page-muted);margin-left:12px}.ccc-course-link[data-astro-cid-j5k55uym]:hover,.ccc-course-branch-trigger[data-astro-cid-j5k55uym]:hover{background:var(--ccc-color-page-muted)}.ccc-course-link[data-astro-cid-j5k55uym][aria-current=page]{box-shadow:inset 2px 0 var(--ccc-color-brand);font-weight:var(--ccc-weight-medium)}.ccc-course-navigation-desktop[data-astro-cid-g26x3vkl]{display:none}@media (width>=901px){.ccc-course-navigation-desktop[data-astro-cid-g26x3vkl]{top:var(--course-header-height,133px);z-index:190;color:var(--ccc-color-ink);background:var(--ccc-color-page);border-bottom:1px solid var(--ccc-color-page-muted);display:block;position:sticky}}.ccc-course-navigation-desktop-inner[data-astro-cid-g26x3vkl]{justify-content:space-between;align-items:center;gap:24px;max-width:1200px;margin-inline:auto;padding:0 16px;display:flex}.ccc-course-navigation-desktop-list[data-astro-cid-g26x3vkl]{gap:24px;margin:0;padding:0;list-style:none;display:flex}.ccc-course-menu[data-astro-cid-g26x3vkl]{position:relative}.ccc-course-menu-trigger[data-astro-cid-g26x3vkl]{min-height:64px;font-size:.9375rem;font-weight:var(--ccc-weight-medium);cursor:pointer;border-bottom:2px solid #0000;align-items:center;gap:10px;list-style:none;display:flex}.ccc-course-menu-trigger[data-astro-cid-g26x3vkl]::-webkit-details-marker{display:none}.ccc-course-menu-trigger[data-astro-cid-g26x3vkl] svg[data-astro-cid-g26x3vkl]{width:12px;color:var(--ccc-color-copy)}.ccc-course-menu[data-astro-cid-g26x3vkl][data-active=true]>summary[data-astro-cid-g26x3vkl]{border-bottom-color:var(--ccc-color-brand)}.ccc-course-menu[data-astro-cid-g26x3vkl][open]>summary[data-astro-cid-g26x3vkl] svg[data-astro-cid-g26x3vkl]{transform:rotate(180deg)}.ccc-course-menu-panel[data-astro-cid-g26x3vkl]{width:320px;max-height:calc(100dvh - var(--course-header-height,133px) - 80px);overscroll-behavior:contain;background:var(--ccc-color-page);border:1px solid var(--ccc-color-page-muted);border-radius:0 0 4px 4px;padding:12px;position:absolute;top:100%;left:-12px;overflow-y:auto;box-shadow:0 6px 12px #0000000f}.ccc-course-navigation-desktop[data-astro-cid-g26x3vkl] :focus-visible{outline:2px solid var(--ccc-color-ink);outline-offset:-2px}.ccc-course-navigation-desktop[data-astro-cid-g26x3vkl] .ccc-code-theme-control{box-shadow:none;backdrop-filter:none;background:0 0}
