/* Extracted from pages/kana/advanced/kuzushiji/index.html; edit the source CSS file directly. */
:root {
  --ak-accent: var(--shu);
  --ak-accent-light: var(--shu-light);
  --ak-accent-ghost: var(--shu-ghost);
}
/* Kuzushiji card: shows cursive form vs print */
.kz-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: var(--space-2);
}
.kz-card {
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--ink-2);
  padding: var(--space-3);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  text-align: center;
  transition: all var(--dur-fast);
  position: relative;
}
.kz-card:hover,
.kz-card.active {
  border-color: var(--shu);
  transform: translateY(-2px);
  background: var(--shu-ghost);
}
.kz-cursive {
  font-family: var(--font-display);
  font-size: 42px;
  line-height: 1;
  color: var(--shu-light);
  font-style: italic;
  letter-spacing: -2px; /* simulate cursive flow */
}
.kz-modern {
  font-family: var(--font-display);
  font-size: 16px;
  color: var(--text-ghost);
  background: var(--ink-4);
  border-radius: var(--radius-sm);
  padding: 1px 8px;
}
.kz-diff-badge {
  position: absolute;
  top: 6px;
  right: 6px;
  font-size: 9px;
  font-family: var(--font-mono);
  border-radius: var(--radius-full);
  padding: 1px 6px;
}
.kz-diff-easy {
  background: var(--jade-ghost);
  color: var(--jade-light);
}
.kz-diff-med {
  background: var(--gold-ghost);
  color: var(--gold-light);
}
.kz-diff-hard {
  background: var(--shu-ghost);
  color: var(--shu-light);
}
.kz-mastered {
  border-color: var(--jade-dim) !important;
}
.kz-mastered .kz-cursive {
  color: var(--jade-light);
}
/* Difficulty filter */
.kz-diff-filter {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: var(--space-2);
}
.kz-df-btn {
  padding: 4px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  font-size: 11px;
  font-family: var(--font-mono);
  background: var(--ink-3);
  color: var(--text-faint);
  cursor: pointer;
  transition: all var(--dur-fast);
}
.kz-df-btn:hover {
  border-color: var(--shu);
  color: var(--shu-light);
}
.kz-df-btn.active {
  background: var(--shu-ghost);
  border-color: var(--shu);
  color: var(--shu-light);
  font-weight: 600;
}
/* Identification quiz style */
.kz-ident-question {
  font-family: var(--font-display);
  font-size: 80px;
  font-style: italic;
  color: var(--shu-light);
  text-align: center;
  line-height: 1;
  margin: var(--space-3) 0;
  padding: var(--space-3);
  background: var(--ink-3);
  border-radius: var(--radius-md);
  letter-spacing: -3px;
}
/* Manuscript Detective */
.kz-manuscript {
  position: relative;
  background: var(--ink-3);
  border: 1px solid var(--shu-dim);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  overflow: hidden;
}
.kz-ms-text {
  font-family: var(--font-display);
  font-size: clamp(24px, 5vw, 36px);
  line-height: 2.5;
  color: var(--text-soft);
  letter-spacing: 0.05em;
  writing-mode: horizontal-tb; /* or vertical-rl for effect */
}
.kz-ms-word {
  display: inline-block;
  cursor: pointer;
  position: relative;
  transition: color var(--dur-fast);
  border-bottom: 2px solid transparent;
}
.kz-ms-word:hover {
  color: var(--shu-light);
  border-bottom-color: var(--shu-dim);
}
.kz-ms-word.revealed {
  color: var(--jade-light);
  border-bottom-color: var(--jade-dim);
}
.kz-ms-tooltip {
  display: none;
  position: absolute;
  bottom: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--ink-1);
  border: 1px solid var(--shu-dim);
  border-radius: var(--radius-sm);
  padding: 6px 10px;
  font-size: 12px;
  font-family: var(--font-mono);
  color: var(--text-soft);
  white-space: nowrap;
  z-index: 10;
  box-shadow: var(--shadow-md);
}
.kz-ms-word.revealed .kz-ms-tooltip {
  display: block;
}
.kz-ms-counter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-2);
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--text-faint);
}
/* Progress by difficulty */
.kz-progress-bands {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-2);
}
.kz-prog-band {
  background: var(--ink-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: var(--space-2);
  text-align: center;
}
.kz-prog-num {
  font-size: 22px;
  font-weight: 700;
  font-family: var(--font-mono);
}
