/* Editor RLR · tablero. Mismo sistema que Contexto: marco gris, áreas blancas,
   tinta oscura, anillos de un pelo en vez de sombras, UN ancla azul por pantalla
   (--foco), color de estado sólo en puntos y texto. Pila de fuentes del sistema. */
:root{
  --papel:#f3f3f3; --blanco:#ffffff; --pelo:#e5e5e5; --nube:#ededed; --ceniza:#c9c9c9;
  --humo:#757575; --grafito:#666666; --piedra:#525252; --carbon:#303030; --obsidiana:#202123;
  --foco:#2563eb; --foco-suave:#eef3fe; --foco-sel:#d9e5fd;
  --ok:#23743b; --warn:#965000; --bad:#ba2929;
  --ink:var(--obsidiana); --muted:var(--piedra); --dim:var(--grafito); --border:var(--pelo);
  --sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --radio:6px; --radio-g:10px; --ease:cubic-bezier(.16,1,.3,1);
  --anillo:0 0 0 1px rgba(0,0,0,.08);
  --alto-tope:52px; --hueco:8px;
  --z-tope:40; --z-cajon:80; --z-sin-motor:100; --z-toast:95;
}

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;color-scheme:only light;background:var(--papel)}
body{font-family:var(--sans);font-feature-settings:"rlig","ss11";font-size:15px;color:var(--ink);background:var(--papel);min-height:100dvh;line-height:1.45}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
a{color:inherit;text-decoration:none}
button{font-family:inherit;font-size:inherit;cursor:pointer;color:inherit}
input,select{font-family:inherit;font-size:inherit;color:inherit}
svg{display:block;flex-shrink:0}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--foco);outline-offset:2px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saltar{position:fixed;left:12px;top:-60px;z-index:var(--z-toast);background:var(--obsidiana);color:var(--blanco);padding:10px 16px;border-radius:var(--radio);font-size:13px}
.saltar:focus{top:12px}
.relleno{flex:1}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)} .dim{color:var(--dim);font-size:13px}
.ok{color:var(--ok)} .warn{color:var(--warn)} .bad{color:var(--bad)}
kbd{font-family:var(--mono);font-size:11px;padding:1px 6px;border-radius:4px;background:var(--blanco);box-shadow:var(--anillo);color:var(--piedra)}
code{font-family:var(--mono);font-size:12.5px}

/* ——— Cabecera ——— */
.tope{position:sticky;top:0;z-index:var(--z-tope);height:var(--alto-tope);display:flex;align-items:center;gap:16px;padding:0 16px;background:var(--blanco);border-bottom:1px solid var(--pelo)}
.marca{display:flex;align-items:center;gap:8px;font-weight:500;letter-spacing:-.02em;flex-shrink:0}
.marca-sello{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 8px;border-radius:var(--radio);background:var(--obsidiana);color:var(--blanco);font-family:var(--mono);font-size:12px;letter-spacing:.06em}
.nav{display:flex;gap:2px}
.nav a{padding:7px 12px;border-radius:var(--radio);font-size:14px;font-weight:500;color:var(--carbon)}
.nav a:hover{background:var(--nube)}
.nav a.activo{background:var(--papel);color:var(--obsidiana)}
.tope-vista{flex:1;min-width:0;display:flex;align-items:center;gap:12px}
.motor-estado{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.071em;color:var(--dim);flex-shrink:0}
body[data-pantalla="proyecto"] .nav{display:none}

.volver{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:500;color:var(--carbon);padding:6px 10px 6px 6px;border-radius:var(--radio);flex-shrink:0}
.volver:hover{background:var(--nube)}
.proy-cab{min-width:0;display:flex;flex-direction:column;line-height:1.2}
.proy-titulo{font-size:16px;font-weight:500;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.proy-sub{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ——— Piezas comunes ——— */
.panel{background:var(--blanco);border-radius:var(--radio-g);box-shadow:var(--anillo)}
.eyebrow{font-family:var(--mono);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.071em;color:var(--dim);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.eyebrow .n{color:var(--ink)}
.punto{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0;background:var(--ceniza)}
.punto.ok{background:var(--ok)} .punto.warn{background:var(--warn)} .punto.bad{background:var(--bad)}
.punto.pulso{animation:pulso 1.2s ease-in-out infinite}
@keyframes pulso{50%{opacity:.35}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;border-radius:var(--radio);border:none;font-size:14px;font-weight:500;line-height:1.2;background:var(--blanco);color:var(--carbon);box-shadow:0 0 0 1px var(--pelo);white-space:nowrap;transition:background-color .15s,box-shadow .15s,transform .1s}
.btn:hover:not(:disabled){color:var(--obsidiana);box-shadow:0 0 0 1px var(--ceniza)}
.btn:active:not(:disabled){transform:scale(.98)}
.btn.fuerte{background:var(--obsidiana);color:var(--blanco);box-shadow:none}
.btn.fuerte:hover:not(:disabled){background:var(--carbon);color:var(--blanco)}
.btn.foco{background:var(--foco);color:var(--blanco);box-shadow:none}
.btn.foco:hover:not(:disabled){background:#1d4fd0;color:var(--blanco)}
.btn.mini{padding:6px 10px;font-size:13px}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.pendiente{box-shadow:0 0 0 2px var(--warn)}
.icono-btn{width:34px;height:34px;border-radius:var(--radio);border:none;background:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--carbon)}
.icono-btn:hover{background:var(--nube)}
.mas{border:none;background:none;color:var(--foco);font-size:13px;font-weight:500;padding:6px 0}
.mas:hover{text-decoration:underline}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--blanco);font-size:13px;color:var(--carbon);white-space:nowrap}
.chip:hover:not(:disabled){border-color:var(--ceniza)}
.chip[aria-pressed="true"]{background:var(--obsidiana);border-color:var(--obsidiana);color:var(--blanco)}
.chip:disabled{opacity:.4;cursor:not-allowed}
.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radio);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;background:var(--nube);color:var(--carbon)}
.vacio{padding:24px;border-radius:var(--radio);background:var(--papel);color:var(--muted);font-size:14px;text-align:center}
.barra-prog{height:6px;border-radius:3px;background:var(--nube);overflow:hidden;flex:1;min-width:60px}
.barra-prog i{display:block;height:100%;background:var(--obsidiana);border-radius:3px;transition:width .4s var(--ease)}

/* Interruptor */
.interruptor{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--carbon);cursor:pointer;position:relative;white-space:nowrap}
.interruptor input{position:absolute;opacity:0;width:36px;height:20px;margin:0;cursor:pointer}
.pista-i{width:36px;height:20px;border-radius:999px;background:var(--ceniza);position:relative;transition:background-color .15s;flex-shrink:0}
.pista-i::after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:var(--blanco);transition:transform .15s var(--ease)}
.interruptor input:checked + .pista-i{background:var(--obsidiana)}
.interruptor input:checked + .pista-i::after{transform:translateX(16px)}
.interruptor input:focus-visible + .pista-i{outline:3px solid var(--foco);outline-offset:2px}
.interruptor input:disabled + .pista-i{opacity:.4}

/* Avisos (toasts): arriba al centro, bajo la cabecera */
.avisos{position:fixed;top:calc(var(--alto-tope) + 10px);left:50%;transform:translateX(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;width:min(560px,calc(100vw - 24px))}
.toast{pointer-events:auto;background:var(--obsidiana);color:var(--blanco);padding:10px 16px 10px 32px;border-radius:var(--radio);font-size:14px;position:relative;box-shadow:0 8px 30px rgba(0,0,0,.18);animation:entra .2s var(--ease);cursor:pointer;max-width:100%}
.toast::before{content:"";position:absolute;left:14px;top:50%;margin-top:-4px;width:8px;height:8px;border-radius:50%;background:var(--ceniza)}
.toast.error::before{background:#ff7a7a} .toast.ok::before{background:#5fd283}
.toast.saliendo{opacity:0;transition:opacity .2s}
@keyframes entra{from{opacity:0;transform:translateY(-6px)}}

/* ——— Sin motor ——— */
.sin-motor{position:fixed;inset:0;z-index:var(--z-sin-motor);background:var(--papel);display:grid;place-items:center;padding:24px}
.sin-motor-caja{background:var(--blanco);border-radius:var(--radio-g);box-shadow:var(--anillo);padding:36px;max-width:540px;width:100%;display:grid;gap:14px}
.sin-motor h2{font-size:26px;font-weight:500;letter-spacing:-.03em;line-height:1.15}
.comando{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radio);background:var(--obsidiana);color:var(--blanco)}
.comando code{flex:1;font-size:16px}
.comando .btn{background:transparent;color:var(--blanco);box-shadow:0 0 0 1px rgba(255,255,255,.3)}
.reintento{display:flex;align-items:center;gap:8px}

/* ——— Inicio ——— */
.inicio{max-width:1120px;margin:0 auto;padding:24px 16px 80px}
.bandeja{padding:20px}
.bandeja-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.bandeja-cab .eyebrow{margin:0}
.bandeja-lista{list-style:none;display:flex;flex-direction:column}
.bandeja-fila{display:flex;align-items:center;gap:14px;padding:12px 4px;border-bottom:1px solid var(--pelo)}
.bandeja-fila:last-child{border-bottom:none}
.fila-icono{width:36px;height:36px;border-radius:var(--radio);background:var(--papel);display:flex;align-items:center;justify-content:center;color:var(--piedra);flex-shrink:0}
.fila-texto{flex:1;min-width:0}
.fila-nombre{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fila-meta{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px}
/* Etiquetas de tipo en la Bandeja: el color dice qué es sin leer. */
.etiqueta{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.01em;line-height:18px;white-space:nowrap}
.et-ss{background:#f1ebfd;color:#5b2bb5}
.et-video{background:#e9f0fe;color:#1d4fb8}
.et-srt{background:#efefef;color:#525252}
.et-hecho{background:#e7f4ea;color:#23743b}
.bandeja-filtros{margin:4px 0 10px}
.fila-nota{font-size:12px;color:var(--dim);padding:0 12px}
.loom{display:flex;align-items:center;gap:10px;padding-top:16px;margin-top:6px;border-top:1px solid var(--pelo);flex-wrap:wrap}
.loom-et{font-size:13px;font-weight:500;color:var(--carbon)}
.loom input{flex:1;min-width:220px;padding:9px 12px;border-radius:var(--radio);border:none;box-shadow:0 0 0 1px var(--pelo);outline:none;background:var(--blanco)}
.loom input:focus{box-shadow:0 0 0 2px var(--foco)}
.seccion{margin-top:36px}
.tarjetas{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}
.tarjeta{display:flex;flex-direction:column;background:var(--blanco);border-radius:var(--radio-g);box-shadow:var(--anillo);overflow:hidden;transition:box-shadow .15s}
.tarjeta:hover{box-shadow:0 0 0 1px var(--obsidiana)}
.tarjeta-img{aspect-ratio:16/9;background:var(--nube);position:relative;overflow:hidden}
.mini-img{width:100%;height:100%;object-fit:cover;display:block}
.mini-img.rota{opacity:0}
.tarjeta-cuerpo{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}
.tarjeta-titulo{font-weight:500;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tarjeta-tiempos{font-size:13px;color:var(--muted)}
.tarjeta-tiempos b{color:var(--ink);font-weight:500}
.tarjeta-estado{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--carbon)}
.trabajo-paso{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted);margin-bottom:4px}
.trabajo-paso span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ——— Proyecto: pantalla de trabajo ——— */
body[data-pantalla="proyecto"]{height:100dvh;overflow:hidden}
body[data-pantalla="proyecto"] #vista{height:calc(100dvh - var(--alto-tope));padding:var(--hueco)}
.proy-cargando{padding:40px;text-align:center}
.proyecto{height:100%;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:var(--hueco);min-height:0}
.proy-cuerpo{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:var(--hueco);min-height:0}
.col{display:flex;flex-direction:column;gap:var(--hueco);min-height:0;min-width:0}

/* Vista previa */
.previa{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.escena{flex:1 1 0;min-height:0;background:#000;position:relative;overflow:hidden}
.escena video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.escena .v-intro{display:none}
.escena[data-escena="intro"] .v-intro{display:block}
.escena[data-escena="intro"] .v-video,.escena[data-escena="cartel"] .v-video,.escena[data-escena="final"] .v-video{visibility:hidden}
.cartel{position:absolute;inset:0;background:#000;color:#fff;display:none;align-items:center;justify-content:center;font-weight:600;font-size:clamp(20px,3.4vw,44px);letter-spacing:.14em;text-transform:uppercase}
.escena[data-escena="cartel"] .cartel{display:flex}
/* Qué está sonando: grande y arriba a la izquierda */
.rotulo{position:absolute;left:12px;top:12px;z-index:3;max-width:calc(100% - 24px);padding:7px 15px 7px 12px;border-radius:8px;background:rgba(18,19,21,.88);color:#fff;border-left:5px solid var(--c,#fff);pointer-events:none;box-shadow:0 2px 14px rgba(0,0,0,.28)}
.rotulo[data-tipo="gancho"]{--c:#e3a24a}
.rotulo[data-tipo="intro"]{--c:#ffffff}
.rotulo[data-tipo="capitulo"],.etiqueta[data-tipo="cuerpo"]{--c:#b9c0cc}
.rotulo[data-tipo="final"]{--c:#8fb4f5}
.rotulo[data-tipo="original"]{--c:#8c8c8c}
.et-txt{display:block;font-size:clamp(14px,1.25vw,21px);font-weight:600;letter-spacing:.012em;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.et-sigue{display:block;font-size:clamp(11px,.8vw,13.5px);color:rgba(255,255,255,.74);margin-top:1px;white-space:nowrap}
/* Pantalla final: cartel oscuro con el logo y dónde irán las tarjetas de YouTube */
.pantalla-final{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:#14161a;container-type:size;cursor:pointer}
.escena[data-escena="final"] .pantalla-final{display:flex}
.escena[data-escena="final"] .v-video{visibility:hidden}
.pf-lienzo{position:relative;aspect-ratio:16/9;width:min(100cqw,calc(100cqh * 16 / 9));container-type:inline-size}
.pf-sello{position:absolute;right:3.5%;top:4.5%;padding:.5cqw 1.8cqw .5cqw calc(1.8cqw + .16em);border-radius:.9cqw;border:.28cqw solid rgba(255,255,255,.88);color:#fff;font-family:var(--mono);font-size:2.8cqw;letter-spacing:.16em}
.pf-rect,.pf-circulo{position:absolute;border:.3cqw dashed rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);font-size:max(10px,1.7cqw);text-align:center}
.pf-rect{top:24%;width:33%;aspect-ratio:16/9;border-radius:1cqw}
.pf-izq{left:10%} .pf-der{right:10%}
.pf-circulo{left:50%;top:62%;width:12cqw;height:12cqw;margin-left:-6cqw;border-radius:50%}
.pf-nota{position:absolute;left:0;right:0;bottom:3.5%;text-align:center;color:rgba(255,255,255,.62);font-size:max(10px,1.9cqw);letter-spacing:.04em}
.espera{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#cfcfcf;font-size:14px;background:rgba(0,0,0,.55);pointer-events:none}
.mando{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--pelo)}
.btn-play{width:40px;height:40px;border-radius:50%;border:none;background:var(--obsidiana);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.btn-play:hover{background:var(--carbon)}
.reloj{font-size:14px;color:var(--ink);margin-left:6px;white-space:nowrap}

/* Línea de tiempo por capas */
.linea{flex:0 0 auto;padding:10px 14px 9px}
.tira-cab{display:flex;align-items:baseline;gap:8px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.071em;color:var(--dim);margin-bottom:7px}
.tira-cab b{color:var(--ink);font-weight:500}
.capas{display:grid;grid-template-columns:64px minmax(0,1fr);gap:5px 10px;position:relative}
.capas > :nth-child(-n+2){grid-row:1}
.capas > :nth-child(n+3):nth-child(-n+4){grid-row:2}
.capas > :nth-child(n+5):nth-child(-n+6){grid-row:3}
.capa-nom{grid-column:1;align-self:center;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.071em;color:var(--dim)}
.capa-pista{grid-column:2;position:relative;border-radius:5px;cursor:pointer;touch-action:none;box-shadow:0 0 0 1px var(--pelo);background:#fafafa;overflow:hidden}
.capa-pista:focus-visible{outline-offset:3px}
.pista-est{height:32px;background:#f0f1f3}
.pista-voz,.pista-mus{height:36px}
.cv{display:block;width:100%;border-radius:5px}
.capa-pista .cv{height:100%}
.cv-orig{height:54px}
.bloque{position:absolute;top:0;bottom:0;min-width:3px;display:flex;align-items:center;gap:6px;padding:0 7px;font-size:12px;line-height:1;overflow:hidden;white-space:nowrap;box-shadow:inset -1px 0 0 #fff}
.bloque b{font-family:var(--mono);font-size:11px;font-weight:600;flex-shrink:0}
.bl-tit{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.b-gancho,.b-intro,.b-final{justify-content:center;padding:0 2px}
.bloque.ahora{box-shadow:inset -1px 0 0 #fff,inset 0 -3px 0 var(--obsidiana)}
.mus-nombre{position:absolute;left:6px;top:4px;max-width:calc(100% - 12px);padding:2px 9px;border:none;border-radius:999px;background:rgba(255,255,255,.9);box-shadow:var(--anillo);font-size:11.5px;line-height:1.5;color:var(--carbon);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mus-nombre:hover{box-shadow:0 0 0 1px var(--ceniza);color:var(--obsidiana)}
.mus-nombre small{font-size:inherit;color:var(--dim)}
.pista-mus.vacia{background:transparent;box-shadow:none;cursor:default}
.mus-agregar{position:absolute;inset:0;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px dashed var(--ceniza);border-radius:5px;background:transparent;font-size:12.5px;font-weight:500;color:var(--carbon)}
.mus-agregar span{font-size:16px;line-height:1;font-weight:400}
.mus-agregar:hover{border-color:var(--humo);background:var(--papel);color:var(--obsidiana)}
.cursor-zona{grid-column:2;grid-row:1 / span 3;position:relative;pointer-events:none;z-index:3}
.cabezal{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--obsidiana);pointer-events:none;box-shadow:0 0 0 1px rgba(255,255,255,.85)}
.cabezal::before{content:"";position:absolute;top:0;left:-4px;border:5px solid transparent;border-top-color:var(--obsidiana)}
.tira{position:relative;border-radius:5px;cursor:pointer;touch-action:none;box-shadow:0 0 0 1px var(--pelo)}
.tira:focus-visible{outline-offset:3px}
.tira-tip{position:absolute;bottom:calc(100% + 6px);transform:translateX(-50%);padding:1px 7px;border-radius:4px;background:var(--obsidiana);color:#fff;font-size:11px;pointer-events:none;white-space:nowrap;z-index:4}
.tira-o .tira-tip{bottom:calc(100% + 4px)}
.linea-orig{margin-top:9px;padding-top:6px;border-top:1px solid var(--pelo)}
.linea-orig>summary{display:inline-flex;align-items:center;gap:6px;list-style:none;cursor:pointer;font-size:12.5px;color:var(--piedra);padding:2px 0;border-radius:4px}
.linea-orig>summary::-webkit-details-marker{display:none}
.linea-orig>summary::before{content:"›";font-size:16px;line-height:1;color:var(--dim);transition:transform .15s}
.linea-orig[open]>summary::before{transform:rotate(90deg)}
.linea-orig>summary:hover{color:var(--obsidiana)}
.orig-cuerpo{padding-top:8px}
.leyenda{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;min-height:18px}
.ley{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.ley i{width:10px;height:10px;border-radius:2px;display:inline-block}
.pista{font-size:13px;color:var(--muted);margin-top:8px}

/* Columna derecha */
.col-der{overflow:hidden}
.plan{flex:0 1 auto;max-height:44%;display:flex;flex-direction:column;gap:var(--hueco);min-height:0}
.plan-panel{overflow:auto;min-height:0;scrollbar-width:thin}
.plan-det>summary{display:flex;align-items:baseline;gap:12px;padding:9px 14px;list-style:none;cursor:pointer;position:sticky;top:0;background:var(--blanco);z-index:1;border-radius:var(--radio-g)}
.plan-det>summary::-webkit-details-marker{display:none}
.plan-det>summary::before{content:"›";font-size:18px;line-height:1;color:var(--dim);transition:transform .15s;align-self:center}
.plan-det[open]>summary::before{transform:rotate(90deg)}
.plan-tit{font-size:14px;font-weight:500;flex-shrink:0}
.plan-1linea{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.plan-det[open] .plan-1linea{display:none}
.plan-cuerpo{padding:2px 16px 16px;display:grid;gap:18px 24px;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));align-items:start}
.plan-cuerpo .ancho{grid-column:1/-1}
.plan-sec .eyebrow{margin-bottom:6px}
.tesis{font-size:15px;line-height:1.5;max-width:68ch}
.gancho-lista{list-style:none;display:grid;gap:2px}
.gancho-item{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;padding:7px 8px;margin:0 -8px;border:none;background:transparent;border-radius:var(--radio);font-size:13.5px;line-height:1.45;color:var(--carbon)}
.gancho-item:hover:not(:disabled){background:var(--papel)}
.gancho-n{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:#f6e6c8;color:#7a4b00;font-size:11px;font-weight:500;display:flex;align-items:center;justify-content:center;margin-top:1px}
.gancho-txt b{display:block;font-weight:500;color:var(--ink)}
.caps-lista{list-style:none;display:grid;gap:4px}
.caps-lista li{display:flex;align-items:center;gap:8px}
.cap-t{border:none;background:var(--papel);border-radius:4px;padding:4px 7px;font-size:12px;color:var(--carbon);min-width:48px;text-align:center}
.cap-t:hover{background:var(--nube)}
.caps-lista input{flex:1;min-width:0;padding:6px 9px;border:none;border-radius:var(--radio);box-shadow:0 0 0 1px var(--pelo);font-size:14px;background:var(--blanco);outline:none}
.caps-lista input:hover{box-shadow:0 0 0 1px var(--ceniza)}
.caps-lista input:focus{box-shadow:0 0 0 2px var(--foco)}
.qh-total{font-size:14px;margin-bottom:8px}
.qh-lista{list-style:none;display:grid;gap:2px}
.qh-lista li{display:flex;align-items:center;gap:9px;font-size:13.5px;padding:3px 0}
.cuadro{width:10px;height:10px;border-radius:2px;flex-shrink:0}
.qh-n{flex:1}
.qh-v{color:var(--muted);font-size:12.5px}
.plan-fuera>summary{cursor:pointer;font-size:13px;font-weight:500;color:var(--carbon);padding:2px 0}
.plan-fuera ul{margin:6px 0 0 18px;display:grid;gap:4px;font-size:13.5px;color:var(--carbon)}
/* Tarjeta «Qué hice» */
.qhice{flex:0 0 auto;padding:10px 14px 11px;display:grid;gap:7px}
.qhice .eyebrow{margin:0}
.qh-linea1{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 14px}
.qh-de{font-size:18px;letter-spacing:-.015em;white-space:nowrap}
.qh-de b{font-weight:600}
.qh-menos{font-size:12.5px;color:var(--muted)}
.qh-seq{display:flex;flex-wrap:wrap;align-items:center;gap:3px 16px;font-size:13px;color:var(--carbon);line-height:1.5}
.qh-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.qh-item b{font-weight:600}
.qh-punto{width:10px;height:10px;border-radius:3px;flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.14)}
.qh-no{color:var(--dim)}
.qh-nota{font-size:13px;line-height:1;width:10px;text-align:center;color:var(--piedra)}
.qh-musica{border:none;background:none;padding:0;font-size:13px;color:var(--carbon);border-radius:4px}
.qh-musica:hover{color:var(--obsidiana);text-decoration:underline}
.qh-chips{display:flex;flex-wrap:wrap;gap:5px}
.qh-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border:none;border-radius:999px;background:var(--papel);font-size:12px;line-height:1.4;color:var(--carbon);white-space:nowrap}
.qh-chip b{font-weight:600}
.qh-seg{color:var(--muted)}
.qh-chips .qh-punto{width:8px;height:8px;border-radius:50%}
.qh-mas{background:var(--blanco);box-shadow:0 0 0 1px var(--pelo);color:var(--piedra)}
.qh-mas:hover{box-shadow:0 0 0 1px var(--ceniza);color:var(--obsidiana)}
.qh-error{display:flex;align-items:baseline;gap:8px;font-size:13px;color:var(--bad)}
.qh-avisos>summary{display:inline-flex;align-items:center;gap:6px;list-style:none;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--warn)}
.qh-avisos>summary::-webkit-details-marker{display:none}
.qh-avisos>summary::before{content:"›";font-size:16px;line-height:1;transition:transform .15s}
.qh-avisos[open]>summary::before{transform:rotate(90deg)}
.qh-avisos ul{list-style:none;display:grid;gap:4px;margin-top:6px}
.qh-avisos li{display:flex;align-items:baseline;gap:8px;font-size:12.5px;color:var(--carbon)}
.qh-avisos li .punto{transform:translateY(-1px)}

/* Transcripción: compacta (la mitad de alto por línea) y sigue sola al video */
.transc{position:relative;flex:1 1 0;min-height:160px;display:flex;flex-direction:column;overflow:hidden}
.sel-barra{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 10px;min-height:36px;border-bottom:1px solid var(--pelo);flex-shrink:0;transition:background-color .15s}
.sel-barra.hay{background:var(--foco-suave)}
.sel-texto{font-size:12px;color:var(--muted);min-width:0}
.sel-barra.hay .sel-texto{color:var(--ink);font-weight:500}
.sel-acciones{display:flex;gap:5px;flex-shrink:0}
.sel-barra .btn.mini{padding:4px 9px;font-size:12px;gap:6px}
.doc{flex:1;min-height:0;overflow-y:auto;padding:3px 8px 48px;user-select:none;-webkit-user-select:none;outline:none;scrollbar-width:thin}
.fr{display:grid;grid-template-columns:34px minmax(0,1fr);gap:6px;padding:2px 4px;content-visibility:auto;contain-intrinsic-size:auto 44px}
.fr-t{border:none;background:none;text-align:right;font-size:10px;color:#a0a0a0;padding:3px 0 0;align-self:start;border-radius:4px}
.fr-t:hover{color:var(--ink);background:var(--papel)}
.fr-txt{font-size:13.5px;line-height:1.5;color:var(--ink);cursor:text}
.fr-fuera .fr-txt{opacity:.85}
.w{border-radius:3px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.w:hover{background:var(--nube)}
.w.ev{font-style:italic;color:var(--dim);font-size:.9em}
.w.g{background:#fbeccb}
.w.q{color:#9b9b9b;text-decoration:line-through;text-decoration-color:#b4b4b4;text-decoration-thickness:1px}
.w.q:hover{background:var(--nube)}
.w.sel{background:var(--foco-sel);color:var(--ink)}
.w.sel.q{color:#6f6f6f}
.w.suena{background:var(--obsidiana);color:#fff;text-decoration:none}
.cap-sep{display:flex;align-items:baseline;gap:8px;margin:9px 4px 2px;padding-top:8px;border-top:1px solid var(--pelo)}
.cap-sep span{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.071em;color:var(--dim)}
.cap-sep b{font-weight:500;font-size:13px}
.cap-sep:first-child{margin-top:3px;border-top:none;padding-top:0}
.seguir-btn{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);background:var(--obsidiana);color:#fff;box-shadow:0 4px 16px rgba(0,0,0,.22);z-index:2}
.seguir-btn:hover:not(:disabled){background:var(--carbon);color:#fff;box-shadow:0 4px 16px rgba(0,0,0,.22)}

/* ——— Barra inferior ——— */
.barra{min-width:0;padding:10px 14px;display:flex;flex-direction:column;gap:8px;background:var(--blanco);border-radius:var(--radio-g);box-shadow:var(--anillo)}
.barra-fila{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.modo{display:flex;align-items:center;gap:10px}
.notas-caja{flex:1;min-width:180px}
.notas{width:100%;padding:9px 12px;border:none;border-radius:var(--radio);box-shadow:0 0 0 1px var(--pelo);outline:none;font-size:14px;background:var(--blanco)}
.notas:focus{box-shadow:0 0 0 2px var(--foco)}
.notas::placeholder{color:var(--humo)}
.dur{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1;padding:0 6px}
.dur-grande{font-size:30px;font-weight:500;letter-spacing:-.03em}
.dur-chica{font-size:12px;color:var(--muted)}
.barra-franja{display:flex;align-items:center;gap:10px;font-size:13px;padding-bottom:8px;border-bottom:1px solid var(--pelo);min-width:0}
.barra-franja .paso{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.barra-franja .paso.bad{color:var(--bad)}
.barra-franja.trabajando .paso{flex-shrink:0;max-width:40%}
.barra-franja .ruta{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--dim)}
.barra-franja .pct{font-size:12px;color:var(--muted);width:38px;text-align:right}

/* ——— Cajón de ajustes del video ——— */
.velo{position:fixed;inset:0;z-index:calc(var(--z-cajon) - 1);background:rgba(32,33,35,.3)}
.cajon{position:fixed;right:0;top:0;bottom:0;width:min(460px,100vw);z-index:var(--z-cajon);background:var(--blanco);box-shadow:-1px 0 0 var(--pelo),-20px 0 60px rgba(0,0,0,.12);overflow-y:auto;transform:translateX(100%);transition:transform .18s var(--ease);outline:none}
.cajon.abierto{transform:none}
.cajon-cab{position:sticky;top:0;background:var(--blanco);z-index:2;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--pelo)}
.cajon-cab h2{font-size:18px;font-weight:500;letter-spacing:-.02em}
.cajon-cuerpo{padding:18px 20px 40px;display:grid;gap:4px}
.cajon-cuerpo .eyebrow{margin:18px 0 2px}
.cajon-cuerpo > .eyebrow:first-child{margin-top:0}

/* Formularios de opciones */
.form-op{display:grid}
.form-op .eyebrow{margin:20px 0 2px}
.form-op .eyebrow:first-child{margin-top:0}
.campo{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 0;border-bottom:1px solid var(--pelo)}
.campo-txt{min-width:0}
.campo-txt label,.campo-txt .et{font-size:14px;font-weight:500;display:block}
.campo-txt small{display:block;font-size:12px;color:var(--dim);margin-top:1px}
.campo-grupo{flex-direction:column;align-items:flex-start;gap:8px}
.num-caja{display:flex;align-items:center;gap:6px;flex-shrink:0}
.num-caja input{width:76px;padding:7px 9px;border:none;border-radius:var(--radio);box-shadow:0 0 0 1px var(--pelo);text-align:right;font-family:var(--mono);font-size:14px;outline:none;background:var(--blanco)}
.num-caja input:focus{box-shadow:0 0 0 2px var(--foco)}
.unidad{font-family:var(--mono);font-size:12px;color:var(--dim);min-width:26px}
.avanzado{padding-top:6px}

/* Música en el cajón */
.mus-seccion{display:grid;scroll-margin-top:70px}
.mus-seccion .eyebrow{margin:20px 0 2px}
.sub-et{font-size:12px;font-weight:500;color:var(--carbon);margin:14px 0 2px}
.form-op select,.mus-seccion select{width:100%;padding:8px 10px;border:none;border-radius:var(--radio);box-shadow:0 0 0 1px var(--pelo);background:var(--blanco);font-size:14px;outline:none}
.mus-seccion select:hover{box-shadow:0 0 0 1px var(--ceniza)}
.mus-seccion select:focus-visible{box-shadow:0 0 0 2px var(--foco);outline:none}
.mus-seccion input[type=range]{width:100%;accent-color:var(--obsidiana)}
.nivel-cab{display:flex;justify-content:space-between;align-items:baseline;width:100%}
.nivel-valor{font-size:14px}
.nivel-ejes{display:flex;justify-content:space-between;width:100%;font-size:11px;margin-top:-4px}
.mus-lista{list-style:none;display:grid}
.mus-pista{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--pelo)}
.mus-play{background:var(--papel);border-radius:50%;width:32px;height:32px}
.mus-play[aria-pressed="true"]{background:var(--obsidiana);color:#fff}
.mus-info{flex:1;min-width:0;display:grid}
.mus-info b{display:flex;align-items:center;gap:8px;font-weight:500;font-size:14px}
.mus-info small{font-size:12px}
.mus-marca{background:var(--obsidiana);color:#fff}
.mus-gen{display:grid;gap:2px;margin-top:4px}
.mus-gen textarea{width:100%;padding:9px 12px;border:none;border-radius:var(--radio);box-shadow:0 0 0 1px var(--pelo);outline:none;background:var(--blanco);font-size:13.5px;line-height:1.4;resize:vertical;min-height:58px}
.mus-gen textarea:focus{box-shadow:0 0 0 2px var(--foco)}
.mus-gen .campo-texto input,.mus-gen textarea{font-family:var(--sans);font-size:14px}
.mus-gen-acc{display:flex;align-items:center;gap:12px;margin:2px 0 8px}
.mus-prog-fila{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--carbon)}
.mus-prog-fila .pct{font-size:12px;color:var(--muted);width:36px;text-align:right}
.mus-error{display:flex;align-items:baseline;gap:8px;font-size:13px;color:var(--bad)}

/* Editor de cámara */
.camara-ed{display:grid;gap:10px;margin-top:6px}
.cam-lienzo{position:relative;width:100%;background:#000;border-radius:var(--radio);overflow:hidden;touch-action:none;user-select:none}
.cam-img{display:block;width:100%;height:100%;object-fit:fill;-webkit-user-drag:none}
.cam-img.rota{min-height:120px;opacity:.2}
.cam-forma{position:absolute;border:2px solid #fff;cursor:move;box-shadow:0 0 0 9999px rgba(0,0,0,.5);outline:none}
.cam-forma.circulo{border-radius:50%}
.cam-forma:focus-visible{outline:3px solid var(--foco);outline-offset:2px}
.asa{position:absolute;width:12px;height:12px;background:#fff;border:1.5px solid var(--obsidiana);border-radius:3px;margin:-6px 0 0 -6px}
.asa-nw{left:0;top:0;cursor:nwse-resize} .asa-ne{left:100%;top:0;cursor:nesw-resize}
.asa-sw{left:0;top:100%;cursor:nesw-resize} .asa-se{left:100%;top:100%;cursor:nwse-resize}
.asa-n{left:50%;top:0;cursor:ns-resize} .asa-s{left:50%;top:100%;cursor:ns-resize}
.asa-e{left:100%;top:50%;cursor:ew-resize} .asa-w{left:0;top:50%;cursor:ew-resize}
.cam-forma.circulo .asa-n,.cam-forma.circulo .asa-s,.cam-forma.circulo .asa-e,.cam-forma.circulo .asa-w{display:none}
.cam-forma.circulo .asa-nw{left:14.6%;top:14.6%} .cam-forma.circulo .asa-ne{left:85.4%;top:14.6%}
.cam-forma.circulo .asa-sw{left:14.6%;top:85.4%} .cam-forma.circulo .asa-se{left:85.4%;top:85.4%}
.cam-t{display:grid;gap:4px;font-size:13px}
.cam-t input[type=range]{width:100%;accent-color:var(--obsidiana)}
.fila{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cam-estado{font-size:12px}

/* Ayuda */
.ayuda{border:none;border-radius:var(--radio-g);padding:22px 24px;width:min(520px,calc(100vw - 32px));box-shadow:0 20px 60px rgba(0,0,0,.28);margin:auto;color:var(--ink)}
.ayuda::backdrop{background:rgba(32,33,35,.35)}
.ayuda-cab{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.ayuda-cab h2{font-size:20px;font-weight:500;letter-spacing:-.02em}
.atajos{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;align-items:center;margin-bottom:14px}
.atajos dt{display:flex;gap:4px;justify-content:flex-end}
.atajos dd{font-size:14px;color:var(--carbon)}

/* ——— Ajustes (global) ——— */
.ajustes{max-width:820px;margin:0 auto;padding:28px 16px 80px;display:grid;gap:14px}
.ajustes-cab h1{font-size:28px;font-weight:500;letter-spacing:-.03em}
.ajuste-bloque{padding:22px 24px}
.ajuste-bloque h2{font-size:18px;font-weight:500;letter-spacing:-.02em;margin-bottom:2px}
.ajuste-bloque > .dim{margin-bottom:14px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;font-size:14px}
.kv dt{color:var(--muted)}
.kv dd{font-weight:500;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.kv dd small{font-weight:400;margin-left:6px}
.carpetas{list-style:none;display:grid;gap:8px;margin-bottom:12px}
.carpetas li{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radio);background:var(--papel)}
.carpetas code{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.campo-texto{display:grid;gap:5px;margin-bottom:14px}
.campo-texto label{font-size:14px;font-weight:500}
.campo-texto input{padding:9px 12px;border:none;border-radius:var(--radio);box-shadow:0 0 0 1px var(--pelo);outline:none;background:var(--blanco);font-family:var(--mono);font-size:13px}
.campo-texto input:focus{box-shadow:0 0 0 2px var(--foco)}

/* ——— Pantallas angostas: se lee, no es prioridad ——— */
@media(max-width:1100px){
  .plan{max-height:50%}
}
@media(max-width:900px){
  body[data-pantalla="proyecto"]{height:auto;overflow:auto}
  body[data-pantalla="proyecto"] #vista{height:auto}
  .proyecto{height:auto;grid-template-rows:auto auto}
  .proy-cuerpo{grid-template-columns:minmax(0,1fr)}
  .previa{flex:none}
  .escena{flex:none;aspect-ratio:16/9}
  .col-der{overflow:visible}
  .plan{max-height:none}
  .transc{min-height:60vh}
  .barra{position:sticky;bottom:0;z-index:20}
  .tope{gap:10px;padding:0 10px}
  .proy-sub,.btn-txt{display:none}
  .mando{flex-wrap:wrap}
  .motor-estado span{display:none}
}
@media print{.tope,.barra{display:none}}
