@property --ptr-t{syntax:"<number>";inherits:true;initial-value:.8}.ptr{--ptr-t:.8;--ptr-reset:calc(1 - clamp(0, (var(--ptr-t) - .94) * 18, 1));color:#e2e8f0;background:#0d1f30;border:1px solid #7dd3fc33;border-radius:4px;overflow:hidden;box-shadow:0 48px 96px -56px #38bdf88c;container-type:inline-size}.ptr>*{font-size:clamp(9px,1.45cqw,12.5px);line-height:1.35}.ptr [data-label]:before{content:attr(data-label)}.ptr-on{opacity:calc(clamp(0, (var(--ptr-t) - var(--at)) * 16, 1) * var(--ptr-reset))}.ptr-window{opacity:calc(clamp(0, (var(--ptr-t) - var(--at)) * 16, 1) * (1 - clamp(0, (var(--ptr-t) - var(--until)) * 16, 1)) * var(--ptr-reset))}.ptr-pop{scale:calc(.75 + .25 * clamp(0, (var(--ptr-t) - var(--at)) * 12, 1))}.ptr-head{white-space:nowrap;background:#ffffff06;border-bottom:1px solid #ffffff14;align-items:center;gap:.6em;padding:.85em 1.1em;display:flex}.ptr-live{background:#4ade80;border-radius:999px;flex:none;width:.55em;height:.55em}.ptr-head-title{color:#f8fafc;font-weight:600}.ptr-head-sub{color:#94a3b8}.ptr-phases{flex:1;align-self:stretch;margin-left:.6em;position:relative}.ptr-phase{letter-spacing:.12em;text-transform:uppercase;color:#7dd3fc;justify-content:flex-end;align-items:center;font-size:.8em;font-weight:600;display:flex;position:absolute;inset:0}.ptr-scope-chip,.ptr-row-check,.ptr-badge{align-items:center;gap:.4em;display:inline-flex}.ptr-scope-chip{color:#86efac;border:1px solid #4ade8066;border-radius:999px;padding:.25em .75em;font-size:.82em;font-weight:600}.ptr-scope-chip:after{content:"";background:#4ade80;border-radius:999px;order:-1;width:.45em;height:.45em}.ptr-stage{aspect-ratio:16/10;position:relative}.ptr-svg{width:100%;height:100%;position:absolute;inset:0}.ptr-zone{stroke-width:.25px;stroke-dasharray:1 .8}.ptr-zone-private{fill:#2dd4bf0b;stroke:#2dd4bf73}.ptr-zone-client{fill:#7dd3fc05;stroke:#7dd3fc4d}.ptr-gate{stroke:#4ade808c;stroke-width:.3px;stroke-dasharray:1.2 1}.ptr-link,.ptr-edge,.ptr-lane,.ptr-probe,.ptr-attack{fill:none;stroke-linecap:round}.ptr-link{stroke:#2dd4bf;stroke-width:.45px;stroke-dasharray:.22 .28}.ptr-edge{stroke:#94a3b84d;stroke-width:.22px}.ptr-edge-blocked{stroke:#f8717180;stroke-dasharray:.8 .8}.ptr-lane{stroke:#2dd4bf66;stroke-width:.3px}.ptr-probe{stroke:#7dd3fc;stroke-width:.75px;stroke-dasharray:.08 .92;stroke-dashoffset:1px}.ptr-attack{stroke:#f87171;stroke-width:.6px;stroke-dasharray:1;stroke-dashoffset:calc(1 - clamp(0, (var(--ptr-t) - var(--at)) * 16, 1));opacity:var(--ptr-reset)}.ptr-zone-label,.ptr-zone-foot,.ptr-out-tag,.ptr-meter-label,.ptr-stat-label,.ptr-model-role,.ptr-gate-chip,.ptr-badge,.ptr-sev{text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;font-weight:600}.ptr-zone-label{color:#94a3b8;font-size:.75em;position:absolute}.ptr-zone-foot{color:#5eead4;font-size:.75em;position:absolute;translate:0 -50%}.ptr-model{color:#38bdf8;background:#0b1a28eb;border:1px solid #38bdf873;border-radius:4px;flex-direction:column;justify-content:center;gap:.3em;width:19.375%;height:27%;padding:0 .9em;display:flex;position:absolute}.ptr-model-apex{color:#2dd4bf;border-color:#2dd4bf80}.ptr-model-name{letter-spacing:-.01em;color:#f8fafc;font-size:1.3em;font-weight:700}.ptr-model-role{font-size:.72em}.ptr-bars{align-items:flex-end;gap:.22em;height:1.7em;margin-top:.25em;display:flex}.ptr-bar{opacity:.85;transform-origin:bottom;background:currentColor;border-radius:1px;flex:1;height:100%;transform:scaleY(.55)}.ptr-bar:nth-child(3n){transform:scaleY(.85)}.ptr-bar:nth-child(3n+1){transform:scaleY(.4)}.ptr-bar:nth-child(4n){transform:scaleY(.7)}.ptr-gate-chip{color:#86efac;background:#0d1f30;border:1px solid #4ade8073;border-radius:999px;padding:.3em .75em;font-size:.72em;position:absolute;translate:-50% -50%}.ptr-gate-pass{background:#4ade80;border-radius:999px;width:.8em;height:.8em;position:absolute;translate:-50% -50%;box-shadow:0 0 0 .3em #4ade8033}.ptr-node{isolation:isolate;white-space:nowrap;background:#0f2436;border:1px solid #94a3b859;border-radius:999px;align-items:center;gap:.45em;padding:.35em .75em;display:inline-flex;position:absolute;translate:-50% -50%}.ptr-node-dot{background:#64748b;border-radius:999px;flex:none;width:.55em;height:.55em}.ptr-node-label{color:#cbd5e1;font-weight:500}.ptr-node-scan,.ptr-node-hit{z-index:-1;border-radius:inherit;position:absolute;inset:-1px}.ptr-node-scan{border:1px solid #38bdf8;box-shadow:0 0 .9em #38bdf859}.ptr-node-hit{background:#f871712e;border:1px solid #f87171;box-shadow:0 0 1.2em #f8717173}.ptr-node-data{border-color:#fbbf2499}.ptr-node-data .ptr-node-dot{background:#fbbf24;border-radius:1px;rotate:45deg}.ptr-node-data .ptr-node-label{color:#fde68a;font-weight:600}.ptr-node-out{opacity:.7;border-style:dashed;border-color:#f8717173}.ptr-node-out .ptr-node-dot{background:0 0;border:1px solid #f87171}.ptr-node-flag{border:2px solid #0f2436;border-radius:999px;width:.75em;height:.75em;position:absolute;top:-.3em;right:-.2em}.ptr-node-flag-high{background:#fb923c}.ptr-node-flag-medium{background:#fbbf24}.ptr-out-tag{color:#fca5a5;font-size:.68em;position:absolute;translate:-50% -50%}.ptr-blocked{background:#0d1f30;border-radius:999px;width:1em;height:1em;position:absolute;translate:-50% -50%;box-shadow:0 0 0 1px #f87171b3}.ptr-blocked:before,.ptr-blocked:after{content:"";background:#f87171;width:56%;height:1.5px;position:absolute;top:50%;left:22%;rotate:45deg}.ptr-blocked:after{rotate:-45deg}.ptr-badge{border-radius:4px;padding:.3em .7em;font-size:.72em;position:absolute;translate:-50% -50%}.ptr-badge-impact{color:#fecaca;background:#2a1a24;border:1px solid #f8717199}.ptr-badge-verified{color:#bbf7d0;background:#12302a;border:1px solid #4ade808c}.ptr-badge-verified:after,.ptr-row-check:after{content:"✓";order:-1}.ptr-feed{border-top:1px solid #ffffff14;gap:.45em;margin:0;padding:.85em 1.1em .35em;list-style:none;display:grid}.ptr-row{background:#ffffff08;border:1px solid #ffffff0f;border-radius:4px;grid-template-columns:6.2em minmax(0,1fr) auto;align-items:center;gap:.8em;padding:.45em .7em;display:grid}.ptr-row>*{opacity:calc(clamp(0, (var(--ptr-t) - var(--at)) * 16, 1) * var(--ptr-reset))}.ptr-sev{text-align:center;border-radius:3px;padding:.2em .5em;font-size:.7em}.ptr-sev-critical{color:#fecaca;background:#f871712e}.ptr-sev-high{color:#fed7aa;background:#fb923c2e}.ptr-sev-medium{color:#fde68a;background:#fbbf2429}.ptr-row-text{text-overflow:ellipsis;white-space:nowrap;color:#e2e8f0;overflow:hidden}.ptr-row-check{color:#86efac;font-size:.82em;font-weight:600}.ptr-foot{align-items:center;gap:1.6em;padding:.85em 1.1em 1em;display:flex}.ptr-meter{flex:1;gap:.4em;display:grid}.ptr-meter-label,.ptr-stat-label{color:#94a3b8;font-size:.7em}.ptr-meter-track{background:#ffffff14;border-radius:999px;height:.35em;display:block;overflow:hidden}.ptr-meter-fill{transform-origin:0;height:100%;transform:scaleX(calc(min(1, var(--ptr-t) / .34) * var(--ptr-reset)));background:linear-gradient(90deg,#2dd4bf,#38bdf8);display:block}.ptr-stat{text-align:right;display:grid}.ptr-stat-value{color:#86efac;font-size:1.35em;font-weight:700;line-height:1.1}@container (max-width:560px){.ptr-head-sub,.ptr-zone-label,.ptr-model-role,.ptr-out-tag,.ptr-stat,.ptr-row-check,.ptr-node-label,.ptr-badge-impact{display:none}.ptr-node{padding:.45em}.ptr-badge-verified[data-label]:before{content:none}.ptr-row{grid-template-columns:5.6em minmax(0,1fr)}}@media (prefers-reduced-motion:no-preference){:is([data-range-state=running],[data-range-state=paused]) .ptr{animation:16s linear infinite ptr-clock}:is([data-range-state=running],[data-range-state=paused]) .ptr-probe{animation:1.5s linear infinite ptr-flow}:is([data-range-state=running],[data-range-state=paused]) .ptr-link{animation:1.2s linear infinite ptr-flow}:is([data-range-state=running],[data-range-state=paused]) .ptr-link-up{animation-direction:reverse}:is([data-range-state=running],[data-range-state=paused]) .ptr-bar{animation:.9s ease-in-out infinite alternate ptr-bar}:is([data-range-state=running],[data-range-state=paused]) .ptr-bar:nth-child(2n){animation-duration:1.3s;animation-delay:-.4s}:is([data-range-state=running],[data-range-state=paused]) .ptr-bar:nth-child(3n){animation-duration:1.1s;animation-delay:-.7s}:is([data-range-state=running],[data-range-state=paused]) .ptr-live{animation:2s ease-out infinite ptr-live}[data-range-state=paused] .ptr,[data-range-state=paused] .ptr *{animation-play-state:paused}}@keyframes ptr-clock{0%{--ptr-t:0}to{--ptr-t:1}}@keyframes ptr-flow{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes ptr-bar{0%{transform:scaleY(.2)}to{transform:scaleY(1)}}@keyframes ptr-live{0%{box-shadow:0 0 #4ade808c}70%,to{box-shadow:0 0 0 .6em #4ade8000}}
