.sysmap{background:var(--panel,#fff);border:1px solid var(--line,#dde7ed);border-radius:16px;box-shadow:0 1px 2px #132e3f0f,0 8px 24px #132e3f0f;margin:0 0 22px;overflow:hidden}.sysmap .sm-hd{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding:16px 20px 4px}.sysmap .sm-hd h2{margin:0;font-size:16px;color:var(--navy,#132e3f)}.sysmap .sm-hd p{margin:0;font-size:13px;color:var(--muted,#5b7488)}.sysmap .sm-body{padding:6px 16px 8px}.sysmap svg.sm-svg{width:100%;height:auto;display:block}.sysmap .sm-legend{display:flex;gap:20px;flex-wrap:wrap;padding:2px 20px 16px;font-size:12px;color:var(--muted,#5b7488)}.sysmap .sm-legend span{display:inline-flex;align-items:center;gap:7px}.sysmap .sm-legend i{width:22px;height:0;border-top-width:2.5px;border-top-style:solid;display:inline-block}.sysmap .lg-in{border-top-color:#9db4c2}.sysmap .lg-out{border-top-color:var(--steel,#275c7f)}.sysmap .nlabel{font:600 14px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;fill:var(--navy,#132e3f)}.sysmap .nsub{font:400 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;fill:var(--muted,#5b7488)}.sysmap .chip{font:600 10px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;fill:var(--steel,#275c7f)}.sysmap .onode-t{font:700 15px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;fill:#fff}.sysmap .onode-s{font:400 11.5px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;fill:#cfe0ea}.sysmap .onode-i{font:600 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;fill:#eaf2f7}.sysmap .wire{fill:none;stroke:#9db4c2;stroke-width:2}.sysmap .wire.anim{stroke-dasharray:6 6;animation:sm-dash 1.4s linear infinite}.sysmap .out{fill:none;stroke:var(--steel,#275c7f);stroke-width:2.5}.sysmap .elabel{font:600 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;fill:var(--muted,#5b7488);paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}@keyframes sm-dash{to{stroke-dashoffset:-12}}@media(prefers-reduced-motion:reduce){.sysmap .wire.anim{animation:none}}.sysmap .g-node[data-node]{cursor:pointer;transition:filter .15s ease}.sysmap .hitbox{fill:transparent;stroke:transparent}.sysmap .g-node.sel{filter:drop-shadow(0 5px 14px rgba(19,46,63,.22)) drop-shadow(0 0 2px rgba(209,96,61,.4))}.sysmap svg:has(.g-node:hover) .flow{opacity:.18;transition:opacity .12s}.sysmap svg:has(.g-node:hover) .g-node{opacity:.45;transition:opacity .12s}.sysmap svg:has(.g-drive:hover) .flow.f-drive,.sysmap svg:has(.g-drive:hover) .g-drive,.sysmap svg:has(.g-contract:hover) .flow.f-contract,.sysmap svg:has(.g-contract:hover) .g-contract,.sysmap svg:has(.g-trust:hover) .flow.f-trust,.sysmap svg:has(.g-trust:hover) .g-trust,.sysmap svg:has(.g-anth:hover) .flow.f-anth,.sysmap svg:has(.g-anth:hover) .g-anth,.sysmap svg:has(.g-engine:hover) .flow,.sysmap svg:has(.g-engine:hover) .g-engine,.sysmap svg:has(.g-view:hover) .flow.f-out,.sysmap svg:has(.g-view:hover) .g-view{opacity:1}.sysmap .sm-detail{border-top:1px solid var(--line,#dde7ed);background:#f8fafb;padding:16px 20px 20px;position:relative}.sysmap .sm-detail[hidden]{display:none}.sysmap .smd-close{position:absolute;top:12px;right:16px;border:1px solid var(--line,#dde7ed);background:#fff;color:var(--muted,#5b7488);border-radius:8px;padding:5px 12px;font:600 12px sans-serif;cursor:pointer}.sysmap .smd-title{margin:2px 60px 2px 0;font-size:16px;color:var(--navy,#132e3f)}.sysmap .smd-sub{margin:0 0 10px;font-size:13px;color:var(--muted,#5b7488)}.sysmap .smd-body{font-size:13.5px;color:var(--ink,#22333f);line-height:1.5}.sr-wrap{--good:#128a4a;--bad:#b91c1c;--warn:#b45309}.sr-banner{background:#fff8ec;border:1px solid #f0dcae;border-left:4px solid var(--gold,#d4a534);border-radius:12px;padding:13px 16px;font-size:13.5px;color:#6b5518;margin:0 0 22px}.sr-banner strong{color:#7a5e12}.sr-explain{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 24px}@media(max-width:860px){.sr-explain{grid-template-columns:1fr}}.excard{background:var(--panel,#fff);border:1px solid var(--line,#dde7ed);border-radius:14px;padding:16px 18px}.excard h3{margin:0 0 8px;font-size:13px;color:var(--navy,#132e3f)}.excard.bad h3{color:var(--bad)}.excard.good h3{color:var(--good)}.excard.next h3{color:var(--steel,#275c7f)}.excard p,.excard li{font-size:13.5px;margin:0 0 6px;color:var(--ink,#22333f)}.excard ul{margin:0;padding-left:18px}.sr-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 24px}@media(max-width:860px){.sr-tiles{grid-template-columns:repeat(2,1fr)}}.sr-tile{background:var(--panel,#fff);border:1px solid var(--line,#dde7ed);border-radius:14px;padding:15px 17px;border-top:3px solid var(--steel,#275c7f)}.sr-tile.warn{border-top-color:var(--coral,#d1603d)}.sr-tile .k{font-size:11.5px;color:var(--muted,#5b7488);letter-spacing:.3px;text-transform:uppercase;font-weight:600}.sr-tile .v{font-size:29px;font-weight:700;color:var(--navy,#132e3f);margin-top:5px}.sr-tile .s{font-size:11.5px;color:var(--muted,#5b7488);margin-top:2px}.sr-toolbar{display:flex;align-items:center;gap:10px;margin:0 0 12px;flex-wrap:wrap}.sr-toolbar .fbtn{border:1px solid var(--line,#dde7ed);background:#fff;color:var(--muted,#5b7488);border-radius:999px;padding:6px 13px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.sr-toolbar .fbtn.on{background:var(--steel,#275c7f);color:#fff;border-color:var(--steel,#275c7f)}.sr-toolbar .hint{margin-left:auto;font-size:12px;color:var(--muted,#5b7488)}.sr-tablewrap{overflow-x:auto}#risk{width:100%;border-collapse:collapse;background:var(--panel,#fff);border:1px solid var(--line,#dde7ed);border-radius:14px;overflow:hidden}#risk thead th{text-align:left;font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:var(--muted,#5b7488);font-weight:700;padding:12px 10px;border-bottom:1px solid var(--line,#dde7ed);background:#fbfcfd;cursor:pointer;white-space:nowrap}#risk thead th.rt{text-align:right}#risk tbody td{padding:11px 10px;border-bottom:1px solid var(--line,#dde7ed);font-size:13px;vertical-align:middle}#risk tbody tr:last-child td{border-bottom:none}#risk tbody tr{transition:background .12s;cursor:pointer}#risk tbody tr:hover{background:#f4f8fb}#risk td.name{font-weight:600;white-space:nowrap}#risk td.name .slink{color:var(--navy,#132e3f);text-decoration:none}#risk td.name .slink:hover{color:var(--steel,#275c7f);text-decoration:underline}#risk td.rt{text-align:right}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:9px;vertical-align:middle}.dot.crit{background:var(--bad)}.dot.high{background:var(--coral,#d1603d)}.dot.med{background:var(--gold,#d4a534)}.dot.low{background:var(--good)}.tier{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}.tier.crit{background:#fdeaea;color:var(--bad)}.tier.high{background:#fff0ea;color:#c2410c}.tier.med{background:#fbf3dd;color:var(--warn)}.tier.low{background:#e7f5ec;color:var(--good)}.cpill{font-size:11px;font-weight:600;padding:3px 9px;border-radius:7px;display:inline-block}.cpill.yes{background:#e7f5ec;color:var(--good)}.cpill.no{background:#f2f5f7;color:var(--muted,#5b7488)}.cpill.unk{background:#f4eefb;color:#7c3aed}.cpill.warnp{background:#fbf3dd;color:var(--warn)}.phi.yes{font-size:11px;font-weight:700;color:#c2410c}.phi.no{font-size:11px;color:var(--muted,#5b7488)}.conf{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:999px;text-transform:uppercase}.conf.high{background:#e7f5ec;color:var(--good)}.conf.medium{background:#eef3f6;color:var(--steel,#275c7f)}.conf.low{background:#fdeaea;color:var(--bad)}.cov{min-width:140px}.bar{display:inline-block;width:70px;height:8px;background:#eef3f6;border-radius:6px;overflow:hidden;vertical-align:middle;margin-right:7px}.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--steel,#275c7f),#549395);border-radius:6px}.num{font-variant-numeric:tabular-nums;font-weight:600;color:var(--navy,#132e3f)}#risk .link{color:var(--steel,#275c7f);font-weight:700;font-size:12px}.muted{color:var(--muted,#5b7488)}.ttip{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:#e3ebf0;color:var(--steel,#275c7f);font-size:9.5px;font-weight:800;cursor:help;position:relative;margin-left:3px;text-transform:none}.ttip:hover:after{content:attr(data-tip);position:absolute;bottom:150%;left:50%;transform:translate(-50%);width:250px;background:var(--navy,#132e3f);color:#fff;font-weight:400;font-size:12px;line-height:1.4;letter-spacing:0;text-transform:none;padding:9px 11px;border-radius:9px;box-shadow:0 8px 24px #132e3f47;z-index:30;white-space:normal}.ttip:hover:before{content:"";position:absolute;bottom:150%;left:50%;transform:translate(-50%,60%);border:6px solid transparent;border-top-color:var(--navy,#132e3f);z-index:30}.scrim{position:fixed;inset:0;background:#132e3f6b;backdrop-filter:blur(2px);z-index:120;display:none}.scrim.show{display:block}.sheet{position:fixed;top:0;right:0;height:100%;width:min(700px,95vw);background:var(--cream,#f7f5f1);z-index:130;box-shadow:-16px 0 46px #132e3f3d;overflow-y:auto;padding:24px 30px 60px}.sheet-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}.sheet-head .eyebrow{color:var(--coral,#d1603d);font-weight:700;font-size:11px;letter-spacing:.6px;text-transform:uppercase}.sheet-head h2{margin:4px 0 6px;color:var(--navy,#132e3f);font-size:26px}.sheet .sector{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sheet .close{margin-left:auto;border:1px solid var(--line,#dde7ed);background:#fff;border-radius:999px;padding:6px 14px;font:inherit;font-weight:700;font-size:12.5px;color:var(--muted,#5b7488);cursor:pointer}.links-row{display:flex;gap:14px;margin-bottom:16px;flex-wrap:wrap}.tlink{font-size:12.5px;font-weight:700;text-decoration:none;color:var(--steel,#275c7f);background:#fff;border:1px solid var(--line,#dde7ed);border-radius:999px;padding:6px 13px}.sheet section{background:var(--panel,#fff);border:1px solid var(--line,#dde7ed);border-radius:12px;padding:15px 17px;margin-bottom:13px}.sheet h3{margin:0 0 10px;font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:var(--steel,#275c7f)}.pl{border-radius:10px;padding:11px 13px;margin-bottom:9px}.pl.bad{background:#fdeaea}.pl.good{background:#e7f5ec}.pl-tag{display:block;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px}.pl.bad .pl-tag{color:var(--bad,#b91c1c)}.pl.good .pl-tag{color:var(--good,#128a4a)}.pl p{margin:0;font-size:13.5px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:11.5px;font-weight:600;background:#eef3f6;color:var(--steel,#275c7f);border-radius:7px;padding:4px 9px}.kv{display:flex;align-items:center;justify-content:space-between;font-size:13.5px;padding:5px 0;border-bottom:1px dashed var(--line,#dde7ed)}.kv:last-child{border-bottom:none}.plainlist,.chk{margin:0;padding:0;list-style:none}.plainlist li{font-size:13.5px;padding:5px 0 5px 20px;position:relative}.plainlist li:before{content:"\\2022";position:absolute;left:5px;color:var(--muted,#5b7488)}.chk li{font-size:13.5px;padding:6px 0 6px 26px;position:relative}.chk li:before{content:"";position:absolute;left:2px;top:6px;width:14px;height:14px;border:1.5px solid var(--steel,#275c7f);border-radius:4px}.callout{border-left:3px solid var(--steel,#275c7f)}.callout p{font-size:14px;margin:0 0 8px}.handoff{font-size:12px;color:var(--muted,#5b7488);font-style:italic}.src{font-size:11px;margin-right:8px}
