.app-site-footer{border-top:1px solid var(--border);background:rgba(10,10,14,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.app-site-footer__inner{max-width:720px;margin:0 auto;padding:1.25rem 1rem 1.5rem;text-align:center}.app-site-footer--welcome{width:100%;max-width:none;margin-top:auto;flex-shrink:0;border-left:none;border-right:none;border-bottom:none;border-radius:0}.app-site-footer--welcome .app-site-footer__inner{max-width:1100px;padding:1.25rem max(1rem,var(--safe-right)) max(1.5rem,var(--safe-bottom)) max(1rem,var(--safe-left))}.app-site-footer--dock{width:100%;max-width:none;flex-shrink:0;align-self:stretch}.fb-layout--has-dock:not(.fb-layout--fullscreen) .fb-main{padding-bottom:420px}.app-site-footer--dock .app-site-footer__inner{max-width:1100px;padding-bottom:max(1.5rem,var(--safe-bottom));padding-left:max(1rem,var(--safe-left));padding-right:max(1rem,var(--safe-right))}.app-site-footer__nav{margin-bottom:1rem}.app-site-footer__links{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem .85rem;margin:0;padding:0}.app-site-footer__links a{color:var(--text-secondary);font-size:.78rem;text-decoration:none;transition:color var(--transition)}.app-site-footer__links a:hover{color:var(--accent-hover)}.app-site-footer__toolbar{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1rem}.app-site-footer__actions,.app-site-footer__github{margin-bottom:0}.app-site-footer__clear-btn{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .85rem;border:1px solid rgba(239,68,68,.35);border-radius:var(--radius-md);background:rgba(239,68,68,.08);color:#fca5a5;font-size:.78rem;font-weight:500;cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition)}.app-site-footer__clear-btn:hover{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.5);color:#fecaca}.app-site-footer__credit{margin:0 0 .55rem;font-size:.82rem;color:var(--text-primary);font-weight:600}.app-site-footer__credit a{color:var(--accent-hover);text-decoration:none}.app-site-footer__credit a:hover{text-decoration:underline}.app-site-footer__stack{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.15rem .35rem;margin:0 0 1rem;font-size:.72rem;color:var(--text-muted)}.app-site-footer__stack-item{display:inline-flex;align-items:center;gap:.35rem}.app-site-footer__heart{color:#f472b6;font-size:.62rem;line-height:1}.app-site-footer__legal{font-size:.72rem;line-height:1.55;color:var(--text-muted);max-width:36rem;margin:0 auto .85rem}.app-site-footer__legal-link{color:var(--text-secondary);font-weight:500;text-decoration:none;white-space:nowrap}.app-site-footer__legal-link:hover{color:var(--accent-hover);text-decoration:underline}.app-site-footer__copy{margin:0;font-size:.68rem;color:var(--text-muted);opacity:.85}@media (max-width:720px){.app-site-footer__inner{display:flex;flex-direction:column;gap:.45rem}.app-site-footer--dock .app-site-footer__inner,.app-site-footer--welcome .app-site-footer__inner,.app-site-footer__inner{padding:.6rem max(.75rem,var(--safe-right)) max(.65rem,var(--safe-bottom)) max(.75rem,var(--safe-left))}.app-site-footer__copy,.app-site-footer__credit,.app-site-footer__legal,.app-site-footer__nav,.app-site-footer__toolbar{margin:0}.app-site-footer__nav{width:100%}.app-site-footer__links{display:flex;flex-wrap:wrap;justify-content:center;gap:.15rem .45rem}.app-site-footer__links a{padding:.15rem 0;font-size:.66rem;line-height:1.3;border:none;background:none;min-height:0}.app-site-footer__stack{display:none}.app-site-footer__toolbar{flex-direction:row;align-items:stretch;gap:.35rem;width:100%;margin:.15rem 0 0}.app-site-footer__github{flex:0 0 auto;width:auto}.app-site-footer__actions{flex:1 1;min-width:0;width:auto}.app-site-footer__clear-btn{width:100%;min-height:2.15rem;padding:.35rem .5rem;font-size:.68rem}.app-site-footer__credit{font-size:.68rem;line-height:1.3;margin-top:.1rem}.app-site-footer__legal{font-size:.62rem;line-height:1.35;max-width:none;opacity:.88}.app-site-footer__legal-link{white-space:normal}.app-site-footer__copy{padding-top:.35rem;font-size:.6rem;border-top:1px solid rgba(255,255,255,.06);opacity:.7}.app-site-footer--welcome{background:rgba(10,10,14,.88)}}@media (max-width:480px){.fb-layout--has-dock:not(.fb-layout--fullscreen) .fb-main{padding-bottom:200px}.app-site-footer__inner{gap:.4rem}}@media (max-width:768px){.fb-layout--has-dock:not(.fb-layout--fullscreen) .fb-main{padding-bottom:220px}}.fb-layout{display:flex;flex-direction:column;width:100%}.fb-layout--fullscreen{flex:1 1 auto;min-height:0;height:100%;overflow:hidden}.fb-layout--fullscreen-tabs .fb-room-bar{flex-shrink:0;z-index:700}.fb-layout--fullscreen-tabs .fb-fullscreen-stage{flex:1 1;min-height:0}.fb-topbar{justify-content:space-between;gap:1rem;padding:max(.65rem,var(--safe-top)) max(1.25rem,var(--safe-right)) .65rem max(1.25rem,var(--safe-left));border-bottom:1px solid var(--border);background:var(--bg-elevated);flex-shrink:0}.fb-topbar,.fb-topbar__brand{display:flex;align-items:center}.fb-topbar__brand{gap:.65rem;min-width:0;flex:1 1 auto}.fb-topbar__brand>div{min-width:0}.fb-topbar__title{font-size:1rem;font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-topbar__subtitle{font-size:.72rem;color:var(--text-muted)}.fb-topbar__actions{gap:.65rem;min-width:0;max-width:100%}.fb-room-bar,.fb-topbar__actions{display:flex;align-items:center;flex-shrink:0}.fb-room-bar{gap:8px;padding:.5rem max(12px,var(--safe-right)) .5rem max(12px,var(--safe-left));min-height:52px;background:var(--bg-elevated);border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-behavior:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch;z-index:600}.fb-layout--fullscreen .fb-room-bar{border-bottom-color:var(--border)}.fb-layout--fullscreen>.fb-room-bar--fullscreen-top{padding-top:max(.5rem,var(--safe-top));min-height:48px;gap:6px;align-items:stretch}.fb-room-bar--fullscreen-top .fb-room-tab{display:inline-grid;grid-template-columns:auto auto 1fr auto;align-items:center;column-gap:.4rem;row-gap:0;min-width:108px;max-width:168px;height:auto;min-height:44px;padding:.3rem .35rem .3rem .3rem}.fb-room-bar--fullscreen-top .fb-room-tab__avatar{width:22px;height:22px;font-size:.5rem;grid-row:1/-1;align-self:center}.fb-room-bar--fullscreen-top .fb-room-tab__main{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.05rem;min-width:0;overflow:hidden}.fb-room-bar--fullscreen-top .fb-room-tab__name{flex:none;width:100%;font-size:.72rem;font-weight:600;line-height:1.15}.fb-room-bar--fullscreen-top .fb-room-tab__users{font-size:.56rem;font-weight:600;line-height:1.1;color:var(--text-muted)}.fb-room-bar--fullscreen-top .fb-room-tab__aside{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;align-self:center;gap:.2rem;flex-shrink:0;padding:0}.fb-room-bar--fullscreen-top .fb-room-tab__lock{width:.62rem;height:.62rem;opacity:.85;align-self:center;justify-self:center}.fb-room-bar--fullscreen-top .fb-room-tab__lock--open,.fb-room-tab__lock--open{color:var(--success)}.fb-room-bar--fullscreen-top .fb-room-tab__lock--open{opacity:1}.fb-room-bar--fullscreen-top .fb-room-tab__badge{min-width:.85rem;height:.85rem;font-size:.52rem;padding:0 .15rem;order:0}.fb-room-bar--fullscreen-top .fb-room-tab__close{width:1.45rem;height:1.45rem;margin-top:0;font-size:1.15rem;font-weight:600;line-height:1;color:var(--text-secondary);background:rgba(255,255,255,.04)}.fb-room-bar--fullscreen-top .fb-room-tab__close:hover{background:rgba(239,68,68,.2);color:#fecaca}.fb-room-bar--fullscreen-top .fb-room-tab--new{min-width:36px;max-width:36px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem}.fb-room-bar::-webkit-scrollbar{height:6px}.fb-room-bar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}.fb-room-tab{display:inline-flex;align-items:center;gap:.45rem;min-width:132px;max-width:200px;height:40px;padding:0 .65rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);cursor:pointer;flex-shrink:0;transition:background var(--transition),border-color var(--transition)}.fb-room-tab:hover{background:rgba(255,255,255,.06)}.fb-room-tab--focused{border-color:rgba(99,102,241,.45)}.fb-room-tab--open{background:rgba(99,102,241,.14)}.fb-room-tab--fullscreen{background:rgba(99,102,241,.24);border-color:rgba(99,102,241,.55)}.fb-room-tab--pip{box-shadow:inset 0 0 0 1px rgba(34,197,94,.35)}.fb-room-tab--unread .fb-room-tab__name{font-weight:700}.fb-room-tab--new{min-width:40px;max-width:40px;justify-content:center;font-size:1.35rem;font-weight:400;color:var(--text-secondary)}.fb-room-tab__avatar{width:26px;height:26px;border-radius:var(--radius-full);color:#f8fafc;font-size:.56rem;letter-spacing:-.05em;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fb-room-tab__main{display:inline-flex;align-items:center;gap:.35rem;flex:1 1;min-width:0;overflow:hidden}.fb-room-tab__name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:500}.fb-room-tab__users{flex-shrink:0;font-size:.62rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-muted)}.fb-room-tab__aside{display:inline-flex;align-items:center;gap:.3rem;flex-shrink:0}.fb-room-tab__lock{width:.85rem;height:.85rem;flex-shrink:0;align-self:center;color:var(--text-muted)}.fb-room-tab__lock--open{color:var(--success)}.fb-room-tab__badge{min-width:1rem;height:1rem;padding:0 .25rem;background:var(--accent);color:white;font-size:.62rem;font-weight:700}.fb-room-tab__badge,.fb-room-tab__close{border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.fb-room-tab__close{width:1.25rem;height:1.25rem;font-size:1rem;line-height:1;color:var(--text-muted);flex-shrink:0}.fb-room-tab__close:hover{background:rgba(239,68,68,.15);color:#fca5a5}.fb-layout--mobile-hub .fb-main{padding-bottom:calc(4.75rem + var(--safe-bottom))}.fb-mobile-chat-fab{position:fixed;z-index:850;right:max(1rem,var(--safe-right));bottom:max(1rem,var(--safe-bottom));width:3.5rem;height:3.5rem;border:none;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;color:white;background:linear-gradient(135deg,var(--accent),var(--accent-secondary));box-shadow:0 4px 14px rgba(0,0,0,.28),0 8px 28px rgba(99,102,241,.45);transition:transform var(--transition),box-shadow var(--transition)}.fb-mobile-chat-fab:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.32),0 10px 32px rgba(99,102,241,.5)}.fb-mobile-chat-fab:active{transform:translateY(0)}.fb-mobile-chat-fab__icon{display:flex;align-items:center;justify-content:center}.fb-mobile-chat-fab__icon svg{width:1.45rem;height:1.45rem}.fb-mobile-chat-fab__badge{position:absolute;top:-.15rem;right:-.1rem;min-width:1.1rem;height:1.1rem;padding:0 .3rem;border-radius:var(--radius-full);background:#ef4444;color:white;font-size:.62rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-base);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fb-fullscreen-stage{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-base)}.fb-fullscreen-stage>.chat-window{flex:1 1 auto;min-height:0;width:100%}.fb-main{padding:1rem 1.25rem 1.5rem}.fb-main,.fb-main__inner{display:flex;flex-direction:column;flex:0 0 auto;width:100%}.fb-main__inner{align-self:center;box-sizing:border-box;max-width:720px;margin:0 auto}.fb-notice{flex-shrink:0;padding:.75rem 1rem;margin-bottom:1rem;border-radius:var(--radius-md);background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.28);color:#fcd34d;font-size:.85rem;line-height:1.5}.fb-notice strong{color:#fde68a}.fb-main__toolbar{flex-shrink:0;margin-bottom:.85rem}.fb-main__new{width:100%;padding:.75rem 1rem;font-weight:600}.fb-main__hint{flex-shrink:0;margin-top:1rem;text-align:center;color:var(--text-muted);font-size:.88rem;line-height:1.55}.fb-dock-area{position:fixed;right:0;bottom:0;left:0;z-index:500;pointer-events:none}.fb-dock-cluster{flex-direction:row;padding:0 max(16px,var(--safe-right)) max(16px,var(--safe-bottom)) max(16px,var(--safe-left))}.fb-dock-cluster,.fb-dock-windows{display:flex;align-items:flex-end;justify-content:flex-end;gap:12px;pointer-events:none}.fb-dock-windows{max-width:100%;overflow:hidden}.fb-dock-window{width:300px;min-width:300px;max-width:min(328px,calc(100vw - 32px));flex-shrink:0;pointer-events:auto;border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(255,255,255,.08);opacity:.96;box-shadow:0 2px 8px rgba(0,0,0,.18),0 8px 28px rgba(0,0,0,.32),0 16px 48px rgba(0,0,0,.22);transition:transform var(--transition),opacity var(--transition),box-shadow var(--transition)}.fb-dock-window--focused{opacity:1;transform:translateY(-2px);z-index:2;box-shadow:0 4px 12px rgba(0,0,0,.22),0 12px 36px rgba(0,0,0,.36),0 20px 56px rgba(0,0,0,.28),0 0 0 1px rgba(99,102,241,.12)}.fb-dock-rail{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;gap:10px;max-height:min(420px,calc(100vh - 120px));overflow-y:auto;overflow-x:hidden;pointer-events:auto;flex-shrink:0;padding-bottom:2px;scrollbar-width:thin}.fb-dock-rail-item{display:inline-flex;align-items:center;gap:.45rem;max-width:min(200px,42vw);padding:.2rem .55rem .2rem .2rem;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-full);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;flex-shrink:0;box-shadow:0 2px 6px rgba(0,0,0,.16),0 6px 20px rgba(0,0,0,.28);transition:background var(--transition),border-color var(--transition),transform var(--transition),box-shadow var(--transition)}.fb-dock-rail-item:hover{background:rgba(255,255,255,.08);transform:translateX(-2px);box-shadow:0 3px 8px rgba(0,0,0,.2),0 8px 24px rgba(0,0,0,.32)}.fb-dock-rail-item--unread .fb-dock-rail-item__name{font-weight:700}.fb-dock-rail-item--new{width:44px;height:44px;padding:0;justify-content:center;border-radius:var(--radius-full);box-shadow:0 2px 6px rgba(0,0,0,.16),0 6px 18px rgba(0,0,0,.26)}.fb-dock-rail-item--new .fb-dock-rail-item__avatar{background:rgba(255,255,255,.08);color:var(--text-secondary);font-size:1.25rem;font-weight:400;box-shadow:none}.fb-dock-rail-item__avatar{width:40px;height:40px;border-radius:var(--radius-full);color:#f8fafc;font-size:.72rem;letter-spacing:-.04em;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:0 2px 6px rgba(0,0,0,.2),0 4px 12px rgba(0,0,0,.28)}.fb-dock-rail-item__text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;line-height:1.15}.fb-dock-rail-item__name{min-width:0;max-width:clamp(3rem,10vw,7rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:500;line-height:1.2}.fb-dock-rail-item__users{font-size:.58rem;font-weight:600;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fb-dock-rail-item__lock{width:.8rem;height:.8rem;flex-shrink:0;align-self:center;color:var(--text-muted)}.fb-dock-rail-item__lock--open{color:var(--success)}.fb-dock-rail-item__badge{min-width:1rem;height:1rem;padding:0 .25rem;border-radius:var(--radius-full);background:var(--accent);color:white;font-size:.62rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}@media (max-width:640px){.fb-topbar{flex-wrap:wrap;gap:.5rem .65rem;padding-top:max(.55rem,var(--safe-top));padding-right:max(.85rem,var(--safe-right));padding-bottom:.55rem;padding-left:max(.85rem,var(--safe-left))}.fb-topbar__subtitle{display:none}.fb-topbar__title{font-size:.92rem}.fb-topbar__actions{gap:.4rem}.fb-room-bar{padding-top:.45rem;padding-bottom:.45rem;padding-left:max(8px,var(--safe-left));padding-right:max(8px,var(--safe-right))}.fb-room-bar--fullscreen-top .fb-room-tab{min-width:100px;max-width:150px;min-height:42px;padding:.28rem .3rem}.fb-room-bar--fullscreen-top .fb-room-tab__avatar{width:20px;height:20px;font-size:.48rem}.fb-room-bar--fullscreen-top .fb-room-tab__name{font-size:.68rem}.fb-room-bar--fullscreen-top .fb-room-tab__users{font-size:.54rem}.fb-room-bar--fullscreen-top .fb-room-tab__close{width:1.5rem;height:1.5rem;font-size:1.2rem}.fb-dock-cluster{padding:0 8px 12px}.fb-dock-window{width:min(300px,calc(100vw - 16px));min-width:min(280px,calc(100vw - 16px));max-width:calc(100vw - 16px)}.fb-dock-rail-item__name{max-width:clamp(2.5rem,22vw,5rem)}}@media (max-width:420px){.fb-topbar{flex-direction:column;align-items:stretch}.fb-topbar__brand{flex:0 1 auto}.fb-topbar__actions{justify-content:space-between;width:100%}}.image-lightbox{position:fixed;top:0;left:0;z-index:10100;display:flex;flex-direction:column;width:100%;height:100dvh;max-height:100dvh;box-sizing:border-box;overflow:hidden;overscroll-behavior:none;touch-action:none;background:rgba(0,0,0,.92);animation:imageLightboxIn .2s ease}@keyframes imageLightboxIn{0%{opacity:0}to{opacity:1}}.image-lightbox__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-shrink:0;min-height:52px;padding:calc(.5rem + env(safe-area-inset-top, 0px)) calc(.75rem + env(safe-area-inset-right, 0px)) .5rem calc(.75rem + env(safe-area-inset-left, 0px));background:rgba(0,0,0,.55);border-bottom:1px solid rgba(255,255,255,.08)}.image-lightbox__label{flex:1 1;min-width:0;font-size:.8125rem;color:rgba(255,255,255,.75);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-lightbox__actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.image-lightbox__btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:44px;min-height:44px;padding:0 .65rem;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-full,999px);background:rgba(255,255,255,.08);color:#fff;cursor:pointer;transition:background .15s ease,border-color .15s ease}.image-lightbox__btn:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28)}.image-lightbox__btn svg{width:20px;height:20px;flex-shrink:0}.image-lightbox__btn--close{padding:0;width:44px}.image-lightbox__btn-text{font-size:.8125rem;font-weight:500}.image-lightbox__stage{flex:1 1;min-height:0;display:flex;align-items:center;justify-content:center;padding:.75rem .75rem calc(.75rem + env(safe-area-inset-bottom, 0px));overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pinch-zoom}.image-lightbox__img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:var(--radius-sm,6px);box-shadow:0 8px 40px rgba(0,0,0,.45);touch-action:pinch-zoom}@media (max-width:600px){.image-lightbox__toolbar{padding:calc(.35rem + env(safe-area-inset-top, 0px)) .5rem .35rem;min-height:48px}.image-lightbox__label{font-size:.75rem}.image-lightbox__btn{min-width:40px;min-height:40px;padding:0 .5rem}.image-lightbox__btn--close{width:40px;padding:0}.image-lightbox__btn-text{display:none}.image-lightbox__stage{padding:.35rem .35rem calc(.35rem + env(safe-area-inset-bottom, 0px))}}.message{display:flex;flex-direction:column;gap:.12rem;max-width:min(88%,22rem);min-width:0;animation:messageIn .25s ease}.message--own{align-self:flex-end;align-items:flex-end}.message--other{align-self:flex-start;align-items:flex-start}.message__meta{display:inline-flex;align-items:center;gap:.28rem;max-width:100%;min-width:0}.message--own .message__meta{flex-direction:row-reverse}.message__avatar{width:20px;height:20px;flex-shrink:0;box-shadow:0 1px 4px rgba(0,0,0,.12)}.message__sender{font-size:.64rem;font-weight:600;color:var(--text-muted);line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(12rem,52vw)}.message--other .message__sender,.message--own .message__sender{color:var(--accent-hover)}.message--system{align-self:center;max-width:90%;padding:.2rem .65rem;background:rgba(255,255,255,.04);border-radius:var(--radius-full);font-size:.68rem;line-height:1.35;color:var(--text-muted);text-align:center}.message__bubble{position:relative;max-width:100%;min-width:0;padding:.625rem .875rem;border-radius:var(--radius-lg);word-wrap:break-word;overflow-wrap:anywhere;overflow:hidden}.message--own .message__bubble{background:linear-gradient(135deg,var(--accent),#7c3aed);color:white;border-bottom-right-radius:4px}.message--other .message__bubble{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);border-bottom-left-radius:4px}.message__text{margin:0;font-size:.925rem;line-height:1.5;white-space:pre-wrap}.message__link{color:var(--accent-hover);text-decoration:underline;text-underline-offset:2px;word-break:break-all}.message__link:hover{opacity:.9}.message--own .message__link{color:#e0e7ff}.message--own .message__link:hover{color:#fff}.message__text--missing{color:var(--text-muted);font-style:italic;font-size:.85rem}.message__image-btn{display:block;padding:0;margin:0;border:none;background:transparent;cursor:zoom-in;max-width:100%;line-height:0}.message__image-btn:focus-visible{outline:2px solid var(--accent-hover,#7c9cff);outline-offset:2px;border-radius:var(--radius-md)}.message__image{display:block;width:auto;max-width:100%;height:auto;max-height:min(280px,42vh);border-radius:var(--radius-md);object-fit:contain;pointer-events:none}.message--own .message__bubble:has(.message__image){padding:4px;background:rgba(255,255,255,.08)}.message--other .message__bubble:has(.message__image){padding:4px}.message__time{display:block;margin-top:.25rem;font-size:.65rem;opacity:.65;text-align:right}.message--other .message__time{color:var(--text-muted)}@keyframes messageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.message{max-width:88%;gap:.1rem}.message__avatar{width:18px;height:18px}.message__sender{font-size:.6rem}.message__image{max-height:min(220px,38vh)}}.message-input-form{position:relative;flex-shrink:0;width:100%;box-sizing:border-box;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border)}.message-input-form,.message-input-row{min-width:0;background:var(--bg-composer,rgba(20,20,28,.96))}.message-input-row{display:flex;align-items:flex-end;gap:.35rem;padding:.5rem .75rem}.message-file-input{display:none}.message-input-addon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;margin-bottom:1px;background:rgba(255,255,255,.04);border:none;border-radius:var(--radius-full);color:var(--accent-hover);cursor:pointer;flex-shrink:0;transition:color var(--transition),background var(--transition),opacity var(--transition)}.message-input-addon svg{width:22px;height:22px}.message-input-addon:hover{background:rgba(255,255,255,.06)}.message-upload-error{position:absolute;bottom:calc(100% + 4px);left:.75rem;font-size:.75rem;color:#fca5a5}.message-input-field{flex:1 1;min-width:0;min-height:22px;max-height:132px;padding:.45rem .5rem;margin:0;border:none!important;background:var(--bg-input)!important;box-shadow:none!important;border-radius:var(--radius-md)!important;color:var(--text-primary);font-size:.9375rem;line-height:1.45;font-family:inherit;outline:none;resize:none;overflow-y:auto;field-sizing:content}.message-input-field:focus{background:rgba(15,15,20,.75)!important}.message-input-field::placeholder{color:var(--text-muted)}.message-input-action{display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;margin-bottom:1px;padding:0;border:none;border-radius:var(--radius-full);background:transparent;cursor:pointer;flex-shrink:0;transition:transform var(--transition),opacity var(--transition)}.message-input-action:hover{transform:scale(1.06)}.message-input-action--send{color:var(--accent-hover)}.message-input-action--send svg{width:22px;height:22px}.message-input-action--like{font-size:1.35rem;line-height:1}.message-input-action__emoji{display:block;transform:translateY(1px)}.emoji-picker-container--portal{position:fixed;z-index:10200;box-sizing:border-box;pointer-events:auto;touch-action:manipulation;overflow:hidden;border-radius:var(--radius-lg);box-shadow:0 12px 40px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.08);animation:emojiPickerIn .15s ease-out}@keyframes emojiPickerIn{0%{opacity:0}to{opacity:1}}.emoji-picker-container--portal emoji-picker{display:block;width:100%;height:100%;min-height:0;--num-columns:8;--border-radius:var(--radius-lg);--background:#1c1c28;--border-color:rgba(255,255,255,0.1);--button-active-background:rgba(99,102,241,0.25);--button-hover-background:rgba(255,255,255,0.06);--input-border-color:rgba(255,255,255,0.14);--input-font-color:var(--text-primary,#e8e8ec);--input-placeholder-color:var(--text-muted,#888);--outline-color:var(--accent,#6366f1)}.emoji-picker-container--compact emoji-picker{--num-columns:7}.message-input-form--compact .message-input-row{padding:.4rem .5rem;gap:.25rem}.message-input-form--compact .message-input-field{font-size:.875rem;padding:.35rem .4rem;min-height:20px;max-height:108px}.message-input-form--compact .message-input-action,.message-input-form--compact .message-input-addon{width:32px;height:32px;min-width:32px}.message-input-form--compact .message-input-action--send svg,.message-input-form--compact .message-input-addon svg{width:19px;height:19px}.message-input-form--compact .message-input-action--like{font-size:1.2rem}.message-input-form--compact .message-upload-error{left:.5rem;right:.5rem;max-width:calc(100% - 1rem)}.message-input-form--emoji-open{position:relative;z-index:2}@media (max-width:720px){.message-input-row{padding:.45rem .6rem;gap:.3rem}.message-input-field{font-size:16px}}.chat-share{display:flex;align-items:center;gap:.375rem;position:relative}.chat-share__btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .65rem;background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all var(--transition)}.chat-share__btn svg{width:14px;height:14px}.chat-share__btn:hover{background:rgba(255,255,255,.1);color:var(--text-primary);border-color:rgba(255,255,255,.15)}.chat-share__toast{white-space:nowrap;padding:.35rem .65rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.75rem;color:var(--success);box-shadow:var(--shadow-sm);pointer-events:none}.chat-share__toast--fixed{position:fixed;z-index:9999;transform:translateX(-100%)}@media (max-width:600px){.chat-share__label{display:none}.chat-window--panel.chat-window--fullscreen .chat-share__label{display:inline}.chat-share__btn{padding:.35rem;min-width:1.75rem;justify-content:center}.chat-window--panel.chat-window--fullscreen .chat-share__btn{padding:.32rem .48rem;min-width:auto}}.channel-options-menu{position:fixed;z-index:10050;width:min(280px,calc(100vw - 16px));background-color:#1c1c28;background-image:none;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg,12px);box-shadow:0 12px 40px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.35);overflow:hidden;animation:channelOptionsIn .15s ease-out;isolation:isolate}@keyframes channelOptionsIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.channel-options-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;background-color:#1c1c28;border-bottom:1px solid rgba(255,255,255,.1);font-size:.9rem}.channel-options-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-options-close{background:transparent;border:none;color:var(--text-muted,#888);font-size:1.25rem;line-height:1;cursor:pointer;padding:0 .25rem}.channel-options-tabs{display:flex;background-color:#181822;border-bottom:1px solid rgba(255,255,255,.1)}.channel-options-tabs button{flex:1 1;padding:.45rem .25rem;font-size:.72rem;background-color:transparent;color:var(--text-muted,#888);cursor:pointer;border:none;border-bottom:2px solid transparent;border-radius:.35rem .35rem 0 0;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.channel-options-tabs button:hover:not(.active){background-color:rgba(255,255,255,.06)}.channel-options-tabs button.active{color:var(--text-primary,#e8e8ec);background-color:rgba(255,255,255,.12);border-bottom-color:var(--accent,#6b8afd)}.channel-options-body{max-height:240px;overflow-y:auto;padding:.65rem .75rem;background-color:#1c1c28}.channel-options-section{display:flex;flex-direction:column;gap:.5rem}.channel-options-label{font-size:.75rem;color:var(--text-muted,#888);text-transform:uppercase;letter-spacing:.04em}.channel-options-muted{margin:0;font-size:.8125rem;color:var(--text-muted,#888)}.channel-options-open{margin:0;font-size:.875rem;font-weight:600;color:var(--success,#22c55e)}.channel-options-password-row{display:flex;align-items:center;gap:.5rem}.channel-options-password-row code{flex:1 1;min-width:0;padding:.35rem .5rem;background-color:#252532;border-radius:var(--radius-sm,6px);font-size:.8125rem;overflow:hidden;text-overflow:ellipsis}.channel-options-password-row button{flex-shrink:0;padding:.35rem .6rem;font-size:.75rem;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm,6px);background-color:#252532;color:var(--text-primary,#eee);cursor:pointer}.channel-options-media-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.35rem;gap:.35rem}.channel-options-media-thumb{aspect-ratio:1;border-radius:var(--radius-sm,6px);overflow:hidden;background:rgba(0,0,0,.2)}.channel-options-media-thumb img{width:100%;height:100%;object-fit:cover}.channel-options-users{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.2rem}.channel-options-user{display:flex;align-items:center;gap:.4rem;padding:.28rem .38rem;background-color:#252532;border-radius:var(--radius-sm,6px);min-width:0}.channel-options-user__avatar{flex-shrink:0;width:36px;height:36px}.channel-options-user__main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.05rem;line-height:1.2}.channel-options-user__name{font-size:.78rem;font-weight:600;color:var(--text-primary,#eee);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-options-user__time{font-size:.65rem;color:var(--text-muted,#888);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.channel-options-emoji-current{font-size:2rem;text-align:center;padding:.25rem}.channel-options-emoji-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.35rem;gap:.35rem}.channel-options-emoji-grid button{font-size:1.35rem;padding:.35rem;border:1px solid transparent;border-radius:var(--radius-sm,6px);background-color:#252532;cursor:pointer}.channel-options-emoji-grid button.active{border-color:var(--accent,#6b8afd);background:rgba(107,138,253,.15)}.chat-header-menu-btn:focus-visible{outline:2px solid var(--accent,#6b8afd);outline-offset:2px}@media (max-width:640px){.channel-options-menu{width:calc(100vw - 24px);max-width:420px;border-radius:var(--radius-xl,16px);box-shadow:0 20px 56px rgba(0,0,0,.65),0 0 0 1px rgba(0,0,0,.4)}.channel-options-header{padding:1rem;font-size:1.05rem}.channel-options-header strong{font-size:1.05rem}.channel-options-close{width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem;border-radius:var(--radius-full,9999px);background-color:#252532}.channel-options-tabs button{padding:.85rem .35rem;font-size:.8rem;min-height:48px}.channel-options-body{max-height:min(52dvh,380px);padding:1rem}.channel-options-label{font-size:.8rem}.channel-options-muted{font-size:.9rem}.channel-options-password-row code{padding:.55rem .65rem;font-size:.9rem}.channel-options-password-row button{padding:.55rem .85rem;font-size:.85rem;min-height:44px}.channel-options-user{padding:.4rem .45rem}.channel-options-user__avatar{width:1.65rem;height:1.65rem;font-size:.7rem}.channel-options-user__name{font-size:.85rem}.channel-options-user__time{font-size:.72rem}.channel-options-emoji-current{font-size:2.5rem;padding:.5rem}.channel-options-emoji-grid{grid-template-columns:repeat(4,1fr);gap:.5rem}.channel-options-emoji-grid button{font-size:1.65rem;padding:.65rem;min-height:52px}.channel-options-media-grid{gap:.5rem}}:host,:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 7 Free";--fa-font-regular:normal 400 1em/1 "Font Awesome 7 Free";--fa-font-light:normal 300 1em/1 "Font Awesome 7 Pro";--fa-font-thin:normal 100 1em/1 "Font Awesome 7 Pro";--fa-font-duotone:normal 900 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-regular:normal 400 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-light:normal 300 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-thin:normal 100 1em/1 "Font Awesome 7 Duotone";--fa-font-brands:normal 400 1em/1 "Font Awesome 7 Brands";--fa-font-sharp-solid:normal 900 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-regular:normal 400 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-light:normal 300 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-thin:normal 100 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-duotone-solid:normal 900 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-regular:normal 400 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-light:normal 300 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-thin:normal 100 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-slab-regular:normal 400 1em/1 "Font Awesome 7 Slab";--fa-font-slab-press-regular:normal 400 1em/1 "Font Awesome 7 Slab Press";--fa-font-whiteboard-semibold:normal 600 1em/1 "Font Awesome 7 Whiteboard";--fa-font-thumbprint-light:normal 300 1em/1 "Font Awesome 7 Thumbprint";--fa-font-notdog-solid:normal 900 1em/1 "Font Awesome 7 Notdog";--fa-font-notdog-duo-solid:normal 900 1em/1 "Font Awesome 7 Notdog Duo";--fa-font-etch-solid:normal 900 1em/1 "Font Awesome 7 Etch";--fa-font-graphite-thin:normal 100 1em/1 "Font Awesome 7 Graphite";--fa-font-jelly-regular:normal 400 1em/1 "Font Awesome 7 Jelly";--fa-font-jelly-fill-regular:normal 400 1em/1 "Font Awesome 7 Jelly Fill";--fa-font-jelly-duo-regular:normal 400 1em/1 "Font Awesome 7 Jelly Duo";--fa-font-chisel-regular:normal 400 1em/1 "Font Awesome 7 Chisel";--fa-font-utility-semibold:normal 600 1em/1 "Font Awesome 7 Utility";--fa-font-utility-duo-semibold:normal 600 1em/1 "Font Awesome 7 Utility Duo";--fa-font-utility-fill-semibold:normal 600 1em/1 "Font Awesome 7 Utility Fill"}.svg-inline--fa{box-sizing:content-box;display:var(--fa-display,inline-block);height:1em;overflow:visible;vertical-align:-.125em;width:var(--fa-width,1.25em)}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.0714285714em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa .fa-pull-start,.svg-inline--fa.fa-pull-left{float:inline-start;-webkit-margin-end:var(--fa-pull-margin,.3em);margin-inline-end:var(--fa-pull-margin,.3em)}.svg-inline--fa .fa-pull-end,.svg-inline--fa.fa-pull-right{float:inline-end;-webkit-margin-start:var(--fa-pull-margin,.3em);margin-inline-start:var(--fa-pull-margin,.3em)}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);inset-inline-start:calc(-1 * var(--fa-li-width, 2em));inset-block-start:.25em}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:var(--fa-width,1.25em)}.fa-layers .svg-inline--fa{inset:0;margin:auto;position:absolute;transform-origin:center center}.fa-layers-text{left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);overflow:hidden;padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);transform:scale(var(--fa-counter-scale,.25));transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);top:auto;transform:scale(var(--fa-layers-scale,.25));transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);right:auto;top:auto;transform:scale(var(--fa-layers-scale,.25));transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:top right}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:top left}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:calc(10 / 16 * 1em);line-height:calc(1 / 10 * 1em);vertical-align:calc((6 / 10 - .375) * 1em)}.fa-xs{font-size:calc(12 / 16 * 1em);line-height:calc(1 / 12 * 1em);vertical-align:calc((6 / 12 - .375) * 1em)}.fa-sm{font-size:calc(14 / 16 * 1em);line-height:calc(1 / 14 * 1em);vertical-align:calc((6 / 14 - .375) * 1em)}.fa-lg{font-size:calc(20 / 16 * 1em);line-height:calc(1 / 20 * 1em);vertical-align:calc((6 / 20 - .375) * 1em)}.fa-xl{font-size:calc(24 / 16 * 1em);line-height:calc(1 / 24 * 1em);vertical-align:calc((6 / 24 - .375) * 1em)}.fa-2xl{font-size:calc(32 / 16 * 1em);line-height:calc(1 / 32 * 1em);vertical-align:calc((6 / 32 - .375) * 1em)}.fa-width-auto{--fa-width:auto}.fa-fw,.fa-width-fixed{--fa-width:1.25em}.fa-ul{list-style-type:none;-webkit-margin-start:var(--fa-li-margin,2.5em);margin-inline-start:var(--fa-li-margin,2.5em);-webkit-padding-start:0;padding-inline-start:0}.fa-ul>li{position:relative}.fa-li{inset-inline-start:calc(-1 * var(--fa-li-width, 2em));position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-color:var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);border-style:var(--fa-border-style,solid);border-width:var(--fa-border-width,.0625em);box-sizing:var(--fa-border-box-sizing,content-box);padding:var(--fa-border-padding,.1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;-webkit-margin-end:var(--fa-pull-margin,.3em);margin-inline-end:var(--fa-pull-margin,.3em)}.fa-pull-end,.fa-pull-right{float:inline-end;-webkit-margin-start:var(--fa-pull-margin,.3em);margin-inline-start:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation:none!important;transition:none!important}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}24%,8%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor)}.svg-inline--fa .fa-secondary,.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:black}.svg-inline--fa.fa-inverse{fill:var(--fa-inverse,#fff)}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-inverse{color:var(--fa-inverse,#fff)}.svg-inline--fa.fa-stack-1x{--fa-width:1.25em;height:1em;width:var(--fa-width)}.svg-inline--fa.fa-stack-2x{--fa-width:2.5em;height:2em;width:var(--fa-width)}.fa-stack-1x,.fa-stack-2x{inset:0;margin:auto;position:absolute;z-index:var(--fa-stack-z-index,auto)}.chat-window{display:flex;flex-direction:column;min-height:0;background:var(--bg-base);background-image:radial-gradient(ellipse 60% 40% at 50% 0,rgba(99,102,241,.1),transparent)}.chat-window--panel{flex:1 1 auto;min-height:0;height:auto}.chat-window--dock,.chat-window--panel{width:100%;min-width:0;overflow:hidden;background-image:none;background:var(--bg-base)}.chat-window--dock{height:420px}.chat-dock-toolbar-menu-btn{min-width:0;padding:.1rem .2rem}.chat-window--dock-headless .chat-dock-toolbar .chat-header__subtitle{display:block;font-size:.62rem;color:var(--text-muted)}.chat-window--dock-headless .chat-dock-toolbar .chat-header__lock{width:.85rem;height:.85rem}.chat-dock-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:.35rem .5rem;gap:.35rem .5rem;padding:.55rem .6rem;background:var(--bg-elevated);border-bottom:1px solid var(--border);flex-shrink:0;min-width:0}.chat-dock-toolbar__title{font-size:.92rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.chat-dock-toolbar__actions{display:flex;align-items:center;gap:.2rem;flex-shrink:0}.chat-window--dock-headless .chat-dock-toolbar .chat-header__icon-btn{width:1.65rem;height:1.65rem;font-size:.95rem}.chat-window--dock-headless .chat-dock-toolbar .chat-header__icon-btn svg{width:15px;height:15px}.chat-window--dock-headless .chat-dock-toolbar .chat-share__btn{padding:.35rem;min-width:1.65rem;justify-content:center}.chat-window--dock-headless .chat-dock-toolbar .chat-share__label{display:none}.chat-window--fullscreen{flex:1 1 auto;min-height:0;height:auto}.chat-window .chat-dock-toolbar,.chat-window .chat-header,.chat-window__notice{flex-shrink:0}.chat-window .message-input-form{flex-shrink:0;margin-top:auto}.chat-window--panel:not(.chat-window--fullscreen) .chat-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:.55rem .85rem;grid-gap:.35rem .5rem;gap:.35rem .5rem}.chat-window--panel .chat-header-menu-btn{gap:.45rem;padding:.1rem .25rem .1rem 0}.chat-window--panel .chat-header__status{width:8px;height:8px}.chat-window--panel:not(.chat-window--fullscreen) .chat-header-menu-btn .chat-header__title-text{font-size:.95rem}.chat-window--panel:not(.chat-window--fullscreen) .chat-header__meta{font-size:.65rem}.chat-window--panel .chat-header__actions{gap:.25rem}.chat-window--panel .chat-header__icon-btn{width:1.75rem;height:1.75rem;font-size:.95rem}.chat-window--panel .chat-header__icon-btn svg{width:14px;height:14px}.chat-window--panel:not(.chat-window--fullscreen) .chat-share__label{display:none}.chat-window--panel:not(.chat-window--fullscreen) .chat-share__btn{padding:.35rem;min-width:1.65rem;justify-content:center}.chat-window--panel:not(.chat-window--fullscreen) .chat-share__btn svg{width:14px;height:14px}.chat-window--panel:not(.chat-window--fullscreen) .chat-window__notice{font-size:.65rem;padding:.35rem .65rem}.chat-window--dock .chat-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:.55rem .6rem;grid-gap:.35rem .5rem;gap:.35rem .5rem}.chat-window--dock .chat-header-menu-btn{gap:.45rem}.chat-window--dock .chat-header__status{width:8px;height:8px}.chat-window--dock .chat-header-menu-btn .chat-header__title-text{font-size:.92rem}.chat-window--dock .chat-header__meta{font-size:.65rem}.chat-window--dock .chat-header__actions{gap:.2rem}.chat-window--dock .chat-header__icon-btn{width:1.65rem;height:1.65rem;font-size:.95rem}.chat-window--dock .chat-header__icon-btn svg{width:15px;height:15px}.chat-window--dock .chat-share{gap:.2rem}.chat-window--dock .chat-share__btn{padding:.35rem;min-width:1.65rem;justify-content:center}.chat-window--dock .chat-share__label{display:none}.chat-window--dock .chat-share__btn svg{width:14px;height:14px}.chat-window--dock .chat-window__notice{font-size:.62rem;padding:.35rem .5rem;line-height:1.35}.chat-window--dock .chat-messages{padding:.55rem .5rem}.chat-window--dock .message{max-width:88%}.chat-window--dock .message__image{max-height:160px}.chat-window--dock .message__bubble:has(.message__image){max-width:100%}.chat-window__notice{flex-shrink:0;padding:.4rem .75rem;font-size:.68rem;text-align:center;color:var(--text-muted);background:rgba(245,158,11,.08);border-bottom:1px solid rgba(245,158,11,.15)}.chat-header__icon-btn,.chat-header__nick{color:var(--text-secondary)}.chat-header__icon-btn{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-full);background:rgba(255,255,255,.06);font-size:1.1rem;line-height:1;cursor:pointer;transition:background var(--transition),color var(--transition);flex-shrink:0;padding:0}.chat-header__icon-btn svg{display:block;width:18px;height:18px}.chat-header__icon-btn:hover{background:rgba(255,255,255,.1);color:var(--text-primary)}.chat-header__icon-btn--close:hover{background:rgba(239,68,68,.15);color:#fca5a5}.chat-header__icon-btn--active{background:rgba(34,197,94,.18);color:#86efac}.chat-header{justify-content:space-between;gap:.75rem;padding:1rem 1.5rem;background:var(--bg-elevated);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);flex-shrink:0}.chat-header,.chat-header-menu-btn{display:flex;align-items:center;min-width:0}.chat-header-menu-btn{gap:.55rem;flex:1 1 auto;max-width:100%;margin:0;padding:.15rem .35rem .15rem 0;border:none;border-radius:var(--radius-md);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.chat-header-menu-btn:hover{background:rgba(255,255,255,.05)}.chat-header-menu-btn[aria-expanded=true]{background:rgba(99,102,241,.12)}.chat-header__info-body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;flex:1 1 auto;gap:.04rem}.chat-header__status{width:10px;height:10px;border-radius:50%;background:var(--success);box-shadow:0 0 8px rgba(34,197,94,.6);flex-shrink:0;animation:pulse 2s ease infinite}.chat-header__title-row{display:inline-flex;align-items:center;gap:.35rem;width:100%;max-width:100%;min-width:0;line-height:1.25}.chat-header__title-row .chat-header__title-text{flex:1 1 auto;min-width:3rem}.chat-header__lock--lead{align-self:center;flex-shrink:0}.chat-header__subtitle{margin:.08rem 0 0;padding:0;font-size:.62rem;font-weight:600;line-height:1.2;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em}.chat-window--panel.chat-window--fullscreen .chat-header__subtitle{font-size:.6rem;color:var(--success)}.chat-dock-toolbar__title .chat-header__title-text,.chat-header__title-text{font-size:inherit;font-weight:inherit;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.chat-header__lock{width:.95rem;height:.95rem;flex-shrink:0;color:var(--text-muted)}.chat-header__lock--open{color:var(--success)}.chat-header__menu-chevron{width:.85rem;height:.85rem;flex-shrink:0;color:var(--text-muted);transition:transform var(--transition),color var(--transition)}.chat-header__menu-chevron--trail{align-self:center;flex-shrink:0}.chat-header-menu-btn[aria-expanded=true] .chat-header__menu-chevron{transform:rotate(180deg);color:var(--accent-hover)}.chat-header-menu-btn:hover .chat-header__menu-chevron{color:var(--text-secondary)}.chat-header-menu-btn .chat-header__title-text{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.chat-header__meta{display:block;font-size:.75rem;color:var(--text-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.chat-header__actions{display:flex;align-items:center;gap:.35rem;flex:0 0 auto;flex-shrink:0}.btn--leave{padding:.5rem 1rem;background:rgba(239,68,68,.12);color:#fca5a5;border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-md);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition);flex-shrink:0}.btn--leave:hover{background:rgba(239,68,68,.22);border-color:rgba(239,68,68,.4)}.chat-messages{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:.75rem;min-height:0;min-width:0}.chat-messages__list{display:flex;flex-direction:column;gap:.35rem;min-height:100%}.chat-window__messages-wrap{position:relative;flex:1 1;min-height:0;min-width:0;display:flex;flex-direction:column}.chat-jump-latest{position:absolute;left:50%;bottom:.65rem;z-index:3;display:inline-flex;align-items:center;gap:.35rem;max-width:calc(100% - 1.5rem);padding:.45rem .85rem;border:1px solid rgba(99,102,241,.35);border-radius:var(--radius-full,999px);background:rgba(15,17,26,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--text-primary);font-size:.78rem;font-weight:600;line-height:1.2;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.35);transform:translateX(-50%);transition:background var(--transition),border-color var(--transition),transform var(--transition)}.chat-jump-latest svg{width:1rem;height:1rem;flex-shrink:0}.chat-jump-latest__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-jump-latest:hover{background:rgba(25,28,40,.96);border-color:rgba(99,102,241,.55)}.chat-jump-latest:active{transform:translateX(-50%) scale(.98)}.chat-messages__empty{margin:auto;color:var(--text-muted);font-size:.9rem;text-align:center}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.chat-window--panel.chat-window--fullscreen .chat-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:.35rem .5rem;gap:.35rem .5rem;padding:.55rem max(.85rem,var(--safe-right)) .5rem max(.85rem,var(--safe-left))}.chat-window--panel.chat-window--fullscreen .chat-header-menu-btn{gap:.4rem;align-items:center;align-self:stretch;min-height:2.35rem;padding:.12rem .3rem .12rem 0}.chat-window--panel.chat-window--fullscreen .chat-header__lock--lead{align-self:center}.chat-window--panel.chat-window--fullscreen .chat-header__status{width:8px;height:8px;box-shadow:0 0 6px rgba(34,197,94,.45)}.chat-window--panel.chat-window--fullscreen .chat-header-menu-btn .chat-header__title-text{font-size:.92rem;font-weight:600}.chat-window--panel.chat-window--fullscreen .chat-header__lock{width:.85rem;height:.85rem}.chat-window--panel.chat-window--fullscreen .chat-header__meta{font-size:.68rem;margin-top:.12rem;line-height:1.3}.chat-window--panel.chat-window--fullscreen .chat-header__nick{font-size:.68rem;font-weight:500;color:var(--text-muted)}.chat-window--panel.chat-window--fullscreen .chat-header__menu-chevron{width:.8rem;height:.8rem}.chat-window--panel.chat-window--fullscreen .chat-header__menu-chevron--trail{align-self:center}.chat-window--panel.chat-window--fullscreen .chat-header__actions{gap:.25rem}.chat-window--panel.chat-window--fullscreen .chat-header__icon-btn{width:1.75rem;height:1.75rem;font-size:.95rem}.chat-window--panel.chat-window--fullscreen .chat-header__icon-btn svg{width:14px;height:14px}.chat-window--panel.chat-window--fullscreen .chat-share__label{display:inline;font-size:.68rem;font-weight:600;letter-spacing:.02em}.chat-window--panel.chat-window--fullscreen .chat-share__btn{padding:.32rem .5rem;min-width:auto;gap:.28rem}.chat-window--panel.chat-window--fullscreen .chat-share__btn svg{width:14px;height:14px}.chat-window--panel.chat-window--fullscreen .chat-window__notice{font-size:.65rem;padding:.35rem .65rem}.fb-layout--fullscreen:not(.fb-layout--fullscreen-tabs) .chat-window--panel.chat-window--fullscreen .chat-header{padding-top:max(.55rem,var(--safe-top))}.chat-window--panel.chat-window--fullscreen .message-input-row{padding-bottom:max(.5rem,var(--safe-bottom));padding-left:max(.75rem,var(--safe-left));padding-right:max(.75rem,var(--safe-right))}@media (max-width:600px){.chat-header{padding:max(.875rem,var(--safe-top)) max(1rem,var(--safe-right)) .875rem max(1rem,var(--safe-left))}.chat-window--panel.chat-window--fullscreen .chat-header{padding:max(.5rem,var(--safe-top)) max(.75rem,var(--safe-right)) .45rem max(.75rem,var(--safe-left))}.chat-messages{padding:1rem max(1rem,var(--safe-right)) 1rem max(1rem,var(--safe-left))}.btn--leave{padding:.45rem .75rem;font-size:.8rem}.message-input-row{padding-bottom:max(.45rem,var(--safe-bottom));padding-left:max(.6rem,var(--safe-left));padding-right:max(.6rem,var(--safe-right))}}.chat-pip{display:flex;flex-direction:column;flex:1 1 auto;height:100%;min-height:0;max-height:100%;overflow:hidden;background:var(--bg-base,#0f0f14)}.chat-pip__tabs{display:flex;gap:.25rem;padding:.35rem .45rem 0;overflow-x:auto;flex-shrink:0;border-bottom:1px solid var(--border,rgba(255,255,255,.08));background:var(--bg-elevated,rgba(22,22,30,.85))}.chat-pip__tab{display:inline-flex;align-items:center;gap:.25rem;max-width:140px;padding:.35rem .5rem;border:none;border-radius:var(--radius-md,8px) var(--radius-md,8px) 0 0;background:transparent;color:var(--text-muted,#94a3b8);font-size:.75rem;cursor:pointer;flex-shrink:0}.chat-pip__tab--active{background:rgba(255,255,255,.06);color:var(--text-primary,#f1f5f9)}.chat-pip__tab-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-pip__tab-close{font-size:.95rem;line-height:1;opacity:.65;padding:0 .1rem}.chat-pip__tab-close:hover{opacity:1;color:#fca5a5}.chat-pip__header{justify-content:space-between;padding:.55rem .65rem;border-bottom:1px solid var(--border,rgba(255,255,255,.08));background:var(--bg-elevated,rgba(22,22,30,.85));flex-shrink:0}.chat-pip__header,.chat-pip__title-wrap{display:flex;align-items:center;gap:.5rem}.chat-pip__title-wrap{min-width:0}.chat-pip__status{width:8px;height:8px;border-radius:50%;background:var(--success,#22c55e);flex-shrink:0}.chat-pip__title{font-size:.92rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-pip__meta{font-size:.65rem;color:var(--text-muted,#64748b)}.chat-pip__close{width:1.75rem;height:1.75rem;border:none;border-radius:999px;background:rgba(255,255,255,.06);color:var(--text-secondary,#94a3b8);font-size:1.1rem;line-height:1;cursor:pointer;flex-shrink:0}.chat-pip__close:hover{background:rgba(239,68,68,.15);color:#fca5a5}.chat-pip__messages-wrap{position:relative;flex:1 1;min-height:0;min-width:0;display:flex;flex-direction:column}.chat-pip__messages{flex:1 1;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding:.65rem}.chat-pip__messages-list{display:flex;flex-direction:column;gap:.35rem;min-height:100%}.chat-jump-latest--pip{bottom:.5rem;padding:.4rem}.chat-jump-latest--pip .chat-jump-latest__label{display:none}.chat-pip__empty{margin:auto;color:var(--text-muted,#64748b);font-size:.85rem}.chat-pip .message-input-form{flex-shrink:0;margin-top:auto;width:100%;z-index:2}.chat-pip .message-input-field{max-height:88px}@media (max-width:720px){html.html--mobile-chat{overflow:hidden;width:100%;height:100%;height:100dvh;text-size-adjust:100%}html.html--mobile-chat body.body--mobile-chat{position:fixed;top:var(--mobile-vv-offset-top,0);right:var(--safe-right);bottom:auto;left:var(--safe-left);width:auto;height:var(--mobile-vv-height,100dvh);max-height:var(--mobile-vv-height,100dvh);overflow:hidden;overscroll-behavior:none}html.html--mobile-chat .app--messenger-full{height:100%;max-height:100%;overflow:hidden;max-width:100vw}html.html--mobile-chat .fb-layout--fullscreen{position:relative;display:flex;flex-direction:column;width:100%;height:100%;max-height:100%;overflow:hidden}html.html--mobile-chat .fb-layout--fullscreen-tabs .fb-room-bar{max-width:100vw}html.html--mobile-chat .fb-fullscreen-stage{flex:1 1 auto;min-height:0;width:100%;max-width:100vw;display:flex;flex-direction:column;overflow:hidden}html.html--mobile-chat .fb-fullscreen-stage>.chat-window{flex:1 1 auto;width:100%;max-width:100vw;min-height:0;height:auto;overflow:hidden}html.html--mobile-chat .fb-layout--fullscreen>.fb-room-bar{padding-top:max(.5rem,var(--safe-top))}html.html--mobile-chat .fb-layout--fullscreen-tabs .chat-window--panel.chat-window--fullscreen .chat-header,html.pwa-standalone.html--mobile-chat .fb-layout--fullscreen>.fb-room-bar{padding-top:.5rem}html.html--mobile-chat .chat-window--panel .chat-header,html.html--mobile-chat .chat-window--panel.chat-window--fullscreen .chat-header,html.html--mobile-chat .message-input-form,html.html--mobile-chat .message-input-row{max-width:100vw}}.app{display:flex;flex-direction:column;min-height:100vh;max-width:960px;margin:0 auto;padding:2rem 1.25rem 1.5rem}.app--messenger,.app--messenger-full{max-width:none;padding:0;flex:1 1 auto;width:100%;display:flex;flex-direction:column}.app--messenger-full:has(>.fb-layout--fullscreen){height:100dvh;min-height:100dvh;overflow:hidden}.app--messenger-full:has(>.fb-layout--fullscreen)>.fb-layout{flex:1 1 auto;width:100%;min-height:0}.app--messenger-full>.welcome{flex:1 1 auto;width:100%;min-height:0}.messenger-global-error{position:fixed;left:50%;bottom:max(5rem,calc(5rem + var(--safe-bottom)));transform:translateX(-50%);z-index:900;max-width:min(90vw,420px);margin:0}.app--chat{max-width:none;padding:0;height:100vh}.app-header{justify-content:space-between;margin-bottom:2rem;animation:fadeInDown .5s ease}.app-header,.app-header__brand{display:flex;align-items:center;gap:1rem}.app-header__brand{min-width:0}.app-header__brand h1{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,var(--text-primary) 0,var(--text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-logo{display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent),var(--accent-secondary));color:white;box-shadow:var(--shadow-glow)}.app-logo svg{width:58%;height:58%}.welcome,.welcome__body{flex:1 1 auto;display:flex;flex-direction:column;width:100%;min-height:0}.welcome__body{justify-content:center;align-items:center;padding:max(1rem,var(--safe-top)) max(.75rem,var(--safe-right)) max(1rem,var(--safe-bottom)) max(.75rem,var(--safe-left))}.welcome-card{width:min(100%,28rem);margin:0 auto;padding:clamp(1.25rem,4.5vw,2.5rem) clamp(1rem,4vw,2rem);text-align:center;background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);animation:fadeInUp .5s ease;flex-shrink:0}.welcome-card__logo{margin:0 auto 1.25rem}.welcome-card__title{font-size:clamp(1.35rem,5vw,1.75rem);font-weight:700;letter-spacing:-.02em;margin-bottom:.35rem;background:linear-gradient(135deg,var(--text-primary) 0,var(--text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-card__tagline{font-size:clamp(.8rem,2.5vw,.85rem);color:var(--text-muted);margin-bottom:clamp(.85rem,3vw,1.25rem)}.welcome-card__text{color:var(--text-secondary);font-size:clamp(.88rem,2.8vw,.95rem);line-height:1.65;margin-bottom:clamp(1rem,4vw,1.5rem)}.welcome-card .username-form--entry{max-width:none;width:100%}.welcome-card .username-form--entry .btn{width:100%}.welcome-card .username-form__actions{flex-direction:column}.welcome-card .username-form__actions .btn--primary{flex:none;width:100%}.welcome-card__placeholder{opacity:.5;pointer-events:none}.app-tagline{margin-top:.15rem;font-size:.9rem;color:var(--text-secondary)}.app-main{flex:1 1;display:flex;flex-direction:column;gap:1.25rem;animation:fadeInUp .5s ease .1s both}.app-main--messenger{gap:.85rem;min-height:0;flex:1 1}.messenger-toolbar{display:flex;justify-content:flex-end}.messenger-toolbar__btn{width:100%;padding:.85rem 1rem;border-radius:var(--radius-md);font-weight:600}.messenger-error{margin-top:0}.app-header--messenger{margin-bottom:1rem}.home-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.25rem;gap:1.25rem}.card{background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-md);transition:border-color var(--transition),box-shadow var(--transition)}.card:hover{border-color:rgba(255,255,255,.12)}.app-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border);text-align:center}.app-footer p{font-size:.8rem;color:var(--text-muted)}.app-main form:not(.username-form--compact),.username-form--entry,.welcome-card form:not(.username-form--compact){display:flex;flex-direction:column;gap:.75rem}.app-main .room-pass-input,.app-main input[type=password],.app-main input[type=text],.room-join-form .room-pass-input,.room-join-form input[type=text],.username-form--entry input[type=text],.welcome-card input[type=text]{width:100%;padding:.75rem 1rem;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.95rem;color:var(--text-primary);transition:border-color var(--transition),box-shadow var(--transition)}.app-main .room-pass-input::placeholder,.app-main input[type=password]::placeholder,.app-main input[type=text]::placeholder,.room-join-form .room-pass-input::placeholder,.room-join-form input[type=text]::placeholder,.username-form--entry input[type=text]::placeholder,.welcome-card input[type=text]::placeholder{color:var(--text-muted)}.app-main .room-pass-input:focus,.app-main input[type=password]:focus,.app-main input[type=text]:focus,.room-join-form .room-pass-input:focus,.room-join-form input[type=text]:focus,.username-form--entry input[type=text]:focus,.welcome-card input[type=text]:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.75rem 1.25rem;border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;cursor:pointer;transition:background var(--transition),transform var(--transition),box-shadow var(--transition)}.btn:active{transform:scale(.98)}.btn--primary{background:linear-gradient(135deg,var(--accent),var(--accent-secondary));color:white;box-shadow:0 4px 16px var(--accent-glow)}.btn--primary:hover{box-shadow:0 6px 24px var(--accent-glow);filter:brightness(1.08)}.btn--ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border);padding:.5rem 1rem;font-size:.85rem}.btn--ghost:hover{background:rgba(255,255,255,.05);color:var(--text-primary);border-color:rgba(255,255,255,.15)}.error-message{color:#fca5a5;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-sm);padding:.75rem 1rem;margin-top:.75rem;font-size:.875rem;text-align:center}.section-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.section-title__badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .4rem;background:var(--accent-glow);color:var(--accent-hover);border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.empty-state{color:var(--text-muted);font-size:.9rem;text-align:center;padding:1.5rem 1rem;border:1px dashed var(--border);border-radius:var(--radius-md)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (max-width:720px){.app:not(.app--messenger-full):not(.app--messenger){padding:1.25rem 1rem 1rem}.app--messenger,.app--messenger-full{padding:0}.app-header{flex-wrap:wrap}.app-header__brand h1{font-size:1.4rem}.home-grid{grid-template-columns:1fr}.card{padding:1.25rem}}.in-app-browser-gate{position:fixed;z-index:20000;left:max(.65rem,var(--safe-left));right:max(.65rem,var(--safe-right));bottom:max(.65rem,var(--safe-bottom));pointer-events:none}.in-app-browser-gate__card{pointer-events:auto;width:min(100%,20rem);margin:0 auto;padding:.75rem .85rem;border-radius:var(--radius-lg,12px);border:1px solid rgba(255,255,255,.14);background:rgba(28,28,40,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 28px rgba(0,0,0,.45),0 0 0 1px rgba(0,0,0,.2)}.in-app-browser-gate__text{margin:0 0 .65rem;font-size:.78rem;line-height:1.45;color:var(--text-secondary,#bbb);text-align:center}.in-app-browser-gate__actions{display:flex;flex-direction:column;gap:.4rem}.in-app-browser-gate__continue{width:100%;padding:.65rem .85rem;font-size:.88rem;font-weight:600}.in-app-browser-gate__copy{width:100%;padding:.45rem .65rem;font-size:.75rem}