/* 联机大厅沿用密约现有字体与配色；窄屏表单和电报面板可独立滚动。 */
.netHome .introIn { width: min(900px,100%); margin:auto; }
.netHome .wordmark { margin-bottom:20px; }
.netPanel { border:1px solid var(--line); border-radius:16px; padding:24px; background:var(--panel); margin:20px 0; }
.netPanel label { display:block; font-size:13px; color:var(--dim); margin:0 0 8px; }
.netPanel input,.netPanel select { display:block; box-sizing:border-box; width:100%; padding:12px 14px; min-height:46px; background:var(--panel-2); border:1px solid var(--hair); border-radius:8px; color:var(--ivory); margin-bottom:16px; }
.netColumns { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:24px; }
.netColumns form { min-width:0; }
.netColumns h3 { margin:0 0 16px; font-weight:500; font-size:16px; }
.netColumns .btn { width:100%; }
.netError { color:var(--danger); overflow-wrap:anywhere; }
.netRoomHead { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
#netCurrentRoom { display:block; font:500 30px var(--font-mono); letter-spacing:.18em; margin:8px 0; }
#netRoomCode { text-transform:uppercase; letter-spacing:.16em; }
.netMembers { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:20px 0; }
.netMember { display:flex; align-items:center; gap:12px; border:1px solid var(--line); border-radius:8px; padding:12px; color:var(--faint); min-width:0; }
.netMember.filled { background:var(--panel-2); color:var(--ivory); }
.netMember span:not(.num) { overflow-wrap:anywhere; }
.netMember small { margin-left:auto; white-space:nowrap; color:var(--dim); }
.netMember .num { color:var(--faint); }
.netGameStatus { display:flex; flex-wrap:wrap; align-items:center; gap:7px; font-size:11px; color:var(--dim); flex-basis:100%; border-top:1px solid var(--line); padding-top:7px; }
.netLight { width:6px; height:6px; border-radius:50%; background:var(--danger); }
.netLight.on { background:var(--pool); }
.netGameStatus .btn { padding:2px 6px; font-size:11px; }
.ticker { z-index:28; }
.phrs { max-height:clamp(140px,25vh,260px); overflow-y:auto; overscroll-behavior:contain; padding-right:4px; flex-shrink:0; }
@media(max-width:620px) { .netPanel { padding:16px; }.netColumns { grid-template-columns:1fr; gap:24px; }.netMembers { grid-template-columns:1fr; }.netHome .wordmark b { font-size:56px; }.netHome { display:block; }.netHome .introIn { padding:12px 0; }.ticker { position:fixed; left:12px; right:12px; bottom:12px !important; z-index:29; }.ticker .pill { max-width:100%; font-size:12px; }.phrs { max-height:22vh; } }
