:root{--bg: #f2f4f7;--surface: #ffffff;--sunk: #e8edf3;--fg: #17202b;--muted: #566273;--line: #d3dae3;--accent: #d96f0b;--accent-soft: #fbe7d2;--hook: #c02f58;--hook-soft: #f8dde5;--ok: #1d7f55;--eth: #3c6fd1;--ip: #7a4fc4;--l4: #138a8a;--pay: #b9770e;--v7: #2463b8;--v7-soft: #e2ecf9;--f-disp: "IBM Plex Sans Condensed", "Arial Narrow", system-ui, sans-serif;--f-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #0e1319;--surface: #151c24;--sunk: #111820;--fg: #e3e8ee;--muted: #8c99a9;--line: #26313e;--accent: #f29a3a;--accent-soft: #3a2714;--hook: #f06a8f;--hook-soft: #3a1a25;--ok: #4cc38a;--eth: #6f9bf0;--ip: #a988ec;--l4: #3cc2c2;--pay: #e0a440;--v7: #7fb0f5;--v7-soft: #16263b;color-scheme:dark}}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:15px;line-height:1.55}.wrap{max-width:1180px;margin:0 auto;padding-block:24px 48px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:18px}code{font-family:var(--f-mono);font-size:.92em}h1{font-family:var(--f-disp);font-weight:700;font-size:clamp(1.6rem,3.2vw,2.2rem);line-height:1.1;margin:0;text-wrap:balance;letter-spacing:-.01em}.lede{color:var(--muted);margin:6px 0 0;max-width:72ch}.eyebrow{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}a{color:inherit}.top{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;margin-bottom:6px}.seg.sm button{padding:3px 9px;font-size:.78rem;font-family:var(--f-mono)}.bar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:space-between}.group{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.seg{display:inline-flex;flex-wrap:wrap;background:var(--sunk);border:1px solid var(--line);border-radius:8px;padding:3px}.seg button{all:unset;cursor:pointer;padding:6px 12px;border-radius:6px;font-weight:500;font-size:.9rem;color:var(--muted)}.seg button:disabled{opacity:.35;cursor:not-allowed}.seg button[aria-pressed=true]{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px #0000001f}.seg button:focus-visible,.btn:focus-visible,.steps button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-weight:500;font-size:.9rem}.btn[disabled]{opacity:.4;cursor:default}.counter{font-family:var(--f-mono);font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums;min-width:5.5ch;text-align:center}.sources{color:var(--muted);margin:6px 0 0;max-width:72ch;font-size:.85rem}.lede a,.sources a,.fn a{color:inherit;text-decoration-color:var(--line);text-underline-offset:3px}.lede a:hover,.sources a:hover,.fn a:hover{text-decoration-color:currentColor}.map{overflow-x:auto}.map svg{display:block;font-family:var(--f-mono)}.map .row{stroke:var(--line);stroke-width:1}.map .bnd{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 4;opacity:.5}.map .rl{fill:var(--muted);font-size:12px;text-anchor:end}.map .rl.off{opacity:.4}.map .rest{fill:none;stroke:var(--line);stroke-width:2.5;stroke-linejoin:round}.map .untaken{fill:none;stroke:var(--line);stroke-width:1.5;stroke-dasharray:3 4;opacity:.5}.map .pt.gone{opacity:.25}.map .done{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round}.map .pt{cursor:pointer}.map .hit{fill:transparent}.map .halo{fill:var(--accent);opacity:.22}.map .pt.hook .halo{fill:var(--hook)}.map .pt:hover .hit{fill:var(--sunk)}.map .mk{fill:var(--surface);stroke:var(--muted);stroke-width:2}.map .pt.past .mk{fill:var(--accent);stroke:var(--accent)}.map .pt.cur .mk{fill:var(--accent);stroke:var(--surface);stroke-width:3}.map .pt.hook .mk{stroke:var(--hook)}.map .pt.hook.past .mk,.map .pt.hook.cur .mk{fill:var(--hook)}.map .hl{fill:var(--hook);font-size:11px;font-weight:600;text-anchor:middle}.map .v7dot{fill:var(--v7)}.main{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:18px;align-items:start}@media (max-width: 820px){.main{grid-template-columns:1fr}}.stack{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px}@media (min-width: 821px){.stack{position:sticky;top:12px}}.layer{position:relative;display:flex;flex-direction:column;gap:4px;padding:10px 12px 10px 14px;border-radius:8px;transition:background .3s,opacity .3s}.layer+.layer{margin-top:4px}.layer .name{font-family:var(--f-disp);font-weight:600;font-size:1.02rem;padding-right:64px}.layer .sub{font-size:.8rem;color:var(--muted);padding-right:64px}.layer.active{background:var(--accent-soft)}.layer.active .name{color:var(--accent)}.layer.kernel{border-left:3px solid var(--line)}.layer.active.kernel{border-left-color:var(--accent)}.layer.skip{opacity:.35}.queues{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px}.q{font-family:var(--f-mono);font-size:.7rem;padding:1px 6px;border-radius:4px;border:1px dashed var(--line);color:var(--muted)}.q.on{border-style:solid;border-color:var(--accent);color:var(--accent);background:var(--surface)}.boundary{display:flex;align-items:center;gap:8px;margin:6px 0;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.boundary:before,.boundary:after{content:"";flex:1;border-top:1px dashed var(--line)}.pkt{position:absolute;right:16px;top:0;transform:translateY(-50%);transition:top .55s cubic-bezier(.4,.1,.2,1);display:flex;align-items:center;gap:4px;pointer-events:none;z-index:2}.pkt .dot{width:46px;height:28px;border-radius:6px;background:var(--accent);color:#fff;font-family:var(--f-mono);font-size:.68rem;font-weight:600;display:grid;place-items:center;box-shadow:0 2px 8px #0000002e}.pkt .dir{font-size:1rem;color:var(--accent);font-weight:700}@media (prefers-reduced-motion: reduce){.pkt,.layer{transition:none}}.detail{display:flex;flex-direction:column;gap:14px;min-width:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;min-width:0}.fn{font-family:var(--f-mono);font-weight:600;font-size:1.05rem;color:var(--accent);word-break:break-word}.step-title{font-family:var(--f-disp);font-weight:600;font-size:1.35rem;margin:4px 0 8px;text-wrap:balance}.desc{max-width:68ch}.desc p{margin:0 0 8px}.desc code,.note code{background:var(--sunk);padding:0 4px;border-radius:4px}.note{margin-top:10px;padding:9px 12px;border-radius:8px;background:var(--sunk);font-size:.88rem;color:var(--muted)}.note b{color:var(--fg);font-weight:600}.note code{background:var(--bg)}.note.v7{background:var(--v7-soft);border-left:3px solid var(--v7);color:var(--fg)}.note.v7 b{color:var(--v7)}.note.v7.none{color:var(--muted);border-left-color:var(--line);background:var(--sunk)}.term{border-bottom:1px dotted currentColor;cursor:help;text-decoration:none}.term:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:2px}.tip{position:absolute;z-index:10;max-width:min(340px,calc(100vw - 16px));padding:9px 12px;border-radius:8px;background:var(--fg);color:var(--bg);font-size:.82rem;line-height:1.45;box-shadow:0 6px 20px #00000040}.tip b{font-family:var(--f-mono);font-weight:600;margin-right:2px}.tip a{color:inherit;font-weight:600;white-space:nowrap}.branches{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}.br-h{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.br-h span{text-transform:none;letter-spacing:0;font-family:var(--f-body);opacity:.8}.br-h span:before{content:"· "}.br-list{display:flex;flex-wrap:wrap;gap:6px}.br{all:unset;font-family:var(--f-mono);font-size:.78rem;padding:4px 9px;border-radius:6px;border:1px solid var(--line);color:var(--muted);cursor:pointer}.br:not([disabled]):hover{border-color:var(--muted);color:var(--fg)}.br:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.br[disabled]{cursor:default}.br.pick{border-color:var(--ok);color:var(--ok);font-weight:600}.cmds{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}.cmds ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.cmds li>span{display:block;font-size:.84rem;color:var(--muted);margin-top:2px}.cmd-line{display:flex;align-items:flex-start;gap:8px}.cmd-line code{flex:1;min-width:0;overflow-x:auto;white-space:pre;background:var(--sunk);padding:4px 8px;border-radius:6px;font-size:.82rem}.cmd-copy{all:unset;cursor:pointer;flex:none;font-size:.74rem;padding:4px 8px;border-radius:6px;border:1px solid var(--line);color:var(--muted)}.cmd-copy:hover{color:var(--fg);border-color:var(--muted)}.cmd-copy:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.path-next{color:var(--muted);font-size:.9rem}.path-next.stop{color:var(--fg);font-weight:600;padding:8px 12px;border-radius:8px;background:var(--hook-soft)}.br span{font-family:var(--f-body);font-weight:400}.card-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;flex-wrap:wrap}.card-h h2,.section-h{font-family:var(--f-disp);font-weight:600;font-size:1rem;margin:0}.section-h{margin-bottom:10px}.skb-wrap{overflow-x:auto}.skb,.ptr{display:grid;grid-template-columns:44px 1fr 1.1fr 1.1fr 1.6fr 36px;min-width:420px;font-family:var(--f-mono)}.skb{font-size:.78rem}.cell{height:40px;display:grid;place-items:center;border:1px solid var(--line);border-left:none;color:#fff;font-weight:600;transition:opacity .3s,background .3s}.cell:first-child{border-left:1px solid var(--line);border-radius:6px 0 0 6px}.cell:last-child{border-radius:0 6px 6px 0}.cell.room{background:var(--sunk);color:var(--muted);font-weight:400;font-size:.66rem}.cell.ETH{background:var(--eth)}.cell.IP{background:var(--ip)}.cell.L4{background:var(--l4)}.cell.PAY{background:var(--pay)}.cell.absent{background:var(--sunk);color:var(--muted);font-weight:400;border-style:dashed}.cell.stripped{opacity:.32;background-image:repeating-linear-gradient(135deg,transparent 0 5px,rgb(255 255 255 / .35) 5px 7px)}.ptr{height:22px;font-size:.72rem;color:var(--accent);font-weight:600}.ptr div{display:flex;align-items:flex-start;padding-left:2px}.ptr div.on:before{content:"▲ data"}.fields{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.fld{font-family:var(--f-mono);font-size:.74rem;padding:2px 8px;border-radius:5px;border:1px solid var(--line);color:var(--muted)}.fld.set{border-color:var(--fg);color:var(--fg)}.fld.set:after{content:" ✓";color:var(--ok)}.ubuf{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ubuf .blk{height:40px;min-width:180px;flex:0 1 260px;border-radius:6px;background:var(--pay);color:#fff;display:grid;place-items:center;font-family:var(--f-mono);font-size:.8rem;font-weight:600}.ubuf span{color:var(--muted);font-size:.85rem}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:.78rem;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}.legend .lg-absent{background:var(--sunk);border:1px dashed var(--muted)}.legend .lg-stripped{background:var(--muted);opacity:.35}.hooks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}@media (max-width: 560px){.hooks{grid-template-columns:repeat(2,minmax(0,1fr))}}.hk{border:1px solid var(--line);border-radius:7px;padding:6px 8px;font-size:.74rem;line-height:1.3;min-width:0}.hk b{display:block;font-family:var(--f-mono);font-size:.72rem;word-break:break-word}.hk span{color:var(--muted)}.hk.path{border-color:var(--muted)}.hk.off{opacity:.38}.hk.now{border-color:var(--hook);background:var(--hook-soft)}.hk.now b{color:var(--hook)}.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px;counter-reset:s}.steps li{counter-increment:s;min-width:0}.steps button{all:unset;cursor:pointer;display:flex;gap:8px;align-items:baseline;width:100%;box-sizing:border-box;padding:7px 10px;border-radius:7px;border:1px solid var(--line);background:var(--surface);font-size:.82rem}.steps button:before{content:counter(s,decimal-leading-zero);font-family:var(--f-mono);font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}.steps .f{font-family:var(--f-mono);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.steps button.cur{border-color:var(--accent);background:var(--accent-soft)}.steps button.done .f{color:var(--muted)}.steps button.gone{opacity:.35}.steps button.chg{border-left:3px solid var(--v7)}.foot{font-size:.8rem;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}.foot a{color:var(--muted)}html[lang=uk] .en,html:not([lang=uk]) .uk{display:none}.ex .card{display:flex;flex-direction:column;gap:10px}.ex .card-h{margin-bottom:0}.ex .eyebrow a{color:var(--accent);text-decoration:none}.ex-p{margin:0;max-width:80ch}.ex-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;max-width:80ch}.ex-list a,.ex-steps a,.ex-h a{color:var(--accent);font-size:.85rem;white-space:nowrap}.ex-steps{margin:0;font-size:.85rem;color:var(--muted)}.ex-h{font-family:var(--f-mono);font-size:.9rem;font-weight:600;margin:8px 0 0;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.ex p code,.ex li code{background:var(--sunk);padding:0 4px;border-radius:4px}.trace{margin:0;background:var(--sunk);border-radius:8px;padding:10px 12px;font-family:var(--f-mono);font-size:.78rem;line-height:1.5;overflow-x:auto;white-space:pre}.trace mark{background:var(--accent-soft);color:inherit;border-radius:3px}.trace .cmt{color:var(--muted)}.sources a.example-link{color:var(--accent);text-decoration-color:currentColor}.flow{display:flex;flex-direction:column;gap:2px}.flow-h,.flow-row{display:grid;grid-template-columns:28px 220px 1fr;gap:12px;align-items:center}.flow-h .ends{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:.72rem;color:var(--muted)}.flow-h b{font-weight:500}.flow-row{padding:6px 8px;margin:0 -8px;border-radius:8px;text-decoration:none;color:inherit}.flow-row:hover{background:var(--sunk)}.flow-row .n{font-family:var(--f-mono);font-weight:600;color:var(--accent);text-align:center}.flow-row .lane{position:relative;display:flex;flex-direction:column;gap:3px;padding:0 4px;border-left:2px solid var(--line);border-right:2px solid var(--line)}.flow-row em{font-style:normal;font-family:var(--f-mono);font-size:.75rem;text-align:center}.flow-row .what{font-size:.9rem}.arr{display:block;height:2px;background:var(--accent);position:relative}.arr.r:after,.arr.l:after{content:"";position:absolute;top:-4px;border:5px solid transparent}.arr.r:after{right:-2px;border-left:7px solid var(--accent);border-right:0}.arr.l:after{left:-2px;border-right:7px solid var(--accent);border-left:0}.arr.l{background:var(--v7)}.arr.l:after{border-right-color:var(--v7)}.arr.x{background:none;border-top:2px dashed var(--line);height:0}html{scroll-behavior:smooth}.ex section[id]{scroll-margin-top:12px}@media (max-width: 600px){.flow-h,.flow-row{grid-template-columns:28px 1fr;gap:2px 10px}.flow-h>span:last-child{display:none}.flow-row .what{grid-column:2;font-size:.85rem;color:var(--muted)}}.ex-table{overflow-x:auto}.ex-table table{border-collapse:collapse;width:100%;font-size:.85rem}.ex-table th{text-align:left;font-weight:600;color:var(--muted);font-size:.75rem;padding:4px 10px 6px 0;border-bottom:1px solid var(--line)}.ex-table td{padding:6px 10px 6px 0;border-bottom:1px solid var(--line);vertical-align:top}.ex-table td code{white-space:nowrap}.ex-table a{color:var(--accent);white-space:nowrap}.qa{display:flex;flex-direction:column;gap:6px;padding-top:12px;border-top:1px solid var(--line)}.faq .card>.section-h+.qa{border-top:0;padding-top:0}.qa h3{font-family:var(--f-disp);font-weight:600;font-size:1.02rem;line-height:1.3;margin:0}.faq .card>.section-h{font-family:var(--f-mono);font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0}.sources.links{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
