@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=IBM+Plex+Mono:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.invisible{visibility:hidden}.table-row{display:table-row}.contents{display:contents}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{font-family:Space Grotesk,sans-serif;color:#e7e8e1;background:#0b0d0e;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:#0b0d0e}a{color:inherit;text-decoration:none}button{font:inherit}.site-shell{min-height:100vh;background:#050606;overflow:hidden}.section-wrap{width:min(1180px,calc(100% - 64px));margin:0 auto}.site-header{height:76px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #252a29;position:sticky;top:0;z-index:10;background:#050606}.wordmark{display:flex;align-items:center;gap:13px}.wordmark-mark{color:#d9e1dc;font-family:IBM Plex Mono,monospace;font-size:21px;font-weight:600;letter-spacing:-2px}.wordmark-mark span{color:#f1a354;margin:0 2px}.wordmark-copy{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.12em;color:#dce2dd}.wordmark-copy small{display:block;color:#737d77;font-size:8px;letter-spacing:.16em;margin-top:3px}.main-nav{display:flex;gap:30px;margin-left:130px}.main-nav a,.github-link{color:#89948d;font:11px IBM Plex Mono,monospace;transition:color .2s}.main-nav a:hover,.github-link:hover{color:#e9f1eb}.github-link{display:flex;align-items:center;gap:7px;color:#dce2dd}.menu-button{display:none;color:#dce2dd;background:none;border:0}.hero{padding:105px 8.5% 74px;position:relative;border-bottom:1px solid #252a29}.hero-kicker,.eyebrow,.strip-label,.section-number,.rail-title,.rail-source>span,.reading-time span,.diagram-heading,.table-header,.support-section .eyebrow{font:10px IBM Plex Mono,monospace;letter-spacing:.14em;color:#829188}.hero-kicker{color:#a5aea7}h1{max-width:760px;margin:25px 0 22px;font-size:clamp(52px,7vw,92px);line-height:.95;letter-spacing:-.065em;font-weight:500;color:#f0f1eb}h1 em{color:#d7e0d8;font-style:normal}.hero-deck{max-width:580px;color:#a4ada5;font-size:17px;line-height:1.6;margin:0}.hero-meta{display:flex;align-items:center;margin-top:47px}.author-lockup{display:flex;align-items:center;gap:11px}.author-lockup img{width:35px;height:35px;border-radius:50%;filter:saturate(.7)}.author-lockup strong,.author-lockup span{display:block}.author-lockup strong{font-size:12px;font-weight:500}.author-lockup span{color:#718077;font:10px IBM Plex Mono,monospace;margin-top:3px}.context-strip{background:#0b0d0d;border-bottom:1px solid #28332e}.context-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:34px;padding:31px 8.5%}.strip-label{font-size:9px;color:#f1a354}.context-grid p{font-size:12px;line-height:1.65;color:#9aa9a0;max-width:440px;margin:10px 0 0}.context-stat{border-left:1px solid #34413a;padding-left:22px;display:flex;align-items:center;gap:12px}.context-stat strong{font:38px IBM Plex Mono,monospace;color:#e4e9e3;letter-spacing:-.1em}.context-stat strong span{color:#f1a354;font-size:20px}.context-stat span{font:9px/1.5 IBM Plex Mono,monospace;text-transform:uppercase;color:#718078}.article-layout{display:grid;grid-template-columns:225px 1fr;gap:90px;padding-top:92px}.contents-rail{align-self:start;position:sticky;top:110px}.rail-title{color:#f1a354;font-size:9px;padding-bottom:17px;border-bottom:1px solid #29332e}.contents-rail ol{list-style:none;margin:0;padding:0}.contents-rail li{border-bottom:1px solid #202826}.contents-rail li a{padding:15px 0;display:flex;gap:14px}.contents-rail li span{color:#64746a;font:10px IBM Plex Mono,monospace}.contents-rail li strong,.contents-rail li small{display:block}.contents-rail li strong{font-size:11px;font-weight:500;color:#cdd6cf}.contents-rail li small{font:9px/1.5 IBM Plex Mono,monospace;color:#64746a;margin-top:4px}.contents-rail li a:hover strong{color:#f1a354}.rail-source{margin-top:47px;display:grid;gap:11px}.rail-source a{display:flex;justify-content:space-between;align-items:center;color:#83998a;font:9px IBM Plex Mono,monospace}.rail-source a:hover{color:#f1a354}.rail-source>span{color:#5f6c64;font-size:8px}.article{min-width:0;max-width:720px}.article-intro{padding-bottom:73px;border-bottom:1px solid #2a3330}.article-intro p{color:#8d9b92;font-size:15px;line-height:1.75;max-width:650px}.article-intro .lede{color:#d8ded9;font-size:22px;line-height:1.5;letter-spacing:-.025em;margin-top:22px}.article-section{padding:81px 0 15px}.section-number{color:#f1a354}.section-number span{color:#64746a;margin-left:5px}.article h2{font-size:clamp(32px,5vw,53px);line-height:1.03;letter-spacing:-.055em;font-weight:500;color:#e4e9e3;margin:22px 0 25px}.article-section>p{color:#98a59d;line-height:1.85;font-size:15px;margin:0 0 23px}.article strong{color:#d8e0d9;font-weight:500}.article code{color:#f0b26f;font:12px DM Mono,monospace}.article mark{color:#e8b879;background:#f1a35421;padding:2px 4px}.pull-quote{border-left:2px solid #e89748;padding:20px 0 20px 26px;margin:45px 0}.pull-quote>span{color:#f1a354;font:43px Georgia,serif;line-height:0;vertical-align:-17px}.pull-quote blockquote{color:#dde5de;font-size:22px;line-height:1.45;letter-spacing:-.02em;margin:2px 0 15px;max-width:570px}.pull-quote cite{color:#68766e;font:10px IBM Plex Mono,monospace}.code-shell{background:#101514;border:1px solid #293630;margin:35px 0;box-shadow:18px 18px #141d1957}.code-topline{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #27332e;padding:11px 15px}.code-label{color:#77877b;font:10px IBM Plex Mono,monospace}.code-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#e89748;margin-right:8px}.copy-button{display:flex;align-items:center;gap:6px;color:#85958a;font:9px IBM Plex Mono,monospace;background:none;border:0;cursor:pointer}.copy-button:hover{color:#f0b26f}.code-shell pre{margin:0;padding:21px 20px;overflow-x:auto;color:#a6c3af;font:12px/1.8 DM Mono,monospace}.question-card,.note-box{display:flex;align-items:flex-start;gap:16px;border:1px solid #39463e;background:#151d19;padding:21px;margin:39px 0 5px;color:#bed0c2}.question-card svg,.note-box svg{flex:0 0 auto;color:#f1a354}.question-card span,.note-box strong{display:block;color:#f1a354;font:9px IBM Plex Mono,monospace;letter-spacing:.12em;margin-bottom:8px}.question-card strong{color:#d9e1da;font-size:15px;font-weight:500}.note-box p{color:#8d9b92;line-height:1.6;font-size:13px;margin:0}.diagram-card{background:#121917;border:1px solid #2a3730;margin:39px 0;padding:20px 21px 27px}.diagram-heading{display:flex;justify-content:space-between;color:#718178;font-size:9px;padding-bottom:23px}.diagram-legend{display:flex;gap:6px;align-items:center;font-size:8px;letter-spacing:0}.diagram-legend i{display:inline-block;width:5px;height:5px;border-radius:50%;margin-left:9px}.orange-dot{background:#e89748}.green-dot{background:#75c18c}.state-diagram{display:flex;align-items:center;justify-content:center;gap:13px}.state-node{min-width:145px;padding:14px 13px;border:1px solid #725135;background:#1f1b16}.state-node.safe{border-color:#477558;background:#17221c}.state-node small,.state-node strong,.state-node span{display:block}.state-node small{color:#aa8965;font:8px IBM Plex Mono,monospace}.state-node.safe small{color:#76b48a}.state-node strong{color:#e3e5dc;font:12px IBM Plex Mono,monospace;margin:11px 0 7px}.state-node span{color:#827b68;font:9px IBM Plex Mono,monospace}.state-node.safe span{color:#80a88b}.diagram-arrow{color:#69776f;flex:0 0 auto}.branch-table{border-block:1px solid #2b3731;margin:38px 0 31px}.table-header,.table-row{display:grid;grid-template-columns:1.4fr 1.35fr 1fr 1fr;align-items:center;gap:12px}.table-header{color:#66776b;padding:13px 12px;font-size:8px}.table-row{border-top:1px solid #222c28;padding:14px 12px;color:#99a59c;font:10px IBM Plex Mono,monospace}.branch-name{display:flex;align-items:center;gap:7px;color:#cbd7cd}.branch-name svg{color:#e89748}.mono{color:#77857b}.table-status{color:#7eaf89}.table-status i{margin-right:7px}.checklist{margin:37px 0;border-top:1px solid #2c3731}.checklist>div{display:grid;grid-template-columns:40px 1fr 22px;align-items:center;gap:15px;border-bottom:1px solid #2c3731;padding:17px 10px}.checklist>div>span{color:#f1a354;font:10px IBM Plex Mono,monospace}.checklist p{color:#95a39a;font-size:13px;line-height:1.5;margin:0}.checklist p strong{color:#d6ddd7}.checklist b{color:#79ba8c;font:14px IBM Plex Mono,monospace}.support-section{margin:112px 0 80px;padding:47px 42px 52px;border:1px solid #665338;background:radial-gradient(ellipse at 80% 10%,rgba(102,71,36,.22),transparent 50%),#161714;position:relative}.support-mark{width:45px;height:45px;display:grid;place-items:center;border:1px solid #87653f;color:#f1a354;margin-bottom:29px}.support-section .eyebrow{color:#e3a15e}.support-section h2{font-size:39px;max-width:550px;margin-top:20px}.support-section>p{max-width:490px;color:#9d9d8d;line-height:1.65;font-size:13px}.wallets{display:grid;gap:12px;margin-top:33px}.wallets>div{display:grid;grid-template-columns:88px 1fr;gap:16px;align-items:center;border-top:1px solid #493e2c;padding-top:13px}.wallets span{color:#b18659;font:9px IBM Plex Mono,monospace}.wallets code{color:#e1c092;font:10px DM Mono,monospace;word-break:break-all}.site-footer{display:flex;justify-content:space-between;padding:26px 0 32px;border-top:1px solid #252e2a;color:#68766d;font:9px IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.site-footer a{color:#a1b3a6}.site-footer a:hover{color:#f1a354}@media(max-width:900px){.main-nav{margin-left:0;gap:18px}.article-layout{gap:40px}.context-grid{grid-template-columns:1.8fr repeat(3,1fr);gap:15px;padding-inline:4%}.context-stat{padding-left:13px}.context-stat strong{font-size:28px}}@media(max-width:700px){.section-wrap{width:min(100% - 36px,600px)}.site-header{padding:0 18px;height:65px}.github-link{display:none}.menu-button{display:block}.main-nav{display:none;position:absolute;top:65px;left:0;right:0;background:#111715;border-bottom:1px solid #303b35;flex-direction:column;padding:20px 22px;gap:20px}.main-nav.is-open{display:flex}.hero{padding:76px 0 55px}.hero-kicker{font-size:8px}.hero-meta{margin-top:37px}.context-grid{grid-template-columns:1fr 1fr;padding:25px 0;gap:24px 14px}.context-grid>div:first-child{grid-column:1 / -1}.context-stat{border-left:0;padding:0}.context-stat strong{font-size:27px}.article-layout{display:block;padding-top:55px}.contents-rail{position:static;margin-bottom:57px}.contents-rail ol{display:grid;grid-template-columns:1fr 1fr}.contents-rail li:nth-child(odd){padding-right:15px}.rail-source{display:none}.article-intro{padding-bottom:51px}.article-intro .lede{font-size:19px}.article-section{padding-top:62px}.article h2{font-size:38px}.article-section>p{font-size:14px}.pull-quote blockquote{font-size:19px}.state-diagram{flex-direction:column;align-items:stretch}.diagram-arrow{transform:rotate(90deg);align-self:center}.state-node{min-width:0}.diagram-heading{gap:16px;flex-direction:column}.table-header{display:none}.table-row{grid-template-columns:1.3fr 1fr;gap:9px}.table-row>span:nth-child(2),.table-row>span:nth-child(3){display:none}.support-section{margin-top:80px;padding:30px 22px 32px}.support-section h2{font-size:31px}.wallets>div{grid-template-columns:1fr;gap:7px}.site-footer{flex-wrap:wrap;gap:16px}}
