html,body,#root{height:100%;margin:0;padding:0}body{color:#dffff8;-webkit-font-smoothing:antialiased;background:#031c1a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.asg-root{--abyss:#031c1a;--surface:#07241f;--surface-lift:#0a2826;--line:#0e3530;--line-light:#1a3935;--text:#dffff8;--muted:#7fb8ae;--secure:#00ff94;--alert:#ff6b35;--scan:#64e8ff;--sans:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;background:var(--abyss);width:100%;min-height:480px;color:var(--text);font-family:var(--sans);flex-direction:column;font-size:13px;line-height:1.5;display:flex;position:relative;overflow:hidden}.asg-root *,.asg-root :before,.asg-root :after{box-sizing:border-box}.asg-toolbar{border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.asg-title{align-items:center;gap:12px;min-width:0;display:flex}.asg-title-mark{background:linear-gradient(135deg, var(--secure), var(--scan));border-radius:3px;flex:none;width:14px;height:14px;transform:rotate(45deg);box-shadow:0 0 14px #00ff9473}.asg-title-main{letter-spacing:.01em;font-size:15px;font-weight:700}.asg-title-sub{color:var(--muted);font-size:11px;font-family:var(--mono)}.asg-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.asg-search,.asg-select{background:var(--abyss);color:var(--text);border:1px solid var(--line-light);font:inherit;border-radius:6px;outline:none;min-width:190px;padding:6px 10px;font-size:12px}.asg-search:focus,.asg-select:focus{border-color:var(--scan);box-shadow:0 0 0 2px #64e8ff2e}.asg-select{min-width:160px}.asg-btn{background:var(--abyss);color:var(--text);border:1px solid var(--line-light);font:inherit;cursor:pointer;border-radius:6px;padding:6px 11px;font-size:12px;transition:border-color .15s,color .15s,background .15s}.asg-btn:hover{border-color:var(--secure);color:var(--secure)}.asg-btn:disabled{opacity:.4;cursor:default}.asg-btn.is-active{background:var(--secure);color:var(--abyss);border-color:var(--secure);font-weight:600}.asg-btn-ghost{color:var(--muted);border-color:#0000}.asg-btn-ghost[aria-pressed=true]{color:var(--scan);border-color:var(--line-light)}.asg-btn-group{border:1px solid var(--line-light);border-radius:6px;align-items:center;display:inline-flex;overflow:hidden}.asg-btn-group .asg-btn{border:0;border-radius:0;padding:6px 10px}.asg-zoom{font-family:var(--mono);color:var(--muted);text-align:center;min-width:44px;font-size:11px}.asg-body{flex:1;min-height:0;display:flex;position:relative}.asg-canvas{flex:1;min-width:0;position:relative}.asg-svg{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.asg-svg:active{cursor:grabbing}.asg-node{outline:none}.asg-node:focus-visible circle:first-of-type,.asg-node:focus-visible polygon:first-of-type,.asg-node:focus-visible rect:first-of-type{stroke-width:3px}.asg-node text,.asg-edge text{pointer-events:none;font-family:var(--sans)}.asg-edge{cursor:pointer}.asg-hint{color:var(--muted);font-size:11px;font-family:var(--mono);pointer-events:none;background:#031c1abf;border-radius:5px;padding:4px 8px;position:absolute;bottom:10px;right:12px}.asg-tooltip{z-index:5;pointer-events:none;border:1px solid var(--line-light);background:#07241ff5;border-radius:8px;max-width:290px;padding:9px 11px;position:absolute;box-shadow:0 10px 30px #00000073,0 0 0 1px #64e8ff0f}.asg-tip-kind{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.asg-tip-title{margin:2px 0 3px;font-weight:700}.asg-tip-body{color:var(--text);opacity:.9;font-size:12px}.asg-tip-hint{color:var(--muted);font-size:10px;font-family:var(--mono);margin-top:5px}.asg-filter-chip{z-index:3;border:1px solid var(--line-light);color:var(--text);background:#07241ff0;border-radius:999px;align-items:center;gap:10px;padding:5px 7px 5px 12px;font-size:12px;display:inline-flex;position:absolute;top:10px;left:12px}.asg-filter-chip .asg-btn{padding:3px 9px;font-size:11.5px}.asg-legend{z-index:4;border:1px solid var(--line-light);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#07241ff0;border-radius:10px;width:300px;max-height:calc(100% - 24px);padding:10px 12px 12px;font-size:12px;position:absolute;bottom:12px;left:12px;overflow:auto}.asg-legend-head{letter-spacing:.04em;text-transform:uppercase;color:var(--scan);margin-bottom:4px;font-size:12px;font-weight:700}.asg-legend-section{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:9px 0 3px;font-size:10px}.asg-legend-row{cursor:pointer;align-items:center;gap:7px;padding:2px 0;display:flex}.asg-legend-static{cursor:default;color:var(--muted)}.asg-legend-row input{accent-color:var(--secure);margin:0}.asg-count{font-family:var(--mono);color:var(--muted);margin-left:auto;font-size:10px}.asg-layer-dot{border:1.5px solid var(--scan);border-radius:50%;flex:none;width:10px;height:10px;margin:0 6px}.asg-legend-note{color:var(--muted);border-top:1px solid var(--line);margin-top:10px;padding-top:8px;font-size:11px;line-height:1.45}.asg-inspector{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;flex:none;gap:12px;width:370px;padding:16px 18px 24px;display:flex;overflow:auto}.asg-panel p{color:var(--text);opacity:.92;margin:4px 0 10px}.asg-eyebrow{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:12px;margin-bottom:2px;font-size:10px}.asg-h2{align-items:center;gap:8px;margin:4px 0 2px;font-size:18px;line-height:1.25;display:flex}.asg-sub{color:var(--muted);font-size:12px;font-family:var(--mono);margin-bottom:8px}.asg-lead{font-size:13.5px}.asg-test{border-left:2px solid var(--secure);padding-left:10px;font-style:italic}.asg-note{color:var(--muted);border-top:1px solid var(--line);margin-top:14px;padding-top:8px;font-size:11.5px}.asg-muted{color:var(--muted);font-weight:400}.asg-chips{flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 6px;display:flex}.asg-chip{background:var(--abyss);font:inherit;cursor:pointer;text-align:left;border:1px solid;border-radius:999px;padding:3px 9px;font-size:11.5px;transition:background .15s,box-shadow .15s}.asg-chip:hover{background:var(--surface-lift);box-shadow:0 0 0 2px #dffff814}.asg-arrow{color:var(--muted)}.asg-badge{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;border:1px solid;border-radius:4px;margin:4px 6px 6px 0;padding:3px 8px;font-size:10px;display:inline-block}.asg-badge-documented{color:var(--secure);background:#00ff9414;border-color:#00ff9480}.asg-badge-claim{color:var(--alert);background:#ff6b3514;border-color:#ff6b358c}.asg-badge-recommendation{color:var(--scan);background:#64e8ff14;border-color:#64e8ff80}.asg-sources{margin:4px 0 0;padding-left:16px;font-size:12px}.asg-sources a{color:var(--scan);text-decoration:none}.asg-sources a:hover{color:var(--secure);text-decoration:underline}.asg-flows{flex-direction:column;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.asg-flows li{border-left:2px solid;padding:2px 0 2px 10px}.asg-flow-desc{color:var(--muted);font-size:11.5px}.asg-linkbtn{color:var(--text);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.asg-linkbtn:hover{color:var(--secure)}.asg-steps{flex-direction:column;gap:4px;margin:4px 0 6px;padding-left:18px;font-size:12.5px;display:flex}.asg-step-nav{font-family:var(--mono);color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding-top:12px;font-size:11px;display:flex}.asg-step-card{background:#00ff940f;border:1px solid #00ff9466;border-radius:8px;padding:10px 12px}.asg-step-card .asg-eyebrow{color:var(--secure);margin-top:0}.asg-step-title{margin:4px 0;font-weight:700}.asg-step-card p{margin:0;font-size:12.5px}.asg-step-plain{color:var(--text);margin:0 0 6px!important}@media (width<=960px){.asg-body{flex-direction:column}.asg-inspector{border-left:0;border-top:1px solid var(--line);width:100%;max-height:42%}.asg-legend{width:240px;max-height:50%}.asg-hint{display:none}}@media (prefers-reduced-motion:reduce){.asg-root *{transition:none!important}}.asg-protect{filter:drop-shadow(0 0 4px #00ff94e6)}.asg-node.is-selected .asg-protect{filter:drop-shadow(0 0 8px #00ff94)}.es-root{background:radial-gradient(120% 90% at 50% 45%, var(--es-floor-lit) 0%, var(--es-shell) 55%, var(--es-abyss) 100%);flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.es-stage{width:100%;height:100%;display:block;position:absolute;inset:0}.es-stage text{font-family:inherit}.es-halo{paint-order:stroke;stroke:var(--es-abyss);stroke-width:calc(3.2px * var(--es-inv,1));stroke-linejoin:round}.es-stop-plate-a{stop-color:var(--es-floor-lit)}.es-stop-plate-b{stop-color:var(--es-floor)}.es-stop-edge-a{stop-color:var(--es-shell)}.es-stop-edge-b{stop-color:var(--es-ink)}.es-stop-zone-a{stop-color:var(--es-riser)}.es-stop-zone-b{stop-color:var(--es-floor-lit)}.es-stop-block-a{stop-color:var(--es-crown)}.es-stop-block-b{stop-color:var(--es-crown-deep)}.es-stop-block-on-a{stop-color:var(--es-crown-lit)}.es-stop-block-on-b{stop-color:var(--es-crown)}.es-stop-tile-a{stop-color:var(--es-mint)}.es-stop-tile-b{stop-color:var(--es-mint-dim)}.es-stop-tile-on-a{stop-color:var(--es-mint-lit)}.es-stop-tile-on-b{stop-color:var(--es-mint)}.es-stop-shadow-a{stop-color:var(--es-ink);stop-opacity:.55}.es-stop-shadow-b{stop-color:var(--es-ink);stop-opacity:0}.es-stop-hub-a{stop-color:var(--es-scan);stop-opacity:.2}.es-stop-hub-b{stop-color:var(--es-scan);stop-opacity:.04}.es-stop-hub-c{stop-color:var(--es-scan);stop-opacity:0}.es-stop-gap-a{stop-color:var(--es-alert);stop-opacity:.55}.es-stop-gap-b{stop-color:var(--es-alert);stop-opacity:0}.es-plate-top{fill:url(#es-g-plate)}.es-plate-front{fill:url(#es-g-edge)}.es-plate-side{fill:var(--es-shell)}.es-grid{stroke:var(--es-riser);stroke-width:.5px;fill:none}.es-rim{stroke:var(--es-scan);stroke-opacity:.28;stroke-width:1px;fill:none}.es-rim-far{stroke-opacity:.12}.es-zone{cursor:pointer;outline:none}.es-zone-top{fill:url(#es-g-zone);stroke:var(--es-crown);stroke-width:1px}.es-zone:hover .es-zone-top,.es-zone.is-hot .es-zone-top,.es-zone:focus-visible .es-zone-top{stroke:var(--es-scan);stroke-width:1.4px}.es-zone.is-active .es-zone-top{stroke:var(--es-scan);stroke-opacity:.7}.es-zone.is-hot .es-zone-label,.es-zone.is-active .es-zone-label{fill:var(--es-ink-soft)}.es-stage.is-zoomed .is-far{opacity:.3}.es-far,.es-block,.es-label,.es-pin,.es-zone{transition:opacity .45s}.es-zone-side-a{fill:var(--es-shell)}.es-zone-side-b{fill:var(--es-floor-lit)}.es-zone-inset{fill:none;stroke:var(--es-crown);stroke-opacity:.5;stroke-width:.7px;stroke-dasharray:2 3}.es-zone-label{fill:var(--es-ink-quiet);letter-spacing:.03em;pointer-events:none;font-size:15px;font-weight:600}.es-trace{fill:none;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}.es-trace-flow{stroke:var(--es-scan);stroke-opacity:.55;stroke-width:1.3px}.es-trace-control{stroke:var(--es-secure);stroke-opacity:.5;stroke-width:1.2px;stroke-dasharray:5 4}.es-trace-attack{stroke:var(--es-alert);stroke-opacity:.85;stroke-width:1.4px;stroke-dasharray:3 4}.es-trace.is-lit{stroke-opacity:1;stroke-width:2px}.es-trace.is-dim{stroke-opacity:.08}.es-trace-flow,.es-trace-control,.es-trace-attack,.es-packet{display:none}.es-stage.show-flow .es-trace-flow,.es-stage.show-flow .es-packet,.es-stage.show-control .es-trace-control,.es-stage.show-attack .es-trace-attack{display:block}.es-packet{fill:none;stroke:var(--es-scan-tint);stroke-width:2.6px;stroke-linecap:round;stroke-dasharray:1.6 98.4;opacity:.95;pointer-events:none}.es-block{cursor:pointer}.es-face-top{fill:url(#es-g-block);stroke:var(--es-scan);stroke-opacity:.42;stroke-width:.7px}.es-block:hover .es-face-top,.es-block.is-on .es-face-top{stroke-opacity:1;stroke-width:1.3px}.es-block.is-on .es-face-top{fill:url(#es-g-block-on)}.es-block.is-selected .es-face-top{stroke:var(--es-text);stroke-opacity:1}.es-face-a{fill:var(--es-surface-lift)}.es-face-b{fill:var(--es-riser)}.es-face-edge{stroke:var(--es-scan);stroke-opacity:.28;stroke-width:.7px}.es-slot{stroke:var(--es-crown);stroke-opacity:.5;stroke-width:1px}.es-led{fill:var(--es-secure)}.es-shadow{fill:url(#es-g-shadow)}.es-glyph{fill:none;stroke:var(--es-scan);stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round}.es-glyph-glow{fill:none;stroke:var(--es-scan);stroke-opacity:.22;stroke-width:4.5px;stroke-linecap:round;stroke-linejoin:round}.es-label{fill:var(--es-ink-soft);font-size:calc(11px * var(--es-inv,1));text-anchor:middle;pointer-events:none;font-weight:600}.es-label.is-layer,.es-stage.is-zoomed .es-label.is-estate{display:none}.es-stage.is-zoomed .is-near .es-label.is-layer{display:block}.es-tier-top .es-stage:not(.is-zoomed) .es-label.is-estate,.es-tier-top .es-start text{display:none}.es-pin{pointer-events:none}.es-pin-stem{stroke:var(--es-alert);stroke-opacity:.7;stroke-width:1px;vector-effect:non-scaling-stroke}.es-pin-dia{fill:var(--es-alert);stroke:var(--es-alert-tint);stroke-width:.6px}.es-pin-count{fill:var(--es-text);text-anchor:middle;font-variant-numeric:tabular-nums;font-size:8px;font-weight:700}.es-beacon,.es-tile,.es-beacon-stem{opacity:0;pointer-events:none;transition:opacity .35s}.es-stage.is-zoomed .is-shown{opacity:1;pointer-events:auto}.es-stage.is-zoomed .es-pin{opacity:0}.es-beacon-stem{stroke:var(--es-alert);stroke-opacity:.55;stroke-width:1px;vector-effect:non-scaling-stroke}.es-beacon{cursor:pointer}.es-beacon-dia{fill:var(--es-alert);stroke:var(--es-alert-tint);stroke-width:.5px}.es-beacon-id{fill:var(--es-alert-tint);font-size:calc(11px * var(--es-inv,1));font-variant-numeric:tabular-nums;font-weight:600}.es-beacon.is-on .es-beacon-dia,.es-beacon.is-selected .es-beacon-dia{fill:var(--es-alert-lit);stroke:var(--es-text);stroke-width:.8px}.es-beacon.is-selected .es-beacon-id{fill:var(--es-text)}.es-stage.is-zoomed .es-beacon.is-mute{opacity:.22}.es-tile{cursor:pointer}.es-tile-top{fill:url(#es-g-tile);stroke:var(--es-mint-lit);stroke-width:.5px}.es-tile-top.is-enterprise{fill:var(--es-mint-face);stroke:var(--es-secure);stroke-dasharray:1.6 1.2;stroke-width:.6px}.es-tile-side{fill:var(--es-mint-face)}.es-tile-code{font-size:calc(8.5px * var(--es-inv,1));text-anchor:middle;fill:var(--es-ink);pointer-events:none;font-weight:700}.es-tile-code.is-enterprise{fill:var(--es-secure)}.es-tile.is-on .es-tile-top{fill:url(#es-g-tile-on);stroke:var(--es-text)}.es-tile.is-selected .es-tile-top{stroke:var(--es-text);stroke-width:1px}.es-stage.is-zoomed .es-tile.is-mute{opacity:.22}.es-mit{stroke:var(--es-secure);stroke-width:1.3px;fill:none;opacity:.95;vector-effect:non-scaling-stroke;stroke-dasharray:3 3;pointer-events:none}.es-start{pointer-events:none}.es-start-ring{fill:none;stroke:var(--es-secure);stroke-width:1.2px;vector-effect:non-scaling-stroke}.es-start-dot{fill:var(--es-secure)}.es-start text{fill:var(--es-secure);font-size:calc(12px * var(--es-inv,1));font-weight:600}.es-card{border:1px solid var(--es-stage-border);background:color-mix(in srgb, var(--es-floor) 90%, transparent);-webkit-backdrop-filter:blur(10px);width:300px;box-shadow:0 18px 40px color-mix(in srgb, var(--es-ink) 35%, transparent);color:var(--es-ink-soft);border-radius:14px;flex-direction:column;gap:10px;padding:16px 18px;display:flex;position:absolute;top:16px;left:16px}.es-card h2{color:var(--es-text);letter-spacing:-.01em;margin:0;font-size:20px;font-weight:600;line-height:1.2}.es-card-lede{margin:0;font-size:13.5px;line-height:1.5}.es-hint{color:var(--es-muted);margin:0;font-size:12.5px}.es-back{font:inherit;color:var(--es-scan);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:6px;padding:2px 0;font-size:13px;font-weight:600;display:inline-flex}.es-back:hover{text-decoration:underline}.es-stats{border-top:1px solid var(--es-line);border-bottom:1px solid var(--es-line);grid-template-columns:1fr 1fr;gap:8px 14px;padding:10px 0;display:grid}.es-stats div{align-items:baseline;gap:7px;display:flex}.es-stats b{color:var(--es-text);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;line-height:1}.es-stats b.is-warn{color:var(--es-alert-lit)}.es-stats span{color:var(--es-muted);font-size:12.5px;line-height:1.25}.es-legend{color:var(--es-muted);flex-direction:column;gap:6px;font-size:12.5px;display:flex}.es-legend div{align-items:center;gap:9px;display:flex}.es-key{flex:none;width:22px;height:14px;overflow:visible}.es-key-top{fill:var(--es-crown);stroke:var(--es-scan);stroke-width:.7px}.es-key-a{fill:var(--es-surface-lift)}.es-key-b{fill:var(--es-riser)}.es-key-gap{fill:var(--es-alert)}.es-key-dot{fill:var(--es-scan-tint)}.es-key-tile{fill:var(--es-mint)}.es-key-tile-ent{fill:var(--es-mint-face);stroke:var(--es-secure);stroke-width:.8px;stroke-dasharray:2 1.5}.es-key-line,.es-toggle .es-key-flow{fill:none;stroke:var(--es-scan);stroke-width:1.5px}.es-toggle .es-key-control{stroke:var(--es-secure);stroke-width:1.4px;stroke-dasharray:4 3}.es-toggle .es-key-attack{stroke:var(--es-alert);stroke-width:1.6px;stroke-dasharray:2 3}.es-tier-compact .es-card{width:240px}.es-tier-compact .es-card-lede,.es-tier-compact .es-legend,.es-tier-compact .es-hint{display:none}.es-tier-top .es-card{gap:6px;width:auto;padding:12px 14px;top:12px;left:12px;right:12px}.es-tier-top .es-legend,.es-tier-top .es-hint{display:none}.es-brief{border:1px solid var(--es-stage-border);background:color-mix(in srgb, var(--es-floor) 92%, transparent);-webkit-backdrop-filter:blur(10px);width:360px;box-shadow:0 18px 40px color-mix(in srgb, var(--es-ink) 35%, transparent);color:var(--es-ink-soft);z-index:3;border-radius:14px;flex-direction:column;display:flex;position:absolute;top:16px;bottom:64px;right:16px;overflow:hidden}.es-brief-head{border-bottom:1px solid var(--es-line);flex-direction:column;gap:6px;padding:16px 18px 12px;display:flex;position:relative}.es-brief-kind{color:var(--es-muted);align-items:center;gap:8px;font-size:12px;display:flex}.es-idchip{border:1px solid var(--es-alert-deep);color:var(--es-alert-tint);background:color-mix(in srgb, var(--es-alert) 12%, transparent);font-variant-numeric:tabular-nums;border-radius:6px;padding:2px 7px;font-size:12px;font-weight:600}.es-idchip.is-control{border-color:var(--es-mint-deep);color:var(--es-mint-lit);background:color-mix(in srgb, var(--es-secure) 8%, transparent)}.es-idchip.is-component{border-color:var(--es-scan-deep);color:var(--es-scan-tint);background:color-mix(in srgb, var(--es-scan) 10%, transparent)}.es-brief h3{color:var(--es-text);letter-spacing:-.01em;margin:0;padding-right:28px;font-size:20px;font-weight:600;line-height:1.2}.es-brief-lede{margin:0;font-size:13.5px;line-height:1.5}.es-brief-close{width:28px;height:28px;font:inherit;color:var(--es-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:12px;right:12px}.es-brief-close:hover{background:var(--es-floor-lit);color:var(--es-text)}.es-brief-body{flex-direction:column;padding:6px 18px 16px;display:flex;overflow:auto}.es-brief section{border-bottom:1px solid var(--es-line);flex-direction:column;gap:6px;padding:12px 0;display:flex}.es-brief section:last-of-type{border-bottom:0}.es-brief h4{color:var(--es-muted);margin:0;font-size:12px;font-weight:600}.es-brief section p{margin:0;font-size:13.5px;line-height:1.5}.es-test{border-left:2px solid var(--es-mint-deep);padding-left:10px;font-style:italic}.es-caveat{color:var(--es-muted);font-size:12px}.es-warn-note{color:var(--es-alert-lit);font-weight:600}.es-elsewhere{color:var(--es-scan-tint)}.es-row{width:calc(100% + 18px);font:inherit;text-align:left;cursor:pointer;color:inherit;background:0 0;border:0;border-radius:8px;flex-direction:column;gap:2px;margin:0 -9px;padding:7px 9px;display:flex}.es-row:hover{background:var(--es-floor-lit)}.es-row b{color:var(--es-text);font-size:13.5px;font-weight:600}.es-row-meta{color:var(--es-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.es-ev{align-items:center;gap:5px;display:inline-flex}.es-ev i{border-radius:50%;width:7px;height:7px;display:inline-block}.es-ev-documented i{background:var(--es-secure)}.es-ev-claim i{background:var(--es-claim)}.es-ev-recommendation i{background:var(--es-scan)}.es-pills{flex-wrap:wrap;gap:6px;display:flex}.es-pills span{border:1px solid var(--es-scan-deep);color:var(--es-scan-tint);border-radius:999px;padding:3px 9px;font-size:12px}.es-brief-foot{flex-wrap:wrap;gap:8px;margin-top:auto;padding:12px 0 0;display:flex}.es-cta{background:var(--es-secure);color:var(--es-ink);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:700;display:inline-flex}.es-cta:hover{background:var(--es-mint-lit)}.es-cta-ghost{color:var(--es-ink-soft);border:1px solid var(--es-stage-border);background:0 0;font-weight:600}.es-cta-ghost:hover{border-color:var(--es-scan);color:var(--es-text)}.es-tier-compact .es-brief{width:300px;inset:16px auto 64px 16px}.es-tier-compact.has-brief .es-card{display:none}.es-tier-top .es-brief{width:auto;max-height:60%;inset:auto 8px 8px}.es-tier-top.has-brief .es-card{display:none}.es-toggles{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex;position:absolute;bottom:14px;right:16px}.es-toggle{border:1px solid var(--es-stage-border);background:color-mix(in srgb, var(--es-floor) 85%, transparent);font:inherit;color:var(--es-muted);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:12.5px;display:inline-flex}.es-toggle svg{width:18px;height:6px;overflow:visible}.es-toggle:hover{border-color:var(--es-scan)}.es-toggle.is-on{color:var(--es-text);border-color:var(--es-crown)}.es-tier-top .es-toggles{display:none}.es-tip{pointer-events:none;border:1px solid var(--es-stage-border);background:color-mix(in srgb, var(--es-ink) 95%, transparent);max-width:260px;color:var(--es-ink-soft);opacity:0;z-index:2;border-radius:8px;padding:7px 10px;font-size:12.5px;transition:opacity .12s;position:absolute;top:0;left:0}.es-tip.is-shown{opacity:1}.es-tip b{color:var(--es-text);font-weight:600;display:block}.es-rail{border-top:1px solid var(--es-line);background:color-mix(in srgb, var(--es-floor) 92%, transparent);-webkit-backdrop-filter:blur(10px);z-index:2;flex-wrap:wrap;align-items:center;gap:18px;padding:10px 16px 12px;display:flex;position:absolute;bottom:0;left:0;right:0}.es-track{flex:520px;align-items:center;min-width:0;display:flex}.es-gstep{font:inherit;text-align:left;color:var(--es-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:0 auto;align-items:center;gap:10px;min-width:0;padding:6px 10px;display:flex}.es-gstep:hover{background:var(--es-floor-lit)}.es-gnum{border:1.5px solid var(--es-stage-border);width:24px;height:24px;color:var(--es-muted);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;font-size:11px;display:grid}.es-gtext{min-width:0;display:block}.es-gstep b{color:var(--es-ink-soft);white-space:nowrap;font-size:13px;font-weight:600;line-height:1.2;display:block}.es-gsub{white-space:nowrap;font-size:11.5px;display:block}.es-gstep.is-now .es-gnum{border-color:var(--es-scan);color:var(--es-scan);box-shadow:0 0 0 4px color-mix(in srgb, var(--es-scan) 12%, transparent)}.es-gstep.is-now b{color:var(--es-text)}.es-gstep.is-done .es-gnum{background:var(--es-secure);border-color:var(--es-secure);color:var(--es-ink)}.es-link{background:var(--es-stage-border);flex:16px;min-width:12px;height:1.5px;margin:0 2px}.es-link.is-done{background:var(--es-mint-deep)}.es-ghint{color:var(--es-ink-soft);flex:280px;margin:0;font-size:13px;line-height:1.45}.es-tour{border:1px solid var(--es-mint-deep);font:inherit;color:var(--es-secure);white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600}.es-tour:hover{background:color-mix(in srgb, var(--es-secure) 8%, transparent)}.es-tier-top .es-rail{gap:8px;padding:8px 10px}.es-tier-top .es-gtext,.es-tier-top .es-ghint{display:none}.es-tier-top .es-track{flex:auto}.es-tier-top .es-link{min-width:6px}.es-tier-compact .es-gsub{display:none}.es-toggles{bottom:calc(var(--es-rail-h,56px) + 10px)}.es-stage :focus-visible,.es-root button:focus-visible{outline:2px solid var(--es-scan);outline-offset:2px;border-radius:4px}.es-zone:focus-visible .es-zone-top{stroke:var(--es-scan);stroke-width:2px}.es-beacon:focus-visible .es-beacon-dia,.es-tile:focus-visible .es-tile-top{stroke:var(--es-text);stroke-width:1.4px}.es-live{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:no-preference){.es-stage.is-entering .es-rise{animation:.8s cubic-bezier(.2,.75,.2,1) backwards es-settle;animation-delay:var(--es-d,0s)}.es-stage.is-entering .es-draw{animation:1.3s cubic-bezier(.4,0,.2,1) backwards es-draw;animation-delay:var(--es-d,0s)}.es-stage.is-entering .es-packet{opacity:0}.es-packet{transition:opacity .6s}}@keyframes es-settle{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes es-draw{0%{stroke-dasharray:0 1;stroke-opacity:0}to{stroke-dasharray:1 0}}@media (prefers-reduced-motion:no-preference){.es-packet{animation:3.6s linear infinite es-run}.es-trace-attack{animation:1.2s linear infinite es-march}.es-start-pulse{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-out infinite es-pulse}}@media (prefers-reduced-motion:reduce){.es-packet{display:none}}@keyframes es-run{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}@keyframes es-march{to{stroke-dashoffset:-14px}}@keyframes es-pulse{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(2.2)}}.ex-root{--abyss:#031c1a;--surface:#07241f;--surface-lift:#0a2826;--line:#0e3530;--line-light:#1a3935;--text:#dffff8;--muted:#7fb8ae;--secure:#00ff94;--alert:#ff6b35;--scan:#64e8ff;--sans:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;background:var(--abyss);height:100vh;color:var(--text);font-family:var(--sans);flex-direction:column;font-size:14px;line-height:1.55;display:flex;overflow:hidden}.ex-root *,.ex-root :before,.ex-root :after{box-sizing:border-box}.ex-root p{margin:4px 0 10px}.ex-root em{color:var(--scan);font-style:normal}.ex-header{justify-content:space-between;align-items:center;gap:16px;padding:12px 22px 8px;display:flex}.ex-brand{align-items:flex-start;gap:11px;display:flex}.ex-brand-logo{flex:none;width:auto;height:22px;margin-top:1px;display:block}.ex-brand-title{letter-spacing:.01em;font-size:17px;font-weight:700}.ex-brand-sub,.ex-brand-meta{color:var(--muted);font-size:11.5px;font-family:var(--mono)}.ex-tabs{border-bottom:1px solid var(--line);flex:none;gap:4px;padding:0 16px;display:flex;overflow-x:auto}.ex-tab{color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:10px 12px;font-size:13.5px;transition:color .15s,border-color .15s;display:inline-flex}.ex-tab:hover{color:var(--text)}.ex-tab.is-active{color:var(--scan);border-bottom-color:var(--scan);background:linear-gradient(#0000,#64e8ff0f)}.ex-content{flex:1;min-height:0;overflow:auto}.ex-content.is-graph{display:flex;overflow:hidden}.ex-content.is-graph>*{flex:1}.ex-view{flex-direction:column;gap:18px;max-width:1380px;margin:0 auto;padding:22px 26px 60px;display:flex}.ex-intro{max-width:900px}.ex-intro p{color:var(--text);opacity:.92;font-size:14.5px}.ex-eyebrow{font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:12px 0 3px;font-size:10.5px}.ex-eyebrow.ex-alert{color:var(--alert)}.ex-eyebrow.ex-secure{color:var(--secure)}.ex-h2{letter-spacing:-.01em;margin:2px 0 6px;font-size:26px;font-weight:700;line-height:1.2}.ex-h3{margin:0;font-size:18px;font-weight:700;line-height:1.3}.ex-h4{margin:2px 0 4px;font-size:15px;font-weight:700}.ex-question{color:var(--scan);margin:0 0 8px;font-size:15.5px}.ex-sub{color:var(--muted);font-size:12.5px;font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ex-lead{font-size:15px}.ex-note{color:var(--muted);border-top:1px solid var(--line);margin-top:12px;padding-top:10px;font-size:12.5px}.ex-test{border-left:2px solid var(--secure);padding-left:10px;font-style:italic}.ex-two{grid-template-columns:1fr 1fr;gap:18px;display:grid}.ex-three{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.ex-two .ex-eyebrow,.ex-three .ex-eyebrow{margin-top:8px}.ex-card{background:var(--surface);border:1px solid var(--line-light);border-radius:12px;padding:16px 20px 18px}.ex-card-accent{border-color:#64e8ff59;box-shadow:0 0 0 1px #64e8ff0d,0 12px 40px #0000004d}.ex-card-alert{border-color:#ff6b3566}.ex-card-secure{border-color:#00ff944d}.ex-card-head{align-items:center;gap:14px;margin-bottom:8px;display:flex}.ex-card-head>div:nth-child(2){flex:1;min-width:0}.ex-card-n{width:40px;height:40px;color:var(--abyss);background:var(--scan);border-radius:50%;flex:none;place-items:center;font-size:16px;font-weight:800;display:grid;box-shadow:0 0 18px #64e8ff59}.ex-card-n-alert{background:var(--alert);box-shadow:0 0 18px #ff6b3559}.ex-card-nav{gap:6px;display:flex}.ex-btn{background:var(--abyss);color:var(--text);border:1px solid var(--line-light);font:inherit;cursor:pointer;border-radius:7px;align-items:center;gap:6px;padding:6px 11px;font-size:12.5px;transition:border-color .15s,color .15s;display:inline-flex}.ex-btn:hover{border-color:var(--secure);color:var(--secure)}.ex-btn:disabled{opacity:.4;cursor:default}.ex-chips{flex-wrap:wrap;align-items:center;gap:7px;margin:5px 0 8px;display:flex}.ex-chip{background:var(--abyss);border:1px solid var(--line-light);font:inherit;color:var(--text);cursor:pointer;text-align:left;border-radius:999px;align-items:center;gap:7px;padding:4px 11px 4px 6px;font-size:12.5px;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.ex-chip:hover{background:var(--surface-lift)}.ex-chip-id{font-family:var(--mono);letter-spacing:.04em;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:700}.ex-chip-gap{border-color:#ff6b3573}.ex-chip-gap .ex-chip-id{color:var(--alert);background:#ff6b3529}.ex-chip-gap.is-active,.ex-chip-gap:hover{border-color:var(--alert);box-shadow:0 0 0 2px #ff6b3526}.ex-chip-control{border-color:#00ff9466}.ex-chip-control .ex-chip-id{color:var(--secure);background:#00ff9424}.ex-chip-control.is-active,.ex-chip-control:hover{border-color:var(--secure);box-shadow:0 0 0 2px #00ff9424}.ex-chip-component{border-color:#64e8ff66;padding-left:9px}.ex-chip-component:hover{border-color:var(--scan)}.ex-badge{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:5px;margin:6px 0;padding:4px 9px;font-size:10.5px;display:inline-block}.ex-badge-documented{color:var(--secure);background:#00ff9414;border-color:#00ff9480}.ex-badge-claim{color:var(--alert);background:#ff6b3514;border-color:#ff6b358c}.ex-badge-recommendation{color:var(--scan);background:#64e8ff14;border-color:#64e8ff80}.ex-tiles{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:8px 0 12px;display:grid}.ex-tiles-row{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.ex-tile{text-align:left;background:var(--abyss);border:1px solid var(--line-light);font:inherit;color:var(--text);cursor:pointer;border-radius:11px;align-items:center;gap:11px;min-width:0;padding:10px 12px;transition:border-color .18s,box-shadow .18s,background .18s,transform .18s;display:flex;position:relative}.ex-tile:hover{background:var(--surface-lift);transform:translateY(-1px)}.ex-tile-icon{border:1.5px solid var(--scan);width:38px;height:38px;color:var(--scan);background:var(--surface);border-radius:50%;flex:none;place-items:center;transition:box-shadow .18s,background .18s;display:grid}.ex-tile-icon-secure,.ex-tile-secure .ex-tile-icon{border-color:var(--secure);color:var(--secure)}.ex-tile-alert .ex-tile-icon{border-color:var(--alert);color:var(--alert)}.ex-tile-text{flex-direction:column;min-width:0;display:flex}.ex-tile-label{font-size:13.5px;font-weight:600;line-height:1.25}.ex-tile-sub{color:var(--muted);margin-top:2px;font-size:11.5px;line-height:1.3}.ex-tile-n{background:var(--scan);width:22px;height:22px;color:var(--abyss);border:2px solid var(--abyss);border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid;position:absolute;top:-8px;left:-6px}.ex-tile-alert .ex-tile-n{background:var(--alert)}.ex-tile-secure .ex-tile-n{background:var(--secure)}.ex-tile-tag{font-family:var(--mono);letter-spacing:.04em;color:var(--scan);background:#64e8ff1f;border-radius:999px;flex:none;margin-left:auto;padding:2px 7px;font-size:10px;font-weight:700}.ex-tile-secure .ex-tile-tag{color:var(--secure);background:#00ff9424}.ex-tile-alert .ex-tile-tag{color:var(--alert);background:#ff6b3529}.ex-tile.is-active{border-color:var(--scan);background:var(--surface-lift);box-shadow:0 0 0 2px #64e8ff2e,0 8px 24px #00000059}.ex-tile-secure.is-active{border-color:var(--secure);box-shadow:0 0 0 2px #00ff9429,0 8px 24px #00000059}.ex-tile-alert.is-active{border-color:var(--alert);box-shadow:0 0 0 2px #ff6b3529,0 8px 24px #00000059}.ex-tile.is-active .ex-tile-icon{background:var(--abyss);box-shadow:0 0 18px}.ex-tile-sm{padding:8px 10px}.ex-tile-sm .ex-tile-icon{width:32px;height:32px}.ex-tile-sm .ex-tile-label{font-size:12.5px}.ex-tile-lg{padding:13px 14px}.ex-tile-lg .ex-tile-icon{width:46px;height:46px}.ex-tile-lg .ex-tile-label{font-size:14.5px}.ex-strip{flex-wrap:wrap;align-items:center;gap:6px 0;margin:8px 0;display:flex}.ex-strip-item{align-items:center;display:flex}.ex-strip .ex-tile{min-width:200px;max-width:250px}.ex-strip-attack .ex-tile{min-width:210px}.ex-strip-note{color:var(--muted);align-items:center;gap:8px;margin-top:-4px;font-size:12.5px;display:flex}.ex-arrow{flex-direction:column;justify-content:center;align-items:center;min-width:34px;margin:0 4px;display:inline-flex}.ex-arrow-line{border-top:2px solid var(--scan);width:30px;height:0;position:relative}.ex-arrow-line:after{content:"";border:4px solid #0000;border-left:7px solid var(--scan);position:absolute;top:-5px;right:-2px}.ex-arrow-control .ex-arrow-line{border-top-style:dashed;border-color:var(--secure)}.ex-arrow-control .ex-arrow-line:after{border-left-color:var(--secure)}.ex-arrow-attack .ex-arrow-line{border-top-style:dotted;border-color:var(--alert)}.ex-arrow-attack .ex-arrow-line:after{border-left-color:var(--alert)}.ex-arrow-label{font-family:var(--mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:120px;margin-bottom:3px;font-size:10px;overflow:hidden}.ex-arrow.is-vertical{flex-direction:row;gap:10px;min-height:30px;margin:2px 0}.ex-arrow.is-vertical .ex-arrow-line{border-top:0;border-left:2px solid var(--scan);width:0;height:26px;margin-left:22px}.ex-arrow.is-vertical .ex-arrow-line:after{border:4px solid #0000;border-top:7px solid var(--scan);top:auto;bottom:-3px;right:-5px}.ex-arrow-control.is-vertical .ex-arrow-line{border-left-style:dashed;border-color:var(--secure)}.ex-arrow-control.is-vertical .ex-arrow-line:after{border-top-color:var(--secure);border-left-color:#0000}.ex-arrow.is-vertical .ex-arrow-label{max-width:none;margin:0}.ex-impact-tile{border:1.5px dashed var(--alert);color:var(--alert);border-radius:11px;align-items:center;gap:8px;padding:9px 14px;font-weight:700;display:inline-flex}.ex-impact{color:var(--alert);align-items:flex-start;gap:8px;margin-top:4px;font-size:13.5px;display:flex}.ex-impact span{color:var(--text)}.ex-impact strong{color:var(--alert)}.ex-split{grid-template-columns:300px 1fr;align-items:start;gap:20px;display:grid}.ex-side{flex-direction:column;gap:8px;display:flex;position:sticky;top:0}.ex-main{flex-direction:column;gap:14px;min-width:0;display:flex}.ex-coverage{color:var(--muted);align-items:center;gap:12px;margin-top:6px;font-size:12.5px;display:flex}.ex-coverage-bar{background:var(--line);border-radius:3px;width:220px;height:6px;overflow:hidden}.ex-coverage-bar>span{background:linear-gradient(90deg, var(--secure), var(--scan));height:100%;display:block}.ex-layers{flex-direction:column;gap:10px;display:flex}.ex-layer{background:var(--surface);border:1px solid var(--line-light);border-radius:12px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.ex-layer.is-open{border-color:#00ff9466;box-shadow:0 10px 34px #0000004d}.ex-layer-head{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:14px;padding:14px 18px;display:flex}.ex-layer-head:hover{background:var(--surface-lift)}.ex-layer-n{width:34px;height:34px;font-weight:800;font-family:var(--mono);color:var(--secure);background:#00ff941f;border:1px solid #00ff9466;border-radius:50%;flex:none;place-items:center;display:grid}.ex-layer-icon{border:1.5px solid var(--secure);width:40px;height:40px;color:var(--secure);border-radius:50%;flex:none;place-items:center;display:grid}.ex-layer-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ex-layer-title .ex-question{margin:0;font-size:13.5px}.ex-layer-meta{font-family:var(--mono);color:var(--muted);white-space:nowrap;font-size:11px}.ex-layer-chev{color:var(--muted);text-align:center;width:24px;font-size:20px}.ex-layer-body{border-top:1px solid var(--line);padding:0 18px 18px}.ex-layer-body>.ex-lead{margin-top:12px}.ex-detail{background:var(--abyss);border:1px solid #00ff9459;border-radius:10px;margin-top:14px;padding:14px 16px 12px;animation:.22s ease-out ex-in}.ex-detail-gap{border-color:#ff6b3566}.ex-detail-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ex-detail-head .ex-eyebrow{margin-top:0}.ex-detail-foot{justify-content:space-between;align-items:flex-end;gap:12px;margin-top:6px;display:flex}@keyframes ex-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.ex-list{flex-direction:column;gap:6px;margin:4px 0 8px;padding:0;list-style:none;display:flex}.ex-list li{align-items:flex-start;gap:8px;display:flex}.ex-list li svg{color:var(--secure);flex:none;margin-top:4px}.ex-list-two{grid-template-columns:1fr 1fr;gap:8px 22px;display:grid}.ex-sources{margin-top:8px}.ex-sources ul{margin:2px 0 0;padding-left:16px;font-size:12.5px}.ex-sources.is-compact ul{flex-wrap:wrap;gap:4px 16px;padding-left:0;list-style:none;display:flex}.ex-sources a{color:var(--scan);text-decoration:none}.ex-sources a:hover{color:var(--secure);text-decoration:underline}.ex-providers{grid-template-columns:repeat(3,1fr);align-items:start;gap:14px;display:grid}.ex-provider-head{align-items:center;gap:12px;margin-bottom:6px;display:flex}.ex-provider p{font-size:13.5px}.ex-lane{border:1px dashed var(--line-light);border-radius:10px;padding:8px 12px 6px}.ex-lane-label{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;margin-bottom:4px;font-size:11px;display:flex}.ex-lane-bridge{justify-content:center;padding:2px 0;display:flex}.ex-lane-bridge .ex-arrow-line{margin-left:0}.ex-loop-note{font-family:var(--mono);color:var(--muted);align-items:center;gap:5px;font-size:11px;display:inline-flex}.ex-stack{grid-template-columns:1.15fr 1fr;align-items:start;gap:22px;display:grid}.ex-stack-col{flex-direction:column;gap:4px;display:flex}.ex-stack-col .ex-tile{width:100%}.ex-stack-item{flex-direction:column;display:flex}.ex-stack-col:last-child .ex-stack-item{margin-bottom:8px}@media (width<=1100px){.ex-providers,.ex-split{grid-template-columns:1fr}.ex-side{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid;position:static}}@media (width<=800px){.ex-view{padding:16px 14px 48px}.ex-two,.ex-three,.ex-list-two,.ex-stack{grid-template-columns:1fr}.ex-h2{font-size:22px}.ex-strip .ex-tile{min-width:160px}.ex-header{padding:10px 14px 6px}.ex-brand-meta{display:none}}@media (prefers-reduced-motion:reduce){.ex-root *{transition:none!important;animation:none!important}}.ex-zones{flex-direction:column;gap:10px;margin:10px 0 4px;display:flex}.ex-zone{border:1px solid var(--line-light);background:var(--abyss);border-radius:11px;transition:border-color .18s;overflow:hidden}.ex-zone.is-active{border-color:#ff6b358c}.ex-zone-head{background:var(--surface-lift);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 14px;display:flex}.ex-zone-n{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--scan);font-size:10.5px}.ex-zone-title{font-size:14px;font-weight:700}.ex-zone-body{grid-template-columns:1.4fr 1fr;align-items:start;gap:12px 18px;padding:12px 14px;display:grid}.ex-zone-tiles{flex-wrap:wrap;gap:8px;display:flex}.ex-zone-tiles .ex-tile{flex:200px;max-width:280px}.ex-loophole{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:#ff6b350f;border:1px dashed #ff6b3580;border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px;padding:9px 12px;font-size:13px;transition:background .15s,border-color .15s;display:flex}.ex-loophole svg{color:var(--alert);flex:none}.ex-loophole strong{color:var(--alert)}.ex-loophole:hover,.ex-loophole.is-active{background:#ff6b351f;border-style:solid}.ex-loophole-gaps{font-family:var(--mono);color:var(--alert);margin-left:auto;font-size:10.5px}.ex-loophole-hub{cursor:default;background:#64e8ff0d;border-color:#64e8ff66}.ex-loophole-hub svg{color:var(--scan)}.ex-paths{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.ex-path{background:var(--surface);border:1px solid var(--line-light);font:inherit;color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 12px 4px 6px;font-size:12px;display:inline-flex}.ex-path:hover,.ex-path.is-active{border-color:var(--scan);color:var(--text)}.ex-path-id{width:20px;height:20px;color:var(--scan);font-size:11px;font-weight:800;font-family:var(--mono);background:#64e8ff24;border-radius:50%;place-items:center;display:grid}.ex-path .ex-arrow{min-width:24px;margin:0}.ex-path .ex-arrow-line{width:18px}.ex-corrections{grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 0;padding:0;list-style:none;display:grid}.ex-corrections li{background:var(--abyss);border:1px solid var(--line-light);border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;font-size:13px;display:flex}.ex-correction-claim,.ex-correction-fix{align-items:flex-start;gap:8px;display:flex}.ex-correction-claim svg{color:var(--alert);flex:none;margin-top:3px}.ex-correction-claim span{color:var(--muted);-webkit-text-decoration:line-through #ff6b3599;text-decoration:line-through #ff6b3599}.ex-correction-fix svg{color:var(--secure);flex:none;margin-top:3px}@media (width<=800px){.ex-zone-body,.ex-corrections{grid-template-columns:1fr}}.pg-root{--abyss:#031c1a;--surface:#07241f;--surface-lift:#0a2826;--line:#0e3530;--line-light:#1a3935;--text:#dffff8;--muted:#7fb8ae;--secure:#00ff94;--alert:#ff6b35;--scan:#64e8ff;--sans:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;background:var(--abyss);color:var(--text);font-family:var(--sans);min-height:100vh;font-size:14px;line-height:1.55}.pg-root *,.pg-root :before,.pg-root :after{box-sizing:border-box}.pg-root p{margin:4px 0 10px}.pg-header{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#031c1aeb;flex-direction:column;gap:8px;padding:10px 24px 8px;display:flex;position:sticky;top:0}.pg-nav{flex-wrap:wrap;gap:4px 6px;display:flex}.pg-nav a{color:var(--muted);border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 9px 3px 4px;font-size:12px;text-decoration:none;display:inline-flex}.pg-nav a:hover{color:var(--scan);border-color:var(--line-light)}.pg-nav-n{width:18px;height:18px;font-family:var(--mono);color:var(--scan);background:#64e8ff1f;border-radius:50%;place-items:center;font-size:10px;font-weight:700;display:grid}.pg-key{border-bottom:1px solid var(--line);background:var(--surface);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 18px;padding:10px 24px;font-size:12.5px;display:flex}.pg-key-title{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--scan);font-size:10.5px}.pg-key-item{align-items:center;gap:6px;display:inline-flex}.pg-key-box{border:1.4px solid var(--scan);background:var(--surface);border-radius:3px;width:18px;height:12px}.pg-main{flex-direction:column;gap:46px;max-width:1320px;margin:0 auto;padding:10px 24px 80px;display:flex}.pg-section{flex-direction:column;gap:12px;scroll-margin-top:110px;display:flex}.pg-section-head{align-items:flex-start;gap:16px;display:flex}.pg-section-n{width:40px;height:40px;font-weight:800;font-family:var(--mono);color:var(--scan);background:#64e8ff1f;border:1px solid #64e8ff66;border-radius:50%;flex:none;place-items:center;margin-top:4px;font-size:15px;display:grid}.pg-section-head .ex-h2{margin-top:4px}.pg-intro{opacity:.92;max-width:980px;font-size:14.5px}.pg-graph{border:1px solid var(--line-light);border-radius:12px;height:720px;overflow:hidden}.pg-graph .asg-root{height:100%}.pg-hint{color:var(--muted);font-size:12.5px;font-family:var(--mono);align-items:center;gap:8px;display:flex}.pg-paths{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px;display:grid}.pg-path{background:var(--surface);border:1px solid var(--line-light);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;display:flex}.pg-path .ex-path-id{flex:none;margin-top:2px}.pg-scenario{background:var(--surface);border:1px solid var(--line-light);border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.pg-scenario-head{align-items:flex-start;gap:12px;display:flex}.pg-scenario-head p{color:var(--text);opacity:.9;margin:2px 0 0;font-size:13.5px}.ex-tile-icon-alert{border-color:var(--alert);color:var(--alert)}.pg-badges{flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:12.5px;display:flex}.pg-retention{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.pg-retention-col p{font-size:13px}.pg-subhead{margin-top:18px}.pg-vendor{background:var(--surface);border:1px solid var(--line-light);border-radius:12px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.pg-vendor-head{align-items:flex-start;gap:12px;display:flex}.pg-vendor-grid{grid-template-columns:1.6fr 1fr;align-items:start;gap:18px;display:grid}.pg-vendor-text p{font-size:13px}.pg-sources{columns:2;column-gap:28px;padding-left:18px;font-size:12.5px}.pg-sources a{color:var(--scan);text-decoration:none}.pg-sources a:hover{color:var(--secure);text-decoration:underline}.pg-footer{text-align:center;font-family:var(--mono);color:var(--muted);border-top:1px solid var(--line);padding:20px;font-size:11px}.ex-flows{flex-direction:column;gap:5px;margin:4px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.ex-flows li{border-left:2px solid;padding:1px 0 1px 10px}.fd-wrap{background:var(--abyss);border:1px solid var(--line-light);background-image:radial-gradient(#64e8ff14 1px,#0000 1px);background-size:28px 28px;border-radius:12px;padding:6px;position:relative;overflow-x:auto}.fd-svg{width:100%;min-width:var(--fd-minw,900px);height:auto;font-family:var(--sans);display:block}.fd-box{width:100%;height:100%;color:var(--text);font-family:var(--sans);flex-direction:column;gap:4px;padding:8px 10px;font-size:12.5px;line-height:1.3;display:flex;overflow:hidden}.fd-head{align-items:center;gap:8px;min-height:30px;display:flex}.fd-icon{border:1.4px solid var(--scan);width:28px;height:28px;color:var(--scan);background:var(--abyss);border-radius:50%;flex:none;place-items:center;display:grid}.fd-box-secure .fd-icon{border-color:var(--secure);color:var(--secure)}.fd-box-alert .fd-icon{border-color:var(--alert);color:var(--alert)}.fd-box-muted .fd-icon{border-color:var(--muted);color:var(--muted)}.fd-titles{flex-direction:column;min-width:0;display:flex}.fd-title{font-size:13px;font-weight:700;line-height:1.2}.fd-box-alert .fd-title{color:var(--alert)}.fd-sub{color:var(--muted);margin-top:2px;font-size:11px;line-height:1.25}.fd-tag{font-family:var(--mono);color:var(--alert);background:#ff6b3529;border-radius:999px;flex:none;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:700}.fd-lines{flex-direction:column;gap:3px;margin:2px 0 0;padding:0;list-style:none;display:flex}.fd-line{width:100%;color:var(--text);font:inherit;text-align:left;cursor:default;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:5px;align-items:center;gap:6px;margin:0 -4px;padding:1px 4px;font-size:12px;line-height:1.25;display:flex;overflow:hidden}.fd-line>span:last-child{text-overflow:ellipsis;overflow:hidden}.fd-line.is-link{cursor:pointer}.fd-line.is-link:hover{background:#dffff812}.fd-line.is-selected{background:#00ff9424}.fd-line-tag{font-family:var(--mono);letter-spacing:.03em;border-radius:999px;flex:none;padding:1px 5px;font-size:9.5px;font-weight:700}.fd-line-tag-secure{color:var(--secure);background:#00ff9424}.fd-line-tag-alert{color:var(--alert);background:#ff6b3529}.fd-line-tag-scan{color:var(--scan);background:#64e8ff24}.fd-tip{z-index:30;border:1px solid var(--line-light);pointer-events:none;background:#07241ff7;border-radius:8px;max-width:300px;padding:8px 11px;font-size:12.5px;position:fixed;transform:translate(14px,14px);box-shadow:0 10px 30px #00000073}.fd-tip-title{margin-bottom:2px;font-weight:700}@media (width<=900px){.pg-retention,.pg-vendor-grid{grid-template-columns:1fr}.pg-sources{columns:1}.pg-graph{height:560px}}.fd-box-wrap .fd-line{white-space:normal;align-items:flex-start}.fd-box-wrap .fd-line>span:last-child{white-space:normal;overflow:visible}.fd-box-wrap .fd-line-tag{margin-top:2px}.ex-tab-soon{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#7fb8ae29;border-radius:999px;margin-left:2px;padding:1px 5px;font-size:9px}.ex-pending{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:100%;padding:40px;display:flex}.ex-pending p{max-width:520px;color:var(--muted)}.ex-pending-icon{border:1.5px solid var(--line-light);width:62px;height:62px;color:var(--muted);border-radius:50%;place-items:center;margin-bottom:6px;display:grid}.ex-pending .ex-btn{margin-top:10px}.pv-root{height:100%;min-height:0;display:flex}.pv-inspector{border-right:1px solid var(--line);background:var(--abyss);flex:none;width:320px;padding:18px 20px 28px;overflow:auto}.pv-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.pv-canvas{background:var(--abyss);flex:1;min-height:0;position:relative}.pv-svg{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.pv-svg:active{cursor:grabbing}.pv-head{pointer-events:none;position:absolute;top:14px;left:20px}.pv-head h2{margin:0;font-size:14.5px;font-weight:700}.pv-legend{color:var(--muted);gap:16px;margin-top:6px;font-size:11.5px;display:flex}.pv-legend span{align-items:center;gap:6px;display:inline-flex}.pv-lg{border-top:2px solid;width:18px;display:inline-block}.pv-lg-control{border-top-style:dashed}.pv-lg-attack{border-top-style:dotted}.pv-band-label{font-family:var(--mono);letter-spacing:1.6px;pointer-events:none;font-size:10.5px}.pv-node-label{fill:var(--text);font-size:12px;font-family:var(--sans);pointer-events:none}.pv-node:focus{outline:none}.pv-node:focus-visible circle:first-of-type{stroke-width:2.4px}.pv-toolbar{border-top:1px solid var(--line);color:var(--muted);font-size:11.5px;font-family:var(--mono);justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;display:flex}.pv-tools{align-items:center;gap:6px;display:inline-flex}.pv-zoom{text-align:center;min-width:40px}.pv-caption{color:var(--muted);border-top:1px solid var(--line);padding:8px 16px 12px;font-size:12.5px}.pv-eyebrow{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:16px 0 5px;font-size:10.5px}.pv-panel>.pv-eyebrow:first-child{margin-top:0}.pv-title{margin:0 0 4px;font-size:20px;font-weight:700;line-height:1.2}.pv-sub{color:var(--scan);margin-bottom:8px;font-size:12.5px;display:block}.pv-sub-link{font:inherit;color:var(--scan);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-size:12.5px}.pv-sub-link:hover{color:var(--secure);text-decoration:underline}.pv-p{margin:4px 0 8px;font-size:13.5px}.pv-chips{margin:4px 0}.pv-flows{flex-direction:column;gap:8px;margin:4px 0 0;padding:0;list-style:none;display:flex}.pv-flows li{border-left:2px solid var(--scan);flex-direction:column;gap:2px;padding:2px 0 2px 10px;display:flex}.pv-flows li.is-control{border-left-color:var(--secure);border-left-style:dashed}.pv-flow-btn{color:var(--text);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.pv-flow-btn:hover{color:var(--secure)}.pv-flow-detail{color:var(--muted);font-size:12px}.pv-more{color:var(--alert);font:inherit;cursor:pointer;background:0 0;border:1px dashed #ff6b3580;border-radius:7px;align-items:center;gap:6px;margin-top:4px;padding:6px 10px;font-size:12.5px;display:inline-flex}.pv-more:hover{background:#ff6b3514}.pv-back{color:var(--scan);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 0 10px;font-size:12.5px;display:inline-flex}.pv-back:hover{color:var(--secure);text-decoration:underline}.pv-sources{flex-direction:column;gap:6px;margin:2px 0 0;padding:0;font-size:12.5px;list-style:none;display:flex}.pv-sources a{color:var(--scan);text-decoration:none}.pv-sources a:hover{color:var(--secure);text-decoration:underline}.pv-inspector .ex-detail{background:0 0;border:0;margin-top:0;padding:0;animation:none}.pv-inspector .ex-detail-head{flex-direction:column;align-items:flex-start;gap:4px}.pv-inspector .ex-h3{font-size:18px}.pv-inspector .ex-two,.pv-inspector .ex-three{grid-template-columns:1fr;gap:0}.pv-inspector .ex-detail-foot{flex-direction:column;align-items:flex-start;gap:8px}@media (width<=900px){.pv-root{flex-direction:column}.pv-inspector{border-right:0;border-bottom:1px solid var(--line);width:100%;max-height:42%}}.pv-step{fill:var(--abyss);font-size:11px;font-weight:800;font-family:var(--mono)}.pv-scenarios{flex-direction:column;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.pv-scenario{text-align:left;border:1px solid var(--line-light);width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;font-size:12.5px;display:flex}.pv-scenario:hover{border-color:var(--alert);background:#ff6b350f}.pv-scenario.is-active{border-color:var(--alert);background:#ff6b351a}.pv-scenario b{font-weight:600}.pv-scenario span{color:var(--muted);font-size:11.5px}.pv-steps{counter-reset:s;flex-direction:column;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.pv-steps li{align-items:flex-start;gap:8px;font-size:12.5px;display:flex}.pv-steps li i{width:18px;height:18px;color:var(--alert);font-style:normal;font-family:var(--mono);background:#ff6b352e;border-radius:50%;flex:none;place-items:center;margin-top:1px;font-size:10px;font-weight:700;display:grid}.pv-impact{border-left:2px solid var(--alert);align-items:flex-start;gap:8px;margin:6px 0 2px;padding-left:10px;font-size:12.5px;display:flex}.pv-step-stage{font:inherit;color:var(--alert);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-size:11.5px}.pv-step-stage:hover{text-decoration:underline}.pv-more-secure{color:var(--secure);border-color:#00ff9473}.pv-more-secure:hover{background:#00ff9414}.pv-checks{flex-direction:column;gap:7px;margin:4px 0 6px;padding:0;font-size:12.5px;list-style:none;display:flex}.pv-checks li{align-items:flex-start;gap:8px;display:flex}.pv-checks li svg{color:var(--secure);flex:none;margin-top:3px}.pv-note{color:var(--muted);border-top:1px solid var(--line);margin-top:12px;padding-top:10px;font-size:12px}.pv-plain{font-size:14.5px;line-height:1.55}.pv-example-chip{border:1px dashed var(--line-light);font-family:var(--mono);color:var(--muted);border-radius:4px;margin:10px 0 2px;padding:3px 9px;font-size:10.5px;display:inline-block}.pv-example{border-left:2px solid var(--line-light);color:var(--muted);padding-left:10px}.pv-triggers{flex-direction:column;gap:7px;margin:10px 0 12px;padding:0;display:flex}.pv-triggers dt{color:var(--scan);font-size:12.5px;font-weight:600}.pv-triggers dd{color:var(--muted);margin:1px 0 0;font-size:12.5px;line-height:1.45}.pv-signals{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.pv-signals-title{margin:0 0 6px;font-size:13.5px;font-weight:700}.pv-signals-date{font-family:var(--mono);color:var(--muted);margin:2px 0 8px;font-size:10.5px}.pv-signals-list{flex-direction:column;gap:7px;margin:0;padding:0;display:flex}.pv-signals-list dt{color:var(--scan);font-size:12.5px;font-weight:600}.pv-signals-list dd{color:var(--muted);margin:1px 0 0;font-size:12.5px;line-height:1.45}.pv-band-note{fill:var(--muted);font-size:11px;font-family:var(--sans);pointer-events:none}.pv-controls{z-index:3;align-items:center;gap:8px;display:flex;position:absolute;top:12px;right:16px}.pv-seg{border:1px solid var(--line-light);background:var(--abyss);border-radius:7px;display:inline-flex;overflow:hidden}.pv-seg button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 11px;font-size:12px}.pv-seg button:hover{color:var(--text)}.pv-seg button.is-active{background:var(--secure);color:var(--abyss);font-weight:600}.pv-select{background:var(--abyss);color:var(--text);border:1px solid var(--line-light);font:inherit;border-radius:7px;padding:6px 10px;font-size:12px}.pv-select:focus{border-color:var(--secure);outline:none}.pv-node.is-glow .pv-shape{filter:drop-shadow(0 0 5px var(--pv-glow))}.pv-node.is-glow.is-selected .pv-shape{filter:drop-shadow(0 0 9px var(--pv-glow))}.ex-footer{border-top:1px solid var(--line);background:var(--abyss);text-align:center;font-family:var(--mono);color:var(--muted);flex:none;padding:7px 22px;font-size:10.5px;line-height:1.5}@media (width<=720px){.ex-footer{padding:6px 12px;font-size:10px}}
