.cpg .cpg-lbl{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-muted);margin-bottom:6px}.cpg .cpg-select{width:100%;height:46px;padding:0 12px;border-radius:var(--radius-md);border:1px solid var(--color-line);background:#fff;color:var(--color-ink);font-size:14px;font-weight:700;font-family:inherit}.cpg .cpg-select:focus-visible{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 2px #28324e40}.cpg .cpg-range{flex:1;min-width:0;height:44px;accent-color:var(--color-accent);cursor:pointer}.cpg .cpg-range:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm)}.cpg .cpg-btn-primary,.cpg .cpg-btn-accent{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--radius-md);font-size:14px;font-weight:700;color:#fff;background:var(--color-brand);transition:background var(--duration-fast) var(--ease-out),transform .1s var(--ease-out)}.cpg .cpg-btn-accent{background:var(--color-accent-dark)}.cpg .cpg-btn-primary:hover{background:var(--color-brand-light)}.cpg .cpg-btn-accent:hover{background:var(--color-accent-dark)}.cpg .cpg-btn-primary:active,.cpg .cpg-btn-accent:active{transform:scale(.98)}.cpg .cpg-btn-primary:focus-visible,.cpg .cpg-btn-accent:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}.cpg .cpg-btn-play{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 16px;border-radius:var(--radius-md);background:var(--color-brand);color:#fff;font-size:14px;font-weight:700;transition:background var(--duration-fast) var(--ease-out),transform .1s var(--ease-out)}.cpg .cpg-btn-play:hover{background:var(--color-brand-light)}.cpg .cpg-btn-play:active{transform:scale(.98)}.cpg .cpg-btn-play:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.cpg .cpg-btn-ghost{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border-radius:var(--radius-md);border:1px solid var(--color-line);color:var(--color-ink-muted);font-size:13px;font-weight:700;background:#fff;transition:all var(--duration-fast) var(--ease-out)}.cpg .cpg-btn-ghost:hover{border-color:var(--color-brand);color:var(--color-ink)}.cpg .cpg-btn-ghost-on{background:#9a7b2e1a;border-color:var(--color-accent);color:var(--color-accent-dark)}.cpg .cpg-btn-ghost:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.cpg .cpg-btn-text{min-height:44px;padding:0 12px;border-radius:var(--radius-md);font-size:14px;font-weight:600;color:var(--color-brand);transition:background var(--duration-fast) var(--ease-out)}.cpg .cpg-btn-text:hover{background:#28324e0f}.cpg .cpg-btn-text:focus-visible{outline:2px solid var(--color-brand);outline-offset:1px}.cpg .cpg-seg{display:inline-flex;border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden;background:#fff}.cpg .cpg-seg-btn{min-height:44px;padding:0 14px;font-size:13px;font-weight:700;color:var(--color-ink-muted);transition:all var(--duration-fast) var(--ease-out)}.cpg .cpg-seg-btn+.cpg-seg-btn{border-left:1px solid var(--color-line)}.cpg .cpg-seg-on{background:var(--color-brand);color:#fff}.cpg .cpg-seg-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.cpg .cpg-check{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:#fff;font-size:13px;font-weight:700;color:var(--color-ink-muted);cursor:pointer}.cpg .cpg-checkbox{width:16px;height:16px;accent-color:var(--color-accent);cursor:pointer}.cpg .cpg-check:has(.cpg-checkbox:checked){border-color:var(--color-accent);color:var(--color-accent-dark)}.cpg .cpg-check:has(.cpg-checkbox:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}.cpg .cpg-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px}.cpg .cpg-chip{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 8px;min-height:92px;justify-content:center;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-paper);text-align:center;transition:border-color var(--duration-normal) var(--ease-out),background var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.cpg .cpg-chip:hover{border-color:var(--color-accent)}.cpg .cpg-chip:active{transform:scale(.98)}.cpg .cpg-chip:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.cpg .cpg-chip-on{border-color:var(--color-accent);background:#9a7b2e1f}.cpg .cpg-chip-roman{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--color-accent-dark);font-feature-settings:"tnum"}.cpg .cpg-chip-sym{font-family:var(--font-display);font-size:26px;line-height:1.05;font-weight:700;color:var(--color-ink);font-feature-settings:"tnum"}.cpg .cpg-chip-fn{font-size:10px;line-height:1.25;font-weight:600}.cpg .cpg-fn-tonic{color:#2f6b4f}.cpg .cpg-fn-subdominant{color:#7e6322}.cpg .cpg-fn-dominant{color:#9a4a3c}.cpg .cpg-fn-borrowed{color:#4a4a7a}.cpg .cpg-shapes{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:10px}.cpg .cpg-shape{margin:0;padding:8px 4px 6px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:#fff;text-align:center;color:var(--color-brand)}.cpg .cpg-shape-name{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--color-ink);margin-bottom:2px}.cpg .cpg-shape-svg{padding:0 6px}.cpg .cpg-shape-pos{display:block;font-size:10px;font-weight:600;color:var(--color-ink-muted);margin-top:2px}.cpg .cpg-capo-row{display:flex;align-items:baseline;gap:10px;padding:7px 11px;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-paper);font-size:13px}.cpg .cpg-capo-fret{font-weight:700;color:var(--color-accent-dark);white-space:nowrap;font-feature-settings:"tnum"}.cpg .cpg-capo-shapes{color:var(--color-ink)}@keyframes cpgReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cpg .cpg-reveal{animation:cpgReveal var(--duration-normal) var(--ease-out)}@media(prefers-reduced-motion:reduce){.cpg .cpg-reveal{animation:none}.cpg *{transition-duration:1ms!important}}.cpg[data-embed="1"] #cpg-share{display:none}
