.loop-page .hero-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.4rem}.loop-page .jump-row{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.4rem 0 0}.loop-page .jump-row .tag{transition:border-color .2s,color .2s}.loop-page .jump-row .tag:hover{border-color:var(--accent);color:var(--accent-strong)}.loop-page .config-note{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;font-size:.88rem;color:var(--text-secondary)}.loop-page .config-lead{flex-basis:100%;margin-bottom:.15rem}.loop-page .viz-h{margin-bottom:.4rem}.loop-page .viz-sub{color:var(--text-secondary);max-width:48em;margin:0 0 .4rem}.loop-page .loop-scroll{overflow-x:auto}.loop-page .panel-h{font-size:1.05rem;margin:0 0 .35rem}.loop-page .panel-sub{color:var(--text-secondary);font-size:.92rem;max-width:52em;margin:0 0 .9rem;line-height:1.65}.loop-page .viz-frame+.viz-frame{margin-top:1.4rem}.loop-page svg text{font-family:var(--font-sans);fill:var(--text)}.loop-page .stitle{font-size:13px;font-weight:600}.loop-page .stitle.sm{font-size:12px}.loop-page .ssub{font-size:11px;fill:var(--text-secondary)}.loop-page .smono{font-family:var(--font-mono);font-size:10.5px;fill:var(--text-secondary)}.loop-page .mlabel{font-family:var(--font-mono);font-size:9.5px;fill:var(--text-tertiary)}.loop-page .taccent{fill:var(--accent-strong)}.loop-page .tlin{fill:var(--swatch-sky)}.loop-page .sbox{fill:#fff;stroke:var(--line-strong);stroke-width:1.3}.loop-page .sbox-warm{fill:var(--surface-warm);stroke:var(--line)}.loop-page .sbox-accent{fill:#fdf6f2;stroke:var(--accent);stroke-dasharray:5 4;stroke-width:1.4}.loop-page .sbox-lin{fill:#f3f7fb;stroke:var(--swatch-sky);stroke-dasharray:5 4;stroke-width:1.4}.loop-page .sbox-init{fill:#f7f6f1;stroke:var(--swatch-heather);stroke-width:1.4}.loop-page .kv-chip{fill:#fdf6f2;stroke:var(--accent);stroke-width:1.4}.loop-page .warn-chip{fill:#fdf6f2;stroke:var(--accent-strong);stroke-width:1.5}.loop-page .warn-t{fill:var(--accent-strong);font-style:italic}.loop-page .flowline{stroke:var(--text-tertiary);stroke-width:1.6;fill:none}.loop-page .flowline-thin{stroke:var(--line-strong);stroke-width:1.4;fill:none}.loop-page .loopline{stroke:var(--accent);stroke-width:2;fill:none;stroke-dasharray:6 4}.loop-page .injline{stroke:var(--accent-strong);stroke-width:1.8;fill:none}.loop-page .stateline{stroke:var(--swatch-sky);stroke-width:1.5;fill:none;stroke-dasharray:5 4}.loop-page .std-cell{fill:var(--swatch-slate);opacity:.75;transition:opacity .15s}.loop-page g:hover>.std-cell{opacity:1}.loop-page .core-frame{fill:#fdf6f2;stroke:var(--accent);stroke-width:1.6}.loop-page .core-cell{fill:#fff;stroke:var(--accent);stroke-width:1.2}.loop-page .corelbl{fill:var(--accent-strong)}.loop-page .tally{fill:var(--surface-warm);stroke:var(--line-strong);stroke-width:1.2}.loop-page .tally-std{stroke:var(--swatch-slate)}.loop-page .tally-loop{fill:#fdf6f2;stroke:var(--accent)}.loop-page .tally-looped{stroke:var(--accent);fill:#fdf6f2}.loop-page .pulse-dot{fill:var(--accent-strong);stroke:#fff;stroke-width:2;transition:cx .45s ease,cy .45s ease}.loop-page .trace-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin:.9rem 0}.loop-page .trace-lbl{font-size:.78rem;color:var(--text-tertiary)}.loop-page .tr-chip{font-family:var(--font-mono);font-size:.74rem;color:var(--text-tertiary);border:1px solid var(--line-strong);border-radius:999px;padding:.25em .75em;background:var(--surface);transition:all .2s}.loop-page .tr-chip.on{border-color:var(--accent);color:var(--accent-strong);background:#fdf6f2}.loop-page .tr-chip.tr-hide{display:none}.loop-page .tr-out.on{border-color:var(--text);color:var(--text);background:var(--surface-warm)}.loop-page .dt-controls{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-bottom:1rem}.loop-page .btn-sm{padding:.45em 1.1em;font-size:.85rem}.loop-page .btn[disabled]{opacity:.4;pointer-events:none}.loop-page .dt-step{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary);margin-left:auto;white-space:nowrap}.loop-page .mask-modes{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.9rem}.loop-page .mode-btn{font-family:var(--font-sans);font-size:.78rem;font-weight:600;cursor:pointer;padding:.4em 1em;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--text-secondary);transition:all .2s}.loop-page .mode-btn.on{background:var(--text);border-color:var(--text);color:var(--bg)}.loop-page .mode-btn:not(.on):hover{border-color:var(--accent);color:var(--accent-strong)}.loop-page .slider-row{display:flex;align-items:center;gap:.8rem;margin:.9rem 0 1rem}.loop-page .slider-lbl{font-size:.8rem;color:var(--text-tertiary);font-family:var(--font-mono)}.loop-page .slider-row input[type=range]{flex:1;accent-color:var(--accent-strong)}.loop-page #rhoVal,.loop-page #rVal{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary);white-space:nowrap;min-width:5em;text-align:right}.loop-page .dt-caption{margin:0 0 .8rem;padding:.9rem 1.1rem;min-height:4.4em;background:var(--surface-warm);border-left:3px solid var(--accent);border-radius:0 var(--radius-s) var(--radius-s) 0;font-size:.95rem}.loop-page .fine-note{margin:.4rem 0 .9rem;font-size:.85rem;color:var(--text-tertiary);max-width:60em;line-height:1.65}.loop-page .eq-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.2rem 0 1rem}.loop-page .eq-chip{font-family:var(--font-mono);font-size:.76rem;color:var(--text-secondary);border:1px solid var(--line-strong);border-radius:999px;padding:.35em .9em;background:var(--surface);cursor:help}.loop-page .eq-chip:hover{border-color:var(--accent);color:var(--accent-strong)}.loop-page .curve-conv{stroke:var(--swatch-sky);stroke-width:2.2;fill:none}.loop-page .curve-div{stroke:var(--accent-strong);stroke-width:2.2;stroke-dasharray:7 5;fill:none}.loop-page .curve-user{stroke:var(--text);stroke-width:2.4;fill:none}.loop-page .pmf-bar{fill:var(--swatch-heather);opacity:.85}.loop-page .bp-cell{transition:all .2s}.loop-page .bp-ng{fill:var(--surface-warm);stroke:var(--line-strong);stroke-width:1.2}.loop-page .bp-g{fill:#fdf6f2;stroke:var(--accent);stroke-width:1.5}.loop-page .bp-cell.bp-hot{fill:var(--accent)}.loop-page .bp-glbl{fill:var(--accent-strong)}.loop-page .bp-arrow{stroke:var(--accent-strong);stroke-width:2;fill:none}.loop-page .tok-chip{fill:var(--surface-warm);stroke:var(--line-strong);stroke-width:1.2}.loop-page .lat-chip{fill:#f3f7fb;stroke:var(--swatch-sky);stroke-width:1.4}.loop-page .curve-qa{stroke:var(--swatch-slate);stroke-width:2.2;fill:none}.loop-page .curve-qb{stroke:var(--accent-strong);stroke-width:2.4;fill:none}.loop-page .dot-qa{fill:var(--swatch-slate)}.loop-page .dot-qb{fill:var(--accent-strong)}.loop-page .kv-row{fill:#fdf6f2;stroke:var(--accent);stroke-width:1.2}.loop-page .kv-shared{fill:#f3f7fb;stroke:var(--swatch-sky);stroke-width:1.4}.loop-page .kv-link{stroke:var(--line-strong);stroke-width:1.3}.loop-page .acc-bar{transition:opacity .15s}.loop-page .ab-std{fill:var(--swatch-slate);opacity:.8}.loop-page .ab-loop{fill:var(--accent);opacity:.9}.loop-page .ab-kv{fill:var(--swatch-sky);opacity:.9}.loop-page .ab-extra{fill:var(--swatch-kraft);opacity:.7}.loop-page g:hover>g>.acc-bar{opacity:1}.loop-page .eff-grid{margin-top:1.6rem}.loop-page .eff-grid .card p{font-size:.92rem;line-height:1.65}.loop-page .eff-note{border-radius:var(--radius-l);padding:clamp(1.4rem,3vw,2.2rem);margin:3rem 0;max-width:860px}.loop-page .eff-note h3{color:var(--text-on-dark);margin-bottom:.7rem}.loop-page .eff-note p{font-size:.97rem;line-height:1.7}.loop-page .eff-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem}.loop-page .eff-chip{font-family:var(--font-mono);font-size:.74rem;color:var(--text-on-dark);border:1px solid var(--line-on-dark);border-radius:999px;padding:.35em .9em;background:#1d1d1b}.loop-page .deeper-list{list-style:none;padding:0;margin:.6rem 0 1.6rem;display:flex;flex-direction:column;gap:.55rem}.loop-page .deeper-list .arrow-link{text-decoration:none}.loop-page .fine-print{font-size:.85rem;color:var(--text-tertiary)}#loopTip{position:fixed;z-index:60;max-width:320px;pointer-events:none;background:var(--surface-dark);color:var(--text-on-dark);font-family:var(--font-sans);font-size:.78rem;line-height:1.5;padding:.5rem .75rem;border-radius:8px;opacity:0;transition:opacity .15s;box-shadow:0 8px 24px #14141340}
