.toolchain-root .tce-hero{justify-content:center;padding-top:clamp(48px,6vw,84px);padding-bottom:clamp(44px,5.4vw,76px)}.toolchain-root .tce-hero h1{letter-spacing:-.034em;text-wrap:balance;max-width:18ch;font-size:clamp(1.9rem,3.6vw,2.85rem);line-height:1.05}.toolchain-root .tce-hero h1 span{display:block}.toolchain-root .tce-hero h1 em{background-image:linear-gradient(var(--thread-ink), var(--thread-ink)), linear-gradient(var(--thread-ink), var(--thread-ink));background-repeat:no-repeat;background-size:100% var(--thread-gauge), 100% var(--thread-gauge);background-position:0 calc(100% - var(--thread-gauge) - var(--thread-gap)), 0 100%;padding-bottom:.06em;font-style:normal}.toolchain-root .tce-hero p.tce-hero-sub{max-width:52ch;color:var(--tc-ink-2);margin-top:18px;font-size:15px;line-height:1.62}.toolchain-root .tce-hero-acts{flex-wrap:wrap;align-items:center;gap:10px;margin-top:26px;display:flex}.toolchain-root .tce-trust-lead{padding-top:22px}.toolchain-root .tce-ledger{flex-direction:column;flex:1;margin-top:16px;display:flex}.toolchain-root .tce-ledger-head{border-bottom:1px solid var(--tc-hair);font-family:var(--tc-mono);letter-spacing:.02em;color:var(--tc-ink-4);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:9px;font-size:11px;display:flex}.toolchain-root .tce-ledger-head a{color:var(--tc-ink-3);border-bottom:1px solid var(--tc-hair);padding-bottom:1px}.toolchain-root .tce-ledger-head a:hover{color:var(--tc-ink);border-color:var(--tc-ink-3)}.toolchain-root .tce-lrow{border-bottom:1px solid var(--tc-hair-2);flex:1;justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0;display:flex}.toolchain-root .tce-lrow:last-child{border-bottom:0}.toolchain-root .tce-lrow>span{font-family:var(--tc-mono);color:var(--tc-ink-3);white-space:nowrap;font-size:12px}.toolchain-root .tce-lrow>b{letter-spacing:-.008em;color:var(--tc-ink);text-align:right;font-size:13.5px;font-weight:500}.toolchain-root .tce-perm{flex-direction:column;flex:1;justify-content:flex-end;margin-top:16px;display:flex}.toolchain-root .tce-perm-row{border-top:1px solid var(--tc-hair-2);grid-template-columns:minmax(0,1fr) repeat(6,34px);align-items:center;padding:10px 0;display:grid}.toolchain-root .tce-perm-row.is-head{border-top:0;padding:0 0 8px}.toolchain-root .tce-perm-row.is-head .tce-perm-who{font-family:var(--tc-mono);color:var(--tc-ink-4);font-size:11px}.toolchain-root .tce-perm-loc{font-family:var(--tc-mono);text-align:center;color:var(--tc-ink-3);font-size:11.5px}.toolchain-root .tce-perm-who{align-items:baseline;gap:8px;min-width:0;display:flex}.toolchain-root .tce-perm-who b{font-family:var(--tc-mono);color:var(--tc-ink);font-size:12.5px;font-weight:500}.toolchain-root .tce-perm-who i{color:var(--tc-ink-3);white-space:nowrap;font-size:12px;font-style:normal}.toolchain-root .tce-perm-cell{justify-content:center;align-items:center;display:flex}.toolchain-root .tce-perm-dot{border:1px solid var(--tc-ink-4);border-radius:1.5px;width:9px;height:9px}.toolchain-root .tce-perm-dot.is-on{border-color:var(--tc-ink);background:var(--tc-ink)}.toolchain-root .tce-perm-dot.is-only{border-color:var(--tc-accent);background:var(--tc-accent)}.toolchain-root .tce-perm-keys{border-top:1px solid var(--tc-hair);margin-top:14px}.toolchain-root .tce-perm-key{border-bottom:1px solid var(--tc-hair-2);justify-content:space-between;align-items:baseline;gap:14px;padding:8px 0;display:flex}.toolchain-root .tce-perm-key:last-child{border-bottom:0}.toolchain-root .tce-perm-key code{font-family:var(--tc-mono);color:var(--tc-ink);font-size:12px}.toolchain-root .tce-perm-key span{color:var(--tc-ink-3);text-align:right;white-space:nowrap;font-size:12px}.toolchain-root .tce-group{flex-direction:column;flex:1;margin-top:16px;display:flex}.toolchain-root .tce-group-bar{border-bottom:1px solid var(--tc-hair);align-items:baseline;gap:10px;padding-bottom:10px;display:flex}.toolchain-root .tce-group-bar>b{font-family:var(--tc-mono);color:var(--tc-ink);font-size:13px;font-weight:500}.toolchain-root .tce-group-bar>span{color:var(--tc-ink-3);font-size:12px}.toolchain-root .tce-group-pri{font-family:var(--tc-mono);white-space:nowrap;margin-left:auto;font-size:11px}.toolchain-root .tce-group-sec{font-family:var(--tc-mono);letter-spacing:.02em;color:var(--tc-ink-4);padding:12px 0 4px;font-size:11px}.toolchain-root .tce-grow{border-bottom:1px solid var(--tc-hair-2);justify-content:space-between;align-items:baseline;gap:16px;padding:7px 0;display:flex}.toolchain-root .tce-grow>b{color:var(--tc-ink);white-space:nowrap;font-size:13.5px;font-weight:500}.toolchain-root .tce-grow>span{color:var(--tc-ink-2);text-align:right;font-size:13px}.toolchain-root .tce-grow>span i{color:var(--tc-ink);font-style:normal}.toolchain-root .tce-grow.is-dir{justify-content:flex-start}.toolchain-root .tce-grow.is-dir>span{text-align:left;color:var(--tc-ink)}.toolchain-root .tce-ba{flex-direction:column;flex:1;justify-content:center;margin-top:16px;display:flex}.toolchain-root .tce-ba-src{border-bottom:1px solid var(--tc-hair);color:var(--tc-ink-2);align-items:baseline;gap:10px;padding-bottom:12px;font-size:13.5px;display:flex}.toolchain-root .tce-ba-row{border-bottom:1px solid var(--tc-hair-2);padding:13px 0}.toolchain-root .tce-ba-tag{font-family:var(--tc-mono);letter-spacing:.02em;color:var(--tc-ink-4);align-items:baseline;gap:7px;margin-bottom:6px;font-size:11px;display:flex}.toolchain-root .tce-ba-row s{color:var(--tc-ink-3);font-size:14.5px;line-height:1.5;text-decoration-thickness:1px}.toolchain-root .tce-ba-row b{color:var(--tc-ink);font-size:14.5px;font-weight:500;line-height:1.5}.toolchain-root .tce-ba-note{font-family:var(--tc-mono);color:var(--tc-ink-3);margin-top:12px;font-size:11.5px;line-height:1.55}.toolchain-root .tce-gate{margin-top:22px;padding-top:96px;position:relative}.toolchain-root .tce-gate-thread{height:calc(var(--thread-gauge) * 2 + var(--thread-gap));border-top:var(--thread-gauge) solid var(--thread-ink);border-bottom:var(--thread-gauge) solid var(--thread-ink);pointer-events:none;position:absolute;top:44px}.toolchain-root .tce-gate-thread.is-l{width:36%;left:0}.toolchain-root .tce-gate-thread.is-m{border-top-style:dashed;border-bottom-style:dashed;width:28%;left:36%}.toolchain-root .tce-gate-thread.is-r{left:64%;right:0}.toolchain-root .tce-gate-box{border:var(--thread-gauge) solid var(--tc-ink);pointer-events:none;border-radius:2px;width:28%;height:70px;position:absolute;top:12px;left:36%}.toolchain-root .tce-gate-box:before{content:"";inset:var(--thread-gap);border:var(--thread-gauge) solid var(--tc-ink);border-radius:1px;position:absolute}.toolchain-root .tce-gate-box>span{text-align:center;font-family:var(--tc-mono);letter-spacing:.02em;color:var(--tc-ink-3);font-size:11px;position:absolute;top:7px;left:0;right:0}.toolchain-root .tce-gate-cols{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.toolchain-root .tce-gate-st{text-align:center;padding:0 8px;position:relative}.toolchain-root .tce-gate-st:before{content:"";border-inline:var(--thread-gauge) solid var(--tc-ink);width:6px;height:18px;position:absolute;top:-56px;left:calc(50% - 3px)}.toolchain-root .tce-gate-st:after{content:"";background:var(--tc-hair);width:1px;height:26px;position:absolute;top:-36px;left:50%}.toolchain-root .tce-gate-st b{font-family:var(--tc-mono);color:var(--tc-ink);font-size:12.5px;font-weight:500;display:block}.toolchain-root .tce-gate-st span{font-family:var(--tc-mono);color:var(--tc-ink-3);margin-top:5px;font-size:11.5px;line-height:1.5;display:block}.toolchain-root .tce-gate-st code{font-family:var(--tc-mono);color:var(--tc-ink-2)}.toolchain-root .tce-gate-locales{border-top:1px solid var(--tc-hair);margin-top:22px}.toolchain-root .tce-glo{border-bottom:1px solid var(--tc-hair-2);align-items:baseline;gap:14px;padding:9px 0;display:flex}.toolchain-root .tce-glo:last-child{border-bottom:0}.toolchain-root .tce-glo i{color:var(--tc-ink);font-size:13.5px;font-style:normal}.toolchain-root .tce-glo.is-held i{color:var(--tc-ink-3)}.toolchain-root .tce-glo>span:last-child{font-family:var(--tc-mono);white-space:nowrap;color:var(--tc-ink-3);margin-left:auto;font-size:11.5px}.toolchain-root .tce-glo:not(.is-held)>span:last-child{color:var(--tc-ink);font-weight:500}@media (max-width:680px){.toolchain-root .tce-gate{padding-top:0}.toolchain-root .tce-gate-thread,.toolchain-root .tce-gate-box{display:none}.toolchain-root .tce-gate-cols{grid-template-columns:minmax(0,1fr);gap:16px;padding-left:24px;position:relative}.toolchain-root .tce-gate-cols:before{content:"";width:calc(var(--thread-gauge) * 2 + var(--thread-gap));border-inline:var(--thread-gauge) solid var(--thread-ink);position:absolute;top:2px;bottom:2px;left:2px}.toolchain-root .tce-gate-st{text-align:left;padding:0}.toolchain-root .tce-gate-st:before,.toolchain-root .tce-gate-st:after{display:none}}.toolchain-root .tce-entry{flex-direction:column;flex:1;margin-top:16px;display:flex}.toolchain-root .tce-entry-bar{border-bottom:1px solid var(--tc-hair);font-family:var(--tc-mono);color:var(--tc-ink-3);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:9px;font-size:11.5px;display:flex}.toolchain-root .tce-entry-bar b{color:var(--tc-ink);font-size:12.5px;font-weight:500}.toolchain-root .tce-erow{border-bottom:1px solid var(--tc-hair-2);align-items:baseline;gap:12px;padding:9px 0;display:flex}.toolchain-root .tce-erow-loc{width:58px;font-family:var(--tc-mono);color:var(--tc-ink-4);flex:none;font-size:11.5px}.toolchain-root .tce-erow i{color:var(--tc-ink);font-size:13.5px;font-style:normal}.toolchain-root .tce-erow.is-src i{color:var(--tc-ink-2)}.toolchain-root .tce-labs{white-space:nowrap;gap:6px;margin-left:auto;display:flex}.toolchain-root .tce-lab{font-family:var(--tc-mono);border:1px solid var(--tc-hair);color:var(--tc-ink-3);border-radius:4px;padding:1px 6px 2px;font-size:11px}.toolchain-root .tce-lab.is-ok{border-color:var(--tc-ink-3);color:var(--tc-ink);font-weight:500}.toolchain-root .tce-enote{border-bottom:1px solid var(--tc-hair-2);color:var(--tc-ink-2);align-items:baseline;gap:12px;padding:8px 0;font-size:12.5px;display:flex}.toolchain-root .tce-enote>span{width:82px;font-family:var(--tc-mono);color:var(--tc-ink-4);flex:none;font-size:11px}.toolchain-root .tce-enote b{font-family:var(--tc-mono);color:var(--tc-ink);margin-left:auto;font-size:11.5px;font-weight:500}.toolchain-root .tce-efoot{font-family:var(--tc-mono);color:var(--tc-ink-4);justify-content:space-between;align-items:baseline;gap:12px;margin-top:auto;padding-top:10px;font-size:11px;display:flex}.toolchain-root .tce-code-foot{border-top:1px solid var(--tc-hair-2);font-family:var(--tc-mono);color:var(--tc-ink-4);justify-content:space-between;align-items:baseline;gap:12px;margin-top:10px;padding-top:10px;font-size:11.5px;display:flex}.toolchain-root .tce-code-foot code{font-family:var(--tc-mono);color:var(--tc-ink-2)}.toolchain-root .tc-cell.is-panel .tc-code{margin-top:16px}.toolchain-root .tce-pr{background:var(--tc-panel);border-radius:4px;margin-top:16px;overflow:hidden}.toolchain-root .tce-pr-bar{border-bottom:1px solid var(--tc-panel-rule);height:38px;font-family:var(--tc-mono);color:var(--tc-panel-dim);align-items:center;gap:10px;padding:0 16px;font-size:11.5px;display:flex}.toolchain-root .tce-pr-bar b{color:var(--tc-panel-ink);font-weight:500}.toolchain-root .tce-pr-bar>span{margin-left:auto}.toolchain-root .tce-pr-diff{font-family:var(--tc-mono);padding:12px 0;font-size:13px;line-height:1.85;overflow-x:auto}.toolchain-root .tce-pr-diff>div{white-space:pre;grid-template-columns:34px minmax(0,1fr);padding-right:16px;display:grid}.toolchain-root .tce-pr-diff i{text-align:center;color:var(--tc-panel-faint);-webkit-user-select:none;user-select:none;font-style:normal}.toolchain-root .tce-pr-diff code{font-family:var(--tc-mono);color:var(--tc-panel-dim)}.toolchain-root .tce-pr-diff .is-hunk code{color:var(--tc-panel-faint)}.toolchain-root .tce-pr-diff .is-del code{color:#ffffff61}.toolchain-root .tce-pr-diff .is-add code{color:var(--tc-panel-ink);font-weight:500}.toolchain-root .tce-pr-meta{border-top:1px solid var(--tc-panel-rule);padding:4px 16px 10px}.toolchain-root .tce-pr-meta>div{font-family:var(--tc-mono);color:var(--tc-panel-dim);justify-content:space-between;align-items:baseline;gap:14px;padding:7px 0 0;font-size:11.5px;display:flex}.toolchain-root .tce-pr-meta b{color:var(--tc-panel-ink);font-weight:500}.toolchain-root .tce-pr-meta span{align-items:center;gap:7px;display:inline-flex}.toolchain-root .tce-pr-agent{filter:invert();opacity:.8}.toolchain-root .tce-form{flex:1;margin-top:16px}.toolchain-root .tce-frow{border-bottom:1px solid var(--tc-hair-2);justify-content:space-between;align-items:baseline;gap:14px;padding:8px 0;display:flex}.toolchain-root .tce-frow>span{color:var(--tc-ink-2);white-space:nowrap;font-size:13px}.toolchain-root .tce-frow>b{font-family:var(--tc-mono);color:var(--tc-ink-2);text-align:right;font-size:12px;font-weight:400}.toolchain-root .tce-frow.is-guard>b{color:var(--tc-ink);font-weight:500}.toolchain-root .tce-tree{border-top:1px solid var(--tc-hair);margin-top:14px;padding-top:4px}.toolchain-root .tce-tree>div{justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;display:flex}.toolchain-root .tce-tree code{font-family:var(--tc-mono);color:var(--tc-ink-4);font-size:12px}.toolchain-root .tce-tree span{font-family:var(--tc-mono);color:var(--tc-ink-4);font-size:11px}.toolchain-root .tce-tree .is-target code,.toolchain-root .tce-tree .is-target span{color:var(--tc-ink);font-weight:500}.toolchain-root .tce-tri{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.toolchain-root .tce-tri>div{min-width:0;padding-right:clamp(14px,1.7vw,22px)}.toolchain-root .tce-tri>div+div{border-left:1px solid var(--tc-hair);padding-left:clamp(14px,1.7vw,22px)}.toolchain-root .tce-tri h3{letter-spacing:-.018em;font-size:1rem}.toolchain-root .tce-tri p{color:var(--tc-ink-2);margin-top:10px;font-size:13.5px;line-height:1.6}.toolchain-root .tce-tri-foot{border-top:1px solid var(--tc-hair);font-family:var(--tc-mono);color:var(--tc-ink-4);align-items:baseline;gap:14px;margin-top:20px;padding-top:12px;font-size:11.5px;display:flex}.toolchain-root .tce-tri-foot b{color:var(--tc-ink-2);font-weight:400}@media (max-width:860px){.toolchain-root .tce-tri{grid-template-columns:minmax(0,1fr);gap:16px}.toolchain-root .tce-tri>div{padding-right:0}.toolchain-root .tce-tri>div+div{border-left:0;border-top:1px solid var(--tc-hair);padding-top:16px;padding-left:0}}.toolchain-root .tce-vers{flex-direction:column;flex:1;margin-top:16px;padding-left:24px;display:flex;position:relative}.toolchain-root .tce-vers:before{content:"";border-inline:1px solid var(--tc-hair);pointer-events:none;width:5px;position:absolute;top:6px;bottom:6px;left:2px}.toolchain-root .tce-vrow{border-bottom:1px solid var(--tc-hair-2);align-items:baseline;gap:12px;padding:9px 0;display:flex}.toolchain-root .tce-vrow>b{width:44px;font-family:var(--tc-mono);color:var(--tc-ink-2);flex:none;font-size:12.5px;font-weight:400}.toolchain-root .tce-vrow.is-live>b{color:var(--tc-ink);font-weight:500}.toolchain-root .tce-vnote{min-width:0;color:var(--tc-ink-2);font-size:13px;line-height:1.5}.toolchain-root .tce-vrow.is-live .tce-vnote{color:var(--tc-ink)}.toolchain-root .tce-vstate{font-family:var(--tc-mono);white-space:nowrap;color:var(--tc-ink-4);margin-left:auto;font-size:11.5px}.toolchain-root .tce-vrow.is-live .tce-vstate{color:var(--tc-ink);font-weight:500}.toolchain-root .tce-vcmd{font-family:var(--tc-mono);color:var(--tc-ink-2);white-space:nowrap;margin-top:12px;font-size:11.5px;line-height:1.6;overflow-x:auto}.toolchain-root .tce-vcmd span{color:var(--tc-ink-4)}.toolchain-root .tce-vnote-foot{color:var(--tc-ink-3);margin-top:8px;font-size:12px;line-height:1.55}.toolchain-root .tce-night-sub{max-width:46ch;margin-top:11px;font-size:14px;line-height:1.62}.toolchain-root .tc-cell.is-night .tc-card>p.tce-night-sub{color:#fff9}.toolchain-root .tce-lat{flex-direction:column;flex:1;justify-content:flex-end;margin-top:16px;display:flex}.toolchain-root .tce-lat-head{border-bottom:1px solid var(--tc-panel-rule);font-family:var(--tc-mono);letter-spacing:.02em;color:var(--tc-panel-faint);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;font-size:11px;display:flex}.toolchain-root .tce-lrow-lat{border-bottom:1px solid var(--tc-panel-rule);grid-template-columns:44px minmax(0,1fr) 52px;align-items:center;gap:12px;padding:9px 0;display:grid}.toolchain-root .tce-lat-code{font-family:var(--tc-mono);color:var(--tc-panel-dim);font-size:12.5px}.toolchain-root .tce-lrow-lat.is-home .tce-lat-code{color:var(--tc-panel-ink);font-weight:500}.toolchain-root .tce-lat-bar{height:4px;display:block}.toolchain-root .tce-lat-bar i{background:#ffffff57;height:100%;display:block}.toolchain-root .tce-lrow-lat.is-home .tce-lat-bar i{background:#fff}.toolchain-root .tce-lrow-lat>b{font-family:var(--tc-mono);text-align:right;font-variant-numeric:tabular-nums;color:var(--tc-panel-dim);font-size:12.5px;font-weight:400}.toolchain-root .tce-lrow-lat.is-home>b{color:#fff;font-weight:500}.toolchain-root .tce-lat-foot{font-family:var(--tc-mono);color:var(--tc-panel-faint);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 14px;padding-top:10px;font-size:11px;display:flex}.toolchain-root.toolchain-root .tc-row.is-lead.tce-hero-row{background:0 0;position:relative;overflow:clip}.toolchain-root.toolchain-root .tc-cell.is-framed.tce-hero-frame{padding:clamp(26px, 3vw, 36px) var(--tc-gut) clamp(30px, 3.4vw, 40px) 0;background:0 0}.toolchain-root.toolchain-root .tc-cell.is-framed.tce-hero-frame>.tc-card{border-radius:0;position:relative}.toolchain-root.toolchain-root .tce-hero-frame>.tc-card:before,.toolchain-root.toolchain-root .tce-hero-frame>.tc-card:after{content:"";z-index:1;pointer-events:none;position:absolute}.toolchain-root.toolchain-root .tce-hero-frame>.tc-card:before{border-top:1px solid var(--tc-hair);border-bottom:1px solid var(--tc-hair);inset:0 -100vw}.toolchain-root.toolchain-root .tce-hero-frame>.tc-card:after{border-left:1px solid var(--tc-hair);border-right:1px solid var(--tc-hair);inset:-100vh 0}@media (max-width:1000px){.toolchain-root.toolchain-root .tc-cell.is-framed.tce-hero-frame{padding:0 var(--tc-gut) clamp(28px, 5vw, 40px)}.toolchain-root.toolchain-root .tc-cell.is-framed.tce-hero-frame>.tc-card{border:1px solid var(--tc-hair)}.toolchain-root.toolchain-root .tce-hero-frame>.tc-card:before,.toolchain-root.toolchain-root .tce-hero-frame>.tc-card:after{display:none}}@media (max-width:680px){.toolchain-root .tce-perm-row{grid-template-columns:minmax(0,1fr) repeat(6,24px)}.toolchain-root .tce-perm-who i{display:none}.toolchain-root .tce-labs{flex-wrap:wrap;justify-content:flex-end}.toolchain-root .tce-glo i{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}}
