:root{--ink:#0e1b2e;--text:#0e1b2e;--text-2:#46546a;--slate:#234a6d;--navy:#023e8b;--navy-deep:#00296d;--cyan:#00bdff;--night:#0b1f3a;--paper:#fff;--surface:#f4f7fb;--line:#d5dde8;--card:#fff;--link:#023e8b;--focus:#023e8b;--radius:10px;--sans:"Open Sans Variable", "Open Sans", system-ui, sans-serif;--mono:"Roboto Mono", ui-monospace, monospace;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--text:#e8eef6;--text-2:#a9b6c8;--slate:#8fb8e0;--paper:#0b1f3a;--surface:#10284a;--line:#2a3f5c;--card:#0e2443;--link:#7fd6ff;--focus:#7fd6ff;color-scheme:dark}}:root[data-theme=dark]{--text:#e8eef6;--text-2:#a9b6c8;--slate:#8fb8e0;--paper:#0b1f3a;--surface:#10284a;--line:#2a3f5c;--card:#0e2443;--link:#7fd6ff;--focus:#7fd6ff;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{background:var(--paper);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}a{color:var(--link)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.wrap{max-width:1200px;margin-inline:auto;padding-inline:24px}.skip{position:absolute;left:-999px}.skip:focus{z-index:10;background:var(--paper);padding:8px 12px;top:16px;left:16px}.logo-dark{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .logo-light{display:none}:root:not([data-theme=light]) .logo-dark{display:block}}:root[data-theme=dark] .logo-light{display:none}:root[data-theme=dark] .logo-dark{display:block}.site-header{border-bottom:1px solid var(--line)}.nav{flex-wrap:wrap;align-items:center;gap:8px 32px;padding-block:12px;display:flex}.brand{align-items:center;min-height:44px;display:flex}.brand img{width:auto;height:30px}.nav-links{flex-wrap:wrap;flex:auto;gap:0 28px;margin:0;padding:0;list-style:none;display:flex}.nav-links a,.nav-github{min-height:44px;color:var(--text);align-items:center;font-size:15px;font-weight:600;text-decoration:none;display:flex}.nav-links a:hover,.nav-github:hover{color:var(--link)}.eyebrow,.meta,.langs,figcaption,.copyright{font-family:var(--mono)}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--slate);align-items:center;gap:10px;margin:0;font-size:13px;font-weight:500;display:flex}.meta{color:var(--text-2);font-size:13px}h1,h2,.quote blockquote{letter-spacing:-.01em;margin:0;font-style:italic;font-weight:700;font-stretch:87.5%}h1{font-size:clamp(44px,6vw,68px);line-height:1.02}h2{max-width:22em;font-size:clamp(30px,3.5vw,40px);line-height:1.1}.actions{flex-wrap:wrap;gap:12px;display:flex}.btn{border-radius:6px;align-items:center;min-height:48px;padding:0 22px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-deep)}.btn-outline{border:1.5px solid var(--link);color:var(--link)}.btn-cyan{background:var(--cyan);color:var(--night);font-weight:700}.hero{flex-wrap:wrap;align-items:center;gap:56px;padding-block:88px 96px;display:flex}.hero-copy{flex-direction:column;flex:420px;gap:24px;min-width:0;display:flex}.lead{max-width:34em;color:var(--text-2);margin:0;font-size:20px;line-height:1.55}.langs{color:var(--text-2);margin:0;font-size:13px}.hero-figure{flex-direction:column;flex:520px;gap:12px;min-width:0;margin:0;display:flex}.diagram-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:12px}.diagram{width:100%;height:auto;font-family:var(--mono);fill:#0e1b2e;display:block}.diagram .lines path{fill:none;stroke:#0e1b2e;stroke-width:2px;stroke-linecap:round}.diagram .label{fill:#46546a;text-anchor:middle;font-size:13px}.diagram .block{fill:#fff;stroke:#0e1b2e;stroke-width:1.5px}.diagram .title{text-anchor:middle;font-size:14px;font-weight:600}.diagram .tx rect{fill:#fff;stroke:#0e1b2e}.diagram .tx-label{font-size:13px}.diagram .chip rect,.diagram .legend rect{stroke:#0e1b2e}.diagram .chip-label{text-anchor:middle;font-size:11px}.diagram .legend text{font-size:12px}.diagram .unspent{fill:#8fd19e}.diagram .spent{fill:#ffbf73}.diagram .input{fill:#8fd0ff}figcaption{color:var(--text-2);font-size:13px}.band{padding-block:88px}.band .wrap,.band.wrap{flex-direction:column;gap:16px;display:flex}.band-surface{background:var(--surface);border-block:1px solid var(--line)}.band-night{background:var(--night);color:#fff}.grid-2,.grid-4{gap:24px;margin-top:24px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);flex-direction:column;gap:16px;padding:32px;display:flex}.card p{color:var(--text-2);margin:0}.card-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.card-head h3{margin:0;font-size:26px;font-style:italic;font-weight:700;font-stretch:87.5%}.card-head h3 a{color:var(--text);text-decoration:none}.rows{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.rows li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:44px;font-size:15px;display:flex}.rows a{color:var(--text);text-decoration:none}.rows a:hover{color:var(--link)}.more{font-weight:600;text-decoration:none}.card-link{color:var(--text);gap:12px;padding:24px;text-decoration:none}.card-link:hover{border-color:var(--link)}.lib-name{font-size:22px;font-weight:700}.lib-text{color:var(--text-2);font-size:15px}.band-night .quote{flex-flow:wrap;justify-content:space-between;align-items:flex-end;gap:32px}.quote blockquote{flex:560px;min-width:0;font-size:clamp(28px,3.2vw,38px);line-height:1.2}.quote-side{flex-direction:column;flex:0 300px;gap:12px;display:flex}.quote-side .meta{color:#b9c7dc}.quote-side .btn{align-self:flex-start}.site-footer{border-top:1px solid var(--line);background:var(--surface)}.footer-top{flex-wrap:wrap;justify-content:space-between;gap:40px;padding-block:56px 32px;display:flex}.footer-brand{flex-direction:column;flex:240px;gap:16px;display:flex}.footer-brand img{align-self:flex-start;width:auto;height:28px}.footer-brand p{color:var(--text-2);margin:0;font-size:14px}.footer-nav{flex-wrap:wrap;gap:48px;display:flex}.footer-nav div{flex-direction:column;gap:4px;display:flex}.footer-nav .meta{letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:12px}.footer-nav a{color:var(--text);padding-block:4px;font-size:15px;text-decoration:none}.footer-nav a:hover{color:var(--link)}.copyright{color:var(--text-2);margin:0;padding-block:0 40px;font-size:12px}
