.post.c2a{--l-ue:var(--teal);--l-ru:var(--copper);--l-du:var(--cobalt);--l-cu:var(--ink-2);--l-core:var(--alarm);--l-ue-soft:var(--teal-soft);--l-ru-soft:var(--copper-soft);--l-du-soft:var(--cobalt-soft);--l-cu-soft:color-mix(in srgb,var(--l-cu) 12%,var(--bg));--l-core-soft:var(--alarm-soft)}.c2a .stack{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:20px 0 12px;display:grid}.c2a .stackcard{background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:0;padding:12px 14px}.c2a .stackcard h3{margin:0 0 8px;font-size:15px}.c2a .stackcard ul{color:var(--ink-2);margin:0;padding-left:16px;font-size:13.5px}.c2a .stackcard li{margin:.25em 0}.c2a #stack-figure{margin:20px 0 0}.c2a #stack-figure .fh .fig-link-line{stroke:var(--copper);stroke-width:2.5px}.c2a #stack-figure .fh-label{fill:var(--copper)}.c2a .links{color:var(--mute);font-size:12.5px;font-family:var(--font-mono),monospace;letter-spacing:.02em;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.c2a .links div{text-align:center;border-top:1px dashed var(--line);padding:6px 4px}.c2a .links div.fh{color:var(--l-ru);border-top-style:solid;border-top-color:var(--l-ru)}@media (max-width:860px){.c2a .stack,.c2a .links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.c2a .stack,.c2a .links{grid-template-columns:1fr}.c2a .links div{text-align:left}}.c2a .split{border-left:3px solid var(--line);background:var(--panel);border-radius:0 10px 10px 0;margin:0;padding:14px 18px}.c2a .split.s72{border-left-color:var(--l-ru)}.c2a .split.s8{border-left-color:var(--l-du)}.c2a .split p{margin:0 0 .6em}.c2a .split p:last-child{margin:0}.c2a .card .where{color:var(--mute);border-top:1px dashed var(--line);margin-top:auto;padding-top:8px;font-size:13px}.c2a .card .where b{color:var(--ink-2);font-weight:500}.c2a table td:first-child{white-space:nowrap;font-weight:600}.c2a table td.x,.c2a table th.x{background:var(--warn-soft)}.c2a table .na{color:var(--mute)}.c2a table{min-width:820px}.c2a .planes{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.c2a .plane{--mute:var(--color-grey-on-surface);background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--line);border-radius:10px;flex-direction:column;min-width:0;padding:12px 14px;font-size:14px;display:flex}.c2a .plane h3{margin:0;font-size:16px}.c2a .plane small{color:var(--mute);font-family:var(--font-mono),monospace;letter-spacing:.04em;margin:2px 0 8px;font-size:11.5px;display:block}.c2a .plane p{color:var(--ink-2);margin:0 0 10px;font-size:14px}.c2a .plane .eight{background:var(--color-ink);color:color-mix(in srgb,var(--color-white) 82%,transparent);border-radius:6px;margin-top:auto;padding:8px 10px;font-size:13.5px}.c2a .plane .eight b{color:var(--color-white);font-weight:600}.c2a .plane .eight code{background:color-mix(in srgb,var(--color-white) 10%,transparent);color:var(--color-white);border-color:#0000}.c2a .plane.pU{border-top-color:var(--l-ue)}.c2a .plane.pC{border-top-color:var(--l-ru)}.c2a .plane.pS{border-top-color:var(--l-du)}.c2a .plane.pM{border-top-color:var(--l-cu)}@media (max-width:860px){.c2a .planes{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.c2a .planes{grid-template-columns:1fr}}.c2a .arch{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0;display:grid}.c2a .col{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card);min-width:0;padding:16px}.c2a .col h3{margin:0 0 12px;font-size:18px}.c2a .tier{border:1px solid var(--line);border-left:3px solid var(--line);border-radius:8px;margin:0;padding:8px 12px;font-size:13.5px}.c2a .tier h4{font-size:14px;font-family:var(--font-heading),var(--font-text),sans-serif;margin:0 0 4px;font-weight:600}.c2a .tier ul{color:var(--ink-2);margin:0;padding-left:16px}.c2a .tier li{margin:.2em 0}.c2a .tier.core{border-left-color:var(--l-core)}.c2a .tier.cu{border-left-color:var(--l-cu)}.c2a .tier.du{border-left-color:var(--l-du)}.c2a .tier.ru{border-left-color:var(--l-ru)}.c2a .tier.ue{border-left-color:var(--l-ue)}.c2a .link{color:var(--ink-2);border-left:2px solid var(--line);margin:0 0 0 22px;padding:6px 10px 6px 14px;font-size:12.5px;line-height:1.5;position:relative}.c2a .link:before{content:"";background:var(--mute);width:16px;height:16px;position:absolute;top:6px;left:-9px;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M4 6l4 4 4-4'/></svg>") 50%/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M4 6l4 4 4-4'/></svg>") 50%/contain no-repeat}.c2a .link b{color:var(--ink);font-size:13px;display:block}.c2a .link.fh{border-left-color:var(--l-ru);background:var(--warn-soft);border-radius:0 8px 8px 0;padding-top:8px;padding-bottom:8px}.c2a .link.fh:before{background:var(--l-ru)}.c2a .ptag{font-family:var(--font-mono),monospace;text-align:center;width:20px;color:var(--bg-2);vertical-align:middle;border-radius:4px;margin-right:6px;padding:1px 0;font-size:11px;font-weight:600;display:inline-block}.c2a .ptag.tU{background:var(--l-ue)}.c2a .ptag.tC{background:var(--l-ru)}.c2a .ptag.tS{background:var(--l-du)}.c2a .ptag.tM{background:var(--l-cu)}@media (max-width:860px){.c2a .arch{grid-template-columns:1fr}}.c2a .fig--ink{--cobalt:var(--cobalt-on-ink);--teal:var(--teal-on-ink);--copper:var(--copper-on-ink);--alarm:var(--alarm-on-ink);--ink:var(--color-white);--ink-2:color-mix(in srgb,var(--color-white) 78%,transparent);--mute:var(--color-grey-on-ink);--line:color-mix(in srgb,var(--color-white) 14%,transparent);--bg:var(--color-ink);--bg-2:color-mix(in srgb,var(--color-white) 7%,var(--color-ink));--panel:var(--bg-2);--code-bg:color-mix(in srgb,var(--color-white) 4%,var(--color-ink));--l-ue:var(--teal);--l-ru:var(--copper);--l-du:var(--cobalt);--l-cu:var(--ink-2);--l-core:var(--alarm);--warn:var(--copper);--warn-soft:color-mix(in srgb,var(--copper) 14%,transparent);--alarm-soft:color-mix(in srgb,var(--alarm) 14%,transparent)}.c2a .stepper{margin:0}.c2a .controls{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px;display:flex}.c2a .controls .pos{font-family:var(--font-mono),monospace;color:var(--mute);letter-spacing:.04em;margin-left:4px;font-size:12px}.c2a .seg{border:1px solid var(--line);border-radius:var(--radius-button);background:var(--bg-2);display:inline-flex;overflow:hidden}.c2a .seg button{font-family:var(--font-heading),var(--font-text),sans-serif;color:var(--ink-2);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);background:0 0;border:0;padding:9px 14px;font-size:14px;font-weight:600}.c2a .seg button+button{border-left:1px solid var(--line)}.c2a .seg button.on{background:var(--cobalt);color:var(--color-ink)}.c2a .flowgrid{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);align-items:start;gap:20px;display:grid}.c2a .stagewrap{min-width:0}.c2a .stagescroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.c2a .chips{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:10px;display:grid}.c2a .lanechips{text-align:center;min-width:0;min-height:52px}.c2a .lanelabel{display:none}.c2a .chip{font-family:var(--font-mono),monospace;letter-spacing:.02em;color:var(--ink-2);border:1px solid var(--line);transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out);background:0 0;border-radius:999px;margin:2px 2px 2px 0;padding:2px 8px;font-size:11px;display:inline-block}.c2a .chip.hot{background:var(--warn-soft);border-color:var(--copper);color:var(--ink)}.c2a svg.stage{width:100%;height:auto;color:var(--ink);display:block}@media (max-width:760px){.c2a svg.stage{min-width:780px}}.c2a .lanes line{stroke:var(--line);stroke-width:1.5px;stroke-dasharray:2 6}.c2a .msg line,.c2a .msg path{stroke-width:2.2px}.c2a .msg .head{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.c2a .msg text{fill:var(--ink);font-size:14px}.c2a .msg.air line,.c2a .msg.air path,.c2a .msg.air .head{stroke:var(--l-ue);color:var(--l-ue)}.c2a .msg.fh line,.c2a .msg.fh path,.c2a .msg.fh .head{stroke:var(--l-ru);color:var(--l-ru)}.c2a .msg.f1 line,.c2a .msg.f1 path,.c2a .msg.f1 .head{stroke:var(--l-du);color:var(--l-du)}.c2a .msg.ng line,.c2a .msg.ng path,.c2a .msg.ng .head{stroke:var(--l-core);color:var(--l-core)}.c2a .msg.int rect{fill:var(--code-bg);stroke:var(--line);stroke-dasharray:4 3}.c2a .narr h3{color:var(--ink);margin:0 0 6px;font-size:17px}.c2a .narr .stepno{font-family:var(--font-mono),monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--cobalt);margin-bottom:4px;font-size:11.5px}.c2a .narr p{color:var(--ink-2);margin:0 0 10px;font-size:14.5px}.c2a .narr .diff{background:var(--warn-soft);border-left:3px solid var(--l-ru);color:var(--ink-2);border-radius:0 6px 6px 0;margin-bottom:8px;padding:8px 10px;font-size:14px}.c2a .narr .coreview{background:var(--alarm-soft);border-left:3px solid var(--l-core);color:var(--ink-2);border-radius:0 6px 6px 0;padding:8px 10px;font-size:14px}.c2a ol.steplist{counter-reset:st;border-top:1px solid var(--line);margin:14px 0 0;padding:8px 0 0;list-style:none}.c2a ol.steplist li{counter-increment:st;margin:0}.c2a ol.steplist button{font:inherit;text-align:left;width:100%;color:var(--ink-2);cursor:pointer;transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out);background:0 0;border:0;border-radius:6px;gap:8px;padding:4px 6px 4px 0;font-size:13.5px;line-height:1.35;display:flex}.c2a ol.steplist button:before{content:counter(st);font-family:var(--font-mono),monospace;color:var(--mute);min-width:1.4em;padding-top:2px;font-size:11.5px}.c2a ol.steplist button:hover{color:var(--ink);background:var(--code-bg)}.c2a ol.steplist button.on{color:var(--cobalt);font-weight:600}@media (max-width:900px){.c2a .flowgrid{grid-template-columns:1fr}}@media (max-width:640px){.c2a .chips{grid-template-columns:1fr;gap:4px}.c2a .lanechips{text-align:left;flex-wrap:wrap;align-items:center;gap:2px;min-height:0;display:flex}.c2a .lanelabel{font-family:var(--font-mono),monospace;letter-spacing:.06em;color:var(--mute);min-width:2.6em;font-size:11px;display:inline-block}}.c2a .driverchain{margin:0}.c2a .chain{margin:4px 0 14px}.c2a .chain svg{width:100%;height:auto;display:block}.c2a .chain--narrow{max-width:360px;display:none}@media (max-width:899px){.c2a .chain--wide{display:none}.c2a .chain--narrow{display:block}}.c2a .driverchain .mini{color:var(--ink-2);margin:0}.c2a .fig svg .c2-comet{--c2-tone:var(--accent)}.c2a .fig svg .c2-comet--teal{--c2-tone:var(--teal)}.c2a .fig svg .c2-comet--copper{--c2-tone:var(--copper)}.c2a .fig svg .c2-comet--cobalt{--c2-tone:var(--cobalt)}.c2a .fig svg .c2-comet--quiet{--c2-tone:var(--fig-text)}.c2a .fig svg .c2-comet-tail{fill:none;stroke-width:2px;stroke-linecap:round}.c2a .fig svg .c2-comet-glow{fill:var(--c2-tone);opacity:.18}.c2a .fig svg .c2-comet-head{fill:var(--c2-tone)}.c2a .fig svg .c2-tail-stop--accent{stop-color:var(--accent)}.c2a .fig svg .c2-tail-stop--teal{stop-color:var(--teal)}.c2a .fig svg .c2-tail-stop--copper{stop-color:var(--copper)}.c2a .fig svg .c2-tail-stop--cobalt{stop-color:var(--cobalt)}.c2a .fig svg .c2-heat{fill:none;stroke:var(--accent);stroke-width:2px;opacity:0}.c2a .fig svg .c2-lit{fill:var(--fig-text)}.c2a .fig svg .c2-flag-plate{fill:var(--fig-bg);stroke:var(--fig-edge);stroke-width:1px}.c2a .fig svg .c2-flag--copper .c2-flag-plate{stroke:var(--copper)}.c2a .fig svg .c2-flag--copper .c2-flag-text{fill:var(--copper)}.c2a .fig svg .c2-dot{fill:var(--accent)}.c2a .fig svg .c2-dot--u{fill:var(--teal)}.c2a .fig svg .c2-dot--c{fill:var(--copper)}.c2a .fig svg .c2-dot--s{fill:var(--cobalt)}.c2a .fig svg .c2-dot--m{fill:var(--fig-text)}.c2a .fig svg .c2-still{display:none}.c2a .fig svg .c2-fh{stroke:var(--copper);stroke-width:2.5px}.c2a .fig svg .c2-room{fill:none;stroke:var(--fig-edge);stroke-width:1px;stroke-dasharray:5 4}.c2a .fig svg .c2-cut{fill:none;stroke:var(--cobalt);stroke-width:2px;stroke-dasharray:6 5}.c2a .fig svg .c2-cut-hot{fill:none;stroke:var(--cobalt);stroke-width:3px;stroke-linecap:round}.c2a .fig svg .c2-plate{fill:var(--fig-bg);stroke:var(--cobalt);stroke-width:1px}.c2a .fig svg .c2-cutlabel{fill:var(--cobalt)}.c2a .fig svg .c2-colhead{fill:var(--fig-text)}.c2a .fig svg .c2-band{fill:color-mix(in srgb,var(--copper) 8%,transparent);stroke:color-mix(in srgb,var(--copper) 45%,transparent);stroke-width:1px}.c2a .fig svg .c2-tag--u{fill:var(--teal)}.c2a .fig svg .c2-tag--c{fill:var(--copper)}.c2a .fig svg .c2-tag--s{fill:var(--cobalt)}.c2a .fig svg .c2-tag--m{fill:var(--l-cu)}.c2a .fig svg .c2-tag-text{fill:var(--color-ink);font-family:var(--font-mono),ui-monospace,Menlo,monospace;font-size:11px;font-weight:700}.c2a .fig svg .c2-slot .fig-node-box{stroke:var(--copper);stroke-width:2px}.c2a .stepper .fig-node--hot .fig-node-box{stroke:var(--cobalt);stroke-width:1.5px}.c2a .fig svg .c2-draw{stroke-dasharray:1;stroke-dashoffset:0}.c2a .fig[data-pre] .c2-draw{stroke-dashoffset:1px}.c2a .fig[data-pre] .c2-rise{transform:translateY(8px)}.c2a .fig[data-in] .c2-draw{animation:c2-draw var(--dur-slow) var(--ease-out) var(--d,0s) both}.c2a .fig[data-in] .c2-rise{animation:c2-rise var(--dur-slow) var(--ease-out) var(--d,0s) both}@keyframes c2-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes c2-rise{0%{transform:translateY(8px)}to{transform:none}}.c2a .fig svg .c2-hop{stroke-dasharray:1;stroke-dashoffset:0;animation-name:c2-draw;animation-duration:.84s;animation-timing-function:cubic-bezier(.45,0,.55,1);animation-delay:var(--d,0s);animation-fill-mode:both}.c2a .fig svg .c2-hop-head{animation-name:c2-land;animation-duration:.84s;animation-timing-function:linear;animation-delay:var(--d,0s);animation-fill-mode:both}@keyframes c2-land{0%,96%{opacity:0}to{opacity:1}}.c2a ol.steplist button.on.c2-m{animation-name:c2-steplit;animation-duration:1.2s;animation-timing-function:var(--ease-out)}@keyframes c2-steplit{0%{background:color-mix(in srgb,var(--cobalt) 28%,transparent)}to{background:0 0}}.c2a .fig[data-still] .c2-m{animation-play-state:paused}.c2a .dc-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.c2a .dc-notes .mini{border-left:3px solid var(--line);transition:border-color var(--dur-base) var(--ease-out);padding:2px 0 2px 12px}.c2a .dc-notes .mini.on{border-left-color:var(--cobalt)}.c2a .dc-notes b{color:var(--ink);font-weight:600}@media (max-width:899px){.c2a .dc-notes{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.c2a .fig svg .c2-anim{display:none}.c2a .fig svg .c2-still{opacity:1;display:inline}.c2a .fig svg .c2-hop,.c2a .fig svg .c2-hop-head,.c2a ol.steplist button.on.c2-m,.c2a .fig[data-in] .c2-draw,.c2a .fig[data-in] .c2-rise{animation:none}.c2a .fig svg .c2-hop-head{opacity:1}.c2a .dc-notes .mini{transition:none}}.c2a .c2-split svg{width:100%;height:auto;margin:0 auto;display:block}.c2a .c2-split--wide svg{max-width:640px}.c2a .c2-split--narrow{display:none}.c2a .c2-split--narrow svg{max-width:420px}@media (max-width:640px){.c2a .c2-split--wide{display:none}.c2a .c2-split--narrow{display:block}}.c2a .fig svg .c2-legend-plate{fill:var(--fig-bg)}
