/* HOPE Screen · interfaz «Pantalla al centro» · by 21studio */
:root{
  --bg:#0a0a0b;--p1:#111113;--p2:#17171a;--p3:#1f1f23;--ln:#232327;--ln2:#34343a;
  --fg:#ecebe6;--mut:#9a9a9e;--dim:#5f5f64;
  --neon:#3bff6e;--neon2:#8bffaa;--ink:#04130a;--live:#ff3b3b;--glow:0 0 0 1px var(--neon),0 0 18px rgba(59,255,110,.25);
  --r:3px;--sans:'Inter Tight','Manrope',system-ui,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace;--serif:'Instrument Serif',Georgia,serif;
  --ease:cubic-bezier(.2,.8,.2,1);color-scheme:dark}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{background:var(--bg);color:var(--fg);font:13px/1.4 var(--sans);-webkit-font-smoothing:antialiased;overflow:hidden}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
::selection{background:var(--neon);color:#000}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#2a2a2f;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#3d3d44;background-clip:padding-box;border:3px solid transparent}::-webkit-scrollbar-track{background:none}
:focus-visible{outline:2px solid var(--neon);outline-offset:1px}
kbd{font:600 10px var(--mono);padding:1px 5px;border:1px solid var(--ln2);border-bottom-width:2px;border-radius:2px;color:var(--fg)}
code{font:11px var(--mono);color:var(--neon);word-break:break-all}
a{color:var(--neon)}a:hover{color:var(--neon2)}
mark{background:var(--neon);color:var(--ink);padding:0 2px;border-radius:1px}
.note{color:var(--mut);font-size:12px}
.k{font:600 10px/1.2 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.k.neon{color:var(--neon)}
.pad{padding:10px 12px;margin:0}
.grow{flex:1}
.el{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.row.nw{flex-wrap:nowrap}
.row.end{justify-content:flex-end}
.col{display:flex;flex-direction:column;gap:6px}
.top,.ptabs,.mhead,.ctrls,.film,.film-h,.etool,.ebar,.side .sd-h,.svc,.foot,.chips,.seg,.acm{user-select:none;-webkit-user-select:none}

/* botones y campos: rectos, sin píldoras, y que se note cuando los tocas */
.b{border:1px solid var(--ln2);background:var(--p2);padding:8px 13px;border-radius:var(--r);font-weight:600;font-size:12.5px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  transition:border-color .14s,background .14s,color .14s,transform .08s,box-shadow .2s}
.b:hover{border-color:#55555d;background:var(--p3)}
.b:active{transform:translateY(1px) scale(.98)}
.b:disabled{opacity:.35;pointer-events:none}
.b.sm{padding:5px 10px;font-size:12px}
.b.ghost{background:none}
.b.go{background:var(--neon);border-color:var(--neon);color:var(--ink)}
.b.go:hover{background:var(--neon2);border-color:var(--neon2);box-shadow:0 0 22px rgba(59,255,110,.35)}
.b.on{border-color:var(--neon);color:var(--neon)}
.b.warn{border-color:var(--live);color:#ff7a7a}
.b.danger{color:#ff7a7a}.b.danger:hover{border-color:var(--live)}
.b kbd{font-size:9px;padding:0 4px;opacity:.55;border-color:currentColor;color:inherit}
.f{border:1px solid var(--ln2);background:var(--bg);padding:8px 10px;border-radius:var(--r);min-width:0;outline:0;transition:border-color .14s,box-shadow .14s}
.f:hover{border-color:#4a4a52}
.f:focus{border-color:var(--neon);box-shadow:0 0 0 3px rgba(59,255,110,.12)}
textarea.f{resize:vertical;line-height:1.5}
select.f{padding-right:4px;cursor:pointer}
input[type=color]{width:30px;height:28px;padding:0;border:1px solid var(--ln2);border-radius:var(--r);background:none;cursor:pointer}
input[type=range]{accent-color:var(--neon)}
.seg{display:inline-flex;border:1px solid var(--ln2);border-radius:var(--r);overflow:hidden;flex-wrap:wrap}
.seg button{border:0;background:none;padding:6px 10px;font-size:12px;font-weight:600;color:var(--mut);border-right:1px solid var(--ln2);transition:background .14s,color .14s}
.seg button:last-child{border-right:0}
.seg button:hover{color:var(--fg);background:var(--p3)}
.seg button:active{background:#2a2a30}
.seg button[aria-pressed=true],.seg button[aria-selected=true]{background:var(--neon);color:var(--ink)}
.seg.full{display:flex}.seg.full button{flex:1}
.seg.big button{padding:8px 15px;font-size:12.5px}
.chips{display:flex;flex-wrap:wrap;gap:4px}
.chips button{border:1px solid var(--ln2);background:var(--bg);border-radius:var(--r);padding:5px 9px;font-size:12px;font-weight:600;color:var(--mut);transition:all .14s}
.chips button:hover{color:var(--fg);border-color:#55555d;background:var(--p2)}
.chips button:active{transform:scale(.96)}
.chips button[aria-pressed=true]{border-color:var(--neon);color:var(--neon);box-shadow:inset 0 0 0 1px var(--neon);background:#0d2414}
@keyframes flash{0%{box-shadow:0 0 0 0 rgba(59,255,110,.7)}100%{box-shadow:0 0 0 14px rgba(59,255,110,0)}}
.flash{animation:flash .5s var(--ease)}

/* logo de antes: «hope» en serif itálica + SCREEN */
.brand,.logo{display:flex;align-items:baseline;gap:8px;text-decoration:none;color:var(--fg);user-select:none}
.brand b,.logo b{font:italic 400 30px/1 var(--serif);letter-spacing:-.01em;transition:color .2s}
.brand span,.logo span{font:600 10px/1 var(--mono);letter-spacing:.32em;text-transform:uppercase;color:var(--neon)}
.brand:hover b{color:var(--neon)}
.brand.big{justify-content:center;margin:4px 0 14px}.brand.big b{font-size:64px}.brand.big span{font-size:13px}

/* armazón: arriba · tres columnas · pie */
.app{height:100vh;display:grid;grid-template-rows:56px minmax(0,1fr) 26px}
.top{display:flex;align-items:center;gap:14px;padding:0 16px;border-bottom:1px solid var(--ln);background:var(--p1)}
.omni{position:relative;flex:1;max-width:620px;margin:0 auto}
.omni input{width:100%;padding:10px 14px 10px 36px;font-size:14px;background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%239a9a98' stroke-width='2'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='m11 11 4 4'/%3E%3C/svg%3E") 12px 50%/14px no-repeat}
.omni-res{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--p1);border:1px solid var(--ln2);border-radius:var(--r);box-shadow:0 24px 60px rgba(0,0,0,.6);z-index:50;max-height:60vh;overflow:auto;animation:drop .16s var(--ease)}
@keyframes drop{from{opacity:0;transform:translateY(-6px)}}
.or{display:grid;grid-template-columns:64px minmax(0,1fr) auto auto;gap:3px 10px;align-items:center;padding:9px 12px;border-bottom:1px solid var(--ln);cursor:pointer;transition:background .1s}
.or em{font:600 9.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-style:normal;grid-column:1;grid-row:1/3}
.or b{font-size:14px;grid-column:2;grid-row:1}
.or span{grid-column:2;grid-row:2;color:var(--mut);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.or .b{grid-row:1/3;grid-column:3}.or .b.go{grid-column:4}
.or.on,.or:hover{background:var(--p2);box-shadow:inset 3px 0 0 var(--neon)}
.stat{font:600 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);display:flex;align-items:center;gap:7px;white-space:nowrap}
.stat::before{content:'';width:8px;height:8px;background:var(--dim)}
.stat.ok{color:var(--mut)}.stat.ok::before{background:var(--mut)}
.stat.on{color:var(--neon)}.stat.on::before{background:var(--neon);box-shadow:0 0 10px var(--neon)}
.shell{display:grid;grid-template-columns:340px minmax(0,1fr) 290px;min-height:0}
.foot{display:flex;align-items:center;gap:10px;padding:0 14px;border-top:1px solid var(--ln);background:var(--p1);font:500 10.5px var(--mono);color:var(--dim);letter-spacing:.04em}
.foot kbd{font-size:9px;margin:0 1px}

/* ═══ izquierda ═══ */
.lib{display:flex;flex-direction:column;border-right:1px solid var(--ln);background:var(--p1);min-height:0}
.ptabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--ln);position:relative;flex:none}
.ptabs button{border:0;background:none;padding:14px 0 12px;font-weight:600;font-size:13px;color:var(--mut);transition:color .15s,background .15s}
.ptabs button:hover{color:var(--fg);background:var(--p2)}
.ptabs button[aria-selected=true]{color:var(--fg)}
.ptabs .ink{position:absolute;left:0;bottom:-1px;height:2px;background:var(--neon);box-shadow:0 0 10px var(--neon);transition:transform .28s var(--ease),width .28s var(--ease)}
.pbody{flex:1;min-height:0;display:flex;flex-direction:column}
.pbody.enter>*{animation:enter .22s var(--ease)}
@keyframes enter{from{opacity:0;transform:translateX(-8px)}}
.pn{display:flex;flex-direction:column;gap:10px;padding:12px;flex:1;min-height:0}
.pn>*{flex:none}
.pn-body{flex:1 1 0;min-height:0;overflow:auto;margin:0 -12px;padding:2px 12px}
.pn-foot{display:flex;gap:6px;align-items:center;border-top:1px solid var(--ln);padding-top:10px}
.pn-foot.wrap{flex-wrap:wrap}
.pn-tip{margin:0;font-size:11.5px;line-height:1.45}
.pn-top{display:flex;gap:8px;align-items:flex-end}
.fld{display:flex;flex-direction:column;gap:5px;min-width:0}
.fld select{width:100%}
.srch{display:flex;align-items:center;gap:8px;border:1px solid var(--ln2);background:var(--bg);border-radius:var(--r);padding:0 10px;transition:border-color .14s,box-shadow .14s}
.srch:hover{border-color:#4a4a52}
.srch:focus-within{border-color:var(--neon);box-shadow:0 0 0 3px rgba(59,255,110,.12)}
.srch svg{width:14px;height:14px;fill:none;stroke:var(--mut);stroke-width:2;flex:none}
.srch input{flex:1;border:0;background:none;outline:0;padding:11px 0;font-size:14px;min-width:0}
.crumb{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:12.5px;min-height:22px}
.crumb button{border:0;background:none;padding:3px 6px;border-radius:2px;color:var(--neon);font-weight:600}
.crumb button:hover{background:#0d2414}
.crumb i{font-style:normal;color:var(--dim)}
.crumb b{padding:3px 6px}
/* Biblia */
.bk{display:flex;flex-direction:column;gap:8px;padding-bottom:10px}
.bk .k{margin-top:6px}
.bkg{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.bkg.ch{grid-template-columns:repeat(6,minmax(0,1fr))}
.bkg button{border:1px solid var(--ln);background:var(--bg);border-radius:2px;padding:8px 0;font-size:12px;font-weight:600;color:var(--mut);transition:all .12s}
.bkg button:hover{color:var(--fg);border-color:var(--neon);background:#0d2414;transform:translateY(-1px)}
.bkg button:active{transform:scale(.95)}
.bkg button.on{background:var(--neon);border-color:var(--neon);color:var(--ink)}
.chnav{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 0 8px;position:sticky;top:-2px;background:var(--p1);z-index:1;border-bottom:1px solid var(--ln);margin-bottom:4px}
.chnav b{font-size:15px}
.vr{display:grid;grid-template-columns:24px minmax(0,1fr) 28px;gap:8px;padding:8px 6px;cursor:pointer;border-radius:var(--r);align-items:start;transition:background .1s,box-shadow .1s;border:1px solid transparent}
.vr b{font:600 11px/1.9 var(--mono);color:var(--dim)}
.vr span{font-size:13.5px;line-height:1.5}
.vr:hover{background:var(--p2)}
.vr:hover b{color:var(--fg)}
.vr.on{background:#0d2414;border-color:rgba(59,255,110,.45)}
.vr.on b{color:var(--neon)}
.go-b{border:1px solid var(--ln2);background:var(--bg);color:var(--neon);border-radius:2px;width:28px;height:26px;padding:0;font-size:11px;opacity:0;transition:opacity .12s,background .12s,transform .08s}
.vr:hover .go-b,.vr.on .go-b,.card:hover .go-b{opacity:1}
.go-b:hover{background:var(--neon);color:#000}.go-b:active{transform:scale(.9)}
/* Letras */
.sg{border:1px solid var(--ln2);border-radius:var(--r);padding:10px;display:flex;flex-direction:column;gap:6px;margin-bottom:6px;cursor:pointer;transition:border-color .14s,background .14s,transform .12s}
.sg:hover{border-color:#55555d;background:var(--p2)}
.sg:active{transform:scale(.995)}
.sg.on{border-color:var(--neon);background:#0d2414;box-shadow:0 0 18px rgba(59,255,110,.08)}
.sg-h{display:flex;align-items:baseline;gap:8px}
.sg-h b{font-size:15px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sg p{margin:0;color:#c9c9c6;line-height:1.45;font-size:12.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sg-a{display:none;gap:6px}
.sg.on .sg-a{display:flex;animation:enter .18s var(--ease)}
.sg-a .go{margin-left:auto}
/* galerías de 2 columnas */
.cats{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}
.cats button{white-space:nowrap;flex:none}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:2px 0 10px}
.card{border:0;background:none;padding:0;text-align:left;display:flex;flex-direction:column;gap:5px;color:inherit;position:relative;cursor:pointer;transition:transform .14s var(--ease)}
.card>div{box-shadow:0 0 0 1px var(--ln2);border-radius:var(--r);transition:box-shadow .14s}
.card:hover{transform:translateY(-2px)}
.card:hover>div{box-shadow:0 0 0 2px var(--neon),0 8px 24px rgba(0,0,0,.5)}
.card:active{transform:scale(.97)}
.card.on>div{box-shadow:0 0 0 3px var(--neon)}
.card span{font-size:12px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card:hover span{color:var(--fg)}
.card.on span{color:var(--neon)}
.card.on::after{content:'✓';position:absolute;right:6px;top:6px;width:20px;height:20px;display:grid;place-items:center;background:var(--neon);color:var(--ink);font-weight:800;font-size:12px;border-radius:2px}
.card .go-b{position:absolute;right:6px;top:6px}
.card .x{position:absolute;left:6px;top:6px;border:0;background:rgba(0,0,0,.7);color:#fff;width:22px;height:22px;border-radius:2px;opacity:0;transition:opacity .12s}
.card:hover .x{opacity:1}.card .x:hover{background:var(--live)}
.drop.over{outline:2px dashed var(--neon);outline-offset:-4px;background:#0d2414}
/* acomodo del texto */
.sec0{display:flex;flex-direction:column;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--ln)}
.acm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.acm button{border:1px solid var(--ln2);background:var(--bg);border-radius:var(--r);padding:6px 6px 5px;display:flex;flex-direction:column;gap:5px;align-items:stretch;color:var(--mut);font-size:11px;font-weight:600;transition:all .14s}
.acm button:hover{border-color:var(--neon);color:var(--fg);transform:translateY(-1px)}
.acm button:active{transform:scale(.95)}
.acm button[aria-pressed=true]{border-color:var(--neon);color:var(--neon);background:#0d2414}
.ac-ic{display:block;position:relative;aspect-ratio:16/9;background:#1b1b1f;border-radius:2px;overflow:hidden}
.ac-ic b{position:absolute;display:flex;flex-direction:column;gap:9%;padding:3%}
.ac-ic u{display:block;height:3px;background:#77777e;border-radius:1px;text-decoration:none}
.ac-ic .al-center u{width:80%;margin:0 auto}.ac-ic .al-center u:nth-child(2){width:60%}
.ac-ic .al-left u{width:85%}.ac-ic .al-left u:nth-child(2){width:55%}
.ac-ic .al-right u{width:85%;margin-left:auto}.ac-ic .al-right u:nth-child(2){width:55%}
.ac-ic .al-justify u{width:100%}.ac-ic .al-justify u:last-child{width:45%;margin:0 auto;height:2px}
.ac-ic s{position:absolute;left:3%;right:3%;bottom:6%;height:30%;background:rgba(59,255,110,.18);text-decoration:none}
.acm button:hover u,.acm button[aria-pressed=true] u{background:var(--neon)}
.acm button[aria-pressed=true] .ac-ic{box-shadow:inset 0 0 0 1px rgba(59,255,110,.4)}

/* ═══ centro: la pantalla ═══ */
.mid{display:flex;flex-direction:column;gap:12px;padding:14px 18px 12px;min-height:0;min-width:0}
.mid>*{flex:none}
.mhead{display:flex;align-items:center;gap:10px;min-width:0}
.ldot{width:10px;height:10px;background:var(--dim);flex:none;transition:background .2s}
.mid.is-live .ldot{background:var(--live);box-shadow:0 0 12px var(--live);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}
.lk{font-size:12px;color:var(--dim);flex:none}.mid.is-live .lk{color:#ff5a5a}
.ek{font-size:12px;color:var(--neon);flex:none}
.mhead .note{font-size:12.5px}
.mode .mdot{display:inline-block;width:7px;height:7px;background:currentColor;margin-right:7px;vertical-align:1px}
.mode button[aria-selected=true] .mdot{background:var(--live)}
.stw{flex:1 1 0;min-height:140px;container-type:size;display:grid;place-items:center;position:relative}
.stw .stage{width:min(100cqw,calc(100cqh * 16 / 9));border-radius:var(--r);box-shadow:0 0 0 1px var(--ln2),0 20px 60px rgba(0,0,0,.6);transition:box-shadow .3s}
.mid.is-live .stw .stage.js-live{box-shadow:0 0 0 3px var(--live),0 0 40px rgba(255,59,59,.18),0 20px 60px rgba(0,0,0,.6)}
.st-off{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:6px;pointer-events:none;opacity:0;transition:opacity .3s}
.st-off.show{opacity:1}
.st-off b{font:italic 400 34px var(--serif)}
.st-off span{color:var(--mut)}
.ctrls{display:grid;grid-template-columns:1fr 2fr 1fr 1fr 1.2fr 1.1fr;gap:8px}
.ctrls .b{min-height:54px;font-size:14px;flex-direction:column;gap:3px;padding:6px}
.ctrls .nb.go{font-size:17px;font-weight:800}
.ctrls .lay.on{border-color:var(--neon);color:var(--neon);background:#0d2414}
.ctrls .lay[data-lay=black].on{border-color:var(--live);color:#ff7a7a;background:#2a0c0c}
.ctrls .clr:hover{border-color:var(--live);color:#ff7a7a}
.film-h{display:flex;align-items:center;gap:8px;min-width:0}
.film-h .nm{border:1px solid transparent;background:none;font-size:14px;font-weight:700;padding:3px 6px;border-radius:var(--r);min-width:60px;field-sizing:content;max-width:40%;outline:0;transition:border-color .14s}
.film-h .nm:hover{border-color:var(--ln2)}.film-h .nm:focus{border-color:var(--neon)}
.ic{width:24px;height:24px;flex:none;display:grid;place-items:center;font-style:normal;font-weight:700;font-size:12px;border:1px solid var(--ln2);border-radius:2px;color:var(--mut)}
.film{display:flex;gap:10px;overflow-x:auto;padding:4px 3px 8px;scroll-snap-type:x proximity}
.fm{flex:none;width:clamp(120px,13vw,170px);display:flex;flex-direction:column;gap:5px;position:relative;cursor:pointer;scroll-snap-align:start;outline:0;transition:transform .14s var(--ease)}
.fm-st{border-radius:var(--r);box-shadow:0 0 0 1px var(--ln2);transition:box-shadow .14s}
.fm:hover{transform:translateY(-2px)}
.fm:hover .fm-st{box-shadow:0 0 0 2px #77777e,0 8px 22px rgba(0,0,0,.5)}
.fm:active{transform:scale(.96)}
.fm:focus-visible .fm-st{box-shadow:0 0 0 2px var(--neon)}
.fm.next .fm-st{box-shadow:0 0 0 2px var(--neon)}
.fm.live .fm-st{box-shadow:0 0 0 3px var(--live),0 0 18px rgba(255,59,59,.3)}
.fm.sel .fm-st{box-shadow:0 0 0 3px var(--neon)}
.fm.flash .fm-st{animation:flash .5s var(--ease)}
.fm-l{display:flex;align-items:center;gap:6px;font:600 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);min-width:0}
.fm-l em{font-style:normal;border-left:3px solid var(--g);padding-left:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fm-l .tag{font-style:normal;margin-left:auto;white-space:nowrap}
.fm.live .fm-l{color:#ff5a5a}.fm.next .fm-l{color:var(--neon)}
.fm-go{position:absolute;left:0;right:0;top:0;aspect-ratio:16/9;display:grid;place-items:center;background:rgba(0,0,0,.45);font:700 12px var(--sans);opacity:0;transition:opacity .14s;border-radius:var(--r);pointer-events:none}
.fm:hover .fm-go{opacity:1}.fm.live .fm-go{display:none}
.fm-ed{position:absolute;right:5px;top:5px;width:26px;height:26px;border:0;border-radius:2px;background:rgba(0,0,0,.75);color:#fff;opacity:0;transition:opacity .12s,background .12s}
.fm:hover .fm-ed{opacity:1}.fm-ed:hover{background:var(--neon);color:#000}
.fm.add{border:1px dashed var(--ln2);background:none;border-radius:var(--r);aspect-ratio:16/9;align-items:center;justify-content:center;color:var(--mut);font-weight:600;gap:2px;align-self:flex-start}
.fm.add b{font-size:22px;line-height:1;color:var(--neon)}
.fm.add:hover{border-color:var(--neon);color:var(--fg);background:#0d2414}
/* editar */
.etool{display:flex;align-items:center;gap:10px;min-width:0}
.acm.row1{display:flex;gap:5px;overflow-x:auto;flex:1;min-width:0;padding:2px}
.acm.row1 button{flex:none;width:66px;font-size:10.5px}
.szb{display:flex;align-items:center;gap:4px;flex:none}
.num{font:600 12px var(--mono);min-width:34px;text-align:center}
.ebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.ebar .hint{color:var(--mut);font-size:12px}.ebar .hint b{color:var(--fg)}
.stage.ed{box-shadow:0 0 0 1px var(--neon),0 20px 60px rgba(0,0,0,.6)!important}
.stage.ed .hs-tb{outline:4px dashed rgba(255,255,255,.4);outline-offset:6px;touch-action:none;cursor:move;transition:outline-color .15s}
.stage.ed .hs-tb:hover,.stage.ed .hs-tb:focus-within,.stage.ed .hs-tb.moving{outline-color:var(--neon)}
.stage.ed [contenteditable]{cursor:text;outline:0;border-radius:6px;transition:background .15s,box-shadow .15s;min-width:60px;caret-color:var(--neon)}
.stage.ed [contenteditable]:hover{background:rgba(59,255,110,.08)}
.stage.ed [contenteditable]:focus{background:rgba(0,0,0,.25);box-shadow:0 0 0 4px rgba(59,255,110,.8)}
.stage.ed [contenteditable].empty::before{content:attr(data-ph);opacity:.4}
.hs-mv{position:absolute;left:-10px;top:-10px;width:54px;height:54px;display:grid;place-items:center;background:var(--neon);color:#000;font:700 32px/1 var(--sans);font-style:normal;cursor:grab;z-index:5;border:6px solid #000;transition:transform .12s}
.hs-mv:hover{transform:scale(1.12)}.hs-mv:active{cursor:grabbing}
.hs-h{position:absolute;width:44px;height:44px;right:0;bottom:0;background:var(--neon);border:7px solid #000;cursor:nwse-resize;z-index:5;transition:transform .12s}
.hs-h:hover{transform:scale(1.15)}
.guides{position:absolute;inset:0;pointer-events:none;z-index:3;opacity:.35;transition:opacity .15s;background:linear-gradient(90deg,transparent calc(50% - 1px),rgba(59,255,110,.5) 50%,transparent calc(50% + 1px)),linear-gradient(0deg,transparent calc(50% - 1px),rgba(59,255,110,.5) 50%,transparent calc(50% + 1px))}
.stage.ed.snapx .guides,.stage.ed.snapy .guides{opacity:1}
.film.ed .fm{width:clamp(100px,10vw,140px)}

/* ═══ derecha ═══ */
.side{display:flex;flex-direction:column;gap:14px;padding:14px;border-left:1px solid var(--ln);background:var(--p1);min-height:0;overflow:auto}
.side>*{flex:none}
.sd-tabs{margin-bottom:-2px}
.sd-sec{display:flex;flex-direction:column;gap:8px}
.sd-h{display:flex;align-items:center;gap:8px;min-width:0}
.svc-w{flex:1 1 auto;min-height:150px}
.nst{border-radius:var(--r);box-shadow:0 0 0 2px var(--neon);cursor:pointer;transition:transform .14s var(--ease),box-shadow .14s}
.nst:hover{transform:translateY(-2px);box-shadow:0 0 0 2px var(--neon),0 0 24px rgba(59,255,110,.25)}
.nst:active{transform:scale(.97)}
.nst.end{box-shadow:0 0 0 1px var(--ln2);cursor:default;transform:none}
.svc{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;overflow:auto;min-height:0;flex:1}
.svc li{display:flex;align-items:center;gap:9px;padding:8px 8px;border-radius:var(--r);cursor:pointer;border:1px solid transparent;position:relative;transition:background .12s,border-color .12s,transform .1s}
.svc li:hover{background:var(--p2)}
.svc li:active{transform:scale(.98)}
.svc li.on{background:var(--p3);border-color:var(--ln2)}
.svc li.on .ic{border-color:var(--neon);color:var(--neon)}
.svc li.live{border-color:var(--live);background:#2a0c0c}
.svc li.live .ic{border-color:var(--live);color:#fff;background:var(--live);animation:pulse 1.6s ease-in-out infinite}
.svc li.drag{opacity:.4}
.svc li.dropb{box-shadow:inset 0 2px 0 var(--neon)}.svc li.dropa{box-shadow:inset 0 -2px 0 var(--neon)}
.svc li.empty{color:var(--dim);cursor:default;font-size:12px;line-height:1.5}
.svc li.flash{animation:flash .6s var(--ease)}
.nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.svc small{font:10px var(--mono);color:var(--dim)}
.svc .x{border:0;background:none;color:var(--dim);padding:2px 5px;opacity:0;border-radius:2px;transition:opacity .12s}
.svc li:hover .x{opacity:1}.svc .x:hover{color:#fff;background:var(--live)}
.chips.tr{display:grid;grid-template-columns:repeat(3,1fr)}
.sty{display:flex;flex-direction:column;border:1px solid var(--ln);border-radius:var(--r);background:var(--bg)}

/* panel de estilo (en Editar) */
.ps{padding:12px;border-bottom:1px solid var(--ln);display:flex;flex-direction:column;gap:9px}
.ps:last-child{border-bottom:0}
.ps h4,.ps summary{margin:0;font:600 9.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.ps summary{cursor:pointer;list-style:none}.ps summary::after{content:' +'}.ps[open] summary::after{content:' −'}
details.ps[open]{gap:12px}
.ps.two{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.pick{border:1px solid var(--ln2);background:var(--bg);border-radius:var(--r);padding:8px;text-align:left;display:flex;flex-direction:column;gap:2px;min-width:0;position:relative;overflow:hidden}
.pick:hover{border-color:var(--neon)}
.pick b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pick small{color:var(--neon);font-size:11px;font-weight:600}
.pick .note{font:600 9px var(--mono);letter-spacing:.14em;text-transform:uppercase}
.pbg{margin:-8px -8px 4px}
.pos9{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;width:108px;aspect-ratio:16/9;padding:3px;border:1px solid var(--ln2);border-radius:var(--r);background:var(--bg)}
.pos9 button{border:0;background:none;padding:0;display:grid;place-items:center}
.pos9 i{width:60%;height:4px;background:var(--dim)}
.pos9 button:hover i{background:var(--fg)}
.pos9 button[aria-pressed=true] i{background:var(--neon);box-shadow:0 0 6px var(--neon)}
.ps:has(.pos9){flex-direction:row;flex-wrap:wrap;align-items:flex-start}
.ps:has(.pos9) h4{width:100%}
.ps:has(.pos9) .col{flex:1;min-width:150px}
.sws{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.swb{width:24px;height:24px;border:1px solid rgba(255,255,255,.18);border-radius:2px;padding:0}
.swb[aria-pressed=true]{outline:2px solid var(--neon);outline-offset:2px}
.sws.sm .swb{width:18px;height:18px}
.ctl{display:grid;grid-template-columns:86px minmax(0,1fr) 38px;gap:7px 8px;align-items:center}
.ctl output{font:11px var(--mono);color:var(--mut);text-align:right}
.ctl .full{grid-column:2/4}
.decos{display:flex;flex-direction:column;gap:4px}
.decos .f{flex:2;padding:4px 7px}


/* menús, ventanas y avisos */
.menu{position:fixed;z-index:80;min-width:250px;background:var(--p1);border:1px solid var(--ln2);border-radius:var(--r);box-shadow:0 24px 60px rgba(0,0,0,.6);padding:4px}
.menu button{display:flex;gap:10px;align-items:flex-start;width:100%;border:0;background:none;text-align:left;padding:8px 10px;border-radius:2px}
.menu button:hover{background:var(--p3)}
.menu button i{font-style:normal;width:16px;color:var(--neon)}
.menu button span{display:flex;flex-direction:column;font-weight:600}
.menu small{font-weight:400;color:var(--mut);font-size:11.5px}
.menu .danger{color:#ff6a6a}
.menu hr{border:0;border-top:1px solid var(--ln);margin:4px 0}
.modal{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.66);display:grid;place-items:center;padding:20px;backdrop-filter:blur(3px)}
.dlg{width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--p1);border:1px solid var(--ln2);border-radius:var(--r);box-shadow:0 30px 90px rgba(0,0,0,.7);padding:18px;display:flex;flex-direction:column;gap:12px}
.dlg.sm{width:min(420px,100%)}.dlg.wide{width:min(980px,100%)}
.dlg h3{margin:0;font-size:17px}
.dlg p{margin:0}
.dlg .cp{display:flex;flex-direction:column;gap:4px}
.ed2{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:12px}
.ed2 textarea{min-height:52vh;font:14px/1.55 var(--sans)}
.help{display:flex;flex-direction:column;gap:8px;font-size:12.5px;color:var(--mut)}
.help b{color:var(--fg)}
.srow{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--ln)}
.srow>b{font:600 11px/2.4 var(--mono);color:var(--dim)}
.guide ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:9px;line-height:1.5}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--fg);color:#000;padding:10px 16px;border-radius:var(--r);font-weight:600;opacity:0;pointer-events:none;transition:.2s;z-index:90;max-width:min(560px,90vw);box-shadow:0 0 0 1px var(--neon),0 10px 40px rgba(0,0,0,.5)}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* Estudio (en ventana) */
.dlg.studio{width:min(1240px,100%);height:min(820px,calc(100vh - 40px));padding:14px}
.dlg.studio #stdW{flex:1;min-height:0}
.lib{display:flex;flex-direction:column;height:100%;min-height:0;border:1px solid var(--ln);border-radius:var(--r)}
.tabs{display:flex;border-bottom:1px solid var(--ln);padding:0 8px;flex:none}
.tabs button{border:0;background:none;padding:10px 14px 9px;font-weight:600;color:var(--mut);border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs button[aria-selected=true]{color:var(--fg);border-bottom-color:var(--neon)}
.std{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);flex:1;min-height:0}
.std-c{overflow:auto;padding:12px;display:flex;flex-direction:column;gap:14px;border-right:1px solid var(--ln)}
.std-c>*,.std-p>*{flex:none}
.std-p{overflow:auto;padding:12px;display:flex;flex-direction:column;gap:12px}
.sec{display:grid;gap:9px;padding-bottom:14px;border-bottom:1px solid var(--ln)}
.sec:last-child{border-bottom:0}
.sec>h4{margin:0;font:600 9.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.modes{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:4px}
.modes button{border:1px solid var(--ln2);background:var(--bg);padding:8px 6px;font-size:12px;font-weight:600;color:var(--mut);border-radius:var(--r)}
.modes button:hover{color:var(--fg)}
.modes button[aria-pressed=true]{color:var(--neon);border-color:var(--neon)}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--tw,180px),1fr));gap:10px}
.tc{border:0;background:none;padding:0;text-align:left;display:grid;gap:5px;color:inherit}
.tc .hs-stage{box-shadow:0 0 0 1px var(--ln2)}
.tc:hover .hs-stage{box-shadow:0 0 0 2px var(--neon)}
.tc.on .hs-stage{box-shadow:0 0 0 3px var(--neon)}
.tc span{font-size:12px;color:var(--mut)}
.pal{display:grid;gap:5px;padding:8px;border:1px solid var(--ln)}
.pal header{display:flex;justify-content:space-between;align-items:center;gap:6px}
.pal header b{font:600 10px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.sw{display:flex;height:44px}
.sw button{flex:1;border:0;padding:0;position:relative}
.sw button span{position:absolute;left:4px;bottom:3px;font:9px var(--mono);color:#fff;mix-blend-mode:difference;opacity:0}
.sw button:hover span{opacity:1}
.texgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px}
.texgrid button{border:1px solid var(--ln2);aspect-ratio:1;background-size:cover;padding:0;position:relative;border-radius:var(--r)}
.texgrid button[aria-pressed=true]{border-color:var(--neon);box-shadow:0 0 0 1px var(--neon)}
.texgrid span{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);font:9.5px var(--mono);padding:3px 4px;text-align:left}
.draw{position:relative;background:repeating-conic-gradient(#141416 0 25%,#0d0d0f 0 50%) 0 0/24px 24px;border:1px solid var(--ln2);touch-action:none;cursor:crosshair}
.draw canvas{display:block;width:100%;height:auto}
.draw .hint{position:absolute;inset:0;display:grid;place-items:center;font:600 11px var(--mono);letter-spacing:.2em;color:var(--dim);pointer-events:none}
.fonts{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.fonts button{border:1px solid var(--ln);background:var(--bg);text-align:left;padding:10px 12px;display:grid;gap:4px;border-radius:var(--r)}
.fonts button:hover{border-color:var(--neon)}
.fonts button strong{font-size:30px;line-height:1.05;font-weight:400;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.fonts small{font:10px var(--mono);color:var(--mut)}
.drop{border:1px dashed var(--ln2);padding:14px;text-align:center;color:var(--mut);font-size:12px;border-radius:var(--r)}
.grid.drop{border:0;text-align:left;padding:12px}


/* pantallas chicas: nada se corta */
@media (max-width:1360px){.shell{grid-template-columns:300px minmax(0,1fr) 260px}.ctrls .b kbd{display:none}}@media (max-width:1500px){.ebar .hint{display:none}}
@media (max-width:1100px){.shell{grid-template-columns:280px minmax(0,1fr)}.side{grid-column:1/-1;border-left:0;border-top:1px solid var(--ln);flex-direction:row;flex-wrap:wrap;overflow:visible}.side>*{flex:1 1 240px}
  body{overflow:auto}.app{height:auto;min-height:100vh;grid-template-rows:56px auto 26px}.shell{min-height:calc(100vh - 82px)}.lib{max-height:calc(100vh - 82px);position:sticky;top:0}.mid{min-height:calc(100vh - 82px)}}
@media (max-width:760px){.shell{grid-template-columns:1fr}.lib{position:static;max-height:none;height:70vh}.top{flex-wrap:wrap;height:auto;padding:8px 12px}.app{grid-template-rows:auto auto 26px}.omni{order:3;flex-basis:100%}.stat{display:none}
  .ctrls{grid-template-columns:1fr 1fr 1fr}.ctrls .nb.go{grid-column:span 2}.mid{min-height:auto}.stw{flex:none;container-type:inline-size;min-height:0}.stw .stage{width:100%}.ed2,.std{grid-template-columns:1fr}.foot span:last-child{display:none}}
.swb{transition:transform .1s}.swb:hover{transform:scale(1.15)}.pick{transition:border-color .14s,transform .12s}.pick:hover{transform:translateY(-1px)}.pick:active{transform:scale(.98)}
.sty .ps{padding:11px}.sty .pos9 button{transition:background .1s}.sty .pos9 button:hover{background:var(--p3)}

/* créditos */
.foot a{color:var(--mut);text-decoration:none;transition:color .14s}.foot a:hover{color:var(--neon)}
/* velocidad en Fondos + miniaturas que se mueven sólo al pasar el mouse */
.spdw{display:flex;align-items:center;gap:10px}.spdw .seg{flex:1}
.card[data-spd]::before{content:attr(data-spd);position:absolute;left:6px;top:6px;z-index:2;font:700 9.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;background:var(--neon);color:var(--ink);padding:3px 6px;border-radius:2px;opacity:0;transform:translateY(-3px);transition:opacity .15s,transform .15s;pointer-events:none}
.card.playing[data-spd]::before{opacity:1;transform:none}
.card.on[data-spd]::before{top:30px}
/* letras: autor y búsqueda en internet */
.sg .by{color:var(--mut);font-size:11.5px;margin-top:-4px}
.sg.web{width:100%;text-align:left;border-style:dashed;background:none;color:var(--fg);gap:3px}
.sg.web b{color:var(--neon);font-size:13px}.sg.web small{color:var(--mut)}
.sg.web:hover{border-color:var(--neon);background:#0d2414}
.dlg.web{height:min(760px,calc(100vh - 40px))}
.web2{flex:1;min-height:0;display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:12px}
.wl,.wv{overflow:auto;border:1px solid var(--ln);border-radius:var(--r);min-height:0;background:var(--bg)}
.wl .k.pad{display:block;padding:10px 12px 4px}
.wr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--ln);background:none;padding:9px 12px;transition:background .12s}
.wr b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wr span{grid-column:1;color:var(--mut);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wr small{grid-column:2;grid-row:1/3;align-self:center;font:11px var(--mono);color:var(--dim)}
.wr:hover{background:var(--p2)}.wr.on{background:#0d2414;box-shadow:inset 3px 0 0 var(--neon)}
.wvh{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid var(--ln);position:sticky;top:0;background:var(--bg);flex-wrap:wrap}
.wvh .col{flex:1;gap:2px;min-width:180px}.wvh b{font-size:16px}.wvh .note b{font-size:12px;color:var(--fg)}
.wv pre{margin:0;padding:12px 14px;font:13.5px/1.6 var(--sans);white-space:pre-wrap;color:#d6d5d0}
.loading::after{content:'';display:inline-block;width:10px;height:10px;margin-left:8px;border:2px solid var(--neon);border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-1px}
@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:760px){.web2{grid-template-columns:1fr}}

/* control desde el celular */
#bPhone .ph{width:9px;height:14px;border:2px solid currentColor;border-radius:2px;display:inline-block}
#bPhone em{font-style:normal;background:var(--neon);color:var(--ink);font:700 10px var(--mono);padding:1px 5px;border-radius:2px}
#bPhone.on{border-color:var(--neon);color:var(--neon)}
.dlg.qr{width:min(760px,100%)}
.qrw{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}
.qrbox{background:#fff;border-radius:var(--r);padding:10px;aspect-ratio:1;display:grid;place-items:center;box-shadow:0 0 0 3px var(--neon),0 0 40px rgba(59,255,110,.2)}
.qrbox svg{width:100%;height:100%;display:block}.qrbox .note{color:#333}
.qri ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;line-height:1.45}
.qri{gap:12px}
.rmst{font:600 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);display:flex;align-items:center;gap:8px}
.rmst::before{content:'';width:8px;height:8px;background:var(--dim)}
.rmst.ok{color:var(--mut)}.rmst.ok::before{background:var(--mut);animation:pulse 1.6s infinite}
.rmst.on{color:var(--neon)}.rmst.on::before{background:var(--neon);box-shadow:0 0 8px var(--neon)}
@media (max-width:640px){.qrw{grid-template-columns:1fr}.qrbox{max-width:260px;margin:0 auto}}

/* filtro de letra */
.dlg.lf{width:min(1100px,96vw)}
.lf2{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:14px;min-height:0}
.lfin{gap:6px}.lfin textarea{min-height:52vh;font:12.5px/1.45 var(--mono);resize:vertical}
.lfout{gap:10px;max-height:62vh;overflow:auto;padding-right:4px}
.lfok{margin:0;padding:8px 10px;border:1px solid var(--neon);border-radius:var(--r);background:rgba(59,255,110,.07);color:var(--neon2)}
.lfs{display:grid;gap:8px;padding:10px;border:1px solid var(--ln2);border-radius:var(--r);background:var(--p2)}
.lfs .note{margin:0}
.lfo{display:flex;flex-wrap:wrap;gap:4px}
.lfc{font:600 11px/1 var(--sans);padding:5px 7px;border-radius:var(--r);border:1px solid var(--ln2);background:var(--p3);white-space:nowrap}
.lfc.mute{opacity:.45;font-style:italic}
.lfu{border-left:3px solid var(--ln2);padding:4px 0 4px 10px}.lfu b{font-size:12px}.lfu em{font-style:normal;color:var(--neon);margin-left:4px}
.lfu p{margin:3px 0 0;color:var(--mut);font-size:12px;line-height:1.35}
.c0{--c:#3bff6e}.c1{--c:#5ab4ff}.c2{--c:#ffb648}.c3{--c:#ff6fb5}.c4{--c:#b48cff}.c5{--c:#5fe0d0}
.lfc[class*=" c"]{border-color:var(--c);color:var(--c)}.lfu[class*=" c"]{border-left-color:var(--c)}
.lfcut summary{cursor:pointer;color:var(--mut);font-size:12px;padding:4px 0}
.lfcut>div{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding-top:6px}
.lfx{border:1px dashed var(--ln2);background:none;color:var(--dim);border-radius:var(--r);padding:2px 5px;font-size:11px;transition:.15s var(--ease)}
.lfx:hover{color:var(--fg);border-color:var(--fg)}.lfx.on{border-style:solid;border-color:var(--neon);color:var(--ink);background:var(--neon)}
#eFl{justify-self:start;margin:2px 0 6px}#eFlN{color:var(--neon2)}
/* llevar / traer servicio */
.dlg.pk{width:min(520px,94vw);display:grid;gap:10px}
.pkh{display:grid;gap:2px}.pkh b{font-size:16px}
.pkl{list-style:none;margin:0;padding:0;display:grid;gap:3px;max-height:42vh;overflow:auto}
.pkl li{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--ln);border-radius:var(--r);background:var(--p2)}
.pkl .ic{width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--ln2);border-radius:var(--r);font-style:normal;font-size:11px;color:var(--mut)}
.pkl span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.pkl small{color:var(--dim);font-family:var(--mono)}
.dlg.pk .seg{display:flex}.dlg.pk .seg button{flex:1}
@media (max-width:760px){.lf2{grid-template-columns:1fr}.lfin textarea{min-height:30vh}.lfout{max-height:none}}
.rcode{display:flex;align-items:baseline;gap:10px;padding:8px 12px;border:1px solid var(--neon);border-radius:var(--r);background:rgba(59,255,110,.06)}
.rcode b{font:700 30px/1 var(--mono);letter-spacing:.12em;color:var(--neon)}
.lnk{background:none;border:0;padding:0;color:var(--neon2);text-decoration:underline;cursor:pointer;font:inherit}

.rmp{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font:600 11px var(--mono)}.rmp span{border:1px solid var(--ln2);border-radius:var(--r);padding:3px 7px;color:var(--mut)}
.rmp .y{border-color:var(--neon);color:var(--neon)}.rmp .n{border-color:#5a2222;color:#ff7a7a}.rmp small{color:var(--dim)}.rmp em{flex-basis:100%;font:12px var(--sans);color:#ff9a7a;font-style:normal}

/* aviso de HDMI */
.hdn{position:fixed;right:16px;bottom:16px;z-index:60;display:flex;align-items:center;gap:10px;max-width:min(520px,calc(100vw - 32px));padding:10px 10px 10px 14px;background:var(--p2);border:1px solid var(--neon);border-radius:var(--r);box-shadow:0 12px 40px rgba(0,0,0,.5);animation:hdn .25s var(--ease)}
.hdn span{flex:1;line-height:1.35}.hdn .x{background:none;border:0;color:var(--mut);padding:4px 6px}.hdn .x:hover{color:var(--fg)}
.hdi{width:22px;height:14px;border:2px solid var(--neon);border-radius:2px;flex:none;position:relative}.hdi:after{content:"";position:absolute;left:5px;right:5px;bottom:-6px;height:2px;background:var(--neon)}
@keyframes hdn{from{transform:translateY(8px);opacity:0}}

/* revisión de la computadora */
.dlg.pf{width:min(560px,94vw);display:grid;gap:12px}.dlg.pf h4{margin:4px 0 0}
.pfv{display:grid;gap:2px;padding:12px 14px;border:1px solid var(--ln2);border-radius:var(--r);background:var(--p2)}.pfv b{font-size:18px}.pfv span{color:var(--mut)}
.pfv.alto{border-color:var(--neon)}.pfv.alto b{color:var(--neon)}.pfv.medio b{color:#ffd400}.pfv.bajo{border-color:#ff9a3d}.pfv.bajo b{color:#ff9a3d}
.pfl{display:grid;gap:4px}.pfl>div{display:grid;grid-template-columns:22px 130px 1fr;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--ln);border-radius:var(--r);background:var(--p1)}
.pfl em{font-style:normal;color:var(--mut);font-family:var(--mono);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pfl b{display:grid;place-items:center;width:20px;height:20px;border-radius:var(--r);font-size:12px}.pfl b.y{background:rgba(59,255,110,.14);color:var(--neon)}.pfl b.n{background:rgba(255,154,61,.16);color:#ff9a3d}
.pfr{display:grid;gap:6px}.pfr>div{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--ln2);border-radius:var(--r)}.pfr .col{flex:1;gap:2px}
.sw{display:flex;align-items:center;gap:6px;cursor:pointer}
/* ── Ajustes › Funciones ── */
.fxp{width:min(620px,100%)}.fxp h4{margin:6px 0 0;font:700 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.fxl{display:grid;gap:4px}
.fxr{border:1px solid var(--ln);border-radius:var(--r);background:var(--p1);transition:border-color .15s}.fxr.on{border-color:#1f5a30;background:#0c160f}
.fxr>label{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;padding:10px 12px;cursor:pointer}
.fxr input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}
.fxr .tg{position:relative;width:34px;height:18px;border-radius:3px;background:var(--p3);border:1px solid var(--ln2);transition:all .15s}
.fxr .tg::after{content:'';position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:2px;background:var(--mut);transition:all .18s var(--ease)}
.fxr input:checked+.tg{background:#0d2414;border-color:var(--neon)}.fxr input:checked+.tg::after{left:18px;background:var(--neon)}
.fxr input:focus-visible+.tg{box-shadow:var(--glow)}
.fxr .col{display:flex;flex-direction:column;gap:2px}.fxr b{font-size:13px}
.fxs{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:0 12px 12px 60px}
.fxs .sl{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--mut)}.fxs .sl input{width:110px;accent-color:var(--neon)}.fxs .sl em{font-style:normal;font-family:var(--mono);color:var(--fg);min-width:30px}
.fxs select.f,.fxs input.f{width:auto;min-width:150px}
.fxpop{display:flex;flex-direction:column;gap:8px;padding:12px;width:min(420px,calc(100vw - 16px))}
.ctrls .fxb.on{border-color:#7cc4ff;color:#a9d8ff;background:#0c1a26}#fxAl.on{border-color:#ffd400;color:#ffe15a;background:#262005}
body.frozen #lStage{outline:2px solid #7cc4ff;outline-offset:2px}
.ebar .tAt{width:auto;padding:4px 8px}
@media (max-width:720px){.fxs{padding-left:12px}}
.ctrls{display:flex}.ctrls>.b{flex:1 1 0;min-width:0}.ctrls>.nb.go{flex-grow:2}.ctrls>.clr{flex-grow:1.1}
#fxPos button{font-size:17px;line-height:1;min-width:36px}
/* ── prédica ── */
.prr{display:grid;grid-template-columns:86px 1fr 18px;gap:10px;align-items:start;text-align:left;width:100%;padding:8px 10px;border:1px solid var(--ln);border-left:3px solid var(--c,var(--ln2));border-radius:var(--r);background:var(--p2);color:var(--fg);transition:opacity .15s,border-color .15s}
.prr:hover{border-color:var(--ln2)}.prr em{font:700 10px/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase;font-style:normal;color:var(--c,var(--mut))}
.prr span{display:flex;flex-direction:column;gap:3px;font-size:13px;font-weight:600;min-width:0}.prr small{font-weight:400;color:var(--mut);font-size:12px;line-height:1.35}
.prr i{font-style:normal;color:var(--neon);font-weight:800}.prr.off{opacity:.4}.prr.off i{color:var(--dim)}
.prr.k-title{--c:var(--neon)}.prr.k-point{--c:#8fb4ff}.prr.k-verse{--c:#ffd400}.prr.k-nota{--c:var(--dim)}.prr.k-title span{font-size:15px}
.prr.bad{--c:#ff6a6a}.prr.bad small{color:#ff8a8a}
.svc li.gh{border-left:2px solid var(--neon)}.svc li.grp{margin-left:12px;border-left:2px solid #1f5a30}
.edL{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;gap:4px 8px}.edL textarea{min-height:52vh}@media (max-width:900px){.edL{grid-template-columns:1fr}.edL label:nth-child(2){order:3}.edL #eL2{order:4}}
/* ── importar canciones ── */
.imp{width:min(760px,100%)}.impl{display:grid;gap:4px;max-height:52vh;overflow:auto}
.impr{display:grid;grid-template-columns:20px 1fr auto auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--ln);border-radius:var(--r);background:var(--p2);cursor:pointer}
.impr input{accent-color:var(--neon)}.impr.off{opacity:.5}.impr .col{min-width:0}.impr b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.impr em{font:700 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;font-style:normal;color:var(--neon2);border:1px solid #1f5a30;border-radius:var(--r);padding:4px 6px}
.impr i{font-style:normal;font-size:11px;color:#ffb84d}
.impe summary{cursor:pointer;color:#ff9a7a;font-size:12px}.impe p{margin:4px 0;font-size:12px;color:var(--mut)}
/* ── plantillas de servicio ── */
.svc li.slot{border:1px dashed var(--ln2);background:transparent;color:var(--mut)}.svc li.slot .nm{font-style:italic}.svc li.slot small{color:var(--neon2);font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.svc li.slot.pend{border-style:solid;border-color:var(--neon);box-shadow:var(--glow);color:var(--fg)}
.tps,.tpn{width:min(620px,100%)}.tpl{display:grid;gap:4px;max-height:50vh;overflow:auto}
.tpr{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;padding:6px 8px;border:1px solid var(--ln);border-radius:var(--r);background:var(--p2)}
.tpr i{font-style:normal;color:var(--mut);text-align:center}.tpr .nm{font-size:13px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpr small{color:var(--mut);font-weight:400}
.tpc{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.tpk{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--ln2);border-radius:var(--r);background:var(--p2);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}
.tpk:hover,.tpk:focus-visible{border-color:var(--neon);background:#0c160f;outline:0}.tpk b{font-size:15px}.tpk.empty{justify-content:center;border-style:dashed}
.tpk .x{background:none;border:0;color:var(--dim);padding:2px 4px}.tpk .x:hover{color:#ff7a7a}
.tpch{display:flex;flex-wrap:wrap;gap:3px}.tpch span{font-size:11px;padding:3px 6px;border-radius:var(--r);background:var(--p3);color:var(--mut);white-space:nowrap}.tpch span.s{background:none;border:1px dashed #2f6b40;color:var(--neon2)}
/* ── historial ── */
.hst{width:min(820px,100%)}.hsl{display:grid;gap:6px;max-height:60vh;overflow:auto}
.hsd{display:grid;gap:8px;padding:10px 12px;border:1px solid var(--ln);border-radius:var(--r);background:var(--p2)}.hsd b{font-size:14px}
.hsd .x{background:none;border:0;color:var(--dim);padding:2px 6px}.hsd .x:hover{color:#ff7a7a}
.hsc{display:flex;flex-wrap:wrap;gap:4px}.hsc span{font-size:12px;padding:4px 7px;border-radius:var(--r);background:var(--p3);color:var(--fg);white-space:nowrap}
.hsc .k-song{border-left:2px solid var(--neon)}.hsc .k-verse{border-left:2px solid #ffd400}.hsc .k-sermon{border-left:2px solid #8fb4ff}
.hst2{width:100%;border-collapse:collapse;font-size:13px}.hst2 th{text-align:left;font:700 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);padding:8px 6px;border-bottom:1px solid var(--ln2)}
.hst2 td{padding:7px 6px;border-bottom:1px solid var(--ln)}.hst2 td.n{font-family:var(--mono);color:var(--neon);font-weight:700}
.hst #hsB{display:flex;flex-direction:column;gap:10px;max-height:66vh;overflow:auto}
.hsz summary{cursor:pointer;color:var(--mut);font-size:12px;padding:4px 0}.hsz .hsc{padding-top:6px}.hsz .hsc span{color:var(--mut)}
.sg-h .ago{margin-left:auto;font:600 10px/1 var(--mono);color:var(--dim);white-space:nowrap}.sg-h .ago.rec{color:#ffb84d}

/* deshacer */
#bUndo{min-width:36px;padding-inline:9px;display:inline-grid;place-items:center}#bUndo[hidden]{display:none}
/* respaldo */
.bk{width:min(560px,94vw);gap:12px}.bkw{margin:0;padding:10px 14px 10px 30px;background:var(--p2);border:1px solid var(--ln);border-radius:var(--r);columns:2;column-gap:24px;line-height:1.7}
.bkc{display:flex;align-items:center;gap:8px;cursor:pointer}.bkd,.bkr{border-top:1px solid var(--ln);padding-top:12px;display:flex;flex-direction:column;gap:6px}.bkd .note,.bkr .note{margin:0}
.bkr .b{align-self:flex-start}.bkf{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.note.warn{color:#ffb35c}
@media (max-width:520px){.bkw{columns:1}}
/* clicker */
.ck{width:min(440px,94vw);gap:12px}.ckp{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 14px;background:var(--p2);border:1px solid var(--ln);border-radius:var(--r);text-align:center}
.ckp b{font-size:20px}.ckp kbd{margin-top:6px;min-width:120px;padding:12px 16px;font:700 18px var(--mono,monospace);border:1px solid var(--ln2);border-radius:var(--r);background:var(--p1);transition:.15s}
.ckp kbd.on{border-color:var(--neon);color:var(--neon);box-shadow:0 0 0 3px rgba(59,255,110,.15)}
.ckl{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.ckl kbd{padding:2px 7px;border:1px solid var(--ln2);border-radius:4px;background:var(--p1);font-size:11.5px}.ckl .b{margin-left:auto}
/* ensayo */
#fxRh.on{background:#ffb35c;border-color:#ffb35c;color:#000}#fxRh kbd{background:rgba(0,0,0,.18);color:#000;border-color:transparent}
body.rehearse #lStage{outline:2px dashed #ffb35c;outline-offset:3px}body.rehearse #lName{color:#ffb35c}
.rhp{display:flex;flex-direction:column;gap:8px;width:300px}.rhp .seg{display:flex}.rhp .seg button{flex:1}
.rhs{width:min(520px,94vw);gap:12px}.rht{display:flex;align-items:baseline;gap:10px}.rht b{font:700 34px var(--mono,monospace);color:#ffb35c}
#svcList .est{font-style:normal;font-size:11px;color:var(--mut);font-family:var(--mono,monospace);margin-left:auto;padding-right:6px}.sd-h .note:has(.est){white-space:nowrap}.sd-h .est{color:var(--mut)}
/* temporizadores */
.tmr .tmc{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tmr .tmc button b{font-family:var(--mono,monospace);color:var(--neon);margin-left:4px}.tmr .tmc input{width:70px}
.tmr.on{border:1px solid var(--ln2);border-radius:var(--r);padding:10px;background:var(--p2)}.tmt{font:700 26px var(--mono,monospace);color:var(--fg)}.tmt.warn{color:#f2e94e}.tmt.over{color:#ff3d2e}
.tmr .tmb{gap:6px;margin-top:6px}.tps2 .tpe{display:inline-flex;align-items:center;gap:4px}.tps2 .tpe input:first-child{width:110px}.tps2 .tpe input[type=number]{width:62px}.tps2 .sl{flex-basis:100%}
/* favoritos */
.sg-h .fav{margin-left:auto;background:none;border:0;padding:0 2px;font-size:15px;line-height:1;color:var(--ln2);opacity:0;transition:.12s;cursor:pointer}
.sg:hover .fav,.sg.on .fav,.sg-h .fav:focus-visible{opacity:1}.sg-h .fav:hover{color:var(--fg)}.sg-h .fav.on{opacity:1;color:#ffd400}
.fvf{display:flex;margin:0 0 4px}.fvf button{flex:1}.fvf b{color:#ffd400;margin-left:3px}
.crumb .fvc{margin-left:auto;color:var(--mut)}.crumb .fvc b{color:#ffd400}.fvb.on{color:#ffd400;border-color:#ffd400}.fvb{font-size:14px;min-width:32px}
.vr.fvv{position:relative;grid-template-columns:minmax(0,1fr) auto 28px;row-gap:2px}.fvv b{grid-column:1;grid-row:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--neon);font-size:11.5px;line-height:1.6}.fvv span{grid-column:1;grid-row:2}.fvv .x{grid-column:2;grid-row:1;background:none;border:0;color:var(--mut);padding:0 4px;height:22px;opacity:0}.fvv .go-b{grid-column:3;grid-row:1}.fvv:hover .x{opacity:1}
/* aviso de versión nueva */
.b.upd{border-color:var(--neon);color:var(--neon);background:transparent}.b.upd:hover{background:rgba(59,255,110,.1)}
.upp{width:min(380px,calc(100vw - 16px))}.upp .row .b{width:auto;padding:8px 13px;border:1px solid var(--ln2);align-items:center}.upp .row .b.go{border-color:var(--neon);background:var(--neon)}.upp .row .b.ghost{background:none}.upp .row .b.ghost:hover{background:var(--p3)}.upp .upl{margin:0;padding:0 0 0 16px;display:flex;flex-direction:column;gap:5px;line-height:1.4}.upp .upl li::marker{color:var(--neon)}
.upd-n b{color:var(--neon);font-weight:600}
/* comparar versiones */
.cmp h3{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmpc button{padding:4px 8px;font-size:11.5px}
.cmpg{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:8px}
.cmpv{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:var(--p2);border:1px solid var(--ln2);border-radius:var(--r);cursor:pointer;transition:border-color .12s}
.cmpv:hover{border-color:#55555d}.cmpv.on{border-color:var(--neon);box-shadow:inset 0 0 0 1px var(--neon)}
.cmpv b{font:600 12px/1 var(--mono);color:var(--neon)}.cmpv small{min-width:0;color:var(--mut);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmpv em{font-style:normal;font-size:11px;color:var(--mut);white-space:nowrap}.cmpv .go-b{opacity:1;flex:none}.cmpv .go-b:disabled{opacity:.3}
.cmpv p{margin:0;font-size:14.5px;line-height:1.5}.cmpv sup{font:600 9px var(--mono);color:var(--dim);margin-right:2px}
#bFoot #bCmp,#bFoot #bFav{padding-left:8px;padding-right:8px}#bFoot .note{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* carrusel de anuncios */
.crbtn.on{color:var(--neon);border-color:var(--ln2)}.crbtn.run{border-color:var(--neon)}
.fm-st:has(.crb){position:relative;overflow:hidden}.crb{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(0,0,0,.6);pointer-events:none;z-index:2}
.crb::after{content:'';position:absolute;inset:1px 0 0;background:var(--neon);transform-origin:left;transform:scaleX(0);animation:crb var(--d,5s) linear var(--o,0s) forwards}
@keyframes crb{to{transform:scaleX(1)}}
.crp{width:min(400px,calc(100vw - 16px))}.crp .seg{display:flex}.crp .seg button{flex:1;padding-left:4px;padding-right:4px}.crp>.b{width:auto;align-self:flex-start;border:1px solid var(--ln2);background:var(--p2);align-items:center;padding:5px 10px}.crp>.b.go{background:var(--neon);border-color:var(--neon)}
.crs{font-style:normal;color:var(--neon);font-size:11px;margin-right:4px}
/* tercio del predicador */
.ltp{width:min(400px,calc(100vw - 16px))}.ltp .ltf{display:grid;gap:6px}.ltp .ltr{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:6px}.ltp .seg{display:flex}.ltp .seg button{flex:1}
.ltp .row .b,.ltp>.b{width:auto;border:1px solid var(--ln2);background:var(--p2);align-items:center;padding:5px 10px}.ltp .row .b.go{background:var(--neon);border-color:var(--neon)}.ltp .row .b.ghost{background:none}.ltp>.b{align-self:flex-start}
.ltp .sl b{color:var(--fg)}
/* fondo por canción */
.slc.on{color:var(--neon)}.slm{font-style:normal;color:var(--neon);font-size:11px;margin-left:5px;opacity:.85}
/* diapositiva de ofrenda */
.dlg.of{width:min(1060px,100%)}.ofw{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:18px;align-items:start}
.off{display:flex;flex-direction:column;gap:9px}.off .fld{display:flex;flex-direction:column;gap:5px}.off .fld em{font-style:normal;text-transform:none;letter-spacing:0}
.ofl{display:grid;grid-template-columns:96px minmax(0,1fr);gap:5px}
.ofp{display:flex;flex-direction:column;gap:8px;position:sticky;top:0}.ofp .stage{width:100%;aspect-ratio:16/9;border-radius:var(--r);box-shadow:0 0 0 1px var(--ln2)}
@media (max-width:760px){.ofw{grid-template-columns:1fr}}
/* escenario a tu gusto */
.dlg.stg{width:min(980px,96vw)}
.stgw{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:20px;align-items:start}
.stgf{display:flex;flex-direction:column;gap:14px}
.stgr{display:flex;flex-direction:column;gap:6px}.stgr .seg{display:flex}.stgr .seg button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.stgr .seg i{width:10px;height:10px;border-radius:2px;border:1px solid rgba(255,255,255,.25)}
.stgc{display:grid;gap:8px}.stgc label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--fg)}.stgc input{accent-color:var(--neon)}
.stgp{display:flex;flex-direction:column;gap:8px;min-width:0}
.stgv{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000;border:1px solid var(--ln2);border-radius:var(--r)}
.stgv iframe{position:absolute;left:0;top:0;width:1280px;height:720px;border:0;transform-origin:0 0;transform:scale(var(--s,.5));pointer-events:none}
@media (max-width:760px){.stgw{grid-template-columns:1fr}}
/* limpiar formato al pegar */
.lyn{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:12px;max-width:min(680px,92vw);padding:10px 12px 10px 16px;background:var(--p2);border:1px solid var(--neon);border-radius:var(--r);box-shadow:0 12px 40px rgba(0,0,0,.6);font-size:13px;animation:lynIn .2s}
.lyn span{flex:1;min-width:0}
@keyframes lynIn{from{opacity:0;transform:translate(-50%,8px)}}
