.custom-comedy { min-width: 0; }
.custom-comedy .comedy-choices { display: flex; flex-wrap: wrap; gap: 10px; border: 0; padding: 0; margin: 0; }
.custom-comedy .comedy-choices legend { width: 100%; margin-bottom: 10px; font-size: 14px; font-weight: 600; }
.custom-comedy .comedy-choices label { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--border); border-radius: 8px; padding: 10px 14px; font-size: 14px; cursor: pointer; }
.custom-comedy .comedy-choices label:has(input:checked) { color: var(--primary); border-color: var(--primary); background: var(--bg-3); }
.custom-comedy .comedy-budget { padding: 16px; margin-top: 16px; background: var(--bg-3); border: 1px solid var(--border); border-radius: 8px; }
.custom-comedy .comedy-budget dl { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 16px; font-size: 13px; line-height: 1.7; }
.custom-comedy .comedy-budget dt { color: var(--text-2); }
.custom-comedy .comedy-budget dd { margin: 0; font-variant-numeric: tabular-nums; }
.custom-comedy .comedy-progress { width: 100%; height: 8px; accent-color: var(--primary); margin-top: 12px; }
.custom-comedy .comedy-summary { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14px; line-height: 1.9; }
.custom-comedy .comedy-episode-nav { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-bottom: 18px; }
.custom-comedy .comedy-episode-nav select { flex: 1 1 180px; min-width: 0; max-width: 420px; }
.custom-comedy .comedy-script mark { color: inherit; background: rgba(210, 165, 66, .28); border-bottom: 2px solid #cca85e; }
.custom-comedy .comedy-issue { border-bottom: 1px solid var(--border); padding: 18px 0; }
.custom-comedy .comedy-issue blockquote { margin: 10px 0; padding-left: 12px; border-left: 2px solid var(--primary); white-space: pre-wrap; overflow-wrap: anywhere; color: var(--text-2); font-size: 13px; line-height: 1.8; }
.custom-comedy .comedy-diff { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 18px; }
.custom-comedy .comedy-diff > div { min-width: 0; }
.custom-comedy .comedy-diff h4 { margin: 0 0 8px; font-size: 13px; }
.custom-comedy .comedy-diff pre { margin: 0; padding: 12px; border: 1px solid var(--border); border-radius: 8px; white-space: pre-wrap; overflow-wrap: anywhere; font-family: inherit; font-size: 13px; line-height: 1.9; }
@media (max-width: 640px) {
  .custom-comedy .comedy-diff { grid-template-columns: 1fr; }
  .custom-comedy .comedy-choices label { padding: 10px 12px; }
  .custom-comedy .comedy-budget dl { gap: 8px 10px; }
}
