/* Classfern Music keyword pages, group V (mandolin, ocarina, tin whistle, kalimba). Loaded after fb.css (groups J and W). */
.vo-svg{display:block;width:100%;height:auto}
.vo-body{fill:var(--surface);stroke:var(--line-2);stroke-width:2}
.vo-mouth{fill:var(--brand-soft);stroke:var(--line-2);stroke-width:1.5}
.vo-hc{fill:var(--ink);stroke:var(--ink);stroke-width:2}
.vo-ho{fill:var(--surface);stroke:var(--ink);stroke-width:2}
.vo-hh{fill:var(--ink)}
.vo-t{fill:var(--muted);font-size:11px}.vo-c{text-anchor:middle}
.vo-chart{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:12px 18px;align-items:center;margin:10px 0}
.vo-fig{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:8px;min-height:80px}
.vo-now{font-weight:650;margin:0;max-width:52ch}
.vo-notes{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.vo-notes .btn{min-width:48px;min-height:44px;padding:6px 10px}
.vo-notes .btn[aria-pressed=true],.vo-kal .on{background:var(--ink);border-color:var(--ink);color:var(--surface);outline:2px solid var(--accent)}
.vo-table td svg{width:150px;min-width:130px}
.vo-table .vo-wh{width:170px;min-width:150px}
.vo-table .btn{min-height:36px;padding:4px 10px;font-size:.88rem}
.vo-adv th::after{content:" ★"}
.vo-song{margin:18px 0;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.tool .vo-song{border:0;background:none;padding:0;margin:0}
.vo-table td:nth-child(3){white-space:nowrap}
.vo-song h3{margin:2px 0 4px;font-size:1.08rem}
.vo-meta{font-size:.86rem;color:var(--muted);margin:0 0 6px}
.vo-line{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1rem;line-height:1.9;margin:6px 0;word-spacing:.15em}
.vo-line span{display:inline-block;min-width:1.6em;text-align:center;border-radius:6px;padding:0 2px}
.vo-line span.on{background:var(--accent);color:#111;font-weight:800;text-decoration:underline;outline:2px solid var(--ink)}
.vo-line i{font-style:normal;font-size:.72em;color:var(--muted);display:block;line-height:1}
.vo-line .vo-bar{color:var(--muted);min-width:.8em}
.vo-song .vo-fig{max-width:300px;min-height:0;margin:6px 0}
.vo-song .vo-fig:empty{display:none}
.vo-song .vo-now{font-size:.9rem;font-weight:500;color:var(--muted)}
.vo-kalwrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;padding:4px 0 8px}
.vo-kal{display:flex;align-items:flex-start;justify-content:center;gap:3px;min-width:352px;margin:6px auto;padding:10px 8px 6px;background:var(--surface);border:1px solid var(--line-2);border-radius:18px 18px 40px 40px;max-width:640px}
.vo-kal button{flex:1 1 0;min-width:18px;max-width:34px;font:inherit;font-size:.78rem;font-weight:700;line-height:1.1;color:var(--ink);background:linear-gradient(var(--brand-soft),var(--surface));border:1px solid var(--line-2);border-radius:4px 4px 10px 10px;padding:4px 0;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}
.vo-kal button small{font-size:.66rem;font-weight:500;color:var(--muted)}
.vo-kal button.on small{color:var(--surface)}
.vo-kal button:focus-visible{outline:3px solid var(--brand);outline-offset:1px}
.vo-kal .vo-mid{border-width:2px;border-color:var(--ink)}
html.bz-kids .vo-notes .btn{min-width:60px;min-height:56px;font-size:1.15rem}
html.bz-kids .vo-line{font-size:1.25rem}
html.bz-kids .vo-kal button{font-size:.95rem;min-width:24px}
@media (max-width:600px){.vo-chart{grid-template-columns:1fr}.vo-table td svg{width:96px;min-width:96px}.vo-table .vo-wh{width:112px;min-width:112px}.vo-table td:nth-child(3){white-space:normal}.prose .fk-scroll{max-width:calc(100vw - 32px)}.vo-line{font-size:.92rem}}
@media print{.vo-notes,.vo-song .fk-btns,.vo-kalwrap .fk-btns{display:none}}
