/* Karma Tune — pase premium para Aprender, Canciones, Herramientas y Perfil.
   Mismo lenguaje que el afinador: color por cuerda (--lane0..5), dorado = logro, brillo medido. */

/* ---------- base compartida ---------- */
.btn.primary{background:var(--okfill);color:var(--oktext);box-shadow:0 8px 24px rgba(201,164,92,.28)}
.btn.primary:active{transform:scale(.98)}
.btn.stop{box-shadow:0 8px 24px color-mix(in srgb,var(--red) 35%,transparent)}
.seg button[aria-pressed="true"]{background:color-mix(in srgb,var(--ok) 22%,transparent);color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ok) 55%,transparent)}
html[data-theme="light"] .seg button[aria-pressed="true"]{background:#fff;color:#1d1d1f;box-shadow:0 1px 4px rgba(0,0,0,.12),inset 0 0 0 1px color-mix(in srgb,var(--ok) 60%,transparent)}
.k-link{color:var(--ok)}
.hud div{position:relative;overflow:hidden}
.hud b{font:800 26px/1.1 var(--display);letter-spacing:-.01em}
.hud div:nth-child(1) b{color:var(--ok)}
.hud div:nth-child(2) b{color:var(--lane1)}
.hud div:nth-child(3) b{color:var(--lane2)}
.hud div::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;border-radius:2px;opacity:.7}
.hud div:nth-child(1)::after{background:var(--ok)} .hud div:nth-child(2)::after{background:var(--lane1)} .hud div:nth-child(3)::after{background:var(--lane2)}

/* ---------- Aprender: ruta a color ---------- */
.k-node{position:relative;width:128px;padding:12px 12px 10px;transition:transform .2s var(--ease),box-shadow .2s}
.k-node .n{background:color-mix(in srgb,var(--ln) 18%,transparent);color:var(--ln);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ln) 60%,transparent)}
.k-node small{color:var(--muted)}
.k-node.cur{background:color-mix(in srgb,var(--ln) 14%,var(--card));box-shadow:inset 0 0 0 1.5px var(--ln),0 10px 26px color-mix(in srgb,var(--ln) 25%,transparent)}
.k-node.cur .n{background:var(--ln);color:var(--lanetext);box-shadow:0 0 14px color-mix(in srgb,var(--ln) 60%,transparent)}
.k-node.done:not(.cur) .n{background:var(--okfill);color:var(--oktext);box-shadow:none}
.k-st{display:flex;gap:2px;margin-top:2px;font-size:12px;line-height:1}
.k-st i{font-style:normal;color:color-mix(in srgb,var(--ink) 18%,transparent)}
.k-st i.on{color:var(--ok);text-shadow:0 0 8px color-mix(in srgb,var(--ok) 60%,transparent)}
.lesson .lab{color:var(--ok)}
.stagebox{border:0;box-shadow:inset 0 0 0 1px var(--line),0 18px 40px rgba(0,0,0,.35)}
html[data-theme="light"] .stagebox{box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),0 14px 30px rgba(0,0,0,.08)}
.transport .btn{font-size:17px;padding:16px}

/* ---------- Canciones ---------- */
.k-week{min-height:170px;overflow:hidden;
  background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--lane5) 45%,transparent),transparent 55%),
    radial-gradient(90% 80% at 0% 100%,color-mix(in srgb,var(--lane3) 40%,transparent),transparent 60%),
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.82)),url(/img/inst/docerolaOct.webp) center/cover}
.k-week::after{content:"";position:absolute;right:16px;bottom:16px;width:44px;height:44px;border-radius:50%;background:var(--okfill);
  box-shadow:0 8px 22px rgba(201,164,92,.45);-webkit-mask:none;
  clip-path:circle(50%)}
.k-week::before{content:"";position:absolute;right:31px;bottom:29px;z-index:1;border-left:16px solid #1a1206;border-top:9px solid transparent;border-bottom:9px solid transparent}
.k-week b{max-width:calc(100% - 60px);color:#fff}
.k-week small{color:rgba(255,255,255,.8);max-width:calc(100% - 60px)}
.k-chip{background:var(--okfill);color:var(--oktext)}
#songsEmpty,#setsEmpty{margin:0;padding:16px 16px 16px 58px;border-radius:16px;background:var(--card);position:relative;font-size:14px;color:var(--muted)}
#songsEmpty::before,#setsEmpty::before{content:"♪";position:absolute;left:14px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:10px;display:grid;place-items:center;
  font:700 17px var(--ui);color:var(--lanetext);background:var(--lane4);box-shadow:0 0 14px color-mix(in srgb,var(--lane4) 50%,transparent)}
#setsEmpty::before{content:"≡";background:var(--lane2);box-shadow:0 0 14px color-mix(in srgb,var(--lane2) 50%,transparent)}
#songList .opt,#setList .opt{font-weight:600}

/* ---------- Herramientas ---------- */
.bpm output{background:linear-gradient(180deg,var(--ink),color-mix(in srgb,var(--ink) 70%,transparent));-webkit-background-clip:text;background-clip:text;color:transparent}
.rnd{transition:transform .15s}
.rnd:active{transform:scale(.92)}
.pulses i{background:color-mix(in srgb,var(--ink) 12%,transparent)}
.pulses i.b{background:color-mix(in srgb,var(--ok) 40%,transparent)}
.pulses i.on{background:var(--ok);box-shadow:0 0 16px var(--ok);transform:scale(1.2)}
.rhythms button{position:relative;padding-left:30px;color:var(--ink)}
.rhythms button::before{content:"";position:absolute;left:13px;top:17px;width:8px;height:8px;border-radius:50%;background:var(--ln,var(--ok));box-shadow:0 0 8px var(--ln,var(--ok))}
.rhythms button[aria-checked="true"]{background:color-mix(in srgb,var(--ln,var(--ok)) 16%,var(--card));box-shadow:inset 0 0 0 1.5px var(--ln,var(--ok)),0 8px 22px color-mix(in srgb,var(--ln,var(--ok)) 22%,transparent)}
.roots button[aria-checked="true"]{background:var(--okfill);color:var(--oktext);box-shadow:0 6px 16px rgba(201,164,92,.35)}
input[type=range]#bpmRange{accent-color:var(--ok)}

/* ---------- Perfil ---------- */
.k-av{background:var(--okfill);color:var(--oktext);box-shadow:0 6px 18px rgba(201,164,92,.35)}
.k-prem.beta{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ok) 55%,transparent)}
.k-betatag{margin:-4px 2px 0;font:500 13px/1.4 var(--ui);color:var(--muted)}
.k-betatag b{color:var(--ok)}
.k-streak svg{color:var(--lane1);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--lane1) 60%,transparent))}
.k-bars i{background:color-mix(in srgb,var(--ok) 30%,transparent)}
.k-bars i.today{background:var(--okfill);box-shadow:0 0 14px color-mix(in srgb,var(--ok) 55%,transparent)}
.k-badges button.got{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ok) 50%,transparent)}
html[data-theme="light"] .hud div:nth-child(3) b{color:color-mix(in srgb,var(--lane2) 70%,#000)}
html[data-theme="light"] .hud div:nth-child(2) b{color:color-mix(in srgb,var(--lane1) 85%,#000)}
html[data-theme="light"] .rhythms button[aria-checked="true"]{box-shadow:inset 0 0 0 1.5px var(--ln,var(--ok)),0 8px 22px color-mix(in srgb,var(--ln,var(--ok)) 22%,transparent)}
html[data-theme="light"] .k-node.cur{box-shadow:inset 0 0 0 1.5px var(--ln),0 10px 26px color-mix(in srgb,var(--ln) 25%,transparent)}
html[data-theme="light"] .k-badges button:not(.got) img{opacity:.28}
html[data-theme="light"] .result{background:rgba(255,255,255,.86)}
html[data-theme="light"] .result .btn:not(.primary){background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.result h2{text-wrap:balance}
.stars span.on{text-shadow:0 0 18px color-mix(in srgb,var(--ok) 70%,transparent)}
html[data-theme="light"] .stars{color:rgba(0,0,0,.12)}
/* diagrama de acordes: cada dedo con el color de su cuerda, como en el afinador */
.chordbox .dot.ln0,.chordbox .dot.ln1,.chordbox .dot.ln2,.chordbox .dot.ln3,.chordbox .dot.ln4,.chordbox .dot.ln5{fill:var(--ln);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--ln) 55%,transparent))}

/* ---------- Acordes para novatos ---------- */
.chordbox .csol{fill:var(--muted);font:600 14px var(--ui)}
.chordbox .frn{fill:var(--muted);font:600 13px var(--ui)}
.chordbox .frn.hi{fill:var(--ok);font-weight:800}
.chordbox .sn{fill:var(--muted-2,#5c5c61);font:600 10px var(--ui)}
.chordbox .lab{font:700 13px var(--ui)}
.chordbox .fg .dot{fill:var(--ln);filter:drop-shadow(0 0 7px color-mix(in srgb,var(--ln) 55%,transparent))}
.chordbox .fg .dtx{fill:#000;font:800 15px var(--ui)}
html[data-theme="light"] .chordbox .fg .dtx{fill:#fff}
.chordbox .barre rect{fill:var(--ok);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--ok) 60%,transparent))}
.chordbox .barre text,.k-now .barre text{fill:var(--oktext);font:800 15px var(--ui)}
.k-now .barre rect{fill:var(--ok)}
.chordbox [data-s]{transition:opacity .35s,transform .45s cubic-bezier(.2,1.5,.4,1);transform-box:fill-box;transform-origin:center}
.chordbox.anim [data-s]:not(.show){opacity:0;transform:scale(.4)}
.chordbox.anim [data-s].show{opacity:1;transform:none}
.k-how{display:grid;grid-template-columns:1.4fr 1fr;gap:8px;margin-top:10px}
.k-how .btn{padding:13px;font-size:15px}
.k-step{grid-column:1/-1;margin:2px 4px 0;min-height:40px;font:500 15px/1.4 var(--ui);color:var(--ink)}
.k-hand{display:flex;justify-content:space-between;gap:6px;margin-top:6px}
.k-hand span{flex:1;display:flex;align-items:center;gap:6px;font:500 12px var(--ui);color:var(--muted);background:var(--card);border-radius:12px;padding:8px}
.k-hand b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--bg);font:800 12px var(--ui);flex:none}
.seg.wide.three{grid-template-columns:1fr 1fr 1fr}

/* ---------- Círculos ---------- */
.circ{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.k-intro{margin:0;font:400 14px/1.45 var(--ui);color:var(--muted)}
.k-intro b{color:var(--ink)}
.k-circs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.k-circ{position:relative;border:0;text-align:left;background:var(--card);border-radius:14px;padding:12px 12px 12px 14px;cursor:pointer;color:var(--ink);display:flex;flex-direction:column;gap:2px;font:600 15px var(--ui)}
.k-circ small{font:500 12px var(--ui);color:var(--muted)}
.k-circ em{font:700 12px var(--ui);font-style:normal;color:var(--ln);margin-top:4px;letter-spacing:.02em}
.k-circ[aria-pressed="true"]{background:color-mix(in srgb,var(--ln) 15%,var(--card));box-shadow:inset 0 0 0 1.5px var(--ln),0 8px 22px color-mix(in srgb,var(--ln) 22%,transparent)}
.k-keys button{min-width:52px}
.k-prog{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.k-prog:has(.k-pc:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}
.k-pc{position:relative;border:0;border-radius:14px;padding:12px 4px 14px;background:color-mix(in srgb,var(--ln) 12%,var(--card));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ln) 45%,transparent);
  color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;transition:transform .15s,background .15s}
.k-pc b{font:800 20px var(--ui);color:var(--ln)}
.k-pc small{font:500 11px var(--ui);color:var(--muted)}
.k-pc.on{background:var(--ln);transform:translateY(-2px);box-shadow:0 10px 24px color-mix(in srgb,var(--ln) 45%,transparent)}
.k-pc.on b,.k-pc.on small{color:var(--lanetext)}
.k-tip{margin:0}
.k-play{background:var(--card);border-radius:20px;padding:14px;display:flex;flex-direction:column;gap:12px}
.k-now{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}
.k-now.pop .k-cur{animation:kpop .35s cubic-bezier(.2,1.5,.4,1)}
@keyframes kpop{0%{transform:scale(.94);opacity:.6}100%{transform:none;opacity:1}}
.k-cur svg{width:100%;max-width:300px;display:block;margin:0 auto}
.k-cur .cname{fill:var(--ink);font:800 30px var(--ui)} .k-cur .csol{fill:var(--muted);font:600 14px var(--ui)}
.k-cur .str{stroke:color-mix(in srgb,var(--ink) 45%,transparent)} .k-cur .fret{stroke:color-mix(in srgb,var(--ink) 18%,transparent)} .k-cur .nutl{stroke:var(--ink)}
.k-cur .frn{fill:var(--muted);font:600 13px var(--ui)} .k-cur .frn.hi{fill:var(--ok);font-weight:800}
.k-cur .lab{fill:var(--muted);font:700 13px var(--ui)} .k-cur .sn{fill:var(--muted);font:600 10px var(--ui);opacity:.7}
.k-cur .mk{fill:none;stroke:var(--muted);stroke-width:2} .k-cur .xm{stroke:var(--red);stroke-width:2.2}
.k-cur .fg .dot{fill:var(--ln)} .k-cur .fg .dtx{fill:#000;font:800 15px var(--ui)}
html[data-theme="light"] .k-cur .fg .dtx{fill:#fff}
.k-next{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 12px;border-radius:14px;background:color-mix(in srgb,var(--ink) 6%,transparent);min-width:70px}
.k-next small{font:600 11px var(--ui);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.k-next b{font:800 22px var(--ui)}
.k-beats{display:flex;justify-content:center;gap:10px}
.k-beats i{width:16px;height:16px;border-radius:50%;background:color-mix(in srgb,var(--ink) 14%,transparent);transition:background .08s,transform .08s}
.k-beats i.past{background:color-mix(in srgb,var(--ok) 35%,transparent)}
.k-beats i.on{background:var(--ok);box-shadow:0 0 14px var(--ok);transform:scale(1.25)}
.k-beats i:first-child.on{background:var(--okfill)}
.k-go{width:100%}
.k-ex{background:var(--card);border-radius:16px;padding:4px 14px 12px}
.k-ex ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font:400 14px/1.4 var(--ui);color:var(--muted)}
.k-ex b{color:var(--ink)}
@media (min-width:760px){ .k-circs{grid-template-columns:repeat(4,1fr)} }

/* ---------- Aprender: Lecciones · Acordes · Círculos ---------- */
#learnSeg{margin:2px 0 4px}
.learn-pane{margin-top:2px}
.roots button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:52px;height:50px}
.roots button b{font:700 15px var(--ui)} .roots button small{font:600 10px var(--ui);opacity:.65}
.k-help{background:var(--card);border-radius:16px;padding:12px 14px}
.k-help summary{font:700 15px var(--ui);cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}
.k-help summary::-webkit-details-marker{display:none}
.k-help summary::before{content:"?";width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--okfill);color:var(--oktext);font:800 13px var(--ui)}
.k-help summary::after{content:"›";margin-left:auto;color:var(--muted);transition:transform .2s}
.k-help[open] summary::after{transform:rotate(90deg)}
.k-help p{margin:10px 0 0;font:400 14px/1.45 var(--ui);color:var(--muted)}
.k-help b{color:var(--ink)}
.k-keys2{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.k-keys2 button{border:0;border-radius:14px;padding:10px 2px;background:var(--card);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;
  box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ln) 35%,transparent)}
.k-keys2 b{font:800 17px var(--ui);color:var(--ln)}
.k-keys2 small{font:600 10px var(--ui);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.k-keys2 button[aria-pressed="true"]{background:var(--ln);box-shadow:0 8px 22px color-mix(in srgb,var(--ln) 40%,transparent)}
.k-keys2 button[aria-pressed="true"] b,.k-keys2 button[aria-pressed="true"] small{color:var(--lanetext)}
.k-circs .k-circ{padding:12px;justify-content:center;min-height:52px}
.k-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:4px}
.k-title h2{margin:0;font:800 24px var(--ui)}
.k-title span{font:600 13px var(--ui);color:var(--muted)}
.k-deg{display:block;margin-top:4px;font-size:12px;opacity:.7}
.k-next span{font:600 11px var(--ui);color:var(--muted)}
.circ .grp{margin:4px 0 -4px}
@media (min-width:760px){ .k-keys2{grid-template-columns:repeat(10,1fr)} .k-circs{grid-template-columns:repeat(3,1fr)} }

/* rutas en Lecciones: Requinteo y La araña */
.k-routes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.k-routes button{border:0;border-radius:14px;padding:10px 12px;background:var(--card);color:var(--ink);text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.k-routes b{font:700 14px var(--ui)} .k-routes small{font:500 11px var(--ui);color:var(--muted)}
.k-routes button[aria-pressed="true"]{background:color-mix(in srgb,var(--ok) 16%,var(--card));box-shadow:inset 0 0 0 1.5px var(--ok)}
.k-arex{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}
.k-arex button{border:0;border-radius:12px;padding:10px 4px 8px;background:var(--card);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;
  box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ln) 35%,transparent)}
.k-arex b{font:800 15px var(--ui);letter-spacing:.02em;color:var(--ln)}
.k-arex button[aria-pressed="true"]{background:var(--ln)} .k-arex button[aria-pressed="true"] b{color:var(--lanetext)}
.k-arex button[aria-pressed="true"] .k-st i:not(.on){color:color-mix(in srgb,var(--lanetext) 35%,transparent)}

/* medallas nuevas: a color cuando se ganan, en gris cuando faltan */
.k-badges .k-medal{background:var(--card);padding:10px 4px 12px}
.k-badges .k-medal img{max-width:84px;filter:grayscale(1) brightness(.55) contrast(.9);opacity:.55;transition:filter .3s,opacity .3s,transform .3s}
html[data-theme="light"] .k-badges .k-medal img{filter:grayscale(1) brightness(1.1) contrast(.7);opacity:.45}
.k-badges .k-medal.got img{filter:drop-shadow(0 6px 14px rgba(201,164,92,.35));opacity:1}
.k-badges .k-medal.got:active img{transform:scale(1.06)}
/* resultado de lección: sin el video de estrellas encimado; las estrellas reales entran con rebote */
#starsVid{display:none!important}
.stars span{display:inline-block;transition:color .2s}
.result:not([hidden]) .stars span.on{animation:kstar .5s cubic-bezier(.2,1.6,.4,1) both}
.result:not([hidden]) .stars span.on:nth-child(2){animation-delay:.15s}
.result:not([hidden]) .stars span.on:nth-child(3){animation-delay:.3s}
@keyframes kstar{0%{transform:scale(.2) rotate(-30deg);opacity:0}100%{transform:none;opacity:1}}

/* ---------- Herramientas: Pistas ---------- */
.pistas,.detect{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.k-pstage{position:relative;border-radius:24px;padding:16px;overflow:hidden;display:flex;flex-direction:column;gap:14px;
  background:radial-gradient(120% 80% at 100% 0%,color-mix(in srgb,var(--lane4) 30%,transparent),transparent 60%),radial-gradient(90% 70% at 0% 100%,color-mix(in srgb,var(--lane1) 22%,transparent),transparent 60%),var(--card);
  box-shadow:inset 0 0 0 1px var(--line),0 18px 40px rgba(0,0,0,.3)}
html[data-theme="light"] .k-pstage{box-shadow:inset 0 0 0 1px rgba(0,0,0,.06),0 14px 30px rgba(0,0,0,.08)}
.k-pstage.hitc{animation:khit .45s ease-out}
@keyframes khit{0%{box-shadow:inset 0 0 0 2px var(--ok),0 0 40px color-mix(in srgb,var(--ok) 45%,transparent)}100%{box-shadow:inset 0 0 0 1px var(--line),0 18px 40px rgba(0,0,0,.3)}}
.k-pstage-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.k-chip3{font:700 12px var(--ui);letter-spacing:.04em;text-transform:uppercase;color:var(--ok)}
.k-bpmtag{font:600 13px var(--ui);color:var(--muted)} .k-bpmtag b{color:var(--ink);font-size:17px;font-variant-numeric:tabular-nums}
.k-pstage-now{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px}
.k-pstage-now small,.k-pstage-next small{display:block;font:600 11px var(--ui);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.k-pstage-now b#pNow{display:block;font:800 clamp(52px,15vw,72px)/1 var(--display);letter-spacing:-.02em;background:var(--okfill);-webkit-background-clip:text;background-clip:text;color:transparent}
.k-pstage-now span{font:600 14px var(--ui);color:var(--muted)}
.k-pstage-next{padding:10px 14px;border-radius:16px;background:color-mix(in srgb,var(--ink) 7%,transparent);text-align:center}
.k-pstage-next b{font:800 24px var(--ui)}
.k-prog2{display:flex;gap:6px}
.k-prog2 i{flex:1;font:700 14px var(--ui);font-style:normal;text-align:center;padding:8px 2px;border-radius:12px;color:var(--ln);background:color-mix(in srgb,var(--ln) 12%,transparent);transition:all .2s}
.k-prog2 i.on{background:var(--ln);color:var(--lanetext);box-shadow:0 6px 18px color-mix(in srgb,var(--ln) 45%,transparent)}
.k-psteps{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}
.k-psteps i{width:14px;height:14px;border-radius:50%;background:color-mix(in srgb,var(--ink) 14%,transparent);transition:background .06s,transform .06s}
.k-psteps i.b{background:color-mix(in srgb,var(--ok) 40%,transparent)} .k-psteps i.r{opacity:.3}
.k-psteps i.on{background:var(--ok);box-shadow:0 0 12px var(--ok);transform:scale(1.3)}
.k-tipbtn{border:0;border-radius:16px;padding:12px 14px;text-align:left;cursor:pointer;color:var(--ink);display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;
  background:color-mix(in srgb,var(--ok) 10%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ok) 45%,transparent)}
.k-tipbtn span{grid-column:1;font:600 11px var(--ui);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.k-tipbtn b{grid-column:1;font:700 15px var(--ui)} .k-tipbtn em{grid-column:2;grid-row:1/3;font:700 13px var(--ui);font-style:normal;color:var(--ok)}
.k-styles .k-circ small{color:var(--muted)}
.k-chips{display:flex;flex-wrap:wrap;gap:8px}
.k-chips button{border:0;border-radius:999px;padding:9px 14px;background:var(--card);color:var(--ink);font:600 14px var(--ui);cursor:pointer;box-shadow:inset 0 0 0 1px var(--line)}
.k-chips button[aria-pressed="true"]{background:var(--okfill);color:var(--oktext);box-shadow:0 6px 16px rgba(201,164,92,.3)}
.k-tempo{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}
.k-tempo input{accent-color:var(--ok);width:100%}
.k-mix{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.k-mix button{border:0;border-radius:14px;padding:12px 8px;background:var(--card);color:var(--muted);font:600 14px var(--ui);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}
.k-mix button i{width:10px;height:10px;border-radius:50%;background:color-mix(in srgb,var(--ink) 20%,transparent)}
.k-mix button[aria-pressed="true"]{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ok)}
.k-mix button[aria-pressed="true"] i{background:var(--ok);box-shadow:0 0 8px var(--ok)}

/* ---------- Herramientas: ¿Qué acorde es? ---------- */
.k-det{border-radius:24px;padding:18px 16px;background:var(--card);display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.k-det-ring{width:min(62vw,230px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative;
  background:radial-gradient(circle at 50% 35%,var(--hub0),var(--hub1));box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--ink) 12%,transparent),0 20px 50px rgba(0,0,0,.35);transition:box-shadow .25s}
.k-det-ring.live{box-shadow:inset 0 0 0 3px var(--ok),0 0 46px color-mix(in srgb,var(--ok) 40%,transparent)}
.k-det-ring.pop{animation:kpop2 .45s cubic-bezier(.2,1.6,.4,1)}
@keyframes kpop2{0%{transform:scale(.9)}100%{transform:none}}
.k-det-ring b{display:block;font:800 clamp(52px,16vw,74px)/1 var(--display);letter-spacing:-.02em;background:var(--okfill);-webkit-background-clip:text;background-clip:text;color:transparent}
.k-det-ring span{display:block;margin-top:6px;font:600 14px var(--ui);color:var(--muted)}
.k-chroma{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;width:100%;align-items:end;height:66px}
.k-chroma span{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}
.k-chroma i{width:100%;max-width:18px;height:4px;border-radius:4px;background:linear-gradient(180deg,var(--lane3),var(--lane4));transition:height .09s}
.k-chroma small{font:600 9px var(--ui);color:var(--muted)}
.k-det-dia{background:var(--card);border-radius:20px;padding:12px}
.k-det-dia svg{width:100%;max-width:300px;display:block;margin:0 auto}
.k-det-dia .cname{fill:var(--ink);font:800 30px var(--ui)} .k-det-dia .csol{fill:var(--muted);font:600 14px var(--ui)}
.k-det-dia .str{stroke:color-mix(in srgb,var(--ink) 45%,transparent)} .k-det-dia .fret{stroke:color-mix(in srgb,var(--ink) 18%,transparent)} .k-det-dia .nutl{stroke:var(--ink)}
.k-det-dia .frn,.k-det-dia .lab,.k-det-dia .sn{fill:var(--muted);font:600 12px var(--ui)} .k-det-dia .frn.hi{fill:var(--ok)}
.k-det-dia .mk{fill:none;stroke:var(--muted);stroke-width:2} .k-det-dia .xm{stroke:var(--red);stroke-width:2.2}
.k-det-dia .fg .dot{fill:var(--ln)} .k-det-dia .fg .dtx{fill:#000;font:800 15px var(--ui)} html[data-theme="light"] .k-det-dia .fg .dtx{fill:#fff}
.k-det-dia .barre rect{fill:var(--ok)} .k-det-dia .barre text{fill:var(--oktext);font:800 15px var(--ui)}
.k-hist{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.k-hist button{flex:none;border:0;border-radius:14px;padding:10px 14px;background:var(--card);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center}
.k-hist b{font:800 17px var(--ui)} .k-hist small{font:600 11px var(--ui);color:var(--muted)}
#toolSeg{margin-top:6px}
@media (min-width:760px){ .k-styles{grid-template-columns:repeat(3,1fr)!important} }

/* ---------- Aprender: Escalas ---------- */
.seg.wide.four{grid-template-columns:repeat(4,1fr)}
.seg.wide.four button{padding-left:4px;padding-right:4px;font-size:14px}
.esc{display:flex;flex-direction:column;gap:12px;margin-top:6px}
.k-board{overflow-x:auto;margin:0 -16px;padding:4px 16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.k-board::-webkit-scrollbar{display:none}
.k-board svg{display:block}
.k-board .st{stroke:color-mix(in srgb,var(--ink) 45%,transparent)}
.k-board .fr{stroke:color-mix(in srgb,var(--ink) 16%,transparent);stroke-width:2}
.k-board .nut{stroke:var(--ink);stroke-width:5}
.k-board .mk{fill:color-mix(in srgb,var(--ink) 14%,transparent)}
.k-board .fn,.k-board .sl{fill:var(--muted);font:600 11px var(--ui)}
.k-board .box{fill:color-mix(in srgb,var(--ok) 9%,transparent);stroke:color-mix(in srgb,var(--ok) 55%,transparent);stroke-width:1.5;stroke-dasharray:5 5}
.k-board .nd{cursor:pointer}
.k-board .nd circle{fill:var(--ln);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--ln) 45%,transparent))}
.k-board .nd text{fill:#000;font:800 11px var(--ui);pointer-events:none}
html[data-theme="light"] .k-board .nd text{fill:#fff}
.k-board .nd.root circle{fill:#e8c77e;stroke:#fff3d0;stroke-width:2;filter:drop-shadow(0 0 8px rgba(232,199,126,.8))}
.k-board .nd.root text{fill:#1a1206}
.k-board .nd.ping circle{animation:kping .5s ease-out}
@keyframes kping{0%{r:19}100%{r:13}}
.k-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font:500 12px var(--ui);color:var(--muted)}
.k-legend span{display:flex;align-items:center;gap:6px}
.k-legend .seg{margin-left:auto}
.lg-root{width:14px;height:14px;border-radius:50%;background:#e8c77e;box-shadow:0 0 8px rgba(232,199,126,.7)}
.lg-box{width:18px;height:12px;border-radius:4px;border:1.5px dashed color-mix(in srgb,var(--ok) 70%,transparent);background:color-mix(in srgb,var(--ok) 10%,transparent)}
.k-esc-act{margin-top:0}
.k-escroots{margin-top:0}
/* tipos de acorde: fila deslizable */
#quals{display:flex!important;overflow-x:auto;scrollbar-width:none;gap:4px}
#quals::-webkit-scrollbar{display:none}
#quals button{flex:1 0 auto;min-width:64px}
.k-chroma span.in i{background:var(--okfill);box-shadow:0 0 10px color-mix(in srgb,var(--ok) 60%,transparent)}
.k-chroma span.in small{color:var(--ok)}

/* ---------- "¿Cómo se usa?" (la misma guía en todas las secciones) ---------- */
.k-howto{background:var(--card);border-radius:16px;padding:12px 14px;margin-top:4px}
.k-howto summary{font:700 15px var(--ui);cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}
.k-howto summary::-webkit-details-marker{display:none}
.k-howto summary::before{content:"?";width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--okfill);color:var(--oktext);font:800 13px var(--ui);flex:none}
.k-howto summary::after{content:"›";margin-left:auto;color:var(--muted);transition:transform .2s}
.k-howto[open] summary::after{transform:rotate(90deg)}
.k-howto ol{margin:10px 0 2px;padding-left:20px;display:flex;flex-direction:column;gap:7px;font:400 14px/1.45 var(--ui);color:var(--muted)}
.k-howto b{color:var(--ink)}
html[data-theme="light"] .k-howto{box-shadow:var(--shadow)}
.k-week{padding-top:52px}
.k-week b{line-height:1.15}
