/* ===== 会话空闲断开提示框（session.js 动态创建） ===== */
.idle-mask{
  position:fixed;inset:0;z-index:200;
  display:flex;align-items:center;justify-content:center;
  background:rgba(6,5,8,.55);
  backdrop-filter:blur(4px);
  opacity:0;visibility:hidden;
  transition:opacity .25s ease,visibility .25s ease;
}
.idle-mask.on{opacity:1;visibility:visible}

.idle-card{
  width:min(340px,calc(100vw - 40px));
  background:rgba(20,17,23,.96);
  border:1px solid rgba(201,168,106,.38);
  border-radius:12px;
  padding:28px 26px 24px;
  text-align:center;
  box-shadow:0 30px 80px rgba(0,0,0,.6);
  transform:translateY(10px) scale(.98);
  transition:transform .25s ease;
}
.idle-mask.on .idle-card{transform:translateY(0) scale(1)}

.idle-card .idle-title{
  font-family:'Noto Serif SC','Songti SC','STSong',serif;
  font-size:19px;letter-spacing:.1em;color:#ece4d6;margin-bottom:12px;
}
.idle-card .idle-desc{
  font-size:13px;line-height:1.7;color:rgba(236,228,214,.72);margin-bottom:20px;
}
.idle-card .idle-desc b{
  color:#e3c489;font-size:16px;padding:0 2px;
}

.idle-keep{
  width:100%;height:42px;border:none;cursor:pointer;border-radius:6px;
  font-size:13px;letter-spacing:.18em;font-weight:600;color:#2a1f12;
  background:linear-gradient(135deg,#c9a86a,#e3c489);
  box-shadow:0 10px 26px rgba(201,168,106,.28);
  transition:.25s;
}
.idle-keep:hover{filter:brightness(1.07)}

/* ===== 连接状态指示 ===== */
.session-state{font-size:12.5px;letter-spacing:.06em}
.session-state.ok{color:#8fc7a4}
.session-state.warn{color:#e6a3a0}
