.control-panel h1 { font-size: 24px; margin-top: 12px; }
.control-panel h2 { font-size: 18px; }
.control-panel p { line-height: 1.5; }
.personal-kicker { font-size: 11px; letter-spacing: .12em; color: #0f766e; font-weight: 700; }
#setControls { border: 0; padding: 0; margin: 0; min-width: 0; }
.personal-note { color: #526575; font-size: 12px; }
.search-label { display: grid; gap: 5px; font-weight: 600; }
.search-label input { width: 100%; padding: 10px; border: 1px solid #cbd5e1; border-radius: 8px; font: inherit; }
.practice-group { margin: 10px 0; border: 1px solid #d5e2e0; border-radius: 10px; overflow: hidden; }
.practice-group summary { padding: 12px; font-weight: 700; background: #edf5f3; cursor: pointer; }
.practice-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 12px; border-top: 1px solid #e8eeee; font-size: 14px; }
.practice-row:has(input:not([data-empty])) { background: #f1f8f4; }
.practice-row input { width: 56px; padding: 7px; font: inherit; border: 1px solid #b2c7c0; border-radius: 6px; }
.practice-row[hidden], .practice-group[hidden] { display: none; }
.personal-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
#generateBtn { background: #0f766e; }
#resetBtn, #showKeyBtn { background: #526575; }
#selectionSummary, #state { font-size: 14px; font-weight: 600; }
.empty-preview { background: white; padding: 30px; border-radius: 16px; max-width: 650px; }
.personal-page { display: flex; flex-direction: column; gap: 5mm; }
.personal-page-header { display: flex; justify-content: space-between; gap: 10mm; border-bottom: 1px solid #abc1ba; padding-bottom: 3mm; font-size: 11pt; overflow-wrap: anywhere; }
.personal-page-header span { max-width: 70%; }
.personal-page-content { flex: 1; min-height: 0; overflow: hidden; }
.personal-page-footer { display: flex; justify-content: space-between; color: #53665f; font-size: 9pt; }
.personal-cover { padding: 16mm; position: relative; gap: 7mm; background: #fff; border-top: 5mm solid #0f766e; }
.personal-cover h2 { margin: 0; color: #16483e; font-size: 36pt; line-height: 1.1; }
.personal-cover .cover-name { font-size: 26pt; font-weight: 700; margin: 0; overflow-wrap: anywhere; }
.cover-image { width: 100%; height: 66mm; object-fit: cover; border-radius: 5mm; }
.cover-info { display: flex; justify-content: space-between; gap: 5mm; overflow-wrap: anywhere; }
.cover-info span { max-width: 65%; }
.cover-topics { margin: 0; padding-left: 6mm; columns: 2; font-size: 10pt; line-height: 1.6; }
.cover-topics li { break-inside: avoid; padding-right: 4mm; }
.cover-encouragement { margin-top: auto; padding-top: 4mm; border-top: 1px solid #bfd0ca; font-size: 12pt; }
.dense-cover { gap: 4mm; }
.dense-cover .cover-image { height: 40mm; }
.dense-cover h2 { font-size: 30pt; }
.dense-cover .cover-name { font-size: 22pt; }
.personal-page .weekset-source-card { overflow: visible; }
.personal-page .weekset-embed-html { overflow: visible; }
.personal-page .weekset-source-head h3 { line-height: 1.4; }
.personal-page .weekset-embed-stack { row-gap: 4mm; }
.personal-page .weekset-embed-html .dm-generated-workspace { min-height: 28mm !important; }
.personal-page .weekset-embed-html .expr { line-height: 1.25 !important; }
.personal-page .key-warning { color: #854d0e; font-size: 10pt; }
.key-only-label { display: none; }
.preview.show-answers .key-only-label { display: inline; }
@media print {
  .personal-cover { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  body.print-key .personal-cover { display: none; }
  .preview.show-answers .weekset-source-card { outline: none; }
}
