.ss-overlay{z-index:10000;font-family:var(--sans);color:var(--ink);background:#14171a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ss-overlay[hidden]{display:none}.ss-modal{background:var(--white);border:1px solid var(--ink);flex-direction:column;width:min(1180px,96vw);height:min(820px,92vh);display:flex;overflow:hidden}.ss-top{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.ss-title{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:500}.ss-close{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:0;font-size:24px;line-height:1}.ss-close:hover{border-color:var(--ink);color:var(--ink)}.ss-body{flex:1;grid-template-columns:minmax(0,1fr) 340px;min-height:0;display:grid}.ss-stage{background:var(--tint) radial-gradient(var(--rule) 1px, transparent 1px) 0 0 / 16px 16px;min-height:0;position:relative;overflow:hidden}.ss-scale{transform-origin:0 0;outline:1px solid var(--rule);position:absolute;top:50%;left:50%}.ss-panel{border-left:1px solid var(--rule);flex-direction:column;gap:20px;padding:18px 20px;display:flex;overflow-y:auto}.ss-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:11px;font-weight:400}.ss-seg{border-top:1px solid var(--rule);border-left:1px solid var(--rule);gap:0;display:grid}.ss-seg-2{grid-template-columns:1fr 1fr}.ss-seg-4{grid-template-columns:repeat(4,1fr)}.ss-opt{border:0;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--white);font:inherit;color:var(--ink);cursor:pointer;text-align:left;border-radius:0;padding:10px;font-size:13px;font-weight:500}.ss-seg-4 .ss-opt{text-align:center;font-family:var(--mono);padding:9px 4px;font-weight:400}.ss-opt small{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:3px;font-size:10px;font-weight:400;display:block}.ss-opt:hover{background:var(--paper)}.ss-opt[aria-pressed=true]{background:var(--ink);color:var(--paper)}.ss-opt[aria-pressed=true] small{color:var(--night-text)}.ss-swatches{grid-template-columns:1fr 1fr;gap:6px;display:grid}.ss-sw{border:1px solid var(--rule);background:var(--white);font:inherit;color:var(--ink);cursor:pointer;border-radius:0;align-items:center;gap:8px;padding:7px 10px 7px 7px;font-size:13px;display:inline-flex}.ss-sw i{border:1px solid var(--rule);flex:none;width:16px;height:16px}.ss-sw:hover{border-color:var(--muted)}.ss-sw[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.ss-photos{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px;display:grid}.ss-photos[hidden]{display:none}.ss-ph{aspect-ratio:1;border:1px solid var(--rule);cursor:pointer;background:var(--tint);border-radius:0;padding:0;overflow:hidden}.ss-ph img{object-fit:cover;width:100%;height:100%;display:block}.ss-ph[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:-2px}.ss-ph-up{font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--paper);border:1px dashed var(--muted);text-align:center;place-items:center;padding:4px;font-size:10px;line-height:1.3;display:grid}.ss-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ss-field{gap:6px;margin-bottom:12px;display:grid}.ss-field>span{font-family:var(--mono);color:var(--muted);font-size:11px}.ss-field textarea,.ss-field select{box-sizing:border-box;border:1px solid var(--rule);width:100%;font:inherit;color:var(--ink);background:var(--white);resize:vertical;border-radius:0;padding:9px 10px;font-size:14px}.ss-field textarea:focus,.ss-field select:focus{outline:2px solid var(--ink);outline-offset:-1px;border-color:var(--ink)}.ss-check{cursor:pointer;align-items:center;gap:8px;margin-bottom:6px;font-size:13px;display:flex}.ss-check input{accent-color:var(--ink);border-radius:0}.ss-actions{gap:8px;margin-top:auto;padding-top:6px;display:grid}.ss-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ss-primary{justify-content:center;width:100%}.ss-btn{border:1px solid var(--ink);background:var(--white);font-family:var(--mono);color:var(--ink);cursor:pointer;border-radius:0;padding:10px 12px;font-size:12px}.ss-btn:hover{background:var(--ink);color:var(--paper)}.ss-btn:disabled,.ss-primary:disabled{opacity:.5;cursor:wait}.ss-status{min-height:18px;font-family:var(--mono);color:var(--muted);text-align:center;margin:0;font-size:11px}@media (width<=860px){.ss-modal{border:0;width:100vw;height:100dvh}.ss-body{grid-template-rows:46dvh minmax(0,1fr);grid-template-columns:1fr}.ss-panel{border-left:0;border-top:1px solid var(--rule)}}:root{--ink:#14171a;--graphite:#3a4148;--muted:#5b636b;--rule:#d5d9dd;--paper:#f4f5f6;--white:#fff;--tint:#e4e7ea;--night-text:#9aa3ab;--night-link:#c9ced3;--night-label:#8a939b;--night-rule:#2c3136;--sans:var(--font-sans), "IBM Plex Sans", sans-serif;--mono:var(--font-mono), "IBM Plex Mono", monospace;--max:1280px;--pad:clamp(20px, 4vw, 40px);--section-y:clamp(56px, 8vw, 104px);color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}[hidden]{display:none!important}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:normal}a{color:var(--ink);text-decoration:none}a:hover{color:var(--muted)}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,p{margin:0}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.container{max-width:var(--max);padding-inline:var(--pad);margin:0 auto}.section{padding-block:var(--section-y);border-bottom:1px solid var(--rule)}.section--white{background:var(--white)}.section--night{background:var(--ink);color:var(--paper);border-bottom-color:var(--night-rule)}.label{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:11px}.label--12{font-size:12px}.mono{font-family:var(--mono)}.section-head{border-top:1px solid var(--ink);gap:8px;margin-bottom:clamp(28px,4vw,48px);padding-top:12px;display:flex}.section--night .section-head{border-top-color:var(--paper)}.display{letter-spacing:-.03em;text-wrap:balance;font-weight:500;line-height:1.04}.display--xl{letter-spacing:-.035em;font-size:clamp(44px,7vw,88px);line-height:.98}.display--l{font-size:clamp(34px,4.6vw,56px)}.display--m{letter-spacing:-.025em;font-size:clamp(28px,3.4vw,40px)}.lead{color:var(--graphite);max-width:620px;font-size:clamp(17px,1.6vw,19px);line-height:1.6}.body{color:var(--graphite);font-size:15px;line-height:1.6}.btn{font-family:var(--sans);border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;border-radius:0;align-items:center;gap:8px;padding:14px 16px;font-size:15px;font-weight:500;line-height:1.2;display:inline-flex}.btn:hover{background:var(--graphite);border-color:var(--graphite);color:var(--paper)}.btn--outline{color:var(--ink);background:0 0}.btn--outline:hover{background:var(--ink);color:var(--paper)}.section--night .btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}.section--night .btn--outline{color:var(--paper);background:0 0}.btn--mono{font-family:var(--mono);padding:9px 14px;font-size:13px;font-weight:400}.actions{flex-wrap:wrap;gap:12px;display:flex}.placeholder{background:repeating-linear-gradient(135deg, var(--tint) 0 1px, transparent 1px 10px), var(--paper);border:1px solid var(--rule);min-height:200px;position:relative}.placeholder>.label{background:var(--paper);padding:4px 8px;position:absolute;bottom:12px;left:12px}.chip{font-family:var(--mono);text-transform:uppercase;border:1px solid var(--ink);padding:4px 8px;font-size:11px;display:inline-block}.rule-list>*{border-top:1px solid var(--rule)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{position:absolute;left:-9999px}.skip-link:focus{z-index:100;background:var(--ink);color:var(--paper);padding:8px 12px;top:16px;left:16px}@view-transition{navigation:auto}.site-header{view-transition-name:site-header}::view-transition-old(root){animation:.18s ease-in both vt-out}::view-transition-new(root){animation:.32s cubic-bezier(.2,.7,.2,1) 60ms both vt-in}@keyframes vt-out{to{opacity:0;transform:translateY(-6px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}.prose{color:#22262a;max-width:700px;font-size:18px;line-height:1.7}.prose>*+*{margin-top:20px}.prose h2{letter-spacing:-.02em;color:var(--ink);margin-top:48px;font-size:clamp(24px,2.4vw,30px);font-weight:500;line-height:1.2}.prose h3{color:var(--ink);margin-top:32px;font-size:21px;font-weight:500}.prose a{text-underline-offset:3px;text-decoration:underline}.prose ul,.prose ol{padding-left:24px}.prose li+li{margin-top:8px}.prose blockquote{border-left:2px solid var(--ink);color:var(--ink);margin:32px 0;padding-left:24px;font-size:22px;font-weight:500;line-height:1.45}.prose code{font-family:var(--mono);background:var(--tint);padding:1px 5px;font-size:.85em}.note{border:1px solid var(--rule);border-left:2px solid var(--ink);background:var(--white);color:var(--graphite);padding:16px 20px;font-size:15px;line-height:1.6}.note>.label{margin-bottom:6px;display:block}.site-header[data-astro-cid-hkbrpulz]{z-index:10;background:var(--paper);border-bottom:1px solid var(--ink);position:sticky;top:0}.site-header__row[data-astro-cid-hkbrpulz]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;padding-block:14px;display:flex}.brand[data-astro-cid-hkbrpulz]{color:var(--ink);align-items:center;gap:12px;display:flex}.brand__mark[data-astro-cid-hkbrpulz]{background:var(--ink);flex:none;width:22px;height:22px;display:inline-block}.brand__mark--light[data-astro-cid-hkbrpulz]{background:var(--paper);width:18px;height:18px}.brand__logo[data-astro-cid-hkbrpulz]{width:auto;height:22px}.brand__text[data-astro-cid-hkbrpulz]{flex-direction:column;line-height:1.15;display:flex}.brand__name[data-astro-cid-hkbrpulz]{letter-spacing:-.01em;font-size:18px;font-weight:600}.brand__tagline[data-astro-cid-hkbrpulz]{color:var(--muted);font-size:12px}.site-menu[data-astro-cid-hkbrpulz]{display:contents}.menu-toggle[data-astro-cid-hkbrpulz]{display:none}.site-nav[data-astro-cid-hkbrpulz]{flex-wrap:wrap;gap:8px 28px;font-size:14px;display:flex}@media (width<=959px){.site-header__row[data-astro-cid-hkbrpulz]{flex-wrap:nowrap}.menu-toggle[data-astro-cid-hkbrpulz]{border:1px solid var(--ink);height:40px;color:var(--ink);cursor:pointer;background:0 0;align-items:center;gap:10px;padding:0 14px;display:inline-flex}.menu-toggle__label[data-astro-cid-hkbrpulz]{text-transform:uppercase;letter-spacing:.04em;text-align:left;min-width:4.2em;font-size:12px}.menu-toggle__bars[data-astro-cid-hkbrpulz]{width:16px;height:10px;position:relative}.menu-toggle__bars[data-astro-cid-hkbrpulz] i[data-astro-cid-hkbrpulz]{background:var(--ink);width:16px;height:1.5px;transition:transform .2s,top .2s;position:absolute;left:0}.menu-toggle__bars[data-astro-cid-hkbrpulz] i[data-astro-cid-hkbrpulz]:first-child{top:1px}.menu-toggle__bars[data-astro-cid-hkbrpulz] i[data-astro-cid-hkbrpulz]:last-child{top:7.5px}.is-open[data-astro-cid-hkbrpulz] .menu-toggle[data-astro-cid-hkbrpulz]{background:var(--ink);color:var(--paper)}.is-open[data-astro-cid-hkbrpulz] .menu-toggle__bars[data-astro-cid-hkbrpulz] i[data-astro-cid-hkbrpulz]{background:var(--paper);top:4.25px}.is-open[data-astro-cid-hkbrpulz] .menu-toggle__bars[data-astro-cid-hkbrpulz] i[data-astro-cid-hkbrpulz]:first-child{transform:rotate(45deg)}.is-open[data-astro-cid-hkbrpulz] .menu-toggle__bars[data-astro-cid-hkbrpulz] i[data-astro-cid-hkbrpulz]:last-child{transform:rotate(-45deg)}.site-menu[data-astro-cid-hkbrpulz]{max-height:calc(100dvh - 100%);padding:8px var(--pad) 24px;background:var(--paper);border-bottom:1px solid var(--ink);display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.is-open[data-astro-cid-hkbrpulz] .site-menu[data-astro-cid-hkbrpulz]{flex-direction:column;gap:20px;display:flex}.site-menu[data-astro-cid-hkbrpulz] .site-nav[data-astro-cid-hkbrpulz]{flex-flow:column;gap:0}.site-menu[data-astro-cid-hkbrpulz] .site-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{border-bottom:1px solid var(--rule);color:var(--ink);justify-content:space-between;padding:16px 0;font-size:20px;font-weight:500;display:flex}.site-menu[data-astro-cid-hkbrpulz] .site-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:after{content:"→";color:var(--muted)}.site-menu[data-astro-cid-hkbrpulz] .site-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz][aria-current=page]{border-bottom-color:var(--ink)}.site-menu[data-astro-cid-hkbrpulz] .btn[data-astro-cid-hkbrpulz]{justify-content:center;padding:14px 16px;font-size:14px}}.site-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{color:var(--muted);border-bottom:1px solid #0000;padding:2px 0}.site-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover,.site-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz][aria-current=page]{color:var(--ink)}.site-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz][aria-current=page]{border-bottom-color:var(--ink)}.site-footer[data-astro-cid-hkbrpulz]{background:var(--ink);color:var(--night-text);border-top:1px solid var(--night-rule)}.site-footer__row[data-astro-cid-hkbrpulz]{flex-wrap:wrap;justify-content:space-between;gap:32px 64px;padding-block:40px;font-size:14px;display:flex}.site-footer__brand[data-astro-cid-hkbrpulz]{flex-direction:column;gap:10px;max-width:360px;display:flex}.site-footer__name[data-astro-cid-hkbrpulz]{color:var(--paper);align-items:center;gap:10px;font-size:17px;font-weight:600;display:flex}.site-footer__note[data-astro-cid-hkbrpulz]{color:var(--night-link)}.site-footer__motto[data-astro-cid-hkbrpulz]{font-size:12px}.site-footer__cols[data-astro-cid-hkbrpulz]{flex-wrap:wrap;gap:24px 56px;display:flex}.site-footer__col[data-astro-cid-hkbrpulz]{flex-direction:column;gap:8px;display:flex}.site-footer__label[data-astro-cid-hkbrpulz]{font-family:var(--mono);color:var(--night-label);font-size:11px}.site-footer__col[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{color:var(--night-link)}.site-footer__col[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{color:var(--paper)}
