/* MESH OS — use-case hero viz frame chrome */
.ln-hero-viz, .uc-hero-viz {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3.4;
  background: #0A0C10;
  border: 1px solid var(--line, #1f2229);
}
.uc-viz-frame { position: absolute; inset: 0; overflow: hidden; }
.uc-viz-svg { position: absolute; inset: 14px; width: calc(100% - 28px); height: calc(100% - 28px); display: block; }

/* corner ticks */
.uc-viz-corner {
  position: absolute; width: 14px; height: 14px; pointer-events: none;
  border: 1px solid var(--accent, #E24329);
}
.uc-viz-corner.tl { top: 8px; left: 8px; border-right: 0; border-bottom: 0; }
.uc-viz-corner.tr { top: 8px; right: 8px; border-left: 0; border-bottom: 0; }
.uc-viz-corner.bl { bottom: 8px; left: 8px; border-right: 0; border-top: 0; }
.uc-viz-corner.br { bottom: 8px; right: 8px; border-left: 0; border-top: 0; }

/* mono labels */
.uc-viz-tag {
  position: absolute; top: 14px;
  font-family: var(--ff-mono, ui-monospace, monospace);
  font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--text-2, #B0B4BB); display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 8px; background: rgba(10,12,16,0.85);
}
.uc-viz-tag.tl { left: 28px; color: var(--accent, #E24329); }
.uc-viz-tag.tr { right: 28px; }
.uc-viz-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--accent, #E24329);
  animation: uc-pulse 1.4s infinite;
}
.uc-viz-foot {
  position: absolute; bottom: 14px; left: 28px; right: 28px;
  display: flex; align-items: center; justify-content: space-between;
  font-family: var(--ff-mono, ui-monospace, monospace);
  font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--muted, #7A7F86);
  padding: 4px 0; border-top: 1px solid rgba(255,255,255,0.05);
}
.uc-viz-active { display: inline-flex; align-items: center; gap: 6px; color: var(--ok, #4ADE80); }
.uc-viz-active .uc-viz-dot { background: var(--ok, #4ADE80); }
@keyframes uc-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.35; } }

/* Hero layout — viz to the right of copy on wide screens */
@media (min-width: 980px) {
  .ln-hero-inner:has(> .ln-hero-viz) {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    column-gap: 64px;
    align-items: start;
  }
  .ln-hero-inner:has(> .ln-hero-viz) > .meta,
  .ln-hero-inner:has(> .ln-hero-viz) > h1,
  .ln-hero-inner:has(> .ln-hero-viz) > .lede,
  .ln-hero-inner:has(> .ln-hero-viz) > .actions { grid-column: 1; }
  .ln-hero-inner:has(> .ln-hero-viz) > .ln-hero-viz {
    grid-column: 2;
    grid-row: 1 / span 4;
    align-self: center;
    margin-top: 8px;
    min-height: 420px;
    aspect-ratio: 4 / 3.4;
  }
  .ln-hero-inner:has(> .ln-hero-viz) > .ln-hero-stats { grid-column: 1 / -1; }
}
@media (max-width: 979px) {
  .ln-hero-inner > .ln-hero-viz { margin-top: 48px; min-height: 340px; }
}
