.idl{--aws:#f90;--azure:#0078d4;--gcp:#4285f4;--canvas-a:#f0f1fa;--canvas-b:#e8e9f2;--edge-ctx:#0a0a1438}.dark .idl{--canvas-a:#0f1020;--canvas-b:#07080f;--edge-ctx:#ffffff42}.idl{background:var(--bg-1);height:100%;color:var(--text);font-family:var(--font-geist-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}.idl .ico{stroke:currentColor;stroke-width:2px;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.idl .org .ico{width:14px;height:14px;color:var(--text-3)}.idl .sb-collapse .ico{width:15px;height:15px}.idl .nav-item .ico{width:20px;height:20px}.idl .sb-user .nm{color:var(--text);font-size:13px;font-weight:500;line-height:1.2}.idl .btn{border:1px solid var(--rule);background:var(--bg-0);height:32px;color:var(--text-2);cursor:pointer;border-radius:8px;align-items:center;gap:7px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.idl .btn:hover{color:var(--text);border-color:var(--rule-strong)}.idl .btn .ico{width:15px;height:15px}.idl .btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.idl .btn.primary:hover{filter:brightness(1.08);color:#fff}.idl .search .ico{width:15px;height:15px}.idl .scope .ico{width:14px;height:14px;color:var(--text-3)}.idl .scope .cl{width:15px;height:15px}.idl .scopedd button.on{background:var(--brand-soft);color:var(--brand);font-weight:600}.idl .scopedd .cl,.idl .scopedd .ico{flex:none;width:16px;height:16px}.idl .seg{border:1px solid var(--rule);background:var(--bg-1);border-radius:10px;gap:2px;padding:3px;display:flex}.idl .seg button{height:30px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:7px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.idl .seg button .ico{width:15px;height:15px}.idl .seg button.active{background:var(--bg-0);color:var(--brand);box-shadow:var(--shadow-sm);font-weight:600}.idl .tbtn .ico{width:14px;height:14px}.idl .tbtn.on{background:var(--brand-soft);border-color:var(--brand-ring);color:var(--brand)}.idl .tbtn .badge{background:var(--brand);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}.idl .pop .lab{flex-direction:column;gap:2px;display:flex}.idl .pop .lab small{color:var(--text-3);font-size:11px;font-weight:400}.idl .sw{background:var(--bg-3);cursor:pointer;border:0;border-radius:999px;flex:none;width:34px;height:20px;position:relative}.idl .sw:after{content:"";background:var(--bg-0);width:16px;height:16px;box-shadow:var(--shadow-sm);border-radius:50%;transition:left .15s;position:absolute;top:2px;left:2px}.idl .sw.on{background:var(--brand)}.idl .sw.on:after{left:16px}.idl .chip.on{background:var(--brand-soft);border-color:var(--brand-ring);color:var(--brand);font-weight:600}.idl .stagewrap.hidden{display:none}.idl .fixstrip.on{display:block}.idl .fixstrip .nm{color:var(--text);font-weight:600}.idl .fixstrip .cl{color:var(--sev-critical);white-space:nowrap;margin-left:auto;font-weight:600}.idl .fixstrip a .ico{width:13px;height:13px}.idl .legendfoot .l{align-items:center;gap:6px;display:flex}.idl .legendfoot .ln{border-top:3.5px solid var(--sev-critical);border-radius:2px;width:22px;height:0}.idl .legendfoot .ln.safe{border-top:1.5px dashed var(--success)}.idl .legendfoot .ln.ctx{border-top:1.25px solid var(--edge-ctx)}.idl .legendfoot .ln.str{border-top:3px dashed color-mix(in srgb,var(--sev-critical) 60%,transparent)}.idl .fitbtn .ico{width:15px;height:15px}.idl .stage{transform-origin:50%;width:900px;height:560px;transition:transform .25s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1)}.idl .edges{pointer-events:none;width:900px;height:560px;position:absolute;top:0;left:0;overflow:visible}.idl .edges path{fill:none;transition:stroke .2s,opacity .2s,stroke-width .2s}.idl .edges path.vuln{stroke:var(--sev-critical);stroke-width:3.5px}.idl .edges path.safe{stroke:var(--success);stroke-width:1.5px;stroke-dasharray:6 4}.idl .edges path.ctx{stroke:var(--edge-ctx);stroke-width:1.25px}.idl .edges path.structural{stroke-dasharray:9 6;opacity:.62}.idl .edges path.dim{opacity:.14}.idl .edges path.glow{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--sev-critical) 70%,transparent));animation:1.15s ease-in-out 3 idl-pulse}@keyframes idl-pulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.idl .edges path.glow{animation:none}}.idl .node{cursor:pointer;width:60px;transition:opacity .2s;position:absolute;transform:translate(-50%,-50%)}.idl .node .card{background:var(--bg-0);border:1px solid var(--rule);width:60px;height:60px;box-shadow:var(--shadow-md);border-radius:14px;justify-content:center;align-items:center;transition:box-shadow .2s,border-color .2s;display:flex;position:relative}.idl .node .card svg,.idl .node .card use{width:30px;height:30px}.idl .node .card .lucide{width:26px;height:26px;stroke:var(--neutral);fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.idl .node .lbl{white-space:nowrap;text-align:center;color:var(--text-2);letter-spacing:-.01em;font-size:11.5px;font-weight:600;line-height:1.2;position:absolute;top:66px;left:30px;transform:translate(-50%)}.idl .node .sub{white-space:nowrap;color:var(--text-3);text-align:center;font-size:9.5px;font-family:var(--font-geist-mono),monospace;position:absolute;top:82px;left:30px;transform:translate(-50%)}.idl .node:hover .card{border-color:var(--rule-strong)}.idl .node.exposed .card{box-shadow:0 0 0 3px color-mix(in srgb,var(--sev-critical) 45%,transparent),var(--shadow-md)}.idl .node.crown .card{box-shadow:0 0 0 3px color-mix(in srgb,var(--warning) 55%,transparent),var(--shadow-md)}.idl .node.shieldn .card{box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 40%,transparent),var(--shadow-md)}.idl .node.selected .card{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring),0 8px 24px #4338ca38}.idl .node.dim{opacity:.22}.idl .node.top .card{animation:1.15s ease-in-out 3 idl-cardpulse}@keyframes idl-cardpulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.idl .node.top .card{animation:none}}.idl .mk{width:30px;height:30px;box-shadow:var(--shadow-md);border:2px solid var(--bg-0);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.idl .mk svg{width:17px;height:17px}.idl .mk.exposed{background:var(--sev-critical);top:-13px;left:-13px}.idl .mk.crown{background:var(--warning);top:-13px;right:-13px}.idl .mk.shield{background:var(--success);bottom:-13px;right:-13px}.idl .fix-on .node.ischoke .card{box-shadow:0 0 0 3px var(--brand-ring),0 8px 22px #4338ca2e}.idl .listwrap.show{display:block}.idl table.paths tbody tr.sel td{background:var(--brand-soft)}.idl .num{font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.idl table.paths th .tip{margin-left:3px}.idl .dsr-close{width:26px;height:26px;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;display:flex;position:absolute;top:13px;right:14px}.idl .dsr-close:hover{background:var(--bg-2);color:var(--text)}.idl .dsr-close .ico{width:15px;height:15px}.idl .dsr-head .t{color:var(--text);font-size:15px;font-weight:600;line-height:1.2}.idl .pill.vuln{background:color-mix(in srgb,var(--sev-critical) 13%,transparent);color:var(--sev-critical)}.idl .pill.safe{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.idl .pill.warn{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.idl .sec h4{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:7px;margin:0 0 8px;font-size:11px;font-weight:600;display:flex}.idl .sec h4 .n{background:var(--bg-2);width:18px;height:18px;color:var(--text-2);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.idl .sec h4.hack .n{background:color-mix(in srgb,var(--sev-critical) 14%,transparent);color:var(--sev-critical)}.idl .sec h4.sure .n{background:var(--brand-soft);color:var(--brand)}.idl .sec h4.fix .n{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.idl .evr .ico{width:14px;height:14px;color:var(--success);margin-top:2px}.idl .evr.no .ico{color:var(--sev-critical)}.idl .acts .act .ico{width:14px;height:14px;color:var(--text-3)}.idl .acts .act.primary .ico{color:var(--brand)}.idl .acts .act.win{border-color:color-mix(in srgb,var(--success) 40%,var(--rule))}.idl .tip{vertical-align:middle;width:14px;height:14px;color:var(--text-3);cursor:help;flex:none;justify-content:center;align-items:center;margin-left:4px;display:inline-flex;position:relative}.idl .tip svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.idl .tip:hover{color:var(--brand)}.idl .fpill .ico{width:13px;height:13px;color:var(--text-3)}.idl .fpill.on{border-color:var(--brand-ring);background:var(--brand-soft)}.idl .fsearch .ico{width:14px;height:14px}.idl .svpill.on{background:var(--brand-soft);border-color:var(--brand-ring);color:var(--brand);font-weight:600}.idl .kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.idl .kpi{border:1px solid var(--rule);background:var(--bg-0);box-shadow:var(--shadow-md);cursor:pointer;border-radius:12px;padding:14px 16px}.idl .kpi .k{letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.idl .kpi .k i{border-radius:50%;width:8px;height:8px;display:inline-block}.idl .kpi .v{color:var(--text);font-variant-numeric:tabular-nums;margin-top:6px;font-size:24px;font-weight:600;line-height:1.1}.idl .kpi.on{border-color:var(--brand-ring);box-shadow:0 0 0 2px var(--brand-ring),var(--shadow-md)}.idl .badge{border:1px solid var(--rule);height:20px;color:var(--text-2);white-space:nowrap;background:0 0;border-radius:999px;align-items:center;padding:0 7px;font-size:11px;font-weight:500;display:inline-flex}.idl .badge.proven{background:color-mix(in srgb,var(--success) 10%,transparent);border-color:color-mix(in srgb,var(--success) 30%,transparent);color:var(--success)}.idl .badge.opp{background:color-mix(in srgb,var(--warning) 10%,transparent);border-color:color-mix(in srgb,var(--warning) 30%,transparent);color:var(--warning)}.idl .kvg{grid-template-columns:1fr 1fr;gap:10px 16px;display:grid}.idl .kvg .k{color:var(--text-3);font-size:11px}.idl .kvg .v{color:var(--text);word-break:break-all;align-items:center;gap:6px;margin-top:2px;font-size:13px;display:flex}.idl .kvg .v.mono{font-family:var(--font-geist-mono),monospace;font-size:12px}.idl .kvg .v .cl{width:14px;height:14px}.idl .segp span.on{background:var(--brand-soft);color:var(--brand);border:1px solid var(--brand-ring)}.idl .pgr{border-top:1px solid var(--rule);color:var(--text-2);justify-content:space-between;align-items:center;padding:12px 14px;font-size:12.5px;display:flex}.idl .pgr .pb{align-items:center;gap:4px;display:inline-flex}.idl .pgr .pb span{border:1px solid var(--rule);min-width:30px;height:30px;color:var(--text-2);cursor:pointer;background:var(--bg-0);font-variant-numeric:tabular-nums;border-radius:7px;justify-content:center;align-items:center;padding:0 7px;font-size:12.5px;display:inline-flex}.idl .pgr .pb span.on{background:var(--brand);color:#fff;border-color:var(--brand)}.idl .pgr .pb i{color:var(--text-3);padding:0 4px;font-style:normal}.idl .navdelta.bad{background:color-mix(in srgb,var(--sev-critical) 12%,transparent);color:var(--sev-critical)}.idl .sec.col h4.tog{cursor:pointer;-webkit-user-select:none;user-select:none}.idl .sec.col h4.tog .cv{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:14px;height:14px;margin-left:auto;transition:transform .15s}.idl .sec.col h4.tog .pill{margin-left:auto}.idl .sec.col h4.tog .pill+.cv{margin-left:0}.idl .sec.col:not(.open) .sb{display:none}.idl .sec.col:not(.open) h4.tog .cv{transform:rotate(-90deg)}.idl .whatif{border:1px dashed var(--rule-strong);background:var(--bg-1);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;display:flex}.idl .whatif.on{border-style:solid;border-color:var(--brand-ring);background:var(--brand-soft)}.idl .whatif .lab{color:var(--text);font-size:13.5px;font-weight:600;display:block}.idl .whatif .lab small{color:var(--text-2);margin-top:2px;font-size:12.5px;font-weight:400;display:block}.idl .whatif .lab small b{color:var(--text)}.idl .node.removed .card{opacity:.45;border-style:dashed}.idl .node.removed .lbl{color:var(--text-3);text-decoration:line-through}.idl .node.removed:after{content:"fixed";letter-spacing:.04em;text-transform:uppercase;color:var(--success);background:var(--bg-0);border:1px solid var(--success);z-index:2;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700;position:absolute;top:-9px;left:50%;transform:translate(-50%)}.idl .node.wdim{opacity:.3}.idl .edges path.dead{stroke-dasharray:5 5;opacity:.55;stroke:var(--text-3)!important;stroke-width:1.5px!important;filter:none!important;animation:none!important}.idl .fixstrip .fx.applied .cl{color:var(--success)}.idl table.paths tr.dead td{opacity:.45}.idl table.paths tr.dead .pname{text-decoration:line-through}.idl .stagewrap2 .node.removed:after{content:"removed"}.idl table.f tr.dead td{opacity:.45}.idl table.f tr.dead .t{text-decoration:line-through}.idl svg.cl{vertical-align:middle;flex:none;width:16px;height:16px}.idl .nm svg.cl{width:18px;height:18px}.idl .pkcell svg.cl+svg.cl{margin-left:4px}.idl .node.sdim{opacity:.18}.idl .node.sdim .lbl{opacity:.6}.idl .pop .lab{line-height:1.35;display:block}.idl .pop .lab small{margin-top:2px;display:block}.idl .pop .lab .tip{vertical-align:-2px}.idl .sevcell .ico{width:13px;height:13px}.idl .sevcell.critical .ico{color:var(--sev-critical)}.idl .sevcell.high .ico{color:var(--sev-high)}.idl .sevcell.medium .ico{color:var(--sev-medium)}.idl .sevcell.low .ico{color:var(--sev-low)}.idl .sevbadge.sm{border-radius:6px;height:22px;padding:0 8px;font-size:11px}.idl .mono{font-family:var(--font-geist-mono),monospace}.idl .xlink{color:var(--brand);align-items:center;gap:4px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.idl .xlink svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.idl .chipline{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.idl .chipline .badge .cl{width:12px;height:12px;margin-right:4px}.idl .stbadge{background:var(--brand-soft);height:22px;color:var(--brand);border-radius:999px;align-items:center;padding:0 8px;font-size:11.5px;font-weight:500;display:inline-flex}.idl .stbadge.muted{background:var(--bg-2);color:var(--text-2)}.idl .stbadge.ok{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success)}.idl .stbadge.warn{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning)}.idl .stbadge.bad{background:color-mix(in srgb,var(--sev-critical) 12%,transparent);color:var(--sev-critical)}.idl .rowsub{font-family:var(--font-geist-mono),monospace;color:var(--text-3);margin-top:3px;font-size:11px}.idl .rel{border:1px solid var(--rule);background:var(--bg-0);color:inherit;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:flex}.idl .rel:hover{border-color:var(--rule-strong)}.idl .rel .nm{min-width:0;color:var(--text);flex:1;font-size:13px;font-weight:500}.idl .rel .nm small{color:var(--text-3);margin-top:2px;font-size:11.5px;font-weight:400;display:block}.idl .rel .m{color:var(--text-2);white-space:nowrap;font-size:12px}.idl .rel>span:only-child{color:var(--text);flex:1;font-size:14px;font-weight:500}.idl .rel+.rel{margin-top:6px}.idl .badge.proven,.idl .badge.opp,.idl .badge.opportunity{height:22px}.idl .rel:after{content:"";background:var(--text-3);flex:none;width:15px;height:15px;margin-left:auto;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14'/><path d='m12 5 7 7-7 7'/></svg>") 50%/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14'/><path d='m12 5 7 7-7 7'/></svg>") 50%/contain no-repeat}.idl .gl{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;flex:none;width:15px;height:15px}.idl .pgr .pb span .gl,.idl .pg .pb span .gl{width:16px;height:16px}.idl .rel .m b{color:var(--text)}.idl .chk{flex-direction:column;gap:7px;display:flex}.idl .ck{color:var(--text-2);align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.4;display:flex}.idl .ck .ico{width:15px;height:15px;color:var(--success);margin-top:1px}.idl .ck.no .ico{color:var(--sev-critical)}.idl .ck.na .ico{color:var(--text-3)}.idl .ck code{font-family:var(--font-geist-mono),monospace;background:var(--bg-1);border-radius:4px;padding:1px 5px;font-size:11px}.idl .ck b{color:var(--text);font-weight:600}.idl .scope.on{border-color:var(--brand-ring);background:var(--brand-soft);color:var(--brand);border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;font-weight:500}.idl .scope .cls .cl{width:14px;height:14px}.idl .scope-x .ico{width:12px;height:12px}.idl .spk .srch .ico{width:14px;height:14px;color:var(--text-3)}.idl .spk .body{flex:1;padding:8px;overflow:auto}.idl .spk .chev .ico{width:14px;height:14px}.idl .spk .row.cloud.on,.idl .spk .row.acc.on{color:var(--brand)}.idl .spk .row.cloud .nm.b{font-weight:500}.idl .spk .row.acc.on{background:var(--brand-soft)}.idl .spk .row .nm{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.idl .spk .row .cls .cl{width:17px;height:17px}.idl .spk .row .ico{width:16px;height:16px;color:var(--text-3)}.idl .spk .tri.on,.idl .spk .tri.partial{background:var(--brand);border-color:var(--brand)}.idl .spk .sub{margin:2px 0 4px}.idl .spk .chip.on{background:var(--brand-soft);border-color:var(--brand-ring);color:var(--brand);font-weight:600}.idl .btn.sm{height:28px;padding:0 10px;font-size:12px}.idl .btn.ghost{background:0 0;border-color:#0000}.idl .btn:disabled{opacity:.5;cursor:default}.idl .btn.brand{background:var(--brand);border-color:var(--brand);color:#fff}.idl .btn.sim{background:var(--success);border-color:var(--success);color:#fff}.idl .whatif .btn{white-space:nowrap;flex:none}.idl .btn.sim:hover{filter:brightness(.94)}.idl .btn.sim .ico{stroke:#fff}.idl .freshpop .r{color:var(--text-2);justify-content:space-between;padding:3px 0;font-size:12px;display:flex}.idl .freshpop .r b{color:var(--text);font-weight:500}.idl .freshpop .r b.warn{color:var(--warning)}.idl .freshpop .r b.na{color:var(--text-3);font-weight:400}.idl .empty{text-align:center;color:var(--text-3);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:48px 24px;display:none}.idl .empty.show{display:flex}.idl .empty .ico{width:34px;height:34px;color:var(--text-3);margin-bottom:6px}.idl .empty h3{color:var(--text);margin:0;font-size:14px;font-weight:600}.idl .empty p{margin:0;font-size:12.5px}.idl .hidden{display:none!important}.idl .subnav a.on{color:var(--brand);background:var(--brand-soft);font-weight:500}.idl .umenu .ico{flex:none;width:16px;height:16px}.idl .kpi .v .sub{color:var(--text-3);margin-left:8px;font-size:13px;font-weight:400}.idl .kpi .v small.unit{color:var(--text-3);margin-left:3px;font-size:14px;font-weight:500}.idl .kpi .v.money,.idl .kpi .v .money{color:var(--success)}.idl .fbar .fsearch.r{width:200px;min-width:0;height:32px;margin-left:auto}.idl{font-size:15px}.idl table.f,.idl table.w,.idl table.paths{font-size:14px}.idl table.f th,.idl table.w th,.idl table.paths th{font-size:11.5px}.idl table.f td .rowsub,.idl .rowsub{font-size:12.5px}.idl .kpi .k{font-size:12px}.idl .kpi .v{font-size:28px}.idl .kpi .v .sub{font-size:14px}.idl .badge{height:22px;font-size:12px}.idl .stbadge{font-size:12.5px}.idl .panel h2,.idl .csec>.ch h2,.idl .sec h3,.idl .rsect .hd h3{font-size:15px}.idl .kvg .k{font-size:12px}.idl .kvg .v{font-size:14px}.idl .stat,.idl .m,.idl .was{font-size:13px}.idl .pop .lab small{font-size:12px}.idl .xlink{font-size:13px}.idl .empty h3{font-size:16px}.idl .empty p{font-size:14px}.idl .badge,.idl .stbadge,.idl .pill,.idl .sevbadge,.idl .sevbadge.sm,.idl .sevcell,.idl .sevp,.idl .entry,.idl .fid,.idl .lay,.idl .sig{white-space:nowrap;letter-spacing:0;text-transform:none;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;height:22px;margin-top:0;padding:0 9px;font-family:inherit;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.idl .badge{border-color:var(--rule);color:var(--text-2);background:0 0}.idl .badge.solid{background:var(--brand);border-color:var(--brand);color:#fff}.idl .badge.new,.idl .stbadge,.idl .pill,.idl .sig.brand{background:var(--brand-soft);color:var(--brand)}.idl .stbadge.muted,.idl .entry,.idl .lay,.idl .sig{background:var(--bg-2);color:var(--text-2)}.idl .sig.muted{color:var(--text-3)}.idl .stbadge.ok,.idl .pill.safe,.idl .badge.proven,.idl .fid{background:color-mix(in srgb,var(--success) 10%,transparent);color:var(--success)}.idl .stbadge.warn,.idl .pill.warn,.idl .pill.str,.idl .badge.opp,.idl .badge.opportunity,.idl .entry.third_party,.idl .fid.str,.idl .lay.hi{background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--warning)}.idl .stbadge.bad,.idl .pill.vuln,.idl .entry.internet,.idl .entry.public_resource,.idl .sig.crit{background:color-mix(in srgb,var(--sev-critical) 10%,transparent);color:var(--sev-critical)}.idl .sevp i,.idl .sevcell .ico,.idl .kpi .k i{display:none}.idl .kpi .k .sevi{width:14px;height:14px}.idl .card h3,.idl .coll summary .t{letter-spacing:0;text-transform:none;color:var(--text);font-size:15px;font-weight:600}.idl .eyebrow,.idl .actH .lb,.idl .kpi .k,.idl .dsr .sec h4,.idl .pf .lab{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-size:11.5px;font-weight:600}.idl .pg .pb{align-items:center;gap:4px;display:inline-flex}.idl .pg .pb span{border:1px solid var(--rule);min-width:30px;height:30px;color:var(--text-2);background:var(--bg-0);font-variant-numeric:tabular-nums;border-radius:7px;justify-content:center;align-items:center;padding:0 7px;font-size:12.5px;display:inline-flex}.idl .pg .pb span.on{background:var(--brand);color:#fff;border-color:var(--brand)}.idl.idl .bl .n,.idl.idl .cov .k{color:var(--text);font-family:inherit;font-size:14px;font-weight:500}.idl.idl .sg .k,.idl.idl .kpc .k{letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);font-size:12px;font-weight:600}.idl.idl .sg .v,.idl.idl .kpc .v{color:var(--text);font-variant-numeric:tabular-nums;margin-top:6px;font-size:28px;font-weight:600;line-height:1.1}.idl .csec[data-norm]>.ch h2 .mi,.idl .csec[data-norm]>.ch h2 .ic,.idl .csec[data-norm]>.ch h2 svg.cl{flex:none;width:18px;height:18px;margin-right:2px}.idl .csec[data-norm]>.ch h2 .ic{background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.idl .csec[data-norm]>.ch h2 .ic svg{width:18px;height:18px}.idl .csec[data-norm]>.ch .meta p,.idl .csec[data-norm]>.ch .meta .desc,.idl .csec[data-norm]>.ch .meta .sub,.idl .csec[data-norm]>.ch .meta small{color:var(--text-2);margin:0;font-size:13.5px;font-weight:400}.idl .badge.vb{font-family:var(--font-geist-mono),monospace;height:20px;padding:0 7px;font-size:11.5px}.idl .badge.vb.pick{cursor:pointer;gap:3px;position:relative}.idl .badge.vb .gl{width:12px;height:12px}.idl .pop .opt .gl{width:15px;height:15px;color:var(--brand);visibility:hidden}.idl .pop .opt.on .gl{visibility:visible}.idl .tipbox.show{opacity:1}.idl .tbrange .lab{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:600}.idl .fbtn>.ico:last-of-type,.idl .vpill>.ico:last-of-type{width:14px;height:14px;transition:transform .15s}.idl .fbtn.open>.ico:last-of-type,.idl .vpill.open>.ico:last-of-type{transform:rotate(180deg)}.idl .fopt.on{background:var(--brand-soft);color:var(--brand);font-weight:500}.idl .fpill.iconly .ico{margin:0}@media (max-width:1366px){.idl.idl .panelr{width:320px}}@media (max-width:1180px){.idl.idl .body{flex-wrap:wrap}.idl.idl .panelr{width:100%;max-height:none;position:static}}@media (max-width:980px){.idl .kpis{grid-template-columns:repeat(2,1fr)}}.idl .page{flex-direction:column;flex:1;gap:14px;min-height:0;padding:16px 20px 0;display:flex}.idl .body{flex:1;gap:14px;min-height:0;padding-bottom:16px;display:flex}.idl .tblwrap{border:1px solid var(--rule);background:color-mix(in srgb,var(--bg-0) 80%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-width:0;box-shadow:var(--shadow-md);border-radius:12px;flex:1;overflow:auto}.idl .tblwrap.hidden{display:none}.idl table.f{border-collapse:collapse;width:100%;font-size:13px}.idl table.f th{z-index:1;background:var(--bg-0);text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--rule);white-space:nowrap;padding:12px 14px;font-size:11px;font-weight:600;position:sticky;top:0}.idl table.f th.r,.idl table.f td.r{text-align:right}.idl table.f td{border-bottom:1px solid var(--rule);vertical-align:middle;white-space:nowrap;padding:11px 14px}.idl table.f tbody tr{cursor:pointer}.idl table.f tbody tr:hover td{background:var(--bg-1)}.idl table.f tbody tr.sel td{background:var(--brand-soft)}.idl .nm{align-items:center;gap:10px;display:flex}.idl .nm .cl,.idl .nm svg,.idl .nm use{flex:none;width:18px;height:18px}.idl .nm .t{color:var(--text);font-weight:500}.idl .num{font-variant-numeric:tabular-nums;color:var(--text)}.idl .money{color:var(--success);font-variant-numeric:tabular-nums;font-weight:600}.idl .kpi .v.money{color:var(--success)}.idl .kpi .k .ico{width:13px;height:13px;color:var(--success)}.idl .panelr{border:1px solid var(--rule);background:var(--bg-0);width:372px;box-shadow:var(--shadow-md);border-radius:12px;flex:none;padding:18px 20px;position:relative;overflow-y:auto}.idl .ph{align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.idl .ph .ic{background:var(--bg-1);border:1px solid var(--rule);border-radius:10px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.idl .ph .ic svg,.idl .ph .ic use{width:24px;height:24px}.idl .ph .t{color:var(--text);font-size:15px;font-weight:600;line-height:1.2}.idl .ph .s{font-family:var(--font-geist-mono),monospace;color:var(--text-3);margin-top:2px;font-size:11px}.idl .sec{border-top:1px solid var(--rule);padding:12px 0}.idl .sec:first-of-type{border-top:0}.idl .sec h3{color:var(--text);align-items:center;gap:6px;margin:0 0 8px;font-size:13px;font-weight:600;display:flex}.idl .dep{border:1px solid var(--rule);background:var(--bg-1);border-radius:9px;align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px;font-size:12.5px;display:flex}.idl .dep .ic{flex:none;width:22px;height:22px}.idl .dep .ic svg,.idl .dep .ic use{width:18px;height:18px}.idl .dep .l{color:var(--text);flex:1;font-weight:500}.idl .dep .l small{color:var(--text-3);font-weight:400;font-family:var(--font-geist-mono),monospace;font-size:10.5px;display:block}.idl .dep .k{background:var(--bg-2);color:var(--text-2);border-radius:999px;padding:2px 8px;font-size:11px}.idl .dep .k.hard{background:color-mix(in srgb,var(--sev-critical) 12%,transparent);color:var(--sev-critical)}.idl .dep .k.win{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success)}.idl .stat{color:var(--text-2);align-items:center;gap:10px;font-size:12.5px;display:flex}.idl .stat b{color:var(--text)}.idl .pacts{gap:8px;margin-top:12px;display:flex}.idl .gwrap{border:1px solid var(--rule);background:var(--bg-0);min-width:0;box-shadow:var(--shadow-md);border-radius:12px;flex-direction:column;flex:1;display:none;overflow:hidden}.idl .gwrap.show{display:flex}.idl .istrip{border-bottom:1px solid var(--rule);flex:none;gap:6px;padding:10px 12px;display:flex;overflow-x:auto}.idl .ichip{border:1px solid var(--rule);background:var(--bg-0);height:30px;color:var(--text-2);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:0 10px;font-family:inherit;font-size:12.5px;display:inline-flex}.idl .ichip svg,.idl .ichip use{width:15px;height:15px}.idl .ichip.on{background:var(--brand-soft);border-color:var(--brand-ring);color:var(--brand);font-weight:600}.idl .stagewrap2{background:radial-gradient(ellipse at center,var(--canvas-a) 0%,var(--canvas-b) 100%);flex:1;min-height:480px;position:relative;overflow:hidden}.idl .stagewrap2 .stage{transform:translate(-50%,-50%)scale(.9)}.idl .node.cand .card{border:1.5px dashed var(--warning);box-shadow:0 0 0 3px color-mix(in srgb,var(--warning) 16%,transparent),var(--shadow-md)}.idl .legendfoot2{color:var(--text-3);align-items:center;gap:14px;font-size:11px;display:flex;position:absolute;bottom:10px;left:14px}.idl .legendfoot2 .l{align-items:center;gap:6px;display:flex}.idl .legendfoot2 .ln{border-top:3.5px solid var(--sev-critical);border-radius:2px;width:22px;height:0}.idl .legendfoot2 .ln.soft{border-top:1.25px dashed var(--edge-ctx)}.idl .legendfoot2 .ln.win{border-top:1.5px dashed var(--success)}.idl .legendfoot2 .bx{border:1.5px dashed var(--warning);border-radius:4px;width:14px;height:14px}
.apd{--aws:#f90;--azure:#0078d4;--gcp:#4285f4;--canvas-a:#f0f1fa;--canvas-b:#e8e9f2;--edge-ctx:#0a0a1438}.dark .apd{--canvas-a:#0f1020;--canvas-b:#07080f;--edge-ctx:#ffffff42}.apd{background:var(--bg-1);height:100%;color:var(--text);font-family:var(--font-geist-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}.apd .sb-user .nm{color:var(--text);font-size:13px;font-weight:500;line-height:1.2}.apd .scopedd button.on{background:var(--brand-soft);color:var(--brand);font-weight:600}.apd .scopedd .hd{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:6px 10px 4px;font-size:10px;font-weight:600}.apd .tbtn.on{background:var(--brand-soft);border-color:var(--brand-ring);color:var(--brand)}.apd .tbtn .badge{background:var(--brand);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}.apd .sw.on{background:var(--brand)}.apd .sw.on:after{left:16px}.apd .chip.on{background:var(--brand-soft);border-color:var(--brand-ring);color:var(--brand);font-weight:600}.apd .fixstrip.on{display:block}.apd .fixstrip .nm{color:var(--text);font-weight:600}.apd .legendfoot .l{align-items:center;gap:6px;display:flex}.apd .legendfoot .ln.str{border-top:3px dashed color-mix(in srgb,var(--sev-critical) 60%,transparent)}@keyframes apd-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes apd-cardpulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.apd .fid{color:var(--text-3);font-size:11px}.apd .fid.str{color:var(--warning)}.apd .entry{background:var(--bg-2);color:var(--text-2);border-radius:999px;align-items:center;gap:4px;margin-top:4px;padding:1px 7px;font-size:10.5px;font-weight:600;display:inline-flex}.apd .entry.internet,.apd .entry.public_resource{background:color-mix(in srgb,var(--sev-high) 14%,transparent);color:var(--sev-high)}.apd .entry.third_party{background:color-mix(in srgb,var(--sev-medium) 22%,transparent);color:var(--warning)}.apd .pill.str{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.apd .sec h4 .n{background:var(--bg-2);width:18px;height:18px;color:var(--text-2);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.apd .sec h4.hack .n{background:color-mix(in srgb,var(--sev-critical) 14%,transparent);color:var(--sev-critical)}.apd .sec h4.sure .n{background:var(--brand-soft);color:var(--brand)}.apd .sec h4.fix .n{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.apd .fidline.str .dot{background:var(--warning)}.apd .fpill.on{border-color:var(--brand-ring);background:var(--brand-soft)}.apd .svpill.on{background:var(--brand-soft);border-color:var(--brand-ring);color:var(--brand);font-weight:600}.apd .kpi.on{border-color:var(--brand-ring);box-shadow:0 0 0 2px var(--brand-ring),var(--shadow-md)}.apd .badge{border:1px solid var(--rule);height:20px;color:var(--text-2);white-space:nowrap;background:0 0;border-radius:999px;align-items:center;padding:0 7px;font-size:11px;font-weight:500;display:inline-flex}.apd .badge.proven{background:color-mix(in srgb,var(--success) 10%,transparent);border-color:color-mix(in srgb,var(--success) 30%,transparent);color:var(--success)}.apd .badge.opp{background:color-mix(in srgb,var(--warning) 10%,transparent);border-color:color-mix(in srgb,var(--warning) 30%,transparent);color:var(--warning)}.apd .kvg .v.mono{font-family:var(--font-geist-mono),monospace;font-size:12px}.apd .segp span.on{background:var(--brand-soft);color:var(--brand);border:1px solid var(--brand-ring)}.apd .pgr .pb span.on{background:var(--brand);color:#fff;border-color:var(--brand)}.apd .whatif.on{border-style:solid;border-color:var(--brand-ring);background:var(--brand-soft)}.apd .nm svg.cl{width:18px;height:18px}.apd .sevcell.critical .ico{color:var(--sev-critical)}.apd .sevcell.high .ico{color:var(--sev-high)}.apd .sevcell.medium .ico{color:var(--sev-medium)}.apd .sevcell.low .ico{color:var(--sev-low)}.apd .sevbadge{color:#fff;border-radius:8px;align-items:center;gap:6px;height:28px;padding:0 11px;font-size:12.5px;font-weight:600;display:inline-flex}.apd .sevbadge.critical{background:var(--sev-critical)}.apd .sevbadge.high{background:var(--sev-high)}.apd .sevbadge.medium{background:var(--sev-medium);color:var(--text)}.apd .sevbadge.low{background:var(--sev-low)}.apd .sevbadge.sm{border-radius:6px;height:22px;padding:0 8px;font-size:11px}.apd .mono{font-family:var(--font-geist-mono),monospace}.apd .xlink{color:var(--brand);align-items:center;gap:4px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.apd .xlink svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.apd .chipline{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.apd .chipline .badge .cl{width:12px;height:12px;margin-right:4px}.apd .rel{border:1px solid var(--rule);background:var(--bg-0);color:inherit;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:flex}.apd .rel:hover{border-color:var(--rule-strong)}.apd .rel .nm{min-width:0;color:var(--text);flex:1;font-size:13px;font-weight:500}.apd .rel .nm small{color:var(--text-3);margin-top:2px;font-size:11.5px;font-weight:400;display:block}.apd .rel .m{color:var(--text-2);white-space:nowrap;font-size:12px}.apd .rel>span:only-child{color:var(--text);flex:1;font-size:14px;font-weight:500}.apd .rel+.rel{margin-top:6px}.apd .badge.proven,.apd .badge.opp,.apd .badge.opportunity{height:22px}.apd .rel:after{content:"";background:var(--text-3);flex:none;width:15px;height:15px;margin-left:auto;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14'/><path d='m12 5 7 7-7 7'/></svg>") 50%/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14'/><path d='m12 5 7 7-7 7'/></svg>") 50%/contain no-repeat}.apd .rel .m b{color:var(--text)}.apd .scope.on{border-color:var(--brand-ring);background:var(--brand-soft);color:var(--brand);border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;font-weight:500}.apd .spk .hd{border-bottom:1px solid var(--rule);padding:12px 16px}.apd .spk .hd h3{color:var(--text);margin:0;font-size:14px;font-weight:600}.apd .spk .hd p{color:var(--text-3);margin:2px 0 0;font-size:12px}.apd .spk .row.cloud.on,.apd .spk .row.acc.on{color:var(--brand)}.apd .spk .row.cloud .nm.b{font-weight:500}.apd .spk .row.acc.on{background:var(--brand-soft)}.apd .spk .row .nm{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.apd .spk .tri.on,.apd .spk .tri.partial{background:var(--brand);border-color:var(--brand)}.apd .spk .chip.on{background:var(--brand-soft);border-color:var(--brand-ring);color:var(--brand);font-weight:600}.apd .btn.sm{height:28px;padding:0 10px;font-size:12px}.apd .freshpop .hd{color:var(--text);border-bottom:1px solid var(--rule);margin-bottom:6px;padding-bottom:6px;font-size:12px;font-weight:600}.apd .empty{text-align:center;color:var(--text-3);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:48px 24px;display:none}.apd .empty.show{display:flex}.apd .empty .ico{width:34px;height:34px;color:var(--text-3);margin-bottom:6px}.apd .empty h3{color:var(--text);margin:0;font-size:14px;font-weight:600}.apd .empty p{margin:0;font-size:12.5px}.apd .subnav a.on{color:var(--brand);background:var(--brand-soft);font-weight:500}.apd{font-size:15px}.apd .badge{height:22px;font-size:12px}.apd .panel h2,.apd .csec>.ch h2,.apd .sec h3,.apd .rsect .hd h3{font-size:15px}.apd .stat,.apd .m,.apd .was,.apd .xlink{font-size:13px}.apd .empty h3{font-size:16px}.apd .empty p{font-size:14px}.apd .badge,.apd .stbadge,.apd .pill,.apd .sevbadge,.apd .sevbadge.sm,.apd .sevcell,.apd .sevp,.apd .entry,.apd .fid,.apd .lay,.apd .sig{white-space:nowrap;letter-spacing:0;text-transform:none;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;height:22px;margin-top:0;padding:0 9px;font-family:inherit;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.apd .badge{border-color:var(--rule);color:var(--text-2);background:0 0}.apd .badge.solid{background:var(--brand);border-color:var(--brand);color:#fff}.apd .badge.new,.apd .stbadge,.apd .pill,.apd .sig.brand{background:var(--brand-soft);color:var(--brand)}.apd .stbadge.muted,.apd .entry,.apd .lay,.apd .sig{background:var(--bg-2);color:var(--text-2)}.apd .stbadge.ok,.apd .pill.safe,.apd .badge.proven,.apd .fid{background:color-mix(in srgb,var(--success) 10%,transparent);color:var(--success)}.apd .stbadge.warn,.apd .pill.warn,.apd .pill.str,.apd .badge.opp,.apd .badge.opportunity,.apd .entry.third_party,.apd .fid.str,.apd .lay.hi{background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--warning)}.apd .stbadge.bad,.apd .pill.vuln,.apd .entry.internet,.apd .entry.public_resource,.apd .sig.crit,.apd .sevbadge.critical,.apd .sevcell.critical,.apd .sevp.critical{background:color-mix(in srgb,var(--sev-critical) 10%,transparent);color:var(--sev-critical)}.apd .sevbadge.high,.apd .sevcell.high,.apd .sevp.high{background:color-mix(in srgb,var(--sev-high) 10%,transparent);color:var(--sev-high)}.apd .sevbadge.medium,.apd .sevcell.medium,.apd .sevp.medium{background:color-mix(in srgb,var(--sev-medium) 14%,transparent);color:var(--sev-medium)}.apd .sevbadge.low,.apd .sevcell.low,.apd .sevp.low{background:color-mix(in srgb,var(--sev-low) 10%,transparent);color:var(--sev-low)}.apd .sevbadge.info,.apd .sevcell.info,.apd .sevp.info{background:color-mix(in srgb,var(--sev-info,var(--text-3)) 10%,transparent);color:var(--sev-info,var(--text-3))}.apd .fid{text-transform:capitalize}.apd .entry{margin-top:4px}.apd .sevi{stroke:currentColor;fill:none;stroke-width:2.25px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:13px;height:13px}.apd .sevi.critical{color:var(--sev-critical)}.apd .sevi.high{color:var(--sev-high)}.apd .sevi.medium{color:var(--sev-medium)}.apd .sevi.low{color:var(--sev-low)}.apd .sevi.info{color:var(--text-3)}.apd .kpi .k .sevi{width:14px;height:14px}.apd .pg .pb span.on{background:var(--brand);color:#fff;border-color:var(--brand)}.apd.apd .bl .n,.apd.apd .cov .k{color:var(--text);font-family:inherit;font-size:14px;font-weight:500}.apd .csec[data-norm]>.cb>p,.apd .csec[data-norm]>.cb>.note,.apd .csec[data-norm]>.cb>.foot,.apd .csec[data-norm]>.cb>.ft,.apd .csec[data-norm]>.cb>.m{margin:0;padding:10px 24px}.apd .csec[data-norm]>.ch h2 .mi,.apd .csec[data-norm]>.ch h2 .ic,.apd .csec[data-norm]>.ch h2 svg.cl{flex:none;width:18px;height:18px;margin-right:2px}.apd .csec[data-norm]>.ch h2 .ic{background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.apd .csec[data-norm]>.ch h2 .ic svg{width:18px;height:18px}.apd .back{color:var(--text-2);align-items:center;gap:6px;margin:0 0 12px;font-size:13.5px;font-weight:500;text-decoration:none;display:inline-flex}.apd .back:hover{color:var(--text)}.apd .back svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.apd .badge.vb{font-family:var(--font-geist-mono),monospace;height:20px;padding:0 7px;font-size:11.5px}.apd .badge.vb.pick{cursor:pointer;gap:3px;position:relative}.apd .badge.vb .gl{width:12px;height:12px}.apd .pop .opt.on .gl{visibility:visible}.apd .fopt.on{background:var(--brand-soft);color:var(--brand);font-weight:500}.apd .page{flex:1;min-height:0;padding:16px 24px 32px;overflow:auto}.apd .sum{border:1px solid var(--rule);background:color-mix(in srgb,var(--bg-0) 80%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-md);border-radius:12px;margin-bottom:14px;padding:18px 20px}.apd .sum h1{letter-spacing:-.01em;color:var(--text);margin:0 0 6px;font-size:20px;font-weight:700;line-height:1.25}.apd .sum p{color:var(--text-2);max-width:90ch;margin:8px 0 0;font-size:13.5px;line-height:1.5}.apd .stats{color:var(--text-2);flex-wrap:wrap;gap:22px;margin-top:12px;font-size:12.5px;display:flex}.apd .stats b{color:var(--text);font-variant-numeric:tabular-nums}.apd .ladder{flex-wrap:wrap;gap:4px;margin-top:12px;display:flex}.apd .ph{border:1px solid var(--rule);color:var(--text-3);background:var(--bg-0);border-radius:999px;padding:3px 9px;font-size:11px}.apd .ph.on{background:var(--brand-soft);border-color:var(--brand-ring);color:var(--brand);font-weight:600}.apd .wrap{border:1px solid var(--rule);background:color-mix(in srgb,var(--bg-0) 80%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-md);border-radius:12px;margin-bottom:14px;overflow:hidden}.apd .wrap .hd{border-bottom:1px solid var(--rule);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);padding:12px 18px;font-size:11px;font-weight:600}.apd .strip{align-items:flex-start;padding:18px;display:flex;overflow-x:auto}.apd .step{border:1px solid var(--rule);background:var(--bg-0);border-radius:12px;flex:none;width:300px;padding:14px 16px}.apd .conn{background:var(--rule-strong);flex:none;width:34px;height:1px;margin-top:38px;position:relative}.apd .conn:after{content:"";border:5px solid #0000;border-left-color:var(--rule-strong);position:absolute;top:-4px;right:-1px}.apd .sh{align-items:center;gap:10px;display:flex}.apd .sh .n{background:var(--bg-2);width:22px;height:22px;color:var(--text-2);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.apd .sh .ic{background:var(--bg-1);border:1px solid var(--rule);border-radius:9px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.apd .sh .ic svg,.apd .sh .ic use{width:20px;height:20px}.apd .sh .l{color:var(--text);font-size:13.5px;font-weight:600}.apd .sh .rt{font-family:var(--font-geist-mono),monospace;color:var(--text-3);margin-top:2px;font-size:10.5px}.apd .sh .sevbadge{margin-left:auto}.apd .ph2{flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 8px;display:flex}.apd .ph2 .tn{color:var(--text-2);font-size:12px}.apd .step p{color:var(--text-2);margin:0;font-size:12.5px;line-height:1.5}.apd .lk{gap:14px;margin-top:10px;display:flex}.apd .rel2{flex-direction:column;gap:8px;padding:14px 18px;display:flex}
.agm .node .lbl,.agm .node .sub{background:color-mix(in srgb,var(--canvas-a) 86%,transparent);border-radius:4px;padding:0 3px}.agm .dsr-head>div:last-child{min-width:0}.agm .dsr-head .t{overflow-wrap:anywhere}.agm .dsr-head .st{word-break:normal;overflow-wrap:anywhere}.agm .fixstrip .fx>span:nth-child(2){overflow-wrap:anywhere;flex:1;min-width:0}.agm .fixstrip .fx>span:last-child{flex:none}.agm .listwrap.show{flex-direction:column;display:flex}.agm .listwrap .pth .h{white-space:normal;overflow-wrap:anywhere}.apd .sh .lt{flex:1;min-width:0}.apd .sh .l,.apd .sh .rt,.apd .rel .nm,.apd .sum h1{overflow-wrap:anywhere}.apd .step p{overflow-wrap:break-word}.idl .page{overflow-y:auto}@media (max-width:1180px){.idl.idl .body{flex:none}}.idl .ph{padding-right:26px}.idl .ph>div:last-child{min-width:0}.idl .ph .t{overflow-wrap:anywhere}.idl .dep .l{overflow-wrap:anywhere;min-width:0}.idl .rel .nm{overflow-wrap:anywhere}.idl .node .lbl,.idl .node .sub{background:color-mix(in srgb,var(--canvas-a) 86%,transparent);border-radius:4px;padding:0 3px}.idl .gmore{white-space:nowrap;color:var(--text-3);pointer-events:none;font-size:10.5px;font-weight:600;position:absolute;transform:translate(-50%,-100%)}.idl .kvg .v{word-break:normal;overflow-wrap:anywhere}.idl .kvg .v.mono{word-break:break-all}.idl .gcap{white-space:nowrap;color:var(--text-3);pointer-events:none;font-size:11.5px;position:absolute;transform:translate(-50%)}.idl .kpi{cursor:default}.idl .kpi .k{letter-spacing:.05em;color:var(--text-2);font-size:12px;font-weight:500;line-height:16px}.idl .kpi .v{margin-top:4px;font-size:24px;line-height:32px}.idl table.f{font-size:14px;line-height:20px}.idl table.f th{font-size:12px;font-weight:500;line-height:16px}.idl table.f td .rowsub{margin-top:2px;font-size:11px;line-height:16px}.idl .sec h3,.idl .stat,.idl .ck,.idl .dep,.idl .xlink{font-size:14px;line-height:20px}.idl .rel .nm{font-size:14px}.idl .ph .s{font-family:inherit;font-size:12px}.idl .dep .l small,.idl .rel .nm small{font-family:inherit;font-size:11px;line-height:16px}.idl .panelr{flex-direction:column;padding:0;animation:.18s ease-out idl-panel-in;display:flex;overflow:hidden}.idl .panelr>.pscroll{overscroll-behavior:contain;flex:auto;min-height:0;padding:18px 20px;overflow-y:auto}.idl .panelr>.dsr-close{z-index:2;background:var(--bg-0)}.idl .panelr>.dsr-close:hover{background:var(--bg-2)}@keyframes idl-panel-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.idl .panelr{animation:none}}@media (max-width:1180px){.idl.idl .panelr{position:relative}}.idl .tblwrap{flex-direction:column;display:flex;overflow:hidden;container-type:inline-size}.idl .tblwrap>.tscroll{overscroll-behavior:contain;flex:auto;min-height:0;transition:opacity .15s;overflow:auto}.idl .tblwrap[aria-busy=true]>.tscroll{opacity:.55}.idl table.f{table-layout:fixed;min-width:560px}.idl table.f th,.idl table.f td{padding:12px 16px}.idl table.f td{overflow:hidden}.idl table.f .c-idle{width:22%}.idl table.f .c-save{width:192px}.idl table.f .c-paths{width:160px}.idl table.f .c-safe{width:140px}.idl table.f td.c-idle{color:var(--text-2)}.idl table.f tbody tr:last-child td{border-bottom:0}@container (max-width:925px){.idl table.f .c-paths{display:none}}@container (max-width:720px){.idl table.f .c-idle{display:none}}.idl table.f tbody tr:focus-visible{outline:2px solid var(--brand-ring);outline-offset:-2px;box-shadow:none}.idl table.f tbody tr.none{cursor:default}.idl table.f tbody tr.none:hover td{background:0 0}.idl table.f tbody tr.none td{white-space:normal}.idl .dlist [data-nav]:focus-visible{outline:2px solid var(--brand-ring);outline-offset:-2px;box-shadow:none}.idl .legendfoot2{z-index:5;pointer-events:none;flex-wrap:wrap;row-gap:4px;right:62px}.idl .legendfoot2 .ln.ctl{border-top-color:var(--warning)}.idl .legendfoot2 .ln.lb{border-top:2px dotted var(--edge-ctx)}.idl .zoomctl{z-index:5;border:1px solid var(--rule);background:color-mix(in srgb,var(--bg-0) 92%,transparent);box-shadow:var(--shadow-sm);border-radius:8px;flex-direction:column;display:flex;position:absolute;bottom:12px;right:14px;overflow:hidden}.idl .zoomctl button{width:30px;height:30px;color:var(--text-2);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex}.idl .zoomctl button+button{border-top:1px solid var(--rule)}.idl .zoomctl button:hover:not(:disabled){background:var(--bg-2);color:var(--text)}.idl .zoomctl button:disabled{opacity:.4;cursor:default}.idl .zoomctl button:focus-visible{outline:2px solid var(--brand-ring);outline-offset:-2px;box-shadow:none}.idl .zoomctl .ico{width:15px;height:15px}.agm .dossier .sec h4{letter-spacing:0;text-transform:none;color:var(--text);font-size:14px;font-weight:600;line-height:20px}.agm .dossier .hack p,.agm .dossier p.hack{font-size:14px;line-height:22px}.agm .dossier p.hack{color:var(--text);margin:8px 0 0}.agm .dossier p.hack b{color:var(--sev-critical)}.agm .dossier .facts{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:6px 16px;margin:0;display:grid}.agm .dossier .facts dt{color:var(--text-2);font-size:12px;line-height:16px}.agm .dossier .facts dd{font-variant-numeric:tabular-nums;color:var(--text);text-align:right;margin:0;font-size:14px;line-height:20px}.agm .dossier .facts dd small{color:var(--text-3);font-size:12px;line-height:16px;display:block}.agm .dossier .evr,.agm .dossier .steps,.agm .acts .act,.agm .whatif .lab small{font-size:14px;line-height:20px}.agm .dsr-head .st{color:var(--text-2);font-family:inherit;font-size:12px;line-height:16px}.agm .dossier .fidline,.agm .acts .act small{font-size:12px;line-height:16px}.agm .sec.col h4.tog [data-slot=badge].ml-auto+.cv{margin-left:0}.agm .node .sub{font-family:inherit}.agm .empty h3,.apd .empty h3{font-size:18px;line-height:28px}.agm .empty p,.apd .empty p{max-width:28rem;font-size:14px;line-height:20px}.apd .back{font-size:14px;font-weight:400}.apd .sum h1{letter-spacing:-.015em;font-size:23px;font-weight:700;line-height:1.24}.apd .sum p{font-size:15px;line-height:1.55}.apd .stats{font-size:14px}.apd .wrap .hd{letter-spacing:0;text-transform:none;color:var(--text);font-size:15px;font-weight:600;line-height:22px}.apd .sh .l,.apd .rel .nm,.apd .xlink{font-size:14px;line-height:20px}.apd .sh .rt{font-family:inherit;font-size:11px;line-height:16px}.apd .step p{font-size:14px;line-height:1.5}.apd .strip{overscroll-behavior-x:contain}.apd .rel .nm small,.apd .rel .m{font-size:12px;line-height:16px}.agm.list-flow,.idl.list-flow{height:auto}.agm.list-flow .work{flex:1 0 auto}.agm.list-flow .dossier.open{align-self:flex-start;height:100dvh;position:sticky;top:0}.idl.list-flow .page{flex:1 0 auto;overflow:visible}.idl.list-flow .body{flex:1 0 auto}.idl.list-flow .tblwrap>.tscroll{overscroll-behavior:auto;overscroll-behavior-x:contain}@media (min-width:1181px){.idl.list-flow .panelr{align-self:flex-start;max-height:calc(100dvh - 32px);position:sticky;top:16px}}
