:where(#page-transpositor,[data-tool=transpositor]){--tp-teal:var(--teal,#00d4b4);--tp-gold:var(--gold,#f5c542);--tp-bg:var(--bg,#0a0a0b);--tp-panel:var(--panel,#111113);--tp-panel2:var(--panel2,#18181b);--tp-muted:var(--muted,#71717a);--tp-border:var(--border,#ffffff0f);--tp-text:var(--text,#ede9e0);--tp-text-dim:var(--text-dim,#a1a1aa);--tp-text-muted:var(--text-muted,#52525b);--tp-accent:#a78bfa;--tp-accent-2:#8b5cf6;--tp-radius:var(--radius-md,6px);--tp-radius-sm:var(--radius-sm,4px);--tp-ease:var(--ease-liquid,cubic-bezier(.4, 0, .2, 1));--tp-dur:var(--dur-quick,.22s);--tp-font:var(--font-body,var(--font-body), system-ui, sans-serif);--tp-mono:var(--font-mono,"DM Mono", ui-monospace, monospace)}.tp-wrap{grid-template-columns:1fr 1fr;gap:2.5rem;padding:1rem 0 2rem;display:grid}.tp-config-col{flex-direction:column;gap:1.5rem;min-width:0;display:flex}.tp-result-col{flex-direction:column;gap:1.25rem;min-width:0;display:flex}.tp-section-label{font-family:var(--tp-mono);letter-spacing:2px;text-transform:uppercase;color:var(--tp-text-muted);margin-bottom:.6rem;font-size:.6rem;font-weight:700}.tp-topbar{border-bottom:1px solid var(--tp-border);justify-content:space-between;align-items:flex-end;margin-bottom:.5rem;padding:1rem 0 .5rem;display:flex}.tp-topbar__label{font-family:var(--tp-mono);letter-spacing:2px;text-transform:uppercase;color:var(--tp-text);font-size:.65rem;font-weight:700}.tp-topbar__sub{font-family:var(--tp-font);color:var(--tp-text-muted);margin-top:.2rem;font-size:.78rem;font-weight:400;display:block}.tp-topbar__center{display:none}.tp-key-route{grid-template-columns:1fr auto 1fr;align-items:start;gap:1rem;display:grid}.tp-key-panel{flex-direction:column;gap:.5rem;display:flex}.tp-key-panel__label{font-family:var(--tp-mono);letter-spacing:2px;text-transform:uppercase;color:var(--tp-text-muted);align-items:center;gap:.4rem;font-size:.58rem;font-weight:700;display:flex}.tp-key-panel__dot{border-radius:50%;width:7px;height:7px}.tp-key-panel__dot--teal{background:var(--tp-teal);box-shadow:0 0 8px #00d4b459}.tp-key-panel__dot--gold{background:var(--tp-gold);box-shadow:0 0 8px #f5c54259}.tp-key-arrow{color:var(--tp-text-muted);opacity:.35;align-self:center;padding-top:1.2rem}.tp-key-selector{grid-template-columns:repeat(12,1fr);gap:.35rem;display:grid}.tp-key-btn{border-radius:var(--tp-radius-sm);width:100%;max-width:100%;height:2.2rem;font-family:var(--tp-mono);color:var(--tp-text-dim);cursor:pointer;transition:transform var(--tp-dur) var(--tp-ease), background var(--tp-dur) var(--tp-ease), border-color var(--tp-dur) var(--tp-ease), color var(--tp-dur) var(--tp-ease), box-shadow var(--tp-dur) var(--tp-ease);background:#ffffff08;border:1px solid #ffffff0f;justify-content:center;align-items:center;padding:0;font-size:.72rem;font-weight:600;display:flex}.tp-key-btn:hover{color:var(--tp-teal);background:#00d4b41a;border-color:#00d4b44d;transform:translateY(-1px)}.tp-key-panel--target .tp-key-btn:hover{color:var(--tp-gold);background:#f5c5421a;border-color:#f5c5424d}.tp-key-btn.is-selected{background:var(--tp-teal);border-color:var(--tp-teal);color:#000;font-weight:700;box-shadow:0 4px 14px #00d4b44d}.tp-key-panel--target .tp-key-btn.is-selected{background:var(--tp-gold);border-color:var(--tp-gold);color:#000;box-shadow:0 4px 14px #f5c5424d}.tp-route-preview{font-family:var(--tp-mono);color:var(--tp-teal);text-align:center;letter-spacing:.5px;padding-top:.4rem;font-size:.72rem}.tp-input{border-radius:var(--tp-radius);width:100%;font-family:var(--tp-font);color:var(--tp-text);resize:vertical;min-height:5rem;transition:border-color var(--tp-dur) var(--tp-ease), box-shadow var(--tp-dur) var(--tp-ease);background:#ffffff05;border:1px solid #ffffff0f;padding:.85rem 1rem;font-size:.9rem;line-height:1.6}.tp-input::placeholder{color:var(--tp-text-muted);font-size:.85rem}.tp-input:focus{border-color:var(--tp-teal);outline:none;box-shadow:0 0 0 3px #00d4b41a}.tp-picker{flex-direction:column;gap:.75rem;display:flex}.chord-organizer__search{align-items:center;display:flex;position:relative}.chord-organizer__search-icon{color:var(--tp-text-muted);pointer-events:none;position:absolute;left:.75rem}.chord-organizer__search-input{border-radius:var(--tp-radius);width:100%;font-family:var(--tp-font);color:var(--tp-text);transition:border-color var(--tp-dur) var(--tp-ease), box-shadow var(--tp-dur) var(--tp-ease);background:#ffffff05;border:1px solid #ffffff0f;padding:.6rem .85rem .6rem 2.2rem;font-size:.85rem}.chord-organizer__search-input:focus{border-color:var(--tp-teal);outline:none;box-shadow:0 0 0 3px #00d4b41a}.chord-organizer__search-input::placeholder{color:var(--tp-text-muted)}.chord-organizer__group{margin-bottom:.5rem}.chord-organizer__group-header{border-bottom:1px solid #ffffff0a;align-items:center;gap:.5rem;margin-bottom:.4rem;padding-bottom:.3rem;display:flex}.chord-organizer__group-title{font-family:var(--tp-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--tp-text-muted);font-size:.6rem;font-weight:700}.chord-organizer__group-count{font-family:var(--tp-mono);color:var(--tp-text-muted);background:#ffffff0a;border-radius:99px;padding:.1rem .4rem;font-size:.58rem}.chord-organizer__grid{flex-wrap:wrap;gap:.35rem;display:flex}.chord-organizer__chord,.tp-chord-btn{border-radius:var(--tp-radius-sm);min-width:2.4rem;font-family:var(--tp-mono);color:var(--tp-text-dim);cursor:pointer;transition:transform var(--tp-dur) var(--tp-ease), background var(--tp-dur) var(--tp-ease), border-color var(--tp-dur) var(--tp-ease), color var(--tp-dur) var(--tp-ease);background:#ffffff08;border:1px solid #ffffff0f;justify-content:center;align-items:center;padding:.35rem .55rem;font-size:.72rem;font-weight:500;display:inline-flex}.chord-organizer__chord:hover,.tp-chord-btn:hover{color:var(--tp-teal);background:#00d4b41a;border-color:#00d4b440;transform:translateY(-1px)}.chord-organizer__chord.is-selected,.tp-chord-btn.is-selected{border-color:var(--tp-teal);color:var(--tp-teal);background:#00d4b426;font-weight:600}.tp-picker-tabs{flex-wrap:wrap;gap:.3rem;display:flex}.tp-picker-tab{border-radius:var(--tp-radius-sm);font-family:var(--tp-mono);letter-spacing:1px;text-transform:uppercase;color:var(--tp-text-muted);cursor:pointer;transition:all var(--tp-dur) var(--tp-ease);background:0 0;border:1px solid #ffffff0f;padding:.4rem .75rem;font-size:.62rem;font-weight:600}.tp-picker-tab:hover{color:var(--tp-teal);border-color:#00d4b440}.tp-picker-tab.is-active{color:var(--tp-teal);background:#00d4b41a;border-color:#00d4b44d}.tp-picker-content{flex-wrap:wrap;gap:.4rem;display:none}.tp-picker-content.is-active{display:flex}.tp-actions{align-items:center;gap:.75rem;display:flex}.tp-transpose-btn{background:linear-gradient(135deg, var(--tp-teal), color-mix(in srgb, var(--tp-teal) 70%, #fff));border-radius:var(--tp-radius);font-family:var(--tp-font);letter-spacing:1.5px;text-transform:uppercase;color:#000;cursor:pointer;transition:transform var(--tp-dur) var(--tp-ease), box-shadow var(--tp-dur) var(--tp-ease);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.8rem;font-size:.72rem;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.tp-transpose-btn:before{content:"";background:linear-gradient(90deg,#0000,#ffffff40,#0000);transition:transform .6s;position:absolute;inset:0;transform:translate(-100%)}.tp-transpose-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00d4b459}.tp-transpose-btn:hover:before{transform:translate(100%)}.tp-clear-btn{border-radius:var(--tp-radius);font-family:var(--tp-font);letter-spacing:1px;text-transform:uppercase;color:var(--tp-text-dim);cursor:pointer;transition:all var(--tp-dur) var(--tp-ease);background:0 0;border:1px solid #ffffff1a;justify-content:center;align-items:center;padding:.85rem 1.4rem;font-size:.72rem;font-weight:600;display:inline-flex}.tp-clear-btn:hover{color:var(--tp-text);background:#ffffff08;border-color:#fff3}.tp-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;min-height:16rem;display:flex}.tp-empty__icon{width:3rem;height:3rem;color:var(--tp-text-muted);opacity:.5;margin-bottom:.25rem}.tp-empty__title{font-family:var(--tp-font);color:var(--tp-text);font-size:1rem;font-weight:600}.tp-empty__desc{font-family:var(--tp-font);color:var(--tp-text-muted);max-width:26rem;font-size:.82rem;font-weight:400;line-height:1.5}.tp-result-card{flex-direction:column;gap:1.5rem;display:flex}.tp-result-hero{text-align:center;border-bottom:1px solid #ffffff0d;flex-direction:column;align-items:center;gap:.5rem;padding-bottom:1.25rem;display:flex}.tp-result-hero__eyebrow{font-family:var(--tp-mono);letter-spacing:2px;text-transform:uppercase;color:var(--tp-teal);font-size:.6rem;font-weight:700}.tp-result-hero__title{font-family:var(--font-display);letter-spacing:.03em;background:linear-gradient(110deg, var(--tp-teal) 0%, var(--tp-accent) 60%, #fff 100%);-webkit-text-fill-color:transparent;text-shadow:0 0 30px #00d4b433;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(3rem,7vw,5rem);font-weight:400;line-height:1}.tp-result-hero__meta{font-family:var(--tp-mono);color:var(--tp-text-dim);letter-spacing:.5px;font-size:.75rem}.tp-result-hero__bar{background:#ffffff0f;border-radius:99px;width:100%;max-width:12rem;height:3px;margin-top:.4rem;overflow:hidden}.tp-result-hero__bar span{background:linear-gradient(90deg, var(--tp-teal), var(--tp-accent));height:100%;transition:width .6s var(--tp-ease);border-radius:99px;display:block}@keyframes tpFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes tpFadeIn{0%{opacity:0}to{opacity:1}}@keyframes tpSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes tpBarGrow{0%{width:0%}}.tp-result-hero__title{animation:.4s ease-out forwards tpFadeUp}.tp-result-hero__meta{opacity:0;animation:.4s ease-out .15s forwards tpFadeUp}.tp-result-hero__bar span{animation:tpBarGrow .6s var(--tp-ease) forwards}.tp-result-chords__list .tp-chord-pill{opacity:0;animation:.3s ease-out forwards tpSlideIn;display:inline-block}.tp-result-chords__divider{opacity:0;animation:.3s ease-out .2s forwards tpFadeIn}.tp-result-chords{border-bottom:1px solid #ffffff0d;flex-direction:column;gap:.75rem;padding-bottom:1.25rem;display:flex}.tp-result-chords__row{align-items:baseline;gap:.75rem;display:flex}.tp-result-chords__label{font-family:var(--tp-mono);letter-spacing:2px;text-transform:uppercase;color:var(--tp-text-muted);flex-shrink:0;min-width:5.5rem;font-size:.58rem;font-weight:700}.tp-result-chords__list{font-family:var(--tp-mono);color:var(--tp-text);word-break:break-word;font-size:.9rem;font-weight:500;line-height:1.6}.tp-result-chords__row--original .tp-result-chords__list{color:var(--tp-text-dim)}.tp-result-chords__divider{color:var(--tp-teal);opacity:.5;justify-content:center;padding:.25rem 0;display:flex}.tp-diagrams-section{border-bottom:1px solid #ffffff0d;padding-bottom:1.25rem}.tp-diagrams-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem;display:grid}.tp-diagram-item{justify-content:center;align-items:center;display:flex}.tp-diagram-item svg{width:100%;max-width:110px;height:auto}.tp-diagram-placeholder{aspect-ratio:1;border-radius:var(--tp-radius-sm);width:100%;font-family:var(--tp-mono);color:var(--tp-text-muted);background:#ffffff05;border:1px dashed #ffffff0f;justify-content:center;align-items:center;font-size:.7rem;display:flex}.tp-analysis{display:none}.tp-diagrams-toggle{justify-content:center;padding:.5rem 0 1rem;display:flex}.tp-toggle-btn{font-family:var(--tp-font);color:var(--tp-text-dim);cursor:pointer;transition:all var(--tp-dur) var(--tp-ease);background:#ffffff08;border:1px solid #ffffff14;border-radius:99px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.72rem;font-weight:600;display:inline-flex}.tp-toggle-btn:hover{color:var(--tp-teal);border-color:#00d4b440}.tp-toggle-btn.is-active{border-color:var(--tp-teal);color:var(--tp-teal);background:#00d4b41a}.tp-toggle-btn svg{width:14px;height:14px}.tp-diagrams-section{border-bottom:1px solid #ffffff0d;padding-bottom:1.25rem;animation:.35s ease-out forwards tpFadeUp;display:none}.tp-diagrams-section.is-visible{display:block}.tp-result-actions{flex-wrap:wrap;gap:.6rem;display:flex}.tp-action-btn{border-radius:var(--tp-radius-sm);font-family:var(--tp-font);letter-spacing:.5px;cursor:pointer;transition:transform var(--tp-dur) var(--tp-ease), box-shadow var(--tp-dur) var(--tp-ease), opacity var(--tp-dur) var(--tp-ease);align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.72rem;font-weight:600;display:inline-flex}.tp-action-btn--primary{background:linear-gradient(135deg, var(--tp-teal), color-mix(in srgb, var(--tp-teal) 70%, #fff));color:#000;border:none}.tp-action-btn--primary:hover{transform:translateY(-1px);box-shadow:0 4px 14px #00d4b44d}.tp-action-btn--secondary{color:var(--tp-text-dim);background:#ffffff0a;border:1px solid #ffffff14}.tp-action-btn--secondary:hover{color:var(--tp-text);background:#ffffff12;border-color:#ffffff26}.tp-action-btn--pro{position:relative}.tp-history-section{border-top:1px solid var(--tp-border);padding-top:1rem}.tp-history-list{flex-direction:column;gap:.5rem;display:flex}.tp-history-item{border-radius:var(--tp-radius-sm);cursor:pointer;transition:background var(--tp-dur) var(--tp-ease);grid-template-columns:1fr auto auto auto;align-items:center;gap:.75rem;padding:.65rem .75rem;display:grid}.tp-history-item:hover{background:#ffffff08}.tp-history-chords{font-family:var(--tp-mono);color:var(--tp-text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.tp-history-arrow{font-family:var(--tp-mono);color:var(--tp-teal);opacity:.6;font-size:.7rem}.tp-history-result{font-family:var(--tp-mono);color:var(--tp-text);white-space:nowrap;font-size:.72rem;font-weight:600}.tp-history-ts{font-family:var(--tp-mono);color:var(--tp-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.6rem}.tp-locked-overlay{text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;display:flex}.tp-locked-overlay__eyebrow{font-family:var(--tp-mono);letter-spacing:2px;text-transform:uppercase;color:var(--tp-gold);font-size:.6rem;font-weight:700}.tp-locked-overlay__copy{font-family:var(--tp-font);color:var(--tp-text-muted);max-width:20rem;font-size:.82rem;line-height:1.5}@media (width<=768px){.tp-wrap{grid-template-columns:1fr;gap:1.5rem}.tp-key-route{grid-template-columns:1fr;gap:.75rem}.tp-key-selector{grid-template-columns:repeat(6,1fr)}.tp-key-arrow{justify-self:center;padding-top:0;transform:rotate(90deg)}.tp-result-hero__title{font-size:3rem}.tp-actions{flex-direction:column;width:100%}.tp-transpose-btn,.tp-clear-btn{width:100%}.tp-diagrams-grid{grid-template-columns:repeat(auto-fill,minmax(75px,1fr))}}@media (prefers-color-scheme:light){:where(#page-transpositor,[data-tool=transpositor]){--tp-text:#18181b;--tp-text-dim:#52525b;--tp-text-muted:#a1a1aa;--tp-border:#00000014;--tp-panel:#f4f4f5;--tp-panel2:#e4e4e7}.tp-key-btn{color:#52525b;background:#00000008;border-color:#00000014}.tp-key-btn:hover{color:#047857;background:#00d4b414;border-color:#00d4b440}.tp-key-panel--target .tp-key-btn:hover{color:#92400e;background:#f5c54214;border-color:#f5c54240}.tp-input,.chord-organizer__search-input{color:#18181b;background:#00000005;border-color:#00000014}.tp-input::-moz-placeholder{color:#a1a1aa}.chord-organizer__search-input::-moz-placeholder{color:#a1a1aa}.tp-input::placeholder,.chord-organizer__search-input::placeholder{color:#a1a1aa}.chord-organizer__chord,.tp-chord-btn{color:#52525b;background:#00000005;border-color:#0000000f}.tp-clear-btn{color:#52525b;border-color:#0000001a}.tp-clear-btn:hover{background:#00000008}.tp-action-btn--secondary{color:#52525b;background:#00000008;border-color:#00000014}.tp-analysis__content,.tp-empty__desc{color:#71717a}}.tp-auth-gate-card,.tp-limit-gate-card{text-align:center;-webkit-backdrop-filter:blur(12px);max-width:340px;animation:tpFadeUp .45s var(--tp-ease) forwards;background:#111113bf;border:1px solid #ffffff0d;border-radius:12px;flex-direction:column;align-items:center;gap:1rem;margin:2rem auto;padding:2.2rem 1.8rem;display:flex;box-shadow:0 12px 40px #0006}.tp-auth-gate-card{border-color:#00d4b440;box-shadow:0 8px 32px #00d4b414}.tp-limit-gate-card{border-color:#f5c54240;box-shadow:0 8px 32px #f5c54214}.tp-auth-gate-icon,.tp-limit-gate-icon{border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:.2rem;display:flex}.tp-auth-gate-icon{color:var(--tp-teal);background:#00d4b41a}.tp-limit-gate-icon{color:var(--tp-gold);background:#f5c5421a}.tp-auth-gate-icon svg,.tp-limit-gate-icon svg{width:26px;height:26px}.tp-auth-gate-title,.tp-limit-gate-title{font-family:var(--tp-mono);letter-spacing:2.5px;margin:0;font-size:.85rem;font-weight:700}.tp-auth-gate-title{color:var(--tp-teal)}.tp-limit-gate-title{color:var(--tp-gold)}.tp-auth-gate-desc,.tp-limit-gate-desc{font-family:var(--tp-font);color:var(--tp-text-dim);margin:0;font-size:.8rem;line-height:1.6}.tp-auth-gate-btn,.tp-limit-gate-btn{width:100%;font-family:var(--tp-font);letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;border:none;border-radius:8px;margin-top:.4rem;padding:.85rem 1.4rem;font-size:.72rem;font-weight:800;transition:transform .2s,box-shadow .2s}.tp-auth-gate-btn{background:linear-gradient(135deg, var(--tp-teal), #fff);color:#000}.tp-auth-gate-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00d4b459}.tp-limit-gate-btn{background:linear-gradient(135deg, var(--tp-gold), #fff);color:#000}.tp-limit-gate-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #f5c54259}
