:root{--bg:#05080E;--panel:#0E1522;--panel2:#131C2C;--borde:#243044;--txt:#E9EDF4;--suave:#98A3B6;--acc:#6B9BFF;--ok:#3DD68C;--mal:#FF6B6B;font-family:"Segoe UI",system-ui,Arial,sans-serif}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--txt);height:100vh;overflow:hidden}
button,select,input{font:inherit;color:var(--txt)}
button{background:#18233A;border:1px solid var(--borde);border-radius:10px;padding:8px 12px;cursor:pointer;font-weight:600;font-size:14px}
button:hover{border-color:var(--acc)}button.pri{background:var(--acc);color:#05080E;border-color:var(--acc)}button.peligro:hover{border-color:var(--mal);color:var(--mal)}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
#login{height:100vh;display:grid;place-items:center;padding:16px}
#fLogin{background:var(--panel);border:1px solid var(--borde);border-radius:18px;padding:32px;width:min(92vw,400px);display:grid;gap:14px}
#fLogin h1{margin:0;font-size:28px}#fLogin p{margin:0;color:var(--suave)}#fLogin input{background:var(--panel2);border:1px solid var(--borde);border-radius:10px;padding:12px 14px}
#err{color:var(--mal);min-height:1.2em}
#app{height:100vh;display:flex;flex-direction:column}
header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--panel);border-bottom:1px solid var(--borde);flex-wrap:wrap}
header .grow{flex:1}#tituloDeck{background:transparent;border:1px solid transparent;border-radius:8px;padding:6px 8px;font-size:18px;font-weight:700;min-width:180px}
#tituloDeck:hover,#tituloDeck:focus{border-color:var(--borde);background:var(--panel2)}
#estado{font-size:13px;color:var(--suave)}#estado.edit{color:#FFB84D}#estado.mal{color:var(--mal)}
.sel{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--suave)}.sel select{background:var(--panel2);border:1px solid var(--borde);border-radius:8px;padding:6px}
#cuerpo{flex:1;display:flex;min-height:0}
#lista{width:230px;overflow:auto;padding:10px;background:var(--panel);border-right:1px solid var(--borde);display:flex;flex-direction:column;gap:10px}
.mini{border:2px solid var(--borde);border-radius:10px;overflow:hidden;cursor:pointer;background:var(--panel2);position:relative}
.mini.act{border-color:var(--acc)}.mini.arr{outline:2px dashed var(--acc)}
.mini .vp{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#05080E}
.mini iframe{position:absolute;left:0;top:0;width:1920px;height:1080px;border:0;transform-origin:0 0;pointer-events:none}
.mini .tt{font-size:12px;padding:5px 8px;color:var(--suave);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini .tt b{color:var(--txt)}
#centro{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px;gap:10px;min-width:0}
#marco{width:min(100%,calc((100vh - 150px)*16/9));aspect-ratio:16/9;border:1px solid var(--borde);border-radius:12px;overflow:hidden;background:#000}
#edit{width:100%;height:100%;border:0}.ayuda{margin:0;color:var(--suave);font-size:13px;text-align:center}
#picker{position:fixed;inset:0;background:#000b;z-index:50;display:grid;place-items:center;padding:12px}
#picker .caja{background:var(--panel);border:1px solid var(--borde);border-radius:16px;width:min(1200px,100%);height:min(88vh,900px);display:flex;flex-direction:column}
#picker .cab{display:flex;gap:10px;align-items:center;padding:14px;border-bottom:1px solid var(--borde);flex-wrap:wrap}#picker h2{margin:0;font-size:20px}
#buscar{flex:1;min-width:200px;background:var(--panel2);border:1px solid var(--borde);border-radius:10px;padding:9px 12px}
#chips{display:flex;gap:6px;flex-wrap:wrap}#chips button.on{background:var(--acc);color:#05080E;border-color:var(--acc)}
#grilla{flex:1;overflow:auto;padding:14px;display:flex;flex-wrap:wrap;gap:14px;align-content:flex-start}
.tpl{flex:0 0 calc(25% - 11px);min-width:230px;height:max-content;border:2px solid var(--borde);border-radius:12px;overflow:hidden;cursor:pointer;background:var(--panel2);text-align:left;font-weight:600}.tpl:focus-visible{outline:2px solid var(--acc)}
.tpl:hover{border-color:var(--acc)}.tpl .vp{position:relative;overflow:hidden;background:#05080E}
.tpl iframe{position:absolute;left:0;top:0;width:1920px;height:1080px;border:0;transform-origin:0 0;pointer-events:none}
.tpl .tt{padding:8px 10px;font-size:13px}.tpl .tt small{display:block;color:var(--suave);font-weight:400}.tpl .borrar{float:right;color:var(--suave)}
#play{position:fixed;inset:0;background:#000;z-index:60}#playFrame{width:100%;height:100%;border:0}
#playBar{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:8px;align-items:center;background:#0E1522ee;border:1px solid var(--borde);border-radius:14px;padding:8px 12px;opacity:0;transition:opacity .3s}
#play:hover #playBar,#playBar:focus-within{opacity:1}#pPos{color:var(--suave);font-size:14px;min-width:70px;text-align:center}
@media (max-width:820px){#lista{width:120px}header button{padding:6px 8px;font-size:12px}}
