/* Idea-specific styles on top of design/days.css. Tokens only. */
.plain { list-style: none; padding: 0; margin: 0; }
.lead { font-size: var(--step-1); max-width: 46rem; }
.label { font-weight: 600; }
.choice-grid { display: grid; gap: var(--space-2) var(--space-4); grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); }
.settings fieldset { border: 0; padding: 0; margin: 0; }
.upload fieldset { border: 0; padding: 0; margin: 0; }
.upload input[type=file] { padding-block: var(--space-2); min-height: var(--tap); }
.features .card-title { font-size: var(--step-1); }
.faq details summary, .lyrics summary, details.card summary { cursor: pointer; font-weight: 600; min-height: var(--tap); display: flex; align-items: center; }
.faq details p { margin-top: var(--space-2); }
.song-title { overflow-wrap: anywhere; }

.stages { display: grid; gap: var(--space-2); grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); }
.stage { display: flex; gap: var(--space-2); align-items: center; color: var(--muted); }
.stage-mark { inline-size: 1.25rem; text-align: center; font-weight: 700; }
.stage-ok { color: var(--text); }
.stage-ok .stage-mark { color: var(--success); }
.stage-fail .stage-mark { color: var(--danger); }
.stage-run { color: var(--text); font-weight: 600; }
.stage-run .stage-mark { display: none; }

.facts { display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); margin: 0; }
.facts dt { color: var(--muted); font-size: var(--step--1); }
.facts dd { margin: 0; font-weight: 600; }
.facts dd.muted { font-weight: 400; }
.player { display: grid; gap: var(--space-2); grid-template-columns: 5rem 1fr; align-items: center; }
.player audio { inline-size: 100%; min-width: 0; }
.downloads { grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); }
.output a { font-weight: 600; min-height: var(--tap); display: inline-flex; align-items: center; }
.output .hint { margin: 0; }
/* Sheet music is black ink on paper in every theme */
.paper { background: #fff; border: var(--border-width) solid var(--border); border-radius: var(--radius-2); padding: var(--space-3); max-width: 48rem; }
.paper img { display: block; inline-size: 100%; block-size: auto; }

.shapes { gap: var(--space-3); }
.shape { display: flex; flex-direction: column; align-items: center; gap: var(--space-1); }
.chord-box { color: var(--text); }
.chord-line { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.chord-chip { display: flex; flex-direction: column; padding: var(--space-2) var(--space-3); border: var(--border-width) solid var(--border);
  border-radius: var(--radius-2); background: var(--surface); min-inline-size: 4.5rem; }
.chord-chip.unknown { border-style: dashed; color: var(--muted); }
.chord-time { font-family: var(--font-mono); font-size: var(--step--1); color: var(--muted); }
.lyrics ol { margin-top: var(--space-3); display: grid; gap: var(--space-1); }
.checks li { display: flex; gap: var(--space-2); align-items: baseline; flex-wrap: wrap; }
.prose ol, .prose ul { padding-left: var(--space-5); }
