.rp{background:var(--panel);border:1px solid var(--line);border-radius:10px;gap:14px;min-width:0;padding:16px;display:grid}.rp h3{font-size:17px}.rp [tabindex="-1"]:focus{outline:none}.rp p{max-width:none;font-size:14.5px}.rp-rail{flex-wrap:wrap;gap:6px;max-width:none;margin:0;padding:0;list-style:none;display:flex}.rp-rail button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:5px;align-items:baseline;gap:7px;padding:8px 11px;font:500 13px/1 IBM Plex Sans,sans-serif;display:flex}.rp-rail button span{color:var(--accent);font:500 10.5px IBM Plex Mono,monospace}.rp-rail button[aria-selected=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--ink)}.rp-stage{gap:10px;min-width:0;display:grid}.rp-stage[hidden],.rp [hidden]{display:none}.rp-cols{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.rp-cols>div{gap:8px;min-width:0;display:grid}@media (width<=760px){.rp-cols{grid-template-columns:minmax(0,1fr)}}.rp-k{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font:500 11.5px/1.4 IBM Plex Mono,monospace!important}.rp-k code{text-transform:none;letter-spacing:0}.rp-k.bad{color:var(--warn)}.rp-k.good{color:var(--accent)}.rp pre{background:var(--panel2);border:1px solid var(--line-soft);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;margin:0;padding:10px 12px;font:400 12.5px/1.55 IBM Plex Mono,monospace}.rp pre.rp-diff,.rp pre.rp-msg{max-height:420px;overflow:auto}.rp-why{color:var(--ink);font-weight:600}.rp pre.bad{border-color:var(--warn);background:var(--warn-soft)}.rp pre.good{border-color:var(--accent);background:var(--accent-soft)}.rp pre.rp-msg{font-family:IBM Plex Sans,sans-serif;font-size:13.5px}.rp-picks{flex-wrap:wrap;gap:8px;display:flex}.rp-picks button,.rp-nav button{cursor:pointer;border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:5px;padding:9px 13px;font:500 13.5px/1.2 IBM Plex Sans,sans-serif}.rp-picks button[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.rp button.ok{background:var(--c-accent);color:var(--c-on-accent);border-color:var(--c-accent)}.rp-nav button:disabled,.rp [data-live-try]:disabled{opacity:.45;cursor:not-allowed}.rp-out,.rp-out>div{gap:8px;min-width:0;display:grid}.rp-hint{color:var(--muted)}.rp-ev{color:var(--muted);font-size:13.5px!important}.rp-end{gap:10px;min-width:0;display:none}.rp[data-ending=approve] .rp-end[data-end=approve],.rp[data-ending=request_changes] .rp-end[data-end=request_changes]{display:grid}.rp:not([data-ending=""]) .rp-need{display:none}.rp-table{border:1px solid var(--line-soft);border-radius:6px;font-size:13.5px;display:grid;overflow:hidden}.rp-table [role=row]{border-top:1px solid var(--line-soft);grid-template-columns:minmax(0,1.2fr) minmax(0,1.3fr) minmax(0,.9fr);gap:10px;padding:8px 12px;display:grid}.rp-table [role=row]:first-child{border-top:0}.rp-table [role=cell]{overflow-wrap:anywhere}.rp-table [role=cell]:first-child,.rp-table [role=cell]:nth-child(2){overflow-wrap:normal}.rp-table .skip{color:var(--muted)}.rp-nav{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.rp-pos{color:var(--muted);font:500 12px IBM Plex Mono,monospace}.rp-foot{color:var(--muted);font-size:12.5px!important}.rp[data-mode=live] [data-rec],.rp:not([data-mode=live]) [data-live],.rp[data-live-state=A] [data-in]:not([data-in~=A]),.rp[data-live-state=B] [data-in]:not([data-in~=B]),.rp[data-live-state=C] [data-in]:not([data-in~=C]),.rp[data-live-state=D] [data-in]:not([data-in~=D]),.rp[data-live-state=E] [data-in]:not([data-in~=E]),.rp[data-mode=live]:not([data-live-state=A]):not([data-live-state=B]) .rp-need{display:none!important}.rp-live-mark{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;display:flex}.rp .rp-live-mark p{color:var(--accent);font:500 12px/1.4 IBM Plex Mono,monospace}.rp-end-live{gap:10px;min-width:0;display:grid}.rp-group,.rp-form{gap:8px;min-width:0;display:grid}.rp-form select,.rp-form textarea{color:var(--ink);background:var(--panel2);border:1px solid var(--line-soft);box-sizing:border-box;border-radius:6px;width:100%;min-width:0;padding:8px 10px;font:400 12.5px/1.55 IBM Plex Mono,monospace}.rp-form textarea{resize:vertical}.rp details summary{cursor:pointer;color:var(--muted);font:500 12px IBM Plex Mono,monospace}.rp details>pre{margin-top:6px}.rp-foot-live,.rp .rp-foot-live p,.rp-foot-live li,.rp-foot-live summary{color:var(--muted);font-size:12.5px!important}.rp-foot-live{gap:6px;display:grid}.rp-foot-live ul{gap:3px;margin:6px 0 0;padding-left:18px;display:grid}:root{--edge:var(--c-line);--edge-soft:var(--c-line-soft);--dim:var(--c-muted);--cy:var(--c-accent);--cy-dim:var(--c-accent);--term:#0b1320}.spine{max-width:66ch}section>div:has(>.eyebrow){gap:8px;display:grid}section{gap:16px}h1 em{color:var(--accent);font-style:normal}header.hero h1{letter-spacing:-.015em;font-size:clamp(30px,5.2vw,44px);line-height:1.12}.thesis{color:var(--muted);font-size:17px;font-style:italic}.cta{flex-wrap:wrap;gap:12px;padding-top:6px;display:flex}.btn{border-radius:5px;padding:11px 20px;font:500 14.5px/1 IBM Plex Sans,sans-serif;text-decoration:none;display:inline-block}.btn-1{background:var(--c-accent);color:var(--c-on-accent)}.btn-2{border:1px solid var(--edge);color:var(--ink)}.svgbox{background:var(--panel);border:1px solid var(--line);border-radius:10px;width:100%;padding:16px}@media (width<=720px){.svgbox{padding:8px}}.svgbox{container-type:inline-size}svg.loop{width:100%;height:auto;display:block}svg.loop-narrow{max-width:460px;margin-inline:auto;display:none}@container (width<=899px){svg.loop-wide{display:none}svg.loop-narrow{display:block}}svg.loop-wide{max-width:980px;margin-inline:auto}svg.loop .n-t{fill:var(--ink);font:600 14px IBM Plex Sans,sans-serif}svg.loop .n-s{letter-spacing:0;fill:var(--muted);font:400 12px IBM Plex Sans,sans-serif}svg.loop .w-lab{fill:var(--muted);font:400 11.5px IBM Plex Sans,sans-serif}svg.loop .w-lab-warn{fill:var(--warn);font:400 11.5px IBM Plex Sans,sans-serif}svg.loop .step-n{letter-spacing:.08em;fill:var(--accent);font:500 10.5px IBM Plex Mono,monospace}svg.loop .gate{fill:var(--ink);font:600 13px IBM Plex Sans,sans-serif}svg.loop .gate-s{fill:var(--muted);font:400 12px IBM Plex Sans,sans-serif}svg.loop-narrow .n-t{font-size:13px}.n-box{fill:var(--panel);stroke:var(--muted);stroke-width:1.2px}.n-box-hi{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.8px}.n-t{fill:var(--ink);font:600 15px IBM Plex Sans,sans-serif}.n-s{fill:var(--dim);letter-spacing:.08em;font:500 10.5px IBM Plex Mono,monospace}.wire{stroke:var(--cy-dim);stroke-width:1.6px;fill:none}.wire-warn{stroke:var(--warn);stroke-width:1.6px;fill:none;stroke-dasharray:5 4}.w-lab{fill:var(--cy);font:500 11px IBM Plex Mono,monospace}.w-lab-warn{fill:var(--warn);font:500 11px IBM Plex Mono,monospace}.step-n{fill:var(--cy);letter-spacing:.12em;font:500 10px IBM Plex Mono,monospace}.gate{fill:var(--ink);font:600 13px IBM Plex Sans,sans-serif}.gate-s{fill:var(--body);font:400 11.5px IBM Plex Sans,sans-serif}.caps{grid-template-columns:repeat(auto-fit,minmax(212px,1fr));gap:26px;display:grid}.cap{align-items:flex-start;gap:13px;display:flex}.cap svg{width:25px;height:25px;stroke:var(--cy);fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;margin-top:2px}.cap p{color:var(--dim);margin-top:4px;font-size:13px;line-height:1.5}.term{background:var(--term);border:1px solid var(--edge-soft);border-radius:8px;margin:0;padding:22px 24px;overflow-x:auto}.term code{color:#cfe6f5;white-space:pre;background:0 0;border-radius:0;padding:0;font:400 14px/1.85 IBM Plex Mono,monospace;display:block}.termwrap{position:relative}.copy{cursor:pointer;color:#cfe6f5;opacity:0;background:#0b1320d9;border:1px solid #cfe6f547;border-radius:6px;place-items:center;width:34px;height:34px;transition:opacity .15s;display:grid;position:absolute;top:10px;right:10px}.termwrap:hover .copy,.copy:focus-visible,.copy.done{opacity:1}@media (hover:none){.copy{opacity:1}}.copy:hover{border-color:#cfe6f5}.copy svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.copy .i-done,.copy.done .i-copy{display:none}.copy.done .i-done{stroke:#5ee6c1;display:block}.copy-msg{color:#cfe6f5;font:500 12px IBM Plex Sans,sans-serif;position:absolute;top:17px;right:54px}.term .c{color:#8fa3b5}.term .f{color:#5ee6c1}.callout{border-left:2px solid var(--cy);flex-direction:column;gap:10px;padding:2px 0 2px 20px;display:flex}
