.acard[data-astro-cid-77e4ecbl]{position:relative;display:flex;flex-direction:column;gap:10px;padding:20px 20px 18px;border:1px solid var(--line);background:var(--surface);transition:border-color .24s var(--ease)}.acard[data-astro-cid-77e4ecbl]:hover,.acard[data-astro-cid-77e4ecbl]:focus-within{border-color:var(--signal)}.acard[data-astro-cid-77e4ecbl][data-service=docs]{--signal:var(--signal-docs)}.acard[data-astro-cid-77e4ecbl][data-service=lectures]{--signal:var(--signal-lectures)}.acard[data-astro-cid-77e4ecbl][data-service=langs]{--signal:var(--signal-langs)}.acard[data-astro-cid-77e4ecbl][data-service=code]{--signal:var(--signal-code)}.acard[data-astro-cid-77e4ecbl][data-service=courses]{--signal:var(--signal-courses)}.acard__top[data-astro-cid-77e4ecbl]{display:flex;gap:10px}.acard__section[data-astro-cid-77e4ecbl]{font:500 .625rem var(--font-mono);letter-spacing:.16em;color:var(--signal)}.acard__flag[data-astro-cid-77e4ecbl]{font:500 .625rem var(--font-mono);letter-spacing:.16em;color:var(--signal-ink);background:var(--signal);padding:1px 6px}.acard__title[data-astro-cid-77e4ecbl]{font:600 1.15rem/1.25 var(--font-display);margin:0;color:var(--ink)}.acard__title[data-astro-cid-77e4ecbl] a[data-astro-cid-77e4ecbl]:after{content:"";position:absolute;inset:0}.acard__deck[data-astro-cid-77e4ecbl]{margin:0;color:var(--ink-soft);font-size:.9375rem;line-height:1.55}.acard__meta[data-astro-cid-77e4ecbl]{margin:auto 0 0;font:400 .6875rem var(--font-mono);letter-spacing:.1em;color:var(--ink-faint);text-transform:uppercase}.art{max-width:1200px;margin:0 auto;padding:110px 4vw 96px}.art--read{max-width:760px}.art__crumbs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 22px;padding:0;list-style:none;font:400 .6875rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}.art__crumbs li+li:before{content:"/";margin-right:6px;color:var(--ink-faint)}.art__crumbs a{color:var(--ink-soft);transition:color var(--t)}.art__crumbs a:hover{color:var(--signal)}.art__head{display:flex;flex-direction:column;gap:12px;padding-bottom:28px;margin-bottom:36px;border-bottom:1px solid var(--line)}.art__title{font:700 clamp(2rem,4.2vw,3.1rem)/1.06 var(--font-display);letter-spacing:-.01em;margin:0}.art__lede{font:500 1.2rem/1.55 var(--font-display);color:var(--ink-soft);margin:0;max-width:62ch}.art__telemetry{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.art__feed{font:500 .6875rem var(--font-mono);letter-spacing:.12em;color:var(--ink-faint);text-transform:uppercase}.art__feed:hover{color:var(--signal)}.art__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.art__empty{border:1px solid var(--line-strong);background:var(--surface);padding:22px;color:var(--ink-soft);max-width:62ch}.art__empty b{color:var(--ink)}.art__group{margin-top:52px}.art__group:first-of-type{margin-top:0}.art__grouphead{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:14px}.art__grouphead h2{font:600 1.25rem var(--font-display);margin:0}.art__count{font:400 .6875rem var(--font-mono);letter-spacing:.12em;color:var(--ink-faint)}.art__all{margin-left:auto;font:500 .75rem var(--font-mono);letter-spacing:.1em;color:var(--ink-soft);text-transform:uppercase;white-space:nowrap}.art__all:hover{color:var(--signal)}.art__banner{position:sticky;top:64px;z-index:40;margin:0 0 24px;padding:10px 14px;background:var(--signal);color:var(--signal-ink);font:600 .75rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase}.art__byline{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font:400 .75rem var(--font-mono);letter-spacing:.08em;color:var(--ink-faint);text-transform:uppercase}.art__byline a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}.art__byline a:hover{text-decoration-color:var(--signal)}.art__orig{font-size:.875rem;color:var(--ink-faint);margin:0}.art__orig a{color:var(--ink-soft);text-decoration:underline;text-underline-offset:2px}.art__figure{margin:0 0 36px}.art__figure img{width:100%;height:auto;border:1px solid var(--line)}.art__tags{display:flex;flex-wrap:wrap;gap:8px;margin:44px 0 0;padding:0;list-style:none}.art__tags li{font:500 .6875rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--line);padding:5px 10px}.art-prose{color:var(--ink-soft);font-size:1.0625rem;line-height:1.75}.art-prose h2{font:600 1.5rem var(--font-display);color:var(--ink);letter-spacing:-.005em;margin:52px 0 16px}.art-prose h3{font:600 1.15rem var(--font-display);color:var(--ink);margin:36px 0 12px}.art-prose h4{font:600 1rem var(--font-display);color:var(--ink);margin:28px 0 10px}.art-prose p{margin:0 0 20px}.art-prose ul,.art-prose ol{margin:0 0 20px;padding-left:22px}.art-prose li{margin:0 0 9px}.art-prose a{color:var(--signal);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--signal-dim);transition:text-decoration-color var(--t)}.art-prose a:hover{text-decoration-color:var(--signal)}.art-prose strong{color:var(--ink);font-weight:600}.art-prose blockquote{margin:0 0 22px;padding:2px 0 2px 18px;border-left:2px solid var(--signal);color:var(--ink)}.art-prose hr{border:0;border-top:1px solid var(--line);margin:40px 0}.art-prose img{max-width:100%;height:auto;border:1px solid var(--line);margin:8px 0}.art-prose code{font:400 .9em var(--font-mono);background:var(--surface-alt);padding:1px 5px}.art-prose pre{background:var(--surface);border:1px solid var(--line);padding:16px;overflow-x:auto}.art-prose pre code{background:none;padding:0}.art-prose table{width:100%;border-collapse:collapse;margin:0 0 22px;font-size:.9375rem;display:block;overflow-x:auto}.art-prose th,.art-prose td{border:1px solid var(--line);padding:8px 10px;text-align:left}.art-prose th{color:var(--ink);font-weight:600}.author{display:flex;flex-direction:column;gap:10px;margin-top:48px;padding:22px;border:1px solid var(--line-strong);background:var(--surface)}.author__label{font:500 .625rem var(--font-mono);letter-spacing:.16em;color:var(--ink-faint);text-transform:uppercase}.author__name{font:600 1.15rem var(--font-display);margin:0;color:var(--ink)}.author__name a:hover{color:var(--signal)}.author__bio{margin:0;color:var(--ink-soft);line-height:1.6}.author__links{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;list-style:none}.author__links a{font:500 .6875rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.author__links a:hover{color:var(--signal)}.art__more{margin-top:64px;padding-top:36px;border-top:1px solid var(--line)}.art__more .art__grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}@media(max-width:800px){.art{padding-top:96px}.art__grid{grid-template-columns:1fr}.art__banner{top:56px}}
