:root{--paper: #F2EFE8;--plate: #FFFFFF;--ink: #1B1B1F;--ink-2: #3A3A40;--mist: #6B6B73;--rule: #D6D2C8;--accent: #E8552A;--accent-text: #B8431F;--sealed: #4A5B7A;--tee: #0E7C6B;--tee-text: #0B6A5B;--fault: #B3261E;--accent-soft: rgba(232, 85, 42, .1);--sealed-soft: rgba(74, 91, 122, .12);--display: Archivo, "Inter Tight", system-ui, sans-serif;--body: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--gutter: 48px}@media (prefers-color-scheme: dark){:root{--paper: #15161A;--plate: #1D1E24;--ink: #ECEAE3;--ink-2: #C9C7BF;--mist: #9A9AA3;--rule: #2E2F36;--accent: #FF7A4F;--accent-text: #FF7A4F;--sealed: #8FA3C7;--tee: #3FC9B0;--tee-text: #3FC9B0;--fault: #FF6B6B;--accent-soft: rgba(255, 122, 79, .14);--sealed-soft: rgba(143, 163, 199, .16)}}@media (max-width: 720px){:root{--gutter: 16px}}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:.07em}a:hover{color:var(--accent-text)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip{position:absolute;left:8px;top:-60px;background:var(--ink);color:var(--paper);padding:8px 12px;z-index:10;text-decoration:none}.skip:focus{top:8px}main:focus{outline:none}h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:-.03em;line-height:1;margin:0}h1{font-size:clamp(44px,6vw,76px)}.h2{font-size:clamp(26px,3vw,34px)}h3{font-size:20px;letter-spacing:-.01em;font-weight:700}p{margin:0}button{font:inherit}.mono{font-family:var(--mono);font-size:12px}.num{font-variant-numeric:tabular-nums}.mist{color:var(--mist)}.ink2{color:var(--ink-2)}.accent{color:var(--accent)}.accent-text{color:var(--accent-text)}.tee{color:var(--tee-text)}.err{color:var(--fault)}.sk{display:inline-block;width:2ch;height:.8em;background:var(--rule);vertical-align:baseline}.wrap{max-width:1280px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:20px}.c2{grid-column:span 2}.c3{grid-column:span 3}.c4{grid-column:span 4}.c5{grid-column:span 5}.c6{grid-column:span 6}.c7{grid-column:span 7}.c8{grid-column:span 8}.c10{grid-column:span 10}.c12{grid-column:span 12}@media (max-width: 900px){.c2,.c3,.c4,.c5,.c6,.c7,.c8,.c10{grid-column:span 12}}.stack{display:flex;flex-direction:column;gap:14px}.between{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.only-narrow{display:none}@media (max-width: 720px){.only-wide{display:none}.only-narrow{display:block}.flow-v.only-narrow{display:flex}}.rule-ink{border-top:1.5px solid var(--ink)}.rule{border-top:1px solid var(--rule)}.sec{font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.02em;color:var(--mist);line-height:1.5}.label{font-family:var(--mono);font-size:12px;color:var(--mist);letter-spacing:.02em}.numeral{font-family:var(--display);font-weight:800;letter-spacing:-.05em;line-height:.85;font-size:clamp(64px,10vw,120px)}.numeral.accent{color:var(--accent)}.aside{border-left:1.5px solid var(--ink);padding-left:20px}@media (max-width: 900px){.aside{border-left:0;padding-left:0;border-top:1px solid var(--rule);padding-top:12px}}header{border-bottom:1.5px solid var(--ink)}header .wrap{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 26px;padding-top:18px;padding-bottom:14px}header .brand{display:flex;align-items:baseline;gap:12px}header .brand a{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.02em;color:var(--ink);text-decoration:none}header .brand span{font-size:12px;color:var(--mist)}header nav{display:flex;gap:20px;font-family:var(--display);font-weight:500;font-size:15px}header nav a{color:var(--mist);text-decoration:none}header nav a.on,header nav a:hover{color:var(--ink)}header nav a.on{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1.5px}header .contract{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--mist)}header .contract a{color:var(--mist);text-decoration:none}@media (max-width: 720px){header .wrap{padding-top:12px;padding-bottom:10px;gap:8px 18px}header .brand span,header .contract{display:none}}main{padding-bottom:40px}section.block{padding-top:40px;padding-bottom:40px}section.block+section.block{border-top:1px solid var(--rule)}section.chapter{background:var(--plate);max-width:none;border-top:1.5px solid var(--ink)!important;border-bottom:1.5px solid var(--ink);padding-left:max(var(--gutter),calc((100% - 1280px) / 2 + var(--gutter)));padding-right:max(var(--gutter),calc((100% - 1280px) / 2 + var(--gutter)))}section.chapter+section.block{border-top:0}@media (max-width: 720px){section.block{padding-top:28px;padding-bottom:28px}}.figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;border-top:1.5px solid var(--ink);padding-top:14px}.figs-r{display:flex;justify-content:flex-end;gap:28px}@media (max-width: 900px){.figs-r{justify-content:flex-start}}.fig{display:flex;flex-direction:column;gap:6px}.fig .v{font-family:var(--display);font-weight:700;font-size:34px;line-height:1;font-variant-numeric:tabular-nums;min-height:34px}.fig .v small{font-size:13px;color:var(--mist);font-weight:500}.fig .l{font-size:12px;color:var(--mist)}.reading{display:flex;flex-direction:column;gap:4px}.reading.sep{border-right:1px solid var(--rule);padding-right:24px}@media (max-width: 900px){.reading.sep{border-right:0;padding-right:0}}.reading .v{font-family:var(--display);font-weight:800;font-size:clamp(44px,6vw,72px);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.reading .v small{font-size:26px;color:var(--mist);font-weight:500}.reading .v .pill{font-size:12px;letter-spacing:0;white-space:normal;line-height:1.4}.pill{display:inline-block;font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:.02em;padding:3px 8px;border:1.5px solid var(--ink);color:var(--ink);line-height:1.3;white-space:nowrap}.pill.open{background:var(--ink);border-color:var(--ink);color:var(--paper)}.pill.sealed{border:1px dashed var(--sealed);color:var(--sealed);font-family:var(--mono);font-weight:400}.pill.scored{border-color:var(--tee-text);color:var(--tee-text)}.pill.pending{border-color:var(--sealed);color:var(--sealed)}.pill.uploaded{border-color:var(--mist);color:var(--mist)}.pill.failed{border-color:var(--fault);color:var(--fault)}.pill.champion{border-color:var(--accent-text);color:var(--accent-text)}.row,.row-head{display:grid;grid-template-columns:110px minmax(0,1fr) 200px 150px 150px 110px;column-gap:24px}.row{align-items:center;padding:18px 0;border-bottom:1px solid var(--rule);color:inherit;text-decoration:none;min-height:112px}.row:hover{text-decoration:none;background:var(--plate);box-shadow:inset 4px 0 var(--ink)}.row .n{font-family:var(--display);font-weight:800;font-size:54px;line-height:1;letter-spacing:-.03em}.row .t{display:flex;flex-direction:column;gap:2px;min-width:0}.row .t b{font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:-.01em}.row .r{text-align:right;font-family:var(--display);font-weight:700;font-size:26px;font-variant-numeric:tabular-nums}.row .r small{font-size:13px;color:var(--mist);font-weight:500}.row .r .ab{display:none}.row .r .sub{display:block;font-family:var(--body);font-size:12px;font-weight:400;color:var(--mist)}.row .state{text-align:right}.row-head{padding-bottom:8px;border-bottom:1.5px solid var(--ink);font-family:var(--mono);font-size:12px;color:var(--mist)}.row-head .right{text-align:right}@media (max-width: 900px){.row,.row-head{grid-template-columns:56px minmax(0,1fr);column-gap:14px;row-gap:8px}.row-head .right,.row-head .sig,.row-head .state{display:none}.row .n{font-size:40px;grid-row:1 / span 4;align-self:start}.row .t{grid-column:2}.row .t b{font-size:17px}.row .sig{display:none}.row .r{grid-column:2;text-align:left;font-size:20px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.row .r .ab{display:inline;font:500 12px var(--mono);color:var(--mist)}.row .r .sub{display:inline;margin-left:2px}.row-head{grid-template-columns:1fr}.row-head>*:not(:first-child){display:none}.row .state{grid-column:2;text-align:left}.pill{white-space:normal}}.scale{display:flex;flex-direction:column;gap:6px}.scale .head{display:flex;justify-content:space-between;gap:12px;font-size:13px;flex-wrap:wrap;margin-bottom:4px}@media (max-width: 720px){.scale .head{flex-direction:column;gap:2px}}.scale .track{position:relative;height:96px;border-bottom:1.5px solid var(--ink);margin-bottom:22px}.scale.b .track{border-bottom-color:var(--accent)}.scale .tick{position:absolute;bottom:0;width:1px;background:var(--ink)}.scale.b .tick{background:var(--accent)}.scale .tl{position:absolute;bottom:-20px;transform:translate(-50%);font-family:var(--mono);font-size:12px;color:var(--mist)}.scale .needle{position:absolute;bottom:0;transform:translate(-50%) translateY(6px);opacity:0;display:flex;flex-direction:column;align-items:center;transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1);text-decoration:none;color:var(--ink)}.scale .needle.on{opacity:1;transform:translate(-50%) translateY(0)}.scale .needle:hover{text-decoration:none}.scale .needle .v{font-family:var(--display);font-weight:700;font-size:20px;line-height:1;font-variant-numeric:tabular-nums}.scale .needle .id{font-family:var(--mono);font-size:12px;color:var(--mist);white-space:nowrap}.scale .needle.accent .v,.scale .needle.accent .id{color:var(--accent-text)}.scale .needle.accent .v{font-size:26px;font-weight:800}.scale .needle.muted .v{color:var(--mist)}.scale .band{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(135deg,var(--sealed-soft) 0 6px,transparent 6px 12px);display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--mono);font-size:12px;color:var(--sealed);text-align:center;padding:0 8px;transition:opacity .6s ease,transform .6s ease}.scale .band.lift{opacity:0;transform:translateY(-12px);pointer-events:none}.slope{display:block;width:100%;height:56px;margin:-8px 0 -4px}.slope line{stroke-dasharray:1200;stroke-dashoffset:1200}.slope.drawn line{animation:draw .6s ease-out forwards}@media (prefers-reduced-motion: reduce){.slope line{stroke-dasharray:none;stroke-dashoffset:0;animation:none}}@media (prefers-reduced-motion: reduce){.scale .needle,.scale .band{transition:none}.scale .needle{opacity:1;transform:translate(-50%)}}.plate{background:var(--plate);border:1.5px solid var(--ink)}.plate.accent{border-color:var(--accent)}.dots{display:grid;grid-template-columns:repeat(25,minmax(0,1fr));gap:3px}.dots i{display:block;aspect-ratio:1;border-radius:50%;background:var(--ink)}.dots i.neg{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ink)}.dots i.x{background:var(--accent)}.dots i.neg.x{background:transparent;box-shadow:inset 0 0 0 1.5px var(--accent)}.dots i.na{background:var(--rule)}.key i{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--ink);vertical-align:middle;margin:0 4px 0 8px}.key i:first-child{margin-left:0}.key i.neg{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ink)}.key i.x{background:var(--accent)}.spec{display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1.5px solid var(--ink);color:inherit;text-decoration:none}.spec.accent{border-top-color:var(--accent)}.spec:hover{text-decoration:none;background:var(--plate);box-shadow:0 0 0 10px var(--plate)}.spec .head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.spec .head b{font-family:var(--display);font-weight:800;font-size:26px;letter-spacing:-.02em}.spec.accent .head b{color:var(--accent-text)}.spec .body{display:grid;grid-template-columns:minmax(0,1fr) 170px;column-gap:16px;align-items:start}.spec.wide .body{grid-template-columns:minmax(0,1fr) 360px;column-gap:32px}@media (max-width: 600px){.spec .body,.spec.wide .body{grid-template-columns:1fr;row-gap:12px}}.forest{display:flex;flex-direction:column;gap:8px}.forest>div.mono,.forest>div.err{padding:8px 0}.forest svg{display:block;width:100%;height:auto}.forest path{fill:none;stroke-linecap:round}.forest.draw path{stroke-dasharray:600;stroke-dashoffset:600;animation:draw .7s ease-out forwards}@keyframes draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion: reduce){.forest.draw path{animation:none;stroke-dashoffset:0}}.forest g.tree{cursor:default}.forest g.tree[role=button]{cursor:pointer}.forest g.tree:hover path,.forest g.tree:focus-visible path,.forest g.tree.picked path{stroke:var(--accent)}.forest g.tree:focus-visible{outline:none}.forest .readout{min-height:1.5em}.forest g.tree rect{pointer-events:all}.stepper{display:flex;align-items:center}.stepper .line{flex:1;height:2px}.stepper .step{display:flex;flex-direction:column;align-items:center;gap:4px;width:90px}.stepper .dot{width:12px;height:12px;border-radius:50%}.kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;font-size:13px}.kv dt{color:var(--mist);font-family:var(--mono);font-size:12px}.kv dd{margin:0;min-width:0;word-break:break-word}pre{margin:0;background:var(--plate);border:1px solid var(--rule);padding:12px 14px;overflow:auto;font-family:var(--mono);font-size:12px;line-height:1.55;color:var(--ink)}.cmd{display:flex;flex-direction:column;align-items:flex-end;gap:0}.cmd button{font-family:var(--mono);font-size:12px;padding:3px 8px;border:1px solid var(--rule);border-bottom:0;background:var(--paper);color:var(--ink);cursor:pointer}.cmd pre{width:100%}.copy{width:26px;height:26px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin-left:8px}table{width:100%;border-collapse:collapse;font-size:15px}th,td{text-align:left;padding:10px 10px 10px 0;border-bottom:1px solid var(--rule);vertical-align:top}th{font-family:var(--mono);font-size:12px;font-weight:400;color:var(--mist);border-bottom:1.5px solid var(--ink)}td.num,th.num{text-align:right}.scrollx{overflow-x:auto}.flow{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline;font-size:13px;color:var(--ink-2)}.flow .arrow{color:var(--rule)}.flow-v{display:none;margin:0;padding:0;list-style:none;flex-direction:column;gap:8px}.flow-v li{font-family:var(--mono);font-size:12px;padding:8px 10px;border:1.5px solid var(--ink);background:var(--plate)}.flow-v li.sealed{border-style:dashed;border-color:var(--sealed)}.flow-v li.tee{border-color:var(--tee-text);border-width:2.5px;color:var(--tee-text)}.flow-v li.last{background:var(--accent-text);border-color:var(--accent-text);color:var(--paper)}details summary{cursor:pointer;font-family:var(--mono);font-size:12px;color:var(--mist)}details pre{margin-top:8px}footer{border-top:1.5px solid var(--ink)}footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-top:16px;padding-bottom:22px;font-size:12px;color:var(--mist)}.retry{margin-left:10px;font-family:var(--mono);font-size:12px;padding:4px 8px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);cursor:pointer}ul.plain{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:15px;color:var(--ink-2)}.seg{display:flex;flex-wrap:wrap;gap:6px}.seg button{font-family:var(--display);font-weight:500;font-size:13px;padding:7px 12px;border:1.5px solid var(--rule);background:var(--paper);color:var(--ink-2);cursor:pointer}.seg button.on{border-color:var(--ink);color:var(--ink);background:var(--plate);box-shadow:inset 0 -3px 0 var(--accent)}.seg button:hover{border-color:var(--ink)}.wallet-btn{font-family:var(--display);font-weight:700;font-size:13px;padding:8px 14px;border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer}.wallet-btn:disabled{opacity:.6;cursor:default}.wallet{display:inline-flex;align-items:center;gap:8px;font-size:12px}header .wallet-btn{margin-left:auto}header .wallet{margin-left:auto}header .wallet~.contract,header .wallet-btn~.contract{margin-left:0}.panel{border:1.5px solid var(--ink);padding:16px 18px;background:var(--paper)}.buy{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.buy input{width:110px;padding:7px 10px;border:1.5px solid var(--rule);background:var(--plate);color:var(--ink);font-size:14px}.buy input:focus{border-color:var(--ink);outline:none}.steps{counter-reset:s;display:flex;flex-direction:column;gap:0}.step{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:20px;padding:22px 0;border-top:1px solid var(--rule)}.step .num{font-family:var(--display);font-weight:800;font-size:40px;line-height:1;letter-spacing:-.03em;color:var(--mist)}.step h3{margin-bottom:8px}@media (max-width: 720px){.step{grid-template-columns:1fr;row-gap:8px}header .wallet-btn,header .wallet{margin-left:0}}header .brand .word,.brand-word{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.02em;color:var(--ink)}.landing .hero{padding-top:64px;padding-bottom:64px;align-items:center}.landing .hero h1{font-size:clamp(40px,4.9vw,72px);line-height:.96}.landing .lede{font-size:18px;line-height:1.55;max-width:560px}.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px}.wallet-btn.big{font-size:16px;padding:14px 22px}.wallet-btn:not(:disabled):hover{background:var(--accent-text);border-color:var(--accent-text)}.figs-5{grid-template-columns:repeat(5,minmax(0,1fr));row-gap:22px}@media (max-width: 900px){.figs-5{grid-template-columns:repeat(2,minmax(0,1fr))}}.steps4{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.steps4 li{display:flex;flex-direction:column;gap:10px;border-top:1.5px solid var(--ink);padding-top:14px}.steps4 li:last-child{border-top-color:var(--accent)}.steps4 .n{font-family:var(--display);font-weight:800;font-size:40px;line-height:1;letter-spacing:-.03em;color:var(--mist)}.steps4 li:last-child .n{color:var(--accent-text)}.steps4 p{font-size:14px}@media (max-width: 1100px){.steps4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.steps4{grid-template-columns:1fr}}section.chapter.final{margin-top:0}.restoring{min-height:60vh;display:flex;flex-direction:column;justify-content:center;gap:10px}@media (max-width: 720px){.landing .hero{padding-top:32px;padding-bottom:32px}.landing .lede{font-size:16px}header .brand .word{display:inline}}.ghost-btn{font-family:var(--display);font-weight:700;font-size:13px;padding:8px 14px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer}.ghost-btn.big{font-size:16px;padding:14px 22px}.ghost-btn:hover{background:var(--plate);box-shadow:inset 0 -3px 0 var(--accent)}
