.room-panel{margin:16px clamp(16px,4vw,56px) 0;padding:clamp(16px,3vw,24px);border:1px solid var(--line);border-radius:1rem;background:#20362f}
.room-panel h2{margin:.2rem 0 .55rem;font-size:1.3rem}
.room-panel p{margin:.55rem 0;color:var(--muted)}
.room-panel summary{cursor:pointer;min-height:44px;display:list-item;padding:.6rem 0;color:var(--gold)}
.room-panel form{display:grid;gap:.55rem;justify-items:start;margin:.45rem 0}
.room-panel form label{font-weight:600}
.room-panel select{max-width:100%;margin:.3rem 0 .3rem .35rem}
.room-panel textarea,.room-panel input{width:100%;min-width:0;font:inherit;background:#152822;border:1px solid var(--line);color:var(--ink);border-radius:.55rem;padding:.55rem .7rem}
.room-panel textarea{resize:vertical;max-width:700px}
.room-panel .room-hint,#room-message{font-size:.88rem}
.room-summary,.room-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .8rem}
.room-summary span{color:var(--gold);border:1px solid var(--line);border-radius:2rem;padding:.14rem .6rem;font-size:.85rem}
#room-request{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1.03rem;color:var(--ink);max-width:780px}
.room-invite{margin:.85rem 0;max-width:700px}
.room-invite div{display:flex;gap:.5rem;align-items:center;margin-top:.3rem}
.room-invite button{flex-shrink:0}
.room-delete{color:#f5c8ad}
.room-panel button:disabled{opacity:.58;cursor:default}
#room-message:empty{display:none}
#room-list{padding-left:1.2rem;margin:.2rem 0 .7rem}
#room-list a{display:inline-block;padding:.25rem 0;text-decoration:underline}
@media(max-width:390px){.room-invite div{align-items:stretch;flex-direction:column}.room-panel select{margin-left:0}}

.room-gathering{border-block:1px solid var(--line);padding:.85rem 0;margin:.95rem 0}
.room-gathering h3{margin:0;font-size:1.07rem}
#prayer-room #gathering-time{white-space:pre-line}
#prayer-room #gathering-countdown{color:var(--gold);font-variant-numeric:tabular-nums}
#gathering-form input{width:auto;max-width:100%;min-height:44px}
#gathering-dialog #gathering-subject{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;max-height:7rem;overflow:auto}
#gathering-notice:empty,#gathering-countdown:empty,#gathering-time:empty{display:none}

.gathering-lights{margin:.6rem 0;color:var(--gold)}
.gathering-lights p{margin:.25rem 0;font-size:.9rem}
.gathering-lamp-dots{display:flex;flex-wrap:wrap;gap:.4rem;padding:.1rem .2rem}
.gathering-lamp-dots span{width:.5rem;height:.68rem;border-radius:70% 65% 62% 61%;background:#ffdb8d;box-shadow:0 0 .45rem #ffca7a}
.gathering-recap{background:#192e28;border:1px solid var(--line);border-radius:.72rem;padding:.75rem;margin:.7rem 0}
.gathering-recap h4{margin:0}
.gathering-recap p{margin:.26rem 0}
