.rnic-flow,.rnic-theater{--fl-accent:#4338ca;--fl-accent-fg:#ffffff;--fl-glow:rgba(67, 56, 202, 0.5);--fl-border:#e2e8f0;--fl-muted:#64748b;--fl-bg:#ffffff;--fl-stage:#f8fafc;--fl-panel:#ffffff;--fl-chip:#eef2ff;--fl-chip-outer:#f1f5f9;--fl-changed:#d97706;--fl-predict-bg:#f5f3ff;--fl-predict-border:#8b5cf6;--fl-cond-bg:#fffbeb;--fl-cond-fg:#b45309;--fl-req:#0369a1;--fl-resp:#b45309;--fl-both:#4338ca;--fl-idle:0.26;--fl-token-wire:#4338ca;--fl-token-local:#334155}.dark .rnic-flow,.dark .rnic-theater{--fl-accent:#a5a1e6;--fl-accent-fg:#14141c;--fl-glow:rgba(165, 161, 230, 0.55);--fl-border:#33363d;--fl-muted:#9aa1ad;--fl-bg:#111111;--fl-stage:#17181c;--fl-panel:#141518;--fl-chip:#272f49;--fl-chip-outer:#24262b;--fl-changed:#e3a54a;--fl-predict-bg:#221d33;--fl-predict-border:#9d86e8;--fl-cond-bg:#2c2618;--fl-cond-fg:#d9b77e;--fl-req:#8db7ce;--fl-resp:#cea98d;--fl-both:#a5a1e6;--fl-idle:0.42;--fl-token-wire:#a5a1e6;--fl-token-local:#c3c8d1}.rnic-flow{margin:2rem 0}.rnic-flow-poster{position:relative}.rnic-flow-poster img{display:block;width:100%;height:auto}.rnic-flow.is-ready .rnic-flow-poster img{cursor:pointer;transition:opacity .2s ease}.rnic-flow.is-ready .rnic-flow-poster:hover img{opacity:.85}.rnic-flow-bar{display:flex;align-items:center;gap:.75rem;margin-bottom:.6rem}.rnic-flow-bar[hidden]{display:none}.rnic-flow-open{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .95rem .45rem .7rem;border-radius:.4rem;background:var(--fl-accent);color:var(--fl-accent-fg);font-weight:600;font-size:.92rem;white-space:nowrap;transition:filter .15s ease}.rnic-flow-open:hover{filter:brightness(1.12)}.rnic-flow-open:focus-visible{outline:3px solid var(--fl-accent);outline-offset:3px}.rnic-flow-open svg{width:1.1rem;height:1.1rem}.rnic-flow-open-meta{font-size:.85rem;color:var(--fl-muted)}.rnic-flow figcaption{margin-top:.6rem;text-align:center;font-size:.9rem;color:var(--fl-muted)}.rnic-flow-steps{margin-top:.75rem;border:1px solid var(--fl-border);border-radius:.5rem;padding:.5rem 1rem;font-size:.92rem}.rnic-flow.is-ready .rnic-flow-steps{display:none}.rnic-flow-steps summary{cursor:pointer;font-weight:600;color:var(--fl-muted)}.rnic-flow-steps ol{margin:.5rem 0 .25rem}.rnic-flow-steps li{margin:.35rem 0}.rnic-flow-chapter{font-size:.85em;white-space:nowrap}.rnic-flow-chapter::before{content:"\2192\00a0"}html.rnic-theater-open{overflow:hidden}@media print{.rnic-flow-bar{display:none!important}.rnic-flow.is-ready .rnic-flow-steps{display:block}}.rnic-theater{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--fl-bg);color:inherit;overflow:hidden}.rnic-theater::backdrop{background:rgba(10,12,20,.6)}.th-shell{display:grid;height:100%;grid-template-columns:minmax(0,1fr)380px;grid-template-rows:auto minmax(0,1fr)auto;grid-template-areas:"head head" "stage rail" "transport transport"}@media(max-width:1280px){.th-shell{grid-template-columns:minmax(0,1fr)320px}}@media(max-width:900px){.th-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,50vh)minmax(0,1fr)auto;grid-template-areas:"head" "stage" "rail" "transport"}}@media(max-width:900px) and (orientation:landscape) and (max-height:520px){.th-shell{grid-template-columns:minmax(0,1fr)300px;grid-template-rows:auto minmax(0,1fr)auto;grid-template-areas:"head head" "stage rail" "transport transport"}}.th-head{grid-area:head;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem .75rem .6rem 1.25rem;border-bottom:1px solid var(--fl-border)}.th-title{font-weight:600;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.th-tools{display:flex;gap:.35rem;flex-shrink:0}.th-tool,.th-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;height:2.25rem;min-width:2.25rem;padding:0 .6rem;border:1px solid var(--fl-border);border-radius:.5rem;font-size:.85rem;color:inherit;background:0 0;transition:border-color .15s ease,color .15s ease,background .15s ease}.th-tool:hover,.th-btn:hover{border-color:var(--fl-accent);color:var(--fl-accent)}.th-tool:focus-visible,.th-btn:focus-visible,.th-cell:focus-visible,.th-recenter:focus-visible{outline:2px solid var(--fl-accent);outline-offset:2px}.th-tool svg,.th-btn svg{width:1.1rem;height:1.1rem}.th-tool[aria-pressed=true]{background:var(--fl-chip);border-color:var(--fl-accent);color:var(--fl-accent)}.th-close{border-color:transparent}@media(max-width:600px){.th-tool span{display:none}}.th-stage{grid-area:stage;position:relative;overflow:hidden;background:var(--fl-stage);cursor:grab;touch-action:none;user-select:none}.th-stage:active{cursor:grabbing}.th-canvas{position:absolute;inset:.75rem}.th-canvas svg{display:block;width:100%;height:100%}.th-role{position:absolute;z-index:1;top:.75rem;left:.75rem;padding:.3rem .75rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--fl-req);box-shadow:0 2px 8px rgba(0,0,0,.15)}.th-role[data-role=responder]{background:var(--fl-resp)}.dark .th-role{color:#14141c}.th-recenter{position:absolute;z-index:1;right:.75rem;bottom:.75rem;padding:.35rem .8rem;border-radius:999px;font-size:.8rem;font-weight:600;background:var(--fl-accent);color:var(--fl-accent-fg)}.th-svg .flow-part{transition:opacity .35s ease,filter .35s ease}.th-svg.is-active .flow-part{opacity:var(--fl-idle)}.th-svg.is-active .flow-part.flow-past{opacity:.62;filter:saturate(.35)}.th-svg.is-active .flow-part.flow-now{opacity:1;filter:drop-shadow(0 0 7px var(--fl-glow))}.th-svg.is-active .flow-now rect,.th-svg.is-active .flow-now circle{stroke-width:3px}.th-svg.is-active .flow-now line,.th-svg.is-active .flow-now path{stroke-width:2.75px}.th-svg .flow-token rect{fill:var(--fl-token-local);filter:drop-shadow(0 1px 3px rgba(0,0,0,.35))}.th-svg .flow-token.is-packet rect{fill:var(--fl-token-wire)}.th-svg .flow-token text,.th-svg .flow-recap-badge text{fill:var(--fl-accent-fg);stroke:none;font-family:ibm plex mono,ui-monospace,Menlo,monospace;font-size:12px;font-weight:600}.dark .th-svg .flow-token text{fill:#14141c}.th-svg .flow-recap-badge rect{fill:var(--fl-both)}.th-svg .flow-recap-badge.is-requester rect{fill:var(--fl-req)}.th-svg .flow-recap-badge.is-responder rect{fill:var(--fl-resp)}.th-svg .flow-recap-badge text{font-size:11px;fill:#fff}.dark .th-svg .flow-recap-badge text{fill:#14141c}.th-rail{grid-area:rail;overflow-y:auto;padding:1.25rem 1.4rem 1.5rem;border-left:1px solid var(--fl-border);background:var(--fl-panel)}@media(max-width:900px){.th-rail{border-left:0;border-top:1px solid var(--fl-border);padding:1rem 1.1rem 1.25rem}}.th-eyebrow{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.6rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.th-scene{color:var(--fl-accent)}.th-count{color:var(--fl-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.th-parallel{margin-bottom:.8rem;padding:.45rem .7rem;border-left:3px double var(--fl-accent);background:var(--fl-chip);border-radius:0 .375rem .375rem 0;font-size:.82rem}.th-parallel-h{display:block;margin-bottom:.2rem;color:var(--fl-accent);font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.th-parallel ul{margin:0;padding-left:1.1rem}.th-parallel li{margin:.1rem 0}.th-condition{display:inline-block;margin-bottom:.6rem;padding:.2rem .6rem;border:1px dashed var(--fl-cond-fg);border-radius:.375rem;background:var(--fl-cond-bg);color:var(--fl-cond-fg);font-size:.8rem;font-weight:600}.th-caption{font-size:1.15rem;line-height:1.6}.th-caption p{margin:0}.th-chapter{display:inline-block;margin-top:.6rem;font-size:.88rem;color:var(--fl-accent);text-decoration:underline;text-underline-offset:3px}.th-chapter::before{content:"Read: ";color:var(--fl-muted);text-decoration:none}.th-predict{margin-top:1.1rem;padding:.75rem .9rem;border-left:3px solid var(--fl-predict-border);border-radius:0 .5rem .5rem 0;background:var(--fl-predict-bg)}.th-predict-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fl-predict-border);margin-bottom:.25rem}.th-predict-q{font-size:.98rem;line-height:1.5}.th-inspector{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--fl-border);font-family:ibm plex mono,ui-monospace,Menlo,monospace;font-size:.78rem}.th-inspector summary{cursor:pointer;font-weight:600;font-size:.85rem;margin-bottom:.6rem}.th-inspector.is-state .th-ribbon{display:none}.th-ribbon{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:.75rem}.th-chip{padding:.15rem .45rem;border-radius:.25rem;background:var(--fl-chip);color:var(--fl-accent);font-weight:600}.th-chip.is-outer{background:var(--fl-chip-outer);color:var(--fl-muted);font-weight:400}.th-chip.is-outer.has-fields{background:var(--fl-chip);color:var(--fl-accent);font-weight:600}.th-hdr{display:table!important;width:100%!important;table-layout:fixed;border-collapse:collapse;margin:0 0 .75rem;font-variant-numeric:tabular-nums}.th-hdr caption{text-align:left;font-weight:700;color:var(--fl-accent);padding:0 0 .2rem}.th-hdr th,.th-hdr td{text-align:left;vertical-align:top;padding:.18rem .45rem;border:0;border-top:1px solid var(--fl-border);background:0 0!important}.th-hdr th{width:6.75rem;font-weight:500;color:var(--fl-muted)}.th-hdr tr.is-changed th{box-shadow:inset 3px 0 0 var(--fl-changed);color:inherit;font-weight:700}.th-was{display:block;font-size:.7rem;color:var(--fl-changed)}.th-transport{grid-area:transport;display:flex;align-items:flex-end;gap:1.25rem;padding:.6rem 1.25rem .8rem;border-top:1px solid var(--fl-border)}@media(max-width:900px){.th-transport{flex-direction:column-reverse;align-items:stretch;gap:.6rem;padding:.5rem .75rem calc(.6rem + env(safe-area-inset-bottom))}}.th-buttons{display:flex;gap:.4rem;flex-shrink:0}@media(max-width:900px){.th-buttons{justify-content:center}}.th-next{padding:0 1.1rem 0 .8rem;background:var(--fl-accent);border-color:var(--fl-accent);color:var(--fl-accent-fg);font-weight:600}.th-next:hover{color:var(--fl-accent-fg);filter:brightness(1.1)}.th-play.is-on{border-color:var(--fl-accent);color:var(--fl-accent)}.th-speed{font-variant-numeric:tabular-nums;min-width:2.75rem}.th-scrubber{flex:1;display:flex;gap:.75rem;min-width:0}.th-seg{flex-basis:0;min-width:0}.th-seg-label{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fl-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.3rem}@media(max-width:600px){.th-seg-label{display:none}}.th-seg-cells{display:flex;gap:3px}.th-cell{flex:1;height:.6rem;min-width:0;border-radius:2px;background:var(--fl-border);transition:background .2s ease,transform .2s ease}.th-cell:hover{background:var(--fl-muted)}.th-cell.is-done{background:var(--fl-accent);opacity:.45}.th-cell.is-current{background:var(--fl-accent);opacity:1;transform:scaleY(1.5)}