/* ====================================================================
   CardA — terminal style
   ==================================================================== */

.kr-card {
  background: var(--io-surface-raised);
  border: 1px solid var(--io-border);
  border-radius: var(--io-radius-sm);
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  font-family: var(--io-font-mono);
  color: var(--io-text-primary);
  transition: border-color 160ms ease;
  cursor: pointer;
}
.kr-card:hover .kr-cover__glow { opacity: 0.85; }

/* ─── head ─── */

.kr-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  border-bottom: 1px solid var(--io-border);
  background: var(--io-surface-sunken);
  font-family: var(--io-font-pixel);
  font-size: 8px;
  letter-spacing: 0.18em;
  color: var(--io-text-tertiary);
  text-transform: uppercase;
}
.kr-head .acc  { color: var(--io-accent); margin: 0 3px; }
.kr-head .dim  { color: var(--io-text-disabled); }
.kr-head .live { display: inline-flex; align-items: center; gap: 7px; color: var(--io-success); }
.kr-head .live::before {
  content: "";
  width: 6px; height: 6px;
  background: var(--io-success);
  box-shadow: 0 0 6px rgba(102,255,51,0.7);
  animation: kr-card-pulse 1.4s ease-in-out infinite;
}
@keyframes kr-card-pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.35; }
}

/* ─── cover ─── */

.kr-cover {
  position: relative;
  display: block;
  text-decoration: none;
  color: inherit;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--io-surface-sunken);
}
.kr-cover__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.78) contrast(1.08) brightness(0.62);
  opacity: 0.86;
  transition: filter 220ms ease, opacity 220ms ease, transform 360ms ease;
}
.kr-card:hover .kr-cover__img {
  filter: saturate(0.95) contrast(1.14) brightness(0.72);
  opacity: 0.94;
  transform: scale(1.025);
}
.kr-cover__glow {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 22% 38%, var(--io-accent-glow) 0%, transparent 50%),
    radial-gradient(circle at 78% 65%, rgba(102, 194, 255, 0.14) 0%, transparent 55%);
  opacity: 0.65;
  transition: opacity 300ms ease;
  pointer-events: none;
}
.kr-cover__ascii {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 10px 12px;
  font-family: var(--io-font-mono);
  font-size: 9px;
  line-height: 1.15;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.075);
  white-space: pre;
  overflow: hidden;
  user-select: none;
  pointer-events: none;
}
.kr-cover__scan {
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.022) 0 1px,
    transparent 1px 3px
  );
  pointer-events: none;
}
.kr-cover__scope {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--io-font-pixel);
  font-size: 8px;
  letter-spacing: 0.28em;
  color: var(--io-text-secondary);
  background: rgba(0, 0, 0, 0.7);
  padding: 6px 14px;
  border: 1px solid var(--io-border);
  text-transform: uppercase;
}
.kr-cover__scope .acc { color: var(--io-accent); margin: 0 4px; }

/* ─── body ─── */

.kr-body {
  padding: 16px 18px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.kr-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--io-font-pixel);
  font-size: 8px;
  letter-spacing: 0.28em;
  color: var(--io-accent);
  text-transform: uppercase;
}
.kr-kicker::before {
  content: "";
  display: inline-block;
  width: 8px; height: 8px;
  background: var(--io-accent);
}
.kr-title {
  margin: 0;
  font-family: var(--io-font-mono);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.005em;
  color: var(--io-text-primary);
}
.kr-title a {
  color: inherit;
  text-decoration: none;
  transition: color 120ms ease;
}
.kr-title a:hover,
.kr-card:hover .kr-title a { color: var(--io-accent); }
.kr-excerpt {
  margin: 0;
  font-family: var(--io-font-mono);
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--io-text-secondary);
}

/* ─── stats grid ─── */

.kr-stats {
  margin: 0;
  margin-top: auto;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--io-border);
  border-bottom: 1px solid var(--io-border);
  background: var(--io-surface-sunken);
}
.kr-stats > div {
  padding: 10px 12px;
  border-right: 1px solid var(--io-border);
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.kr-stats > div:last-child { border-right: 0; }
.kr-stats dt {
  font-family: var(--io-font-pixel);
  font-size: 8px;
  letter-spacing: 0.2em;
  color: var(--io-text-tertiary);
  text-transform: uppercase;
}
.kr-stats dd {
  margin: 0;
  font-family: var(--io-font-mono);
  font-size: 13px;
  font-weight: 500;
  color: var(--io-text-primary);
  display: flex;
  align-items: center;
  gap: 6px;
}
.kr-stats dd i {
  color: var(--io-text-tertiary);
  font-size: 11px;
  width: 11px;
}

/* ─── foot ─── */

.kr-foot {
  padding: 12px 14px 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.kr-foot .path {
  font-family: var(--io-font-pixel);
  font-size: 8px;
  letter-spacing: 0.18em;
  color: var(--io-text-tertiary);
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.kr-foot .actions { display: flex; gap: 4px; }

/* ─── kr-btn scoped to kr-card ─── */

.kr-card .kr-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  border: 1px solid var(--io-border);
  background: transparent;
  color: var(--io-text-secondary);
  font-family: var(--io-font-mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  line-height: 1;
  cursor: pointer;
  text-decoration: none;
  transition: all 120ms ease;
}
.kr-card .kr-btn > * { line-height: 1; }
.kr-card .kr-btn:hover {
  color: var(--io-accent);
  background: var(--io-accent-subtle);
}
.kr-card .kr-btn.primary {
  background: var(--io-accent);
  border-color: var(--io-accent);
  color: var(--io-on-accent);
  font-weight: 700;
}
.kr-card .kr-btn.primary:hover {
  background: var(--io-accent-bright);
  border-color: var(--io-accent-bright);
  color: var(--io-on-accent);
}
.kr-card .kr-btn.ghost { padding: 7px 9px; color: var(--io-text-tertiary); }
.kr-card .kr-btn.ghost:hover {
  color: var(--io-accent);
  background: var(--io-accent-subtle);
}
.kr-card .kr-btn.sm { font-size: 9px; padding: 6px 9px; }
.kr-card .kr-btn i  { font-size: 1em; line-height: 1; display: inline-flex; align-items: center; }
