/* Korps OS storytelling primitives (playbook §36). Static first. No motion polish. */

.k-ring {
  width: 2.1rem; height: 2.1rem; border-radius: 50%;
  display: grid; place-items: center;
  font-size: 0.68rem; font-weight: 600;
  background: #1c1914; color: var(--ink);
  box-shadow: 0 0 0 2px #0e0c09, 0 0 0 3px var(--idle);
  flex: 0 0 2.1rem;
}
.k-ring[data-status="working"] { box-shadow: 0 0 0 2px #0e0c09, 0 0 0 3px var(--working); }
.k-ring[data-status="waiting"] { box-shadow: 0 0 0 2px #0e0c09, 0 0 0 3px var(--waiting); }
.k-ring[data-status="needsyou"] { box-shadow: 0 0 0 2px #0e0c09, 0 0 0 3px var(--needs); }
.k-ring[data-status="idle"] { box-shadow: 0 0 0 2px #0e0c09, 0 0 0 3px var(--idle); }

.k-worker {
  display: grid;
  grid-template-columns: 2.1rem 1fr;
  gap: 0.65rem;
  align-items: start;
}
.k-worker .k-name { font-size: 0.92rem; }
.k-worker .k-title { font-size: 0.78rem; color: var(--muted); }
.k-worker .k-work { font-size: 0.75rem; color: var(--quiet); margin-top: 0.1rem; }
.k-worker[data-status="needsyou"] .k-work { color: var(--needs); }

.k-bubble {
  max-width: 36rem;
  background: #14120e;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 0.7rem 0.85rem;
  font-size: 0.92rem;
}
.k-bubble .k-meta { font-size: 0.75rem; color: var(--quiet); margin-bottom: 0.25rem; }
.k-bubble[data-from="you"] { align-self: flex-end; background: #1a1813; }

.k-typing {
  display: inline-flex; gap: 0.2rem; align-items: center;
  color: var(--quiet); font-size: 0.8rem;
}
.k-typing[hidden] { display: none !important; }

.k-receipt {
  border-top: 1px solid var(--line);
  padding: 0.65rem 0;
  font-size: 0.92rem;
  color: var(--muted);
}
.k-receipt .k-meta { display: block; color: var(--quiet); font-size: 0.75rem; }
.handoff .k-worker { margin-top: 0.85rem; padding-top: 0.85rem; border-top: 1px solid var(--line); }
body.motion #s05 [data-step] { transition: opacity 240ms ease; }
body.reduce #s05 .k-typing { display: none !important; }

.k-approval {
  background: #14110c;
  border: 1px solid rgba(216,164,90,0.45);
  border-radius: 12px;
  padding: 1.1rem 1.2rem;
  max-width: 28rem;
}
.k-approval h3 { font-family: var(--sans); font-size: 1rem; font-weight: 600; margin-bottom: 0.4rem; }
.k-approval p { color: var(--muted); margin: 0 0 1rem; font-size: 0.95rem; }

.k-chip {
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  padding: 0.35rem 0.75rem;
  font-size: 0.85rem;
  color: var(--muted);
}

.k-device {
  background: #0e0c09;
  border: 1px solid var(--frame);
  border-radius: 16px;
  padding: 1rem;
  min-height: 12rem;
}

.k-boundary {
  padding: 0.9rem 0;
  border-top: 1px solid var(--line);
  color: var(--muted);
}
.k-boundary strong { color: var(--ink); font-weight: 500; display: block; }

@media (prefers-reduced-motion: reduce) {
  .k-ring, .k-worker, .k-bubble { transition: none; }
}
