.xvis{position:relative;width:100%}.xvis-stage{cursor:zoom-in}.xvis-expand{position:absolute;top:6px;right:6px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid var(--border,#1d2b36);border-radius:6px;background:color-mix(in srgb,var(--panel,#0f1820) 85%,transparent);color:var(--muted,#94a3b8);cursor:pointer;line-height:0;opacity:0;transition:opacity .12s ease,color .12s ease}.xvis-expand svg{width:14px;height:14px}.xvis-expand:hover{color:var(--accent,#38bdf8)}.xvis-expand:focus-visible{opacity:1;outline:2px solid var(--accent,#38bdf8);outline-offset:1px}.xvis-expand:focus-visible,.xvis:hover>.xvis-expand{opacity:1}@media (hover:none){.xvis-expand{opacity:1}}.xvis-scrim{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:4vh 4vw;background:rgba(4,8,12,.72);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.xvis-panel{display:flex;flex-direction:column;width:min(1200px,94vw);height:min(880px,92vh);border:1px solid var(--border,#1d2b36);border-radius:10px;overflow:hidden;background:var(--panel,#0f1820);box-shadow:0 18px 60px rgba(0,0,0,.5)}.xvis-panel:focus{outline:none}.xvis-head{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 16px;border-bottom:1px solid var(--border-soft,#16212a);flex:0 0 auto}.xvis-title{flex:1 1;min-width:0;font-size:13px;font-weight:600;color:var(--text,#dfe7ee);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xvis-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border,#1d2b36);border-radius:6px;background:transparent;color:var(--muted,#94a3b8);cursor:pointer}.xvis-close:hover{color:var(--accent,#38bdf8)}.xvis-close svg{width:15px;height:15px}.xvis-zoomToolbar{display:flex;align-items:center;gap:6px;padding:6px 16px;border-bottom:1px solid var(--border-soft,#16212a);flex:0 0 auto}.xvis-zbtn{min-width:28px;height:28px;padding:0 8px;border:1px solid var(--border,#1d2b36);border-radius:6px;background:transparent;color:var(--text,#dfe7ee);font-size:13px;cursor:pointer}.xvis-zbtn:hover{background:color-mix(in srgb,var(--accent,#38bdf8) 18%,transparent)}.xvis-zlabel{min-width:3.2em;text-align:center;font-size:12px;color:var(--muted,#94a3b8)}.xvis-body{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:default;touch-action:none}.xvis-body.xvis-pannable{cursor:-webkit-grab;cursor:grab}.xvis-content{width:100%;max-width:100%;box-sizing:border-box;padding:24px;transform-origin:center center;will-change:transform}