/* KlipToc v84 · instrumentos musicales (diseño propio). Variables de kt-v65-tiempo.css; tema claro por defecto, html.dark lo decide KlipToc. */
body{background:linear-gradient(160deg,var(--bg1),var(--bg2));color:var(--tx);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;min-height:100vh}
.ki{max-width:1120px;margin:0 auto;padding:1rem}.ki h2{margin:.2rem 0}.ki-note,.kim-note{color:var(--tx2);font-size:.85rem;margin:.2rem 0 .6rem}
.ki-btn,.kim-btn{border:1px solid var(--border);background:var(--btn);color:var(--tx);border-radius:999px;padding:.5rem 1rem;font:700 .85rem/1 inherit;cursor:pointer}.ki-btn:hover,.kim-btn:hover{background:var(--btnh)}
.ki-btn.on,.ki-btn.pri,.kim-btn.on,.kim-btn.pri{background:var(--accent);border-color:var(--accent);color:#fff}
.ki-f,.kim-f{display:grid;gap:.2rem;font-size:.75rem;font-weight:700;color:var(--tx2)}.ki-f select,.ki-f input[type=text],.kim-f select{padding:.4rem .5rem;border-radius:.6rem;border:1px solid var(--border);background:var(--inp);color:var(--tx);font:inherit}.ki-f input[type=range],.kim-f input[type=range]{width:150px;accent-color:var(--accent)}
.ki-chk{display:flex;gap:.4rem;align-items:center;font-size:.8rem;font-weight:700;color:var(--tx2)}
.ki-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:flex-end;margin:.3rem 0}.ki-row input{padding:.45rem .6rem;border-radius:.6rem;border:1px solid var(--border);background:var(--inp);color:var(--tx);font:inherit;min-width:0}
.ki-msg{min-height:1.1em;margin:.3rem 0 0;color:#dc2626;font-weight:700}.ki-hint{color:var(--tx2);font-size:.8rem;text-align:center;margin:.2rem 0}
/* catálogo */
.ki-chips{display:flex;gap:.4rem;flex-wrap:wrap;margin:.4rem 0 .8rem}.ki-chip{flex:none}.ki-chip{border:1px solid var(--border);background:var(--btn);color:var(--tx);border-radius:999px;padding:.35rem .9rem;font:700 .8rem/1 inherit;cursor:pointer}.ki-chip.on{background:var(--accent);border-color:var(--accent);color:#fff}
.ki-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.8rem}
.ki-card{display:flex;flex-direction:column;gap:.15rem;align-items:flex-start;text-align:left;padding:1rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface);color:var(--tx);cursor:pointer;box-shadow:var(--shadow);transition:transform .15s,border-color .15s}.ki-card:hover{transform:translateY(-3px);border-color:var(--accent)}
.ki-ic{font-size:2.2rem;line-height:1}.ki-card small{color:var(--accent);font-weight:700}.ki-d{color:var(--tx2);font-size:.8rem}
/* vista de instrumento */
.ki-head{display:flex;gap:.6rem;align-items:center}.ki-head h2{flex:1;min-width:0;font-size:1.3rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ki-fav{min-width:2.6rem;font-size:1.1rem}.ki-stage{margin:.4rem 0;border:1px solid var(--border);border-radius:1.1rem;background:var(--surface);padding:.9rem;box-shadow:var(--shadow);display:grid;place-items:center;overflow:hidden}
.ki-box{width:100%;display:grid;gap:.8rem;justify-items:center}.ki-say{margin:.2rem 0;color:var(--tx2);font-size:.8rem;min-height:1.2em}.ki-h4{margin:.8rem 0 .3rem}
.ki-cfg{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.ki-own{display:contents}
.ki-dock{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:.2rem 0 1rem;align-items:start}.ki-band,.kim-rec{border:1px solid var(--border);border-radius:1rem;background:var(--surface);padding:.9rem;box-shadow:var(--shadow)}.ki-band h3{margin:0 0 .3rem}
.ki-code{font:800 1.2rem/1 ui-monospace,monospace;letter-spacing:.12em}.ki-members{display:flex;gap:.4rem;flex-wrap:wrap;margin:.5rem 0}.ki-mem{background:var(--btn);border:1px solid var(--border);border-radius:999px;padding:.25rem .7rem;font-size:.8rem;font-weight:700}.ki-mem.on{background:var(--accent);color:#fff}
/* piano */
.ki-kb{position:relative;width:100%;height:min(46vh,290px);border-radius:.8rem .8rem .5rem .5rem;background:#1b1b1f;padding:10px 6px 6px;box-shadow:inset 0 6px 14px rgba(0,0,0,.6);touch-action:none;user-select:none}
.ki-wk{position:absolute;top:10px;bottom:6px;border:1px solid #9aa0a8;border-top:0;border-radius:0 0 .45rem .45rem;background:linear-gradient(#fff 70%,#e4e6ea);cursor:pointer;display:flex;align-items:flex-end;justify-content:center;padding-bottom:.45rem;color:#475569;font:700 10px system-ui}
.ki-bk{position:absolute;top:10px;height:60%;z-index:2;border-radius:0 0 .35rem .35rem;background:linear-gradient(#3a3a42,#050507 85%);box-shadow:inset 0 -6px 0 #15151a,0 4px 6px rgba(0,0,0,.5);cursor:pointer;display:flex;align-items:flex-end;justify-content:center;padding-bottom:.3rem;color:#d1d5db;font:700 9px system-ui}
.ki-wk i,.ki-bk i{font-style:normal;pointer-events:none}.ki-wk.on{background:linear-gradient(#ddd6fe,#a78bfa);transform:translateY(1px)}.ki-bk.on{background:linear-gradient(#6d28d9,#2e1065)}
.ki-wk.hl{background:linear-gradient(#fff 55%,#a5f3fc)}.ki-wk.hlr{background:linear-gradient(#fff 55%,#fcd34d)}.ki-bk.hl{background:linear-gradient(#0e7490,#052e36 85%)}.ki-bk.hlr{background:linear-gradient(#b45309,#451a03 85%)}
.ki-kb.organ{background:#3b2314}.ki-kb.synth{background:#10131c;border:2px solid #334155}.ki-kb.accord{background:#7f1d1d}
/* mástil (SVG) */
.ki-fb{width:100%;height:auto;max-height:340px;border-radius:.8rem;background:#1c1208;touch-action:none}.ki-dr{width:100%;max-width:820px;height:auto;touch-action:none;user-select:none}
.ki-pc{cursor:pointer;transform-box:fill-box;transform-origin:center}.ki-pc.hit{animation:kihit .16s ease-out}.ki-pc.cym.hit{animation:kisway .5s ease-out}.ki-pc:focus{outline:none}
@keyframes kihit{50%{transform:scale(.95);filter:brightness(1.35)}}@keyframes kisway{20%{transform:rotate(-4deg)}50%{transform:rotate(3deg)}80%{transform:rotate(-1deg)}}
/* violín / chelo */
.ki-bw{display:grid;gap:.5rem;width:100%}.ki-bl{position:relative;height:62px;border-radius:.6rem;background:linear-gradient(#2a1608,#120a04);touch-action:none;cursor:ew-resize;user-select:none;overflow:hidden}
.ki-bl::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:#e5e7eb}.ki-bl.on::after{box-shadow:0 0 8px #fde68a}.ki-bl em{position:absolute;left:.5rem;top:.25rem;color:#fde68a;font:700 11px system-ui;font-style:normal;z-index:1}
.ki-bt{position:absolute;inset:0}.ki-bt i{position:absolute;top:0;bottom:0;width:1px;background:rgba(255,255,255,.12)}.ki-bt i.w{background:rgba(255,255,255,.28)}.ki-bt span{position:absolute;bottom:2px;left:3px;color:#fcd9a0;font:700 9px system-ui}
.ki-bd{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px;top:50%;border-radius:50%;background:#fde68a;box-shadow:0 0 14px #fde68a;opacity:0;pointer-events:none}.ki-bl.on .ki-bd{opacity:1}
/* láminas */
.ki-bars{display:flex;gap:6px;align-items:flex-end;width:100%;height:min(42vh,260px);touch-action:none;user-select:none}
.ki-bar{flex:1;min-width:0;height:var(--h);border:0;border-radius:.5rem;background:hsl(var(--hue) 70% 55%);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.15rem;padding-bottom:.5rem;font:700 11px system-ui;cursor:pointer;box-shadow:inset 0 -6px 0 rgba(0,0,0,.18)}.ki-bar small{opacity:.7}.ki-bar.on{filter:brightness(1.4);transform:scale(.96)}
.ki-bars.round{align-items:center;flex-wrap:wrap;height:auto;justify-content:center}.ki-bars.round .ki-bar{flex:0 0 clamp(64px,18%,110px);height:auto;aspect-ratio:1;border-radius:50%;justify-content:center;padding:0;box-shadow:inset 0 -8px 14px rgba(0,0,0,.25),inset 0 6px 10px rgba(255,255,255,.3)}
.ki-bars.chroma{position:relative;display:block;height:min(44vh,270px)}.ki-front{position:absolute;inset:0;display:flex;gap:5px;align-items:flex-end}.ki-back{position:absolute;inset:0;pointer-events:none}
.ki-nb,.ki-ab{border:0;cursor:pointer;display:flex;align-items:flex-end;justify-content:center;padding-bottom:.4rem;font:700 10px system-ui;color:#fff;box-shadow:inset 0 -6px 0 rgba(0,0,0,.2),0 3px 5px rgba(0,0,0,.25)}
.ki-nb{flex:1;min-width:0;height:var(--h);border-radius:.45rem;background:linear-gradient(#e8edf3,#9aa7b8);color:#334155}.ki-ab{position:absolute;top:0;transform:translateX(-50%);width:5.4%;height:var(--h);max-height:62%;border-radius:.4rem;background:linear-gradient(#6b7280,#1f2937);pointer-events:auto;z-index:2}
.ki-bars.marimba .ki-nb,.ki-bars.xilofono .ki-nb{background:linear-gradient(#e0a458,#a8692a)}.ki-bars.marimba .ki-ab,.ki-bars.xilofono .ki-ab{background:linear-gradient(#8a4b1a,#3f1d08)}.ki-bars.vibrafono .ki-nb{background:linear-gradient(#f1f5f9,#a5b4c8)}.ki-bars.glockenspiel .ki-nb{background:linear-gradient(#fff7d6,#d9b44a)}.ki-bars.glockenspiel .ki-ab{background:linear-gradient(#c0922c,#6e4f0e)}
.ki-nb.on,.ki-ab.on{filter:brightness(1.35)}
/* arpa */
.ki-harp{display:flex;gap:3px;align-items:flex-end;width:100%;height:min(46vh,280px);padding:.6rem;border-radius:1rem;background:linear-gradient(#78350f,#451a03);touch-action:none;user-select:none}
.ki-hs{flex:1;height:var(--h);min-width:0;border:0;background:linear-gradient(90deg,transparent 44%,var(--c) 44% 56%,transparent 56%);cursor:pointer;display:flex;align-items:flex-end;justify-content:center;color:#fde68a;font:600 9px system-ui;padding:0}.ki-hs small{opacity:.7;writing-mode:vertical-rl}.ki-hs.on{filter:drop-shadow(0 0 6px #fde68a) brightness(1.4)}
/* teclas de escala */
.ki-keys{display:flex;gap:4px;width:100%;height:min(38vh,240px);touch-action:none;user-select:none}.ki-key{flex:1;min-width:0;border:1px solid var(--border);border-radius:0 0 .6rem .6rem;background:linear-gradient(#fff,#e5e7eb);color:#334155;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.15rem;padding-bottom:.5rem;font:600 11px system-ui;cursor:pointer}.ki-key.tonic{background:linear-gradient(#fff,#ddd6fe)}.ki-key.on{background:linear-gradient(#c4b5fd,#7c3aed);color:#fff}.ki-key small{opacity:.55}
/* theremin */
.ki-xy{position:relative;width:100%;height:min(46vh,280px);border-radius:1rem;background:radial-gradient(circle at 50% 100%,#4c1d95,#0f172a);touch-action:none;cursor:crosshair;user-select:none;overflow:hidden}.ki-xl,.ki-xv{position:absolute;color:rgba(255,255,255,.55);font:700 11px system-ui}.ki-xl{right:.7rem;bottom:.5rem}.ki-xv{left:.7rem;top:.5rem}
.ki-dot{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:#fde68a;box-shadow:0 0 14px #fde68a;opacity:0;pointer-events:none;top:50%}.ki-xy.on .ki-dot{opacity:1}
/* pads y secuenciador */
.ki-pads{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;width:100%}.ki-pad{aspect-ratio:1;border-radius:1rem;border:2px solid var(--border);background:linear-gradient(145deg,var(--surface),var(--bg3));color:var(--tx);display:grid;place-content:center;gap:.2rem;cursor:pointer;font:inherit;touch-action:manipulation}.ki-pad small{opacity:.55}.ki-pad.on{background:linear-gradient(135deg,#2563eb,#ec4899);color:#fff;transform:scale(.96)}
.ki-seq{display:grid;gap:4px;width:100%;overflow-x:auto}.ki-sr{display:flex;gap:3px;align-items:center;min-width:560px}.ki-sr em{flex:0 0 7rem;font:700 11px system-ui;font-style:normal;color:var(--tx2)}.ki-sc{flex:1;height:30px;border-radius:.3rem;border:1px solid var(--border);background:var(--btn);cursor:pointer}.ki-sc.q{background:var(--btnh)}.ki-sc.x{background:var(--accent);border-color:var(--accent)}.ki-sc.pl{outline:2px solid #fbbf24}
@media(max-width:760px){.ki-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-1rem;padding-inline:1rem}.ki-chips::-webkit-scrollbar{display:none}.ki-dock{grid-template-columns:1fr}.ki-pads{grid-template-columns:repeat(2,1fr)}.ki-kb{height:210px}.ki-bk{width:5.4%}}

/* grabadora */
.kim-rec{border:1px solid var(--border);border-radius:1rem;background:var(--surface);padding:.9rem;box-shadow:var(--shadow)}.kim-rec h3{margin:0}
.kim-recrow{display:flex;gap:.8rem;align-items:flex-end;flex-wrap:wrap;margin:.4rem 0}.kim-time{font:800 1.3rem/1 ui-monospace,monospace}
.kim-takes{display:grid;gap:.4rem;margin:.6rem 0}.kim-take{display:flex;gap:.4rem;align-items:center}.kim-take small{color:var(--tx2);min-width:2.5rem}
.kim-tn{flex:1;min-width:0;padding:.35rem .5rem;border-radius:.5rem;border:1px solid var(--border);background:var(--inp);color:var(--tx);font:inherit}
.kim-ib{width:2.1rem;height:2.1rem;border:1px solid var(--border);border-radius:50%;background:var(--btn);color:var(--tx);cursor:pointer;font-size:.9rem}.kim-ib:hover{background:var(--btnh)}
/* diálogo de publicar */
.kim-ov{position:fixed;inset:0;z-index:2147483000;background:rgba(2,6,23,.72);display:flex;align-items:center;justify-content:center;padding:14px}
.kim-dlg{width:min(440px,100%);max-height:calc(100vh - 28px);overflow:auto;background:#0f172a;color:#e2e8f0;border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:18px;box-sizing:border-box}
.kim-dlg h3{margin:0 0 4px}.kim-dlg p{margin:0 0 10px;color:#94a3b8;font-size:.85rem}.kim-dlg label{display:block;margin:10px 0 4px;font-size:.78rem;font-weight:700;color:#cbd5e1}
.kim-dlg input[type=text],.kim-dlg input[type=password],.kim-dlg select{width:100%;padding:9px 11px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:#1e293b;color:#f1f5f9;font:inherit;box-sizing:border-box}
.kim-chk{display:flex!important;gap:8px;align-items:flex-start;font-weight:500!important;font-size:.8rem!important}.kim-chk input{margin-top:3px}
.kim-dr{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.kim-dlg button,.kim-dlg a.kim-go{font:inherit;font-weight:800;border:0;border-radius:999px;padding:10px 18px;cursor:pointer;text-align:center;text-decoration:none}
.kim-go{flex:1;background:linear-gradient(100deg,#14b8a6,#7c3aed);color:#fff}.kim-go:disabled{opacity:.55}.kim-alt{background:rgba(255,255,255,.1);color:#e2e8f0}
.kim-msg{min-height:1.2em;font-weight:700;color:#f87171!important}.kim-msg.ok{color:#34d399!important}
.kim-tabs{display:flex;gap:6px;margin:8px 0 2px}.kim-tabs button{flex:1;padding:7px 10px;background:rgba(255,255,255,.08);color:#cbd5e1;font-size:.8rem}.kim-tabs button.on{background:#14b8a6;color:#04201c}
/* v85 · viento, órgano, armonio, herramientas */
.ki-fig{width:100%;max-width:760px;height:auto}.ki-hole{transition:fill .08s}.ki-hole.cv{fill:#f59e0b!important;stroke:#7c2d12}.ki-pipe{transition:filter .1s}.ki-pipe.on{filter:brightness(1.35) drop-shadow(0 0 6px #fde68a)}.ki-valve{transition:transform .08s}
.ki-wgrid{display:grid;grid-template-columns:repeat(5,minmax(0,92px));gap:.6rem;justify-content:center;touch-action:none;user-select:none}
.ki-wn{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.55rem .2rem;border:1px solid var(--border);border-radius:.8rem;background:linear-gradient(#fff,#e8ecf2);color:#0f172a;box-shadow:0 3px 0 #cbd5e1;cursor:pointer;font:800 .9rem system-ui}.ki-wn small{font:600 .65rem ui-monospace,monospace;opacity:.55}.ki-wn.on{transform:translateY(2px);box-shadow:0 1px 0 #cbd5e1;background:linear-gradient(#ddd6fe,#a78bfa);color:#fff}
.ki-orghead{width:100%;border-radius:.9rem .9rem 0 0;background:linear-gradient(#1c1410,#0b0806);padding:.8rem;display:grid;gap:.6rem;justify-items:center;color:#e7d3b0}.ki-orghead.harm{background:linear-gradient(#7a3d10,#2a1305)}.ki-lab{font:700 .72rem ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.ki-pipes{display:flex;gap:4px;align-items:flex-end;height:78px}.ki-pipes i{display:block;width:12px;border-radius:5px 5px 2px 2px;background:linear-gradient(90deg,#8d94a3,#f1f5f9,#6b7280);transition:filter .1s,transform .1s}.ki-pipes i.on{filter:brightness(1.4) drop-shadow(0 0 7px #7dd3fc);transform:translateY(-4px)}
.ki-regs{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.ki-reg{border:2px solid #475569;background:radial-gradient(circle at 35% 30%,#e5e7eb,#94a3b8);color:#0f172a;border-radius:.7rem;padding:.4rem .8rem;font:800 .72rem system-ui;cursor:pointer}.ki-reg.on{border-color:#38bdf8;box-shadow:0 0 12px #38bdf8;background:radial-gradient(circle at 35% 30%,#e0f2fe,#38bdf8)}
.ki-reg.round{width:2.8rem;height:2.8rem;border-radius:50%;padding:0;border-color:#8a6508;background:radial-gradient(circle at 35% 30%,#fde68a,#d4a017 60%,#8a6508)}.ki-reg.round.on{border-color:#fff;box-shadow:0 0 12px #fde68a}
.ki-kb.harm{background:#3d1d08;border:3px solid #8a4b1a}.ki-kb.harm .ki-wk{background:linear-gradient(#fff 70%,#e9dcc3)}
/* metrónomo */
.ki-mdisp{width:min(100%,420px);text-align:center;border-radius:1.4rem;background:#04060d;color:#10b981;padding:1.2rem}.ki-mnum{display:block;font:800 5rem/1 ui-monospace,Consolas,monospace;text-shadow:0 0 18px rgba(16,185,129,.55)}.ki-mname{display:inline-block;margin-top:.4rem;padding:.2rem .9rem;border-radius:999px;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.4);font:700 .8rem ui-monospace,monospace}
.ki-mdots{display:flex;gap:.7rem;justify-content:center;margin-top:.9rem}.ki-mdots i{width:18px;height:18px;border-radius:50%;border:2px solid #475569;background:#1e293b}.ki-mdots i.ac{border-color:#f59e0b}.ki-mdots i.on{background:#10b981;border-color:#10b981;box-shadow:0 0 12px #10b981}.ki-mdots i.ac.on{background:#f59e0b;border-color:#f59e0b;box-shadow:0 0 12px #f59e0b}
.ki-box input[type=range]{accent-color:var(--accent)}.ki-btn.big{padding:.8rem 1.8rem;font-size:1rem}
/* círculo de quintas */
.ki-circ{width:min(100%,430px);height:auto;touch-action:manipulation}.ki-seg{cursor:pointer}.ki-seg .out{fill:#fff;stroke:#e2e8f0}.ki-seg .inn{fill:#f1f5f9;stroke:#e2e8f0}.ki-seg:hover .out,.ki-seg:hover .inn{fill:#e0e7ff}.ki-seg.nb .out{fill:#dbeafe}.ki-seg.sel .out{fill:#1d4ed8}.ki-seg.sel .tout{fill:#fff}.ki-seg.sel:not(.minmode) .inn{fill:#ede9fe}.ki-seg.sel.minmode .inn{fill:#7c3aed}.ki-seg.sel.minmode .tinn{fill:#fff}.ki-seg.sel.minmode .out{fill:#fff}.ki-seg.sel.minmode .tout{fill:#0f172a}
.tout{font:800 16px system-ui;fill:#0f172a;pointer-events:none}.tinn{font:700 12px system-ui;fill:#475569;pointer-events:none}.tsig{font:700 8px system-ui;fill:#d97706;pointer-events:none}.tctr{font:800 26px system-ui;fill:#38bdf8}.tctr2{font:700 10px system-ui;fill:#94a3b8}
.ki-chrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:.5rem;width:100%}.ki-chd{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.55rem .2rem;border:1px solid var(--border);border-radius:.9rem;background:var(--surface);color:var(--tx);cursor:pointer}.ki-chd small{font:700 .7rem ui-monospace,monospace;background:var(--btn);border-radius:.4rem;padding:0 .4rem}.ki-chd em{font:700 .62rem system-ui;font-style:normal;color:var(--accent)}.ki-chd.on{background:var(--accent);color:#fff}.ki-chd.on em{color:#fff}
/* diccionario */
.ki-search{flex:1;min-width:200px}.ki-cnt{font:700 .8rem ui-monospace,monospace;background:#0f172a;color:#34d399;padding:.35rem .7rem;border-radius:.6rem}
.ki-dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.7rem;width:100%}.ki-dcard{position:relative;padding:.8rem;border:1px solid var(--border);border-radius:.9rem;background:var(--surface);display:grid;gap:.2rem;text-align:left}.ki-dcard p{margin:0;color:var(--tx2);font-size:.82rem}.ki-dtop{display:flex;justify-content:space-between;align-items:center}.ki-dtag{font:800 .62rem system-ui;text-transform:uppercase;background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:.1rem .55rem}.ki-dtop small{font:700 .65rem ui-monospace,monospace;color:var(--tx2)}.ki-dcard .ki-ib{position:absolute;right:.6rem;bottom:.6rem;width:2rem;height:2rem;border-radius:50%;border:1px solid var(--border);background:var(--btn);color:var(--tx);cursor:pointer}
/* afinador */
.ki-tdisp{width:min(100%,420px);text-align:center;border-radius:1.2rem;background:#04060d;color:#94a3b8;padding:1.1rem}.ki-tdisp.ok{box-shadow:0 0 0 3px #10b981}.ki-tnote{display:block;font:800 4rem/1 system-ui;color:#38bdf8}.ki-thz{font:700 .85rem ui-monospace,monospace}.ki-tgauge{position:relative;height:16px;margin:1rem .5rem .2rem;border-radius:999px;background:linear-gradient(90deg,#ef4444,#f59e0b 35%,#10b981 50%,#f59e0b 65%,#ef4444)}.ki-tneedle{position:absolute;top:-6px;width:4px;height:28px;margin-left:-2px;border-radius:2px;background:#fff;left:50%;transition:left .08s}.ki-tz{position:absolute;left:50%;top:20px;transform:translateX(-50%);font-size:.7rem;color:#64748b}
/* compartir y juego */
.ki-share{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;margin:.4rem 0}.ki-sh{display:inline-block;padding:.3rem .8rem;border-radius:999px;border:1px solid var(--border);background:var(--btn);color:var(--tx);font:700 .75rem system-ui;text-decoration:none;cursor:pointer}.ki-sh:hover{border-color:var(--accent)}.ki-game{margin:.2rem 0;font-weight:700;color:var(--accent)}
@media(max-width:760px){.ki-wgrid{grid-template-columns:repeat(5,minmax(0,1fr))}.ki-mnum{font-size:3.6rem}}

/* v103 · Grabadora y Banda arriba, plegables */
.ki-dh{display:flex;align-items:center;gap:.4rem;cursor:pointer;user-select:none;margin:0 0 .3rem}
.ki-dh::after{content:'▾';margin-left:auto;font-size:.85rem;color:var(--tx2);transition:transform .15s}
.kim-rec.min .ki-dh::after,.ki-band.min .ki-dh::after{transform:rotate(-90deg)}
.kim-rec.min,.ki-band.min{padding:.55rem .9rem}
.kim-rec.min .kim-note,.kim-rec.min .kim-takes,.kim-rec.min .kim-f,.kim-rec.min>.kim-btn{display:none}
.kim-rec.min .kim-recrow{margin:0}
.kim-rec.min .ki-dh,.ki-band.min .ki-dh{margin:0 0 .3rem}
.ki-band.min>:not(.ki-dh){display:none}
.ki-band.min .ki-dh{margin:0}
.ki-dh:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:.4rem}
.kim-btn.rec.live{background:#dc2626;border-color:#dc2626;color:#fff}

.ki-btn.pri:not(.on),.kim-btn.pri:not(.on){background:linear-gradient(100deg,#2563eb,#7c3aed 55%,#ec4899);border-color:transparent;color:#fff}

/* v205 · vista de instrumento: el instrumento primero; el resto, en grupos plegables con flecha */
.ki-quick{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end;margin:.2rem 0 .4rem}
.ki-grp{border:1px solid var(--border);border-radius:1rem;background:var(--surface);margin:.5rem 0;box-shadow:var(--shadow)}
.ki-gs{display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem;font-weight:800;cursor:pointer;list-style:none;user-select:none;min-height:2.75rem}
.ki-gs::-webkit-details-marker{display:none}
.ki-gs::after{content:'▾';margin-left:auto;color:var(--tx2);transition:transform .15s}
.ki-grp:not([open]) .ki-gs::after{transform:rotate(-90deg)}
.ki-gs:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:1rem}
.ki-gb{padding:0 1rem 1rem}
.ki-view>.ki-dock{margin:1rem 0 0}
@media(prefers-reduced-motion:reduce){.ki-gs::after{transition:none}}
/* v205 · teclados en pantallas estrechas: solo se rotulan los Do (referencia de octava); el resto se ve por la posición */
@media(max-width:600px){.ki-wk:not(.ki-do) i,.ki-bk i{display:none}.ki-wk.ki-do i{color:#1e293b;font-size:9px}}

/* v221 · Catálogo limpio: botón «Categorías» + cuadro (antes: fila de 10 botones y grabadora/banda arriba) */
.ki-tools{display:flex;align-items:center;justify-content:flex-start;gap:.8rem;flex-wrap:wrap;margin:.5rem 0 .9rem}
.ki-catbtn{display:inline-flex;align-items:center;gap:.3rem;min-height:2.75rem;padding:.55rem 1.1rem}
.ki-count{color:var(--tx2);font-size:.85rem;font-weight:700}
.ki-ov{position:fixed;inset:0;z-index:2147483000;background:rgba(2,6,23,.6);display:flex;align-items:center;justify-content:center;padding:14px}
.ki-dlg{width:min(560px,100%);max-height:calc(100dvh - 28px);overflow:auto;background:var(--bg3,#fff);color:var(--tx);border:1px solid var(--border);border-radius:1.2rem;padding:1rem;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.ki-dlg-h{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.7rem}.ki-dlg-h h3{margin:0;font-size:1.15rem}
.ki-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.55rem}
.ki-cat{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;min-height:4.4rem;padding:.7rem .85rem;border:1px solid var(--border);border-radius:.9rem;background:var(--surface);color:var(--tx);font:inherit;text-align:left;cursor:pointer}
.ki-cat:hover{border-color:var(--accent)}.ki-cat.on{background:var(--accent);border-color:var(--accent);color:#fff}
.ki-cic{font-size:1.4rem;line-height:1}.ki-cat b{font-size:.88rem;line-height:1.2}.ki-cat small{opacity:.75;font-weight:700}
.ki-cat:focus-visible,.ki-catbtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ki-gb>.ki-dock{margin:0}
@media(max-width:560px){
  .ki-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
  .ki-card{padding:.7rem}.ki-ic{font-size:1.8rem}.ki-card .ki-d{display:none}.ki-card b{font-size:.9rem;line-height:1.2}
  .ki-cats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ki-catbtn{flex:1 1 auto;justify-content:center}
}

/* v241 · barra de herramientas dentro de la tarjeta blanca: volumen + Grabador (junto al Reproducir); estilos en chips; panel de tomas y banda en ventana */
.ki-stage{grid-template-columns:minmax(0,1fr)}.ki-box>*{max-width:100%}.ki-box>.ki-row{justify-content:center;align-items:center}
.ki-tools{width:100%;display:flex;gap:.6rem 1rem;align-items:center;flex-wrap:wrap;margin:0 0 .5rem}.ki-tools:empty{display:none}
.ki-tools .ki-quick{margin:0}.ki-tools .ki-f{grid-auto-flow:column;align-items:center;gap:.5rem}
.ki-gb2{display:inline-flex;margin-left:auto}.ki-tools .ki-gb2{margin-left:auto}
.ki .ki-btn.ki-grab{display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(100deg,#ef4444,#ec4899)!important;border-color:transparent;color:#fff;box-shadow:0 4px 14px rgba(239,68,68,.28);white-space:nowrap}
.ki .ki-btn.ki-grab:hover{filter:brightness(1.07)}
.ki .ki-btn.ki-grab.live{background:#dc2626!important;animation:ki-pulse 1.1s ease-in-out infinite}@keyframes ki-pulse{50%{box-shadow:0 0 0 .45rem rgba(220,38,38,.18)}}
@media(prefers-reduced-motion:reduce){.ki .ki-btn.ki-grab.live{animation:none}}
.ki-gmenu{position:fixed;z-index:2147483000;min-width:14rem;display:grid;gap:.15rem;padding:.4rem;background:var(--surface);border:1px solid var(--border);border-radius:1rem;box-shadow:0 16px 40px rgba(15,23,42,.25)}.ki-gmenu[hidden]{display:none}
.ki-gmi{display:grid;gap:.15rem;text-align:left;border:0;background:transparent;color:var(--tx);border-radius:.7rem;padding:.55rem .8rem;font:inherit;cursor:pointer}.ki-gmi b{font-size:.9rem}.ki-gmi small{color:var(--tx2);font-size:.75rem}
.ki-gmi:hover,.ki-gmi:focus-visible{background:var(--btnh);outline:0}
.ki-chips{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;max-width:100%}
.ki-chip{border:1px solid var(--border);background:var(--btn);color:var(--tx);border-radius:999px;padding:.34rem .85rem;font-family:inherit;font-weight:700;font-size:.8rem;line-height:1;cursor:pointer}.ki-chip:hover{background:var(--btnh)}
.ki-chip.on{background:var(--accent);border-color:var(--accent);color:#fff}
.ki-rp{position:fixed;inset:0;z-index:2147483000;background:rgba(2,6,23,.55);display:flex;align-items:center;justify-content:center;padding:14px}.ki-rp[hidden]{display:none}
.ki-rpc{width:min(860px,100%);max-height:calc(100vh - 28px);overflow:auto;background:#f4f5fb;color:var(--tx);border-radius:1.2rem;padding:1rem;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.ki-rph{display:flex;align-items:center;justify-content:space-between;margin:0 0 .6rem;font-size:1.1rem}.ki-rpc .ki-dock{margin:0}
@media(max-width:700px){.ki-rpc .ki-dock{grid-template-columns:1fr}}
/* v241 · la vista ocupa siempre el ancho disponible (antes se encogía al contenido y recortaba las láminas) */
.ki{width:100%;box-sizing:border-box}.ki-view,.ki-hub{width:100%}
/* v241 · los 16 pasos caben siempre en la tarjeta (en pantallas estrechas se desliza) */
.ki-seq .ki-sc{min-width:0!important;padding:0!important}.ki-seq .ki-sr{min-width:0}.ki-sr em{flex-basis:6rem}
@media(max-width:700px){.ki-seq .ki-sr{min-width:520px}}

/* v241 · teclado de violín / violonchelo: 4 filas = 4 cuerdas, una tecla por semitono */
.ki-vk{display:grid;gap:.35rem;width:100%;padding:.6rem;border-radius:.9rem;background:linear-gradient(#3a1d0c,#1c0d05);touch-action:none;user-select:none}
.ki-vr{display:grid;grid-template-columns:3rem repeat(10,minmax(0,1fr));gap:.3rem;align-items:center}.ki-vr em{font:800 .75rem system-ui;font-style:normal;color:#fde68a;text-align:center}
.ki-vc{display:flex;flex-direction:column;align-items:center;gap:.05rem;padding:.4rem .1rem;min-width:0;border:1px solid rgba(0,0,0,.35);border-radius:.55rem;background:linear-gradient(#fffdf6,#efe3c9);color:#2b1a0b;cursor:pointer;font-family:inherit}
.ki-vc b{font-size:.78rem}.ki-vc small{font:700 .62rem system-ui;background:#2b1a0b;color:#fde68a;border-radius:.25rem;padding:0 .3rem;min-width:1.1em;text-align:center}
.ki-vc.sc{background:linear-gradient(#e0f2fe,#bae6fd)}.ki-vc.rt{background:linear-gradient(#fde68a,#fbbf24)}.ki-vc.on{background:#f97316;color:#fff;transform:scale(.96);box-shadow:0 0 12px #fdba74}.ki-vc.on small{background:#fff;color:#c2410c}
@media(max-width:700px){.ki-vr{grid-template-columns:2rem repeat(10,minmax(0,1fr));gap:.18rem}.ki-vc b{font-size:.6rem}.ki-vc small{display:none}.ki-vc{padding:.45rem 0}}

/* v242 · ilustraciones y Gramola */
.ki-art svg{width:3.4rem;height:3.4rem;display:block;filter:drop-shadow(0 3px 4px rgba(0,0,0,.12));transition:transform .2s}.ki-card:hover .ki-art svg{transform:translateY(-2px) rotate(-3deg) scale(1.06)}
.ki-hart svg{width:1.5em;height:1.5em;vertical-align:-.3em}
.k242{display:flex;flex-direction:column;gap:.8rem}.k242-stage{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:center;padding:.8rem;border-radius:1rem;background:linear-gradient(135deg,#2a2140,#3a2c5a);color:#fff}
.k242-art{width:170px;flex:none}.k242-art svg{width:100%;height:auto;display:block;transition:filter .15s}.k242-art.run svg{animation:k242w 1.6s ease-in-out infinite}.k242-art.beat svg{filter:drop-shadow(0 0 14px #ffd36b) brightness(1.08)}
@keyframes k242w{0%,100%{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}
.k242-lcd{flex:1;min-width:220px;display:flex;flex-direction:column;gap:.45rem}.k242-ttl{font-size:1.25rem}.k242-sub{opacity:.8}
.k242-tubes{display:flex;gap:.5rem;align-items:flex-end;height:44px}.k242-tube{flex:1;height:100%;border-radius:999px;opacity:.28;transition:opacity .1s,box-shadow .1s}
.k242-tube.t0{background:#f28fb0}.k242-tube.t1{background:#f8dd7b}.k242-tube.t2{background:#6fe0c8}.k242-tube.on{opacity:1;box-shadow:0 0 18px currentColor}
.k242-tube.t0.on{box-shadow:0 0 18px #f28fb0}.k242-tube.t1.on{box-shadow:0 0 18px #f8dd7b}.k242-tube.t2.on{box-shadow:0 0 18px #6fe0c8}
.k242-bar{height:6px;border-radius:9px;background:rgba(255,255,255,.2);overflow:hidden}.k242-bar i{display:block;height:100%;width:0;background:#f8dd7b;transition:width .2s linear}
.k242-ctl,.k242-opt{display:flex;gap:.5rem;flex-wrap:wrap;align-items:flex-end}.k242-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.5rem}
.k242-song{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.6rem .8rem;border:2px solid var(--border);border-radius:.8rem;background:var(--surface);color:var(--tx);cursor:pointer;text-align:left}
.k242-song.on{border-color:#f28fb0;background:#fff0f5;color:#2a2140}.k242-no{font:700 .75rem monospace;background:#f8dd7b;color:#2a2140;border-radius:.4rem;padding:0 .35rem}.k242-song small{color:var(--tx2)}
.k242-hint{font-size:.8rem;color:var(--tx2);margin:0}.k242-kb{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.k242-key{display:flex;flex-direction:column;align-items:center;padding:.9rem 0 .4rem;border:1px solid #cfc7b2;border-radius:0 0 .6rem .6rem;background:#fffbea;color:#2a2140;cursor:pointer;touch-action:none;user-select:none}.k242-key.on{background:#f8dd7b}.k242-key small{opacity:.55}
@media (max-width:600px){.ki-art svg{width:2.6rem;height:2.6rem}.k242-art{width:120px}}

/* v258 · botones Ajustes / Efectos / Compartir dentro de la tarjeta del instrumento */
.ki-tg{display:inline-flex;flex-wrap:wrap;gap:.4rem;margin-left:auto}
.ki-tb{padding:.35rem .75rem;font-size:.82rem;min-height:2.2rem}
.ki-tb.on{background:var(--accent);border-color:var(--accent);color:#fff}
.ki-pn{width:100%;display:grid;gap:.5rem;margin:0 0 .6rem}.ki-pn:empty{display:none}
.ki-pp{border:1px solid var(--border);border-radius:.9rem;background:var(--surface);padding:.8rem 1rem}.ki-pp[hidden]{display:none}

/* v294 · kalimbas: caja de madera, puente metálico y láminas (la grave al centro) */
.ki-bars.kal{box-sizing:border-box;position:relative;display:flex;gap:clamp(2px,.7%,5px);align-items:flex-start;justify-content:center;width:min(100%,560px);margin:0 auto;height:min(46vh,310px);padding:38px 8% 24px;border-radius:18px;background:linear-gradient(115deg,rgba(255,255,255,.16),transparent 42%),repeating-linear-gradient(88deg,rgba(90,45,10,.11) 0 2px,transparent 2px 8px),linear-gradient(#c98a4b,#a46528);box-shadow:0 14px 28px rgba(0,0,0,.35),inset 0 2px 0 rgba(255,255,255,.28),inset 0 -6px 0 rgba(0,0,0,.18)}
.ki-bars.kal::before{content:"";position:absolute;left:4%;right:4%;top:28px;height:11px;border-radius:6px;background:linear-gradient(#f4f4f5,#9ca3af 55%,#e5e7eb);box-shadow:0 2px 3px rgba(0,0,0,.4);z-index:2;pointer-events:none}
.ki-bars.kal .ki-bar{flex:1 1 0;max-width:34px;min-width:0;border-radius:3px 3px 9px 9px;background:linear-gradient(90deg,#8b929c,#f3f4f6 45%,#a3aab4 78%,#6b7280);color:#1f2937;box-shadow:1px 2px 3px rgba(0,0,0,.35);padding:0 0 .3rem;font-size:10px;touch-action:none}
.ki-bars.kal .ki-bar small{display:none}
.ki-bars.kal .ki-bar.on{filter:brightness(1.18);transform:translateY(3px);box-shadow:0 0 0 rgba(0,0,0,0)}
.ki-bars.kal.kalimba17{background:linear-gradient(115deg,rgba(255,255,255,.16),transparent 42%),repeating-linear-gradient(88deg,rgba(90,45,10,.11) 0 2px,transparent 2px 8px),linear-gradient(#bf7d3e,#9b5d22)}
.ki-bars.kal.kalimbasela{padding-bottom:96px;background:radial-gradient(circle at 50% 84%,#24120a 0 6.5%,#b97a43 6.8% 9%,transparent 9.4%),linear-gradient(115deg,rgba(255,255,255,.2),transparent 42%),repeating-linear-gradient(88deg,rgba(120,70,30,.09) 0 2px,transparent 2px 8px),linear-gradient(#e0ad78,#cf9559)}
.ki-bars.kal.kalimbaredonda{--s:min(86vw,340px);width:var(--s);height:var(--s);padding:calc(var(--s)*.17) calc(var(--s)*.17) calc(var(--s)*.11);border-radius:50%;background:linear-gradient(115deg,rgba(255,255,255,.3),transparent 45%),repeating-linear-gradient(88deg,rgba(150,100,50,.08) 0 2px,transparent 2px 9px),linear-gradient(#ecd0a2,#dcb67d)}
.ki-bars.kal.kalimbaredonda::before{top:calc(var(--s)*.18)}
.ki-bars.kal.kalimbaredonda .ki-bar{background:linear-gradient(90deg,#111827,#4b5563 45%,#1f2937 80%,#030712);color:#f3f4f6}
.ki-bars.kal.sansula{--s:min(88vw,400px);width:var(--s);height:calc(var(--s)*.78);padding:calc(var(--s)*.16) calc(var(--s)*.27) calc(var(--s)*.11);border-radius:50%;background:radial-gradient(ellipse at 50% 40%,rgba(255,255,255,.16),transparent 60%),linear-gradient(#9b8279,#76584e);box-shadow:0 14px 28px rgba(0,0,0,.4),inset 0 0 0 5px rgba(60,35,25,.5)}
.ki-bars.kal.sansula::before{top:calc(var(--s)*.17);left:24%;right:24%}

/* v296 · kalimba eléctrica */
.ki-bars.kal.kalimbaelec{background:linear-gradient(115deg,rgba(255,255,255,.1),transparent 40%),repeating-linear-gradient(88deg,rgba(255,255,255,.035) 0 2px,transparent 2px 8px),linear-gradient(#1f2937,#0b0f14);box-shadow:0 14px 28px rgba(0,0,0,.5),inset 0 2px 0 rgba(255,255,255,.12),inset 0 -6px 0 rgba(0,0,0,.4)}
.ki-bars.kal.kalimbaelec::after{content:"";position:absolute;right:14px;bottom:14px;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#0b0f14 0 28%,#9ca3af 30% 52%,#e5e7eb 54% 70%,#4b5563 72%);box-shadow:0 2px 4px rgba(0,0,0,.6)}
.ki-bars.kal.kalimbaelec .ki-bar.on{box-shadow:0 0 16px 3px #22d3ee;filter:brightness(1.25)}
.ki-fx{box-sizing:border-box;width:min(100%,560px);margin:14px auto 0;padding:12px 14px;border-radius:14px;background:linear-gradient(#1b2331,#0f141c);color:#e5e7eb;box-shadow:0 8px 20px rgba(0,0,0,.4);display:flex;flex-direction:column;gap:10px}
.ki-fx>b{font:800 11px system-ui;letter-spacing:.14em;text-transform:uppercase;color:#67e8f9}
.ki-knobs{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-around}
.ki-knob{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:62px;font:600 11px system-ui}
/* v330 · la perilla se llamaba «ki-kb», igual que el teclado del piano: su regla (52×52 px, redonda) encogía el piano, el órgano, el acordeón y el armonio. Ahora es «ki-dial». */
.ki-dial{--a:-135deg;position:relative;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#4b5563,#111827 70%);box-shadow:0 3px 6px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.2);cursor:ns-resize;touch-action:none;user-select:none}
.ki-dial::after{content:"";position:absolute;left:calc(50% - 2px);top:5px;width:4px;height:17px;border-radius:2px;background:#22d3ee;box-shadow:0 0 6px #22d3ee;transform-origin:50% 21px;transform:rotate(var(--a))}
.ki-dial:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}
.ki-knob output{opacity:.75;font-weight:500}
.ki-fxpre{display:flex;flex-wrap:wrap;gap:8px}
.ki-chip{border:1px solid #334155;background:#1e293b;color:#e5e7eb;border-radius:999px;padding:.35rem .8rem;font:600 12px system-ui;cursor:pointer}.ki-chip:hover{border-color:#22d3ee;color:#fff}
.ki-gb2{gap:.4rem;flex-wrap:wrap}.ki .ki-btn.ki-bandbtn{background:#4f46e5!important;color:#fff;border-color:transparent}
