:root{
  --fondo:#141a22; --panel:#1c242e; --panel2:#232d39; --linea:#2e3a48;
  --texto:#e8edf3; --tenue:#93a1b1; --marca:#f2a24b; --mio:#2b4a63; --peligro:#c0483f;
  --safe-top:env(safe-area-inset-top,0px); --safe-bot:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%;margin:0}
body{background:var(--fondo);color:var(--texto);
  font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,system-ui,sans-serif;
  overscroll-behavior:none}
.oculto{display:none!important}

.pantalla{position:fixed;inset:0;display:none;flex-direction:column}
.pantalla.activa{display:flex}
.hoja{background:var(--fondo);z-index:20}

/* entrar */
#pantallaEntrar{align-items:center;justify-content:center;padding:24px}
.caja{width:100%;max-width:340px;text-align:center}
.marca{font-size:38px;font-weight:800;letter-spacing:.22em;color:var(--marca)}
.sub{color:var(--tenue);font-size:13px;margin:6px 0 22px}
.tabs{display:flex;gap:6px;margin-bottom:18px}
.tab{flex:1;padding:9px;border:1px solid var(--linea);background:transparent;color:var(--tenue);
  border-radius:9px;font-size:13px;cursor:pointer}
.tab.activo{background:var(--panel);color:var(--texto);border-color:var(--marca)}
.form{display:flex;flex-direction:column;gap:8px;text-align:left}
.form label{font-size:12px;color:var(--tenue);margin-top:4px}
input,select,textarea{background:var(--panel);border:1px solid var(--linea);color:var(--texto);
  border-radius:10px;padding:12px;font-size:16px;font-family:inherit;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--marca)}
.btn{background:var(--marca);color:#171717;border:0;border-radius:10px;padding:13px;
  font-size:15px;font-weight:700;cursor:pointer;margin-top:10px;width:100%}
.btn.secundario{background:var(--panel2);color:var(--texto)}
.btn.peligro{background:var(--peligro);color:#fff}
.err{color:#e8837a;font-size:13px;min-height:18px;margin-top:12px}

/* barra y salas */
.barra{display:flex;align-items:center;gap:8px;padding:calc(var(--safe-top) + 8px) 10px 8px;
  background:var(--panel);border-bottom:1px solid var(--linea);flex:0 0 auto}
.salas{display:flex;gap:6px;overflow-x:auto;flex:1;scrollbar-width:none}
.salas::-webkit-scrollbar{display:none}
.sala{padding:7px 13px;border-radius:999px;background:var(--panel2);color:var(--tenue);
  font-size:14px;white-space:nowrap;border:1px solid transparent;cursor:pointer}
.sala.activa{background:var(--marca);color:#171717;font-weight:700}
.sala .punto{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--marca);margin-left:6px}
.sala.activa .punto{display:none}
.icono{background:transparent;border:0;color:var(--tenue);font-size:20px;cursor:pointer;padding:6px 8px}
.icono.enviar{color:var(--marca);font-size:22px}

.aviso{background:#3a3016;color:#f2d9a8;padding:10px 12px;font-size:13px;display:flex;
  align-items:center;gap:8px;border-bottom:1px solid var(--linea)}
.aviso span{flex:1}

/* hilo */
.hilo{flex:1;overflow-y:auto;padding:12px 10px;display:flex;flex-direction:column;gap:8px;
  -webkit-overflow-scrolling:touch}
.burbuja{max-width:78%;padding:9px 12px;border-radius:14px;background:var(--panel);
  align-self:flex-start;word-wrap:break-word;position:relative}
.burbuja.mia{align-self:flex-end;background:var(--mio)}
.burbuja .autor{font-size:11px;color:var(--marca);font-weight:700;margin-bottom:3px}
.burbuja .hora{font-size:10px;color:var(--tenue);margin-left:8px;float:right;margin-top:4px}
.burbuja img{max-width:100%;border-radius:9px;display:block;cursor:pointer}
.burbuja .doc{display:flex;align-items:center;gap:8px;color:var(--marca);text-decoration:none;
  padding:8px;background:rgba(0,0,0,.2);border-radius:8px}
.burbuja.pend{opacity:.55}
.dia{align-self:center;font-size:11px;color:var(--tenue);background:var(--panel);
  padding:3px 12px;border-radius:999px;margin:6px 0}
.escribiendo{padding:4px 14px;font-size:12px;color:var(--tenue);flex:0 0 auto}
.masviejos{align-self:center;background:var(--panel2);color:var(--tenue);border:0;
  border-radius:999px;padding:6px 14px;font-size:12px;cursor:pointer}

/* compositor */
.compositor{display:flex;align-items:flex-end;gap:4px;padding:8px 8px calc(var(--safe-bot) + 8px);
  background:var(--panel);border-top:1px solid var(--linea);flex:0 0 auto}
.compositor textarea{flex:1;resize:none;max-height:120px;border-radius:18px;padding:10px 14px}

/* menu */
.contenido{flex:1;overflow-y:auto;padding:14px}
.bloque{background:var(--panel);border-radius:12px;padding:14px;margin-bottom:12px}
.bloque h3{margin:0 0 10px;font-size:14px;color:var(--marca)}
.nota{font-size:13px;color:var(--tenue);margin:6px 0}
.linea{display:flex;gap:6px;align-items:center;margin-top:8px}
.linea input{flex:1}
.linea .btn{width:auto;margin:0;padding:12px 16px}
.persona{display:flex;justify-content:space-between;align-items:center;padding:9px 0;
  border-bottom:1px solid var(--linea);font-size:14px;gap:8px}
.persona:last-child{border-bottom:0}
.persona .meta{font-size:11px;color:var(--tenue)}
.persona button{background:var(--panel2);border:0;color:var(--texto);border-radius:8px;
  padding:7px 11px;font-size:12px;cursor:pointer}
.codigo{background:#173026;border:1px dashed #3d7a5f;border-radius:10px;padding:14px;
  text-align:center;font-size:26px;letter-spacing:.16em;font-weight:800;color:#8fe3b8;
  font-family:ui-monospace,Menlo,monospace}

.visor{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:60;display:flex;
  align-items:center;justify-content:center}
.visor img{max-width:96%;max-height:88%}
.visor .icono{position:absolute;top:calc(var(--safe-top) + 12px);right:16px;font-size:28px;color:#fff}
