  .paradox-wrapper {
    position: relative;
    width: 100%;
    min-height: 50vh;

  }

  /* =========================
  DESKTOP CONSTELLATION
  ========================= */

  .constellation {
    position: relative;
    width: 100%;
    height: 70vh;
    /*overflow: hidden;*/
  }

  svg {
    width: 100%;
    height: 100%;
    display: block;
  }

  /* JS uses .paradox-node, pm-hovered, pm-dimmed */
  .paradox-node {
    cursor: pointer;
    transition: opacity 300ms ease;
  }

  .paradox-node circle {
    fill: rgba(18,9,126,0.5);
    stroke: rgba(255,255,255,0.12);
    stroke-width: 1;
    transition: all 300ms ease;
    filter: drop-shadow(0 0 10px rgba(255,255,255,0.05));
  }

  .paradox-node text {
    fill: #F0EDE8;
    font-size: 9px;
    text-anchor: middle;
    dominant-baseline: middle;
    pointer-events: none;
    opacity: 0.92;
    transition:all 0.4s ease;
    font-family: v-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;
  }

  .paradox-node.pm-hovered circle {
    fill: rgba(255,255,255,0.12);
    stroke: rgba(255,255,255,0.25);
    filter: drop-shadow(0 0 20px rgba(255,255,255,0.12));
  }

  .paradox-node.pm-hovered text {
    fill: rgba(255,252,255,0.98);
    font-size: 9.5px;
  }

  .paradox-node.pm-dimmed {
    opacity: 0.22;
  }


  /* =========================
  MOBILE LIST VIEW
  ========================= */
    #mobile-list {
      min-height: 100vh;
      padding: 1.25rem 1rem 2rem;
      display:none;
    }
    
    .mobile-card {
      background: #1c1c1f;
      border: 0.5px solid rgba(255,255,255,0.1);
      border-radius: 14px;
      padding: 1rem 1.125rem;
      margin-bottom: 10px;
      cursor: pointer;
      transition: background 0.2s, border-color 0.2s;
    }
    
    .mobile-card:active {
      background: #242427;
    }
    
    .mobile-card-text {
      font-size: 14px;
      line-height: 1.55;
      color: rgba(255,255,255,0.88);
    }
    
    .mobile-card-half-b {
      color: rgba(255,255,255,0.55);
    }
    
    .mobile-card-sep {
      color: rgba(255,255,255,0.3);
      margin: 0 4px;
      font-size: 12px;
    }
    
    .mobile-card.collapsed .mobile-card-half-b,
    .mobile-card.collapsed .mobile-card-sep {
      display: none;
    }
    
    .mobile-card-hint {
      font-size: 11px;
      color: rgba(255,255,255,0.22);
      letter-spacing: 0.01em;
      display:none;
    }
    
    .mobile-card.expanded .mobile-card-hint {
      display: none;
    }
    
    @keyframes pm-fadein {
      from { opacity: 0; transform: translateY(-8px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    
    .pm-new {
      animation: pm-fadein 0.5s ease both;
    }

  /* =========================
  MOBILE SWITCH
  ========================= */

  @media (max-width: 768px) {

    .constellation {
      display: none;
    }

    #mobile-list {
      display: block;
    }

  }
