/* OMNI responsive visualization release candidate v8. */
html,body{width:100%;height:100%;overscroll-behavior:none}
canvas{touch-action:none}
header{width:min(920px,calc(100% - 40px))}
header>.viewbar{padding:0 2px}
.node{max-width:210px;line-height:1.28;will-change:left,top;filter:drop-shadow(0 4px 10px #050914)}
.node.entity-node{font-weight:600;color:#eef8ff}.node.entity-node:after{content:"";position:absolute;left:8px;top:50%;width:9px;height:9px;border:1px solid #d5edff;border-radius:50%;transform:translateY(-50%);box-shadow:0 0 13px #8ed0ff}
.diagram-tools{display:flex;gap:7px;margin:15px 0 10px}.diagram-tools button{border:1px solid #9abce53a;background:#101c2c;color:#a9bfd8;border-radius:16px;padding:7px 11px}.diagram-tools button[aria-pressed=true]{background:#d5e9fc;color:#102036}
.diagram-scroll{scrollbar-width:thin;overscroll-behavior:contain}.diagram-scroll svg{height:auto}
.site-home{text-decoration:none;transition:color .2s ease}.site-home:hover{color:#fff}.site-home:focus-visible{outline:1px solid #a3d6ff;outline-offset:7px;border-radius:2px}
@media(max-width:760px){
  header{top:max(10px,env(safe-area-inset-top));width:calc(100% - 20px)}
  form{height:50px;border-radius:14px;padding:0 13px;gap:10px}form svg{width:18px}kbd{display:none}
  .viewbar{margin-top:7px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
  .viewbar select{width:100%;max-width:none;height:38px}.viewbar #modes{grid-column:2}.viewbar #notation{grid-column:1/-1;justify-self:center}
  .intro{top:25%;left:20px;right:20px;max-width:330px}.intro h1{font-size:36px;line-height:1.02}.intro p{margin-top:10px}.suggestions{margin-top:22px}
  .node{font-size:12px;max-width:126px;padding:7px 6px 7px 18px}.node small{font-size:10px;margin-top:2px}.node.selected{padding:8px 9px 8px 21px}
  footer{bottom:max(12px,env(safe-area-inset-bottom));left:12px;right:12px}.signature{display:none}.signature.site-home{display:block;max-width:142px;white-space:nowrap;font-size:10px;letter-spacing:1.8px}.signature.site-home span{display:none}.controls{margin-left:auto}.controls button{width:38px;height:38px}
  aside{left:8px;right:8px;bottom:65px;max-height:min(54vh,520px);padding:20px 18px 24px;border-radius:20px 20px 14px 14px;box-shadow:0 -18px 65px #000a}
  aside:before{content:"";display:block;width:42px;height:4px;border-radius:4px;background:#ffffff30;margin:-8px auto 15px}
  aside h2{font-size:24px;margin:13px 0}aside p{font-size:14px}.connection{min-height:52px}
  #model{inset:138px 8px 66px;padding:8px}.modelgrid{gap:12px}.modelcard{padding:17px;border-radius:14px}.cardtitle{font-size:20px}.modelselection #model{right:8px;bottom:58vh}
  #diagram{inset:174px 8px 65px;padding:12px;border-radius:14px}.modelselection #diagram{right:8px;bottom:58vh}.diagramtitle h2{font-size:20px}.diagramtitle p{font-size:12px}.diagram-scroll{border:1px solid #9ac3ef19;border-radius:10px;background:#08111d}.diagram-scroll svg{min-width:0;width:100%}.diagram-scroll.detail svg{width:760px;max-width:none}.diagramlegend{font-size:12px;line-height:1.5}
}
@media(max-width:390px){.intro h1{font-size:32px}.viewbar select{font-size:12px}#modes button{padding:6px 7px;font-size:11px}}
@media(prefers-reduced-motion:reduce){canvas{opacity:.92}.vignette{backdrop-filter:none}}
#omni-scene{position:fixed;inset:0;width:100%;height:100%;z-index:1;touch-action:none;overflow:visible}.unified-scene canvas,.unified-scene #labels{visibility:hidden!important}.unified-scene .intro{z-index:2}.scene-grid,.scene-edges,.scene-groups{pointer-events:none}.scene-grid-line{fill:none;stroke:rgba(132,183,225,.1);stroke-width:.75}.scene-edge{fill:none;stroke:rgba(155,202,241,.68);stroke-width:1.15;filter:drop-shadow(0 0 3px rgba(126,190,239,.22));vector-effect:non-scaling-stroke}.scene-edge.active{stroke:rgba(188,224,255,.94);stroke-width:1.65;filter:drop-shadow(0 0 6px rgba(133,203,255,.46))}.scene-edge-label{font:500 11px Manrope,system-ui;fill:#9bb7d2;paint-order:stroke;stroke:#07101d;stroke-width:5px;stroke-linejoin:round}.scene-node{cursor:pointer;outline:none}.scene-dot{fill:#d4ebff;stroke:#82bce9;stroke-width:1;vector-effect:non-scaling-stroke}.scene-halo{fill:rgba(132,194,241,.15);filter:blur(3px)}.scene-title{font:500 14px Manrope,system-ui;fill:#c2d1e4;paint-order:stroke;stroke:#070c15;stroke-width:4px;stroke-linejoin:round}.scene-subtitle{font:400 11px Manrope,system-ui;fill:#7794b4;paint-order:stroke;stroke:#070c15;stroke-width:3px}.scene-node:hover .scene-title,.scene-node.selected .scene-title{fill:#fff;font-weight:600}.scene-node.selected .scene-dot{fill:#fff;stroke:#c9e8ff;stroke-width:1.5}.scene-node.selected .scene-halo{fill:rgba(142,207,255,.30)}.scene-node.entity .scene-dot{fill:#e5f4ff;stroke:#b9ddf9;stroke-width:1.4}.scene-group-ring{fill:rgba(95,149,194,.025);stroke:rgba(137,191,233,.25);stroke-width:.8;stroke-dasharray:3 5}.scene-group-ring.core{fill:rgba(93,159,211,.05);stroke:rgba(164,210,245,.4);stroke-dasharray:none}.scene-group-title{font:600 10px Manrope,system-ui;letter-spacing:1.2px;fill:#819db9;paint-order:stroke;stroke:#07101d;stroke-width:4px}
.scene-node[hidden],.scene-edge[hidden],.scene-edge-label[hidden],.scene-subtitle[hidden]{display:none!important}
@media(max-width:760px){body:not(.focus):not(.discipline) .intro{display:none!important}.scene-title{font-size:11px}.scene-subtitle{font-size:9px}.scene-edge{stroke-width:1}.scene-edge.active{stroke-width:1.4}.scene-edge-label{display:none!important}.scene-group-title{font-size:8px;letter-spacing:.8px}}
.scene-node{pointer-events:all}
