#groupDialog{width:min(620px,calc(100% - 32px));max-height:85svh;padding:28px;color:var(--ink);background:var(--panel);border:2px solid var(--border);box-shadow:6px 6px 0 var(--shad);border-radius:0;overflow:auto}
#groupDialog::backdrop{background:#080612bf}
.member-dialog{position:relative;width:min(540px,calc(100% - 32px));max-height:85svh;overflow:auto;padding:28px;background:var(--panel);color:var(--ink);border:2px solid var(--border);box-shadow:6px 6px 0 var(--shad)}
.member-dialog::backdrop{background:#080612bf}.member-close{position:absolute;right:10px;top:10px}.member-dialog h2{padding-right:46px;overflow-wrap:anywhere}.member-list{max-height:50svh;overflow:auto;margin:18px 0}.member-dialog [role=status]{margin:12px 0}
#groupClose{position:absolute;right:10px;top:10px}
#groupDialog h2{padding-right:48px;margin-bottom:20px}
#groupSearch,#groupName{width:100%;margin:10px 0}
#groupResults{max-height:32svh;overflow:auto;overscroll-behavior:contain;margin:12px 0}
.group-option{display:flex;align-items:center;gap:12px;padding:10px;border-bottom:1px solid var(--border);cursor:pointer}
.group-option input{accent-color:var(--gold);width:20px;height:20px}
#groupSelected{display:flex;flex-wrap:wrap;gap:8px;max-height:16svh;overflow:auto}
#groupStatus,#groupSelectionCount{font-size:18px;margin:10px 0}
#groupList .group-row{display:block;width:100%;text-align:left;color:var(--ink);background:transparent;border:0;font:inherit;cursor:pointer}
.hall-page .side-right>.panel:last-child{display:flex;flex-direction:column;min-height:0;overflow:hidden}
#groupList{min-height:0;max-height:240px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;flex:1 1 auto;margin-bottom:12px}
#createGroup{flex-shrink:0;align-self:flex-start}
.project-group-entry{display:flex;align-items:center;gap:8px}
#groupList .group-row{min-width:0;overflow-wrap:anywhere;flex:1}
.group-delete{flex:none;width:32px;min-height:32px;border:1px solid var(--border);color:var(--ink);background:var(--panel2);font:24px "VT323",monospace;cursor:pointer}
.group-delete:hover{background:var(--danger)}
.hall-page #classList{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.hall-page .class-item button.chan{width:100%;text-align:left;background:transparent;color:var(--ink);border:0;border-left:3px solid transparent;font:inherit}
.hall-page .class-item button.chan.active,.hall-page .class-item button.chan:hover{background:var(--panel2);border-left-color:var(--gold)}
.hall-page .chat-head{position:relative;padding-right:180px}
#editMembers{position:absolute;right:18px;top:18px}
.room-fold{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows 220ms ease,opacity 220ms ease}
.room-fold.is-collapsed{grid-template-rows:0fr;opacity:0}
.room-fold-inner{min-height:0;overflow:hidden}
@media(prefers-reduced-motion:reduce){.room-fold{transition:none}}
@media(max-width:720px){.hall-page .chat-head{padding-right:18px}#editMembers{position:static;margin-top:10px}}
