@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque-latin.woff2)format("woff2");font-style:normal;font-weight:400 800;font-display:optional}@font-face{font-family:Hanken Grotesk;src:url(/fonts/hanken-grotesk-latin.woff2)format("woff2");font-style:normal;font-weight:400 600;font-display:optional}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2");font-style:normal;font-weight:400 500;font-display:optional}:root{--bg:oklch(14.5% .012 156);--bg-1:oklch(20.5% .014 156);--bg-2:oklch(23.5% .015 156);--card:oklch(23.5% .015 156);--ink:oklch(96.5% .008 150);--dim:oklch(75% .014 150);--faint:oklch(61% .014 150);--line:oklch(30% .012 156);--line-2:oklch(44% .02 150);--leaf:oklch(80% .15 148);--leaf-2:oklch(88% .13 150);--leaf-deep:oklch(50% .13 152);--leaf-ink:oklch(16% .05 150);--leaf-glow:oklch(80% .15 148/.18);--glow:oklch(80% .15 148/.18);--maxw:1140px;--gutter:clamp(20px, 5vw, 64px);--r:14px;--ease:cubic-bezier(.16, .84, .3, 1);color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:auto}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Hanken Grotesk,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.62;overflow-x:hidden}a{color:inherit}code,kbd,.mono{font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace}h1,h2,h3{font-optical-sizing:auto;letter-spacing:-.032em;text-wrap:balance;margin:0;font-family:Bricolage Grotesque,ui-sans-serif,system-ui,sans-serif;font-weight:700;line-height:1.04}h1 em,h2 em{color:var(--leaf);font-style:normal}img,svg{max-width:100%;display:block}::selection{background:var(--leaf);color:var(--leaf-ink)}.inner{max-width:var(--maxw);padding-inline:var(--gutter);margin:0 auto}.section{border-top:1px solid var(--line);padding-block:clamp(72px,10vw,124px)}.section-head{max-width:62ch;margin-bottom:clamp(38px,6vw,60px)}.section-head h2{font-size:clamp(28px,4.2vw,46px)}.section-head p{max-width:52ch;color:var(--dim);text-wrap:pretty;margin:14px 0 0;font-size:clamp(15px,1.4vw,17px)}.ruled{border-top:2px solid var(--ink);padding-top:18px;font-size:clamp(26px,3.4vw,38px)}.lede{max-width:60ch;color:var(--dim);text-wrap:pretty;margin:14px 0 0}.fine{max-width:72ch;color:var(--faint);text-wrap:pretty;margin:20px 0 0;font-size:13px}.fine code,.lede code{color:var(--ink);font-size:.9em}.cmd code{color:var(--ink);background:var(--bg-1);white-space:nowrap;padding:12px 64px 12px 14px;font-family:JetBrains Mono,monospace;font-size:13px;display:block;overflow-x:auto}.cmd .p{color:var(--faint)}.spec{border-collapse:collapse;width:100%;margin-top:32px;font-size:15px}.spec th,.spec td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 16px 12px 0;font-weight:400}.spec thead th{color:var(--dim);border-bottom-color:var(--line-2);font-size:13px}.spec .group th{color:var(--faint);padding-top:26px;font-size:13px}.page-top{padding-block:clamp(72px,10vw,128px) clamp(56px,8vw,96px)}.page-top .inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(28px,5vw,64px);display:grid}.page-top h1{font-size:clamp(38px,4.4vw,56px)}.page-top .lede{font-size:clamp(16px,1.5vw,18px)}.page-top .cta-row{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}@media (width<=900px){.page-top .inner{grid-template-columns:minmax(0,1fr)}}.tray{background:color(srgb .0709165 .0985824 .0803059/.55);border-radius:18px;min-width:0;max-width:100%;padding:5px;overflow:hidden;box-shadow:inset 0 0 0 1px oklch(100% 0 0/.045)}.tray>.face{background:color(srgb .0233953 .0420086 .0292363);border-radius:13px;padding:clamp(16px,1.8vw,24px);box-shadow:inset 0 1px oklch(100% 0 0/.045),0 24px 60px -40px oklch(28% .05 156/.9)}.cells{background:var(--line);border:1px solid var(--line);border-radius:12px;gap:1px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.cells>*{background:var(--bg-1);padding:clamp(16px,1.6vw,22px)}.cells .v{letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;font-family:Bricolage Grotesque,sans-serif;font-size:clamp(23px,2.6vw,34px);font-weight:700;line-height:1.1}.cells .k{color:var(--dim);margin-top:6px;font-family:JetBrains Mono,monospace;font-size:11px}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--dim);align-items:center;gap:9px;font-family:JetBrains Mono,monospace;font-size:12px;display:inline-flex}.eyebrow:before{content:"";background:var(--leaf);width:6px;height:6px;box-shadow:0 0 12px var(--leaf);border-radius:50%}.eyebrow.line{color:var(--faint);margin-bottom:13px;font-size:11px}.eyebrow.line:before{background:var(--line-2);width:18px;height:1px;box-shadow:none;border-radius:0}.btn{background:var(--leaf);color:var(--leaf-ink);white-space:nowrap;box-shadow:0 0 0 1px color-mix(in srgb, var(--leaf) 40%, transparent), 0 14px 40px -16px var(--glow);transition:transform .18s var(--ease), filter .18s;border-radius:999px;align-items:center;gap:8px;padding:12px 22px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.btn:active{transform:translateY(0)scale(.985)}.btn span{transition:transform .24s var(--ease);display:inline-block}.btn:hover span{transform:translate(3px)}.btn.ghost{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2);background:0 0}.btn.ghost:hover{box-shadow:inset 0 0 0 1px var(--leaf)}.btn:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--leaf);outline-offset:3px;border-radius:4px}.lnk{color:var(--ink);border-bottom:1px solid var(--line-2);text-decoration:none}.lnk:hover{border-color:var(--leaf)}.chips{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.chips span{color:var(--dim);border:1px solid var(--line-2);border-radius:999px;padding:5px 13px;font-family:JetBrains Mono,monospace;font-size:11.5px}.chips span.k{color:var(--leaf);border-color:color-mix(in srgb, var(--leaf) 45%, var(--line-2))}.proof{color:var(--dim);margin:15px 0 0;font-size:14px}.proof b{color:var(--ink);font-weight:500}.reveal,.js .reveal{opacity:1;transform:none}.reveal[data-d]{transition-delay:calc(var(--d,0) * 1ms)}.section-head>.eyebrow.line{display:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1!important;transition:none!important;transform:none!important}}@view-transition{navigation:auto}::view-transition-old(root){animation:.22s cubic-bezier(.3,0,.6,1) both sbPageOut}::view-transition-new(root){animation:sbPageIn var(--page-dur,.7s) var(--page-ease,ease-out) both}.site-head{view-transition-name:site-head}@keyframes sbPageIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes sbPageOut{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.copy-wrap{position:relative}.copy-btn{letter-spacing:.05em;text-transform:uppercase;color:var(--dim);background:var(--bg-1);border:1px solid var(--line-2);cursor:pointer;border-radius:6px;padding:5px 8px;font-family:JetBrains Mono,monospace;font-size:10px;line-height:1;transition:color .15s,background .15s,border-color .15s,opacity .15s;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.copy-btn:hover{color:var(--ink)}.copy-btn.done{color:var(--leaf-ink);background:var(--leaf);border-color:var(--leaf)}.copy-btn:focus-visible{outline:2px solid var(--leaf);outline-offset:2px}.js .copy-btn{opacity:0}.js .copy-wrap:hover .copy-btn,.js .copy-btn:focus-visible,.js .copy-btn.done{opacity:1}html:not(.js) .copy-btn{display:none}.logo[data-astro-cid-f7espo7c]{color:var(--ink);letter-spacing:-.025em;align-items:center;gap:10px;font-family:Bricolage Grotesque,ui-sans-serif,system-ui,sans-serif;font-size:24px;font-weight:650;text-decoration:none;display:inline-flex}.mark[data-astro-cid-f7espo7c]{color:var(--leaf);flex:none}.word[data-astro-cid-f7espo7c]{transform:translateY(-2px)}.logo[data-astro-cid-f7espo7c]:focus-visible{outline:2px solid var(--leaf);outline-offset:3px;border-radius:4px}footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line);background:var(--bg)}footer[data-astro-cid-jo6i4kqk] .inner[data-astro-cid-jo6i4kqk]{padding-block:34px 26px}.top[data-astro-cid-jo6i4kqk],.bottom[data-astro-cid-jo6i4kqk],nav[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;align-items:center;display:flex}.top[data-astro-cid-jo6i4kqk],.bottom[data-astro-cid-jo6i4kqk]{justify-content:space-between;gap:18px 28px}nav[data-astro-cid-jo6i4kqk]{gap:10px 22px}a[data-astro-cid-jo6i4kqk]{color:var(--dim);font-size:13px;text-decoration:none}a[data-astro-cid-jo6i4kqk]:hover{color:var(--leaf)}.bottom[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line);color:var(--faint);margin-top:26px;padding-top:18px;font-family:JetBrains Mono,monospace;font-size:11px}.hosting[data-astro-cid-jo6i4kqk]{align-items:center;gap:7px;display:inline-flex}.hosting[data-astro-cid-jo6i4kqk] img[data-astro-cid-jo6i4kqk]{flex:none}.site-head[data-astro-cid-ju4pidww]{z-index:50;background:color-mix(in srgb, var(--bg) 72%, transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);align-items:center;height:58px;display:flex;position:sticky;top:0}.head-row[data-astro-cid-ju4pidww]{justify-content:space-between;align-items:center;width:100%;display:flex}.site-head[data-astro-cid-ju4pidww] nav[data-astro-cid-ju4pidww]{align-items:center;gap:2px;display:flex}.site-head[data-astro-cid-ju4pidww] nav[data-astro-cid-ju4pidww] a[data-astro-cid-ju4pidww]{color:var(--dim);border-radius:8px;padding:7px 12px;font-size:13px;text-decoration:none}.site-head[data-astro-cid-ju4pidww] nav[data-astro-cid-ju4pidww] a[data-astro-cid-ju4pidww]:hover{color:var(--ink);background:var(--bg-1)}.site-head[data-astro-cid-ju4pidww] nav[data-astro-cid-ju4pidww] a[data-astro-cid-ju4pidww].cta{color:var(--leaf-ink);background:var(--leaf);margin-left:6px;font-weight:500}.site-head[data-astro-cid-ju4pidww] nav[data-astro-cid-ju4pidww] a[data-astro-cid-ju4pidww].cta:hover{filter:brightness(1.07)}@media (width<=620px){.site-head[data-astro-cid-ju4pidww] nav[data-astro-cid-ju4pidww] a[data-astro-cid-ju4pidww][href="https://github.com/baronunread/sproutboat"]{display:none}}
