/* Classfern Music – fingering chart pages (keyword pages, wave 1) */
.fc-answer{font-size:1.08rem;max-width:74ch}
.fc-meta{color:var(--muted);font-size:.9rem;margin:4px 0 14px}
.fc-facts{max-width:74ch;border:1px solid var(--line);border-radius:12px;padding:10px 14px 10px 32px;background:var(--surface)}
.fc-facts li+li{margin-top:4px}
.fc-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
.fc-table{border-collapse:collapse;width:100%;min-width:300px;font-size:.95rem;margin:6px 0 14px}
.fc-table caption{text-align:left;font-weight:700;padding:4px 0 8px}
.fc-table th,.fc-table td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
.fc-table thead th{background:var(--brand-soft);color:var(--ink)}
.fc-table tbody tr:nth-child(even){background:var(--surface)}
.fc-table tr.fc-adv td:first-child::after{content:" \2605";color:var(--muted)}
.fc-table tr[aria-current=true]{outline:3px solid var(--brand);outline-offset:-3px}
.fc-play{min-width:34px;min-height:34px;margin-right:6px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer;font:inherit;line-height:1}
.fc-play:focus-visible,.fc-key:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.fc-tool{border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--surface);margin:14px 0}
.fc-bar{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-bottom:10px}
.fc-bar select{min-height:40px;font:inherit;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);padding:4px 8px;max-width:100%}
.fc-bar label{display:inline-flex;gap:6px;align-items:center}
.fc-stage{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:16px;align-items:start}
.fc-now{text-align:center}
.fc-big{font-family:var(--head);font-size:2.6rem;font-weight:800;line-height:1.1}
.fc-sub{color:var(--muted);font-size:.92rem}
.fc-fig{display:flex;justify-content:center;margin:8px 0;color:var(--ink)}
.fc-fig svg{max-width:100%;height:auto}
.fc-fig .on{fill:currentColor}
.fc-fig .off{fill:var(--bg)}
.fc-fig text{font:600 9px var(--font,sans-serif);fill:currentColor}
.fc-fig .on+text,.fc-fig text.inv{fill:var(--bg)}
.fc-say{font-weight:600;min-height:2.6em;margin:6px 0}
.fc-btns{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.fc-keys{display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start}
.fc-key{min-width:52px;min-height:46px;padding:4px 6px;border:2px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center}
.fc-key b{font-size:1rem}.fc-key small{font-size:.72rem;color:var(--muted)}
.fc-key[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:var(--brand-ink,#fff)}
.fc-key[aria-pressed=true] small{color:inherit}
.fc-key.fc-dim{border-style:dashed}
.fc-msg{min-height:1.2em}
html.bz-kids .fc-key{min-width:72px;min-height:66px;font-size:1.15rem;border-width:3px}
html.bz-kids .fc-big{font-size:3.4rem}
html.bz-kids .fc-btns .btn,html.bz-kids .fc-quiz .btn{min-height:58px;font-size:1.12rem}
html.bz-kids .fc-bar input[type=checkbox]{width:28px;height:28px}
.fc-quiz{border:2px solid var(--brand);border-radius:14px;padding:14px 16px;margin:14px 0;background:var(--surface)}
.fc-how{font-size:.92rem}
.fc-steps li+li{margin-top:6px}
/* Music staff illustrations (to be merged into a shared file) */
.staff-art{margin:4px 0 12px;max-width:260px;background:none;border:0;padding:0}
.staff-art img,.staff-tip img{display:block;width:100%;height:auto;background:none;border:0}
.staff-art--right{float:right;margin-left:20px;clear:right}
.staff-art--left{float:left;margin-right:20px;clear:left}
.staff-tip{--tip-bg:var(--brand-soft,#e6f2ef);display:flex;align-items:center;gap:14px;background:var(--tip-bg);border-radius:18px;padding:14px 18px 14px 0;margin:28px 0 18px 0;max-width:74ch;clear:both}
.staff-tip picture{flex:0 0 150px;margin:-34px 0 -14px -6px}
.staff-tip p{margin:0 0 6px}
.staff-tip__who{font-weight:800;font-family:var(--head)}
.fc-clear{clear:both}
@media (max-width:600px){
.fc-stage{grid-template-columns:1fr}
.staff-art,.staff-art--right,.staff-art--left{float:none;margin:8px auto 14px;max-width:180px}
.staff-tip{flex-direction:column;align-items:center;padding:0 16px 14px;text-align:left}
.staff-tip picture{flex:none;width:130px;margin:-30px 0 0}
}
@media print{
.fc-tool,.fc-quiz,.staff-art,.staff-tip picture,.fc-play,.fc-printbtn{display:none !important}
.fc-table{font-size:10pt}.fc-table tr{break-inside:avoid}
}
