:root{--brand-accent:#ccf;--brand-accent-deep:#3d3d85;--brand-accent-text-light:#3d3d85;--brand-accent-text-dark:#ccf;--brand-lantern:#ffd27a;--brand-lantern-deep:#b07a00;--brand-lantern-text-light:#7a5500;--brand-night:#101026;--brand-dusk:#3a3a80;--brand-midnight:#08081a;--brand-starlight:#eef;--brand-paper:#fdfdff;--brand-mist:#f3f3fa;--brand-cat-fur:#ececff;--brand-cat-stripe:#3d3d85;--brand-cat-ink:#14143a;--brand-cat-glint:#fff;--brand-blush:#ffb08a;--brand-cat-nose:#ff8fa0;--brand-cat-paw:#fff;--brand-cat-tail-star:#ffd27a;--ui-bg0:light-dark(#e8e8f5,#0a0a1c);--ui-bg1:light-dark(#fdfdff,#101026);--ui-bg2:light-dark(#f3f3fa,#161634);--ui-bg3:light-dark(#fff,#1f1f45);--ui-hover:light-dark(#eaeaf6,#272754);--ui-border:light-dark(#dcdcee,#29295a);--ui-border-strong:light-dark(#bdbdde,#3c3c78);--ui-text:light-dark(#14143a,#f0f0ff);--ui-text2:light-dark(#42426e,#bfbfe6);--ui-muted:light-dark(#545485,#9c9ccc);--ui-primary:light-dark(#3d3d85,#ccf);--ui-primary-hover:light-dark(#2f2f70,#dcdcff);--ui-primary-ink:light-dark(#fff,#1a1a4a);--ui-primary-text:light-dark(#3d3d85,#ccf);--ui-accent:light-dark(#b07a00,#ffd27a);--ui-accent-text:light-dark(#7a5500,#ffd98f);--ui-star:light-dark(#f4f4ff,#eef);--ui-star-glow:#ccf;--ui-success:light-dark(#0b6a3b,#5ee0a0);--ui-warning:light-dark(#9a4a00,#ff9f5a);--ui-danger:light-dark(#b51e3b,#ff7a8e);--ui-focus:light-dark(#5c5c99,#ccf);--ui-sky-top:light-dark(#292966,#08081a);--ui-sky-mid:light-dark(#3f3f8a,#1c1c52);--ui-sky-bottom:light-dark(#5151a3,#3a3a80);--ui-sky-text:#fff;--ui-sky-text2:light-dark(#e6e6ff,#cfcff0);--night-primary:#ccf;--night-primary-hover:#dcdcff;--night-primary-ink:#1a1a4a;--night-primary-text:#ccf;--night-star:#eef;--night-star-glow:#ccf;--night-sky-top:#08081a;--night-sky-mid:#1c1c52;--night-sky-bottom:#3a3a80;--night-sky-text:#fff;--night-sky-text2:#cfcff0;--icon-background-top:#2e2e72;--icon-background-bottom:#0a0a1c;--icon-glow:#ccf;--icon-mark:#ececff;--icon-mark-outline:#3d3d85;--icon-star:#ffd27a;color-scheme:light dark;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:32px;--s8:48px;--s9:72px;--s10:112px;--bg:var(--ui-bg1);--surface:var(--ui-bg2);--raised:var(--ui-bg3);--hover:light-dark(#2929660f,#ccccff14);--line:var(--ui-border);--line-strong:var(--ui-border-strong);--text:var(--ui-text);--text2:var(--ui-text2);--muted:var(--ui-muted);--faint:light-dark(#14143a4d,#ccccff4d);--accent:var(--ui-primary);--accent-hover:var(--ui-primary-hover);--accent-press:color-mix(in srgb, var(--ui-primary) 88%, var(--ui-text));--accent-text:var(--ui-primary-text);--accent-on-sky:var(--night-primary-text);--accent-ink:var(--ui-primary-ink);--accent-soft:light-dark(#3d3d851a,#ccccff24);--accent-ring:color-mix(in srgb, var(--ui-focus) 55%, transparent);--lantern:var(--ui-accent);--lantern-text:var(--ui-accent-text);--lantern-soft:light-dark(#b07a001a,#ffd27a1f);--good:var(--ui-success);--bad:var(--ui-danger);--warn:var(--ui-warning);--purple:light-dark(#7a3fa8,#d3a6ff);--sky-top:var(--ui-sky-top);--sky-mid:var(--ui-sky-mid);--sky-bottom:var(--ui-sky-bottom);--sky-star:var(--ui-star);--sky-heading:var(--ui-sky-text);--sky-text:var(--ui-sky-text);--sky-muted:var(--ui-sky-text2);--window-bg:var(--night-sky-top);--window-bar:#161634;--code-bg:light-dark(var(--ui-bg2),var(--ui-bg0));--btn-hover:light-dark(#f7f7fc,#272754);--gh-sponsors:#db61a2;--bmc-bg:#fd0;--bmc-bg-hover:#ffe433;--bmc-ink:#0d0c22;--r-xs:4px;--r:6px;--r-md:8px;--r-lg:10px;--r-xl:12px;--r-2xl:16px;--shadow-control:0 .5px 1.5px light-dark(#00000024,#0006);--shadow-pop:0 10px 32px #00000038, 0 2px 6px #0000001f;--shadow-window:0 30px 80px #00000059, 0 8px 24px #0003;--ring:0 0 0 3px var(--accent-ring);--ease:cubic-bezier(.16, 1, .3, 1);--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--display:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--page:1160px;--prose:700px;font-family:var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;line-height:1.6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{flex-direction:column;min-height:100vh;margin:0;display:flex}main{flex:1}img,video,svg{max-width:100%;height:auto;display:block}::selection{background:var(--accent-soft)}a{color:var(--accent-text);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{box-shadow:var(--ring);border-radius:var(--r);outline:none}code,pre,kbd{font-family:var(--mono);font-size:.875em}:not(pre)>code{background:var(--surface);border-radius:var(--r-xs);box-shadow:inset 0 0 0 .5px var(--line);padding:.1em .35em}pre{background:var(--code-bg);border-radius:var(--r-md);padding:var(--s4);box-shadow:inset 0 0 0 .5px var(--line);line-height:1.5;overflow-x:auto}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;color:var(--text);text-wrap:balance;margin:0;line-height:1.15}p{text-wrap:pretty}.skip{z-index:100;background:var(--accent);color:var(--accent-ink);border-radius:var(--r);padding:8px 12px;font-weight:600;position:absolute;top:8px;left:-9999px}.skip:focus{left:8px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wrap{width:100%;max-width:var(--page);padding:0 var(--s5);margin:0 auto}.muted{color:var(--muted)}.eyebrow{color:var(--accent-text);margin-bottom:var(--s3);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.btn{border-radius:var(--r-md);height:40px;color:var(--text);background:var(--raised);box-shadow:var(--shadow-control), 0 0 0 .5px var(--line-strong);transition:background-color .15s var(--ease), transform .15s var(--ease);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--btn-hover)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-control)}.btn.primary:hover{background:var(--accent-hover)}.btn.primary:active{background:var(--accent-press)}.sky .btn.primary{background:var(--night-primary);color:var(--night-primary-ink)}.sky .btn.primary:hover{background:var(--night-primary-hover)}.sky .btn.primary:active{background:color-mix(in srgb, var(--night-primary) 88%, var(--night-sky-top))}.btn.small{border-radius:var(--r);height:32px;padding:0 12px;font-size:14px}.btn.on-sky{color:var(--sky-text);background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff47}.btn.on-sky:hover{background:#ffffff24}.btn svg{flex-shrink:0;width:16px;height:16px}.announce{background:var(--sky-top);color:var(--sky-muted);text-align:center;padding:8px var(--s5);font-size:13.5px}.announce a{color:var(--accent-on-sky);font-weight:600;text-decoration:none}.announce a:hover{text-decoration:underline}.nav{z-index:50;-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:.5px solid var(--line);background:light-dark(#fdfdffcc,#101026cc);position:sticky;top:0}.nav-inner{align-items:center;gap:var(--s5);height:56px;display:flex}.brand{color:var(--text);letter-spacing:-.01em;align-items:center;gap:8px;font-size:17px;font-weight:700;text-decoration:none;display:inline-flex}.brand .mark{flex-shrink:0;width:30px;height:auto}.brand .wordmark{width:auto;height:17px;color:var(--text)}.brand .wordmark .wm-star,.wordmark .wm-star{fill:var(--lantern)}.sky .wordmark .wm-star{fill:var(--brand-lantern)}.nav-links{align-items:center;gap:2px;margin:0;padding:0;list-style:none;display:flex}.nav-links a{border-radius:var(--r);color:var(--muted);padding:6px 10px;font-size:14.5px;font-weight:500;text-decoration:none;display:inline-block}.nav-links a:hover{color:var(--text);background:var(--hover)}.nav-links a[aria-current=page],.nav-links .sponsor-link{color:var(--text)}.nav-links .sponsor-link svg{width:13px;height:13px;fill:var(--gh-sponsors);vertical-align:-1px;margin-right:4px;display:inline}.nav .spacer{flex:1}.nav-gh{color:var(--muted);border-radius:var(--r);padding:6px;display:inline-flex}.nav-gh:hover{color:var(--text);background:var(--hover)}.nav-gh svg{fill:currentColor;width:20px;height:20px}.menu{display:none;position:relative}.menu summary{cursor:pointer;border-radius:var(--r);color:var(--text);padding:8px;list-style:none}.menu summary::-webkit-details-marker{display:none}.menu summary svg{width:20px;height:20px}.menu[open] summary{background:var(--hover)}.menu-panel{backdrop-filter:blur(30px);border-radius:var(--r-lg);min-width:220px;box-shadow:var(--shadow-pop), 0 0 0 .5px var(--line-strong);background:light-dark(#fdfdfff5,#1a1a3af5);padding:6px;position:absolute;top:calc(100% + 8px);right:0}.menu-panel a{border-radius:var(--r);color:var(--text);padding:9px 12px;font-size:15px;text-decoration:none;display:block}.menu-panel a:hover{background:var(--accent);color:var(--accent-ink)}@media (width<=860px){.nav-links,.nav .nav-gh,.nav .nav-download{display:none}.menu{display:block}}.sky{color:var(--sky-text);background:radial-gradient(120% 70% at 50% 108%, var(--sky-bottom) 0%, var(--sky-mid) 45%, var(--sky-top) 85%);position:relative;overflow:hidden}.sky .stars{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.sky .stars circle{fill:var(--sky-star)}.sky .twinkle{animation:twinkle var(--d,4s) ease-in-out var(--delay,0s) infinite;transform-origin:50%;transform-box:fill-box}@keyframes twinkle{0%,to{opacity:var(--o,.6)}50%{opacity:.12}}.sky .shoot{opacity:0;background:linear-gradient(90deg,#ffffffd9,#0000);width:120px;height:1px;animation:11s ease-in 3s infinite shoot;position:absolute;top:18%;left:70%;transform:rotate(-24deg)}@keyframes shoot{0%,92%{opacity:0;transform:translate(0)rotate(-24deg)}93%{opacity:1}to{opacity:0;transform:translate(-260px,116px)rotate(-24deg)}}.sky svg.constellation{pointer-events:none;width:190px;height:auto;position:absolute;top:140px;left:max(24px,50% - 640px);overflow:visible}@media (width<=1100px){.sky svg.constellation{display:none}}.sky .constellation line{stroke:var(--night-star);stroke-width:1.2px;stroke-opacity:.55;stroke-dasharray:200;stroke-dashoffset:200px;animation:draw 1.4s var(--ease) forwards;animation-delay:var(--delay,0s)}.sky .constellation circle{fill:var(--night-star);filter:drop-shadow(0 0 4px var(--night-star-glow));opacity:0;animation:lit .6s var(--ease) forwards;animation-delay:var(--delay,0s)}@keyframes draw{to{stroke-dashoffset:0}}@keyframes lit{to{opacity:.9}}@media (prefers-reduced-motion:reduce){.sky .twinkle,.sky .shoot{animation:none}.sky .shoot{display:none}.sky .constellation line{stroke-dashoffset:0;animation:none}.sky .constellation circle{opacity:.9;animation:none}}.hero{padding:var(--s9) 0 0;text-align:center}.hero-mark{width:min(680px,86vw);margin:0 auto var(--s7);color:var(--sky-heading)}.hero-mark .wordmark{width:100%;height:auto;overflow:visible}.wordmark .wm-star{transform-box:fill-box;transform-origin:50%}.wm-cat-g{transform-box:fill-box;transform-origin:50% 100%}.wm-dots circle{fill:var(--brand-starlight)}@media (prefers-reduced-motion:no-preference){.js .wm-reveal:not(.wm-done):not(.wm-playing) .wm-strokes,.js .wm-reveal:not(.wm-done):not(.wm-playing) .wm-star,.js .wm-reveal:not(.wm-done):not(.wm-playing) .wm-cat-g{opacity:0;animation:0s linear 2.5s forwards wm-fallback}}@keyframes wm-fallback{to{opacity:1}}[data-cat] .eye-ball,[data-cat] .eye-glint{transform-box:fill-box;transform-origin:50%}[data-cat].blink .eye-ball{animation:.24s ease-in-out blink}[data-cat].blink .eye-glint{animation:.24s step-end glint-off}@keyframes blink{0%,to{scale:1}45%,55%{scale:1 .1}}@keyframes glint-off{0%{opacity:0}to{opacity:1}}.hero h1{letter-spacing:-.035em;color:var(--sky-heading);max-width:18ch;margin:0 auto;font-size:clamp(32px,5vw,56px)}.hero h1 em{color:var(--night-primary);font-style:normal;display:block}.hero .lede{color:var(--sky-muted);max-width:640px;margin:var(--s5) auto 0;font-size:clamp(17px,2vw,20px);line-height:1.5}.hero .ctas{gap:var(--s3);margin-top:var(--s7);flex-wrap:wrap;justify-content:center;display:flex}.hero .fine{color:var(--sky-muted);margin:var(--s4) 0 0;font-size:13.5px}.hero .fine a{color:var(--accent-on-sky)}.hero .ph-badge{width:fit-content;margin:var(--s4) auto 0;border-radius:var(--r-md);transition:opacity .15s var(--ease);line-height:0;display:block}.hero .ph-badge:hover{opacity:.85}.hero .ph-badge:focus-visible{outline:2px solid var(--accent-on-sky);outline-offset:3px}.hero-shot{margin-top:var(--s8);padding-bottom:0;position:relative}.hero-shot:after{content:"";background:linear-gradient(transparent, var(--bg));pointer-events:none;height:30%;position:absolute;bottom:0;left:0;right:0}.hero-shot .window{z-index:1;max-width:1080px;margin:0 auto;position:relative}.window{border-radius:var(--r-xl);background:var(--window-bg);box-shadow:var(--shadow-window), 0 0 0 .5px #ccccff2e;overflow:hidden}.window-bar{background:var(--window-bar);border-bottom:.5px solid #ccccff1a;align-items:center;gap:7px;height:28px;padding:0 12px;display:flex}.window-bar i{background:#ccf3;border-radius:50%;width:11px;height:11px}.window-bar span{text-align:center;min-width:0;color:var(--night-sky-text2);white-space:nowrap;text-overflow:ellipsis;contain:inline-size;flex:1;margin-right:50px;font-size:12px;overflow:hidden}.window video,.window img{aspect-ratio:1200/750;object-fit:cover;background:var(--window-bg);width:100%}.window img.still{aspect-ratio:16/10}.agents{padding:var(--s8) 0 var(--s6);text-align:center}.agents p{margin:0 0 var(--s4);color:var(--muted);font-size:15px}.chips{flex-wrap:wrap;justify-content:center;gap:8px;max-width:900px;margin:0 auto;padding:0;list-style:none;display:flex}.chips li{background:var(--surface);box-shadow:inset 0 0 0 .5px var(--line);border-radius:999px;padding:5px 12px;font-size:14px}.features{position:relative}.features-grid{grid-template-columns:1fr;display:grid}@media (width>=1240px){.features-grid{gap:var(--s7);grid-template-columns:200px minmax(0,1fr)}}.rail{display:none}@media (width>=1240px){.rail{padding-top:var(--s9);align-self:start;display:block;position:sticky;top:104px}}.rail-caption{margin:0 0 var(--s3);color:var(--muted);font-size:13px;line-height:1.45}.rail-caption span{display:block}.rail-lead{color:var(--text);font-weight:600}.rail-done{display:none!important}.rail.complete .rail-todo{display:none}.rail.complete .rail-done{color:var(--lantern-text);display:block!important}.rail svg{width:200px;height:auto;overflow:visible}.rail-lines line{stroke:var(--lantern);stroke-width:2px;stroke-linecap:round;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset .5s var(--ease)}.rail-lines line.on{stroke-dashoffset:0}.rail-star .core{fill:var(--bg);stroke:var(--muted);stroke-width:1.5px;transition:fill .3s var(--ease), stroke .3s var(--ease)}.rail-star .halo{fill:var(--lantern);opacity:0;transition:opacity .4s var(--ease)}.rail-star text{font:500 14px var(--sans);fill:var(--muted);opacity:.7;transition:fill .3s var(--ease)}.rail-star.on .core{fill:var(--lantern);stroke:var(--lantern)}.rail-star.on .halo{opacity:.16}.rail-star.on text{fill:var(--text);opacity:.85}.rail-star.current text{fill:var(--text);opacity:1;font-weight:650}.rail-star.current .halo{opacity:.3}.rail-figure{fill:none;stroke:var(--faint);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .5s var(--ease)}.rail.complete .rail-figure{opacity:1}.rail-count{margin:var(--s2) 0 0;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}@media (prefers-reduced-motion:reduce){.rail-lines line,.rail-star *,.rail-figure{transition:none}}.feature{gap:var(--s6);padding:var(--s9) 0;border-top:.5px solid var(--line);grid-template-columns:1fr;align-items:center;display:grid}.feature:first-child{border-top:none}@media (width>=900px){.feature{gap:var(--s8);grid-template-columns:5fr 7fr}.feature.flip>.copy{order:2}}.feature h2{font-size:clamp(28px,3.4vw,38px)}.feature .copy p{color:var(--muted);margin:var(--s4) 0 0;font-size:17px}.feature ul{margin:var(--s5) 0 0;gap:10px;padding:0;list-style:none;display:grid}.feature li{padding-left:22px;font-size:15.5px;position:relative}.feature li:before{content:"";background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 3px var(--accent-soft);border-radius:50%;position:absolute;top:.62em;left:3px}.feature .more{margin-top:var(--s5);font-size:15px;font-weight:600;text-decoration:none;display:inline-block}.feature .more:hover{text-decoration:underline}.feature .copy .more-links{gap:var(--s2) var(--s5);margin:var(--s5) 0 0;flex-wrap:wrap;display:flex}.feature .more-links .more{margin-top:0}.star-mark{background:var(--faint);width:9px;height:9px;transition:background-color .4s var(--ease), box-shadow .4s var(--ease);border-radius:50%;display:inline-block}.feature.lit .star-mark{background:var(--lantern);box-shadow:0 0 0 4px var(--lantern-soft)}.section{padding:var(--s10) 0}.section.alt{background:var(--surface)}.section-head{max-width:680px;margin-bottom:var(--s8)}.section-head.center{text-align:center;margin-left:auto;margin-right:auto}.section-head h2{font-size:clamp(28px,3.6vw,40px)}.section-head p{color:var(--muted);margin:var(--s4) 0 0;font-size:17px}.grid{gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));display:grid}.card{background:var(--bg);border-radius:var(--r-lg);padding:var(--s5);box-shadow:0 0 0 .5px var(--line), var(--shadow-control)}.section:not(.alt) .card{background:var(--surface);box-shadow:none}.card h3{letter-spacing:-.01em;align-items:center;gap:8px;font-size:16px;display:flex}.card p{color:var(--muted);margin:6px 0 0;font-size:14.5px;line-height:1.5}.card h3 .star-mark{background:var(--lantern);width:7px;height:7px}.principles{gap:var(--s6);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.principles h3{font-size:20px}.principles p{color:var(--muted);margin:var(--s3) 0 0}.principles .icon{border-radius:var(--r-md);background:var(--accent-soft);width:36px;height:36px;color:var(--accent-text);margin-bottom:var(--s4);place-items:center;display:grid}.principles .icon svg{width:20px;height:20px}.gallery{gap:var(--s5);scroll-snap-type:x mandatory;padding:4px var(--s5) var(--s5);margin:0 calc(-1 * var(--s5));scrollbar-width:thin;grid-auto-columns:min(82%,720px);grid-auto-flow:column;display:grid;overflow-x:auto}.gallery figure{scroll-snap-align:center;margin:0}.gallery img{border-radius:var(--r-lg);box-shadow:0 0 0 .5px var(--line-strong), var(--shadow-pop);aspect-ratio:16/10;object-fit:cover;background:var(--surface);width:100%}.gallery figcaption{margin-top:var(--s3);color:var(--muted);font-size:14.5px}.gallery figcaption b{color:var(--text)}.releases{gap:0;margin:0;padding:0;list-style:none;display:grid}.releases li a{gap:var(--s4);padding:var(--s4) 0;border-top:.5px solid var(--line);color:var(--text);grid-template-columns:110px 1fr auto;align-items:baseline;text-decoration:none;display:grid}.releases li a:hover h3{color:var(--accent-text)}.releases .v{font-family:var(--mono);color:var(--accent-text);font-size:14px}.releases h3{letter-spacing:-.01em;font-size:17px}.releases p{color:var(--muted);margin:2px 0 0;font-size:14.5px}.releases time{color:var(--muted);white-space:nowrap;font-size:13.5px}@media (width<=600px){.releases li a{grid-template-columns:1fr;gap:2px}}.posts{margin:0;padding:0;list-style:none}.posts li a{padding:var(--s5) 0;border-top:.5px solid var(--line);color:var(--text);text-decoration:none;display:block}.posts li:last-child a{border-bottom:.5px solid var(--line)}.posts h3,.posts h2{letter-spacing:-.015em;font-size:21px}.posts li a:hover h2,.posts li a:hover h3{color:var(--accent-text)}.posts p{color:var(--muted);margin:6px 0 0;font-size:15.5px}.posts .meta{color:var(--muted);margin-top:8px;font-size:13.5px}.sponsor-card{gap:var(--s4) var(--s5);padding:var(--s6);border-radius:var(--r-xl);background:var(--surface);box-shadow:inset 0 0 0 .5px var(--line);grid-template-columns:auto 1fr auto;align-items:center;display:grid}.sponsor-card .cat{width:56px;height:56px}.sponsor-card h2,.sponsor-card h3{letter-spacing:-.01em;font-size:19px}.sponsor-card p{color:var(--muted);margin:6px 0 0;font-size:15px}.sponsor-card .line{color:var(--text);letter-spacing:-.01em;margin:0;font-size:18px;font-weight:600}.sponsor-card .row{gap:var(--s3);flex-wrap:wrap;display:flex}@media (width<=860px){.sponsor-card{grid-template-columns:auto 1fr}.sponsor-card .row{grid-column:1/-1}}.btn.gh-sponsors svg{fill:var(--gh-sponsors)}.btn.bmc{background:var(--bmc-bg);color:var(--bmc-ink);box-shadow:var(--shadow-control)}.btn.bmc:hover{background:var(--bmc-bg-hover)}.btn.bmc img{width:13px;height:19px}.btn.bmc .cup{filter:none}.bmc-tile{border-radius:var(--r);background:var(--bmc-bg);flex:none;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.cta-band{padding:var(--s10) 0;text-align:center}.cta-band h2{color:var(--sky-heading);font-size:clamp(30px,4vw,44px)}.cta-band p{color:var(--sky-muted);margin:var(--s4) auto 0;max-width:560px;font-size:17px}.cta-band .ctas{gap:var(--s3);margin-top:var(--s6);flex-wrap:wrap;justify-content:center;display:flex}.cta-band img.mascot,.cta-band svg.mascot{width:72px;height:auto;margin:0 auto var(--s5);display:block}.footer .brand .mark{width:34px}.page-head{padding:var(--s9) 0 var(--s7)}.page-head h1{letter-spacing:-.03em;font-size:clamp(34px,5vw,52px)}.page-head .lede{color:var(--muted);margin:var(--s4) 0 0;max-width:680px;font-size:19px;line-height:1.5}.page-head.sky-head{color:var(--sky-text);padding-bottom:var(--s8)}.page-head.sky-head h1{color:var(--sky-heading)}.page-head.sky-head .lede{color:var(--sky-muted)}.prose{max-width:var(--prose);font-size:17px;line-height:1.7}.prose h2{margin:2em 0 .6em;scroll-margin-top:80px;font-size:26px}.prose h3{margin:1.6em 0 .5em;scroll-margin-top:80px;font-size:20px}.prose p,.prose ul,.prose ol{margin:0 0 1.1em}.prose li{margin:.35em 0}.prose li::marker{color:var(--accent-text)}.prose blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:1.4em 0;padding:.2em 0 .2em 1.1em}.prose img,.prose video{border-radius:var(--r-lg);box-shadow:0 0 0 .5px var(--line-strong);margin:1.4em 0}.prose .window{margin:1.4em 0!important}.prose .window video,.prose .window img{box-shadow:none;border-radius:0;margin:0}.prose hr{border:none;border-top:.5px solid var(--line-strong);margin:2.4em 0}.table-wrap{border-radius:var(--r-lg);box-shadow:inset 0 0 0 .5px var(--line-strong);margin:1.2em 0 1.6em;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.5}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:.5px solid var(--line);padding:10px 14px}.prose th{background:var(--surface);font-weight:600}.prose tr:last-child td{border-bottom:none}.prose tbody th{background:0 0}.prose tr:last-child th{border-bottom:none}.with-toc{gap:var(--s8);padding-bottom:var(--s10);grid-template-columns:1fr;display:grid}@media (width>=1000px){.with-toc{grid-template-columns:220px minmax(0,1fr)}}.toc{font-size:14px}.toc nav{max-height:calc(100vh - 110px);position:sticky;top:84px;overflow-y:auto}.toc p{color:var(--muted);margin:0 0 8px;font-size:13px;font-weight:600}.toc ul{margin:0;padding:0;list-style:none}.toc a{border-radius:var(--r);color:var(--muted);padding:4px 10px;text-decoration:none;display:block}.toc a:hover{background:var(--hover);color:var(--text)}@media (width<=999px){.toc nav{max-height:none;position:static}.toc ul{flex-wrap:wrap;gap:4px;display:flex}.toc a{background:var(--surface)}}.release{gap:var(--s3);padding:var(--s7) 0;border-top:.5px solid var(--line);grid-template-columns:1fr;scroll-margin-top:70px;display:grid}@media (width>=760px){.release{gap:var(--s6);grid-template-columns:170px minmax(0,1fr)}}.release .when{color:var(--muted);font-size:14px}.release .when h2{font-family:var(--mono);letter-spacing:0;color:var(--accent-text);margin-bottom:4px;font-size:18px}.release .when a{color:inherit;text-decoration:none}.release .body{font-size:16px;line-height:1.6}.release .body h3{margin:0 0 .5em;font-size:19px}.release .body h3:not(:first-child){margin-top:1.4em}.release .body ul{margin:0;padding-left:1.2em}.release .body li{margin:.4em 0}.release .body li::marker{color:var(--accent-text)}.release .body p{margin:0 0 .8em}.pill{background:var(--accent-soft);color:var(--accent-text);font-size:12px;font-weight:600;font-family:var(--sans);border-radius:999px;padding:2px 8px;display:inline-block}.dl-grid{gap:var(--s5);margin-bottom:var(--s9);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.dl{padding:var(--s6);border-radius:var(--r-xl);background:var(--surface);box-shadow:inset 0 0 0 .5px var(--line)}.dl h2{flex-wrap:wrap;align-items:center;gap:10px;font-size:24px;display:flex}.dl p,.dl li{color:var(--muted);font-size:15.5px}.dl ol{padding-left:1.2em}.dl .btn{margin-top:var(--s3)}.steps{counter-reset:step;gap:var(--s6);margin:0;padding:0;list-style:none;display:grid}.steps>li{counter-increment:step;gap:var(--s4);grid-template-columns:36px minmax(0,1fr);display:grid}.steps>li:before{content:counter(step);background:var(--accent);width:30px;height:30px;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:14px;font-weight:700;display:grid}.steps h3{margin-top:3px;font-size:18px}.dl-title{margin-bottom:var(--s6);align-items:center;gap:10px;font-size:26px;display:flex}.steps p{color:var(--muted);margin:6px 0 0}.steps pre{margin:var(--s3) 0 0}.copy-row{align-items:center;gap:var(--s2);padding-right:var(--s2);background:var(--code-bg);border-radius:var(--r-md);box-shadow:inset 0 0 0 .5px var(--line);display:flex}.steps .copy-row{margin-top:var(--s3)}.copy-row pre{min-width:0;box-shadow:none;background:0 0;flex:1;margin:0}.copy-row .copy-btn{flex:none;position:static}.copy-btn{font:600 12px var(--sans);border-radius:var(--r);background:var(--raised);color:var(--text);box-shadow:var(--shadow-control), 0 0 0 .5px var(--line-strong);cursor:pointer;border:none;padding:4px 10px;position:absolute;top:8px;right:8px}.copy-btn:hover{background:var(--accent);color:var(--accent-ink)}@media (pointer:coarse){.copy-row .copy-btn{min-height:44px;padding:0 14px}}.dl-alt summary{cursor:pointer;min-height:44px;color:var(--text);align-items:center;gap:10px;font-weight:600;list-style:none;display:inline-flex}.dl-alt summary::-webkit-details-marker{display:none}.dl-alt summary:before{content:"";width:7px;height:7px;transition:transform .15s var(--ease);border-bottom:1.5px solid;border-right:1.5px solid;transform:rotate(-45deg)}.dl-alt[open] summary:before{transform:rotate(45deg)translate(-2px,-2px)}.dl-alt p{margin:var(--s2) 0 0;color:var(--muted)}.dl-alt .copy-row{margin-top:var(--s3)}.note{padding:var(--s4) var(--s5);border-radius:var(--r-lg);background:var(--accent-soft);font-size:15px}.note p{margin:0}.post-head{padding:var(--s9) 0 var(--s6)}.post-head h1{letter-spacing:-.03em;max-width:20ch;font-size:clamp(32px,4.6vw,48px)}.post-head .meta{margin-top:var(--s5);color:var(--muted);align-items:center;gap:10px;font-size:15px;display:flex}.post-head .meta img{width:32px;height:32px}.back{font-size:14.5px;font-weight:600;text-decoration:none}.post-foot{max-width:var(--prose);padding-bottom:var(--s9)}.post-nav{gap:var(--s4);margin-top:var(--s7);grid-template-columns:1fr 1fr;display:grid}.post-nav a{padding:var(--s4);border-radius:var(--r-lg);background:var(--surface);color:var(--text);font-size:15px;font-weight:600;text-decoration:none}.post-nav a span{color:var(--muted);font-size:13px;font-weight:500;display:block}.post-nav a:hover{box-shadow:inset 0 0 0 1px var(--accent)}.post-nav .next{text-align:right;grid-column:2}.footer{border-top:.5px solid var(--line);padding:var(--s8) 0 var(--s7);background:var(--bg);font-size:14.5px}.footer-grid{gap:var(--s6);grid-template-columns:2fr repeat(3,1fr);display:grid}@media (width<=760px){.footer-grid{grid-template-columns:1fr 1fr}.footer-grid .about{grid-column:1/-1}}.footer h2{color:var(--muted);letter-spacing:0;margin-bottom:var(--s3);font-size:13px;font-weight:600}.footer ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.footer a{color:var(--text);text-decoration:none}.footer a:hover{color:var(--accent-text);text-decoration:underline}.footer .about p{color:var(--muted);margin:var(--s3) 0 0;max-width:340px}.footer .legal{margin-top:var(--s7);padding-top:var(--s5);border-top:.5px solid var(--line);color:var(--muted);gap:var(--s3);flex-wrap:wrap;justify-content:space-between;font-size:13px;display:flex}@media (prefers-reduced-motion:no-preference){.js .reveal{opacity:0;transition:opacity .45s var(--ease), transform .45s var(--ease);transform:translateY(14px)}.js .reveal.in{opacity:1;transform:none}.js [data-reveal=media]{clip-path:inset(10% 6% 0 6% round var(--r-xl));opacity:0;transition:clip-path .5s var(--ease), opacity .35s var(--ease), transform .5s var(--ease);transform:translateY(18px)scale(.985)}.js [data-reveal=media].in{clip-path:inset(0 0 0 0 round var(--r-xl));opacity:1;transform:none}.js [data-stagger]>*{opacity:0;transition:opacity .35s var(--ease), transform .4s var(--ease);transition-delay:calc(var(--i,0) * 55ms);transform:translateY(10px)}.js [data-stagger].in>*{opacity:1;transform:none}}.groups{gap:var(--s5);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.group{background:var(--bg);border-radius:var(--r-xl);padding:var(--s6);box-shadow:0 0 0 .5px var(--line), var(--shadow-control)}.group h3{color:var(--accent-text);letter-spacing:0;margin-bottom:var(--s4);font-size:13px;font-weight:600}.group ul{gap:var(--s4);margin:0;padding:0;list-style:none;display:grid}.group li b{font-size:16px;display:block}.group li span{color:var(--muted);font-size:14.5px;line-height:1.45;display:block}.announce{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 18px;display:flex}.tm-note{margin-top:var(--s6);color:var(--muted);font-size:13px}.page-head .head-ctas{gap:var(--s3);margin-top:var(--s6);flex-wrap:wrap;display:flex}.prose .answer{color:var(--text);font-size:19px;line-height:1.6}.prose .inline-ctas{gap:var(--s3);flex-wrap:wrap;margin:1.6em 0;display:flex}.prose .inline-ctas .btn{text-decoration:none}.sources{font-size:14.5px;line-height:1.6}.sources li{margin:.3em 0}.choose{gap:var(--s4);margin:0 0 1.1em;display:grid}.choose dt{font-weight:600}.choose dd{color:var(--muted);margin:2px 0 0}.alt-body{min-width:0}.compare-wrap{margin-top:0}.compare-wrap:focus-visible{box-shadow:inset 0 0 0 .5px var(--line-strong), var(--ring);outline:none}.data-table{border-collapse:collapse;width:100%;min-width:760px;font-size:14px;line-height:1.5}.data-table th,.data-table td{text-align:left;vertical-align:top;border-bottom:.5px solid var(--line);padding:10px 12px}.data-table thead th{background:var(--surface);white-space:nowrap;font-weight:600}.data-table tbody th{min-width:110px;font-weight:600}.data-table tbody th a{color:var(--text)}.data-table tbody th a:hover{color:var(--accent-text)}.data-table tr.ours{background:var(--accent-soft)}.data-table tr.reference td,.data-table tr.reference th{color:var(--muted);border-bottom:none}.data-table tr.reference th .muted{font-size:13px;font-weight:400;display:block}.table-note{margin:0 0 var(--s4);font-size:14px}.scroll-hint{margin:0 0 var(--s2);font-size:13px;display:none}@media (width<=860px){.scroll-hint{display:block}.compare-wrap{background:linear-gradient(to left, var(--bg) 30%, transparent) right center / 32px 100% no-repeat local, radial-gradient(farthest-side at 100% 50%, #00000038, transparent) right center / 14px 100% no-repeat scroll}.data-table tbody th,.data-table thead th:first-child{z-index:1;background:var(--bg);box-shadow:inset -.5px 0 0 var(--line);position:sticky;left:0}.data-table thead th:first-child{background:var(--surface)}.data-table tr.ours th{background:linear-gradient(var(--accent-soft), var(--accent-soft)), var(--bg)}.data-table tbody th{min-width:96px}}.bk{padding-bottom:var(--s10)}.bk-head{max-width:760px}.bk-download{align-items:center;gap:var(--s3) var(--s4);margin:var(--s6) 0 0;flex-wrap:wrap;font-size:14.5px;display:flex}.bk-section{padding:var(--s9) 0 0}.bk-section>h2{margin-bottom:var(--s5);font-size:clamp(24px,3vw,32px)}.bk-intro{color:var(--muted);margin:calc(-1 * var(--s3)) 0 var(--s6);max-width:60ch}.bk-sub{margin:var(--s7) 0 var(--s4);color:var(--muted);font-size:15px;font-weight:600}.bk-assets{border-top:.5px solid var(--line);margin:0;padding:0;list-style:none}.bk-asset{gap:var(--s6);padding:var(--s6) 0;border-bottom:.5px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);align-items:center;display:grid}.bk-meta h3{letter-spacing:-.01em;font-size:18px}.bk-meta p{color:var(--muted);margin:6px 0 0;font-size:15px}.bk-files{flex-wrap:wrap;gap:8px;display:flex;margin-top:var(--s4)!important}.bk-files a{border-radius:var(--r);background:var(--surface);box-shadow:inset 0 0 0 .5px var(--line-strong);color:var(--text);align-items:baseline;gap:6px;padding:5px 11px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex}.bk-files a span{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:400}.bk-files a:hover{background:var(--accent);color:var(--accent-ink)}.bk-files a:hover span{color:inherit}.bk-tile{aspect-ratio:2;border-radius:var(--r-xl);box-shadow:inset 0 0 0 .5px var(--line);place-items:center;padding:7% 10%;display:grid}.bk-tile.light{background:var(--brand-paper)}.bk-tile.dark{background:var(--brand-night)}.bk-tile.sky{background:radial-gradient(120% 90% at 50% 110%, var(--night-sky-bottom), var(--night-sky-mid) 45%, var(--night-sky-top) 85%)}.bk-tile img{object-fit:contain;width:auto;max-width:60%;max-height:100%}.bk-tile.wide img{max-width:100%}.bk-tile.sky.wide{padding:0;overflow:hidden}.bk-tile.sky.wide img{object-fit:cover;width:100%;max-width:none;height:100%}@media (width<=760px){.bk-asset{gap:var(--s4);grid-template-columns:1fr}.bk-tile{order:-1}}.bk-swatches{gap:var(--s5) var(--s4);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));margin:0;padding:0;list-style:none;display:grid}.bk-swatches.small{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.bk-swatch{all:unset;box-sizing:border-box;cursor:pointer;border-radius:var(--r-lg);grid-template-columns:1fr auto;gap:2px 8px;width:100%;display:grid}.bk-swatch .chip{border-radius:var(--r-lg);background:var(--sw);height:96px;box-shadow:inset 0 0 0 .5px var(--line-strong);margin-bottom:var(--s2);transition:transform .15s var(--ease);grid-column:1/-1;position:relative}.bk-swatches.small .chip{height:56px}.bk-swatch:hover .chip{transform:translateY(-2px)}.bk-swatch:active .chip{transform:translateY(0)}.bk-swatch .copied{color:var(--sw-ink);opacity:0;transition:opacity .15s var(--ease);font-size:12.5px;font-weight:600;position:absolute;bottom:10px;left:12px}.bk-swatch.is-copied .copied{opacity:1}.bk-swatch .name{font-size:15px;font-weight:600}.bk-swatch code{color:var(--muted);box-shadow:none;background:0 0;align-self:center;padding:0;font-size:13px}.bk-swatch:focus-visible{box-shadow:var(--ring)}.bk-swatches p{color:var(--muted);margin:4px 0 0;font-size:13.5px;line-height:1.45}.bk-type{border-top:.5px solid var(--line)}.bk-type-row{gap:var(--s6);padding:var(--s6) 0;border-bottom:.5px solid var(--line);grid-template-columns:260px minmax(0,1fr);align-items:center;display:grid}.bk-type-row .label b{font-size:15px;display:block}.bk-type-row .label span{color:var(--muted);margin-top:2px;font-size:14px;line-height:1.45;display:block}.bk-type-row .sample{overflow-wrap:anywhere;min-width:0}.bk-type-row .sample.display{font-family:var(--display);letter-spacing:-.03em;font-size:clamp(26px,3.6vw,40px);font-weight:700;line-height:1.1}.bk-type-row .sample.text{font-size:18px}.bk-type-row .sample.mono{font-family:var(--mono);font-size:16px}.bk-type-row .sample .wordmark{width:min(420px,100%);height:auto;color:var(--text)}@media (width<=760px){.bk-type-row{gap:var(--s3);grid-template-columns:1fr}}.bk-rules{gap:var(--s7);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;display:grid}@media (width<=860px){.bk-rules{grid-template-columns:1fr}}.bk-clear{margin:0}.bk-clear-box{background:var(--brand-paper);border-radius:var(--r-xl);box-shadow:inset 0 0 0 .5px var(--line);padding:7%;position:relative}.bk-clear-box img{outline:1.5px dashed color-mix(in srgb, var(--brand-accent-deep) 70%, transparent);outline-offset:clamp(10px, 3.2vw, 34px);width:100%;position:relative}.bk-clear figcaption,.bk-min p{margin-top:var(--s4);color:var(--muted);font-size:14.5px}.bk-min{gap:var(--s4);display:grid}.bk-min-row{align-items:center;gap:var(--s4);padding:var(--s3) var(--s4);border-radius:var(--r-lg);background:var(--brand-paper);box-shadow:inset 0 0 0 .5px var(--line);color:var(--brand-night);font-size:14px;display:flex}.bk-min-row img{flex-shrink:0}.bk-min-row span{margin-left:auto}.bk-dont{gap:var(--s5);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:0;padding:0;list-style:none;display:grid}.bk-dont .tile{border-radius:var(--r-lg);height:120px;box-shadow:inset 0 0 0 .5px var(--line);place-items:center;display:grid;position:relative;overflow:hidden}.bk-dont .tile.light{background:var(--brand-paper)}.bk-dont .tile.dark{background:var(--brand-night)}.bk-dont .tile img{width:60%;height:auto}.bk-dont .dont .tile:after{content:"";background:var(--bad) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M6 6l6 6M12 6l-6 6' stroke='white' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");border-radius:50%;width:18px;height:18px;position:absolute;top:10px;right:10px}.bk-dont .do .tile:after{content:"";background:var(--good) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5.5 9.5l2.2 2.2 4.8-5' stroke='white' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");border-radius:50%;width:18px;height:18px;position:absolute;top:10px;right:10px}.bk-dont p{margin:var(--s3) 0 0;color:var(--muted);font-size:14.5px}.bk-dont p b{color:var(--text)}.x-stretch{transform:scaleX(1.25)scaleY(.7)}.x-recolour{filter:invert(33%)sepia(90%)saturate(2400%)hue-rotate(200deg)}.x-typed{color:var(--brand-night);font:700 34px Georgia,Times New Roman,serif}.x-name{font:700 30px var(--display);letter-spacing:-.02em;color:var(--brand-night)}.bk-about{gap:var(--s8);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);display:grid}@media (width<=860px){.bk-about{grid-template-columns:1fr}}.bk-about h2{margin-bottom:var(--s4);font-size:clamp(22px,2.6vw,28px)}.bk-about h2:not(:first-child){margin-top:var(--s7)}.bk-about p{color:var(--muted);max-width:65ch;font-size:16.5px}.bk-short{font-weight:500;color:var(--text)!important;font-size:18px!important}.bk-facts{gap:10px var(--s5);grid-template-columns:max-content 1fr;margin:0;font-size:15px;display:grid}.bk-facts dt{color:var(--muted)}.bk-facts dd{margin:0}.bk-links{gap:10px;margin:0;padding:0;font-size:15px;list-style:none;display:grid}.bk-links li{gap:var(--s4);grid-template-columns:96px minmax(0,1fr);display:grid}.bk-links span{color:var(--muted)}.bk-links a{overflow-wrap:anywhere}
