.fp{margin:2em 0;border:1px solid var(--color-hairline);border-radius:16px;background:var(--color-surface);padding:20px;outline:none}.fp:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.fp-stage{position:relative;overflow-x:auto}.fp-bar{display:flex;align-items:center;gap:10px;margin-top:18px}.fp-btn{font-family:var(--font-mono);font-size:15px;line-height:1;min-width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);border-radius:8px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.fp-btn:hover{color:var(--color-text);border-color:var(--color-border-strong)}.fp-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.fp-cap{flex:1;margin:0;display:grid;font-family:var(--font-mono);font-size:12.5px;color:var(--color-text-muted);line-height:1.5}.fp-cap-line{grid-area:1/1;margin:0;visibility:hidden}.fp-cap-line.on{visibility:visible}.fp-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fp-dots{display:flex;gap:6px;margin-top:12px}.fp-dot{width:7px;height:7px;border-radius:50%;background:var(--color-border);cursor:pointer;transition:background .2s,transform .2s}.fp-dot.on{background:var(--color-accent);transform:scale(1.15)}@media(prefers-reduced-motion:reduce){.fp *{transition:none!important;animation:none!important}}.ill .ttl{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--color-text-faint);text-transform:uppercase;text-align:center}.ill .v{display:flex;gap:3px}.ill .v i{width:13px;height:13px;border-radius:3px;border:1px solid var(--color-hairline);background:color-mix(in oklab,var(--color-accent) calc(var(--v,0)*1%),var(--color-surface-2));transition:background .4s,opacity .4s}.ill .chip{font-family:var(--font-mono);font-size:13px;background:var(--color-surface-deep);border:1px solid var(--color-border);border-radius:7px;padding:6px 9px;color:var(--color-text)}.ill .pill{font-family:var(--font-mono);font-size:12.5px;border:1px solid color-mix(in oklab,var(--color-accent) 40%,transparent);background:color-mix(in oklab,var(--color-accent) 8%,transparent);color:var(--color-accent);border-radius:8px;padding:6px 11px;display:inline-flex}.ill .ar{color:var(--color-text-dim);font-family:var(--font-mono);font-size:13px}.ill .mut{font-family:var(--font-mono);font-size:11.5px;color:var(--color-text-dim)}.pf .fp-stage{min-height:216px;display:flex;align-items:center;justify-content:center;padding:10px 0}.pf .scene{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:520px;margin:0 auto;text-align:center}.pf .row{display:flex;align-items:center;justify-content:center;gap:11px;flex-wrap:wrap}.pf .col{display:flex;flex-direction:column;align-items:center;gap:10px}.pf .box{font-family:var(--font-mono);font-size:12px;color:var(--color-text-soft);background:var(--color-surface-deep);border:1px solid var(--color-border);border-radius:10px;padding:9px 13px;transition:opacity .45s,border-color .4s,background .4s,transform .45s}.pf .box.acc{border-color:color-mix(in oklab,var(--color-accent) 48%,transparent);color:var(--color-accent);background:color-mix(in oklab,var(--color-accent) 9%,transparent)}.pf .box.warn{border-color:color-mix(in oklab,#e0645c 52%,transparent);color:#e0645c;background:color-mix(in oklab,#e0645c 9%,transparent)}.pf .mn{font-family:var(--font-mono);font-size:11px;color:var(--color-text-dim);text-align:center;line-height:1.5}.pf .mn b,.pf b{font-weight:500;color:var(--color-text-soft)}.pf b.acc{color:var(--color-accent)}.pf b.bad{color:#e0645c}.pf .arr{font-family:var(--font-mono);color:var(--color-text-dim);font-size:15px}.pf .chip2{font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:7px;padding:6px 9px;white-space:nowrap}.pf .chip2.hi{color:var(--color-accent);border-color:color-mix(in oklab,var(--color-accent) 45%,transparent);background:color-mix(in oklab,var(--color-accent) 10%,transparent)}.pf .meter{width:120px;height:7px;border-radius:5px;background:var(--color-surface-2);overflow:hidden}.pf .meter i{display:block;height:100%;border-radius:5px;background:var(--color-accent)}.pf .meter.w i{background:#e0645c}.pf .ok,.pf .no{font-family:var(--font-mono);font-size:11.5px}.pf .ok{color:var(--color-accent)}.pf .no{color:#e0645c}.pf .stack{display:grid}.pf .stack>*{grid-area:1/1}.pf .f2,.pf .f3,.pf .f4,.pf .f5{opacity:0;transform:translateY(5px);transition:opacity .45s,transform .45s}.pf[data-frame="2"] .f2,.pf[data-frame="3"] .f2,.pf[data-frame="4"] .f2,.pf[data-frame="5"] .f2,.pf[data-frame="3"] .f3,.pf[data-frame="4"] .f3,.pf[data-frame="5"] .f3,.pf[data-frame="4"] .f4,.pf[data-frame="5"] .f4,.pf[data-frame="5"] .f5{opacity:1;transform:none}.pf .o1,.pf .o2,.pf .o3,.pf .o4,.pf .o5{opacity:0;transition:opacity .4s}.pf[data-frame="1"] .o1,.pf[data-frame="2"] .o2,.pf[data-frame="3"] .o3,.pf[data-frame="4"] .o4,.pf[data-frame="5"] .o5{opacity:1}.pf .cluster{display:flex;flex-wrap:wrap;gap:4px;max-width:250px;justify-content:center}.pf .tc{width:32px;height:11px;border-radius:4px;background:var(--color-surface-2);border:1px solid var(--color-hairline)}.pr1 .track{position:relative;width:min(440px,84%);height:30px;border-radius:9px;background:var(--color-surface-deep);border:1px solid var(--color-border)}.pr1 .bar{position:absolute;top:0;left:0;height:100%;border-radius:8px;background:var(--color-accent);width:25%;transition:width .55s cubic-bezier(.4,0,.2,1),background .4s;z-index:1}.pr1[data-frame="1"] .bar{width:100%;background:#e0645c}.pr1[data-frame="2"] .bar{width:50%}.pr1 .ceil{position:absolute;top:-7px;bottom:-7px;left:66.7%;width:2px;background:var(--color-text-dim);z-index:3}.pr1 .ceil span{position:absolute;top:-16px;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:10px;color:var(--color-text-dim);white-space:nowrap}.pr1 .rd{justify-items:center;font-family:var(--font-mono);font-size:12.5px;color:var(--color-text-soft);margin-top:22px}.pr2 .budget{display:flex;width:min(440px,84%);height:26px;border-radius:9px;overflow:hidden;border:1px solid var(--color-border)}.pr2 .key{background:var(--color-accent);width:60%;transition:width .55s cubic-bezier(.4,0,.2,1)}.pr2 .rest{background:var(--color-surface-2);flex:1}.pr2[data-frame="2"] .key{width:26%}.pr2[data-frame="3"] .key,.pr2[data-frame="4"] .key{width:9%}.pr2 .sig{justify-items:center;font-family:var(--font-mono);font-size:11.5px;color:var(--color-text-dim)}.pr2 .lg{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10.5px;color:var(--color-text-dim);flex-wrap:wrap;justify-content:center}.pr2 .sw{width:9px;height:9px;border-radius:2px;display:inline-block}.pr2 .sw.acc{background:var(--color-accent)}.pr2 .sw.dim{background:var(--color-surface-2)}.pr2 .dil{transition:opacity .4s}.pr2[data-frame="4"] .dil{opacity:0}.pr2 .lim{opacity:0;transition:opacity .4s}.pr2[data-frame="4"] .lim{opacity:1}.pr2 .ctxbar{position:relative;width:min(440px,84%);height:26px;border-radius:8px;background:var(--color-surface-deep);border:1px solid var(--color-border)}.pr2 .fact{position:absolute;top:5px;bottom:5px;left:calc(50% - 5px);width:10px;border-radius:3px;background:var(--color-accent);opacity:.35}.pr3 .ag{font-family:var(--font-mono);font-size:11px;color:var(--color-accent);background:color-mix(in oklab,var(--color-accent) 8%,transparent);border:1px solid color-mix(in oklab,var(--color-accent) 38%,transparent);border-radius:9px;padding:8px 10px;display:flex;flex-direction:column;align-items:center;gap:6px}.pr3 .ag .meter{width:64px}.pr3 .o1 .meter{width:min(340px,74%)}.pr5 .cat{font-family:var(--font-mono);font-size:10.5px;color:var(--color-text-muted);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:8px;padding:7px 10px;transition:color .4s,border-color .4s,background .4s}.pr5[data-frame="3"] .cat.hl{color:var(--color-accent);border-color:color-mix(in oklab,var(--color-accent) 45%,transparent);background:color-mix(in oklab,var(--color-accent) 10%,transparent)}.pr6 .file{font-family:var(--font-mono);font-size:11px;color:var(--color-text-soft);background:var(--color-surface-deep);border:1px solid var(--color-border);border-radius:9px;padding:9px 13px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.pr7 .rj{font-family:var(--font-mono);font-size:11.5px;color:#e0645c}.pr7 .ac{font-family:var(--font-mono);font-size:11.5px;color:var(--color-accent)}.pr7 .it{font-family:var(--font-mono);font-size:11px;color:var(--color-text-dim)}.hwl .caprow{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px}.hwl .cl{width:52px;text-align:right;color:var(--color-text-dim)}.hwl .vbox{width:148px;height:26px;border-radius:7px;border:1px solid var(--color-border-strong);background:var(--color-surface-deep);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.hwl .mbar{width:250px;height:26px;border-radius:7px;background:color-mix(in oklab,#e0645c 20%,var(--color-surface-2));border:1px solid color-mix(in oklab,#e0645c 55%,transparent);display:flex;align-items:center;justify-content:space-between;padding:0 10px;color:#e0645c}.hwl .over{font-size:9px;opacity:.85}.hwl .crow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.hwl .ctag{width:100px;text-align:right;font-family:var(--font-mono);font-size:10px;color:var(--color-text-dim)}.hwl .ctag.on{color:var(--color-accent)}.hwl .brow{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px}.hwl .bl{width:86px;text-align:right;color:var(--color-text-dim)}.hwl .bt{width:230px;height:15px;border-radius:6px;background:var(--color-surface-deep);border:1px solid var(--color-border);overflow:hidden}.hwl .bf{height:100%;border-radius:5px}.hwl .bf.h{background:var(--color-accent)}.hwl .bf.g{background:color-mix(in oklab,var(--color-text-dim) 55%,var(--color-surface-2))}.hwl .bv{width:52px;color:var(--color-accent);font-variant-numeric:tabular-nums}.mbl .bars{display:flex;flex-direction:column;gap:8px;width:100%;max-width:480px}.mbl .brow{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px}.mbl .bl{width:158px;text-align:right;color:var(--color-text-dim)}.mbl .bt{flex:1;height:15px;border-radius:6px;background:var(--color-surface-deep);border:1px solid var(--color-border);overflow:hidden}.mbl .bf{height:100%;border-radius:5px}.mbl .bf.g{background:color-mix(in oklab,var(--color-text-dim) 55%,var(--color-surface-2))}.mbl .bf.h{background:var(--color-accent)}.mbl .bv{width:32px;color:var(--color-accent);font-variant-numeric:tabular-nums}.tpx .fp-stage{display:flex;justify-content:center;padding:6px 0}.tpx svg{width:100%;max-width:340px;height:auto;font-family:var(--font-mono)}.tpx .ib{fill:var(--color-surface-2);stroke:var(--color-border)}.tpx .it{fill:var(--color-text-soft);font-size:11px;text-anchor:middle}.tpx .feed{stroke:var(--color-text-dim);stroke-width:1.4;marker-end:url(#tpm)}.tpx .gpu rect{fill:var(--color-surface-deep);stroke:var(--color-border);transition:stroke .4s}.tpx .gpu text{fill:var(--color-text-soft);font-size:12px;text-anchor:middle}.tpx .gpu .sub{fill:var(--color-text-dim);font-size:9px}.tpx[data-frame="3"] .gpu rect,.tpx[data-frame="4"] .gpu rect{stroke:color-mix(in oklab,var(--color-accent) 55%,transparent)}.tpx .partial{fill:var(--color-text-dim);font-size:9.5px;text-anchor:middle}.tpx .xl{stroke:var(--color-accent);stroke-width:1.5;marker-end:url(#tpa)}.tpx .arb{fill:color-mix(in oklab,var(--color-accent) 14%,transparent);stroke:color-mix(in oklab,var(--color-accent) 50%,transparent)}.tpx .art{fill:var(--color-accent);font-size:11px;text-anchor:middle}.tpx .loop{stroke:var(--color-accent);stroke-width:1.4;stroke-dasharray:4 4;fill:none;marker-end:url(#tpa)}.tpx .rep{fill:var(--color-accent);font-size:9.5px}.tpx .f2,.tpx .f3,.tpx .f4{opacity:0;transition:opacity .4s}.tpx[data-frame="2"] .f2,.tpx[data-frame="3"] .f2,.tpx[data-frame="4"] .f2,.tpx[data-frame="3"] .f3,.tpx[data-frame="4"] .f3,.tpx[data-frame="4"] .f4{opacity:1}.dvu .unit{display:flex;flex-direction:column;align-items:center;gap:6px}.dvu .pool{font-family:var(--font-mono);font-size:11px;border-radius:8px;padding:8px 12px;text-align:center}.dvu .sys{background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text-dim);min-width:96px}.dvu .vram{background:color-mix(in oklab,var(--color-accent) 10%,transparent);border:1px solid color-mix(in oklab,var(--color-accent) 40%,transparent);color:var(--color-accent);min-width:70px}.dvu .unif{background:color-mix(in oklab,var(--color-accent) 10%,transparent);border:1px solid color-mix(in oklab,var(--color-accent) 40%,transparent);color:var(--color-accent);min-width:280px}.dvu .mn2{font-family:var(--font-mono);font-size:9.5px;color:var(--color-text-dim);margin-top:3px}.asoc .fp-stage{display:flex;justify-content:center;padding:6px 0}.asoc svg{width:100%;max-width:340px;height:auto;font-family:var(--font-mono)}.asoc .unit rect{fill:var(--color-surface-deep);stroke:var(--color-border);transition:fill .4s,stroke .4s}.asoc .unit text{fill:var(--color-text-soft);font-size:12px;text-anchor:middle}.asoc .unit .sub{fill:var(--color-text-dim);font-size:9px}.asoc .conn{stroke:var(--color-hairline);stroke-width:1.4}.asoc .pool{fill:color-mix(in oklab,var(--color-accent) 10%,var(--color-surface-2));stroke:color-mix(in oklab,var(--color-accent) 35%,transparent)}.asoc .pl{fill:var(--color-text-muted);font-size:11px;text-anchor:middle}.asoc[data-frame="3"] .gpu rect{fill:color-mix(in oklab,var(--color-accent) 14%,transparent);stroke:color-mix(in oklab,var(--color-accent) 55%,transparent)}.asoc[data-frame="3"] .gpu text{fill:var(--color-accent)}.asoc[data-frame="3"] .ne{opacity:.4}.asoc .f2{opacity:0;transition:opacity .4s}.asoc[data-frame="2"] .f2,.asoc[data-frame="3"] .f2{opacity:1}.rdx .fp-stage{display:flex;justify-content:center;padding:6px 0}.rdx svg{width:100%;max-width:340px;height:auto;font-family:var(--font-mono)}.rdx .lab{fill:var(--color-text-dim);font-size:9.5px;text-anchor:middle}.rdx .trunk rect{fill:color-mix(in oklab,var(--color-accent) 42%,var(--color-surface-2));stroke:none}.rdx .br rect{fill:var(--color-surface-2);stroke:var(--color-border)}.rdx .br text{fill:var(--color-text-muted);font-size:9.5px}.rdx .edge{stroke:var(--color-border);stroke-width:1.4;fill:none}.rdx .reuse{fill:var(--color-accent);font-size:9.5px;text-anchor:middle}.rdx .f2,.rdx .f3{opacity:0;transition:opacity .4s}.rdx[data-frame="2"] .f2,.rdx[data-frame="3"] .f2,.rdx[data-frame="3"] .f3{opacity:1}.pga .fp-stage{display:flex;justify-content:center;padding:6px 0}.pga svg{width:100%;max-width:340px;height:auto;font-family:var(--font-mono)}.pga .cap{fill:var(--color-text-dim);font-size:10px;text-anchor:middle}.pga .rl{fill:var(--color-text-dim);font-size:9.5px;text-anchor:end}.pga .rt{fill:var(--color-text-dim);font-size:9.5px;text-anchor:middle}.pga .slab rect{fill:none;stroke:var(--color-border)}.pga .slab .used{fill:color-mix(in oklab,var(--color-accent) 45%,var(--color-surface-2));stroke:none}.pga .blk{fill:color-mix(in oklab,var(--color-accent) 42%,var(--color-surface-2))}.pga .blk2{fill:color-mix(in oklab,var(--color-accent) 20%,var(--color-surface-2))}.pga .empty{fill:var(--color-surface-deep);stroke:var(--color-hairline)}.pga .o1,.pga .o2{opacity:0;transition:opacity .4s}.pga[data-frame="1"] .o1,.pga[data-frame="2"] .o2{opacity:1}.mesh .fp-stage{display:flex;justify-content:center;padding:6px 0}.mesh svg{width:100%;max-width:320px;height:auto;font-family:var(--font-mono)}.mesh .node rect{fill:var(--color-surface-deep);stroke:var(--color-border)}.mesh .node text{fill:var(--color-text-soft);font-size:11px;text-anchor:middle}.mesh .sl{stroke:var(--color-accent);stroke-width:1.6}.mesh .sw{fill:color-mix(in oklab,var(--color-accent) 14%,transparent);stroke:color-mix(in oklab,var(--color-accent) 55%,transparent)}.mesh .swt{fill:var(--color-accent);font-size:11px;text-anchor:middle}.mesh .ml{stroke:color-mix(in oklab,var(--color-accent) 55%,transparent);stroke-width:1.4}.mesh .o1,.mesh .o2{opacity:0;transition:opacity .4s}.mesh[data-frame="1"] .o1,.mesh[data-frame="2"] .o2{opacity:1}.esc .fp-stage{display:flex;justify-content:center;padding:6px 0}.esc svg{width:100%;max-width:360px;height:auto;font-family:var(--font-mono)}.esc .axis{stroke:var(--color-hairline);stroke-width:1}.esc .axlab{fill:var(--color-text-dim);font-size:9px}.esc .dot{fill:var(--color-surface-2);stroke:var(--color-border);transition:fill .4s,stroke .4s}.esc .dlab{fill:var(--color-text-muted);font-size:10px;transition:fill .4s}.esc[data-frame="1"] .d1,.esc[data-frame="2"] .d2,.esc[data-frame="3"] .d3,.esc[data-frame="4"] .d4{fill:var(--color-accent);stroke:var(--color-accent)}.esc[data-frame="1"] .l1,.esc[data-frame="2"] .l2,.esc[data-frame="3"] .l3,.esc[data-frame="4"] .l4{fill:var(--color-accent)}.vsc .grid{display:grid;grid-template-columns:88px repeat(5,1fr);gap:6px;font-family:var(--font-mono);font-size:10.5px;align-items:center;min-width:440px}.vsc .h{color:var(--color-text-dim);text-align:center}.vsc .rl{color:var(--color-text-soft);text-align:right;padding-right:4px}.vsc .cell{height:22px;border-radius:5px;display:flex;align-items:center;justify-content:center;color:var(--color-text-dim);border:1px solid var(--color-hairline)}.vsc .s3{background:color-mix(in oklab,var(--color-accent) 40%,var(--color-surface-2));border-color:transparent;color:var(--color-text)}.vsc .s2{background:color-mix(in oklab,var(--color-accent) 18%,var(--color-surface-2));border-color:transparent}.vsc .s1{background:var(--color-surface-2)}.vsc .txt{color:var(--color-text-muted);font-size:9.5px}
