/* Bounded presentation layer for SoftwareGraph3D. */
.sg3-shell{--sg3-ink:#e9f5fb;--sg3-muted:#9aabb8;--sg3-line:#2a4053;--sg3-panel:#102130;--sg3-green:#55e39c;--sg3-agent:#96b9ff;--sg3-review:#f4bb65;color:var(--sg3-ink);font-family:var(--body,system-ui,sans-serif);max-width:1500px;margin:auto;padding:22px 0 44px}.sg3-shell *{box-sizing:border-box}.sg3-shell header{display:flex;align-items:end;justify-content:space-between;gap:28px;margin:0 0 20px}.sg3-eyebrow{color:var(--sg3-agent);font-size:10px;letter-spacing:.15em;font-weight:700}.sg3-shell h2{font-size:clamp(28px,4vw,48px);letter-spacing:-.045em;line-height:1.05;margin:11px 0}.sg3-shell header p{max-width:630px;color:var(--sg3-muted);line-height:1.55;margin:0}.sg3-count{border-left:1px solid var(--sg3-line);min-width:170px;padding-left:22px}.sg3-count strong{display:block;font-size:32px}.sg3-count span{color:var(--sg3-muted);font-size:11px;line-height:1.5}.sg3-controls{display:flex;gap:11px;align-items:end;flex-wrap:wrap;padding:14px;background:var(--sg3-panel);border:1px solid var(--sg3-line);border-radius:12px}.sg3-controls label,.sg3-inspector>label{display:block;color:var(--sg3-muted);font-size:10px;font-weight:700;letter-spacing:.07em}.sg3-controls label:first-child{flex:1;min-width:210px}.sg3-shell input,.sg3-shell select,.sg3-shell button{font:inherit;color:var(--sg3-ink);background:#0b1926;border:1px solid var(--sg3-line);border-radius:7px}.sg3-shell input,.sg3-shell select{display:block;width:100%;min-height:39px;padding:8px 10px;margin-top:6px;font-size:12px}.sg3-shell select{min-width:160px}.sg3-shell button{padding:10px 12px;font-size:12px;cursor:pointer;min-height:39px}.sg3-shell button:hover{border-color:var(--sg3-agent);background:#193148}.sg3-search{display:flex;gap:6px;flex-wrap:wrap;min-height:8px;padding:8px 0}.sg3-search span{font-size:11px;color:var(--sg3-muted);align-self:center}.sg3-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:15px}.sg3-stage,.sg3-inspector{background:var(--sg3-panel);border:1px solid var(--sg3-line);border-radius:14px;overflow:hidden}.sg3-stagebar{display:flex;justify-content:space-between;gap:12px;padding:13px 16px;color:var(--sg3-muted);font-size:11px}.sg3-stagebar b{color:var(--sg3-ink)}.sg3-canvas{display:block;width:100%;height:min(70vh,690px);min-height:410px;touch-action:none;cursor:grab;outline:none}.sg3-canvas:active{cursor:grabbing}.sg3-legend{display:flex;gap:14px;flex-wrap:wrap;padding:13px 16px;border-top:1px solid var(--sg3-line);font-size:10px;color:var(--sg3-muted)}.sg3-key::before{content:'';display:inline-block;vertical-align:middle;width:22px;border-top:3px solid var(--sg3-green);margin-right:6px}.sg3-key.agent_verified::before{border-color:var(--sg3-agent);border-top-style:dashed}.sg3-key.needs_review::before{border-color:var(--sg3-review);border-top-style:dotted}.sg3-boundary{margin:0;padding:0 16px 16px;color:var(--sg3-muted);font-size:10px;line-height:1.55}.sg3-inspector{padding:18px;overflow-wrap:anywhere;max-height:920px;overflow:auto}.sg3-inspector select{margin:6px 0 18px}.sg3-status{font-size:9px;letter-spacing:.08em;text-transform:uppercase;border:1px solid currentColor;padding:4px 7px;border-radius:20px;color:var(--sg3-green)}.sg3-agent_verified{color:var(--sg3-agent)}.sg3-needs_review{color:var(--sg3-review)}.sg3-detail h3{font-size:22px;letter-spacing:-.025em;line-height:1.25;margin:13px 0 18px}.sg3-detail h4{font-size:12px;margin-top:22px}.sg3-detail dl{margin:0}.sg3-detail dl div{border-bottom:1px solid var(--sg3-line);padding:9px 0}.sg3-detail dt{font-size:10px;color:var(--sg3-muted)}.sg3-detail dd{font-size:12px;margin:4px 0 0;line-height:1.45}.sg3-detail p{font-size:12px;line-height:1.6}.sg3-sources{padding:0;margin:0;list-style:none}.sg3-sources li{border-bottom:1px solid var(--sg3-line);padding:10px 0;font-size:11px;line-height:1.45}.sg3-sources small{display:block;color:var(--sg3-muted)}.sg3-sources a{color:var(--sg3-green)}.sg3-muted{color:var(--sg3-muted);font-size:11px}.sg3-shell :focus-visible{outline:2px solid var(--sg3-review);outline-offset:3px}@media(max-width:960px){.sg3-grid{grid-template-columns:1fr}.sg3-inspector{max-height:none}.sg3-count{display:none}}@media(max-width:640px){.sg3-shell header{display:block}.sg3-controls label{flex:1}.sg3-shell select{min-width:0}.sg3-stagebar{display:block}.sg3-stagebar span+span{display:block;margin-top:4px}.sg3-canvas{min-height:360px}}
/* The application canvas is light; reserve the dark palette for the graph panels. */
.sg3-shell{padding-top:6px}.sg3-shell header{color:#203831;align-items:center}.sg3-shell header .sg3-eyebrow{color:#36796e}.sg3-shell header h2{font-size:32px;line-height:1.15}.sg3-shell header p,.sg3-count span{color:#4e656a;font-size:15px}.sg3-count{border-color:#b2c2ba}.sg3-controls label,.sg3-inspector>label{font-size:12px;letter-spacing:.02em}.sg3-shell input,.sg3-shell select,.sg3-shell button{font-size:14px}.sg3-stagebar,.sg3-legend,.sg3-boundary,.sg3-muted{font-size:12px}.sg3-detail p,.sg3-detail dd,.sg3-sources li{font-size:14px}.sg3-detail dt{font-size:12px}.sg3-canvas{height:540px;min-height:380px}.sg3-search:empty{padding:0;min-height:14px}
