/* A larger graph, with an immersive reading mode as the default entry point. */
.node { width: 280px; height: 120px; padding: 20px; gap: 15px; }
.node-title { font-size: 16px; line-height: 1.4; }
.node-category { font-size: 9px; margin-bottom: 8px; }
.node-meta { font-size: 10px; margin-top: 7px; }
.node-icon { width: 42px; height: 42px; }
.port { width: 14px; height: 14px; }
.port-top { top: -8px; left: calc(50% - 7px); }
.port-bottom { bottom: -8px; left: calc(50% - 7px); }
.port-left { left: -8px; top: calc(50% - 7px); }
.port-right { right: -8px; top: calc(50% - 7px); }
.edge-label text { font-size: 11px; fill: #687f8b; }
.edge-label { pointer-events: all; cursor: pointer; }
.edge-group:hover .edge-label rect,
.edge-group:focus-visible .edge-label rect { stroke: #008e94; fill: #edf8f7; }
.edge-group:focus-visible { outline: none; }
.edge-group:focus-visible .edge-line { stroke: #008e94; stroke-width: 2; }
.edge-modal-actions { flex-wrap: wrap; }
.edge-modal-actions .danger { margin-right: auto; }
.focus-actions { display: none; }
body.map-focus { overflow: hidden; }
.map-focus .app-header,
.map-focus .page-heading,
.map-focus .page-footer,
.map-focus .map-toolbar,
.map-focus .canvas-top-note,
.map-focus .legend,
.map-focus #undo,
.map-focus #redo,
.map-focus .tool-divider { display: none; }
.map-focus main { padding: 0; margin: 0; max-width: none; }
.map-focus .workspace {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100dvh;
  min-height: 0;
  max-height: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.map-focus .canvas { inset: 0; }
.map-focus .focus-actions {
  position: absolute;
  top: 22px;
  right: 25px;
  display: flex;
  gap: 9px;
  align-items: center;
}
.focus-actions .icon-button {
  background: #fff;
  border: 1px solid #dfe6e9;
  height: 39px;
  width: 39px;
  box-shadow: 0 2px 7px #16334405;
}
.map-focus .canvas-bottom { justify-content: flex-end; bottom: 24px; right: 25px; }
.map-focus .zoom-tools { padding: 5px; }
.map-focus .zoom-tools .icon-button { height: 31px; width: 32px; }
.map-focus .zoom-tools #zoom-label { font-size: 11px; }
.map-focus .empty-search { top: 80px; }
@media (max-width: 760px) {
  .map-focus .focus-actions { top: 15px; right: 15px; }
  .map-focus .canvas-bottom { bottom: 15px; right: 15px; }
}
