.cof-page{--cof-major:#f3effa;--cof-minor:#e9e3f5;--cof-dim:#ddd6ec;--cof-ink:#2b2433;--cof-faint:#8a8296;--cof-key-major:#e3cdfb;--cof-key-minor:#cfe7d6;--cof-key-dim:#f6dcc3;--cof-tonic:#aa3bff;--cof-playing:#d4a017;--cof-stroke:#fff;flex-direction:column;gap:14px;width:100%;max-width:1160px;margin:0 auto;padding:24px 24px 80px;display:flex}@media (prefers-color-scheme:dark){.cof-page{--cof-major:#2a2633;--cof-minor:#24212c;--cof-dim:#1f1c26;--cof-ink:#ece8f3;--cof-faint:#8e889b;--cof-key-major:#4f3770;--cof-key-minor:#2f4f3b;--cof-key-dim:#5a4128;--cof-tonic:#b45cff;--cof-stroke:#16171d}}.cof-layout{grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr);align-items:start;gap:24px;display:grid}@media (width<=900px){.cof-layout{grid-template-columns:minmax(0,1fr)}}.cof-circle-column{flex-direction:column;align-items:center;gap:10px;display:flex}.cof-circle{-webkit-user-select:none;user-select:none;width:100%;max-width:620px;height:auto}.cof-seg{cursor:pointer}.cof-seg path{stroke:var(--cof-stroke);stroke-width:2px;transition:fill .15s}.cof-seg.major path{fill:var(--cof-major)}.cof-seg.minor path{fill:var(--cof-minor)}.cof-seg.diminished path{fill:var(--cof-dim)}.cof-seg.in-key.major path{fill:var(--cof-key-major)}.cof-seg.in-key.minor path{fill:var(--cof-key-minor)}.cof-seg.in-key.diminished path{fill:var(--cof-key-dim)}.cof-seg.in-key.tonic path{fill:var(--cof-tonic)}.cof-seg.cof-seg.playing path{fill:var(--cof-playing)}.cof-seg:hover path{filter:brightness(.95)}.cof-seg text{fill:var(--cof-ink);pointer-events:none}.cof-seg:not(.in-key) text{fill:var(--cof-faint)}.cof-seg.tonic text,.cof-seg.playing text{fill:#fff}.cof-name{font-weight:700}.cof-name.alt{font-weight:500}.cof-numeral{font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:700}.cof-signature{font-weight:500}.cof-solfege{fill:var(--accent);font-size:15px;font-weight:600}.cof-solfege.tonic{font-weight:800;text-decoration:underline}.cof-solfege.lit{fill:var(--cof-playing)}.cof-center{fill:var(--bg);stroke:var(--border)}.cof-center-name{fill:var(--text-h);font-size:24px;font-weight:700}.cof-center-detail{fill:var(--text-h);font-size:18px}.cof-center-detail.small{fill:var(--text);font-size:13px}.cof-keys-hint{color:var(--text);font-size:12px}.cof-options{color:var(--text-h);flex-wrap:wrap;justify-content:center;gap:8px 18px;font-size:13px;display:flex}.cof-options label{align-items:center;gap:6px;display:flex}.cof-options select{font:inherit;border:1px solid var(--border);background:var(--code-bg);color:var(--text-h);border-radius:6px;padding:4px 6px}.cof-panel{text-align:left;flex-direction:column;gap:12px;display:flex}.cof-card{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.cof-card h3{color:var(--text-h);margin:0;font-size:14px;font-weight:600}.cof-key-title{align-items:baseline;gap:12px;display:flex}.cof-key-name{color:var(--text-h);font-size:26px;font-weight:700}.cof-signature-text h2{margin:0;font-size:20px;font-weight:600}.cof-key-signature-label{color:var(--text);font-size:16px}.cof-buttons,.cof-related,.cof-progressions{flex-wrap:wrap;gap:8px;display:flex}.cof-btn{font:inherit;cursor:pointer;border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--text-h);border-radius:8px;padding:4px 8px;font-size:13px}.cof-btn.subtle{border-color:var(--border);background:var(--code-bg)}.cof-btn.active{border-color:var(--cof-playing);background:#d4a01733}.cof-chip{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--code-bg);color:var(--text-h);border-radius:8px;flex-direction:column;align-items:flex-start;padding:4px 10px;font-size:13px;line-height:1.25;display:flex}.cof-chip-label{color:var(--text);font-size:11px}.cof-signature-card{flex-direction:row;align-items:center;gap:14px}@media (width<=480px){.cof-signature-card{flex-wrap:wrap}}.cof-signature-staff{flex:none;width:260px;max-width:100%}.cof-signature-text{color:var(--text-h);flex-direction:column;gap:6px;font-size:14px;display:flex}.cof-order{color:var(--text)}.cof-order span{margin-left:4px}.cof-order span.used{color:var(--accent);font-weight:700}.cof-scale{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;display:grid}.cof-note{font:inherit;cursor:pointer;border:1px solid var(--border);min-width:40px;color:var(--text-h);background:0 0;border-radius:8px;flex-direction:column;align-items:center;padding:4px 2px 2px;transition:background .1s;display:flex}.cof-note small{color:var(--text);font-size:11px}.cof-note.tonic{border-color:var(--accent-border)}.cof-note:hover{background:var(--accent-bg)}.cof-note.lit{background:#d4a0174d}.cof-card-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.cof-segmented{border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.cof-segmented button{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;padding:4px 10px;font-size:12px}.cof-segmented button.active{background:var(--accent-bg);color:var(--text-h);font-weight:600}.cof-chord-staff{flex-direction:column;gap:6px;display:flex}.cof-chord-staff-caption{color:var(--text);align-items:baseline;gap:8px;font-size:13px;display:flex}.cof-chord-staff-caption strong{color:var(--text-h);font-size:16px}.cof-chords{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}@media (width<=480px){.cof-chords{grid-template-columns:repeat(4,minmax(0,1fr))}}.cof-chord{font:inherit;cursor:pointer;border:1px solid var(--border);color:var(--text-h);border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;display:flex}.cof-chord.major{background:var(--cof-key-major)}.cof-chord.minor{background:var(--cof-key-minor)}.cof-chord.diminished{background:var(--cof-key-dim)}.cof-chord.playing{background:var(--cof-playing);color:#fff}.cof-chord-numeral{font-family:Georgia,Times New Roman,serif;font-size:13px;font-style:italic;font-weight:700}.cof-chord-name{white-space:nowrap;font-size:13px}.cof-modes{color:var(--text-h);flex-direction:column;gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.cof-modes li{border-radius:6px;align-items:center;gap:8px;padding:2px 4px;display:flex}.cof-modes li.current{background:var(--accent-bg)}.cof-modes li strong{min-width:8.5em}.cof-modes li span{color:var(--text)}.cof-mode-play{line-height:1;font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--code-bg);width:26px;height:22px;color:var(--text-h);border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:11px;display:inline-flex}.cof-mode-play.lit{background:#d4a01766}
