/* Home-only presentation. Every new rule is scoped away from the table. */
/* Inherit the shared surface, span and accent palette used by the personal page. */
.home-lobby { --home-divider:rgba(177,191,198,.13); --home-state-bg:rgba(163,223,190,.08); --home-entry-surface:var(--surface); --home-entry-border:rgba(177,191,198,.07); max-width:600px; padding:8px 16px calc(32px + 50px + env(safe-area-inset-bottom)); }
.home-lobby .brand { position:relative; min-height:88px; box-sizing:border-box; border:0; padding:4px 0 6px; margin:0 0 10px; flex-wrap:nowrap; gap:8px; }
.home-lobby .brand-identity { position:relative; z-index:1; flex-wrap:wrap; max-width:calc(100% - 44px); gap:0 6px; }
.home-lobby .home-wordmark { display:block; flex-shrink:0; width:156px; height:52px; }
.home-lobby .brand-mark { color:var(--text); font-size:28px; font-weight:700; letter-spacing:.4px; line-height:1.4; }
.home-lobby .home-brand-subtitle { flex:0 0 100%; display:block; box-sizing:border-box; margin-top:2px; padding-left:14px; color:var(--muted); font-size:14px; font-weight:400; line-height:22px; letter-spacing:.5px; }
.home-lobby .home-subtitle-wordmark { display:block; width:120px; max-width:100%; height:22px; object-fit:contain; }
.home-lobby .brand-mark ~ .home-brand-subtitle { padding-left:0; }
.home-lobby .brand .home-help { position:absolute; z-index:2; top:4px; right:-8px; min-width:44px; min-height:44px; margin:0; padding:10px; }
.home-lobby .brand .home-help-icon { width:22px; height:22px; }
.home-lobby .brand-identity .connection-button { justify-content:flex-start; width:auto; min-width:44px; min-height:44px; margin:0; padding:0; gap:4px; }.home-lobby .connection-label { font-size:11px; font-weight:400; }.home-lobby .connection-dot { width:6px; height:6px; }
.home-lobby .home-entry-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.home-lobby button.room-filter { min-width:44px; min-height:44px; font-size:12px; }
.home-lobby button.home-action, .home-lobby button.home-action[disabled]:not([type]) { position:relative; display:flex; flex-direction:row; justify-content:flex-start; align-items:center; gap:10px; width:100%; min-width:0; min-height:112px; padding:14px 12px; margin:0; border:0; border-radius:18px; background:var(--home-entry-surface); color:var(--text); box-shadow:inset 0 0 0 1px var(--home-entry-border); line-height:1.5; text-align:left; transition:opacity 120ms ease; }
.home-lobby .home-action-create .home-action-title, .home-lobby .home-action-create .home-entry-arrow { color:var(--accent); }
.home-lobby .home-action-symbol { display:flex; align-items:center; justify-content:center; flex:0 0 36px; width:36px; height:40px; margin:0; background:transparent; }
.home-lobby .home-action-icon { display:block; width:100%; height:100%; }
.home-lobby .home-action-copy { flex:1; min-width:0; }
.home-lobby .home-action-heading { display:flex; align-items:center; gap:6px; }
.home-lobby .home-action-title { min-width:0; font-size:18px; font-weight:700; line-height:1.4; }
.home-lobby .home-action-word { display:inline-block; white-space:nowrap; }
.home-lobby .home-action-hint { display:block; margin-top:6px; font-size:12px; font-weight:400; color:var(--muted); line-height:1.5; }
.home-lobby .home-entry-arrow { flex-shrink:0; width:6px; height:6px; border-top:1.5px solid currentColor; border-right:1.5px solid currentColor; transform:rotate(45deg); }
.home-lobby .room-directory-heading { margin:22px 2px 12px; font-size:21px; font-weight:700; }
.home-lobby .room-directory .member-room.room-list-item { border-radius:20px; box-shadow:none; }
.home-lobby .room-directory .room-list-title { font-size:17px; font-weight:600; }
.home-lobby .room-directory .room-status { font-size:13px; font-weight:500; }
.home-lobby .room-directory .room-list-code, .home-lobby .room-directory .room-list-meta { font-size:14px; }
.home-lobby .room-directory .room-list-open { font-size:14px; }
.home-lobby .room-swipe { --swipe-remove-bg:#263b47; --swipe-remove-text:#d4e0e6; --swipe-remove-border:#4a606d; --swipe-danger-bg:#3c2a2e; --swipe-danger-text:#efb0a5; --swipe-danger-border:#79504e; position:relative; overflow:hidden; border-radius:18px; margin-bottom:12px; }
.home-lobby .room-swipe .room-swipe-content { position: relative; z-index: 1; width: 100%; min-height:166px; box-sizing: border-box; margin: 0; transition: transform 180ms ease-out; }
.home-lobby .room-swipe.is-dragging .room-swipe-content { transition: none; }
.home-lobby .room-swipe-actions { position:absolute; top:0; right:0; bottom:0; display:flex; flex-direction:column; justify-content:center; gap:10px; width:116px; padding:12px 0; box-sizing:border-box; }
.home-lobby button.room-swipe-action,
.home-lobby button.room-swipe-action[disabled]:not([type]) { display:flex; flex-direction:row; align-items:center; justify-content:center; flex-shrink:0; gap:6px; width:116px; min-width:116px; height:64px; min-height:64px; margin:0; padding:6px; box-sizing:border-box; border:1px solid var(--swipe-remove-border); border-radius:14px; background:var(--swipe-remove-bg); color:var(--swipe-remove-text); font-size:13px; font-weight:500; line-height:1.5; }
.home-lobby button.room-swipe-action.danger,
.home-lobby button.room-swipe-action.danger[disabled]:not([type]) { border-color:var(--swipe-danger-border); background:var(--swipe-danger-bg); color:var(--swipe-danger-text); }
.home-lobby button.room-swipe-action[disabled]:not([type]) { opacity: 1; }
.room-swipe-label { flex-shrink:0; white-space:nowrap; }
.room-swipe-pressed { opacity: .8; }
.room-swipe-remove-icon { position:relative; flex-shrink:0; width:18px; height:18px; border:1.5px solid currentColor; border-radius:50%; box-sizing:border-box; }
.room-swipe-remove-icon::after { content:''; position:absolute; width:8px; height:1.5px; top:50%; left:50%; transform:translate(-50%,-50%); background:currentColor; }
.room-swipe-dissolve-icon { position:relative; flex:0 0 16px; width:16px; height:20px; margin-right:2px; border:1.5px solid currentColor; border-radius:2px; box-sizing:border-box; }
.room-swipe-dissolve-icon > div { position:absolute; width:11px; height:1.5px; right:-4px; top:8px; background:currentColor; box-shadow:0 0 0 3px var(--swipe-danger-bg); }
.room-swipe-dissolve-icon > div::after { content: ''; position: absolute; width: 6px; height: 6px; left: 0; top: -3px; border-left: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.home-lobby button.home-action:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
@media (prefers-reduced-motion: reduce) { .home-lobby .room-swipe .room-swipe-content, .home-lobby button.home-action { transition: none; } }
.home-lobby .room-empty { margin-top:12px; padding:32px 0; }.home-lobby .room-empty-title { color:var(--text); font-size:15px; font-weight:500; }.home-lobby .room-empty-hint { margin-top:10px; font-size:13px; }
@media(max-width:350px) { .home-lobby { padding-left:12px; padding-right:12px; }.home-lobby .home-wordmark { width:146px; height:49px; }.home-lobby .home-brand-subtitle { padding-left:13px; letter-spacing:.4px; }.home-lobby .home-subtitle-wordmark { width:112px; }.home-lobby .brand-identity { gap:0 4px; }.home-lobby button.home-action { padding:12px 10px; gap:7px; }.home-lobby .home-action-symbol { flex-basis:28px; width:28px; height:36px; }.home-lobby .home-action-heading { gap:5px; }.home-lobby .home-action-title { font-size:17px; } }
@media(min-width:600px) { .home-lobby { padding-left:24px; padding-right:24px; } }


@media(max-width:360px) {
 .home-lobby .connection-label { font-size:11px; }.home-lobby .brand .home-entry { font-size:12px; }
}
