/*! Chord Progression Analyzer 2.0.0 | pitchdetector.com | harmony analysis sheet */
.pca{--pca-blue:#2563eb;--pca-blue2:#1d4ed8;--pca-violet:#7c3aed;--pca-ink:#0f172a;--pca-muted:#475569;--pca-line:#e2e8f0;--pca-T:#15803d;--pca-Tb:#f0fdf4;--pca-Tl:#bbf7d0;--pca-PD:#b45309;--pca-PDb:#fffbeb;--pca-PDl:#fde68a;--pca-D:#b91c1c;--pca-Db:#fef2f2;--pca-Dl:#fecaca;--pca-S:#7c3aed;--pca-Sb:#f5f3ff;--pca-Sl:#ddd6fe;--pca-X:#334155;--pca-Xb:#f1f5f9;--pca-Xl:#cbd5e1;box-sizing:border-box;max-width:1000px;margin:0 auto 1.75em;color:var(--pca-ink);font-family:inherit;line-height:1.5;font-size:16px}
.pca *,.pca *::before,.pca *::after{box-sizing:border-box}
.pca [hidden]{display:none!important}
.pca :focus-visible{outline:3px solid var(--pca-violet);outline-offset:2px}
.pca button{font:inherit;line-height:1.2;letter-spacing:normal;text-transform:none;text-shadow:none;box-shadow:none;cursor:pointer;margin:0}
.pca button:disabled{opacity:.45;cursor:default}
.pca select,.pca input{font:inherit;margin:0}
.pca .pca-title{margin:0;padding:0;font-size:1.3rem;line-height:1.25;font-weight:800;color:var(--pca-ink);letter-spacing:normal;text-transform:none}
.pca .pca-lead{margin:2px 0 10px;color:var(--pca-muted);font-size:.95rem}
.pca .pca-h3{margin:0 0 8px;padding:0;font-size:1.02rem;font-weight:800;line-height:1.3;color:var(--pca-ink);text-transform:none;letter-spacing:normal}
.pca .pca-small{font-size:.84rem;color:var(--pca-muted)}
.pca .pca-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* Buttons */
.pca .pca-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:10px 18px;border:2px solid var(--pca-blue);border-radius:12px;background:var(--pca-blue);color:#fff;font-weight:700;font-size:1rem;text-decoration:none;white-space:nowrap}
.pca .pca-btn:hover{background:var(--pca-blue2);border-color:var(--pca-blue2);color:#fff}
.pca .pca-btn.pca-ghost{background:#fff;color:var(--pca-blue2);border-color:#bfdbfe}
.pca .pca-btn.pca-ghost:hover{background:#eff6ff;color:var(--pca-blue2);border-color:var(--pca-blue)}
.pca .pca-btn.pca-sm{min-height:44px;padding:8px 13px;font-size:.92rem;border-radius:10px}
.pca .pca-chip{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:8px 12px;border:1px solid #c7d2fe;border-radius:999px;background:#fff;color:var(--pca-ink);font-size:.9rem;font-weight:600}
.pca .pca-chip:hover{border-color:var(--pca-blue);background:#eff6ff;color:var(--pca-ink)}
.pca .pca-chip small{color:var(--pca-muted);font-weight:600}
/* Input desk */
.pca-desk{border:1px solid var(--pca-line);border-radius:18px;padding:14px;background:linear-gradient(180deg,#eef2ff 0,#fff 120px);box-shadow:0 1px 2px rgba(15,23,42,.05)}
.pca .pca-lbl{display:block;margin:0 0 5px;font-weight:700;font-size:.92rem;color:var(--pca-ink)}
.pca-row{display:flex;gap:8px}
.pca .pca-in{flex:1 1 auto;min-width:0;width:100%;min-height:52px;padding:10px 14px;border:2px solid #a5b4fc;border-radius:12px;background:#fff;color:var(--pca-ink);font-size:1.15rem;font-weight:600;letter-spacing:.01em;box-shadow:none}
.pca .pca-in:focus{border-color:var(--pca-blue);outline:3px solid rgba(37,99,235,.25);outline-offset:0}
.pca .pca-go{min-height:52px;padding:10px 22px;font-size:1.05rem}
.pca .pca-hint{margin:7px 0 0;font-size:.86rem;color:var(--pca-muted)}
.pca .pca-hint[data-kind="error"]{color:var(--pca-D);font-weight:600}
.pca .pca-hint[data-kind="error"]::before{content:"\26A0\FE0E  "}
.pca .pca-hint[data-kind="warn"]{color:var(--pca-PD);font-weight:600}
.pca .pca-hint[data-kind="info"]{color:var(--pca-blue2)}
.pca-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.pca .pca-keysel{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.9rem;margin:0}
.pca .pca-ctl select,.pca .pca-palhead select,.pca .pca-play select,.pca .pca-trrow select{min-height:44px;padding:6px 10px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:var(--pca-ink);font-size:.92rem;max-width:100%}
.pca-ex{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}
.pca .pca-exl{font-size:.85rem;font-weight:700;color:var(--pca-muted)}
.pca-ex [data-pca-ex]{display:contents}
/* Palette */
.pca-pal{margin-top:12px;padding:12px;border:1px dashed #a5b4fc;border-radius:14px;background:#fff}
.pca-palhead{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:10px}
.pca .pca-palhead label{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.9rem;margin:0}
.pca .pca-chk{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:600;font-size:.9rem;margin:0;cursor:pointer}
.pca .pca-chk input{width:20px;height:20px;accent-color:var(--pca-blue)}
.pca-pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px}
.pca .pca-pb{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:54px;padding:6px 4px;border:1px solid #c7d2fe;border-radius:10px;background:#f8fafc;color:var(--pca-ink)}
.pca .pca-pb:hover{border-color:var(--pca-blue);background:#eff6ff;color:var(--pca-ink)}
.pca .pca-pb b{font-size:1rem}
.pca .pca-pb small{font-family:Georgia,"Times New Roman",serif;font-size:.85rem;color:var(--pca-muted)}
.pca-pcol .pca-pb{background:#faf5ff;border-color:var(--pca-Sl)}
.pca .pca-psub{margin:10px 0 6px;font-size:.84rem;font-weight:700;color:var(--pca-muted)}
/* Output */
.pca-out{margin-top:14px}
.pca-keybar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:10px}
.pca-kv{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.pca .pca-kl{font-size:.85rem;font-weight:700;color:var(--pca-muted);text-transform:uppercase;letter-spacing:.04em}
.pca .pca-kname{font-size:1.45rem;font-weight:800;color:var(--pca-ink)}
.pca .pca-conf{font-size:.85rem;font-weight:700;padding:2px 9px;border-radius:999px;background:var(--pca-Xb);color:var(--pca-X)}
.pca .pca-c-clear{background:var(--pca-Tb);color:var(--pca-T)}
.pca .pca-c-likely{background:var(--pca-PDb);color:var(--pca-PD)}
.pca .pca-c-ambiguous{background:var(--pca-Db);color:var(--pca-D)}
.pca-alts{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.88rem;color:var(--pca-muted)}
.pca .pca-knote{flex-basis:100%;margin:0;font-size:.86rem;color:var(--pca-muted)}
/* The sheet */
.pca-sheet{position:relative;border:1px solid #d6dcf5;border-radius:16px;padding:12px 12px 10px;background:#fffefb repeating-linear-gradient(180deg,transparent 0,transparent 27px,#eef1fb 27px,#eef1fb 28px)}
.pca-sheethead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px}
.pca .pca-kt{font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;font-weight:700;font-style:italic;color:var(--pca-ink)}
.pca-legend{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.78rem;color:var(--pca-muted)}
.pca-legend span{display:inline-flex;align-items:center;gap:4px}
.pca-legend i{display:inline-block;width:12px;height:12px;border-radius:3px}
.pca .pca-line{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(106px,1fr));gap:26px 8px;padding-top:18px}
.pca .pca-line>li{margin:0;padding:0;list-style:none}
.pca-cell{position:relative;display:flex;flex-direction:column}
.pca-lanes{position:absolute;left:-4px;right:-4px;bottom:100%;display:flex;flex-direction:column-reverse;gap:2px;margin-bottom:3px;pointer-events:none}
.pca-ln{position:relative;display:block;height:5px;font-style:normal}
.pca-ln em{position:absolute;left:2px;top:-5px;display:flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:inherit;color:#fff;font-style:normal;font-size:.62rem;font-weight:800;line-height:1}
.pca-ln-off{background:transparent}
.pca-ln0{background:var(--pca-blue)}.pca-ln1{background:var(--pca-violet)}.pca-ln2{background:#0891b2}.pca-ln3{background:#64748b}
.pca .pca-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:1px;width:100%;min-height:118px;padding:16px 4px 8px;border:1px solid var(--pca-line);border-bottom:5px solid var(--c);border-radius:12px;background:#fff;color:var(--pca-ink);text-align:center;transition:transform .12s,box-shadow .12s}
.pca .pca-card:hover{background:#fff;color:var(--pca-ink);box-shadow:0 3px 10px rgba(15,23,42,.12)}
.pca-cell.is-sel .pca-card{border-color:var(--pca-blue);border-bottom-color:var(--c);box-shadow:0 0 0 2px var(--pca-blue)}
.pca-cell.is-now .pca-card{background:#fef9c3;transform:translateY(-3px);box-shadow:0 0 0 3px #facc15}
.pca .pca-no{position:absolute;top:4px;left:7px;font-size:.7rem;font-weight:700;color:#94a3b8}
.pca .pca-sym{font-size:1.18rem;font-weight:800;line-height:1.2;overflow-wrap:anywhere}
.pca .pca-typed{font-size:.68rem;color:var(--pca-PD);font-weight:600}
.pca .pca-rn{display:inline-flex;align-items:flex-start;justify-content:center;flex-wrap:wrap;min-height:34px;margin-top:2px;font-family:Georgia,"Times New Roman",serif;font-size:1.3rem;line-height:1.2;color:var(--c)}
.pca-num{font-weight:700}
.pca-q{font-size:.8em}
.pca .pca-ext{font-size:.62em;top:0;vertical-align:super;line-height:1}
.pca-figs{display:inline-flex;flex-direction:column;font-size:.58em;line-height:.95;margin-left:1px}
.pca .pca-figs sup,.pca .pca-figs sub{position:static;font-size:1em;line-height:.95;vertical-align:baseline}
.pca-sec{font-size:.8em;font-weight:700}
.pca-over{font-size:.65em;align-self:flex-end;color:var(--pca-muted)}
.pca .pca-fn{margin-top:3px;padding:1px 7px;border-radius:999px;background:var(--b);color:var(--c);font-size:.72rem;font-weight:600;white-space:nowrap}
.pca .pca-fn b{font-weight:800}
.pca .pca-kind{margin-top:3px;font-size:.68rem;font-weight:700;color:var(--pca-muted);text-transform:uppercase;letter-spacing:.03em}
.pca .pca-cad{display:block;margin-top:4px;font-size:.72rem;font-weight:700;color:var(--pca-ink);text-align:center;white-space:nowrap}
.pca-f-T{--c:var(--pca-T);--b:var(--pca-Tb)}.pca-f-PD{--c:var(--pca-PD);--b:var(--pca-PDb)}.pca-f-D{--c:var(--pca-D);--b:var(--pca-Db)}.pca-f-S{--c:var(--pca-S);--b:var(--pca-Sb)}.pca-f-X{--c:var(--pca-X);--b:var(--pca-Xb)}
/* Player */
.pca-play{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:12px;padding-top:10px;border-top:1px solid #e0e7ff}
.pca .pca-play label{display:inline-flex;align-items:center;gap:6px;font-size:.88rem;font-weight:600;margin:0;white-space:nowrap}
.pca .pca-play input[type="range"]{width:120px;accent-color:var(--pca-blue);min-height:44px}
.pca .pca-playbtn{min-width:112px}
.pca-seg{display:inline-flex;border:1px solid #cbd5e1;border-radius:10px;overflow:hidden}
.pca .pca-seg button{min-height:44px;padding:6px 12px;border:0;border-radius:0;background:#fff;color:var(--pca-ink);font-size:.88rem;font-weight:600}
.pca .pca-seg button[aria-checked="true"]{background:var(--pca-ink);color:#fff}
/* Panels */
.pca-cols{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:12px;margin-top:12px}
.pca-panel{border:1px solid var(--pca-line);border-radius:16px;padding:14px;background:#fff}
.pca-nextbox,.pca-trbox{margin-top:12px}
.pca-dh{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.pca .pca-dnum{flex-basis:100%;font-size:.78rem;font-weight:700;color:var(--pca-muted);text-transform:uppercase;letter-spacing:.04em}
.pca .pca-dsym{margin:0;padding:0;font-size:1.6rem;font-weight:800;line-height:1.1;color:var(--pca-ink);text-transform:none}
.pca .pca-drn{display:inline-flex;align-items:flex-start;font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;color:var(--pca-ink)}
.pca .pca-pill{padding:2px 10px;border-radius:999px;background:var(--b);color:var(--c);font-size:.8rem;font-weight:700;border:1px solid var(--c)}
.pca .pca-dtx{margin:8px 0;font-size:.94rem}
.pca .pca-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:0 0 8px}
.pca .pca-dl div{min-width:0}
.pca .pca-dl dt{font-size:.74rem;font-weight:700;color:var(--pca-muted);text-transform:uppercase;letter-spacing:.04em;margin:0}
.pca .pca-dl dd{margin:0;font-weight:700;font-size:.95rem;overflow-wrap:anywhere}
.pca-views{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:10px;align-items:center}
.pca .pca-fig{margin:0;padding:0}
.pca .pca-fig figcaption{margin-top:2px;font-size:.74rem;color:var(--pca-muted);text-align:center}
.pca-kbsvg{display:block;width:100%;height:auto;max-height:110px}
.pca-kw{fill:#fff;stroke:#334155;stroke-width:.5}.pca-kb{fill:#1e293b}
.pca-kw.pca-kb-on,.pca-kb.pca-kb-on{fill:var(--pca-blue)}.pca-kw.pca-kb-bass,.pca-kb.pca-kb-bass{fill:var(--pca-violet)}
.pca-kbt{font-size:3.4px;fill:#64748b;font-family:system-ui,sans-serif}
.pca-staff{display:block;width:100%;max-width:230px;height:auto;margin:0 auto}
.pca-staff line{stroke:#64748b;stroke-width:.8}
.pca-staff .pca-led{stroke:#0f172a;stroke-width:.9}
.pca-head{fill:#0f172a}.pca-headb{fill:var(--pca-violet)}
.pca-acc{font-size:12px;fill:#0f172a;font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Apple Symbols",system-ui,sans-serif}
.pca-clef{font-size:44px;fill:#0f172a;font-family:"Noto Music","Segoe UI Symbol","Apple Symbols","Bravura",serif}
.pca-clefb{font-size:30px}
.pca-clefl{font-size:18px;font-weight:700;fill:#0f172a;font-family:Georgia,serif}
.pca-dbtns{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pca .pca-find{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.pca .pca-find li{display:flex;gap:9px;margin:0;padding:0;font-size:.9rem;line-height:1.4}
.pca .pca-lnum{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:24px;padding:0 5px;border-radius:7px;background:var(--b,#e2e8f0);color:var(--c,#0f172a);font-size:.74rem;font-weight:800}
.pca .pca-lnum.pca-ln0{background:var(--pca-blue);color:#fff}.pca .pca-lnum.pca-ln1{background:var(--pca-violet);color:#fff}.pca .pca-lnum.pca-ln2{background:#0891b2;color:#fff}.pca .pca-lnum.pca-ln3{background:#64748b;color:#fff}
.pca .pca-lnum.pca-cadn{background:var(--pca-ink);color:#fff}
/* Next chord */
.pca-next{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-top:6px}
.pca .pca-nx{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"s r" "w w";align-items:baseline;gap:0 8px;min-height:60px;padding:8px 10px;border:1px solid #c7d2fe;border-radius:12px;background:#fff;color:var(--pca-ink);text-align:left}
.pca .pca-nx:hover{border-color:var(--pca-blue);background:#eff6ff;color:var(--pca-ink)}
.pca .pca-nx.is-top{border:2px solid var(--pca-blue);background:#eff6ff}
.pca .pca-nx b{grid-area:s;font-size:1.1rem}
.pca .pca-nxr{grid-area:r;font-family:Georgia,"Times New Roman",serif;font-size:1rem;color:var(--pca-violet)}
.pca .pca-nx small{grid-area:w;font-size:.78rem;color:var(--pca-muted);line-height:1.3}
/* Transpose */
.pca-trrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:6px 0}
.pca .pca-trrow label{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.9rem;margin:0;white-space:nowrap;max-width:100%}
.pca .pca-trrow select{min-width:0;flex:1 1 auto}
.pca .pca-trout{display:flex;flex-wrap:wrap;gap:6px 14px;margin:4px 0 10px;min-height:28px}
.pca .pca-trc{display:inline-flex;flex-direction:column;align-items:center;line-height:1.15}
.pca .pca-trc small{font-family:Georgia,"Times New Roman",serif;color:var(--pca-muted);font-size:.82rem}
.pca .pca-capoout{margin:4px 0 0;font-size:.95rem}
.pca .pca-capoout b{margin-right:4px}
.pca-share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.pca .pca-msg{font-size:.85rem;color:var(--pca-T);overflow-wrap:anywhere}
.pca .pca-status{margin:12px 0 0;font-size:.84rem;color:var(--pca-muted)}
@media (max-width:760px){
	.pca-cols{grid-template-columns:minmax(0,1fr)}
	.pca .pca-line{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 5px}
	.pca .pca-card{min-height:112px;padding:15px 2px 7px}
	.pca .pca-sym{font-size:1.02rem}
	.pca .pca-rn{font-size:1.15rem}
	.pca .pca-fn{font-size:.66rem;padding:1px 5px}
	.pca .pca-fnt{display:none}
	.pca-views{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:420px){
	.pca-desk{padding:12px}
	.pca .pca-go{padding:10px 14px}
	.pca .pca-in{font-size:1.05rem;padding:10px}
	.pca .pca-play input[type="range"]{width:96px}
	.pca .pca-fn{white-space:normal}
}
@media (prefers-reduced-motion:reduce){.pca .pca-card{transition:none}.pca-cell.is-now .pca-card{transform:none}}
