doctrine 0.5.1

Project tooling CLI
/* Doctrine Map Explorer — graph (SL-093 PHASE-01) */

@layer layout {
  /* ---------------------------------------------------------------------------
   * Graph area
   * ------------------------------------------------------------------------- */
  .graph-area {
    border: 1px solid var(--border);
    height: 70vh;
    min-height: 400px;
    margin-bottom: 1rem;
    overflow: hidden;
    position: relative;
    cursor: grab;
    touch-action: none;  /* allow drag-to-pan on touch devices (SL-094 PHASE-02) */
  }

  .graph-area.grabbing {
    cursor: grabbing;
  }

  .graph-transform-layer {
    position: absolute;
    transform-origin: 0 0;
  }

  /* SVG node highlight classes */
  .doctrine-node {
    cursor: pointer;
  }

  .doctrine-node--focus {
    filter: brightness(1.2) drop-shadow(0 0 5px var(--kind-SL));
  }

  .doctrine-node--focus polygon,
  .doctrine-node--focus ellipse {
    stroke: var(--kind-SL);
    stroke-width: 3;
  }

  .doctrine-node--hover {
    filter: brightness(1.15);
  }

  /* SVG inherits page background — nodes are filled via style="filled" (SL-075 D1) */
  .graph-area svg {
    border-radius: 4px;
  }

  /* ---------------------------------------------------------------------------
   * Hover detail pane
   * ------------------------------------------------------------------------- */
  .hover-detail {
    border: 1px solid var(--border);
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    min-height: 3.4rem;
    overflow: hidden;
  }

  .hover-detail-content {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
  }

  .hover-detail-title {
    font-weight: 600;
    font-size: 0.9rem;
  }

  .hover-detail-meta {
    font-size: 0.8rem;
    color: var(--muted);
  }

  /* ---------------------------------------------------------------------------
   * On-graph hover tooltip (actionability nodes) — reuses the hover-detail-*
   * visual rules for its inner content; this rule owns the floating chrome.
   * ------------------------------------------------------------------------- */
  .priority-tooltip {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 20;
    max-width: 22rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--border);
    border-radius: 4px;
    background: var(--bg, #fff);
    box-shadow: 0 2px 8px rgb(0 0 0 / 25%);
    font-size: 0.85rem;
    pointer-events: none;
    display: none;
  }

  .priority-tooltip.priority-tooltip--visible {
    display: block;
  }

  /* ---------------------------------------------------------------------------
   * Placeholder
   * ------------------------------------------------------------------------- */
  .placeholder {
    color: var(--muted);
    font-style: italic;
  }
}