@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/inter-latin-variable-Dx4kXJAl.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/space-grotesk-latin-variable-BhU9QXUp.woff2) format("woff2")}:root{font-family:Inter,Segoe UI,sans-serif;color:#d1e4fa;background:#05060f;font-synthesis:none;font-size:14px;font-weight:400;line-height:1.5;font-variant-numeric:tabular-nums;color-scheme:dark;--text: #d1e4fa;--muted: #9da7ba;--secondary: #c7d3ea;--edge: rgba(186,215,247,.14)}*{box-sizing:border-box}body{margin:0;min-width:300px}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:radial-gradient(ellipse 580px 440px at 37% 30%,rgba(132,170,225,.2),transparent 75%),radial-gradient(ellipse 460px 500px at 81% 70%,rgba(76,111,166,.12),transparent 75%),radial-gradient(ellipse 480px 190px at 58% 0%,rgba(161,187,223,.12),transparent 80%)}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(rgba(186,215,247,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(186,215,247,.045) 1px,transparent 1px);background-size:78px 78px;-webkit-mask-image:radial-gradient(ellipse at 50% 25%,black,transparent 80%);mask-image:radial-gradient(ellipse at 50% 25%,black,transparent 80%)}button,input,select{font:inherit}button,summary,input,select,a,[tabindex]{-webkit-tap-highlight-color:transparent}button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;border:1px solid var(--edge);border-radius:999px;background:#c7d3ea0e;color:var(--secondary);line-height:1.4;cursor:pointer;transition:background .15s,border-color .15s,color .15s}button:hover{color:#f0f6ff;background:#bad6f71f;border-color:#bad7f74d}button:disabled{opacity:.35;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid #b7d7f8;outline-offset:3px}input,select{width:100%;min-width:0;padding:9px 10px;border:1px solid var(--edge);border-radius:6px;background:#cadcf40f;color:#e4eefb}select{cursor:pointer;padding-right:24px}option{background:#151d2d;color:#e0ebfa}input[aria-invalid=true]{border-color:#d4a3a3;background:#bc85850d}h1,h2,h3,p{margin:0}h1,h2,h3,strong{font-weight:500}svg{flex-shrink:0}summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}summary::-webkit-details-marker{display:none}summary>svg{transition:transform .15s}details[open]>summary>svg{transform:rotate(90deg)}.glass{background:linear-gradient(145deg,#aec9ec1c,#0a0f1c4d 65%),#080d188a;backdrop-filter:blur(20px) saturate(115%);-webkit-backdrop-filter:blur(20px) saturate(115%);border:1px solid var(--edge);border-radius:16px;box-shadow:inset 0 1px #dcedff33,inset 0 24px 48px #a8d8f50a,0 20px 50px #00000047}@supports not (backdrop-filter: blur(20px)){.glass{background:linear-gradient(145deg,#1b263b,#0b1120 75%)}}.brand{display:flex;gap:11px;align-items:center;color:#d8e6f8;text-decoration:none;font-size:18px;letter-spacing:-.5px;font-weight:550}.brand-mark{display:inline-flex;flex-direction:column;gap:3px;width:26px}.brand-mark i{width:18px;height:4px;background:#c5d9f1;border-radius:2px}.brand-mark i:nth-child(2){width:17px;margin-left:7px;opacity:.75}.brand-mark i:last-child{width:21px;opacity:.5}.brand-links{display:flex;align-items:center;flex:none;gap:8px}.brand{white-space:nowrap}.brand-copy{display:flex;flex-direction:column;gap:2px}.brand-name{line-height:1.1}.brand-descriptor{color:var(--muted);font-size:11.5px;font-weight:400;line-height:1.2;letter-spacing:normal}.github-profile{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border-radius:8px;color:#9eafc6;text-decoration:none}.notebook .github-profile{color:#9eafc6}.github-profile:is(:hover,:focus),.notebook .github-profile:is(:hover,:focus){background:#bad6f512;color:#e1edfc}.github-mark{pointer-events:none}.github-mark-base{stroke:#91a4be}.github-mark-accent{--contour-offset: 0px;stroke:#edf6ff;stroke-dasharray:30 70;animation:github-contour-light 5.142857s linear infinite}.github-mark-tail{--contour-offset: 90px}.retained-view[hidden] .github-mark-accent{animation:none}@keyframes github-contour-light{0%{stroke-dashoffset:var(--contour-offset)}to{stroke-dashoffset:calc(var(--contour-offset) - 100px)}}@media(prefers-reduced-motion:reduce){.github-mark-accent{animation:none!important;opacity:0}}::view-transition{pointer-events:none}::view-transition-group(root){animation:none}::view-transition-old(root){animation:view-leave .18s ease-out both;mix-blend-mode:normal}::view-transition-new(root){animation:view-enter .2s cubic-bezier(.2,.7,.2,1) both;mix-blend-mode:normal}@keyframes view-leave{to{opacity:0;transform:translateY(-2px)}}@keyframes view-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation:none!important}}h1{font-family:Space Grotesk,Segoe UI,sans-serif;font-size:17px;line-height:1.3;letter-spacing:-.3px;font-weight:500;color:#d5e5fa}.notebook-inline-link{display:inline-flex;align-items:center;gap:8px}.notebook-open svg{transition:transform .16s ease}.notebook-open:hover svg,.notebook-open:focus-visible svg{transform:translate(2px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.retained-view[hidden]{display:none}.workspace-learn,.notebook-header nav .notebook-learn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:6px 11px;color:#c5dcf4;font-size:13px;text-decoration:none;border:1px solid #94bde538;border-radius:999px;background:#94bde50d;transition:color .16s ease,background-color .16s ease,border-color .16s ease}.workspace-learn:hover,.notebook-header nav .notebook-learn:hover{color:#e9f4ff;background-color:#94bde51f;border-color:#a9cbea66}.notebook-header nav .notebook-learn[aria-current]{color:#e0efff;background-color:#94bde51b;border-color:#94bde55c}.algorithm-context h1:focus{outline:none}.notebook{max-width:1230px;padding:0 32px;margin:0 auto;color:#c2d1e4}.notebook a{color:#b9d6f4;text-underline-offset:4px;transition:color .16s ease,background-color .16s ease,border-color .16s ease}.notebook a:hover{color:#ecf5ff}.notebook-header{min-height:78px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;padding-block:12px;border-bottom:1px solid var(--edge)}.notebook-header nav{display:flex;align-items:center;gap:26px;margin-left:auto;font-size:13px}.notebook-header nav a{text-decoration:none}.notebook-open{padding:9px 15px;border:1px solid #94bde556;border-radius:999px;background:#94bde514;display:flex;gap:12px}.notebook-open:hover{background:#94bde529}.notebook-not-found{padding:70px 0}.notebook-eyebrow{font-size:11px;color:#96b0cd;letter-spacing:.7px;display:flex;align-items:center;gap:10px;margin-bottom:18px}.notebook h1{font-size:clamp(27px,3.2vw,37px);line-height:1.2;letter-spacing:-1px;font-weight:500;max-width:26ch;margin:0 0 19px;color:#e2edfc}.notebook h1:focus,.notebook h2:focus{outline:none}.notebook p{font-size:15.5px;line-height:1.8;max-width:70ch;margin:16px 0}@media(max-width:1050px){.notebook{padding-inline:24px}}@media(max-width:780px){.notebook{padding-inline:20px}.notebook p{font-size:15px}.notebook-header{min-height:68px;gap:10px}.notebook-header .brand{font-size:16px;gap:8px}.notebook-header nav{gap:14px;font-size:12px}.notebook-header nav .notebook-learn{font-size:12px;padding-inline:8px;gap:6px}.notebook-open{padding:8px 11px;gap:8px}}@media(max-width:680px){.workspace-learn{padding-inline:8px;font-size:12px;gap:6px}.workspace-learn svg{display:block}}@media(max-width:600px){.brand{font-size:16px;gap:7px}.brand-mark{width:22px}}@media(max-width:380px){.notebook{padding-inline:16px}.notebook-header nav{gap:8px}}@media(max-width:460px){.site-header{gap:10px}.site-header nav button[aria-controls=configuration]>span{display:none}}
