:root{--ink:#111b21;--muted:#667781;--muted-strong:#3b4a54;--line:#d9dfdf;--panel:#fff;--shell:#f5efe5;--rail:#f2f3f0;--soft:#f0f2f5;--soft-strong:#e7e7e3;--accent:#128c7e;--accent-dark:#075e54;--bubble:#fff;--bubble-mine:#d9fdd3;--danger:#b44735;--shadow:0 20px 54px #111b2133;--glass:#ffffff9e;--glass-strong:#ffffffd1;--spring:cubic-bezier(.22, 1, .36, 1)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#edf4f2;--muted:#9baaa5;--muted-strong:#c5d2ce;--line:#263632;--panel:#111917;--shell:#080d0c;--rail:#151f1c;--soft:#18231f;--soft-strong:#24332f;--accent:#3ad0aa;--accent-dark:#78e0c4;--bubble:#17211e;--bubble-mine:#0e4b42;--danger:#ff8a78;--shadow:0 22px 58px #00000070;--glass:#18231f9e;--glass-strong:#1e2b27d6}*{box-sizing:border-box}html,body{overscroll-behavior:none;touch-action:pan-x pan-y;width:100%;height:100%;min-height:100%;margin:0;overflow:hidden}body{color:var(--ink);background:var(--shell);-webkit-text-size-adjust:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:fixed;inset:0}button,input{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0}button:disabled{cursor:not-allowed;opacity:.42}input{width:100%;min-width:0;min-height:42px;color:var(--ink);background:var(--soft);border:1px solid #0000;border-radius:4px;outline:none;padding:0 12px;font-size:15px}input:focus{background:#fff;border-color:#128c7e80;box-shadow:0 0 0 2px #128c7e1c}.chat-shell{height:100dvh;min-height:100dvh;padding:max(28px, env(safe-area-inset-top)) max(28px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(28px, env(safe-area-inset-left));background:linear-gradient(180deg, #ffffff6b, transparent 48%), var(--shell);display:grid;overflow:hidden}.app-shell{padding:0}.auth-shell{-webkit-overflow-scrolling:touch;place-items:center;overflow-y:auto}.auth-panel{border:1px solid var(--line);width:min(430px,100%);box-shadow:var(--shadow);background:#ffffffeb;border-radius:8px;padding:32px}.auth-mark{color:#fff;background:var(--accent);border-radius:999px;place-items:center;width:60px;height:60px;margin-bottom:22px;display:grid}.brand-kicker{color:var(--accent-dark);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800}.auth-panel h1{letter-spacing:0;margin:0;font-size:clamp(32px,8vw,46px);line-height:1.04}.auth-copy{color:var(--muted);margin:12px 0 24px;font-size:15px;line-height:1.55}.auth-form{gap:13px;display:grid}.auth-form label{gap:7px;display:grid}.auth-form span{color:var(--muted-strong);font-size:13px;font-weight:700}.primary-button{color:#fff;background:var(--accent);border-radius:4px;min-height:44px;font-size:15px;font-weight:800}.primary-button:hover,.primary-button:focus-visible{background:var(--accent-dark);outline:none}.text-button{width:100%;min-height:42px;color:var(--accent-dark);margin-top:14px;font-size:14px;font-weight:800}.app-frame{background:var(--panel);width:min(1186px,100%);height:min(748px,100dvh - 56px);min-height:620px;box-shadow:var(--shadow);border:1px solid #111b2124;border-radius:8px;grid-template-columns:52px 366px minmax(0,1fr);margin:auto;display:grid;position:relative;overflow:hidden}.app-shell .app-frame{width:100%;height:100dvh;min-height:100dvh;box-shadow:none;border:0;border-radius:0;margin:0}.side-rail{border-right:1px solid var(--line);background:var(--rail);grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;padding:10px 6px;display:grid}.rail-brand,.rail-button,.rail-avatar,.icon-button,.send-button{place-items:center;display:grid}.rail-brand{width:40px;height:40px;color:var(--accent);margin:0 auto 14px}.rail-actions,.rail-bottom{align-content:start;gap:8px;display:grid}.rail-bottom{align-content:end}.rail-button{width:40px;height:40px;color:var(--muted-strong);border-radius:4px;position:relative}.rail-button:hover,.rail-button:focus-visible,.rail-button.active{background:#e9ece8;outline:none}.rail-button.active{color:var(--accent-dark)}.rail-button.active:before{background:var(--accent);content:"";border-radius:0 3px 3px 0;width:3px;height:22px;position:absolute;left:-6px}.rail-badge{color:#fff;text-align:center;background:#24a875;border-radius:999px;min-width:17px;height:17px;padding:0 4px;font-size:11px;font-weight:800;line-height:17px;position:absolute;top:3px;right:3px}.rail-avatar{color:#fff;background:var(--accent-dark);border:2px solid #fff;border-radius:999px;width:34px;height:34px;margin:6px auto 0;font-size:12px;font-weight:850;box-shadow:0 1px 4px #111b2138}.sidebar{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;min-width:0;min-height:0;display:flex}.sidebar-topbar,.conversation-header{background:var(--panel);align-items:center;gap:12px;min-width:0;min-height:64px;padding:10px 20px;display:flex}.sidebar-topbar{padding-bottom:8px}.sidebar-title{flex:1;min-width:0}.sidebar-title h1,.conversation-title h2{color:var(--ink);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:20px;font-weight:760;line-height:1.2;overflow:hidden}.conversation-title h2{font-size:16px}.sidebar-title span,.conversation-title span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:13px;line-height:1.35;overflow:hidden}.sidebar-title span{display:block}.conversation-title span{grid-template-columns:auto minmax(0,1fr);display:grid}.conversation-title span b{min-width:0;font:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.avatar{color:#fff;background:var(--accent-dark);border-radius:999px;flex:none;place-items:center;width:44px;height:44px;font-size:13px;font-weight:850;display:grid}.user-avatar{background:linear-gradient(135deg,#0b6f65,#24a875);width:38px;height:38px}.room-avatar,.dm-avatar,.chat-avatar{background:#6a8791}.muted-avatar{background:#8f9a9f}.active-avatar{background:linear-gradient(135deg,#0b6f65,#24a875);width:44px;height:44px}.profile-avatar{background:linear-gradient(135deg,#0b6f65,#24a875);width:58px;height:58px;font-size:17px}.icon-button{width:38px;height:38px;color:var(--muted-strong);border-radius:4px;flex:none}.icon-button:hover,.icon-button:focus-visible,.icon-button.active{background:#111b2112;outline:none}.search-box{color:var(--muted);background:var(--soft);border-bottom:2px solid #0000;border-radius:4px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;margin:10px 20px 8px;padding:0 10px;display:grid}.search-box:focus-within{border-bottom-color:var(--accent);background:#fff}.search-box input{min-height:38px;box-shadow:none;background:0 0;border:0;padding:0}.create-popover{-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);animation:popover-in .22s var(--spring);background:linear-gradient(145deg,#ffffffd6,#ffffff7a),#f8fcfb9e;border:1px solid #ffffffc2;border-radius:8px;gap:10px;margin:0 20px 10px;padding:10px;display:grid;box-shadow:inset 0 1px #ffffffe0,inset 0 -14px 28px #ffffff42,0 14px 32px #111b211f}.create-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.create-tabs button{min-height:34px;color:var(--muted-strong);border-radius:4px;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:800;display:inline-flex}.create-tabs button.active{color:var(--accent-dark);background:#ffffffb8;box-shadow:inset 0 1px #ffffffdb}.quick-form{min-height:38px;color:var(--muted);background:#f7f8f7;border-radius:4px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 5px 0 10px;display:grid}.quick-form input{min-height:36px;box-shadow:none;background:0 0;border:0;padding:0;font-size:14px}.quick-form .icon-button{width:32px;height:32px;color:var(--accent-dark)}.create-room-form{gap:10px;display:grid}.switch-row{color:var(--muted-strong);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;font-size:13px;font-weight:800;display:grid}.switch-row input,.check-row input{width:18px;min-height:18px;accent-color:var(--accent)}.friend-check-list{overscroll-behavior:contain;background:#ffffff7a;border:1px solid #111b2114;border-radius:8px;gap:2px;max-height:188px;padding:4px;display:grid;overflow-y:auto}.friend-check-list.compact{background:var(--soft);max-height:170px}.friend-check-list p{color:var(--muted);margin:0;padding:8px;font-size:12px}.check-row{min-height:42px;color:var(--muted);border-radius:6px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:9px;padding:5px 7px;display:grid}.check-row:hover{background:#111b210f}.check-row span:last-child{gap:1px;min-width:0;display:grid}.check-row strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.check-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.mini-avatar{background:#6a8791;width:30px;height:30px;font-size:11px}.sidebar-notice{color:#795800;background:#fff7d6;border-bottom:1px solid #eadfb9;margin:0;padding:9px 20px;font-size:13px;font-weight:700;line-height:1.35}.chat-list{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:4px 0 10px;overflow-y:auto}.list-section-title{color:var(--accent-dark);letter-spacing:.06em;text-transform:uppercase;padding:14px 20px 6px;font-size:11px;font-weight:850}.chat-item{text-align:left;width:calc(100% - 20px);min-height:68px;transition:background-color .18s ease, transform .22s var(--spring);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px;margin:1px 10px;padding:7px 10px;display:grid}.chat-item:hover,.chat-item.active{background:var(--soft-strong)}.chat-item:focus-visible{outline-offset:-2px;outline:2px solid #128c7e70}.request-item,.friend-item{cursor:default}.request-item:hover{background:0 0}.friend-item{grid-template-columns:auto minmax(0,1fr) auto}.friend-item.tappable{cursor:pointer}.friend-item.tappable:hover{background:var(--soft-strong)}.friend-item.tappable:active{transform:scale(.992)}.chat-item-copy{border-bottom:1px solid #edf0f0;gap:4px;min-width:0;padding:2px 0 10px;display:grid}.chat-item-title{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.chat-item-title strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:760;overflow:hidden}.chat-item-title small,.chat-item-subtitle,.empty-list{color:var(--muted);font-size:12px;line-height:1.35}.chat-item-title small{color:var(--accent);font-weight:650}.chat-item-title small:empty{display:none}.chat-item-subtitle{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-preview-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.unread-badge{color:#fff;text-align:center;background:#24a875;border-radius:999px;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:850;line-height:20px}.empty-list{margin:0;padding:8px 20px 12px}.request-actions{flex-wrap:wrap;align-items:center;gap:7px;min-width:0;display:flex}.mini-action{min-height:28px;color:var(--muted-strong);background:var(--soft);border-radius:4px;align-items:center;gap:5px;padding:0 9px;font-size:12px;font-weight:760;display:inline-flex}.mini-action:hover,.mini-action:focus-visible{background:var(--soft-strong);outline:none}.mini-action.accept{color:#fff;background:var(--accent)}.mini-action.accept:hover,.mini-action.accept:focus-visible{background:var(--accent-dark)}.pending-label{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.mini-action.danger{color:var(--danger);background:#b4473517}.mini-action.danger:hover,.mini-action.danger:focus-visible{background:#b4473529}.row-menu-wrap{align-self:stretch;place-items:center;display:grid;position:relative}.row-menu-button{width:34px;height:34px}.row-menu{z-index:12;-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);min-width:132px;animation:popover-in .18s var(--spring);background:linear-gradient(145deg,#ffffffe6,#ffffff8f),#f8fcfbad;border:1px solid #ffffffc2;border-radius:8px;padding:6px;display:grid;position:absolute;top:42px;right:0;box-shadow:inset 0 1px #ffffffe6,0 14px 32px #111b2129}.row-menu button{min-height:34px;color:var(--muted-strong);text-align:left;border-radius:4px;align-items:center;gap:8px;padding:0 9px;font-size:13px;font-weight:780;display:inline-flex}.row-menu button:hover,.row-menu button:focus-visible{background:#111b2112;outline:none}.profile-list{align-content:start;gap:12px;padding:12px 20px 18px;display:grid}.profile-panel{border:1px solid var(--line);background:#fff;border-radius:8px;gap:14px;padding:16px;display:grid}.profile-field{gap:7px;display:grid}.profile-field span,.profile-panel-header span{color:var(--muted);font-size:13px}.profile-panel-header{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;display:grid}.profile-panel-header svg{color:var(--accent-dark)}.profile-panel-header div{gap:2px;min-width:0;display:grid}.profile-panel-header strong{color:var(--ink);font-size:15px}.secondary-button,.profile-danger{border-radius:4px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-size:14px;font-weight:800;display:inline-flex}.secondary-button{color:var(--accent-dark);background:#128c7e1a}.secondary-button:hover,.secondary-button:focus-visible{background:#128c7e29;outline:none}.theme-toggle{background:var(--soft);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:4px;display:grid}.theme-toggle button{min-height:36px;color:var(--muted-strong);border-radius:6px;justify-content:center;align-items:center;gap:7px;font-size:13px;font-weight:820;display:inline-flex}.theme-toggle button.active{color:var(--accent-dark);background:var(--panel);box-shadow:0 1px 3px #111b211f}.profile-danger{width:100%;color:var(--danger);background:#b4473517}.profile-danger:hover,.profile-danger:focus-visible{background:#b4473529;outline:none}.mobile-bottom-menu{display:none}@keyframes popover-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.conversation{background:radial-gradient(circle at 11px 11px,#111b210e 1px,#0000 1.5px) 0 0/34px 34px,linear-gradient(135deg,#0000 0 47%,#111b2108 47% 49%,#0000 49%) 0 0/70px 70px,#efeae2;grid-template-rows:auto auto minmax(0,1fr) auto auto auto;min-width:0;min-height:0;display:grid;position:relative}.conversation-header{border-bottom:1px solid var(--line);background:var(--soft);grid-row:1}.conversation-title{flex:1;min-width:0}.header-actions{flex:none;align-items:center;gap:6px;min-width:0;padding-left:12px;display:flex}.header-actions .icon-button:nth-child(3){margin-left:6px}.room-member-panel{z-index:34;overscroll-behavior:contain;-webkit-backdrop-filter:blur(26px)saturate(185%);backdrop-filter:blur(26px)saturate(185%);width:min(360px,100% - 32px);max-height:calc(100dvh - 150px);animation:popover-in .22s var(--spring);background:linear-gradient(145deg,#ffffffe6,#ffffff8f),#f8fcfbb8;border:1px solid #ffffffc2;border-radius:8px;gap:12px;padding:12px;display:grid;position:absolute;top:76px;right:18px;overflow-y:auto;box-shadow:inset 0 1px #ffffffe6,0 20px 46px #111b2133}.room-member-panel>header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.room-member-panel>header div,.member-copy{gap:2px;min-width:0;display:grid}.room-member-panel strong,.member-copy strong,.member-add strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:800;overflow:hidden}.room-member-panel span,.member-copy small,.member-add p{color:var(--muted);font-size:12px;line-height:1.35}.member-list{gap:2px;display:grid}.member-row{border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:46px;padding:5px 6px;display:grid}.member-row:hover{background:#111b210f}.member-add{border-top:1px solid #111b2114;gap:8px;padding-top:10px;display:grid}.member-add p{margin:0}.back-button{display:none}.status-dot{background:#a86f39;border-radius:999px;width:8px;height:8px}.status-dot.online{background:var(--accent)}.status-dot.offline{background:var(--danger)}.notice{color:var(--danger);background:#ffffffbd;margin:0;padding:8px 16px;font-size:13px;font-weight:700}.notice.compact{background:0 0;padding:0}.notice.subtle{color:var(--muted-strong);background:#fff7d6;grid-row:2}.message-list{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;flex-direction:column;grid-row:3;gap:4px;min-height:0;padding:18px clamp(18px,4vw,60px);display:flex;overflow-y:auto}.conversation>.notice:not(.subtle){grid-row:4}.day-marker{color:var(--muted);background:#ffffffb8;border-radius:8px;align-self:center;margin:2px 0 10px;padding:6px 13px;font-size:12px;font-weight:650;box-shadow:0 1px 1px #111b2114}.empty-state{min-height:100%;color:var(--muted);text-align:center;align-content:center;place-items:center;display:grid}.empty-state svg{color:#111b2140;margin-bottom:14px}.empty-state p{color:var(--muted-strong);margin:0;font-size:22px;font-weight:720}.empty-state span{margin-top:7px;font-size:14px}.message{background:var(--bubble);border-radius:2px 8px 8px;align-self:flex-start;max-width:min(560px,74%);padding:7px 9px 6px;position:relative;box-shadow:0 1px 1px #111b2129}.message.mine{background:var(--bubble-mine);border-top-left-radius:8px;border-top-right-radius:2px;align-self:flex-end}.message-author{color:var(--accent-dark);margin-bottom:3px;font-size:12px;line-height:1.25;display:block}.message p{color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:14px;line-height:1.42}.message time{color:#667781eb;text-align:right;margin-top:2px;font-size:11px;line-height:1.1;display:block}.message-image-button{text-align:left;background:#111b2114;border:1px solid #0000;border-radius:6px;margin-bottom:6px;padding:0;display:block;position:relative;overflow:hidden}.message-image-button:focus-visible{outline-offset:2px;outline:2px solid #128c7e70}.message-image-button img{object-fit:cover;width:min(320px,100%);max-height:330px;display:block}.message-image-button.is-loading{min-width:min(320px,70vw);min-height:180px;animation:1.35s ease-in-out infinite image-loading-pulse}.message-image-button.is-loading img{opacity:0}.image-loading-overlay,.pending-image-scrim,.pending-image-ring,.pending-image-cancel{position:absolute}.image-loading-overlay{background-color:#111b2114;background-image:linear-gradient(110deg,#0000 0 32%,#ffffff61 44%,#0000 58%),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:220% 100%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;place-items:center;animation:1.1s linear infinite image-loading-sheen;display:grid;inset:0}.image-loading-ring,.pending-image-ring{border:2px solid #ffffff7a;border-top-color:var(--accent);border-radius:999px;width:42px;height:42px;animation:.84s linear infinite image-ring-spin}.pending-image-message{animation:pending-message-in .24s var(--spring);border:1px solid #128c7e33;padding:4px}.pending-image-frame{background:#075e542e;border-color:#128c7e70;width:min(320px,64vw);min-height:190px;margin-bottom:0;box-shadow:inset 0 0 0 1px #ffffff1a,0 0 0 1px #128c7e1f}.pending-image-frame img{filter:blur(8px);opacity:.78;width:100%;min-height:190px;transform:scale(1.04)}.pending-image-scrim{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:radial-gradient(circle,#ffffff29,#0000 32%),linear-gradient(#075e541a,#075e5457);inset:0}.pending-image-ring{z-index:2;border-color:#ffffffeb #ffffff6b #ffffff6b;width:54px;height:54px;margin:-27px 0 0 -27px;top:50%;left:50%}.pending-image-cancel{z-index:3;color:#fff;-webkit-backdrop-filter:blur(10px)saturate(160%);backdrop-filter:blur(10px)saturate(160%);background:#111b213d;border:1px solid #ffffffad;border-radius:999px;place-items:center;width:38px;height:38px;margin:-19px 0 0 -19px;display:grid;top:50%;left:50%}.pending-image-cancel:focus-visible{outline-offset:3px;outline:2px solid #ffffffc2}.attachment-preview{color:var(--muted-strong);background:#ffffffd6;border-radius:8px;grid-row:5;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:0 16px 8px;padding:8px 8px 8px 12px;display:grid;box-shadow:0 1px 1px #111b2114}.attachment-preview span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.attachment-preview .icon-button{width:32px;height:32px}.composer{width:100%;min-width:0;min-height:62px;padding:9px 14px max(9px, env(safe-area-inset-bottom));background:var(--soft);grid-row:6;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.attach-button{cursor:pointer}.attach-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.composer input{background:#fff;border-radius:8px;min-width:0;min-height:42px}.send-button{color:#fff;background:var(--accent);border-radius:999px;width:42px;height:42px}.send-button:hover,.send-button:focus-visible{background:var(--accent-dark);outline:none}.image-preview{z-index:80;-webkit-backdrop-filter:blur(28px)saturate(180%);backdrop-filter:blur(28px)saturate(180%);animation:preview-in .24s var(--spring);background:#f5efe59e;place-items:center;padding:34px;display:grid;position:absolute;inset:0}.preview-stage{background:linear-gradient(145deg,#ffffffc2,#ffffff57),#ffffff61;border:1px solid #ffffffb8;border-radius:8px;place-items:center;max-width:min(900px,84vw);max-height:82dvh;padding:10px;display:grid;box-shadow:inset 0 1px #ffffffdb,0 24px 64px #111b2138}.preview-stage img{object-fit:contain;border-radius:6px;max-width:100%;max-height:calc(82dvh - 22px);display:block}.preview-close{color:var(--ink);background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(170%);backdrop-filter:blur(18px)saturate(170%);position:absolute;top:18px;right:18px;box-shadow:inset 0 1px #ffffffd1,0 10px 22px #111b2124}@keyframes preview-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes image-loading-sheen{0%{background-position:160% 0}to{background-position:-60% 0}}@keyframes image-loading-pulse{0%,to{opacity:.78}50%{opacity:1}}@keyframes image-ring-spin{to{transform:rotate(360deg)}}@keyframes pending-message-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}:root[data-theme=dark] input:focus,:root[data-theme=dark] .search-box:focus-within,:root[data-theme=dark] .composer input,:root[data-theme=dark] .auth-panel,:root[data-theme=dark] .profile-panel{background:#111917}:root[data-theme=dark] .auth-mark,:root[data-theme=dark] .primary-button,:root[data-theme=dark] .send-button,:root[data-theme=dark] .mini-action.accept{color:#06201b}:root[data-theme=dark] .rail-button:hover,:root[data-theme=dark] .rail-button:focus-visible,:root[data-theme=dark] .rail-button.active,:root[data-theme=dark] .icon-button:hover,:root[data-theme=dark] .icon-button:focus-visible,:root[data-theme=dark] .icon-button.active,:root[data-theme=dark] .row-menu button:hover,:root[data-theme=dark] .row-menu button:focus-visible,:root[data-theme=dark] .check-row:hover,:root[data-theme=dark] .member-row:hover{background:#ffffff14}:root[data-theme=dark] .rail-avatar,:root[data-theme=dark] .active-avatar,:root[data-theme=dark] .profile-avatar,:root[data-theme=dark] .user-avatar{color:#06201b}:root[data-theme=dark] .rail-avatar{border-color:#ffffff2e}:root[data-theme=dark] .create-popover,:root[data-theme=dark] .row-menu,:root[data-theme=dark] .room-member-panel,:root[data-theme=dark] .mobile-bottom-menu,:root[data-theme=dark] .preview-close{background:linear-gradient(145deg,#23312ce0,#151f1c94),#121c19c2;border-color:#ffffff1f;box-shadow:inset 0 1px #ffffff1f,0 18px 44px #0000006b}:root[data-theme=dark] .create-tabs button.active,:root[data-theme=dark] .mobile-nav-button.active,:root[data-theme=dark] .theme-toggle button.active{background:#ffffff1a;box-shadow:inset 0 1px #ffffff1f}:root[data-theme=dark] .quick-form,:root[data-theme=dark] .friend-check-list,:root[data-theme=dark] .attachment-preview,:root[data-theme=dark] .day-marker,:root[data-theme=dark] .notice{background:#111917db}:root[data-theme=dark] .friend-check-list{border-color:#ffffff14}:root[data-theme=dark] .chat-item-copy{border-bottom-color:#ffffff12}:root[data-theme=dark] .conversation{background:radial-gradient(circle at 11px 11px,#ffffff0a 1px,#0000 1.5px) 0 0/34px 34px,linear-gradient(135deg,#0000 0 47%,#ffffff06 47% 49%,#0000 49%) 0 0/70px 70px,#0d1412}:root[data-theme=dark] .notice.subtle,:root[data-theme=dark] .sidebar-notice{color:#f5d776;background:#7a591338;border-bottom-color:#f5d77638}:root[data-theme=dark] .message time{color:#d2e0dbb3}@media (max-width:980px){.chat-shell{padding:0}.app-frame{border:0;border-radius:0;grid-template-columns:1fr;width:100%;max-width:100%;height:100dvh;min-height:100dvh;max-height:100dvh;overflow:hidden}.side-rail{display:none}.sidebar,.conversation{transition:opacity .26s var(--spring), transform .32s var(--spring);grid-area:1/1}.sidebar{opacity:1;border-right:0;height:100dvh;min-height:100dvh;overflow:hidden;transform:translate(0)}.conversation{opacity:0;pointer-events:none;height:100dvh;min-height:100dvh;display:grid;overflow:hidden;transform:translate(100%)}.app-frame.chat-open .sidebar{opacity:0;pointer-events:none;transform:translate(-18%)}.app-frame.chat-open .conversation{opacity:1;pointer-events:auto;transform:translate(0)}.mobile-bottom-menu{right:max(14px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));left:max(14px, env(safe-area-inset-left));z-index:40;-webkit-backdrop-filter:blur(28px)saturate(190%);backdrop-filter:blur(28px)saturate(190%);background:linear-gradient(135deg,#ffffffc7,#ffffff70),#f8fcfb8a;border:1px solid #ffffffb8;border-radius:999px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-height:66px;padding:8px;display:grid;position:fixed;box-shadow:inset 0 1px #ffffffd1,inset 0 -18px 34px #ffffff38,0 18px 44px #111b212e}.app-frame.chat-open .mobile-bottom-menu{display:none}.mobile-nav-button{color:#3b4a54db;border-radius:999px;align-content:center;place-items:center;gap:3px;min-width:0;min-height:50px;display:grid;position:relative}.mobile-nav-button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;font-weight:800;line-height:1.1;overflow:hidden}.mobile-nav-button.active{color:var(--accent-dark);background:linear-gradient(#ffffffb8,#ffffff47),#ffffff80;box-shadow:inset 0 1px #ffffffdb,0 8px 18px #111b2114}.mobile-nav-button i{color:#fff;text-align:center;background:#24a875;border-radius:999px;min-width:17px;height:17px;padding:0 5px;font-size:10px;font-style:normal;font-weight:850;line-height:17px;position:absolute;top:4px;right:max(10px,16%)}.back-button{display:grid}.conversation-header{gap:9px}.header-actions{gap:4px;padding-left:4px}.header-actions .icon-button{width:34px;height:34px}.header-actions .icon-button:first-child,.header-actions .icon-button:nth-child(2),.header-actions .icon-button:nth-child(4){display:none}.room-member-panel{top:max(70px, calc(env(safe-area-inset-top) + 62px));right:max(12px, env(safe-area-inset-right));left:max(12px, env(safe-area-inset-left));width:auto;max-height:calc(100dvh - 142px)}.message-list{padding:18px 12px}.chat-list{padding-bottom:calc(98px + env(safe-area-inset-bottom))}.message{max-width:82%}.image-preview{-webkit-backdrop-filter:none;backdrop-filter:none;background:#050707;padding:0;position:fixed}.preview-stage{width:100%;max-width:100%;height:100dvh;max-height:100dvh;padding:max(58px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));box-shadow:none;background:#050707;border:0;border-radius:0}.preview-stage img{border-radius:0;max-height:calc(100dvh - 88px)}.preview-close{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));color:#fff;background:#ffffff2e}}@media (max-width:560px){.auth-shell{padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.auth-panel{padding:26px}.auth-panel h1{font-size:clamp(32px,12vw,42px)}.sidebar-topbar,.conversation-header{min-height:62px;padding-right:max(12px, env(safe-area-inset-right));padding-left:max(12px, env(safe-area-inset-left))}.create-popover{padding-right:max(12px, env(safe-area-inset-right));padding-left:max(12px, env(safe-area-inset-left));margin-right:max(12px, env(safe-area-inset-right));margin-left:max(12px, env(safe-area-inset-left))}.profile-list{padding-right:max(12px, env(safe-area-inset-right));padding-left:max(12px, env(safe-area-inset-left))}.search-box{margin-right:max(12px, env(safe-area-inset-right));margin-left:max(12px, env(safe-area-inset-left))}.conversation-title h2{max-width:48vw}.message{max-width:88%}.composer{padding-right:max(10px, env(safe-area-inset-right));padding-left:max(10px, env(safe-area-inset-left));grid-template-columns:auto auto minmax(0,1fr) auto}}
