.room-switcher-overlay{z-index:var(--z-modal);padding:var(--space-md);background:var(--overlay-scrim);font-family:var(--font-family-base);color:var(--text-main);animation:room-switcher-fade var(--duration-base) var(--ease-standard);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes room-switcher-fade{0%{opacity:0}}.room-switcher{width:min(var(--modal-width-sm), 92vw);max-height:var(--modal-max-height);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);flex-direction:column;display:flex;overflow:hidden}.room-switcher__header{justify-content:space-between;align-items:center;gap:var(--space-2-5);background:var(--modal-band-default);color:var(--modal-band-text);flex-shrink:0;padding:13px 20px;display:flex}.room-switcher__title{font-size:var(--font-size-h3);margin:0;font-weight:700}.room-switcher__close{width:26px;height:26px;color:inherit;font-size:var(--font-size-body-lg);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:flex}.room-switcher__close:hover{background:color-mix(in srgb, currentColor 16%, transparent)}.room-switcher__body{padding:20px;overflow-y:auto}.room-switcher__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.room-switcher__item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 12px;font-family:inherit;display:flex}button.room-switcher__item{cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard)}button.room-switcher__item:hover{border-color:var(--room-accent,var(--color-navy));background:var(--color-bg-inset)}button.room-switcher__item:focus-visible{outline:2px solid var(--room-accent,var(--color-navy));outline-offset:2px}.room-switcher__item--current{border-color:var(--room-accent,var(--color-navy));background:var(--color-navy-tint-soft)}.room-switcher__meta{flex-direction:column;min-width:0;display:flex}.room-switcher__name{font-weight:600;font-size:var(--font-size-body-lg);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.room-switcher__counts{font-size:var(--font-size-small);color:var(--color-text-muted)}.room-switcher__go{color:var(--color-text-muted);font-size:var(--font-size-body-lg);flex:none}.room-switcher__badge{font-size:var(--font-size-label);color:var(--room-accent,var(--color-navy));font-weight:var(--font-weight-semibold);flex:none}.room-switcher__create{gap:8px;margin-top:14px;display:flex}.room-switcher__input{min-width:0;height:var(--control-h-md);font-family:inherit;font-size:var(--font-size-body-lg);color:var(--text-main);background:var(--color-bg-inset);border:1.5px solid var(--color-border-control);border-radius:var(--border-radius);box-sizing:border-box;flex:1;padding:8px 10px}.room-switcher__input:focus{border-color:var(--room-accent,var(--color-navy));outline:none}.room-switcher__submit{height:var(--control-h-md);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-size-body);color:var(--color-text-inverse);background:var(--primary-navy);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);border:none;flex:none;justify-content:center;align-items:center;padding:0 18px;font-weight:600;display:inline-flex}.room-switcher__submit:hover{background:var(--secondary-navy);transform:translateY(-1px)}.room-switcher__hint{font-size:var(--font-size-body);color:var(--color-text-secondary);margin:0 0 12px}.room-switcher__options{flex-direction:column;gap:8px;display:flex}.room-switcher__option{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-inset);font-family:inherit;font-size:var(--font-size-body-lg);text-align:left;cursor:pointer;padding:10px 12px}.room-switcher__option:hover{border-color:var(--room-accent,var(--color-navy))}.room-switcher__cancel{color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-body);cursor:pointer;background:0 0;border:none;margin-top:14px}
