:root{--fondo:#000;--texto:#f5f5f5;--tenue:#9a9a9a;--acorde:#f59e0b;--azul:#0b3a7a;--azul2:#1d5fc4;--ok:#4ade80;--mal:#ef4444;--panel:#111;--borde:#2a2a2a;--tam:1.25rem}
*{box-sizing:border-box}
html,body{margin:0;background:var(--fondo);color:var(--texto);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%;touch-action:pan-x pan-y}
/* la interfaz no se agranda con pellizco ni doble toque; la letra se agranda solo con A− / A+ */
body{overscroll-behavior-y:none}
body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
button{font:inherit;color:var(--texto);background:#222;border:1px solid var(--borde);border-radius:10px;padding:.5rem .8rem;cursor:pointer;touch-action:manipulation}
button:active{background:#333}
button.primario{background:var(--azul2);border-color:var(--azul2)}
button.peligro{background:#3a1010;border-color:#5a1a1a}
input,select,textarea{font:inherit;font-size:max(1rem,16px);color:var(--texto);background:#151515;border:1px solid var(--borde);border-radius:10px;padding:.55rem .7rem;width:100%} /* ≥16px: Safari no hace zoom al enfocar un campo */
h2{font-size:1.1rem;margin:.2rem 0 .6rem;color:var(--tenue);font-weight:600}
h2 small{font-weight:400;font-size:.8rem;margin-left:.4rem}
h3{font-size:1rem;margin:1rem 0 .4rem}
h3 small{font-weight:400;font-size:.8rem;color:var(--tenue);margin-left:.4rem}
#integrantes button.integrante{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.7rem .9rem;min-width:9rem;text-align:left}
#integrantes button.integrante small{color:var(--tenue);font-size:.75rem;font-weight:400}
#integrantes button.integrante.yo{border-color:var(--acorde)}
#ed-mix-lista > li{flex-wrap:wrap}
#ed-mix-lista ol.partes{list-style:none;flex-basis:100%;margin:.4rem 0 .2rem 1.2rem;padding:0;border-left:2px solid var(--borde)}
#ed-mix-lista ol.partes li{padding:.35rem .5rem;border-bottom:1px dashed var(--borde)}
#ed-mix-lista ol.partes .chips{flex-basis:100%;margin:.4rem .5rem}
#ed-mix-lista .n{color:var(--tenue);font-size:.85rem;margin-left:.4rem}
#ed-arreglo-lista .agarre{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;color:var(--tenue);font-size:1.3rem;padding:.2rem .6rem .2rem .2rem}
#ed-arreglo-lista li.arrastrando{opacity:.55;background:#1c1c1c}
#vista-biblioteca .orden{display:block;color:var(--tenue);font-size:.85rem;margin:.4rem 0 .2rem}
#vista-biblioteca .orden select{margin-left:.4rem;font-size:.9rem;padding:.3rem .5rem}
.pill{display:inline-block;font-size:.72rem;padding:.1rem .5rem;border-radius:999px;background:#222;color:var(--tenue);vertical-align:middle}
.pill:empty{display:none}
.vacio{color:var(--tenue);font-size:.9rem;padding:.6rem .2rem}
.ayuda{color:var(--tenue);font-size:.85rem}
.fila{display:flex;gap:.5rem;flex-wrap:wrap;margin:.6rem 0}

/* barra superior */
#barra{position:sticky;top:0;z-index:10;background:rgba(0,0,0,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--borde);padding:env(safe-area-inset-top) .5rem 0;display:flex;align-items:center;gap:.5rem}
#tabs{display:flex;gap:.15rem;overflow-x:auto;flex:1;scrollbar-width:none}
#tabs::-webkit-scrollbar{display:none}
#tabs button{background:none;border:0;border-bottom:3px solid transparent;border-radius:0;padding:.7rem .45rem;color:var(--tenue);white-space:nowrap;font-weight:600;font-size:.9rem}
@media (max-width:420px){#tabs button{padding:.7rem .35rem;font-size:.82rem}}
#tabs button.activa{color:var(--texto);border-bottom-color:var(--acorde)}
#actualizar{font-size:.75rem;padding:.25rem .55rem;margin-right:.4rem;background:var(--acorde);color:#000;border:0;border-radius:999px;font-weight:800;white-space:nowrap}
#conexion{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--tenue);padding-right:.3rem;white-space:nowrap}
#conexion .punto{width:9px;height:9px;border-radius:50%;background:var(--mal)}
#conexion.ok .punto{background:var(--ok)}
#conexion.libre .punto{background:var(--acorde)}
#conexion.ok.viejo .punto{background:var(--acorde)} /* canal abierto pero sin intercambio desde hace 30 s: no es verde (fila 244) */

main{flex:1;padding:.6rem .8rem calc(6rem + env(safe-area-inset-bottom))}
.vista{display:none}.vista.activa{display:block}

/* en vivo */
#vivo-cabecera,#previa-cab{margin-bottom:.6rem}
#previa-titulo{font-size:1.35rem;font-weight:800;line-height:1.2}
#previa-sub{color:var(--tenue);font-size:.9rem}
#previa-acciones{margin-top:.5rem}
#vivo-titulo{font-size:1.35rem;font-weight:800;line-height:1.2}
#vivo-sub{color:var(--tenue);font-size:.9rem}
#vivo-herr{display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:center;margin-top:.5rem;font-size:.85rem;color:var(--tenue)}
.ctl{display:inline-flex;align-items:center;gap:.25rem}
.ctl button,.ctl-btn{padding:.25rem .55rem;font-size:.9rem}
.ctl button:disabled{opacity:.35;cursor:default} /* ◀ ▶ de la Previa en los extremos de la lista */
.ctl span{min-width:1.4rem;text-align:center;color:var(--texto);font-weight:700}
.ctl.solo-lectura button{display:none}
#vivo-tono-info{color:var(--acorde);font-weight:700}
.modo-siguiendo{background:#0c2a12;color:var(--ok)}
.modo-libre{background:#2b1d05;color:var(--acorde)}
.modo-lider{background:#0b2450;color:#8fb4ff}

.lienzo{font-size:calc(var(--tam) * var(--ajuste, 1));line-height:1.25} /* --ajuste: reducción automática para que quepa la sección */
.lienzo .seccion{margin:1.1em 0 .4em;padding-top:.3em;border-top:1px solid var(--borde)}
.lienzo .nombre{font-size:.7em;letter-spacing:.08em;text-transform:uppercase;color:var(--tenue);font-weight:700;margin-bottom:.35em}
.nombre .tono{text-transform:none;letter-spacing:0} /* el acorde del tono respeta su minúscula: Am, no AM (Cristhian, 11-sep) */
.lienzo .linea{margin:.15em 0;white-space:normal}
.lienzo .pal{display:inline-block;white-space:nowrap;vertical-align:bottom}
.lienzo .esp{display:inline-block;white-space:pre;vertical-align:bottom}
.lienzo .seg{display:inline-block;vertical-align:bottom;white-space:pre}
.lienzo .ac{display:block;color:var(--acorde);font-weight:800;font-size:.9em;line-height:1.1;min-height:1.1em}
.lienzo .tx{display:block}
.lienzo .seg.cola .ac,.lienzo .seg.antes-ac .ac{padding-right:.4em} /* acordes seguidos (vo[Gm]z[G7], voz[Gm][G7]) no se pegan */
.lienzo .linea.solo-acordes .ac{font-size:1em}
.lienzo .linea.solo-acordes .tx{display:none}
.lienzo .linea.solo-acordes .seg{margin-right:.7em}
.lienzo .nota{color:#8fb4ff;font-style:italic;font-size:.85em;margin:.2em 0}
.lienzo .rep{color:var(--tenue);font-size:.8em;margin-left:.6em}
.lienzo.vista-letra .ac{display:none}
.lienzo.vista-letra .pal{display:inline;white-space:normal}
.lienzo.vista-letra .seg{display:inline;white-space:normal}
.lienzo.vista-letra .esp{display:inline;white-space:normal}
.lienzo.vista-letra .tx{display:inline}
.lienzo.vista-letra{font-size:calc(var(--tam) * 1.25 * var(--ajuste, 1))}
.lienzo.vista-estructura .estructura{list-style:none;padding:0;margin:0}
.lienzo.vista-estructura .estructura li{padding:.7em .6em;border-bottom:1px solid var(--borde);display:flex;justify-content:space-between;gap:1em}
.lienzo.vista-estructura .estructura li.actual{background:#1a1204;color:var(--acorde);font-weight:700}
.lienzo.vista-estructura .estructura .acs{color:var(--acorde);font-weight:700;font-size:.9em;text-align:right}

#nota-panel{position:fixed;left:.6rem;right:.6rem;bottom:calc(.8rem + env(safe-area-inset-bottom));background:var(--panel);border:1px solid var(--borde);border-radius:14px;padding:.8rem;z-index:20}
.nota-cab{font-size:.8rem;color:var(--tenue);margin-bottom:.4rem}
.flotante{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(1.2rem + env(safe-area-inset-bottom));background:var(--acorde);color:#000;font-weight:800;border:0;border-radius:999px;padding:.8rem 1.2rem;box-shadow:0 4px 18px rgba(0,0,0,.6);z-index:16;white-space:nowrap}
body.con-barra .flotante{bottom:calc(7.4rem + env(safe-area-inset-bottom))}
body.fuera-vivo .flotante{bottom:calc(1.2rem + env(safe-area-inset-bottom))} /* fuera de En vivo no hay barra del líder debajo (8h) */
#controles-lider{position:fixed;left:0;right:0;bottom:0;display:flex;gap:.4rem;padding:.5rem .6rem calc(.6rem + env(safe-area-inset-bottom));background:rgba(0,0,0,.9);border-top:1px solid var(--borde);z-index:15}
#controles-lider button{flex:1;padding:.9rem .4rem;font-weight:700;font-size:1rem}
#controles-lider button.mini{flex:0 0 auto;min-width:3.2rem;padding:.9rem .6rem;font-size:1.15rem;border:1px solid var(--borde)} /* cantante maneja el vivo: apagado gris, encendido ámbar */
#controles-lider button.mini.activo{background:var(--acorde);color:#000;border-color:var(--acorde)}
#lider-pasar{background:var(--azul);border-color:var(--azul)}

/* listas */
.lista{list-style:none;margin:0;padding:0}
.lista li{display:flex;align-items:center;gap:.5rem;padding:.6rem .2rem;border-bottom:1px solid var(--borde)}
.lista .info{flex:1;min-width:0}
.lista .t{font-weight:700}
.lista .s{color:var(--tenue);font-size:.85rem}
.lista .acc{display:flex;gap:.3rem;flex-shrink:0}
.lista .acc button{padding:.4rem .55rem;font-size:.85rem}
.lista.compacta li{padding:.35rem .2rem;font-size:.9rem}
.lista li.en-vivo .t::before{content:"▶ ";color:var(--acorde)}
ol.lista{counter-reset:n}
ol.lista li::before{counter-increment:n;content:counter(n);color:var(--tenue);min-width:1.4rem;text-align:right;font-variant-numeric:tabular-nums}
#buscar{margin-bottom:.4rem;font-size:1.05rem}

/* formulario */
#form-perfil label{display:block;margin:.6rem 0;color:var(--tenue);font-size:.9rem}
[hidden]{display:none!important} /* el atributo hidden manda sobre cualquier display (.fila, label…): lección de las filas 107 y 110 */
#form-perfil input,#form-perfil select{margin-top:.25rem}
.switch{display:flex;align-items:center;gap:.6rem}
.switch input{width:auto;transform:scale(1.4)}

@media (min-width:700px){main{max-width:820px;margin:0 auto;width:100%}}

/* cuál sigue */
.sigue-cab{color:#8fb4ff;font-size:.9rem;margin-top:.2rem}
.sigue-cab:empty{display:none}
.quienes-cab{color:var(--tenue);font-size:.8rem;margin-top:.15rem}
.quienes-cab:empty{display:none}
.latido{font-size:.75rem;color:var(--tenue);white-space:nowrap}
.latido:empty{display:none}
.latido.viejo{color:var(--acorde);font-weight:700}
.latido.mal{color:var(--mal);font-weight:700}
.lienzo .sigue-card{margin:2rem 0 1rem;padding:1rem;border:1px dashed var(--borde);border-radius:14px;text-align:center;color:var(--tenue);font-size:.9em}
.lienzo .sigue-card b{display:block;color:var(--texto);font-size:1.15em;margin:.3em 0 .6em}
.lienzo .sigue-card button{font-size:1em;padding:.7rem 1.2rem;background:var(--azul);border-color:var(--azul)}

/* editor de estructura */
.ed-lineas{list-style:none;margin:0;padding:0;border:1px solid var(--borde);border-radius:12px;overflow:hidden;font-size:.95rem}
.ed-lineas li{padding:.45rem .6rem;border-bottom:1px solid var(--borde);cursor:pointer;display:flex;gap:.5rem;align-items:center}
.ed-lineas li:last-child{border-bottom:0}
.ed-lineas li .txt{flex:1;white-space:pre-wrap;word-break:break-word}
.ed-lineas li .ac-in{color:var(--acorde);font-weight:700}
.ed-lineas li.ed-sec{background:#1a1204;color:var(--acorde);font-weight:800;text-transform:uppercase;font-size:.8rem;letter-spacing:.06em;cursor:default}
.ed-lineas li.ed-parte{background:#0b1f3f;color:#8fb4ff;font-weight:700;cursor:default}
.ed-lineas li.ed-sec button,.ed-lineas li.ed-parte button{padding:.2rem .5rem;font-size:.8rem}
.ed-lineas li.sel{background:#0b2450}
.ed-lineas li.sel-ini{box-shadow:inset 4px 0 0 var(--acorde)}
.ed-lineas li.vacia .txt{color:var(--tenue);font-style:italic}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0}
.chips button{border-radius:999px;padding:.4rem .8rem;background:#1a1204;border-color:#3a2a08;color:var(--acorde);font-weight:700}
#vista-editor select,#vista-editor input,#vista-editor textarea{flex:1;min-width:8rem}

/* edición de canción */
.subtabs{display:flex;gap:.3rem;margin:.4rem 0 .8rem;border-bottom:1px solid var(--borde)}
.subtabs button{background:none;border:0;border-bottom:3px solid transparent;border-radius:0;color:var(--tenue);font-weight:600;padding:.5rem .7rem}
.subtabs button.activa{color:var(--texto);border-bottom-color:var(--acorde)}
.sub{display:none}.sub.activa{display:block}
.barra-sel{position:sticky;top:calc(3rem + env(safe-area-inset-top));z-index:5;background:var(--panel);border:1px solid var(--borde);border-radius:12px;padding:.6rem;margin-bottom:.6rem}
.ed-texto{font-size:1.1rem;line-height:1.7}
.ed-texto .ed-linea{margin:.1rem 0}
.ed-texto .pal{display:inline-block;padding:.05rem .25rem;border-radius:6px;cursor:pointer}
.ed-texto .pal:active{background:#333}
.ed-texto .pal.sel{background:#0b2450;color:#dbe7ff}
.ed-texto .pal.sel-ini,.ed-texto .pal.sel-fin{background:var(--azul2);color:#fff;font-weight:700}
.ed-texto .ed-sec{display:flex;align-items:center;gap:.5rem;margin:.9rem 0 .3rem;padding:.35rem .5rem;background:#1a1204;border-left:4px solid var(--acorde);border-radius:6px;color:var(--acorde);font-weight:800;text-transform:uppercase;font-size:.78rem;letter-spacing:.06em}
.ed-texto .ed-sec .n{flex:1}
.ed-texto .ed-sec button{padding:.15rem .45rem;font-size:.8rem;text-transform:none;letter-spacing:0}
.ed-texto .ed-sec.sin-nombre{color:var(--tenue);border-left-color:var(--tenue);background:#141414}
.ed-texto .ed-nota{color:#8fb4ff;font-style:italic;font-size:.9rem}
.ed-texto .ed-vacia{height:.6rem}

.caja{border:1px solid var(--borde);border-radius:12px;padding:.7rem;margin:.4rem 0 .8rem;background:var(--panel)}
.ed-texto .ed-acordes{display:flex;align-items:center;gap:.5rem;color:var(--acorde);font-weight:800;margin:.2rem 0}
.ed-texto .ed-acordes .acs{flex:1}
.ed-texto .ed-acordes button{padding:.15rem .45rem;font-size:.8rem}

/* "estamos aquí": marca temporal (5 s) que pone quien controla el vivo manteniendo presionada una palabra */
.lienzo{touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.lienzo .pal.marcada{background:var(--acorde);color:#000;border-radius:6px;box-shadow:0 0 0 4px var(--acorde);animation:latido 1s ease-in-out infinite}
.lienzo .pal.marcada .ac{color:#000}
.lienzo .linea.marcada{background:#2b1d05;border-radius:8px;box-shadow:0 0 0 6px #2b1d05}
@keyframes latido{0%,100%{box-shadow:0 0 0 4px var(--acorde)}50%{box-shadow:0 0 0 9px rgba(245,158,11,.35)}}

/* editor de acordes */
#edA-cancion{font-size:1.15rem;line-height:1.3;margin-top:.6rem;user-select:none;-webkit-user-select:none}
#edA-cancion .linea{margin:.35em 0;white-space:normal}
#edA-cancion .pal{display:inline-block;white-space:nowrap;vertical-align:bottom;border-radius:6px;padding:0 .1em}
#edA-cancion .esp{display:inline-block;white-space:pre}
#edA-cancion .seg{display:inline-block;vertical-align:bottom;white-space:pre}
#edA-cancion .ac{display:block;color:var(--acorde);font-weight:800;font-size:.9em;line-height:1.1;min-height:1.1em;cursor:pointer;border-radius:5px;padding:0 .15em}
#edA-cancion .ac:not(:empty):active{background:#333}
#edA-cancion .ac.sel{background:var(--acorde);color:#000}
#edA-cancion .tx{display:block;min-height:1.2em}
#edA-cancion #edA-letras{background:var(--panel);border:1px solid var(--acorde);border-radius:12px;padding:.6rem;margin:.4rem 0 .8rem;font-size:.9rem}
#edA-cancion .pal.destino{background:#0b2450}
#edA-cancion .nombre{font-size:.7em;letter-spacing:.08em;text-transform:uppercase;color:var(--tenue);font-weight:700;margin:1em 0 .3em}
#edA-cancion .nota{color:#8fb4ff;font-style:italic;font-size:.85em}
#edA-cancion .linea.solo-acordes .seg{margin-right:.7em}
#edA-cancion .linea.solo-acordes .tx{display:none}
.letras{display:flex;flex-wrap:wrap;gap:.3rem;margin:.4rem 0;font-size:1.3rem}
.letras button{min-width:2.2rem;padding:.4rem .5rem;font-weight:700}
.letras .ac-ya{color:var(--acorde);font-size:.8rem;align-self:center;padding:0 .1rem}
.letras .fin{font-size:.85rem;font-weight:400}

/* importar por pegado */
#imp-texto{font-family:ui-monospace,Menlo,monospace;font-size:.85rem;white-space:pre;overflow-x:auto}
#imp-cancion{font-size:1.05rem;line-height:1.3;margin-top:.8rem;border-top:1px solid var(--borde);padding-top:.6rem}
#imp-cancion .seccion{margin:1em 0 .4em}
#imp-cancion .nombre{font-size:.7em;letter-spacing:.08em;text-transform:uppercase;color:var(--tenue);font-weight:700;margin-bottom:.35em}
#imp-cancion .linea{margin:.15em 0}
#imp-cancion .pal{display:inline-block;white-space:nowrap;vertical-align:bottom}
#imp-cancion .esp{display:inline-block;white-space:pre;vertical-align:bottom}
#imp-cancion .seg{display:inline-block;vertical-align:bottom;white-space:pre}
#imp-cancion .ac{display:block;color:var(--acorde);font-weight:800;font-size:.9em;line-height:1.1;min-height:1.1em}
#imp-cancion .tx{display:block}
#imp-cancion .linea.solo-acordes .tx{display:none}
#imp-cancion .linea.solo-acordes .seg{margin-right:.7em}
#imp-cancion .nota{color:#8fb4ff;font-style:italic;font-size:.85em}

#edA-cancion .bloque{border:1px solid var(--borde);border-radius:12px;padding:.3rem .6rem .6rem;margin:.9rem 0;background:rgba(255,255,255,.025)}
#edA-cancion .bloque-cab{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
#edA-cancion .bloque-cab .nombre{margin:.2em 0;flex:1}
#edA-cancion .agarre-bloque{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;color:var(--tenue);font-size:1.3rem;padding:.1rem .6rem .1rem .1rem}
#edA-cancion .bloque.arrastrando{opacity:.55;background:#1c1c1c}
#edA-cancion.colapsado .bloque > :not(.bloque-cab){display:none} /* mientras se arrastra, solo cabeceras */
#edA-cancion.colapsado .bloque{margin:.4rem 0;padding:.2rem .6rem}
#edA-cancion .mas-bloque{padding:.1rem .7rem;font-size:1.3rem;line-height:1.4;color:var(--tenue);background:#161616;border-color:#2a2a2a;border-radius:8px}
#edA-cancion .menu-bloque{display:flex;flex-wrap:wrap;gap:.35rem;margin:.3rem 0 .6rem;padding:.45rem;background:var(--panel);border:1px solid var(--borde);border-radius:10px}
#edA-cancion .menu-bloque button{font-size:.9rem;padding:.45rem .7rem}
#edA-cancion .cortar-linea{display:inline-block;vertical-align:bottom;margin-left:.3rem;padding:0 .45rem;font-size:.85rem;line-height:1.5;color:var(--tenue);background:#161616;border-color:#2a2a2a;border-radius:8px}
#edA-cancion .sin-usar{margin:1rem 0 .4rem}
#edA-barra.editando{position:static}
#edA-barra .edA-fila{margin:0}
#edA-barra .edA-fila .mini{flex:0 0 auto;min-width:2.4rem;font-weight:800}
#edA-barra #edA-ayuda{margin-bottom:.5rem}
#edA-cancion .bloque:not(.editando){cursor:text}
#edA-cancion .bloque.editando{border-color:var(--acorde);background:#0f0d08}
#edA-cancion .ed-pre{font-family:ui-monospace,Menlo,Monaco,"Courier New",monospace;font-size:1rem;line-height:1.35;white-space:pre;overflow-x:auto;outline:none;padding:.3rem .2rem;min-height:2.7em;-webkit-user-select:text;user-select:text}
#edA-cancion .ed-pre .ln{min-height:1.35em;white-space:pre}
#edA-cancion .ed-pre .tk{display:inline;color:var(--acorde);font-weight:800;cursor:grab;touch-action:none}
#edA-cancion .ed-pre .ln.nota{font-family:-apple-system,system-ui,sans-serif;font-size:.9em;color:var(--tenue);font-style:italic;white-space:normal;padding:.15em .4em;margin:.15em 0;border-left:3px solid var(--borde);user-select:none;-webkit-user-select:none}
#edA-cancion .edicion-acciones{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin-top:.5rem}
#edA-cancion .edicion-acciones .ayuda{flex:1;font-size:.8rem}
#edA-cancion .edicion-acciones .mini{flex:0 0 auto;min-width:2.6rem;font-size:1.1rem;padding:.4rem .6rem}
#edA-cancion .nota[data-l]{cursor:context-menu}
.nota-caja{margin:.4rem 0;padding:.5rem;background:var(--panel);border:1px solid var(--acorde);border-radius:10px}
.nota-caja textarea{width:100%;box-sizing:border-box;font-size:1rem;padding:.5rem;background:#111;color:var(--texto);border:1px solid var(--borde);border-radius:8px;margin-bottom:.4rem}
#edA-cancion .mas-linea{display:inline-block;vertical-align:bottom;margin-left:.5rem;padding:0 .5rem;font-size:.9rem;line-height:1.5;color:var(--tenue);background:#161616;border-color:#2a2a2a;border-radius:8px}
#edA-cancion .mas-linea:active{color:var(--acorde)}

.ed-texto .ed-anadir{display:flex;align-items:center;gap:.5rem;margin:.5rem 0;color:var(--tenue);font-size:.8rem;cursor:pointer}
.ed-texto .ed-anadir::before,.ed-texto .ed-anadir::after{content:"";flex:1;border-top:1px dashed var(--borde)}
.ed-texto .ed-anadir:active{color:var(--acorde)}
#ed-nueva-sec{border-color:var(--acorde)}
/* enlace al panel de la Mac (pestaña Yo, solo en localhost) */
#panel-mac{margin:1rem 0}
#panel-mac a{display:block;text-align:center;background:var(--acorde);color:#000;font-weight:800;text-decoration:none;border-radius:999px;padding:.9rem 1.2rem;font-size:1.05rem}
#ed-editar-sec{border-color:#8fb4ff}
#ed-editar-sec textarea{width:100%;font-family:ui-monospace,Menlo,monospace;font-size:1rem;background:#000;color:var(--texto);border:1px solid var(--borde);border-radius:8px;padding:.5rem}
/* marca "estamos aquí" de una sección completa (desde la vista Estructura): un solo color, sin latido */
.lienzo .seccion.marcada-sec{background:#3a2806;border-radius:10px;box-shadow:0 0 0 8px #3a2806}
.lienzo.vista-estructura .estructura li.marcada-sec{background:var(--acorde);color:#000}
.lienzo.vista-estructura .estructura li.marcada-sec .acs,.lienzo.vista-estructura .estructura li.marcada-sec .nota{color:#000}
#ed-mix-lista select.tono-mix{font-size:.85rem;padding:.35rem .4rem;max-width:11rem}

/* listas ordenables (cola y editor de setlists): asa ≡ con eventos pointer, como el arreglo (11-sep) */
.lista .agarre{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;color:var(--tenue);font-size:1.3rem;padding:.2rem .6rem .2rem .2rem}
.lista li.arrastrando{opacity:.55;background:#1c1c1c}
#sl-nombre,#sl-fecha{font:inherit;color:var(--texto);background:#151515;border:1px solid var(--borde);border-radius:10px;padding:.5rem .7rem}

/* Propuestas de cola armadas sin conexión (Paper 13, fila 214) y panel de la copia local */
.propuestas { margin: .5rem 0; padding: .6rem .8rem; border: 1px solid var(--acorde); border-radius: 10px; background: rgba(240, 160, 48, .08); }
.propuestas .fila { margin-top: .4rem; flex-wrap: wrap; }
#copia-conflictos { margin: .5rem 0; }
