:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg:#161618;--surface:#1e1e22;--input:#141418;--raised:#222228;--hover:#1c1c22;--border:#2c2c36;--border2:#3a3a46;--border3:#1e1e26;--selected:#20203a;--accent-bg:#1c2040;--sharp:#0e0e12;--sharp-sel:#181830;--text:#e8e8f4;--text2:#9898b8;--text3:#7070a0;--text4:#525278;--text5:#424260;--accent:#68b;--accent-hi:#8ad;--accent-lo:#46a;--accent-dim:#3a5480;--accent-mid:#263858;--on-accent:#0a1020;--dot-scale:#57a;--dot-root:#c64;--rust:#c64;--rust-hi:#d75;--rust-bg:#261a14;--rust-glow:#cc66444d;--error-bg:#221814;--error-bd:#583424;--error-text:#be6452;--error-text2:#9e5444;--good:#5aaa50;--good-dim:#3d7838;--bad:#bb6060;--bad-dim:#844;--midi-ok:#5cb85c;--midi-err:#d9534f;--overlay:#0009;--accent-glow:#6688bb47;--pk-white:#d4d4e4;--pk-white-h:#e4e4f2;--pk-white-bd:#6a6a88;--pk-white-active:#68b;--pk-white-root:#c64;--pk-white-lbl:#668;--pk-white-lbl-a:#141a28;--pk-white-lbl-r:#18100a;--pk-black:#0c0c12;--pk-black-bd:#060608;--pk-black-h:#181822;--pk-black-active:#46a;--pk-black-root:#aa4428;--pk-black-lbl:#44446a;--pk-black-lbl-a:#10161e;--pk-black-lbl-r:#100c08;--pk-dim-w:#606078;--pk-dim-w-lbl:#404058;--pk-dim-b:#262638;--pk-dim-b-lbl:#343450;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}.page-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2rem}@media (width<=600px){.page-card{padding:1.25rem 1rem}}@media (orientation:landscape) and (height<=500px){.page-card{padding:.75rem 1rem}}.info-box{border:1px solid var(--border2);border-left:3px solid var(--accent);background:var(--input);color:var(--text2);border-radius:6px;padding:.65rem .85rem;font-size:.82rem;line-height:1.55}.label-caps{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:600}*{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden}body{min-height:100vh;color:var(--text);background-color:var(--bg);overflow-x:hidden}#app{max-width:1100px;margin:0 auto;padding:2rem 1.5rem}@media (width<=600px){#app{padding:1rem}}@media (orientation:landscape) and (height<=500px){#app{padding:.6rem 1.25rem}}*,:before,:after{box-sizing:border-box}body{margin:0}button{color:inherit;font-family:inherit}:root{--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--text-2xs:.65rem;--text-xs:.72rem;--text-sm:.78rem;--text-base:.82rem;--text-md:.85rem;--text-lg:.9rem;--text-xl:1rem;--text-2xl:1.1rem;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--radius-full:9999px;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--transition-fast:.1s;--transition-base:.15s;--transition-slow:.25s;--bg:#161618;--surface:#1e1e22;--input:#141418;--raised:#222228;--hover:#1c1c22;--border:#2c2c36;--border2:#3a3a46;--border3:#1e1e26;--selected:#20203a;--accent-bg:#1c2040;--sharp:#0e0e12;--sharp-sel:#181830;--text:#e8e8f4;--text2:#9898b8;--text3:#7070a0;--text4:#525278;--text5:#424260;--accent:#68b;--accent-hi:#8ad;--accent-lo:#46a;--accent-dim:#3a5480;--accent-mid:#263858;--on-accent:#0a1020;--dot-scale:#57a;--dot-root:#c64;--rust:#c64;--rust-hi:#d75;--rust-bg:#261a14;--rust-glow:#cc66444d;--error-bg:#221814;--error-bd:#583424;--error-text:#be6452;--error-text2:#9e5444;--good:#5aaa50;--good-dim:#3d7838;--bad:#bb6060;--bad-dim:#844;--midi-ok:#5cb85c;--midi-err:#d9534f;--overlay:#0009;--accent-glow:#6688bb47;--pk-white:#d4d4e4;--pk-white-h:#e4e4f2;--pk-white-bd:#6a6a88;--pk-white-active:#68b;--pk-white-root:#c64;--pk-white-lbl:#668;--pk-white-lbl-a:#141a28;--pk-white-lbl-r:#18100a;--pk-black:#0c0c12;--pk-black-bd:#060608;--pk-black-h:#181822;--pk-black-active:#46a;--pk-black-root:#aa4428;--pk-black-lbl:#44446a;--pk-black-lbl-a:#10161e;--pk-black-lbl-r:#100c08;--pk-dim-w:#606078;--pk-dim-w-lbl:#404058;--pk-dim-b:#262638;--pk-dim-b-lbl:#343450}html.light{--bg:#f0f0f6;--surface:#e4e4ee;--input:#d8d8e6;--raised:#ccccda;--hover:#e0e0ec;--border:#b0b0c8;--border2:#9494b0;--border3:#c8c8da;--selected:#d0d0ee;--accent-bg:#d0d8f2;--sharp:#d4d4e4;--sharp-sel:#c4c4e8;--text:#12121e;--text2:#3a3a5c;--text3:#4e4e70;--text4:#6868a0;--text5:#8080b0;--accent:#35a;--accent-hi:#46c;--accent-lo:#22448a;--accent-dim:#4c6a8a;--accent-mid:#6680a0;--on-accent:#f0f0f6;--dot-scale:#5070bb;--dot-root:#bb4420;--rust:#bb4420;--rust-hi:#993010;--rust-bg:#f0e4de;--rust-glow:#bb442033;--good:#2a7a22;--good-dim:#1e5818;--bad:#943030;--bad-dim:#6c2020;--error-bg:#faeae4;--error-bd:#d09080;--error-text:#903020;--error-text2:#a04030;--overlay:#0006;--accent-glow:#3355aa38;--pk-white:#ededf8;--pk-white-h:#f8f8ff;--pk-white-bd:#88a;--pk-white-active:#35a;--pk-white-root:#bb4420;--pk-white-lbl:#686890;--pk-white-lbl-a:#18203a;--pk-white-lbl-r:#1a0e08;--pk-black:#16162a;--pk-black-bd:#0e0e1e;--pk-black-h:#26263c;--pk-black-active:#22448a;--pk-black-root:#993010;--pk-black-lbl:#56569a;--pk-black-lbl-a:#141c30;--pk-black-lbl-r:#140a06;--pk-dim-w:#c4c4da;--pk-dim-w-lbl:#848498;--pk-dim-b:#404060;--pk-dim-b-lbl:#5a5a88}html.medieval:not(.light){--bg:#1a1714;--surface:#242019;--input:#1e1c18;--raised:#2e2820;--hover:#252219;--border:#3a3228;--border2:#4a4030;--border3:#2a2420;--selected:#3d3010;--accent-bg:#3a2e10;--sharp:#161412;--sharp-sel:#302808;--text:#eee2cc;--text2:#b8a894;--text3:#9a8e80;--text4:#786a5a;--text5:#5e5248;--accent:#d4b84c;--accent-hi:#f0d848;--accent-lo:#b09840;--accent-dim:#887832;--accent-mid:#6a5e28;--on-accent:#1a1714;--dot-scale:#7a6c38;--dot-root:#e07840;--rust:#c85a28;--rust-hi:#e07840;--rust-bg:#2e1a10;--rust-glow:#c85a284d;--good:#5aaa50;--good-dim:#3d7838;--bad:#bb6060;--bad-dim:#844;--error-bg:#2e1c14;--error-bd:#6a3820;--error-text:#c07050;--error-text2:#a07050;--overlay:#0009;--accent-glow:#d4b84c47;--pk-white:#ddd5be;--pk-white-h:#ece4d0;--pk-white-bd:#8a7850;--pk-white-active:#c89420;--pk-white-root:#c85a28;--pk-white-lbl:#7a6848;--pk-white-lbl-a:#2a1400;--pk-white-lbl-r:#1a0600;--pk-black:#1e1a14;--pk-black-bd:#0e0c08;--pk-black-h:#2e2820;--pk-black-active:#b07a10;--pk-black-root:#a84018;--pk-black-lbl:#5a4830;--pk-black-lbl-a:#1a0a00;--pk-black-lbl-r:#1a0600;--pk-dim-w:#7a7268;--pk-dim-w-lbl:#4a4438;--pk-dim-b:#302c28;--pk-dim-b-lbl:#3a3430}html.light.medieval{--bg:#f5ede0;--surface:#ede3d4;--input:#e4d8c8;--raised:#d8ccbc;--hover:#e8dece;--border:#c0ae98;--border2:#a09080;--border3:#d0c4b4;--selected:#f0e4c0;--accent-bg:#f0e4c0;--sharp:#ddd4c4;--sharp-sel:#ecddb8;--text:#18120a;--text2:#44380c;--text3:#584e3c;--text4:#726858;--text5:#8a7e6e;--accent:#7a5218;--accent-hi:#9a6820;--accent-lo:#624010;--accent-dim:#8a6434;--accent-mid:#7a5a28;--on-accent:#f5ede0;--dot-scale:#c8a860;--dot-root:#b84818;--rust:#b84818;--rust-hi:#8c3412;--rust-bg:#f5e8e0;--rust-glow:#b8481833;--good:#2a7a22;--good-dim:#1e5818;--bad:#943030;--bad-dim:#6c2020;--error-bg:#f8eae4;--error-bd:#d09080;--error-text:#903020;--error-text2:#a04030;--overlay:#0006;--accent-glow:#7a521838;--pk-white:#f0e8d8;--pk-white-h:#f8f2e8;--pk-white-bd:#a09070;--pk-white-active:#c89420;--pk-white-root:#c85a28;--pk-white-lbl:#806848;--pk-white-lbl-a:#2a1400;--pk-white-lbl-r:#1a0600;--pk-black:#2a2418;--pk-black-bd:#1a1610;--pk-black-h:#3a3428;--pk-black-active:#b07a10;--pk-black-root:#a84018;--pk-black-lbl:#7a6848;--pk-black-lbl-a:#2a1400;--pk-black-lbl-r:#1a0a00;--pk-dim-w:#c8c0b0;--pk-dim-w-lbl:#8a8070;--pk-dim-b:#484440;--pk-dim-b-lbl:#6a6460}html.ko2{--selected:#3a1808;--accent-bg:#381608;--sharp-sel:#2c1006;--accent:#e05c20;--accent-hi:#f07838;--accent-lo:#c04010;--accent-dim:#903008;--accent-mid:#641e08;--on-accent:#1a0800;--dot-scale:#c04810;--dot-root:#e0b820;--rust:#e0b820;--rust-hi:#f0cc40;--rust-bg:#2a2008;--rust-glow:#e0b8204d;--accent-glow:#e05c204d;--pk-white-active:#e05c20;--pk-white-root:#e0b820;--pk-white-lbl-a:#1a0800;--pk-white-lbl-r:#1a1400;--pk-black-active:#c04010;--pk-black-root:#c09a10;--pk-black-lbl-a:#140600;--pk-black-lbl-r:#141000}html.light.ko2{--selected:#fce0d0;--accent-bg:#fce0d0;--sharp-sel:#f8d4c0;--accent:#c43808;--accent-hi:#e04c10;--accent-lo:#a02808;--accent-dim:#b44420;--accent-mid:#c85830;--on-accent:#fff0e8;--dot-scale:#d06820;--dot-root:#aa8000;--rust:#aa8000;--rust-hi:#886000;--rust-bg:#f8f0e0;--rust-glow:#aa800033;--accent-glow:#c4380833;--pk-white-active:#c43808;--pk-white-root:#aa8000;--pk-white-lbl-a:#1a0800;--pk-white-lbl-r:#141000;--pk-black-active:#a02808;--pk-black-root:#8a6400;--pk-black-lbl-a:#140600;--pk-black-lbl-r:#100c00}html.riddim{--selected:#0c2e18;--accent-bg:#0c2c18;--sharp-sel:#0a2010;--accent:#28be70;--accent-hi:#44d888;--accent-lo:#18944c;--accent-dim:#106438;--accent-mid:#0a4428;--on-accent:#040e06;--dot-scale:#18904a;--dot-root:#d8b820;--rust:#d8b820;--rust-hi:#f0d040;--rust-bg:#281e08;--rust-glow:#d8b82047;--accent-glow:#28be7047;--pk-white-active:#28be70;--pk-white-root:#d8b820;--pk-white-lbl-a:#041008;--pk-white-lbl-r:#1a1400;--pk-black-active:#18944c;--pk-black-root:#b89810;--pk-black-lbl-a:#040c06;--pk-black-lbl-r:#141000}html.light.riddim{--selected:#d0f0e0;--accent-bg:#d0f0e0;--sharp-sel:#c4ecd8;--accent:#0a7a38;--accent-hi:#0e9a48;--accent-lo:#086028;--accent-dim:#207848;--accent-mid:#309058;--on-accent:#f0faf4;--dot-scale:#48b870;--dot-root:#9a7e00;--rust:#9a7e00;--rust-hi:#786000;--rust-bg:#f0ece0;--rust-glow:#9a7e0033;--accent-glow:#0a7a3833;--pk-white-active:#0a7a38;--pk-white-root:#9a7e00;--pk-white-lbl-a:#041008;--pk-white-lbl-r:#100e00;--pk-black-active:#086028;--pk-black-root:#786000;--pk-black-lbl-a:#040c06;--pk-black-lbl-r:#0c0a00}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border2);color:var(--text3);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:color var(--transition-base), border-color var(--transition-base), background var(--transition-base);background:0 0;font-family:inherit;display:inline-flex}.btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent-mid);background:var(--accent-bg)}.btn:disabled{opacity:.25;cursor:default}.btn-xs{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.btn-lg{padding:var(--space-3) var(--space-5);font-size:var(--text-md)}.btn-primary{background:var(--accent-bg);border-color:var(--accent-mid);color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--hover);border-color:#0000}.btn.active,.btn[aria-pressed=true]{background:var(--accent-bg);border-color:var(--accent-mid);color:var(--accent)}.btn-accent{border-color:var(--accent-mid);color:var(--accent)}.btn-accent:hover:not(:disabled){background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.btn-accent.active,.btn-accent[aria-pressed=true]{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-hi)}.btn-subtle{background:var(--input);color:var(--text2)}.btn-subtle:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.btn-toggle.active,.btn-toggle[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-block{width:100%}.btn-icon{padding:var(--space-2);min-width:2rem;min-height:2rem}.btn-round{padding:var(--space-2);border-radius:50%;flex-shrink:0;width:1.8rem;height:1.8rem}.card{background:var(--raised);border:1px solid var(--border2);border-radius:var(--radius-xl);padding:var(--space-4)}.card-sm{padding:var(--space-3);border-radius:var(--radius-lg)}.card-interactive{cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast);-webkit-tap-highlight-color:transparent}.card-interactive:hover{background:var(--border);border-color:var(--accent)}.card-interactive.active{background:var(--accent-bg);border-color:var(--accent)}.tc-genre-tabs{gap:var(--space-1);flex-wrap:wrap;display:flex}.tc-genre-tabs-btn{padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border2);background:var(--input);color:var(--text3);font-size:var(--text-base);font-weight:var(--font-semibold);white-space:nowrap;cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);font-family:inherit}.tc-genre-tabs-btn:hover{border-color:var(--accent);color:var(--text)}.tc-genre-tabs-btn.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.tc-jam-pad-grid,.tc-scale-viz-pad-grid,.tc-detector-pad-grid{flex-direction:column;gap:.6rem;max-width:420px;margin:0 auto;display:flex}.tc-jam-pad-row,.tc-scale-viz-pad-row,.tc-detector-pad-row{gap:.6rem;display:grid}.tc-jam-guitar-neck-wrap,.tc-scale-viz-guitar-neck-wrap,.tc-detector-neck-wrap{-webkit-overflow-scrolling:touch;margin-bottom:.5rem;overflow-x:auto}.tc-jam-guitar-neck,.tc-scale-viz-guitar-neck{flex-direction:column;gap:0;min-width:380px;display:flex}.tc-detector-neck{flex-direction:column;gap:0;display:flex}.tc-jam-neck-row,.tc-scale-viz-neck-row,.tc-detector-neck-row{border-bottom:1px solid var(--border2);align-items:center;display:flex}.tc-jam-string-name,.tc-scale-viz-string-name,.tc-detector-string-name{width:1.8rem;color:var(--text4);text-align:right;flex-shrink:0;padding-right:.5rem;font-size:.7rem;font-weight:600}.tc-jam-string-name-spacer,.tc-scale-viz-string-name-spacer,.tc-detector-fret-num-spacer{flex-shrink:0;width:1.8rem}.tc-jam-neck-cell,.tc-scale-viz-neck-cell{border-right:1px solid var(--border2);-webkit-user-select:none;user-select:none;touch-action:pan-x;cursor:pointer;flex:1;justify-content:center;align-items:center;height:2rem;display:flex;position:relative}.tc-detector-neck-cell{-webkit-user-select:none;user-select:none;flex:1;justify-content:center;align-items:center;display:flex;position:relative}.tc-jam-neck-cell.open,.tc-scale-viz-neck-cell.open{border-right:3px solid var(--border2)}.tc-jam-neck-dot,.tc-scale-viz-neck-dot,.tc-detector-neck-dot{border-radius:50%;width:14px;height:14px;display:block}.tc-jam-fret-numbers,.tc-scale-viz-fret-numbers,.tc-detector-fret-numbers{align-items:center;margin-top:.3rem;display:flex}.tc-jam-fret-num,.tc-scale-viz-fret-num,.tc-detector-fret-num{color:var(--text5);text-align:center;flex:1;font-size:.6rem}.step-content{flex-direction:column;gap:1.35rem;display:flex}.step-intro{color:var(--text2);margin:0;font-size:.87rem;line-height:1.6}.step-intro strong{color:var(--accent);font-weight:600}.step-bridge{border:1px solid var(--border2);background:var(--raised);color:var(--text3);border-radius:8px;padding:.75rem 1rem;font-size:.84rem;line-height:1.6}.step-bridge strong{color:var(--accent);font-weight:600}.numbered-badge{background:var(--accent-bg);border:1px solid var(--accent-mid);width:1.4rem;height:1.4rem;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:.1rem;font-size:.72rem;font-weight:700;display:flex}.form-select{padding:var(--space-2) var(--space-3);border:1px solid var(--border2);border-radius:var(--radius-md);background:var(--input);color:var(--text);font-size:var(--text-base);cursor:pointer;width:100%;font-family:inherit}.form-input{padding:var(--space-2) var(--space-3);border:1px solid var(--border2);border-radius:var(--radius-md);background:var(--input);color:var(--text);font-size:var(--text-base);font-family:inherit}.form-input:focus,.form-select:focus{border-color:var(--accent-mid);outline:none}.form-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text3)}.tc-note-strip{flex-wrap:wrap;gap:.35rem;display:flex}.tc-note-strip-pill{border:1px solid var(--border2);background:var(--raised);min-width:2.4rem;color:var(--accent);cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;border-radius:6px;padding:.45rem .55rem;font-family:inherit;font-size:.88rem;font-weight:700;transition:background .1s,border-color .1s,transform 70ms}.tc-note-strip-pill:hover{background:var(--border)}.tc-note-strip-pill:active{transform:scale(.93)}.tc-note-strip-pill.sharp{background:var(--input);color:var(--accent-lo);font-size:.8rem}.tc-note-strip-pill.sharp:hover{background:var(--border3)}.tc-note-strip-pill.selected{background:var(--selected);border-color:var(--accent);color:var(--accent-hi);box-shadow:0 0 6px var(--accent-glow)}.tc-note-strip-pill.selected.sharp{background:var(--sharp-sel)}.tc-note-strip-pill.highlight{background:var(--raised);border-color:var(--border2);color:var(--text2)}.tc-note-strip-pill.from{background:var(--accent);border-color:var(--accent);color:var(--bg)}.tc-note-strip-pill.to{background:var(--selected);border-color:var(--accent);color:var(--accent-hi);box-shadow:0 0 6px var(--accent-glow)}.tc-note-strip.small .tc-note-strip-pill{min-width:2rem;padding:.35rem .45rem;font-size:.8rem}.tc-note-strip.small .tc-note-strip-pill.sharp{font-size:.72rem}.tc-note-strip.disabled .tc-note-strip-pill{opacity:.5;cursor:default}.tc-page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.tc-page-header-content{gap:var(--space-1);flex-direction:column;display:flex}.tc-page-header-title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text);margin:0}.tc-page-header-subtitle{font-size:var(--text-base);color:var(--text3);margin:0}.tc-page-header-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.picker-row,.tc-picker-row{align-items:center;gap:var(--space-3);display:flex}.picker-label,.tc-picker-row-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text3);min-width:3rem}.picker-control,.tc-picker-row-control{flex:1}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.w-full{width:100%}.flex-shrink-0{flex-shrink:0}.tc-knob[data-v-b9a8e907]{flex-direction:column;align-items:center;gap:.2rem;display:flex}.tc-knob-dial[data-v-b9a8e907]{background:var(--input);border:1.5px solid var(--border2);width:2.4rem;height:2.4rem;transform:rotate(var(--angle));touch-action:none;-webkit-user-select:none;user-select:none;cursor:ns-resize;border-radius:50%;transition:border-color .15s;position:relative}.tc-knob-dial[data-v-b9a8e907]:hover{border-color:var(--accent-mid)}.tc-knob-dot[data-v-b9a8e907]{background:var(--accent);border-radius:2px;width:3px;height:.5rem;position:absolute;bottom:.22rem;left:50%;transform:translate(-50%)}.tc-knob-label[data-v-b9a8e907]{text-transform:uppercase;letter-spacing:.06em;color:var(--text4);font-size:.65rem;font-weight:700}.tc-knob-value[data-v-b9a8e907]{color:var(--text4);font-size:.6rem}.tc-knob-hint[data-v-b9a8e907]{color:var(--text4);opacity:.7;font-size:.55rem;display:none}@media (pointer:coarse){.tc-knob-hint[data-v-b9a8e907]{display:block}}.form-select[data-v-e6003b5c]{flex:1;width:auto;min-width:0;padding:.4rem .8rem;font-size:.9rem}.tc-jam-bar[data-v-257a8bf5]{border:1px solid var(--border);background:var(--raised);border-radius:10px;flex-direction:column;gap:.85rem;padding:1.1rem 1.25rem;display:flex;overflow:hidden}.tc-jam-bar-title[data-v-257a8bf5]{text-transform:uppercase;letter-spacing:.08em;color:var(--text4);font-size:.7rem;font-weight:700}.tc-jam-bar-vibe-row[data-v-257a8bf5]{align-items:flex-start;gap:.75rem;display:flex}.tc-jam-bar-vibe-row .picker-label[data-v-257a8bf5]{padding-top:.3rem}.tc-jam-bar-preset-btns[data-v-257a8bf5]{flex-wrap:wrap;flex:1;gap:.35rem;display:flex}.tc-jam-bar-preset-btn[data-v-257a8bf5]{border:1px solid var(--border2);background:var(--input);color:var(--text3);cursor:pointer;border-radius:20px;padding:.3rem .75rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:border-color .12s,background .12s,color .12s}.tc-jam-bar-preset-btn[data-v-257a8bf5]:hover{border-color:var(--accent);color:var(--text)}.tc-jam-bar-preset-btn.active[data-v-257a8bf5]{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.tc-jam-bar-panel[data-v-257a8bf5]{border-top:1px solid var(--border)}.tc-jam-bar-panel-toggle[data-v-257a8bf5]{cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.4rem;width:100%;padding:.55rem 0;font-family:inherit;display:flex}.tc-jam-bar-panel-icon[data-v-257a8bf5]{color:var(--text4);flex-shrink:0;transition:color .12s}.tc-jam-bar-panel-toggle:hover .tc-jam-bar-panel-icon[data-v-257a8bf5],.tc-jam-bar-panel-toggle:hover .tc-jam-bar-panel-name[data-v-257a8bf5]{color:var(--text2)}.tc-jam-bar-panel-name[data-v-257a8bf5]{text-transform:uppercase;letter-spacing:.08em;color:var(--text4);font-size:.72rem;font-weight:700;transition:color .12s}.tc-jam-bar-panel-chevron[data-v-257a8bf5]{border-right:1.5px solid var(--text4);border-bottom:1.5px solid var(--text4);flex-shrink:0;width:6px;height:6px;margin-right:2px;transition:transform .15s;transform:rotate(-45deg)}.tc-jam-bar-panel-chevron.open[data-v-257a8bf5]{transform:rotate(45deg)}.tc-jam-bar-panel-body[data-v-257a8bf5]{flex-direction:column;gap:.75rem;padding-bottom:.65rem;display:flex}.tc-jam-bar-picker-row[data-v-257a8bf5]{flex:1;align-items:center;gap:.5rem;display:flex}.tc-jam-bar-picker-row .form-select[data-v-257a8bf5]{flex:1}.tc-jam-bar-edit-btn[data-v-257a8bf5]{flex-shrink:0;padding:.25rem .6rem;font-size:.75rem}.tc-jam-bar-key-select[data-v-257a8bf5]{width:auto;min-width:5rem}.tc-jam-bar-bpm-input[data-v-257a8bf5]{border:1px solid var(--border2);background:var(--input);width:5rem;color:var(--text);text-align:center;border-radius:6px;padding:.3rem .5rem;font-family:inherit;font-size:.85rem}.tc-jam-bar-mixer[data-v-257a8bf5]{flex-direction:row;gap:1.5rem;padding:.25rem 0;display:flex}.tc-jam-bar-transport[data-v-257a8bf5]{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.tc-jam-bar-play-btn[data-v-257a8bf5]{border:1px solid var(--border2);background:var(--input);color:var(--text3);cursor:pointer;border-radius:8px;flex-shrink:0;align-items:center;gap:.4rem;padding:.45rem 1.4rem;font-family:inherit;font-size:.9rem;font-weight:700;transition:border-color .12s,background .12s,color .12s;display:flex}.tc-jam-bar-play-btn[data-v-257a8bf5]:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.tc-jam-bar-play-btn.playing[data-v-257a8bf5]{border-color:var(--rust);background:var(--rust-bg);color:var(--rust-hi)}.tc-jam-bar-play-btn[data-v-257a8bf5]:disabled{opacity:.4;cursor:not-allowed}.tc-jam-bar-chord-name[data-v-257a8bf5]{color:var(--accent);letter-spacing:.02em;min-width:3rem;font-size:1.5rem;font-weight:700;line-height:1}.tc-jam-bar-timeline[data-v-257a8bf5]{flex-wrap:wrap;flex:1;gap:.3rem;display:flex}.tc-jam-bar-chord-pill[data-v-257a8bf5]{border:1px solid var(--border2);background:var(--raised);color:var(--text4);border-radius:4px;padding:.2rem .45rem;font-size:.78rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.tc-jam-bar-chord-pill.active[data-v-257a8bf5]{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.tc-piano[data-v-44d5bada]{flex-direction:column;gap:.75rem;display:flex}.tc-piano-octave-ctl[data-v-44d5bada]{color:var(--text2);align-items:center;gap:.75rem;font-size:.9rem;display:flex}.tc-piano-octave-ctl label[data-v-44d5bada]{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.tc-piano-octave-ctl button[data-v-44d5bada]{border:1px solid var(--border2);background:var(--bg);width:2rem;height:2rem;color:var(--accent);cursor:pointer;border-radius:6px;font-size:1.1rem;line-height:1;transition:background .15s,border-color .15s}.tc-piano-octave-ctl button[data-v-44d5bada]:hover{background:var(--accent-bg);border-color:var(--accent)}.tc-piano-octave-val[data-v-44d5bada]{text-align:center;min-width:1.5rem;color:var(--text);font-size:1.1rem;font-weight:700}.tc-piano-keyboard[data-v-44d5bada]{-webkit-user-select:none;user-select:none;touch-action:none;max-width:420px;height:120px;display:flex;position:relative}.tc-piano-white-key[data-v-44d5bada]{background:var(--pk-white);border:1px solid var(--pk-white-bd);cursor:default;z-index:1;-webkit-tap-highlight-color:transparent;border-top:none;border-radius:0 0 5px 5px;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;padding-bottom:.4rem;transition:background .1s;display:flex;position:relative}.tc-piano-keyboard.clickable .tc-piano-white-key[data-v-44d5bada]{cursor:pointer}.tc-piano-keyboard.clickable .tc-piano-white-key[data-v-44d5bada]:hover:not(.active):not(.root){background:var(--pk-white-h)}.tc-piano-keyboard.clickable .tc-piano-white-key[data-v-44d5bada]:active{transform-origin:top;transform:scaleY(.98)}.tc-piano-white-key.active[data-v-44d5bada]{background:var(--pk-white-active)}.tc-piano-white-key.root[data-v-44d5bada]{background:var(--pk-white-root)}.dim-inactive .tc-piano-white-key[data-v-44d5bada]:not(.active):not(.root){background:var(--pk-dim-w)}.dim-inactive .tc-piano-white-key:not(.active):not(.root) .tc-piano-key-label[data-v-44d5bada]{color:var(--pk-dim-w-lbl)}.tc-piano-black-key[data-v-44d5bada]{background:var(--pk-black);border:1px solid var(--pk-black-bd);z-index:2;cursor:default;-webkit-tap-highlight-color:transparent;border-top:none;border-radius:0 0 4px 4px;flex-direction:column;justify-content:flex-end;align-items:center;width:8.57143%;height:65%;padding-bottom:.25rem;transition:background .1s;display:flex;position:absolute;top:0}.tc-piano-keyboard.clickable .tc-piano-black-key[data-v-44d5bada]{cursor:pointer}.tc-piano-keyboard.clickable .tc-piano-black-key[data-v-44d5bada]:hover:not(.active):not(.root){background:var(--pk-black-h)}.tc-piano-keyboard.clickable .tc-piano-black-key[data-v-44d5bada]:active{transform-origin:top;transform:scaleY(.97)}.tc-piano-black-key.active[data-v-44d5bada]{background:var(--pk-black-active)}.tc-piano-black-key.root[data-v-44d5bada]{background:var(--pk-black-root)}.dim-inactive .tc-piano-black-key[data-v-44d5bada]:not(.active):not(.root){background:var(--pk-dim-b)}.dim-inactive .tc-piano-black-key:not(.active):not(.root) .tc-piano-key-label[data-v-44d5bada]{color:var(--pk-dim-b-lbl)}.tc-piano-key-label[data-v-44d5bada]{pointer-events:none;font-size:.55rem;font-weight:700;line-height:1}.tc-piano-white-key .tc-piano-key-label[data-v-44d5bada]{color:var(--pk-white-lbl)}.tc-piano-white-key.active .tc-piano-key-label[data-v-44d5bada]{color:var(--pk-white-lbl-a)}.tc-piano-white-key.root .tc-piano-key-label[data-v-44d5bada]{color:var(--pk-white-lbl-r)}.tc-piano-black-key .tc-piano-key-label[data-v-44d5bada]{color:var(--pk-black-lbl)}.tc-piano-black-key.active .tc-piano-key-label[data-v-44d5bada]{color:var(--pk-black-lbl-a)}.tc-piano-black-key.root .tc-piano-key-label[data-v-44d5bada]{color:var(--pk-black-lbl-r)}.tc-scale-legend[data-v-26a243c0]{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.tc-scale-legend-sep[data-v-26a243c0]{color:var(--text5);font-size:.75rem}.tc-scale-legend-item[data-v-26a243c0]{color:var(--text3);letter-spacing:.03em;font-size:.72rem;font-weight:600}.tc-scale-legend-item[data-v-26a243c0]:before{content:"";vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:.3rem;display:inline-block}.tc-scale-legend-item.root[data-v-26a243c0]:before{background:var(--rust)}.tc-scale-legend-item.anchor[data-v-26a243c0]:before{background:var(--accent-mid)}.tc-scale-legend-item.safe[data-v-26a243c0]:before{background:var(--border2)}.tc-instrument[data-v-397024a5]{flex-direction:column;gap:.75rem;display:flex}[data-v-397024a5] .legend{margin-top:0}.tc-instrument-pad-grid[data-v-397024a5]{flex-direction:column;gap:.5rem;display:flex}.tc-instrument-pad-row[data-v-397024a5]{gap:.5rem;display:grid}.tc-instrument-scale-notes[data-v-397024a5]{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.tc-instrument-scale-label[data-v-397024a5]{color:var(--text4);text-transform:uppercase;letter-spacing:.1em;margin-right:.25rem;font-size:.75rem}.tc-instrument-scale-note[data-v-397024a5]{background:var(--raised);border:1px solid var(--border2);color:var(--text2);border-radius:4px;padding:.25rem .6rem;font-size:.85rem;font-weight:600}.tc-instrument-scale-note.anchor[data-v-397024a5]{background:var(--accent-bg);border-color:var(--accent-mid);color:var(--accent)}.tc-instrument-scale-note.root[data-v-397024a5]{background:var(--rust-bg);border-color:var(--rust);color:var(--rust-hi)}.tc-instrument-pad[data-v-397024a5]{border:1px solid var(--border);aspect-ratio:1;-webkit-user-select:none;user-select:none;touch-action:none;cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;padding:.75rem .5rem;transition:background .15s,border-color .15s;display:flex}.tc-instrument-pad.inactive[data-v-397024a5]{background:var(--bg);border-color:var(--border2)}.tc-instrument-pad.active[data-v-397024a5]{background:var(--raised);border-color:var(--border2)}.tc-instrument-pad.anchor[data-v-397024a5]{background:var(--accent-bg);border-color:var(--accent-mid)}.tc-instrument-pad.root[data-v-397024a5]{background:var(--rust-bg);border-color:var(--rust)}.tc-instrument-pad.pressed[data-v-397024a5]{background:var(--accent-bg);border-color:var(--accent);opacity:1}.tc-instrument-pad-label[data-v-397024a5]{color:var(--text4);letter-spacing:.1em;font-size:.7rem;font-weight:600}.tc-instrument-pad-note[data-v-397024a5]{font-size:1.5rem;font-weight:700;line-height:1}.tc-instrument-pad-midi[data-v-397024a5]{color:var(--text5);letter-spacing:.03em;font-size:.6rem}.tc-instrument-pad.inactive .tc-instrument-pad-label[data-v-397024a5],.tc-instrument-pad.inactive .tc-instrument-pad-note[data-v-397024a5]{color:var(--text5)}.tc-instrument-pad.active .tc-instrument-pad-note[data-v-397024a5]{color:var(--text2)}.tc-instrument-pad.anchor .tc-instrument-pad-note[data-v-397024a5]{color:var(--accent)}.tc-instrument-pad.root .tc-instrument-pad-note[data-v-397024a5]{color:var(--rust-hi)}.tc-instrument-pad.pressed .tc-instrument-pad-note[data-v-397024a5]{color:var(--accent)}.tc-instrument-neck-dot[data-v-397024a5]{background:var(--text3)}.tc-instrument-neck-dot.anchor[data-v-397024a5]{background:var(--accent-lo)}.tc-instrument-neck-dot.root[data-v-397024a5]{background:var(--dot-root);box-shadow:0 0 4px var(--rust-glow)}@media (width<=600px){.tc-instrument-pad-note[data-v-397024a5]{font-size:1.2rem}}.tc-home[data-v-589823d4]{flex-direction:column;gap:1rem;max-width:720px;margin:0 auto;padding:1rem .5rem 3rem;display:flex}.tc-step-nav[data-v-89cf1182]{flex-wrap:wrap;gap:.4rem;display:flex}.tc-step-nav-btn[data-v-89cf1182]{border:1px solid var(--border2);color:var(--text3);cursor:pointer;letter-spacing:.03em;background:0 0;border-radius:20px;align-items:center;gap:.4rem;padding:.45rem .75rem;font-family:inherit;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:flex}.tc-step-nav-btn[data-v-89cf1182]:hover{border-color:var(--accent-mid);color:var(--text2)}.tc-step-nav-btn.active[data-v-89cf1182]{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.tc-step-nav-btn.done[data-v-89cf1182]{color:var(--accent-mid);border-color:var(--border2)}.tc-step-nav-num[data-v-89cf1182]{background:var(--border2);width:1.2rem;height:1.2rem;color:var(--text3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex}.tc-step-nav-btn.active .tc-step-nav-num[data-v-89cf1182]{background:var(--accent);color:var(--bg)}.tc-step-nav-btn.done .tc-step-nav-num[data-v-89cf1182]{background:var(--accent-mid);color:var(--bg)}@media (orientation:landscape) and (height<=500px){.tc-step-nav-label[data-v-89cf1182]{display:none}}.tc-chord-diagram[data-v-4ff17f7d]{flex-direction:column;align-items:center;gap:.4rem;display:flex}.tc-chord-diagram-wrap[data-v-4ff17f7d]{align-items:flex-start;gap:.3rem;display:flex}.tc-chord-diagram-fret-label[data-v-4ff17f7d]{color:var(--text3);margin-top:1.4rem;font-size:.6rem;line-height:1}.tc-chord-diagram-inner[data-v-4ff17f7d]{flex-direction:column;width:72px;display:flex}.tc-chord-diagram-top-markers[data-v-4ff17f7d]{grid-template-columns:repeat(6,1fr);height:14px;margin-bottom:1px;display:grid}.tc-chord-diagram-top-marker[data-v-4ff17f7d]{color:var(--text3);justify-content:center;align-items:center;font-size:.55rem;line-height:1;display:flex}.tc-chord-diagram-nut[data-v-4ff17f7d]{background:var(--border2);border-radius:1px;height:2px}.tc-chord-diagram-nut.open[data-v-4ff17f7d]{background:var(--accent);height:3px}.tc-chord-diagram-fret-grid[data-v-4ff17f7d]{border-left:1px solid var(--border2);border-right:1px solid var(--border2);flex-direction:column;display:flex}.tc-chord-diagram-fret-row[data-v-4ff17f7d]{border-bottom:1px solid var(--border2);grid-template-columns:repeat(6,1fr);height:14px;display:grid}.tc-chord-diagram-fret-cell[data-v-4ff17f7d]{border-right:1px solid var(--border);justify-content:center;align-items:center;display:flex}.tc-chord-diagram-fret-cell[data-v-4ff17f7d]:last-child{border-right:none}.tc-chord-diagram-finger-dot[data-v-4ff17f7d]{background:var(--dot-scale);border-radius:50%;width:8px;height:8px;display:block}.tc-chord-diagram-finger-dot.root[data-v-4ff17f7d]{background:var(--dot-root);box-shadow:0 0 3px var(--rust-glow)}.tc-chord-diagram-voicing-sel[data-v-4ff17f7d]{align-items:center;gap:.3rem;display:flex}.tc-chord-diagram-voicing-btn[data-v-4ff17f7d]{border:1px solid var(--border);color:var(--text3);cursor:pointer;background:0 0;border-radius:3px;justify-content:center;align-items:center;width:1.2rem;height:1.2rem;padding:0;font-size:.75rem;line-height:1;transition:border-color .12s,color .12s;display:flex}.tc-chord-diagram-voicing-btn[data-v-4ff17f7d]:hover{border-color:var(--accent);color:var(--accent)}.tc-chord-diagram-voicing-label[data-v-4ff17f7d]{color:var(--text4);white-space:nowrap;font-size:.58rem}.tc-learn-roots-picker[data-v-afb5f7d8]{flex-direction:column;gap:.5rem;display:flex}.tc-learn-roots-result[data-v-afb5f7d8]{background:var(--raised);border:1px solid var(--border2);border-radius:10px;flex-direction:column;justify-content:center;align-items:flex-start;gap:.3rem;min-height:5rem;padding:1rem;display:flex}.tc-learn-roots-rr-main[data-v-afb5f7d8]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}.tc-learn-roots-rr-name[data-v-afb5f7d8]{color:var(--accent);letter-spacing:.04em;font-size:clamp(1.8rem,8vw,2.8rem);font-weight:700;line-height:1}.tc-learn-roots-rr-label[data-v-afb5f7d8]{color:var(--accent-mid);letter-spacing:.05em;font-size:.78rem;font-weight:600}.tc-learn-roots-rr-hint[data-v-afb5f7d8]{color:var(--text3);font-size:1rem;font-weight:600}.tc-learn-roots-facts[data-v-afb5f7d8]{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.tc-learn-roots-rf-item[data-v-afb5f7d8]{flex-direction:column;gap:.2rem;display:flex}.tc-learn-roots-rf-heading[data-v-afb5f7d8]{color:var(--accent);letter-spacing:.02em;font-size:.8rem;font-weight:700}.tc-learn-roots-rf-body[data-v-afb5f7d8]{color:var(--text3);font-size:.78rem;line-height:1.5}@media (width<=480px){.tc-learn-roots-facts[data-v-afb5f7d8]{grid-template-columns:1fr}}.tc-learn-intervals-result[data-v-a3e6da8a]{background:var(--raised);border:1px solid var(--border2);border-radius:10px;flex-direction:column;justify-content:center;align-items:flex-start;gap:.3rem;min-height:7rem;padding:1rem;display:flex}.tc-learn-intervals-iv-name[data-v-a3e6da8a]{color:var(--accent);letter-spacing:.02em;font-size:clamp(1.5rem,6vw,2.2rem);font-weight:700;line-height:1}.tc-learn-intervals-iv-semi[data-v-a3e6da8a]{color:var(--accent-mid);letter-spacing:.05em;font-size:.82rem;font-weight:600}.tc-learn-intervals-iv-feel[data-v-a3e6da8a]{color:var(--text2);font-size:.88rem}.tc-learn-intervals-iv-path[data-v-a3e6da8a]{color:var(--text4);letter-spacing:.05em;margin-top:.2rem;font-size:.78rem}.tc-learn-intervals-iv-hint[data-v-a3e6da8a]{color:var(--text3);font-size:1rem;font-weight:600}.tc-learn-intervals-iv-hint-sub[data-v-a3e6da8a]{color:var(--accent-mid);font-size:.82rem}.tc-learn-intervals-reference[data-v-a3e6da8a]{flex-direction:column;gap:.5rem;display:flex}.tc-learn-intervals-ref-label[data-v-a3e6da8a]{color:var(--text4);text-transform:uppercase;letter-spacing:.07em;font-size:.72rem;font-weight:600}.tc-learn-intervals-ref-grid[data-v-a3e6da8a]{flex-wrap:wrap;gap:.3rem;display:flex}.tc-learn-intervals-ref-item[data-v-a3e6da8a]{border:1px solid var(--border);background:var(--input);cursor:pointer;border-radius:4px;align-items:center;gap:.3rem;padding:.25rem .5rem;font-size:.75rem;transition:border-color .15s,background .15s;display:flex}.tc-learn-intervals-ref-item[data-v-a3e6da8a]:hover{background:var(--raised);border-color:var(--border2)}.tc-learn-intervals-ref-item.highlight[data-v-a3e6da8a]{border-color:var(--accent);background:var(--accent-bg)}.tc-learn-intervals-ref-semi[data-v-a3e6da8a]{color:var(--accent-mid);min-width:.8rem;font-size:.7rem;font-weight:700}.tc-learn-intervals-ref-name[data-v-a3e6da8a]{color:var(--text3)}.tc-learn-intervals-ref-feel[data-v-a3e6da8a]{color:var(--text5);font-size:.65rem;font-style:italic}.tc-learn-intervals-ref-item.consonant[data-v-a3e6da8a]{border-left:2px solid color-mix(in srgb, var(--good) 50%, transparent)}.tc-learn-intervals-ref-item.bright[data-v-a3e6da8a]{border-left:2px solid color-mix(in srgb, var(--accent-hi) 50%, transparent)}.tc-learn-intervals-ref-item.dark[data-v-a3e6da8a]{border-left:2px solid color-mix(in srgb, var(--accent-lo) 60%, transparent)}.tc-learn-intervals-ref-item.tense[data-v-a3e6da8a]{border-left:2px solid color-mix(in srgb, var(--bad) 50%, transparent)}.tc-learn-intervals-ref-item.highlight .tc-learn-intervals-ref-semi[data-v-a3e6da8a]{color:var(--accent)}.tc-learn-intervals-ref-item.highlight .tc-learn-intervals-ref-name[data-v-a3e6da8a]{color:var(--text2)}.tc-learn-intervals-ref-item.highlight .tc-learn-intervals-ref-feel[data-v-a3e6da8a]{color:var(--accent-mid)}.tc-learn-scales-tabs[data-v-6e4f59bc]{flex-wrap:wrap;gap:.35rem;display:flex}.tc-learn-scales-tab[data-v-6e4f59bc]{border:1px solid var(--border2);color:var(--text3);cursor:pointer;background:0 0;border-radius:5px;padding:.35rem .7rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .12s,color .12s,border-color .12s}.tc-learn-scales-tab[data-v-6e4f59bc]:hover{background:var(--raised);color:var(--text2)}.tc-learn-scales-tab.active[data-v-6e4f59bc]{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.tc-learn-scales-display-legend[data-v-6e4f59bc]{align-items:center;gap:.75rem;display:flex}.tc-learn-scales-sdl-item[data-v-6e4f59bc]{color:var(--text4);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.35rem;font-size:.7rem;font-weight:600;display:flex}.tc-learn-scales-sdl-item[data-v-6e4f59bc]:before{content:"";border-radius:3px;flex-shrink:0;width:.75rem;height:.75rem}.tc-learn-scales-sdl-root[data-v-6e4f59bc]:before{background:var(--accent-bg);border:1px solid var(--accent)}.tc-learn-scales-sdl-scale[data-v-6e4f59bc]:before{background:var(--raised);border:1px solid var(--border2)}.tc-learn-scales-display[data-v-6e4f59bc]{flex-wrap:wrap;gap:.4rem;display:flex}.tc-learn-scales-tile[data-v-6e4f59bc]{border:1px solid var(--border);background:var(--input);min-width:2.8rem;color:var(--text5);text-align:center;-webkit-user-select:none;user-select:none;touch-action:none;cursor:pointer;border-radius:8px;padding:.6rem .4rem;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.tc-learn-scales-tile.active[data-v-6e4f59bc]{background:var(--raised);border-color:var(--border2);color:var(--text2)}.tc-learn-scales-tile.root[data-v-6e4f59bc]{background:var(--accent-bg);border-color:var(--accent);color:var(--accent);font-size:.9rem}.tc-learn-scales-tile.sharp[data-v-6e4f59bc]{font-size:.75rem}.tc-learn-scales-tile.active.sharp[data-v-6e4f59bc]{color:var(--text3)}.tc-learn-scales-tile.root.sharp[data-v-6e4f59bc]{color:var(--accent);font-size:.82rem}.tc-learn-scales-tile.playing[data-v-6e4f59bc]{border-color:var(--accent);background:var(--selected);color:var(--accent-hi);box-shadow:0 0 8px var(--accent-glow)}.tc-learn-scales-meta[data-v-6e4f59bc]{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.tc-learn-scales-name[data-v-6e4f59bc]{color:var(--accent);letter-spacing:.02em;font-size:.95rem;font-weight:700}.tc-learn-scales-feel[data-v-6e4f59bc]{color:var(--text3);flex:1;font-size:.85rem}.tc-learn-scales-steps[data-v-6e4f59bc]{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.tc-learn-scales-step-chip[data-v-6e4f59bc]{letter-spacing:.02em;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;min-width:2rem;padding:.2rem .4rem;font-size:.72rem;font-weight:700;display:inline-flex}.tc-learn-scales-step-chip.half[data-v-6e4f59bc]{background:color-mix(in srgb, var(--rust) 15%, var(--input));border-color:color-mix(in srgb, var(--rust) 40%, transparent);color:var(--rust)}.tc-learn-scales-step-chip.whole[data-v-6e4f59bc]{background:color-mix(in srgb, var(--accent-lo) 15%, var(--input));border-color:color-mix(in srgb, var(--accent-lo) 40%, transparent);color:var(--accent-lo)}.tc-learn-scales-step-chip.wh[data-v-6e4f59bc]{background:color-mix(in srgb, var(--accent-mid) 15%, var(--input));border-color:color-mix(in srgb, var(--accent-mid) 40%, transparent);color:var(--accent-mid)}.tc-learn-progs-section-label[data-v-ef7d1be5]{color:var(--accent);text-transform:uppercase;letter-spacing:.07em;margin-bottom:-.25rem;font-size:.7rem;font-weight:700}.tc-learn-progs-diatonic-row[data-v-ef7d1be5]{flex-wrap:wrap;gap:.4rem;display:flex}.tc-learn-progs-diatonic-chord[data-v-ef7d1be5]{border:1px solid var(--border2);background:var(--raised);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;border-radius:7px;flex-direction:column;align-items:center;gap:.2rem;min-width:3.2rem;padding:.55rem .5rem;font-family:inherit;transition:background .12s,border-color .12s,transform 80ms;display:flex}.tc-learn-progs-diatonic-chord[data-v-ef7d1be5]:hover{background:var(--border)}.tc-learn-progs-diatonic-chord[data-v-ef7d1be5]:active{transform:scale(.94)}.tc-learn-progs-diatonic-chord.highlight[data-v-ef7d1be5]{background:var(--selected);border-color:var(--accent);box-shadow:0 0 6px var(--accent-glow)}.tc-learn-progs-diatonic-chord.playing[data-v-ef7d1be5]{background:var(--accent-bg);border-color:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.tc-learn-progs-diatonic-chord.min[data-v-ef7d1be5]{border-color:var(--border)}.tc-learn-progs-diatonic-chord.dim[data-v-ef7d1be5]{opacity:.7}.tc-learn-progs-dc-roman[data-v-ef7d1be5]{color:var(--text4);letter-spacing:.03em;font-size:.68rem;font-weight:700}.tc-learn-progs-dc-name[data-v-ef7d1be5]{color:var(--accent);font-size:.88rem;font-weight:700;line-height:1}.tc-learn-progs-diatonic-chord.min .tc-learn-progs-dc-name[data-v-ef7d1be5]{color:var(--accent-lo)}.tc-learn-progs-diatonic-chord.dim .tc-learn-progs-dc-name[data-v-ef7d1be5]{color:var(--text3)}.tc-learn-progs-diatonic-chord.highlight .tc-learn-progs-dc-roman[data-v-ef7d1be5]{color:var(--accent-mid)}.tc-learn-progs-diatonic-chord.highlight .tc-learn-progs-dc-name[data-v-ef7d1be5]{color:var(--accent-hi)}.tc-learn-progs-list[data-v-ef7d1be5]{flex-direction:column;gap:.35rem;display:flex}.tc-learn-progs-item[data-v-ef7d1be5]{text-align:left;width:100%;font-family:inherit}.tc-learn-progs-top[data-v-ef7d1be5]{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.tc-learn-progs-name[data-v-ef7d1be5]{color:var(--accent);letter-spacing:.02em;font-size:.9rem;font-weight:700}.tc-learn-progs-feel[data-v-ef7d1be5]{color:var(--text4);font-size:.78rem}.tc-learn-progs-bottom[data-v-ef7d1be5]{flex-direction:column;gap:.35rem;margin-top:.5rem;display:flex}.tc-learn-progs-chords[data-v-ef7d1be5]{flex-wrap:wrap;gap:.35rem;display:flex}.tc-learn-progs-chord-pill[data-v-ef7d1be5]{background:var(--input);color:var(--accent);border:1px solid var(--border2);border-radius:4px;padding:.2rem .55rem;font-size:.82rem;font-weight:700}.tc-learn-progs-chord-pill.min[data-v-ef7d1be5]{color:var(--accent-lo)}.tc-learn-progs-chord-pill.dim[data-v-ef7d1be5]{color:var(--text3)}.tc-learn-progs-chord-pill.playing[data-v-ef7d1be5]{background:var(--selected);border-color:var(--accent);color:var(--accent-hi);box-shadow:0 0 6px var(--accent-glow)}.tc-learn-progs-songs[data-v-ef7d1be5]{color:var(--text4);letter-spacing:.02em;font-size:.76rem}.tc-learn-progs-jam-btn[data-v-ef7d1be5]{align-self:flex-start;margin-top:.25rem}@media (width<=600px){.tc-learn-progs-diatonic-row[data-v-ef7d1be5]{gap:.3rem}.tc-learn-progs-diatonic-chord[data-v-ef7d1be5]{min-width:2.6rem;padding:.45rem .35rem}}.tc-chord-card-grid[data-v-6346968b]{flex-direction:column;gap:3px;margin:.25rem 0;display:flex}.tc-chord-card-row[data-v-6346968b]{gap:3px;display:grid}.tc-chord-card-pad[data-v-6346968b]{border:1px solid var(--raised);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:36px;height:36px;transition:background .12s;display:flex}.tc-chord-card-pad.inactive[data-v-6346968b]{background:var(--bg);opacity:.3}.tc-chord-card-pad.active[data-v-6346968b]{background:var(--raised);border-color:var(--accent-mid)}.tc-chord-card-pad.root[data-v-6346968b]{background:var(--rust-bg);border-color:var(--rust)}.tc-chord-card-label[data-v-6346968b]{color:var(--text5);font-size:.6rem;font-weight:700;line-height:1}.tc-chord-card-pad.active .tc-chord-card-label[data-v-6346968b]{color:var(--accent-dim)}.tc-chord-card-pad.root .tc-chord-card-label[data-v-6346968b]{color:var(--rust)}.tc-chord-card-note[data-v-6346968b]{color:var(--accent);font-size:.62rem;font-weight:700;line-height:1}.tc-chord-card-pad.root .tc-chord-card-note[data-v-6346968b]{color:var(--rust-hi)}.tc-chord-card-press-labels[data-v-6346968b]{flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;display:flex}.tc-chord-card-press-hint[data-v-6346968b]{color:var(--text5);margin-right:2px;font-size:.65rem}.tc-chord-card-press-badge[data-v-6346968b]{background:var(--raised);border:1px solid var(--border2);color:var(--accent);border-radius:3px;padding:1px 5px;font-size:.7rem;font-weight:700}.note-badges[data-v-6346968b]{flex-wrap:wrap;justify-content:center;gap:4px;margin:.25rem 0;display:flex}.note-badge[data-v-6346968b]{background:var(--raised);border:1px solid var(--border2);color:var(--accent);border-radius:4px;padding:.2rem .45rem;font-size:.78rem;font-weight:700}.note-badge.root[data-v-6346968b]{background:var(--rust-bg);border-color:var(--rust);color:var(--rust-hi)}@media (width<=600px){.tc-chord-card-pad[data-v-6346968b]{width:30px;height:30px}}.picker-row[data-v-7f899b66]{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.picker-label[data-v-7f899b66]{color:var(--accent);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;font-size:.72rem;font-weight:700}.tc-learn-chords-list[data-v-7f899b66]{flex-direction:column;gap:.6rem;display:flex}.tc-learn-chords-card[data-v-7f899b66]{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex-direction:column;gap:.6rem;transition:border-color .15s,background .15s;display:flex}.tc-learn-chords-card.active[data-v-7f899b66]{border-color:var(--accent-mid);background:var(--accent-bg)}.tc-learn-chords-main[data-v-7f899b66]{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.tc-learn-chords-text[data-v-7f899b66]{flex-direction:column;flex:1;gap:.2rem;display:flex}.tc-learn-chords-name[data-v-7f899b66]{color:var(--accent);letter-spacing:.02em;font-size:.92rem;font-weight:700}.tc-learn-chords-def[data-v-7f899b66]{color:var(--text3);font-size:.82rem;line-height:1.5}.tc-learn-chords-tap-hint[data-v-7f899b66]{color:var(--text5);letter-spacing:.03em;flex-shrink:0;padding-top:.15rem;font-size:.68rem;font-weight:600}.tc-learn-chords-intervals[data-v-7f899b66]{flex-wrap:wrap;gap:.3rem;display:flex}.tc-learn-chords-interval-pill[data-v-7f899b66]{color:var(--accent-mid);background:var(--input);border:1px solid var(--border);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:4px;padding:.2rem .55rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:background .1s,border-color .1s,color .1s}.tc-learn-chords-interval-pill[data-v-7f899b66]:hover{background:var(--raised);border-color:var(--accent-mid);color:var(--accent)}.tc-learn-chords-display[data-v-7f899b66]{background:var(--raised);border:1px solid var(--border2);border-radius:10px;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1rem;display:flex}.tc-learn-chords-cta[data-v-7f899b66]{border:1px dashed var(--border2);color:var(--text3);border-radius:8px;padding:.7rem 1rem;font-size:.83rem}.tc-learn-chords-cta strong[data-v-7f899b66]{color:var(--accent)}.tc-learn-improv-cheat-box[data-v-cfa0d6ae]{border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface2));border-radius:10px;flex-direction:column;gap:.4rem;padding:.85rem 1rem;display:flex}.tc-learn-improv-cheat-label[data-v-cfa0d6ae]{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-size:.68rem;font-weight:700}.tc-learn-improv-cheat-text[data-v-cfa0d6ae]{color:var(--text2);margin:0;font-size:.85rem;line-height:1.55}.tc-learn-improv-cheat-text strong[data-v-cfa0d6ae]{color:var(--accent)}.tc-learn-improv-list[data-v-cfa0d6ae]{flex-direction:column;gap:.5rem;display:flex}.tc-learn-improv-item[data-v-cfa0d6ae]{cursor:pointer;flex-direction:column;gap:.5rem;transition:border-color .15s;display:flex}.tc-learn-improv-item.open[data-v-cfa0d6ae]{border-color:var(--accent-mid)}.tc-learn-improv-item-header[data-v-cfa0d6ae]{flex-wrap:wrap;align-items:flex-start;gap:.75rem;display:flex}.tc-learn-improv-chord-name[data-v-cfa0d6ae]{color:var(--accent);letter-spacing:.02em;white-space:nowrap;font-size:.82rem;font-weight:700}.tc-learn-improv-scales[data-v-cfa0d6ae]{flex-wrap:wrap;flex:1;gap:.35rem;display:flex}.tc-learn-improv-scale-pill[data-v-cfa0d6ae]{border:1px solid var(--border2);background:var(--input);border-radius:6px;flex-direction:column;gap:.05rem;padding:.3rem .6rem;display:flex}.tc-learn-improv-isp-name[data-v-cfa0d6ae]{color:var(--text2);font-size:.78rem;font-weight:600}.tc-learn-improv-isp-desc[data-v-cfa0d6ae]{color:var(--text4);font-size:.68rem}.tc-learn-improv-toggle[data-v-cfa0d6ae]{color:var(--text4);flex-shrink:0;padding-top:.15rem;font-size:.65rem}.tc-learn-improv-demo[data-v-cfa0d6ae]{border-top:1px solid var(--border);flex-direction:column;gap:.65rem;padding-top:.4rem;display:flex}.tc-learn-improv-demo-hint[data-v-cfa0d6ae]{color:var(--text4);font-size:.75rem}.tc-learn-improv-ie-columns[data-v-cfa0d6ae]{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.tc-learn-improv-ie-col[data-v-cfa0d6ae]{flex-direction:column;gap:.4rem;display:flex}.tc-learn-improv-ie-col-label[data-v-cfa0d6ae]{letter-spacing:.07em;text-transform:uppercase;padding-bottom:.25rem;font-size:.72rem;font-weight:700}.tc-learn-improv-ie-col-label.good[data-v-cfa0d6ae]{color:var(--good)}.tc-learn-improv-ie-col-label.bad[data-v-cfa0d6ae]{color:var(--bad)}.tc-learn-improv-ie-note-btn[data-v-cfa0d6ae]{border:1px solid var(--border2);background:var(--input);text-align:left;cursor:pointer;border-radius:7px;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.45rem .65rem;font-family:inherit;transition:border-color .12s,background .12s;display:flex}.tc-learn-improv-ie-note-btn[data-v-cfa0d6ae]:hover{background:var(--surface)}.tc-learn-improv-ie-note-btn.good[data-v-cfa0d6ae]{border-left:3px solid var(--good-dim)}.tc-learn-improv-ie-note-btn.bad[data-v-cfa0d6ae]{border-left:3px solid var(--bad-dim)}.tc-learn-improv-ie-note-btn.good[data-v-cfa0d6ae]:hover{border-color:var(--good);border-left-color:var(--good)}.tc-learn-improv-ie-note-btn.bad[data-v-cfa0d6ae]:hover{border-color:var(--bad);border-left-color:var(--bad)}.tc-learn-improv-ie-note-name[data-v-cfa0d6ae]{color:var(--text);font-size:.9rem;font-weight:700}.tc-learn-improv-ie-note-why[data-v-cfa0d6ae]{color:var(--text4);font-size:.74rem;line-height:1.3}.tc-learn-beats-recipe[data-v-66673df5]{background:var(--raised);border:1px solid var(--border2);border-radius:10px;flex-direction:column;gap:.75rem;padding:1rem 1.1rem;display:flex}.tc-learn-beats-recipe-title[data-v-66673df5]{color:var(--accent);text-transform:uppercase;letter-spacing:.07em;font-size:.72rem;font-weight:700}.tc-learn-beats-recipe-steps[data-v-66673df5]{flex-direction:column;gap:.65rem;display:flex}.tc-learn-beats-br-step[data-v-66673df5]{color:var(--text2);align-items:flex-start;gap:.65rem;font-size:.84rem;line-height:1.5;display:flex}.tc-learn-beats-br-step strong[data-v-66673df5]{color:var(--accent);font-weight:600}.tc-learn-beats-patterns[data-v-66673df5]{flex-direction:column;gap:1.1rem;display:flex}.tc-learn-beats-pattern[data-v-66673df5]{flex-direction:column;gap:.65rem;display:flex}.tc-learn-beats-bp-header[data-v-66673df5]{flex-direction:column;gap:.2rem;display:flex}.tc-learn-beats-bp-header-top[data-v-66673df5]{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.tc-learn-beats-bp-btn-group[data-v-66673df5]{flex-shrink:0;gap:.4rem;display:flex}.tc-learn-beats-bp-name[data-v-66673df5]{color:var(--accent);letter-spacing:.02em;font-size:.85rem;font-weight:700}.tc-learn-beats-bp-desc[data-v-66673df5]{color:var(--text3);font-size:.78rem;line-height:1.45}.tc-learn-beats-bp-grid[data-v-66673df5]{-webkit-overflow-scrolling:touch;flex-direction:column;gap:.25rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.tc-learn-beats-bp-beat-nums[data-v-66673df5],.tc-learn-beats-bp-row[data-v-66673df5]{grid-template-columns:4rem repeat(16,1fr);gap:.15rem;min-width:360px;display:grid}.tc-learn-beats-bp-beat-num[data-v-66673df5]{color:var(--accent-mid);text-align:center;grid-column:span 4;padding:.1rem 0;font-size:.6rem;font-weight:700}.tc-learn-beats-bp-inst[data-v-66673df5]{color:var(--text4);align-items:center;font-size:.72rem;font-weight:600;display:flex}.tc-learn-beats-bp-cell[data-v-66673df5]{background:var(--input);border:1px solid var(--border);border-radius:3px;height:1.5rem;transition:background .1s}.tc-learn-beats-bp-cell.beat-1[data-v-66673df5]{border-left:2px solid var(--border2)}.tc-learn-beats-bp-cell.on[data-v-66673df5]{background:var(--accent-bg);border-color:var(--accent-mid)}.tc-learn-beats-bp-cell.on.beat-1[data-v-66673df5]{border-left-color:var(--accent);background:var(--accent-bg)}.tc-learn-beats-bp-cell.current[data-v-66673df5]{border-color:var(--accent);background:var(--border2)}.tc-learn-beats-bp-cell.on.current[data-v-66673df5]{background:var(--accent);border-color:var(--accent)}.tc-learn-song-concepts[data-v-367666f6]{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.tc-learn-song-concept-card[data-v-367666f6]{border:1px solid var(--border2);background:var(--raised);border-radius:8px;flex-direction:column;gap:.3rem;padding:.7rem .8rem;display:flex}.tc-learn-song-concept-label[data-v-367666f6]{text-transform:uppercase;letter-spacing:.07em;color:var(--accent-lo);font-size:.72rem;font-weight:700}.tc-learn-song-concept-label.chorus[data-v-367666f6]{color:var(--accent-hi)}.tc-learn-song-concept-label.bridge[data-v-367666f6]{color:var(--accent)}.tc-learn-song-concept-desc[data-v-367666f6]{color:var(--text3);font-size:.77rem;line-height:1.45}.picker-row[data-v-367666f6]{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.picker-label[data-v-367666f6]{color:var(--accent);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;font-size:.72rem;font-weight:700}.tc-learn-song-templates[data-v-367666f6]{flex-direction:column;gap:1.1rem;display:flex}.tc-learn-song-tmpl-card[data-v-367666f6]{flex-direction:column;gap:.75rem;display:flex}.tc-learn-song-tmpl-header[data-v-367666f6]{flex-direction:column;gap:.2rem;display:flex}.tc-learn-song-tmpl-name[data-v-367666f6]{color:var(--accent);letter-spacing:.02em;font-size:.88rem;font-weight:700}.tc-learn-song-tmpl-desc[data-v-367666f6]{color:var(--text3);font-size:.78rem;line-height:1.4}.tc-learn-song-tmpl-sections[data-v-367666f6]{flex-direction:column;gap:.4rem;display:flex}.tc-learn-song-section-btn[data-v-367666f6]{border:1px solid var(--border2);background:var(--input);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:7px;flex-direction:column;gap:.45rem;padding:.6rem .75rem;font-family:inherit;transition:border-color .12s,background .12s;display:flex}.tc-learn-song-section-btn[data-v-367666f6]:hover{border-color:var(--accent-mid)}.tc-learn-song-section-btn.active[data-v-367666f6]{border-color:var(--accent);background:var(--accent-bg)}.tc-learn-song-sec-top[data-v-367666f6]{flex-wrap:wrap;align-items:baseline;gap:.6rem;display:flex}.tc-learn-song-sec-label[data-v-367666f6]{color:var(--text2);font-size:.8rem;font-weight:700}.tc-learn-song-section-btn.active .tc-learn-song-sec-label[data-v-367666f6]{color:var(--accent)}.tc-learn-song-sec-role[data-v-367666f6]{color:var(--text4);font-size:.74rem}.tc-learn-song-sec-chords[data-v-367666f6]{flex-wrap:wrap;gap:.3rem;display:flex}.tc-learn-song-sec-chord-pill[data-v-367666f6]{background:var(--raised);border:1px solid var(--border2);border-radius:5px;flex-direction:column;align-items:center;gap:.05rem;padding:.2rem .45rem;transition:background .1s,border-color .1s;display:flex}.tc-learn-song-sec-chord-pill.playing[data-v-367666f6]{background:var(--selected);border-color:var(--accent);box-shadow:0 0 6px var(--accent-glow)}.tc-learn-song-scp-roman[data-v-367666f6]{color:var(--text5);letter-spacing:.03em;font-size:.6rem;font-weight:700}.tc-learn-song-scp-name[data-v-367666f6]{color:var(--accent);font-size:.82rem;font-weight:700}.tc-learn-song-sec-chord-pill.min .tc-learn-song-scp-name[data-v-367666f6]{color:var(--accent-lo)}.tc-learn-song-sec-chord-pill.dim .tc-learn-song-scp-name[data-v-367666f6]{color:var(--text3)}.tc-learn-song-sec-chord-pill.playing .tc-learn-song-scp-name[data-v-367666f6]{color:var(--accent-hi)}.tc-learn-song-cta-row[data-v-367666f6]{flex-direction:column;gap:.5rem;display:flex}.tc-learn-song-cta-label[data-v-367666f6]{text-transform:uppercase;letter-spacing:.08em;color:var(--text4);font-size:.68rem;font-weight:700}.tc-learn-song-cta-btns[data-v-367666f6]{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=500px){.tc-learn-song-concepts[data-v-367666f6]{grid-template-columns:1fr}.tc-learn-song-cta-btns .btn[data-v-367666f6]{flex:1}}.tc-learn-jam-setup-step[data-v-960a0aaf]{align-items:center;gap:.6rem;margin-top:1rem;margin-bottom:.5rem;display:flex}.tc-learn-jam-setup-num[data-v-960a0aaf]{background:var(--accent);width:1.5rem;height:1.5rem;color:var(--on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.tc-learn-jam-setup-label[data-v-960a0aaf]{color:var(--text);font-size:.88rem;font-weight:700}.tc-learn-jam-starter-pills[data-v-960a0aaf]{flex-wrap:wrap;gap:.4rem;display:flex}.tc-learn-jam-starter-pill[data-v-960a0aaf]{border:1px solid var(--border2);background:var(--input);cursor:pointer;text-align:left;border-radius:7px;flex-direction:column;gap:.15rem;padding:.5rem .75rem;font-family:inherit;transition:border-color .12s,background .12s;display:flex}.tc-learn-jam-starter-pill[data-v-960a0aaf]:hover{border-color:var(--accent-mid)}.tc-learn-jam-starter-pill.active[data-v-960a0aaf]{border-color:var(--accent);background:var(--accent-bg)}.tc-learn-jam-sp-label[data-v-960a0aaf]{color:var(--text2);font-size:.82rem;font-weight:600}.tc-learn-jam-starter-pill.active .tc-learn-jam-sp-label[data-v-960a0aaf]{color:var(--accent)}.tc-learn-jam-sp-numeral[data-v-960a0aaf]{color:var(--text4);font-size:.72rem}.tc-learn-jam-bpm-row[data-v-960a0aaf]{align-items:center;gap:.75rem;display:flex}.tc-learn-jam-bpm-slider[data-v-960a0aaf]{accent-color:var(--accent);flex:1}.tc-learn-jam-bpm-val[data-v-960a0aaf]{color:var(--text2);text-align:right;min-width:5rem;font-size:.85rem;font-weight:700}.tc-learn-jam-tips[data-v-960a0aaf]{border:1px solid var(--border2);background:var(--raised);border-radius:8px;flex-direction:column;gap:.5rem;padding:.85rem 1rem;display:flex}.tc-learn-jam-tips-label[data-v-960a0aaf]{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:.68rem;font-weight:700}.tc-learn-jam-tips-list[data-v-960a0aaf]{color:var(--text3);flex-direction:column;gap:.25rem;margin:0;padding-left:1.1rem;font-size:.83rem;line-height:1.5;display:flex}.tc-learn-jam-launch[data-v-960a0aaf]{padding:.75rem;font-size:1rem}.tc-learn-jam-launch[data-v-960a0aaf]:disabled{opacity:.4;cursor:not-allowed}.tc-step-footer[data-v-80af0627]{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding-top:.25rem;display:flex}.tc-step-footer-counter[data-v-80af0627]{color:var(--text4);letter-spacing:.05em;font-size:.78rem}.tc-step-footer-nav-btn[data-v-80af0627]{align-items:center;gap:.25rem;display:flex}.tc-learn[data-v-f889a1ac]{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}@media (width<=600px){.tc-learn[data-v-f889a1ac]{gap:1rem;padding:1rem}}.tc-landing[data-v-ad76ecc1]{flex-direction:column;display:flex}.tc-landing-hero[data-v-ad76ecc1]{text-align:center;flex-direction:column;gap:.75rem;width:100%;max-width:560px;margin:0 auto;padding:clamp(1.25rem,5vh,3rem) 1.5rem 0;display:flex}.tc-landing-slogan[data-v-ad76ecc1]{letter-spacing:-.01em;color:var(--text);font-size:clamp(2.2rem,8vw,3.6rem);font-weight:800;line-height:1.1}.tc-landing-sub[data-v-ad76ecc1]{color:var(--text3);letter-spacing:.01em;font-size:clamp(.95rem,3vw,1.15rem);font-weight:500}.tc-landing-ctas[data-v-ad76ecc1]{grid-template-columns:1fr 1fr;gap:.75rem;width:100%;max-width:560px;margin:0 auto;padding:clamp(1rem,3vh,2rem) 1.5rem clamp(2rem,5vh,4rem);display:grid}.tc-landing-btn-icon[data-v-ad76ecc1]{color:var(--text3);margin-bottom:.35rem}.tc-landing-btn--jam .tc-landing-btn-icon[data-v-ad76ecc1]{color:var(--accent)}.tc-landing-btn[data-v-ad76ecc1]{border:1.5px solid var(--border2);background:var(--surface);cursor:pointer;text-align:left;border-radius:14px;flex-direction:column;align-items:flex-start;gap:.2rem;padding:1rem 1.25rem;font-family:inherit;transition:border-color .15s,background .15s,transform .1s;display:flex}.tc-landing-btn[data-v-ad76ecc1]:hover{transform:translateY(-2px)}.tc-landing-btn[data-v-ad76ecc1]:active{transform:translateY(0)}.tc-landing-btn--jam[data-v-ad76ecc1]{border-color:var(--accent-mid);background:var(--accent-bg)}.tc-landing-btn--jam[data-v-ad76ecc1]:hover{border-color:var(--accent);background:var(--selected)}.tc-landing-btn--learn[data-v-ad76ecc1]:hover{border-color:var(--accent-dim)}.tc-landing-btn-label[data-v-ad76ecc1]{color:var(--text);letter-spacing:-.01em;font-size:clamp(1.1rem,4vw,1.45rem);font-weight:800;line-height:1}.tc-landing-btn--jam .tc-landing-btn-label[data-v-ad76ecc1]{color:var(--accent-hi)}.tc-landing-btn-desc[data-v-ad76ecc1]{color:var(--text3);font-size:.85rem;font-weight:500}.tc-landing-tool-btn[data-v-ad76ecc1]{border:1px solid var(--border2);background:var(--surface);color:var(--text2);cursor:pointer;border-radius:10px;align-items:center;gap:.5rem;padding:.9rem 1.1rem;font-family:inherit;font-size:.88rem;font-weight:600;transition:border-color .15s,color .15s,transform .1s;display:flex}.tc-landing-tool-btn[data-v-ad76ecc1]:hover{border-color:var(--accent-dim);color:var(--text);transform:translateY(-1px)}.tc-landing-tool-btn[data-v-ad76ecc1]:active{transform:translateY(0)}@media (orientation:landscape) and (height<=500px){.tc-landing-hero[data-v-ad76ecc1]{padding-top:1.5rem}.tc-landing-ctas[data-v-ad76ecc1]{padding-bottom:2rem}}.tc-root-picker[data-v-730b1489]{flex-wrap:wrap;gap:.35rem;display:flex}.tc-root-picker-btn[data-v-730b1489]{border:1px solid var(--border2);background:var(--input);color:var(--text2);cursor:pointer;text-align:center;border-radius:5px;min-width:2.4rem;padding:.3rem .6rem;font-size:.85rem;font-weight:600;transition:background .12s,border-color .12s,color .12s}.tc-root-picker-btn.sharp[data-v-730b1489]{background:var(--sharp);color:var(--text3)}.tc-root-picker-btn[data-v-730b1489]:hover{border-color:var(--accent);color:var(--text)}.tc-root-picker-btn.active[data-v-730b1489]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}@media (orientation:landscape) and (height<=500px){.tc-root-picker-btn[data-v-730b1489]{min-width:2rem;padding:.2rem .4rem;font-size:.75rem}}.tc-scale-viz-controls[data-v-d391b71d]{flex-direction:column;gap:1.2rem;margin:1.5rem 0;display:flex}.tc-scale-viz-control-group[data-v-d391b71d]{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.tc-scale-viz-control-group label[data-v-d391b71d]{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;min-width:5rem;font-size:.8rem;font-weight:600}.tc-scale-viz-scale-select-row[data-v-d391b71d]{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.tc-scale-viz-info-btn[data-v-d391b71d]{border:1px solid var(--border2);background:var(--input);width:1.6rem;height:1.6rem;color:var(--text3);cursor:pointer;border-radius:50%;flex-shrink:0;font-size:.8rem;font-style:italic;font-weight:700;line-height:1;transition:background .12s,border-color .12s,color .12s}.tc-scale-viz-info-btn[data-v-d391b71d]:hover{border-color:var(--accent);color:var(--text)}.tc-scale-viz-info-btn.active[data-v-d391b71d]{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.tc-scale-viz-scale-info[data-v-d391b71d]{width:100%;margin-top:.6rem}select[data-v-d391b71d]{background:var(--input);border:1px solid var(--border2);color:var(--text);cursor:pointer;border-radius:6px;outline:none;max-width:100%;padding:.4rem .8rem;font-size:.9rem}select[data-v-d391b71d]:focus{border-color:var(--accent)}.tc-scale-viz-pad[data-v-d391b71d]{border:1px solid var(--border);aspect-ratio:1;-webkit-user-select:none;user-select:none;touch-action:none;cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;padding:.75rem .5rem;transition:background .15s,border-color .15s;display:flex}.tc-scale-viz-pad.inactive[data-v-d391b71d]{background:var(--bg);opacity:.35}.tc-scale-viz-pad.active[data-v-d391b71d]{background:var(--raised);border-color:var(--accent-mid)}.tc-scale-viz-pad.root[data-v-d391b71d]{background:var(--rust-bg);border-color:var(--rust)}.tc-scale-viz-pad-label[data-v-d391b71d]{color:var(--text4);letter-spacing:.1em;font-size:.7rem;font-weight:600}.tc-scale-viz-pad-note[data-v-d391b71d]{font-size:1.5rem;font-weight:700;line-height:1}.tc-scale-viz-pad.inactive .tc-scale-viz-pad-note[data-v-d391b71d]{color:var(--text5)}.tc-scale-viz-pad.active .tc-scale-viz-pad-note[data-v-d391b71d]{color:var(--accent)}.tc-scale-viz-pad.root .tc-scale-viz-pad-note[data-v-d391b71d]{color:var(--rust-hi)}.tc-scale-viz-pad-degree[data-v-d391b71d]{color:var(--accent-dim);font-size:.72rem}.tc-scale-viz-pad.root .tc-scale-viz-pad-degree[data-v-d391b71d]{color:var(--rust)}.tc-scale-viz-neck-dot[data-v-d391b71d]{background:var(--dot-scale)}.tc-scale-viz-neck-dot.root[data-v-d391b71d]{background:var(--dot-root);box-shadow:0 0 5px var(--rust-glow)}@media (width<=600px){.tc-scale-viz-control-group[data-v-d391b71d]{flex-direction:column;align-items:flex-start;gap:.5rem}.tc-scale-viz-control-group label[data-v-d391b71d]{min-width:unset}.tc-scale-viz-pad-note[data-v-d391b71d]{font-size:1.2rem}}@media (orientation:landscape) and (height<=500px){.tc-scale-viz-controls[data-v-d391b71d]{gap:.5rem;margin:.5rem 0}.tc-scale-viz-control-group[data-v-d391b71d]{flex-flow:row;align-items:center;gap:.5rem}.tc-scale-viz-control-group label[data-v-d391b71d]{min-width:unset;white-space:nowrap}}.tc-prog-card[data-v-2c11902f]{border:1px solid var(--border);background:var(--input);border-radius:8px;transition:border-color .15s;overflow:hidden}.tc-prog-card[data-v-2c11902f]:hover{border-color:var(--accent-mid)}.tc-prog-card.playing[data-v-2c11902f]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}.tc-prog-card-header[data-v-2c11902f]{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .75rem;display:flex}.tc-prog-card-meta[data-v-2c11902f]{flex-direction:column;gap:.1rem;min-width:0;display:flex}.tc-prog-card-label[data-v-2c11902f]{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.tc-prog-card.playing .tc-prog-card-label[data-v-2c11902f]{color:var(--accent)}.tc-prog-card-numeral[data-v-2c11902f]{color:var(--text3);font-variant-numeric:tabular-nums;font-size:.78rem}.tc-prog-card-controls[data-v-2c11902f]{flex-shrink:0;align-items:center;gap:.3rem;display:flex}.tc-prog-card-body[data-v-2c11902f]{border-top:1px solid var(--border3);padding:.5rem .75rem .65rem}.tc-prog-card-examples[data-v-2c11902f]{color:var(--text3);margin-bottom:.5rem;font-size:.78rem;font-style:italic}.tc-prog-card-chords[data-v-2c11902f]{flex-wrap:wrap;gap:.3rem;display:flex}.tc-prog-card-jam-btn[data-v-2c11902f]{letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.25rem;font-size:.68rem;font-weight:700;display:flex}.tc-prog-card-chord-pill[data-v-2c11902f]{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent-dim);border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);border-radius:4px;padding:.15rem .45rem;font-size:.72rem;font-weight:700}.tc-prog-section[data-v-a32ca424]{margin-bottom:1.25rem}.tc-prog-section-title[data-v-a32ca424]{text-transform:uppercase;letter-spacing:.07em;color:var(--text3);margin-bottom:.5rem;padding:0 .1rem;font-size:.78rem;font-weight:700}.tc-prog-section-list[data-v-a32ca424]{flex-direction:column;gap:.35rem;display:flex}.tc-prog-section-show-more[data-v-a32ca424]{color:var(--text3);margin-top:.4rem}.tc-progressions-controls[data-v-4fec131e]{flex-direction:column;gap:1.2rem;margin:1.5rem 0 1.25rem;display:flex}.tc-progressions-prog-examples[data-v-4fec131e]{color:var(--text3);margin:1.5rem 0 1rem;padding:0 .1rem;font-size:.82rem;font-style:italic}.tc-progressions-midi-toolbar[data-v-4fec131e]{background:var(--raised);border:1px solid var(--border2);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:1rem;padding:.4rem .75rem;font-size:.82rem;display:flex}.tc-progressions-midi-val[data-v-4fec131e]{text-align:center;min-width:1.2rem;color:var(--text);font-weight:700}.tc-progressions-midi-divider[data-v-4fec131e]{background:var(--border2);flex-shrink:0;width:1px;height:1.2rem;margin:0 .2rem}.tc-progressions-bpm-input[data-v-4fec131e]{background:var(--input);border:1px solid var(--border2);width:3.5rem;color:var(--text);text-align:center;border-radius:4px;outline:none;padding:.2rem .3rem;font-size:.82rem}.tc-progressions-bpm-input[data-v-4fec131e]:focus{border-color:var(--accent)}.tc-progressions-play-btn[data-v-4fec131e]{letter-spacing:.05em;text-transform:uppercase}.tc-progressions-chord-row[data-v-4fec131e]{flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem;display:flex}.tc-progressions-chord-row.piano-mode[data-v-4fec131e]{flex-direction:column;gap:.5rem}.tc-progressions-chord-card[data-v-4fec131e]{background:var(--input);border:1px solid var(--border);cursor:default;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:8px;flex-direction:column;flex:120px;align-items:center;gap:.4rem;max-width:160px;padding:.75rem .6rem;transition:border-color .15s,box-shadow .15s,background .15s;display:flex;position:relative}.tc-progressions-chord-card.piano-mode[data-v-4fec131e]{flex-flow:wrap;flex:100%;align-items:center;gap:1rem;max-width:100%;padding:.6rem 2.2rem .6rem 1rem}.tc-progressions-chord-card[data-v-4fec131e]:hover{background:var(--hover);border-color:var(--accent-mid)}.tc-progressions-chord-card.active[data-v-4fec131e]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}.tc-progressions-card-info-btn[data-v-4fec131e]{width:1.4rem;height:1.4rem;min-width:unset;min-height:unset;font-size:.72rem;font-style:italic;font-weight:700;position:absolute;top:.45rem;right:.45rem}.tc-progressions-card-info-btn[data-v-4fec131e]:hover{color:var(--text)}.tc-progressions-solo-info[data-v-4fec131e]{flex-basis:100%;font-size:.78rem}.tc-progressions-solo-scale[data-v-4fec131e]{color:var(--accent);font-weight:700}.tc-progressions-chord-info[data-v-4fec131e]{flex-direction:column;flex-shrink:0;align-items:center;gap:.15rem;display:flex}.tc-progressions-chord-card.piano-mode .tc-progressions-chord-info[data-v-4fec131e]{width:4.5rem}.tc-progressions-chord-body-wrap[data-v-4fec131e]{flex:1;min-width:0}.tc-progressions-chord-numeral[data-v-4fec131e]{color:var(--accent-mid);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem}.tc-progressions-chord-name[data-v-4fec131e]{color:var(--rust);font-size:1.1rem;font-weight:700;line-height:1}@media (width<=600px){.tc-progressions-chord-card[data-v-4fec131e]{flex:calc(50% - .375rem);max-width:calc(50% - .375rem)}}@media (orientation:landscape) and (height<=500px){.tc-progressions-controls[data-v-4fec131e]{margin:.5rem 0}}.tc-detector[data-v-5588ce9d],.tc-detector-body[data-v-5588ce9d]{flex-direction:column;gap:1.5rem;display:flex}.tc-detector-input-col[data-v-5588ce9d]{flex-direction:column;align-items:flex-start;gap:1rem;display:flex}.tc-detector-pad[data-v-5588ce9d]{border:1px solid var(--border2);background:var(--raised);cursor:pointer;aspect-ratio:1;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:.75rem .5rem;transition:background .1s,border-color .1s,transform 80ms;display:flex}.tc-detector-pad[data-v-5588ce9d]:hover{background:var(--border)}.tc-detector-pad[data-v-5588ce9d]:active{transform:scale(.95)}.tc-detector-pad.sharp[data-v-5588ce9d]{background:var(--input);border-color:var(--border)}.tc-detector-pad.sharp[data-v-5588ce9d]:hover{background:var(--border3)}.tc-detector-pad.selected[data-v-5588ce9d]{background:var(--selected);border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.tc-detector-pad.selected.sharp[data-v-5588ce9d]{background:var(--sharp-sel)}.tc-detector-pad-label[data-v-5588ce9d]{color:var(--text4);letter-spacing:.1em;font-size:.65rem;font-weight:600}.tc-detector-pad.selected .tc-detector-pad-label[data-v-5588ce9d]{color:var(--accent-dim)}.tc-detector-pad-note[data-v-5588ce9d]{color:var(--accent);font-size:1.4rem;font-weight:700;line-height:1}.tc-detector-pad.sharp .tc-detector-pad-note[data-v-5588ce9d]{color:var(--accent-lo)}.tc-detector-pad.selected .tc-detector-pad-note[data-v-5588ce9d]{color:var(--accent-hi)}.tc-detector-neck-wrap[data-v-5588ce9d]{overflow-x:auto}.tc-detector-neck[data-v-5588ce9d]{min-width:600px}.tc-detector-neck-row[data-v-5588ce9d]{align-items:stretch}.tc-detector-string-name[data-v-5588ce9d]{justify-content:flex-end;align-items:center;display:flex}.tc-detector-neck-cell[data-v-5588ce9d]{background:var(--input);touch-action:none;border:none;border-right:1px solid var(--border3);-webkit-tap-highlight-color:transparent;height:2.4rem;transition:background .1s}.tc-detector-neck-cell[data-v-5588ce9d]:hover{background:var(--border3)}.tc-detector-neck-cell.sharp[data-v-5588ce9d]{background:var(--sharp)}.tc-detector-neck-cell.sharp[data-v-5588ce9d]:hover{background:var(--border3)}.tc-detector-neck-cell.open[data-v-5588ce9d]{border-right:3px solid var(--border2);background:var(--surface)}.tc-detector-neck-cell.open[data-v-5588ce9d]:hover{background:var(--raised)}.tc-detector-neck-cell.selected[data-v-5588ce9d]{background:var(--selected)}.tc-detector-neck-cell.selected.sharp[data-v-5588ce9d]{background:var(--sharp-sel)}.tc-detector-neck-dot[data-v-5588ce9d]{background:var(--accent);box-shadow:0 0 4px var(--accent-glow)}.tc-detector-neck-note[data-v-5588ce9d]{color:var(--border);pointer-events:none;font-size:.6rem;font-weight:600}.tc-detector-neck-cell.open .tc-detector-neck-note[data-v-5588ce9d]{color:var(--text5)}.tc-detector-fret-numbers[data-v-5588ce9d]{margin-top:.25rem}.tc-detector-clear-btn[data-v-5588ce9d]{letter-spacing:.05em;align-self:flex-start}.tc-detector-result[data-v-5588ce9d]{border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:.4rem;min-height:100px;padding-top:1.5rem;display:flex}@media (width>=600px){.tc-detector-body[data-v-5588ce9d]{flex-direction:row;align-items:flex-start;gap:2rem}.tc-detector-input-col[data-v-5588ce9d]{flex-shrink:0}.tc-detector-result[data-v-5588ce9d]{border-top:none;border-left:1px solid var(--border);flex:1;min-height:0;padding-top:0;padding-left:2rem}}.tc-detector-result.empty[data-v-5588ce9d]{opacity:.4}.tc-detector-hint[data-v-5588ce9d]{color:var(--text4);margin-top:.5rem;font-size:.9rem}.tc-detector-chord-name[data-v-5588ce9d]{color:var(--accent);letter-spacing:.03em;font-size:clamp(2.5rem,12vw,4rem);font-weight:700;line-height:1}.tc-detector-chord-name.unknown[data-v-5588ce9d]{color:var(--text4)}.tc-detector-chord-quality[data-v-5588ce9d]{color:var(--accent-lo);letter-spacing:.04em;font-size:.95rem}.tc-detector-inversion[data-v-5588ce9d]{color:var(--accent-mid);font-size:.85rem}.tc-detector-chord-notes[data-v-5588ce9d]{color:var(--text4);letter-spacing:.08em;margin-top:.2rem;font-size:.8rem}@media (width<=600px){.tc-detector-pad-note[data-v-5588ce9d]{font-size:1.2rem}}@media (orientation:landscape) and (height<=500px){.tc-detector[data-v-5588ce9d]{gap:.75rem}.tc-detector-result[data-v-5588ce9d]{min-height:60px;padding-top:.75rem}.tc-detector-chord-name[data-v-5588ce9d]{font-size:clamp(1.8rem,8vw,2.5rem)}}.tc-prog-builder-input-row[data-v-bf6caeff]{margin:1.5rem 0 .6rem}.tc-prog-builder-chord-input[data-v-bf6caeff]{box-sizing:border-box;background:var(--input);border:1px solid var(--border2);width:100%;color:var(--text);letter-spacing:.06em;border-radius:8px;outline:none;padding:.6rem .9rem;font-family:inherit;font-size:1.1rem;transition:border-color .15s}.tc-prog-builder-chord-input[data-v-bf6caeff]:focus{border-color:var(--accent)}.tc-prog-builder-chord-input[data-v-bf6caeff]::placeholder{color:var(--text5)}.tc-prog-builder-hint[data-v-bf6caeff]{color:var(--text4);margin-bottom:.5rem;font-size:.78rem}.tc-prog-builder-mono[data-v-bf6caeff]{color:var(--text3);font-family:monospace}.tc-prog-builder-parse-errors[data-v-bf6caeff]{color:var(--error-text2);flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.75rem;font-size:.8rem;display:flex}.tc-prog-builder-error-token[data-v-bf6caeff]{background:var(--error-bg);border:1px solid var(--error-bd);color:var(--error-text);border-radius:4px;padding:1px 6px;font-family:monospace}.tc-prog-builder-empty-hint[data-v-bf6caeff]{color:var(--text4);margin-top:1rem;font-size:.85rem;font-style:italic}.tc-prog-builder-chord-row[data-v-bf6caeff]{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.tc-prog-builder-chord-row.piano-mode[data-v-bf6caeff]{flex-direction:column;gap:.5rem}.tc-prog-builder-chord-card[data-v-bf6caeff]{background:var(--input);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:8px;flex-direction:column;flex:120px;align-items:center;gap:.4rem;max-width:160px;padding:.75rem .6rem;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.tc-prog-builder-chord-card.piano-mode[data-v-bf6caeff]{flex-direction:row;flex:100%;align-items:center;gap:1rem;max-width:100%;padding:.6rem 1rem}.tc-prog-builder-chord-card[data-v-bf6caeff]:hover{background:var(--hover);border-color:var(--accent-mid)}.tc-prog-builder-chord-card.active[data-v-bf6caeff]{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 0 0 1px var(--accent-glow)}.tc-prog-builder-chord-info[data-v-bf6caeff]{flex-direction:column;flex-shrink:0;align-items:center;gap:.15rem;display:flex}.tc-prog-builder-chord-card.piano-mode .tc-prog-builder-chord-info[data-v-bf6caeff]{width:4.5rem}.tc-prog-builder-chord-body-wrap[data-v-bf6caeff]{flex:1;min-width:0}.tc-prog-builder-chord-name[data-v-bf6caeff]{color:var(--rust);font-size:1.1rem;font-weight:700;line-height:1}@media (width<=600px){.tc-prog-builder-chord-card[data-v-bf6caeff]{flex:calc(50% - .375rem);max-width:calc(50% - .375rem)}}@media (orientation:landscape) and (height<=500px){.tc-prog-builder-chord-row[data-v-bf6caeff]{margin-top:.5rem}}.tc-settings[data-v-574a2d75]{width:100%;max-width:680px;margin:0 auto}.tc-settings-close-btn[data-v-574a2d75]{font-size:1rem}.tc-settings-section[data-v-574a2d75]{border-top:1px solid var(--border);padding:1.25rem 0}.tc-settings-section h3[data-v-574a2d75]{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;font-size:.8rem;font-weight:700}.tc-settings-section-desc[data-v-574a2d75]{color:var(--text3);margin-bottom:.85rem;font-size:.82rem;line-height:1.5}.tc-settings-option-group[data-v-574a2d75]{flex-wrap:wrap;gap:.4rem;display:flex}.tc-settings-option-btn[data-v-574a2d75]{padding:.35rem .9rem;font-size:.85rem}.tc-settings-scheme-btn[data-v-574a2d75]{align-items:center;gap:.45rem;display:flex}.tc-settings-scheme-btn[data-v-574a2d75]:before{content:"";border:1px solid #ffffff40;border-radius:50%;flex-shrink:0;width:8px;height:8px}.tc-settings-scheme-medieval[data-v-574a2d75]:before{background:#d4b84c}.tc-settings-scheme-ko2[data-v-574a2d75]:before{background:#e05c20}.tc-settings-scheme-riddim[data-v-574a2d75]:before{background:#28be70}.tc-settings-scheme-btn.active[data-v-574a2d75]:before{opacity:.7}.tc-settings-option-desc[data-v-574a2d75]{color:var(--text3);margin-top:.65rem;font-size:.82rem;line-height:1.5}.tc-settings-midi-panel[data-v-574a2d75]{margin-top:.25rem}.tc-settings-midi-connected-row[data-v-574a2d75]{align-items:center;gap:.6rem;display:flex}.tc-settings-midi-dot[data-v-574a2d75]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.tc-settings-midi-dot.connected[data-v-574a2d75]{background:var(--midi-ok)}.tc-settings-midi-dot.error[data-v-574a2d75]{background:var(--midi-err)}.tc-settings-midi-device-name[data-v-574a2d75]{color:var(--text2);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.85rem;overflow:hidden}.tc-settings-midi-device-name.muted[data-v-574a2d75]{color:var(--text4)}.tc-settings-midi-select[data-v-574a2d75]{max-width:220px;padding:.2rem .5rem;font-size:.82rem}.tc-settings-midi-disconnect-btn[data-v-574a2d75]{flex-shrink:0}.tc-settings-octave-row[data-v-574a2d75]{align-items:center;gap:.6rem;margin-top:.75rem;display:flex}.tc-settings-octave-label[data-v-574a2d75]{color:var(--text3);text-transform:uppercase;letter-spacing:.05em;min-width:4rem;font-size:.8rem;font-weight:600}.tc-settings-octave-btn[data-v-574a2d75]{background:var(--input);color:var(--accent);font-size:1rem}.tc-settings-octave-value[data-v-574a2d75]{text-align:center;min-width:1.2rem;color:var(--text);font-size:.95rem;font-weight:700}.tc-drum-groove-picker[data-v-1e9f2181]{margin:1.5rem 0 0}.tc-drum-transport[data-v-1e9f2181]{flex-wrap:wrap;align-items:center;gap:.75rem;margin:1.5rem 0;display:flex}.tc-drum-transport-btn[data-v-1e9f2181]{border:1px solid var(--border2);background:var(--input);color:var(--text2);cursor:pointer;border-radius:6px;padding:.4rem 1.1rem;font-size:.9rem;font-weight:600;transition:background .12s,border-color .12s,color .12s}.tc-drum-transport-btn[data-v-1e9f2181]:hover{border-color:var(--accent);color:var(--text)}.tc-drum-transport-btn.active[data-v-1e9f2181]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.tc-drum-transport-btn.tc-drum-jam-btn[data-v-1e9f2181]{letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}.tc-drum-bpm-control[data-v-1e9f2181]{align-items:center;gap:.6rem;display:flex}.tc-drum-bpm-control label[data-v-1e9f2181]{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:700}.tc-drum-bpm-input[data-v-1e9f2181]{border:1px solid var(--border2);background:var(--input);width:4.5rem;color:var(--text);text-align:center;border-radius:6px;padding:.35rem .6rem;font-size:.9rem}.tc-drum-bpm-input[data-v-1e9f2181]:focus{border-color:var(--accent);outline:none}.tc-drum-grid-wrap[data-v-1e9f2181]{-webkit-overflow-scrolling:touch;padding-bottom:.5rem;overflow-x:auto}.tc-drum-step-header[data-v-1e9f2181],.tc-drum-inst-row[data-v-1e9f2181]{grid-template-columns:7rem repeat(16,minmax(1.6rem,1fr));gap:.2rem;min-width:560px;margin-bottom:.2rem;display:grid}.tc-drum-step-num[data-v-1e9f2181]{text-align:center;color:var(--text5);border-radius:3px;padding:.15rem 0;font-size:.65rem;transition:color .1s,background .1s}.tc-drum-step-num.beat-start[data-v-1e9f2181]{color:var(--text4);border-left:1px solid var(--border2)}.tc-drum-step-num.active[data-v-1e9f2181]{color:var(--accent);background:var(--accent-bg)}.tc-drum-inst-name[data-v-1e9f2181]{color:var(--text3);white-space:nowrap;text-overflow:ellipsis;align-items:center;padding-right:.4rem;font-size:.75rem;font-weight:600;display:flex;overflow:hidden}.tc-drum-step-btn[data-v-1e9f2181]{border:1px solid var(--border2);background:var(--raised);cursor:pointer;border-radius:4px;height:2rem;padding:0;transition:background .1s,border-color .1s}.tc-drum-step-btn.beat-start[data-v-1e9f2181]{border-left:2px solid var(--border2)}.tc-drum-step-btn[data-v-1e9f2181]:hover{background:var(--border)}.tc-drum-step-btn.on[data-v-1e9f2181]{background:var(--accent-bg);border-color:var(--accent-mid)}.tc-drum-step-btn.on.beat-start[data-v-1e9f2181]{border-left-color:var(--accent-mid)}.tc-drum-step-btn.on.playing[data-v-1e9f2181]{background:var(--accent);border-color:var(--accent)}.tc-drum-step-btn.playing[data-v-1e9f2181]:not(.on){background:var(--border3)}@media (width<=600px){.tc-drum[data-v-1e9f2181]{padding:1.25rem .75rem}.tc-drum-step-header[data-v-1e9f2181],.tc-drum-inst-row[data-v-1e9f2181]{grid-template-columns:4.5rem repeat(16,minmax(1.4rem,1fr));min-width:460px}.tc-drum-inst-name[data-v-1e9f2181]{padding-right:.25rem;font-size:.68rem}.tc-drum-step-btn[data-v-1e9f2181]{height:1.75rem}.tc-drum-step-num[data-v-1e9f2181]{font-size:.6rem}}@media (orientation:landscape) and (height<=500px){.tc-drum-transport[data-v-1e9f2181]{margin:.5rem 0}.tc-drum-step-btn[data-v-1e9f2181]{height:1.6rem}}.tc-about-section[data-v-b5087eba]{border-top:1px solid var(--border);padding:1.25rem 0}.tc-about-byline[data-v-b5087eba]{color:var(--text2);font-size:.9rem;line-height:1.6}.tc-about-byline a[data-v-b5087eba]{color:var(--accent);text-decoration:none}.tc-about-byline a[data-v-b5087eba]:hover{text-decoration:underline}.tc-about-github-btn[data-v-b5087eba]{text-decoration:none}.qj2[data-v-af6a71b1]{flex-direction:column;gap:1.25rem;max-width:900px;margin:0 auto;padding:1rem .75rem 3rem;display:flex}.qj2-header[data-v-af6a71b1]{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.qj2-title[data-v-af6a71b1]{text-transform:uppercase;letter-spacing:.1em;color:var(--text4);white-space:nowrap;margin-right:.25rem;font-size:.7rem;font-weight:700}.qj2-presets[data-v-af6a71b1]{flex-wrap:wrap;flex:1;gap:.3rem;display:flex}.qj2-preset-btn[data-v-af6a71b1]{border:1px solid var(--border2);background:var(--input);color:var(--text3);cursor:pointer;border-radius:20px;padding:.28rem .75rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:border-color .12s,background .12s,color .12s}.qj2-preset-btn[data-v-af6a71b1]:hover{border-color:var(--accent);color:var(--text)}.qj2-preset-btn.active[data-v-af6a71b1]{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.qj2-play-btn[data-v-af6a71b1]{border:1px solid var(--border2);background:var(--input);color:var(--text3);cursor:pointer;border-radius:8px;flex-shrink:0;align-items:center;gap:.4rem;padding:.4rem 1.2rem;font-family:inherit;font-size:.85rem;font-weight:700;transition:border-color .12s,background .12s,color .12s;display:flex}.qj2-play-btn[data-v-af6a71b1]:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.qj2-play-btn.playing[data-v-af6a71b1]{border-color:var(--rust);background:var(--rust-bg);color:var(--rust-hi)}.qj2-play-btn[data-v-af6a71b1]:disabled{opacity:.38;cursor:not-allowed}.qj2-layout[data-v-af6a71b1]{grid-template-columns:180px 1fr 180px;align-items:start;gap:1rem;display:grid}@media (width<=640px){.qj2-layout[data-v-af6a71b1]{grid-template-columns:1fr}.qj2-col--center[data-v-af6a71b1]{order:-1}}.qj2-panel[data-v-af6a71b1]{border:1px solid var(--border);background:var(--raised);border-radius:8px;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.qj2-panel-label[data-v-af6a71b1]{text-transform:uppercase;letter-spacing:.09em;color:var(--text4);font-size:.65rem;font-weight:700}.qj2-col[data-v-af6a71b1]{flex-direction:column;gap:.75rem;display:flex}.qj2-key-select[data-v-af6a71b1]{width:100%}.qj2-chord-list[data-v-af6a71b1]{flex-direction:column;gap:.25rem;display:flex}.qj2-chord-row[data-v-af6a71b1]{border:1px solid #0000;border-radius:5px;align-items:center;gap:.5rem;padding:.25rem .4rem;transition:background .12s,border-color .12s;display:flex}.qj2-chord-row.active[data-v-af6a71b1]{background:var(--accent-bg);border-color:var(--accent-mid)}.qj2-chord-numeral[data-v-af6a71b1]{color:var(--text4);font-variant-numeric:tabular-nums;min-width:1.8rem;font-size:.72rem;font-weight:700}.qj2-chord-row.active .qj2-chord-numeral[data-v-af6a71b1]{color:var(--accent-lo)}.qj2-chord-name[data-v-af6a71b1]{color:var(--text2);font-size:.95rem;font-weight:700}.qj2-chord-row.active .qj2-chord-name[data-v-af6a71b1]{color:var(--accent)}.qj2-chord-empty[data-v-af6a71b1]{color:var(--text5);font-size:.8rem}.qj2-btn-group[data-v-af6a71b1]{gap:.3rem;display:flex}.qj2-option-btn[data-v-af6a71b1]{border:1px solid var(--border2);background:var(--input);color:var(--text3);cursor:pointer;border-radius:6px;flex:1;padding:.3rem 0;font-family:inherit;font-size:.82rem;font-weight:700;transition:border-color .12s,background .12s,color .12s}.qj2-option-btn[data-v-af6a71b1]:hover{border-color:var(--accent);color:var(--text)}.qj2-option-btn.active[data-v-af6a71b1]{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.qj2-col--center[data-v-af6a71b1]{align-items:center}.qj2-wheel-wrap[data-v-af6a71b1]{flex-shrink:0;position:relative}.qj2-svg[data-v-af6a71b1]{pointer-events:none;position:absolute;inset:0}.qj2-node[data-v-af6a71b1]{border:2px solid var(--border2);background:var(--surface);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:50px;height:50px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex;position:absolute;transform:translate(-50%,-50%)}.qj2-node--active[data-v-af6a71b1]{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 0 0 3px var(--accent-mid)}.qj2-node--popping[data-v-af6a71b1]{animation:.32s ease-out qj2-node-pop-af6a71b1}.qj2-node-numeral[data-v-af6a71b1]{letter-spacing:.04em;color:var(--text4);font-size:.65rem;font-weight:700;line-height:1}.qj2-node--active .qj2-node-numeral[data-v-af6a71b1]{color:var(--accent-lo)}.qj2-node-name[data-v-af6a71b1]{color:var(--text2);font-size:.9rem;font-weight:700;line-height:1}.qj2-node--active .qj2-node-name[data-v-af6a71b1]{color:var(--accent)}.qj2-hub[data-v-af6a71b1]{background:var(--surface);border:2px solid var(--border2);pointer-events:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.qj2-hub-chord[data-v-af6a71b1]{color:var(--accent);font-size:2rem;font-weight:700;line-height:1;transition:color .2s}.qj2-hub-chord.dim[data-v-af6a71b1]{color:var(--text3)}.qj2-hub-label[data-v-af6a71b1]{text-transform:uppercase;letter-spacing:.1em;color:var(--text5);font-size:.55rem;font-weight:700}.qj2-pulse[data-v-af6a71b1]{pointer-events:none;animation:qj2-pulse-out-af6a71b1 var(--qj2-dur,1.1s) ease-out forwards;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.3)}.qj2-pulse--kick[data-v-af6a71b1]{border:3px solid var(--accent);--qj2-dur:1.1s}.qj2-pulse--snare[data-v-af6a71b1]{border:2px solid var(--rust);--qj2-dur:.9s}.qj2-pulse--one[data-v-af6a71b1]{border:1px solid var(--border2);--qj2-dur:.9s}.qj2-bpm-row[data-v-af6a71b1]{align-items:center;gap:.5rem;display:flex}.qj2-bpm-val[data-v-af6a71b1]{text-align:center;color:var(--text);flex:1;font-size:1.6rem;font-weight:700;line-height:1}.qj2-bpm-btn[data-v-af6a71b1]{border:1px solid var(--border2);background:var(--input);width:32px;height:32px;color:var(--text2);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-family:inherit;font-size:1.2rem;font-weight:700;transition:border-color .12s,color .12s;display:flex}.qj2-bpm-btn[data-v-af6a71b1]:hover{border-color:var(--accent);color:var(--accent)}.qj2-beat-strip[data-v-af6a71b1]{flex-direction:column;gap:.35rem;display:flex}.qj2-beat-row-wrap[data-v-af6a71b1]{align-items:center;gap:.4rem;display:flex}.qj2-beat-inst[data-v-af6a71b1]{letter-spacing:.06em;color:var(--text5);flex-shrink:0;width:.8rem;font-size:.62rem;font-weight:700}.qj2-beat-row[data-v-af6a71b1]{flex:1;gap:2px;display:flex}.qj2-beat-cell[data-v-af6a71b1]{aspect-ratio:1;border:1px solid var(--border);background:var(--bg);border-radius:2px;flex:1;transition:background 80ms,box-shadow 80ms}.qj2-beat-cell.beat[data-v-af6a71b1]{border-color:var(--border2)}.qj2-beat-cell.lit[data-v-af6a71b1]{background:var(--raised);border-color:var(--border2)}.qj2-beat-cell.active[data-v-af6a71b1]{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-mid)}.qj2-beat-cell--snare.active[data-v-af6a71b1]{background:var(--rust);border-color:var(--rust);box-shadow:0 0 0 2px var(--rust-bg)}.qj2-instrument[data-v-af6a71b1]{border-top:1px solid var(--border);padding-top:1rem}@keyframes qj2-pulse-out-af6a71b1{0%{opacity:.85;transform:translate(-50%,-50%)scale(.3)}60%{opacity:.4}to{transform:translate(-50%, -50%) scale(var(--qj2-pulse-end,2.4));opacity:0}}@keyframes qj2-node-pop-af6a71b1{0%{transform:translate(-50%,-50%)scale(1)}35%{transform:translate(-50%,-50%)scale(1.2)}to{transform:translate(-50%,-50%)scale(1)}}.kb-text[data-v-15b58354]{display:inline}.kb-term-link[data-v-15b58354]{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;transition:text-decoration-style .1s}.kb-term-link[data-v-15b58354]:hover{text-decoration-style:solid}.kb-term-self[data-v-15b58354]{color:var(--text);font-weight:700}.kb-section-label[data-v-3b857af5]{text-transform:uppercase;letter-spacing:.08em;color:var(--text4);margin-bottom:-.25rem;font-size:.72rem;font-weight:700}.kb-note-result[data-v-3b857af5]{border:1px solid var(--border2);background:var(--raised);border-radius:8px;align-items:baseline;gap:.75rem;padding:.6rem .85rem;display:flex}.kb-note-name[data-v-3b857af5]{color:var(--accent);min-width:2.5rem;font-size:2rem;font-weight:700;line-height:1}.kb-note-desc[data-v-3b857af5]{color:var(--text2);font-size:.85rem}.kb-facts[data-v-3b857af5]{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.kb-fact[data-v-3b857af5]{border:1px solid var(--border);background:var(--surface);color:var(--text3);border-radius:8px;flex-direction:column;gap:.2rem;padding:.65rem .75rem;font-size:.82rem;display:flex}.kb-fact-num[data-v-3b857af5]{color:var(--accent);font-size:1.2rem;font-weight:700;line-height:1}.kb-related[data-v-3b857af5]{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.25rem;display:flex}.kb-related-label[data-v-3b857af5]{text-transform:uppercase;letter-spacing:.08em;color:var(--text5);font-size:.65rem;font-weight:700}.kb-rel-btn[data-v-3b857af5]{border:1px solid var(--border2);background:var(--input);color:var(--accent);cursor:pointer;border-radius:20px;padding:.25rem .75rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:border-color .12s,background .12s}.kb-rel-btn[data-v-3b857af5]:hover{border-color:var(--accent);background:var(--accent-bg)}.kb-section-label[data-v-4df1273a]{text-transform:uppercase;letter-spacing:.08em;color:var(--text4);font-size:.72rem;font-weight:700}.kb-oct-row[data-v-4df1273a]{gap:.75rem;display:flex}.kb-oct-btn[data-v-4df1273a]{border:1px solid var(--border2);background:var(--surface);cursor:pointer;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:.2rem;padding:.85rem .5rem;font-family:inherit;transition:border-color .12s,background .12s,transform .1s;display:flex}.kb-oct-btn[data-v-4df1273a]:hover{border-color:var(--accent);background:var(--raised)}.kb-oct-btn.active[data-v-4df1273a]{border-color:var(--accent);background:var(--accent-bg);transform:scale(.96)}.kb-oct-label[data-v-4df1273a]{color:var(--accent);font-size:1.6rem;font-weight:700;line-height:1}.kb-oct-sub[data-v-4df1273a]{color:var(--text4);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem}.kb-facts[data-v-4df1273a]{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.kb-fact[data-v-4df1273a]{border:1px solid var(--border);background:var(--surface);color:var(--text3);border-radius:8px;flex-direction:column;gap:.2rem;padding:.65rem .75rem;font-size:.82rem;display:flex}.kb-fact-num[data-v-4df1273a]{color:var(--accent);font-size:1.2rem;font-weight:700;line-height:1}.kb-related[data-v-4df1273a]{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.25rem;display:flex}.kb-related-label[data-v-4df1273a]{text-transform:uppercase;letter-spacing:.08em;color:var(--text5);font-size:.65rem;font-weight:700}.kb-rel-btn[data-v-4df1273a]{border:1px solid var(--border2);background:var(--input);color:var(--accent);cursor:pointer;border-radius:20px;padding:.25rem .75rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:border-color .12s,background .12s}.kb-rel-btn[data-v-4df1273a]:hover{border-color:var(--accent);background:var(--accent-bg)}.kb-section-label[data-v-f1f86353]{text-transform:uppercase;letter-spacing:.08em;color:var(--text4);margin-bottom:-.25rem;font-size:.72rem;font-weight:700}.kb-interval-result[data-v-f1f86353]{border:1px solid var(--accent-mid);background:var(--accent-bg);border-radius:8px;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.kb-interval-semis[data-v-f1f86353]{color:var(--accent);text-align:center;min-width:2rem;font-size:2.4rem;font-weight:700;line-height:1}.kb-interval-name[data-v-f1f86353]{color:var(--text);font-size:1.1rem;font-weight:700}.kb-interval-feel[data-v-f1f86353]{color:var(--text3);margin-top:2px;font-size:.82rem}.kb-interval-hint[data-v-f1f86353]{color:var(--text4);padding:.5rem 0;font-size:.84rem}.kb-interval-table[data-v-f1f86353]{flex-direction:column;gap:2px;display:flex}.kb-iv-row[data-v-f1f86353]{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:1.5rem 1fr 1fr;align-items:center;gap:.5rem;padding:.35rem .6rem;font-family:inherit;transition:background .1s,border-color .1s;display:grid}.kb-iv-row[data-v-f1f86353]:hover{background:var(--raised);border-color:var(--border)}.kb-iv-row.active[data-v-f1f86353]{background:var(--accent-bg);border-color:var(--accent-mid)}.kb-iv-semi[data-v-f1f86353]{color:var(--accent);text-align:center;font-size:.85rem;font-weight:700}.kb-iv-name[data-v-f1f86353]{color:var(--text2);font-size:.85rem;font-weight:600}.kb-iv-feel[data-v-f1f86353]{color:var(--text4);font-size:.78rem}.kb-related[data-v-f1f86353]{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.25rem;display:flex}.kb-related-label[data-v-f1f86353]{text-transform:uppercase;letter-spacing:.08em;color:var(--text5);font-size:.65rem;font-weight:700}.kb-rel-btn[data-v-f1f86353]{border:1px solid var(--border2);background:var(--input);color:var(--accent);cursor:pointer;border-radius:20px;padding:.25rem .75rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:border-color .12s,background .12s}.kb-rel-btn[data-v-f1f86353]:hover{border-color:var(--accent);background:var(--accent-bg)}.kb-section-label[data-v-b994672c]{text-transform:uppercase;letter-spacing:.08em;color:var(--text4);font-size:.72rem;font-weight:700}.kb-root-name[data-v-b994672c]{color:var(--accent);padding:.5rem 0;font-size:1.8rem;font-weight:700}.kb-root-sub[data-v-b994672c]{color:var(--text3);font-size:1rem;font-weight:400}.kb-root-table[data-v-b994672c]{flex-direction:column;gap:3px;display:flex}.kb-root-row[data-v-b994672c]{border-radius:6px;grid-template-columns:2.5rem 1fr 1fr;align-items:center;gap:.5rem;padding:.3rem .6rem;display:grid}.kb-root-row--root[data-v-b994672c]{background:var(--rust-bg);border:1px solid var(--rust)}.kb-root-row--anchor[data-v-b994672c]{background:var(--accent-bg);border:1px solid var(--accent-mid)}.kb-root-row--dim[data-v-b994672c]{background:var(--raised);border:1px solid var(--border)}.kb-root-note[data-v-b994672c]{color:var(--text);font-size:.95rem;font-weight:700}.kb-root-row--root .kb-root-note[data-v-b994672c]{color:var(--rust-hi)}.kb-root-row--anchor .kb-root-note[data-v-b994672c]{color:var(--accent)}.kb-root-role[data-v-b994672c]{color:var(--text2);font-size:.82rem;font-weight:600}.kb-root-desc[data-v-b994672c]{color:var(--text4);font-size:.78rem}.kb-related[data-v-b994672c]{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.25rem;display:flex}.kb-related-label[data-v-b994672c]{text-transform:uppercase;letter-spacing:.08em;color:var(--text5);font-size:.65rem;font-weight:700}.kb-rel-btn[data-v-b994672c]{border:1px solid var(--border2);background:var(--input);color:var(--accent);cursor:pointer;border-radius:20px;padding:.25rem .75rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:border-color .12s,background .12s}.kb-rel-btn[data-v-b994672c]:hover{border-color:var(--accent);background:var(--accent-bg)}.kb-section-label[data-v-5a348847]{text-transform:uppercase;letter-spacing:.08em;color:var(--text4);margin-bottom:.35rem;font-size:.72rem;font-weight:700}.kb-scale-controls[data-v-5a348847]{flex-direction:column;gap:.85rem;display:flex}.kb-scale-picker[data-v-5a348847]{flex-direction:column;gap:.35rem;display:flex}.kb-scale-tabs[data-v-5a348847]{flex-wrap:wrap;gap:.3rem;display:flex}.kb-scale-tab[data-v-5a348847]{border:1px solid var(--border2);background:var(--input);color:var(--text3);cursor:pointer;border-radius:20px;padding:.28rem .7rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:border-color .12s,background .12s,color .12s}.kb-scale-tab[data-v-5a348847]:hover{border-color:var(--accent);color:var(--text)}.kb-scale-tab.active[data-v-5a348847]{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.kb-scale-result[data-v-5a348847]{border:1px solid var(--border2);background:var(--raised);border-radius:8px;padding:.75rem .85rem}.kb-scale-header[data-v-5a348847]{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.kb-scale-name[data-v-5a348847]{color:var(--text);font-size:1.2rem;font-weight:700}.kb-scale-play-btn[data-v-5a348847]{border:1px solid var(--border2);background:var(--input);color:var(--text3);cursor:pointer;border-radius:6px;padding:.25rem .8rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:border-color .12s,color .12s}.kb-scale-play-btn[data-v-5a348847]:hover{border-color:var(--accent);color:var(--accent)}.kb-scale-notes[data-v-5a348847]{flex-wrap:wrap;gap:.35rem;display:flex}.kb-scale-note[data-v-5a348847]{border:1px solid var(--border2);background:var(--surface);color:var(--text2);border-radius:5px;padding:.25rem .6rem;font-size:.88rem;font-weight:600}.kb-scale-note.root[data-v-5a348847]{border-color:var(--rust);background:var(--rust-bg);color:var(--rust-hi)}.kb-scale-desc[data-v-5a348847]{color:var(--text3);font-size:.84rem;line-height:1.5}.kb-related[data-v-5a348847]{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.25rem;display:flex}.kb-related-label[data-v-5a348847]{text-transform:uppercase;letter-spacing:.08em;color:var(--text5);font-size:.65rem;font-weight:700}.kb-rel-btn[data-v-5a348847]{border:1px solid var(--border2);background:var(--input);color:var(--accent);cursor:pointer;border-radius:20px;padding:.25rem .75rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:border-color .12s,background .12s}.kb-rel-btn[data-v-5a348847]:hover{border-color:var(--accent);background:var(--accent-bg)}.kb-section-label[data-v-81fe3053]{text-transform:uppercase;letter-spacing:.08em;color:var(--text4);margin-bottom:.35rem;font-size:.72rem;font-weight:700}.kb-chord-controls[data-v-81fe3053]{flex-direction:column;gap:.75rem;display:flex}.kb-chord-types[data-v-81fe3053]{flex-wrap:wrap;gap:.3rem;display:flex}.kb-chord-type-btn[data-v-81fe3053]{border:1px solid var(--border2);background:var(--input);color:var(--text3);cursor:pointer;border-radius:20px;padding:.28rem .7rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:border-color .12s,background .12s,color .12s}.kb-chord-type-btn[data-v-81fe3053]:hover{border-color:var(--accent);color:var(--text)}.kb-chord-type-btn.active[data-v-81fe3053]{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.kb-chord-result[data-v-81fe3053]{border:1px solid var(--border2);background:var(--raised);border-radius:8px;padding:.75rem .85rem}.kb-chord-name[data-v-81fe3053]{color:var(--accent);font-size:1.8rem;font-weight:700;line-height:1}.kb-chord-feel[data-v-81fe3053]{color:var(--text3);margin:.25rem 0;font-size:.84rem}.kb-chord-notes[data-v-81fe3053]{color:var(--text2);font-size:.84rem}.kb-related[data-v-81fe3053]{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.25rem;display:flex}.kb-related-label[data-v-81fe3053]{text-transform:uppercase;letter-spacing:.08em;color:var(--text5);font-size:.65rem;font-weight:700}.kb-rel-btn[data-v-81fe3053]{border:1px solid var(--border2);background:var(--input);color:var(--accent);cursor:pointer;border-radius:20px;padding:.25rem .75rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:border-color .12s,background .12s}.kb-rel-btn[data-v-81fe3053]:hover{border-color:var(--accent);background:var(--accent-bg)}.kb-section-label[data-v-8beb404b]{text-transform:uppercase;letter-spacing:.08em;color:var(--text4);font-size:.72rem;font-weight:700}.kb-key-heading[data-v-8beb404b]{color:var(--text2);padding:.25rem 0;font-size:1rem;font-weight:700}.kb-key-grid[data-v-8beb404b]{grid-template-columns:repeat(7,1fr);gap:.3rem;display:grid}@media (width<=500px){.kb-key-grid[data-v-8beb404b]{grid-template-columns:repeat(4,1fr)}}.kb-key-chord[data-v-8beb404b]{border:1px solid var(--border2);background:var(--surface);cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem .2rem;font-family:inherit;transition:border-color .12s,background .12s;display:flex}.kb-key-chord[data-v-8beb404b]:hover{border-color:var(--accent);background:var(--raised)}.kb-key-chord.active[data-v-8beb404b]{border-color:var(--accent);background:var(--accent-bg)}.kb-key-chord.is-tonic[data-v-8beb404b]{border-color:var(--rust)}.kb-key-chord.is-tonic.active[data-v-8beb404b]{background:var(--rust-bg)}.kb-key-roman[data-v-8beb404b]{color:var(--text4);font-size:.7rem;font-weight:700}.kb-key-name[data-v-8beb404b]{color:var(--accent);font-size:.88rem;font-weight:700}.kb-key-chord.is-tonic .kb-key-name[data-v-8beb404b]{color:var(--rust-hi)}.kb-key-type[data-v-8beb404b]{color:var(--text5);text-transform:uppercase;font-size:.65rem}.kb-facts[data-v-8beb404b]{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.kb-fact[data-v-8beb404b]{border:1px solid var(--border);background:var(--surface);color:var(--text3);border-radius:8px;flex-direction:column;gap:.2rem;padding:.65rem .75rem;font-size:.82rem;display:flex}.kb-fact-num[data-v-8beb404b]{color:var(--accent);font-size:1.2rem;font-weight:700;line-height:1}.kb-related[data-v-8beb404b]{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.25rem;display:flex}.kb-related-label[data-v-8beb404b]{text-transform:uppercase;letter-spacing:.08em;color:var(--text5);font-size:.65rem;font-weight:700}.kb-rel-btn[data-v-8beb404b]{border:1px solid var(--border2);background:var(--input);color:var(--accent);cursor:pointer;border-radius:20px;padding:.25rem .75rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:border-color .12s,background .12s}.kb-rel-btn[data-v-8beb404b]:hover{border-color:var(--accent);background:var(--accent-bg)}.kb-section-label[data-v-41a9bc4d]{text-transform:uppercase;letter-spacing:.08em;color:var(--text4);font-size:.72rem;font-weight:700}.kb-prog-list[data-v-41a9bc4d]{flex-direction:column;gap:2px;display:flex}.kb-prog-row[data-v-41a9bc4d]{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:.75rem;padding:.45rem .7rem;font-family:inherit;transition:background .1s,border-color .1s;display:flex}.kb-prog-row[data-v-41a9bc4d]:hover{background:var(--raised);border-color:var(--border)}.kb-prog-row.active[data-v-41a9bc4d]{background:var(--accent-bg);border-color:var(--accent-mid)}.kb-prog-label[data-v-41a9bc4d]{color:var(--accent);min-width:9rem;font-size:.9rem;font-weight:700}.kb-prog-feel[data-v-41a9bc4d]{color:var(--text4);font-size:.78rem}.kb-prog-player[data-v-41a9bc4d]{border:1px solid var(--border2);background:var(--raised);border-radius:8px;align-items:center;gap:.75rem;padding:.65rem .85rem;display:flex}.kb-prog-chords[data-v-41a9bc4d]{flex-wrap:wrap;flex:1;gap:.4rem;display:flex}.kb-prog-chord[data-v-41a9bc4d]{border:1px solid var(--border2);background:var(--surface);color:var(--text2);border-radius:6px;padding:.35rem .75rem;font-size:.95rem;font-weight:700;transition:border-color .1s,background .1s,color .1s}.kb-prog-chord.active[data-v-41a9bc4d]{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.kb-prog-play-btn[data-v-41a9bc4d]{border:1px solid var(--border2);background:var(--input);color:var(--text3);cursor:pointer;white-space:nowrap;border-radius:6px;padding:.35rem 1rem;font-family:inherit;font-size:.82rem;font-weight:600;transition:border-color .12s,color .12s}.kb-prog-play-btn[data-v-41a9bc4d]:hover{border-color:var(--accent);color:var(--accent)}.kb-facts[data-v-41a9bc4d]{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.kb-fact[data-v-41a9bc4d]{border:1px solid var(--border);background:var(--surface);color:var(--text3);border-radius:8px;flex-direction:column;gap:.2rem;padding:.65rem .75rem;font-size:.82rem;display:flex}.kb-fact-num[data-v-41a9bc4d]{color:var(--accent);font-size:1.2rem;font-weight:700;line-height:1}.kb-related[data-v-41a9bc4d]{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.25rem;display:flex}.kb-related-label[data-v-41a9bc4d]{text-transform:uppercase;letter-spacing:.08em;color:var(--text5);font-size:.65rem;font-weight:700}.kb-rel-btn[data-v-41a9bc4d]{border:1px solid var(--border2);background:var(--input);color:var(--accent);cursor:pointer;border-radius:20px;padding:.25rem .75rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:border-color .12s,background .12s}.kb-rel-btn[data-v-41a9bc4d]:hover{border-color:var(--accent);background:var(--accent-bg)}.kb-section-label[data-v-d7dca846]{text-transform:uppercase;letter-spacing:.08em;color:var(--text4);font-size:.72rem;font-weight:700}.kb-beat-header[data-v-d7dca846]{justify-content:space-between;align-items:flex-end;gap:.5rem;display:flex}.kb-beat-controls[data-v-d7dca846]{align-items:center;gap:.75rem;display:flex}.kb-beat-bpm-label[data-v-d7dca846]{color:var(--text3);align-items:center;gap:.5rem;font-size:.78rem;font-weight:600;display:flex}.kb-beat-slider[data-v-d7dca846]{width:80px;accent-color:var(--accent)}.kb-beat-play-btn[data-v-d7dca846]{border:1px solid var(--border2);background:var(--input);color:var(--text3);cursor:pointer;border-radius:6px;padding:.3rem .85rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:border-color .12s,color .12s,background .12s}.kb-beat-play-btn[data-v-d7dca846]:hover{border-color:var(--accent);color:var(--accent)}.kb-beat-play-btn.active[data-v-d7dca846]{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.kb-beat-grid[data-v-d7dca846]{grid-template-columns:3.5rem repeat(16,1fr);align-items:center;gap:3px;display:grid}.kb-beat-row-label[data-v-d7dca846]{color:var(--text4);text-transform:uppercase;letter-spacing:.06em;font-size:.65rem;font-weight:700}.kb-beat-cell[data-v-d7dca846]{border:1px solid var(--border);background:var(--surface);border-radius:3px;height:1.5rem;transition:background 80ms,border-color 80ms}.kb-beat-cell.beat[data-v-d7dca846]{border-color:var(--border2)}.kb-beat-cell.filled[data-v-d7dca846]{background:var(--accent-mid);border-color:var(--accent)}.kb-beat-cell.filled.snare[data-v-d7dca846]{background:var(--rust);border-color:var(--rust-hi)}.kb-beat-cell.filled.hihat[data-v-d7dca846]{background:var(--text5);border-color:var(--text4)}.kb-beat-cell.active[data-v-d7dca846]{box-shadow:0 0 0 1px var(--accent);border-color:var(--accent)!important}.kb-facts[data-v-d7dca846]{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.kb-fact[data-v-d7dca846]{border:1px solid var(--border);background:var(--surface);color:var(--text3);border-radius:8px;flex-direction:column;gap:.2rem;padding:.65rem .75rem;font-size:.82rem;display:flex}.kb-fact-num[data-v-d7dca846]{color:var(--accent);font-size:1.2rem;font-weight:700;line-height:1}.kb-related[data-v-d7dca846]{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.25rem;display:flex}.kb-related-label[data-v-d7dca846]{text-transform:uppercase;letter-spacing:.08em;color:var(--text5);font-size:.65rem;font-weight:700}.kb-rel-btn[data-v-d7dca846]{border:1px solid var(--border2);background:var(--input);color:var(--accent);cursor:pointer;border-radius:20px;padding:.25rem .75rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:border-color .12s,background .12s}.kb-rel-btn[data-v-d7dca846]:hover{border-color:var(--accent);background:var(--accent-bg)}.kb-bpm-display[data-v-ddcafb94]{align-items:baseline;gap:.4rem;display:flex}.kb-bpm-number[data-v-ddcafb94]{color:var(--accent);font-variant-numeric:tabular-nums;font-size:3rem;font-weight:700;line-height:1}.kb-bpm-unit[data-v-ddcafb94]{color:var(--text3);font-size:1rem;font-weight:600}.kb-bpm-slider[data-v-ddcafb94]{width:100%;accent-color:var(--accent)}.kb-bpm-labels[data-v-ddcafb94]{color:var(--text5);justify-content:space-between;margin-top:-.2rem;font-size:.7rem;display:flex}.kb-bpm-feel[data-v-ddcafb94]{align-items:baseline;gap:.6rem;display:flex}.kb-bpm-feel-name[data-v-ddcafb94]{color:var(--text);font-size:1.1rem;font-weight:700}.kb-bpm-feel-desc[data-v-ddcafb94]{color:var(--text3);font-size:.84rem}.kb-bpm-play-btn[data-v-ddcafb94]{border:1px solid var(--border2);background:var(--input);color:var(--text3);cursor:pointer;border-radius:6px;align-self:flex-start;padding:.4rem 1.1rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:border-color .12s,color .12s,background .12s}.kb-bpm-play-btn[data-v-ddcafb94]:hover{border-color:var(--accent);color:var(--accent)}.kb-bpm-play-btn.active[data-v-ddcafb94]{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.kb-bpm-table[data-v-ddcafb94]{flex-direction:column;gap:2px;display:flex}.kb-bpm-row[data-v-ddcafb94]{border:1px solid #0000;border-radius:6px;grid-template-columns:5rem 4rem 1fr;align-items:center;gap:.5rem;padding:.3rem .6rem;display:grid}.kb-bpm-row.current[data-v-ddcafb94]{background:var(--accent-bg);border-color:var(--accent-mid)}.kb-bpm-row-name[data-v-ddcafb94]{color:var(--text2);font-size:.85rem;font-weight:700}.kb-bpm-row-range[data-v-ddcafb94]{color:var(--accent);font-variant-numeric:tabular-nums;font-size:.78rem}.kb-bpm-row-feel[data-v-ddcafb94]{color:var(--text4);font-size:.78rem}.kb-related[data-v-ddcafb94]{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.25rem;display:flex}.kb-related-label[data-v-ddcafb94]{text-transform:uppercase;letter-spacing:.08em;color:var(--text5);font-size:.65rem;font-weight:700}.kb-rel-btn[data-v-ddcafb94]{border:1px solid var(--border2);background:var(--input);color:var(--accent);cursor:pointer;border-radius:20px;padding:.25rem .75rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:border-color .12s,background .12s}.kb-rel-btn[data-v-ddcafb94]:hover{border-color:var(--accent);background:var(--accent-bg)}.kb-root[data-v-0616f609]{flex-direction:column;gap:1.25rem;max-width:680px;margin:0 auto;padding:1rem 1rem 2rem;display:flex}.kb-index-header[data-v-0616f609]{flex-direction:column;gap:.35rem;display:flex}.kb-title[data-v-0616f609]{color:var(--text);margin:0;font-size:1.5rem;font-weight:700}.kb-subtitle[data-v-0616f609]{color:var(--text3);margin:0;font-size:.88rem}.kb-search[data-v-0616f609]{border:1px solid var(--border2);background:var(--input);color:var(--text);border-radius:8px;outline:none;margin-top:.25rem;padding:.5rem .85rem;font-family:inherit;font-size:.9rem;transition:border-color .12s}.kb-search[data-v-0616f609]:focus{border-color:var(--accent)}.kb-grid[data-v-0616f609]{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}@media (width<=420px){.kb-grid[data-v-0616f609]{grid-template-columns:1fr}}.kb-card[data-v-0616f609]{border:1px solid var(--border2);background:var(--surface);cursor:pointer;text-align:left;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.75rem .9rem;font-family:inherit;transition:border-color .12s,background .12s;display:flex;position:relative}.kb-card[data-v-0616f609]:hover{border-color:var(--accent);background:var(--raised)}.kb-card-label[data-v-0616f609]{color:var(--accent);font-size:1rem;font-weight:700}.kb-card-summary[data-v-0616f609]{color:var(--text3);padding-right:1.5rem;font-size:.78rem;line-height:1.4}.kb-card-arrow[data-v-0616f609]{color:var(--text5);font-size:.9rem;position:absolute;top:.75rem;right:.9rem}.kb-empty[data-v-0616f609]{color:var(--text4);text-align:center;padding:2rem 0;font-size:.88rem}.kb-term-header[data-v-0616f609]{align-items:center;gap:.75rem;display:flex}.kb-back-btn[data-v-0616f609]{border:1px solid var(--border2);background:var(--input);color:var(--text3);cursor:pointer;white-space:nowrap;border-radius:20px;padding:.3rem .75rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:border-color .12s,color .12s}.kb-back-btn[data-v-0616f609]:hover{border-color:var(--accent);color:var(--accent)}.kb-term-title[data-v-0616f609]{color:var(--text);margin:0;font-size:1.3rem;font-weight:700}header[data-v-651716e1]{z-index:50;background:var(--bg);border-bottom:1px solid var(--border);position:fixed;top:0;left:0;right:0}.header-row[data-v-651716e1]{justify-content:space-between;align-items:center;gap:1rem;max-width:1100px;margin:0 auto;padding:.75rem 1.5rem;display:flex}@media (orientation:landscape) and (height<=500px){.header-row[data-v-651716e1]{padding:.35rem 1rem}h1[data-v-651716e1]{font-size:1.1rem}}h1[data-v-651716e1]{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:clamp(1.2rem,5vw,1.8rem);font-weight:700}.title-block[data-v-651716e1]{min-width:0}.home-link[data-v-651716e1]{cursor:pointer}.header-nav[data-v-651716e1]{align-items:center;gap:.25rem;display:flex}.header-nav-btn[data-v-651716e1]{color:var(--text3);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;padding:.3rem .8rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:color .12s,background .12s,border-color .12s}.header-nav-btn[data-v-651716e1]:hover{color:var(--text);background:var(--hover)}.header-nav-btn.active[data-v-651716e1]{background:var(--raised);border-color:var(--border2);color:var(--accent)}.header-controls[data-v-651716e1]{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.drum-widget[data-v-651716e1]{border:1px solid var(--border2);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.35rem;height:36px;padding:0 .5rem 0 .55rem;transition:border-color .15s;display:flex}.drum-widget.playing[data-v-651716e1]{border-color:var(--accent-mid);background:var(--accent-bg)}.dw-dot[data-v-651716e1]{background:var(--text4);border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:background .2s}.drum-widget.playing .dw-dot[data-v-651716e1]{background:var(--accent);animation:1s ease-in-out infinite dw-pulse-651716e1}@keyframes dw-pulse-651716e1{0%,to{opacity:1}50%{opacity:.35}}.dw-label[data-v-651716e1]{letter-spacing:.06em;text-transform:uppercase;color:var(--text4);font-size:.72rem;font-weight:700;transition:color .15s}.drum-widget.playing .dw-label[data-v-651716e1]{color:var(--accent)}.dw-btn[data-v-651716e1]{width:24px;height:24px;min-width:unset;min-height:unset;border-radius:4px}.drum-widget.playing .dw-btn[data-v-651716e1]{color:var(--accent);border-color:var(--accent-mid)}.icon-btn[data-v-651716e1],.burger-btn[data-v-651716e1]{flex-shrink:0;width:36px;height:36px}.burger-btn[data-v-651716e1]:hover{border-color:var(--accent)}main[data-v-651716e1]{padding-top:1rem}@media (orientation:landscape) and (height<=500px){main[data-v-651716e1]{padding-top:1rem}}.menu-overlay[data-v-651716e1]{background:var(--overlay);z-index:100;display:none;position:fixed;inset:0}.menu-overlay.open[data-v-651716e1]{display:block}.side-menu[data-v-651716e1]{background:var(--bg);border-left:1px solid var(--border);z-index:101;flex-direction:column;width:260px;padding:2rem 1rem 1.25rem;transition:transform .22s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.side-menu.open[data-v-651716e1]{transform:translate(0)}.close-btn[data-v-651716e1]{align-self:flex-end;margin-bottom:1.25rem;font-size:1.1rem}.close-btn[data-v-651716e1]:hover{color:var(--text)}.side-menu ul[data-v-651716e1]{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.side-menu ul li button[data-v-651716e1]{text-align:left;width:100%;color:var(--text2);cursor:pointer;letter-spacing:.03em;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:.6rem;padding:.65rem .9rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:color .15s,background .15s,border-color .15s;display:flex}.menu-tab-icon[data-v-651716e1]{opacity:.6;flex-shrink:0}.side-menu ul li button.active .menu-tab-icon[data-v-651716e1],.side-menu ul li button:hover .menu-tab-icon[data-v-651716e1]{opacity:1}.side-menu ul li button[data-v-651716e1]:hover{color:var(--text);background:var(--hover)}.side-menu ul li button.active[data-v-651716e1]{background:var(--raised);border-color:var(--border2);color:var(--accent)}
