.toolchain-root .tcr{padding:clamp(54px, 6.4vw, 82px) var(--tc-gut) clamp(56px, 6vw, 76px);position:relative;overflow:clip}.toolchain-root .tcr-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.45fr);align-items:start;gap:clamp(28px,4vw,56px);display:grid}@media (min-width:981px){.toolchain-root .tcr-copy{padding-top:clamp(20px,2.4vw,30px)}}.toolchain-root .tcr-copy h2{max-width:22ch;font-size:clamp(1.62rem,2.5vw,2.2rem)}.toolchain-root .tcr-sub{max-width:40ch;color:var(--tc-ink-2);margin-top:13px;font-size:15px;line-height:1.62}.toolchain-root .tcr-notes{gap:12px;margin:22px 0 0;padding:0;list-style:none;display:grid}.toolchain-root .tcr-notes li{color:var(--tc-ink-2);align-items:baseline;gap:12px;font-size:13.5px;line-height:1.55;display:flex}.toolchain-root .tcr-notes li:before{content:"—";font-family:var(--tc-mono);color:var(--tc-ink-4);flex:none;font-size:11px}.toolchain-root .tcr-mat{background:var(--tc-card);position:relative}.toolchain-root .tcr-mat:before,.toolchain-root .tcr-mat:after{content:"";z-index:1;pointer-events:none;position:absolute}.toolchain-root .tcr-mat:before{border-top:1px solid var(--tc-mat-edge);border-bottom:1px solid var(--tc-mat-edge);inset:0 -100vw}.toolchain-root .tcr-mat:after{border-left:1px solid var(--tc-mat-edge);border-right:1px solid var(--tc-mat-edge);inset:-100vh 0}.toolchain-root .tcr-ws{background:var(--tc-card);overflow:hidden}.toolchain-root .tcr-bar{border-bottom:1px solid var(--tc-hair-2);height:42px;font-family:var(--tc-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tc-ink-3);justify-content:space-between;align-items:center;gap:12px;padding:0 18px;font-size:11px;display:flex}.toolchain-root .tcr-bar>span:last-child{letter-spacing:.08em;color:var(--tc-ink-4)}.toolchain-root .tcr-cols{grid-template-columns:minmax(0,1fr) minmax(0,1.16fr);display:grid}.toolchain-root .tcr-lab{border-bottom:1px solid var(--tc-hair-2);font-family:var(--tc-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--tc-ink-3);padding:13px 18px 11px;font-size:11px;font-weight:500}.toolchain-root .tcr-cell{border-bottom:1px solid var(--tc-hair-2);font-family:var(--tc-mono);padding:14px 18px 15px;font-size:13px;line-height:1.65}.toolchain-root .tcr-cols>.tcr-cell:nth-last-child(-n+2){border-bottom:0}.toolchain-root .tcr-cell.is-s{color:var(--tc-ink-2)}.toolchain-root .tcr-cell.is-t,.toolchain-root .tcr-lab.is-t{border-left:1px solid var(--tc-hair-2)}.toolchain-root .tcr-cell.is-t{color:var(--tc-ink);flex-direction:column;display:flex}.toolchain-root .tcr-cell[data-state=revised] .tcr-text{font-weight:500}.toolchain-root .tcr-text{min-width:0;display:block;position:relative}.toolchain-root .tcr-ghost{visibility:hidden}.toolchain-root .tcr-live{position:absolute;inset:0}.toolchain-root .tcr-caret{vertical-align:-.12em;background:var(--tc-ink);opacity:0;width:6px;height:.95em;margin-left:2px;display:inline-block}.toolchain-root .tcr-prev{white-space:nowrap;text-overflow:ellipsis;max-width:100%;color:var(--tc-ink-4);margin-bottom:3px;font-size:11.5px;line-height:1.6;display:inline-block;position:relative;overflow:hidden}.toolchain-root .tcr-strike{background:var(--tc-ink-3);transform-origin:0;height:1px;position:absolute;top:calc(50% + 1px);left:0;right:0}.toolchain-root .tcr-stamp{font-family:var(--tc-mono);white-space:nowrap;align-self:flex-end;margin-top:8px;font-size:11px;line-height:1}.toolchain-root .tcr-stamp[data-kind=chip]{border:1px solid var(--tc-hair);color:var(--tc-ink-3);border-radius:4px;padding:4px 8px}.toolchain-root .tcr-stamp[data-kind=ok]{letter-spacing:.11em;text-transform:uppercase;color:var(--tc-ink-3);padding:5px 0 4px}.toolchain-root .tcr-foot{border-top:1px solid var(--tc-hair-2);font-family:var(--tc-mono);letter-spacing:.04em;color:var(--tc-ink-4);flex-wrap:wrap;align-items:center;gap:8px 20px;padding:11px 18px 12px;font-size:11px;display:flex}.toolchain-root .tcr-foot .is-right{color:var(--tc-ink-3);margin-left:auto}@media (max-width:980px){.toolchain-root .tcr-grid{grid-template-columns:minmax(0,1fr);gap:34px}}@media (max-width:640px){.toolchain-root .tcr-cols{grid-template-columns:minmax(0,1fr)}.toolchain-root .tcr-lab{display:none}.toolchain-root .tcr-cell.is-t{border-left:0}.toolchain-root .tcr-cell.is-s{color:var(--tc-ink-3);border-bottom:0;padding-bottom:0;font-size:11.5px}}@media (prefers-reduced-motion:reduce){.toolchain-root .tcr-caret{display:none}}.toolchain-root .tcr-doors .tcr-grid{align-items:stretch}.toolchain-root .tcr-doors .tcr-copy{flex-direction:column;display:flex}.toolchain-root .tcr-doors .tcr-copy>h2{margin-block:auto}.toolchain-root .tcr-rail{margin-top:auto;margin-bottom:12px;padding-top:28px}.toolchain-root .tcr-rail-row{align-items:stretch;gap:16px;display:flex}.toolchain-root .tcr-door{background:color-mix(in srgb, var(--tc-ink) 4%, transparent);border:1px solid var(--tc-hair-2);color:var(--tc-ink-3);cursor:pointer;letter-spacing:-.01em;white-space:nowrap;border-radius:8px;align-items:center;gap:7px;padding:9px 14px;font-size:12px;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex;position:relative}.toolchain-root .tcr-door:hover{color:var(--tc-ink)}.toolchain-root .tcr-door[data-on]{color:var(--tc-ink);border-color:var(--tcr-net-acc,var(--tc-accent));background:color-mix(in srgb, var(--tcr-net-acc,var(--tc-accent)) 10%, transparent)}.toolchain-root .tcr-door-ico{flex:none;width:12px;height:12px}.toolchain-root .tcr-rail-net{width:calc(100% + clamp(28px,4vw,56px));height:26px;display:block}.toolchain-root .tcr-net-ink{fill:none;stroke:var(--tc-hair);stroke-width:4px}.toolchain-root .tcr-net-ink.is-live{stroke:var(--tcr-net-acc,var(--tc-accent))}.toolchain-root .tcr-net-ink.is-live.is-draw{stroke-dasharray:100 100;stroke-dashoffset:100px;animation:.72s cubic-bezier(.3,0,.2,1) forwards tcr-net-draw}@keyframes tcr-net-draw{to{stroke-dashoffset:0}}.toolchain-root .tcr-net-core{fill:none;stroke:var(--tcr-net-core,var(--tc-card));stroke-width:2px}@media (prefers-reduced-motion:reduce){.toolchain-root .tcr-net-ink.is-live.is-draw{stroke-dasharray:none;stroke-dashoffset:0;animation:none}}.toolchain-root .tcr-ws-multi{position:relative}.toolchain-root .tcr-face.is-web{transition:opacity .26s}.toolchain-root .tcr-face.is-web:not([data-on]){opacity:0}.toolchain-root .tcr-face.is-api,.toolchain-root .tcr-face.is-cli{background:var(--tc-card);opacity:0;visibility:hidden;flex-direction:column;transition:opacity .26s,visibility 0s linear .26s;display:flex;position:absolute;inset:0}.toolchain-root .tcr-face.is-api[data-on],.toolchain-root .tcr-face.is-cli[data-on]{opacity:1;visibility:visible;transition:opacity .26s}.toolchain-root .tcr-code{min-height:0;font-family:var(--tc-mono);color:var(--tc-ink-2);flex:1;padding:14px 18px;font-size:12px;line-height:1.75;overflow:hidden}.toolchain-root .tcr-ln{white-space:pre-wrap;text-indent:-1.6em;padding-left:1.6em}.toolchain-root .tcr-ln.is-gap{height:.9em}.toolchain-root .tcr-ln.is-dim{color:var(--tc-ink-4)}.toolchain-root .tcr-ln .is-acc,.toolchain-root .tcr-ln.is-acc{color:var(--tc-accent);font-weight:600}.toolchain-root .tcr-ln.is-del{color:var(--tc-ink-4);text-decoration:line-through}.toolchain-root .tcr-ln.is-add,.toolchain-root .tcr-ln.is-ok,.toolchain-root .tcr-ln .is-ok{color:#16a34a}@media (max-width:980px){.toolchain-root .tcr-rail-net{width:100%}.toolchain-root .tcr-rail{margin-bottom:0}}@media (max-width:640px){.toolchain-root .tcr-door{padding:11px 15px;font-size:13px}}
