.theme-playful {
  --color-paper: oklch(98.5% 0.012 70);
  --color-paper-2: oklch(99% 0.006 70);
  --color-paper-3: oklch(95% 0.035 70);
  --color-paper-muted: oklch(88% 0.03 70);
  --color-ink: oklch(23% 0.04 265);
  --color-ink-soft: oklch(35% 0.035 265);
  --color-muted: oklch(51% 0.025 265);
  --color-rule: oklch(89% 0.045 55);
  --color-focus: oklch(63% 0.2 325);
  --color-accent: oklch(76% 0.17 25);
  --color-accent-soft: oklch(95% 0.045 25);
  --color-accent-hover: oklch(71% 0.19 25);
  --color-accent-2: oklch(72% 0.14 305);
  --color-accent-2-soft: oklch(96% 0.035 305);
  --color-accent-3: oklch(80% 0.16 85);
  --color-accent-3-soft: oklch(97% 0.04 85);
  --color-mint: oklch(78% 0.12 175);
  --color-lavender-soft: oklch(95% 0.05 305);
  --font-display: "Kalam", "Plus Jakarta Sans", ui-rounded, sans-serif;
  --radius-card: 1.65rem;
  --shadow-card: 0 1rem 2.75rem -2rem oklch(40% 0.06 30 / 0.28);
}
.theme-playful .topbar { border-bottom: 0; }
.theme-playful .wordmark { color: var(--color-accent); font-size: var(--text-lg); }
.theme-playful .wordmark span { color: var(--color-ink); }
.theme-playful .phase-picker { gap: var(--space-xs); }
.theme-playful .phase-picker__head { color: var(--color-accent-2); }
.theme-playful .phase-rail { gap: 0; }
.theme-playful .phase-tab { border-width: var(--rule-hair); border-color: var(--color-rule); border-radius: 0; background: var(--color-paper-2); box-shadow: var(--shadow-card); }
.theme-playful .phase-tab:first-child { border-radius: var(--radius-card) 0 0 var(--radius-card); }
.theme-playful .phase-tab:last-child { border-radius: 0 var(--radius-card) var(--radius-card) 0; }
.theme-playful .phase-tab[aria-selected="true"] { border-color: var(--color-accent); background: var(--color-accent); color: var(--color-paper); }
.theme-playful .phase-tab[aria-selected="true"] .phase-tab__number { background: var(--color-paper); color: var(--color-accent); }
.theme-playful .phase-tab[aria-selected="true"] .phase-tab__copy small { color: var(--color-paper); }
.theme-playful .phase-head { border-color: var(--color-accent); }
.theme-playful .phase-head h2 { color: var(--color-accent); }
.theme-playful .profile-card,
.theme-playful .client-card,
.theme-playful .program-block { position: relative; border: var(--rule-hair) solid var(--color-rule); background: var(--color-paper-2); color: var(--color-ink); box-shadow: var(--shadow-card); }
.theme-playful .theme-illustration--playful { position: static; z-index: var(--z-base); display: block; width: clamp(5.5rem, 9vw, 7rem); height: clamp(5.5rem, 9vw, 7rem); object-fit: contain; pointer-events: none; }
.theme-playful .theme-illustration--block { width: clamp(4.75rem, 8vw, 6rem); height: clamp(4.75rem, 8vw, 6rem); }
.theme-playful .avatar { display: none; }
.theme-playful .profile-card h2,
.theme-playful .program-block h3 { color: var(--color-accent-2); }
.theme-playful .client-card dl { margin-block-start: var(--space-md); }
.theme-playful .client-card dl > div { border-color: var(--color-rule); }
.theme-playful .program-block__heading { min-height: 6rem; align-items: center; }
.theme-playful .block-art { display: none; }
.theme-playful .program-block--workout h3 { color: var(--color-accent); }
.theme-playful .program-block--nutrition h3 { color: var(--color-mint); }
.theme-playful .program-block--note h3 { color: var(--color-accent-2); }
.theme-playful .workouts li { margin-block-start: var(--space-xs); padding: var(--space-sm); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-input); background: var(--color-accent-soft); }
.theme-playful .workouts li:nth-child(2) { background: var(--color-accent-2-soft); }
.theme-playful .workouts li:nth-child(3) { background: var(--color-accent-3-soft); }
.theme-playful .guidelines li::before { background: var(--color-mint); }

@media (min-width: 64rem) {
  .theme-playful .context-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .theme-playful .context-grid .client-card { grid-column: span 4; }
  .theme-playful .context-grid .profile-card { grid-column: span 4; }
  .theme-playful .context-grid .program-block { grid-column: span 4; }
}

@media print {
  .theme-playful .context-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .theme-playful .context-grid .client-card,
  .theme-playful .context-grid .profile-card,
  .theme-playful .context-grid .program-block { grid-column: auto; }
  .theme-playful .profile-card,
  .theme-playful .client-card { padding-block-start: 31mm; }
  .theme-playful .program-block { padding-block-start: 25mm; }
}
