:root,[data-theme=light]{color-scheme:light;--dd-moss-100:#d4e6d0;--dd-moss-200:#9cc494;--dd-moss-300:#6aaa58;--dd-moss-400:#4a6741;--dd-moss-500:#3a5533;--dd-earth-50:#fff;--dd-earth-100:#f4f4f4;--dd-earth-200:#e0e0e0;--dd-earth-300:#b0b0b0;--dd-earth-400:#707070;--dd-earth-500:#404040;--dd-earth-600:#0a0a0a;--dd-group-people:#4a6741;--dd-group-infra:#5b8a72;--dd-group-tools:#6b5d7a;--dd-group-services:#7a6a4a;--dd-callout-warning:#a0602f;--dd-callout-tip:#4a7a6b;--dd-callout-todo:#7a6a4a;--dd-danger:#a8443a;--dd-success:#4a7a4a;--bg:var(--dd-earth-50);--surface:var(--dd-earth-100);--nav-bg:var(--dd-earth-100);--border:var(--dd-earth-200);--border-strong:var(--dd-earth-300);--text:var(--dd-earth-600);--text-2:var(--dd-earth-500);--text-muted:var(--dd-earth-400);--accent:var(--dd-moss-400);--accent-hover:var(--dd-moss-500);--accent-contrast:#fff;--accent-subtle:color-mix(in srgb, var(--accent) 8%, transparent);--accent-link:color-mix(in srgb, var(--accent) 40%, transparent);--callout-warning:var(--dd-callout-warning);--callout-tip:var(--dd-callout-tip);--callout-todo:var(--dd-callout-todo);--danger:var(--dd-danger);--danger-subtle:color-mix(in srgb, var(--danger) 10%, transparent);--success:var(--dd-success);--success-subtle:color-mix(in srgb, var(--success) 10%, transparent);--warning:var(--callout-warning);--warning-subtle:color-mix(in srgb, var(--warning) 10%, transparent);--input-bg:var(--bg);--input-border:var(--border-strong);--input-focus:var(--accent)}:root[data-theme=dark],[data-theme=dark]{color-scheme:dark;--bg:#1c1c1e;--surface:#242426;--nav-bg:#161618;--border:#303032;--border-strong:#48484a;--text:#f2f2f7;--text-2:#aeaeb2;--text-muted:#8e8e93;--accent:var(--dd-moss-300);--accent-hover:var(--dd-moss-200);--accent-contrast:#1c1c1e;--accent-subtle:color-mix(in srgb, var(--accent) 8%, transparent);--accent-link:color-mix(in srgb, var(--accent) 40%, transparent);--callout-warning:#d4915a;--callout-tip:#6aaa8b;--callout-todo:#aa9a6a;--danger:#d4736a;--danger-subtle:color-mix(in srgb, var(--danger) 14%, transparent);--success:#7aaa7a;--success-subtle:color-mix(in srgb, var(--success) 14%, transparent);--warning:var(--callout-warning);--warning-subtle:color-mix(in srgb, var(--warning) 14%, transparent);--input-bg:var(--bg);--input-border:var(--border-strong);--input-focus:var(--accent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#1c1c1e;--surface:#242426;--nav-bg:#161618;--border:#303032;--border-strong:#48484a;--text:#f2f2f7;--text-2:#aeaeb2;--text-muted:#8e8e93;--accent:var(--dd-moss-300);--accent-hover:var(--dd-moss-200);--accent-contrast:#1c1c1e;--accent-subtle:color-mix(in srgb, var(--accent) 8%, transparent);--accent-link:color-mix(in srgb, var(--accent) 40%, transparent);--callout-warning:#d4915a;--callout-tip:#6aaa8b;--callout-todo:#aa9a6a;--danger:#d4736a;--danger-subtle:color-mix(in srgb, var(--danger) 14%, transparent);--success:#7aaa7a;--success-subtle:color-mix(in srgb, var(--success) 14%, transparent);--warning:var(--callout-warning);--warning-subtle:color-mix(in srgb, var(--warning) 14%, transparent);--input-bg:var(--bg);--input-border:var(--border-strong);--input-focus:var(--accent)}}:root{--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, "Courier New", monospace;--font-ui:var(--font-body);--font-display:var(--font-body);--text-xs:.72rem;--text-sm:.85rem;--text-base:1rem;--text-md:1.05rem;--text-lg:1.2rem;--text-xl:clamp(1.35rem, 1.15rem + .4vw, 1.55rem);--text-2xl:clamp(1.6rem, 1.25rem + .6vw, 1.85rem);--text-3xl:clamp(1.9rem, 1.45rem + .8vw, 2.35rem);--text-4xl:clamp(2.4rem, 1.8rem + 1.2vw, 3.2rem);--text-display:clamp(2.375rem, 1.2rem + 4.9vw, 5.25rem);--text-label:.6875rem;--lh-base:1.55;--lh-tight:1.3;--lh-hero:1.15;--lh-display:.9}[data-ui-font=mono]{--font-ui:var(--font-mono)}:root{--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--radius-sm:2px;--radius:4px;--radius-md:6px;--duration-instant:80ms;--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-linear:linear}@media (prefers-reduced-motion:reduce){:root{--duration-instant:0s;--duration-fast:0s;--duration-base:0s;--duration-slow:0s}}:root{--font-display:"IBM Plex Serif", Georgia, serif;--reg:var(--danger);--shadow:0 1px 0 #0000000f, 0 12px 32px -18px #00000073;--measure:62ch;--page:1180px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--shadow:0 1px 0 #0006, 0 14px 36px -18px #000000e6}}:root[data-theme=dark]{--shadow:0 1px 0 #0006, 0 14px 36px -18px #000000e6}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--lh-base);margin:0}a{color:var(--accent);text-underline-offset:.18em;text-decoration:underline 1px}a:hover{color:var(--accent-hover)}code,pre,kbd{font-family:var(--font-mono);font-size:.92em}code{background:var(--surface);border-radius:var(--radius-sm);padding:.08em .35em}pre{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4) var(--space-5);line-height:1.5;font-size:var(--text-sm);margin:0;overflow-x:auto}pre code{font-size:inherit;background:0 0;padding:0}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:var(--lh-tight);letter-spacing:-.01em;margin:0}p{margin:0 0 var(--space-4)}img,svg{max-width:100%;height:auto;display:block}button{font:inherit;color:inherit}::selection{background:color-mix(in srgb, var(--accent) 30%, transparent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stamp{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0;font-weight:500}.stamp b{color:var(--text);font-weight:600}.wrap{max-width:var(--page);padding:0 var(--space-4);margin:0 auto}@media (width>=720px){.wrap{padding:0 var(--space-6)}}.site-head{border-bottom:1px solid var(--border);background:var(--bg);z-index:20;position:sticky;top:0}.site-head .wrap{align-items:center;gap:var(--space-4);min-height:56px;display:flex}.brand{color:var(--text);font-family:var(--font-display);font-size:var(--text-lg);align-items:center;gap:.55rem;text-decoration:none;display:inline-flex}.brand svg{flex:none;width:26px;height:26px}.site-nav{gap:var(--space-4);margin-left:auto;display:flex}.site-nav a{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-2);white-space:nowrap;border-bottom:2px solid #0000;padding:.35rem 0;text-decoration:none}.site-nav a:hover{color:var(--text)}.site-nav a[aria-current=page]{color:var(--text);border-bottom-color:var(--accent)}@media (width<=520px){.site-head .wrap{gap:var(--space-3)}.brand{font-size:var(--text-md)}.site-nav{gap:var(--space-3)}.site-nav a{font-size:var(--text-xs);letter-spacing:.02em}.site-nav .ext{display:none}}.site-foot{border-top:1px solid var(--border);margin-top:var(--space-8);padding:var(--space-6) 0 var(--space-7);color:var(--text-muted);font-size:var(--text-sm)}.site-foot .wrap{gap:var(--space-3) var(--space-6);flex-wrap:wrap;align-items:baseline;display:flex}.site-foot a{color:var(--text-2)}.site-foot .colophon{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;margin-left:auto}.section{padding:var(--space-8) 0 0}.section-head{gap:var(--space-2);margin-bottom:var(--space-6);max-width:var(--measure);display:grid}.section-head h1{font-size:var(--text-3xl);font-weight:400}.section-head h2{font-size:var(--text-3xl)}.section-head .lede{color:var(--text-2);font-size:var(--text-md);margin:0}.page-head{padding-top:var(--space-6)}.prose{max-width:var(--measure);color:var(--text-2)}.prose strong{color:var(--text);font-weight:600}.hint{font-size:var(--text-xs);color:var(--text-muted);margin:0}.hero{padding:var(--space-7) 0 0;gap:var(--space-6);align-items:end;display:grid}@media (width>=900px){.hero{gap:var(--space-8);padding-top:var(--space-8);grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}.hero h1{font-size:var(--text-4xl);font-weight:400;line-height:var(--lh-hero);letter-spacing:-.02em;max-width:14ch}.hero h1 em{color:var(--accent);font-style:italic}.hero .lede{font-size:var(--text-lg);color:var(--text-2);max-width:44ch;margin:var(--space-5) 0 var(--space-6)}.cta-row{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.btn{font-family:var(--font-mono);font-size:var(--text-sm);border-radius:var(--radius-sm);border:1px solid var(--border-strong);color:var(--text);cursor:pointer;background:0 0;align-items:center;gap:.5rem;padding:.6rem 1rem;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--text);color:var(--text)}.btn.primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn.primary:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn.small{font-size:var(--text-xs);padding:.35rem .7rem}.btn:disabled{opacity:.5;cursor:progress}.pull{margin:0;padding:18px;position:relative}.pull:before,.pull:after,.pull>.marks:before,.pull>.marks:after{content:"";pointer-events:none;border-color:var(--text-muted);border-style:solid;border-width:0;width:14px;height:14px;position:absolute}.pull:before{border-top-width:1px;border-left-width:1px;top:0;left:0}.pull:after{border-top-width:1px;border-right-width:1px;top:0;right:0}.pull>.marks:before{border-bottom-width:1px;border-left-width:1px;bottom:0;left:0}.pull>.marks:after{border-bottom-width:1px;border-right-width:1px;bottom:0;right:0}.pull>img{width:100%;box-shadow:var(--shadow);background:var(--surface)}.pull .caption{justify-content:space-between;gap:var(--space-3);margin:var(--space-3) 0 0;flex-wrap:wrap;display:flex}.inkbar{border:1px solid var(--border);background:var(--surface);width:100%;height:10px;display:flex}.inkbar i{flex:1;display:block}.wall{gap:var(--space-6) var(--space-5);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));display:grid}@media (width<=560px){.wall{gap:var(--space-5) var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}}.wall figure{gap:var(--space-3);align-content:start;min-width:0;margin:0;display:grid}.wall .frame{aspect-ratio:3/4;background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--border);display:block;overflow:hidden}.wall .frame img{object-fit:cover;width:100%;height:100%}.wall figcaption{gap:.3rem;min-width:0;display:grid}.wall .edition{justify-content:space-between;align-items:baseline;gap:0 var(--space-3);flex-wrap:wrap;display:flex}.wall .name{font-family:var(--font-display);font-size:var(--text-lg);color:var(--text);overflow-wrap:anywhere}.wall .name a{color:inherit;text-decoration:none}.wall .name a:hover{color:var(--accent)}.wall .note{color:var(--text-2);font-size:var(--text-sm);margin:0}@media (width<=560px){.wall .name{font-size:var(--text-md)}.wall .note{font-size:var(--text-xs)}}.plates{gap:var(--space-4);counter-reset:plate;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.plate{border:1px solid var(--border);background:var(--surface);padding:var(--space-5);gap:var(--space-3);align-content:start;min-width:0;display:grid;position:relative}.plate:before{counter-increment:plate;content:counter(plate, decimal-leading-zero);top:var(--space-3);right:var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.1em;position:absolute}.plate h3{font-size:var(--text-xl)}.plate p{color:var(--text-2);font-size:var(--text-sm);margin:0}.plate pre{padding:var(--space-3) var(--space-4);background:var(--bg)}.copyable{padding-right:4.5rem;position:relative}.copyable .copy{font-family:var(--font-mono);font-size:var(--text-xs);border:1px solid var(--border-strong);background:var(--bg);color:var(--text-2);border-radius:var(--radius-sm);cursor:pointer;padding:.2rem .5rem;position:absolute;top:.4rem;right:.4rem}.copyable .copy:hover{color:var(--text);border-color:var(--text)}.docs{gap:var(--space-7);padding-top:var(--space-6);display:grid}@media (width>=900px){.docs{gap:var(--space-8);grid-template-columns:200px minmax(0,1fr);align-items:start}}.toc{font-family:var(--font-mono);font-size:var(--text-sm);gap:.4rem;display:grid;position:sticky;top:72px}.toc a{color:var(--text-2);border-left:1px solid var(--border);padding:.2rem 0 .2rem .75rem;text-decoration:none}.toc a:hover{color:var(--text);border-left-color:var(--text)}.toc .stamp{margin-bottom:.4rem;padding-left:.75rem}@media (width<=899px){.toc{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));position:static}}.doc{gap:var(--space-8);min-width:0;display:grid}.doc section{gap:var(--space-4);min-width:0;scroll-margin-top:80px;display:grid}.doc h2{font-size:var(--text-2xl);align-items:baseline;gap:var(--space-3);display:flex}.doc h3{font-size:var(--text-lg);margin-top:var(--space-3)}.doc p{max-width:var(--measure);color:var(--text-2);margin:0}.doc table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.doc th{text-align:left;font-family:var(--font-mono);font-weight:500;font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-strong);padding:.5rem .75rem .5rem 0}.doc td{border-bottom:1px solid var(--border);vertical-align:top;color:var(--text-2);padding:.55rem .75rem .55rem 0}.doc td:first-child{white-space:nowrap;color:var(--text)}.table-wrap{overflow-x:auto}.callout{border-left:3px solid var(--accent);background:var(--accent-subtle);padding:var(--space-3) var(--space-4);max-width:var(--measure);color:var(--text-2);font-size:var(--text-sm)}.press{gap:var(--space-6);display:grid}@media (width>=980px){.press{gap:var(--space-7);grid-template-columns:300px minmax(0,1fr);align-items:start}}.bench{gap:var(--space-4);min-width:0;display:grid}@media (width>=980px){.bench{order:2;position:sticky;top:72px}}.proof{aspect-ratio:3/4;width:100%;box-shadow:var(--shadow);border:1px solid var(--border);background:var(--proof-paper,var(--surface));position:relative;overflow:hidden}.proof svg{width:100%;height:100%}.proof .loading{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);place-items:center;display:grid;position:absolute;inset:0}.proof-meta{justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;display:flex}.controls{gap:var(--space-5);min-width:0;display:grid}.controls fieldset{border:1px solid var(--border);background:var(--surface);padding:var(--space-4) var(--space-4) var(--space-5);gap:var(--space-3);min-width:0;margin:0;display:grid}.controls legend{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);padding:0 .4rem}.tag{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-muted);border:1px solid var(--border-strong);border-radius:var(--radius-sm);white-space:nowrap;margin-left:.3rem;padding:0 .3rem;font-size:.66rem}.tag.flag{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.row{font-size:var(--text-sm);grid-template-columns:1fr auto;align-items:center;gap:.4rem .75rem;display:grid}.row label{color:var(--text-2)}.row output{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);text-align:right;min-width:3.5ch}.row input[type=range]{width:100%;accent-color:var(--accent);grid-column:1/-1;margin:0}.row input[type=range]:disabled{opacity:.4}.row input[type=color]{border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;background:0 0;width:36px;height:24px;padding:0}.row.inkrow{grid-template-columns:1fr auto auto}.row.inkrow code{font-size:var(--text-xs)}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip{font-family:var(--font-mono);font-size:var(--text-xs);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-2);background:0 0;padding:.35rem .6rem}.chip:hover{border-color:var(--text);color:var(--text)}.chip[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.chip:disabled{opacity:.4;cursor:not-allowed}.chip .n{opacity:.6;margin-left:.35rem}.select{width:100%;font-family:var(--font-mono);font-size:var(--text-sm);border:1px solid var(--border-strong);background:var(--bg);color:var(--text);border-radius:var(--radius-sm);padding:.5rem .6rem}.cmdline{font-size:var(--text-xs);color:var(--text-2);white-space:pre-wrap;word-break:break-word;padding:var(--space-3) var(--space-4);line-height:1.6}.actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.sheet-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.mark-row{gap:var(--space-6);flex-wrap:wrap;align-items:end;display:flex}.mark-row figure{gap:var(--space-2);color:var(--text);justify-items:start;margin:0;display:grid}.mark-row .on-ink{background:var(--text);color:var(--bg);padding:var(--space-4)}.swatches{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(110px,1fr));display:grid}.swatch{border:1px solid var(--border);display:grid}.swatch i{height:56px;display:block}.swatch span{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-2);padding:.4rem .5rem;display:grid}.swatch span b{color:var(--text);font-weight:500}.type-spec{gap:var(--space-2);border-top:1px solid var(--border);padding-top:var(--space-3);display:grid}.type-spec .sample-display{font-family:var(--font-display);font-size:var(--text-3xl)}.type-spec .sample-body{font-size:var(--text-md);color:var(--text-2)}.type-spec .sample-mono{font-family:var(--font-mono);font-size:var(--text-sm);overflow-wrap:anywhere}.readme-mock{border:1px solid var(--border);color:#1f2328;padding:var(--space-5);border-radius:var(--radius-md);background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5}.readme-mock h1{border-bottom:1px solid #d1d9e0;margin:1rem 0 .8rem;padding-bottom:.3em;font-family:inherit;font-size:1.8em;font-weight:600}.readme-mock .badges{flex-wrap:wrap;gap:.3rem;margin-bottom:.8rem;display:flex}.readme-mock .badges i{background:linear-gradient(90deg,#555 50%,#4c1 50%);border-radius:3px;width:92px;height:20px;display:inline-block}.readme-mock .badges i:nth-child(3){background:linear-gradient(90deg,#555 55%,#fc6d26 55%)}.readme-mock p{color:#1f2328}.readme-mock code{color:#1f2328;background:#eff1f3}.readme-mock a{color:#0969da}
