.room-directory{min-width:0;margin:22px 0;color:#f7f4ed;font-family:var(--rf-font,"Segoe UI",sans-serif)}
.rd-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px;text-align:left}
.rd-heading h2{margin:0;color:#f2d28d;font:600 clamp(23px,4.8vw,30px)/1.2 Georgia,serif}
.rd-heading p{margin:0;color:#aebbd1;font-size:12px;line-height:1.4}
.rd-preview-list,.rd-all-list{display:grid;gap:12px;min-width:0}
.rd-room{min-width:0;padding:12px 12px 4px;border:1px solid #6385c080;border-radius:12px;background:#06172f;text-align:left;overflow:hidden}
.rd-room--ours{border-color:#ddbd77}
.rd-room-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px;font-size:16px}
.rd-room-heading>a{display:flex;align-items:center;gap:9px;min-width:0;color:inherit;text-decoration:none;min-height:28px}
.rd-room-heading b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rd-room-heading>span{white-space:nowrap;color:#d6e0f0;font-size:15px;font-variant-numeric:tabular-nums}
.rd-room-heading img{width:22px;height:22px;object-fit:contain}
.rd-seats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.rd-seat{position:relative;display:grid;place-items:center;min-width:0;width:100%;aspect-ratio:1;padding:0;overflow:hidden;border:1px solid #6483b0;border-radius:9px;background:#101d36;color:#eec36f;text-decoration:none;touch-action:manipulation;isolation:isolate;transition:border-color 160ms,background-color 160ms}
.rd-seat.is-free:hover{border-color:#ffe1a0;background:#192d4c}
.rd-seat:focus-visible,.rd-room a:focus-visible,.rd-more:focus-visible,.rd-close:focus-visible{outline:3px solid #ffe1a0;outline-offset:3px}
.rd-seat.is-free:active{background:#284364}
.rd-plus{font:300 clamp(38px,9vw,58px)/1 "Segoe UI",sans-serif;transform:translateY(-2px)}
.rd-avatar{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}
.rd-avatar>img,.rd-avatar>svg{width:100%;height:100%;object-fit:cover}
.rd-avatar>.bot-portrait{width:100%!important;height:100%!important}
.rd-avatar>.bot-portrait>svg{width:100%;height:100%}
.rd-avatar>.pimg{transform:scale(1.48)}
.rd-avatar>.rd-lion{width:76%;height:76%;object-fit:contain;opacity:.85}
.rd-emoji{font-size:clamp(30px,7vw,50px);line-height:1}
.rd-seat-name{position:absolute;left:0;right:0;bottom:0;min-width:0;padding:4px 5px;background:#020a16eb;color:#fff;font:500 12px/1.2 var(--rf-font,"Segoe UI",sans-serif);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rd-seat-state{position:absolute;top:0;right:0;left:0;padding:2px;background:#07152bdc;color:#d6c391;font-size:9px;line-height:1.3;text-align:center}
.rd-seat-unknown{font-size:28px;letter-spacing:4px;color:#8d9fb9}
.rd-room-footer{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:39px;color:#aabbd4}
.rd-room-footer small{font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.rd-room-footer>a{display:grid;place-items:center;flex:none;width:38px;height:38px;color:#efc878;text-decoration:none}
.rd-room-footer svg{width:22px;height:22px}
.rd-more{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;margin-top:14px;padding:9px 14px;border:1px solid #d8b974;border-radius:11px;background:#07172f;color:#f5e4bd;font:600 16px/1.2 var(--rf-font,"Segoe UI",sans-serif);cursor:pointer;touch-action:manipulation}
.rd-more-count{padding:3px 10px;border:1px solid #baa06680;border-radius:20px;color:#e9c47e;font-size:14px}
.rd-more[hidden],.rd-notice[hidden]{display:none}
.rd-notice{margin:12px 0 0;text-align:center;color:#bbcae0;font-size:13px;line-height:1.5}
.rd-dialog{box-sizing:border-box;width:min(920px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:22px;border:1px solid #d6b570;border-radius:18px;background:#03132b;color:#f8f2e7;font:16px/1.4 var(--rf-font,"Segoe UI",sans-serif);overflow:auto;overscroll-behavior:contain}
.rd-dialog::backdrop{background:#010713c9}
.rd-dialog[open]{animation:rd-open 200ms ease-out}
.rd-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rd-dialog h2{margin:0;color:#f2d28d;font:600 28px/1.2 Georgia,serif}
.rd-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid #587292;border-radius:10px;background:#0d213b;color:#dce6f3;cursor:pointer}
.rd-dialog-hint{margin:10px 0 18px;color:#acbdd3;font-size:14px}
.rd-dialog .rd-all-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.rd-room.is-stale{border-color:#69758a}
.rd-room.is-stale .rd-seats{opacity:.7}
@keyframes rd-open{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:620px){.rd-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:16px}.rd-dialog .rd-all-list{grid-template-columns:1fr}}
@media(max-width:370px){.rd-heading{align-items:flex-start;gap:6px}.rd-heading h2{font-size:22px}.rd-heading p{max-width:120px;font-size:11px}.rd-room{padding:10px 10px 3px}.rd-seats{gap:6px}.rd-room-heading{font-size:15px}.rd-room-footer small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.rd-dialog[open]{animation:none}.rd-seat{transition:none}}
:root[data-rf-motion="reduced"] .rd-dialog[open]{animation:none}
