/* ════════════════════════════════════════════
   skill-stream.css
   Styles for the Field Skills streamgraph section.
   Linked only on index.html — no need to bloat birds.css.
   ════════════════════════════════════════════ */

/* ════════════════════════════════════════════
     SKILL STREAM — dark holographic section
     ════════════════════════════════════════════ */

  .skill-stream-section {
    background: #111 !important;
    background-image: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  }

  /* Override ruled-paper section header colours for dark bg */
  .skill-stream-section .section-title { color: rgba(255,255,255,0.88); }
  .skill-stream-section .section-rule  { background: rgba(255,255,255,0.1); }
  .skill-stream-section .section-hand  { color: rgba(255,255,255,0.35); }
  .skill-stream-section .section-stamp {
    color: rgba(255,255,255,0.3);
    border-color: rgba(255,255,255,0.15);
  }



  .ss-intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    margin-bottom: 40px;
  }

  .ss-intro {
    font-family: var(--f-serif);
    font-size: clamp(0.85rem, 1.2vw, 1.05rem);
    color: rgba(255,255,255,0.45);
    line-height: 1.7;
  }

  /* ── Canvas wrapper ── */
  /* ── Two-column layout ── */
  .ss-layout {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 0;
    align-items: stretch;
  }

  /* ── Left key panel ── */
  .ss-key {
    border-right: 0.5px solid rgba(255,255,255,0.07);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0;
    padding: 32px 24px 32px 0;
    list-style: none;
  }

  .ss-canvas-wrap {
    position: relative;
    overflow: visible;
    flex: 1;
    min-width: 0;
  }

  .ss-canvas-wrap svg {
    display: block;
    width: 100%;
    overflow: visible;
  }

  /* ── Stream paths ── */
  .ss-fill {
    cursor: pointer;
    transition: opacity 0.35s ease;
  }
  .ss-line {
    cursor: pointer;
    transition: opacity 0.35s ease;
    pointer-events: none;
  }

  .ss-canvas-wrap.hovering .ss-fill,
  .ss-canvas-wrap.hovering .ss-line { opacity: 0.08; }
  .ss-canvas-wrap.hovering .ss-fill.lit,
  .ss-canvas-wrap.hovering .ss-line.lit { opacity: 1; }

  /* ── Pill groups ── */

  /* ── Left key items ── */
  .ss-legend-item {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    padding: 12px 0;
    border-bottom: 0.5px solid rgba(255,255,255,0.05);
    opacity: 0.45;
    transition: opacity 0.25s ease;
    font-family: var(--f-mono);
    font-size: 0.58rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.75);
    user-select: none;
    line-height: 1.4;
  }

  .ss-legend-item:first-child { border-top: 0.5px solid rgba(255,255,255,0.05); }
  .ss-legend-item:hover { opacity: 1; }
  .ss-legend-item.lit { opacity: 1; }

  .ss-legend-line {
    width: 20px;
    height: 1.5px;
    flex-shrink: 0;
    border-radius: 1px;
  }

  /* ── Tooltip ── */
  .ss-tooltip {
    position: absolute;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.18s ease;
    background: rgba(10,10,10,0.94);
    border: 0.5px solid rgba(255,255,255,0.12);
    border-radius: 6px;
    padding: 12px 14px;
    min-width: 220px;
    max-width: 280px;
    z-index: 50;
  }

  .ss-tooltip-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 0.5px solid rgba(255,255,255,0.08);
  }

  .ss-tooltip-pill {
    font-family: var(--f-mono);
    font-size: 0.55rem;
    letter-spacing: 0.08em;
    padding: 3px 8px;
    border-radius: 20px;
    border: 0.5px solid;
    line-height: 1.4;
  }

  .ss-tooltip.on { opacity: 1; }

  .ss-tooltip-name {
    font-family: var(--f-mono);
    font-size: 0.6rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.9);
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 7px;
  }

  .ss-tooltip-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
  }

  .ss-tooltip-desc {
    font-family: var(--f-serif);
    font-size: 0.72rem;
    color: rgba(255,255,255,0.42);
    line-height: 1.55;
  }

  .ss-tooltip-accent {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 1px;
    margin-bottom: 10px;
    opacity: 0.6;
  }

  /* ── Animations ── */
  @keyframes ss-breathe {
    0%,100% { opacity: 0.82; }
    50%      { opacity: 1; }
  }

  /* Pause breathe during hover so opacity is fully controlled by hover rules */
  .ss-canvas-wrap.hovering .ss-fill,
  .ss-canvas-wrap.hovering .ss-line {
    animation: none !important;
  }


  @media (prefers-reduced-motion: reduce) {
    .ss-fill, .ss-line, .ss-pill-g { transition: none !important; animation: none !important; }
  }

  /* ── Mobile cards (shown instead of graph) ── */
  .ss-mobile-cards {
    display: none;
  }

  .ss-mobile-card {
    background: rgba(10,10,10,0.94);
    border: 0.5px solid rgba(255,255,255,0.12);
    border-radius: 6px;
    padding: 24px 24px 20px;
    position: relative;
    overflow: hidden;
  }

  .ss-mobile-card-accent {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 1px;
    margin-bottom: 10px;
    opacity: 0.6;
  }

  .ss-mobile-card-name {
    font-family: var(--f-mono);
    font-size: 0.6rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.9);
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 7px;
  }

  .ss-mobile-card-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
    display: inline-block;
  }

  .ss-mobile-card-desc {
    font-family: var(--f-serif);
    font-size: 0.72rem;
    color: rgba(255,255,255,0.42);
    line-height: 1.55;
    margin-bottom: 0;
  }

  .ss-mobile-card-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 0.5px solid rgba(255,255,255,0.08);
  }

  .ss-mobile-card-pill {
    font-family: var(--f-mono);
    font-size: 0.55rem;
    letter-spacing: 0.08em;
    padding: 3px 8px;
    border-radius: 20px;
    border: 0.5px solid;
    line-height: 1.4;
  }

  /* ── Mobile breakpoint ── */
  @media (max-width: 640px) {
    .ss-intro-grid {
      grid-template-columns: 1fr;
      gap: 20px;
    }
    /* Hide graph + legend, show static cards */
    .ss-layout {
      display: none;
    }
    .ss-mobile-cards {
      display: flex;
      flex-direction: column;
      gap: 20px;
      margin-top: 40px;
    }
  }
