*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{overflow:hidden;height:100%}body{font-family:Tajawal,sans-serif;background-color:#0b141a;margin:0;position:fixed;inset:0;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:none}.header-font{font-family:Tajawal,sans-serif}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}button,label,.scroll-btn{user-select:none;-webkit-user-select:none}button,label{touch-action:manipulation}input::placeholder{color:#8696a0}.hidden{display:none!important}.icon-sm svg,.icon-sm{width:1.25rem;height:1.25rem}.icon-md svg,.icon-md{width:1.5rem;height:1.5rem}.login-screen{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:#0b141a;padding:16px}.login-card{background-color:#202c33;padding:32px;border-radius:16px;box-shadow:0 20px 60px #00000080;width:100%;max-width:384px;border-top:4px solid #00a884}.login-title{font-size:22px;font-weight:700;color:#fff;text-align:center;margin:0 0 32px}.login-form{display:flex;flex-direction:column;gap:20px}.login-input{width:100%;padding:16px;background-color:#2a3942;color:#fff;border:none;border-radius:12px;outline:none;font-size:16px;font-family:Tajawal,sans-serif;transition:box-shadow .2s ease}.login-input:focus{box-shadow:0 0 0 2px #00a884}.login-btn{width:100%;background-color:#00a884;color:#fff;font-size:16px;font-weight:700;padding:16px;border:none;border-radius:12px;cursor:pointer;box-shadow:0 4px 16px #0000004d;transition:background-color .2s ease}.login-btn:active{background-color:#06cf9c}.chat-screen{height:100%;width:100%;display:flex;flex-direction:column;overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;background-color:#202c33;color:#fff;padding:12px 16px;flex-shrink:0;z-index:10;box-shadow:0 2px 12px #0006}.header-start{display:flex;align-items:center;gap:12px}.room-name{font-size:18px;font-weight:700;margin:0}.presence-badge{display:flex;align-items:center;gap:6px;background:#ffffff0d;padding:4px 12px;border-radius:999px}.presence-dot{width:8px;height:8px;background-color:#00a884;border-radius:50%;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.presence-text{font-size:12px;color:#d1d5db;margin:0}.header-actions{display:flex;align-items:center;gap:20px}.icon-btn{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#fff;width:39px;height:39px;padding:8px;border-radius:50%;cursor:pointer;transition:transform .1s ease}.icon-btn:active{transform:scale(1.1)}.ping-btn{background-color:#00a884}.ping-btn:active{background-color:#0f0}.exit-btn{font-size:12px;font-weight:700;background:transparent;border:1px solid rgba(255,255,255,.2);color:#d1d5db;padding:6px 16px;border-radius:999px;cursor:pointer;transition:background-color .2s ease}.exit-btn:active{background-color:#ffffff14}.connection-banner{font-size:12px;text-align:center;max-height:0;overflow:hidden;padding:0;flex-shrink:0;transition:max-height .3s ease,padding .3s ease}.connection-banner.reconnecting{max-height:32px;padding:6px;background-color:#7c5c00;color:#ffd97d}.connection-banner.restored{max-height:32px;padding:6px;background-color:#0a3d2b;color:#00a884}.chat-main{flex:1;position:relative;overflow:hidden;min-height:0}.chat-bg{background-image:url(https://user-images.githubusercontent.com/15075759/28719144-86dc0f70-73b1-11e7-911d-60d70fcded21.png);background-repeat:repeat;background-size:400px;opacity:.05;position:absolute;inset:0;pointer-events:none;z-index:0}.messages{position:absolute;inset:0;z-index:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:16px 16px 32px}.chat-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#8696a0;font-size:14px;pointer-events:none}.scroll-btn{position:absolute;bottom:16px;left:16px;z-index:10;width:40px;height:40px;border-radius:50%;background-color:#202c33;border:1px solid rgba(255,255,255,.1);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0006;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s ease}.scroll-btn.visible{opacity:1;pointer-events:auto}.scroll-badge{position:absolute;top:-5px;right:-5px;background-color:#00a884;color:#fff;font-size:10px;font-family:Tajawal,sans-serif;font-weight:700;min-width:16px;height:16px;border-radius:8px;padding:0 3px;display:none;align-items:center;justify-content:center}.scroll-badge.visible{display:flex}.chat-footer{flex-shrink:0;position:relative;background-color:#202c33;border-top:1px solid rgba(255,255,255,.05);padding:8px;z-index:10}.safe-area-bottom{padding-bottom:calc(8px + env(safe-area-inset-bottom))}.typing-indicator{position:absolute;bottom:100%;left:0;right:0;font-size:12px;color:#8696a0;background-color:#202c33;height:0;overflow:hidden;opacity:0;display:flex;align-items:center;gap:6px;padding:0 12px;transition:height .2s ease,opacity .2s ease,padding .2s ease;pointer-events:none}.typing-indicator.visible{height:24px;opacity:1;padding:0 12px 4px;pointer-events:auto}.typing-dots{display:flex;gap:3px;align-items:center}.typing-dots span{width:4px;height:4px;background-color:#00a884;border-radius:50%;animation:typing-bounce 1.2s infinite ease-in-out}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.message-form{display:flex;align-items:center;gap:8px;flex-direction:row-reverse;width:100%}.message-input{flex:1;min-width:0;padding:12px 20px;border-radius:999px;outline:none;background-color:#2a3942;color:#fff;border:none;font-size:16px;font-family:Noto Naskh Arabic,serif;transition:box-shadow .2s ease}.message-input:focus{box-shadow:0 0 0 2px #00a88480}.input-icon-btn,.send-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:none;cursor:pointer;color:#fff;transition:transform .1s ease}.input-icon-btn:active,.send-btn:active{transform:scale(.9)}.input-icon-btn{background-color:#2a3942}.send-btn{background-color:#00a884}.more-menu{display:flex;align-items:center;flex-shrink:0}.more-toggle{max-width:48px;overflow:hidden;transition:max-width .32s cubic-bezier(.22,1,.36,1),opacity .22s ease}.more-tools{display:flex;align-items:center;gap:8px;overflow:hidden;max-width:0;opacity:0;transition:max-width .32s cubic-bezier(.22,1,.36,1),opacity .26s ease}.more-tool{flex-shrink:0;transform:scale(.5);opacity:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .2s ease}.more-menu.open .more-toggle{max-width:0;opacity:0;pointer-events:none}.more-menu.open .more-tools{max-width:112px;opacity:1}.more-menu.open .more-tool{transform:scale(1);opacity:1}.more-menu.open .more-tool:nth-child(1){transition-delay:.04s}.more-menu.open .more-tool:nth-child(2){transition-delay:.08s}.msg-row{display:flex;width:100%;margin-bottom:4px}.msg-row.me{justify-content:flex-start}.msg-row.them{justify-content:flex-end}.bubble{border-radius:.75rem;box-shadow:0 1px 2px #0000001f;position:relative}.bubble.me{background-color:#005c4b;color:#fff}.bubble.them{background-color:#202c33;color:#f1f1f1;border:1px solid rgba(255,255,255,.05)}.bubble--text{max-width:85%;padding:8px 12px 0}.bubble--image{padding:8px 8px 0}.msg-text{font-family:Noto Naskh Arabic,serif;font-size:16px;line-height:1.625;overflow-wrap:break-word;white-space:pre-wrap}.msg-time{font-family:Tajawal,sans-serif;font-size:10px;color:#fff6;text-align:left;display:flex;align-items:center}.msg-time--image{padding-bottom:4px}.msg-tick{display:inline-flex;align-items:center;margin-right:2px;margin-left:4px;letter-spacing:-3px;font-size:10px;color:#53bdeb;opacity:0;transition:opacity .2s ease}.msg-tick.visible{opacity:1}.msg-link{color:#53bdeb;text-decoration:underline;text-underline-offset:2px;word-break:break-all}.msg-img-grid{display:grid;gap:3px;border-radius:10px;overflow:hidden;margin-bottom:4px;max-width:260px}.msg-img-grid.count-1{grid-template-columns:1fr}.msg-img-grid.count-2{grid-template-columns:1fr 1fr}.msg-img-grid.count-3{grid-template-columns:1fr 1fr 1fr}.msg-img-grid.count-4,.msg-img-grid.count-more{grid-template-columns:1fr 1fr}.msg-img-thumb{width:100%;aspect-ratio:1;object-fit:cover;cursor:pointer;display:block;transition:opacity .2s ease}.msg-img-thumb:active{opacity:.8}.msg-img-more{position:relative}.msg-img-more-label{position:absolute;inset:0;background:#0000008c;color:#fff;font-size:22px;font-weight:700;font-family:Tajawal,sans-serif;display:flex;align-items:center;justify-content:center;cursor:pointer}.image-overlay{position:fixed;inset:0;z-index:100;background:#000000eb;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s ease}.image-overlay.visible{opacity:1;pointer-events:auto}.overlay-img{max-width:95vw;max-height:90vh;object-fit:contain;border-radius:8px}.overlay-close{position:absolute;top:16px;right:20px;color:#fff;font-size:24px;line-height:1;padding:8px;cursor:pointer;z-index:101}.overlay-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;font-size:40px;padding:8px 14px;border-radius:8px;line-height:1;cursor:pointer;transition:background .2s ease}.overlay-nav:active{background:#ffffff40}.overlay-prev{left:8px}.overlay-next{right:8px}.call-overlay{position:fixed;top:68px;left:12px;right:12px;z-index:80;background-color:#1a2530;border:1px solid rgba(255,255,255,.08);border-radius:20px;box-shadow:0 8px 32px #0009;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease}.call-overlay.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.call-panel{flex-direction:column;align-items:center;gap:12px;padding:20px 16px;width:100%}.call-panel-label{font-size:12px;color:#8696a0;margin:0;align-self:flex-start}.call-user-list{display:flex;flex-direction:column;gap:6px;width:100%}.call-user-item{width:100%;background-color:#2a3942;border:none;color:#fff;font-size:16px;padding:12px 16px;border-radius:12px;cursor:pointer;text-align:right;transition:background-color .15s ease}.call-user-item:active{background-color:#3a4f5c}.call-avatar-ring{width:56px;height:56px;border-radius:50%;background-color:#2a3942;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.call-avatar-ring.ringing{animation:call-ring-pulse 1.4s ease-out infinite;box-shadow:0 0 #00a88499}@keyframes call-ring-pulse{0%{box-shadow:0 0 #00a88499}70%{box-shadow:0 0 0 14px #00a88400}to{box-shadow:0 0 #00a88400}}.call-avatar-icon{width:24px;height:24px;fill:#00a884}.call-name{font-size:18px;font-weight:700;color:#fff;margin:0}.call-status-text{font-size:13px;color:#8696a0;margin:0}.call-timer{font-size:22px;font-weight:700;color:#00a884;letter-spacing:2px;margin:0}.call-actions{display:flex;gap:24px;align-items:center;justify-content:center;margin-top:4px}.call-end-btn{width:52px;height:52px;border-radius:50%;border:none;background-color:#e53e3e;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s ease,transform .1s ease;transform:rotate(135deg)}.call-end-btn:active{background-color:#c53030;transform:rotate(135deg) scale(.92)}.call-accept-btn{width:52px;height:52px;border-radius:50%;border:none;background-color:#00a884;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s ease,transform .1s ease}.call-accept-btn:active{background-color:#06cf9c;transform:scale(.92)}.call-mute-btn{width:44px;height:44px;border-radius:50%;border:none;background-color:#2a3942;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s ease,transform .1s ease}.call-mute-btn.muted{background-color:#e53e3e}.call-mute-btn:active{transform:scale(.92)}.call-secondary-btn{background:transparent;border:1px solid rgba(255,255,255,.15);color:#8696a0;font-size:14px;padding:8px 24px;border-radius:999px;cursor:pointer;transition:background-color .15s ease}.call-secondary-btn:active{background-color:#ffffff0f}.hug-overlay{position:fixed;inset:0;z-index:120;background:radial-gradient(circle at 50% 35%,#2a1f2a,#14101a 70%);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;opacity:0;pointer-events:none;transition:opacity .3s ease;padding-bottom:calc(56px + env(safe-area-inset-bottom))}.hug-overlay.visible{opacity:1;pointer-events:auto}.hug-close{position:absolute;top:14px;left:16px;color:#fffc;font-size:22px;line-height:1;background:none;border:none;cursor:pointer;z-index:121}.hug-emoji-wrap{position:absolute;top:28%;left:0;right:0;display:flex;justify-content:center;pointer-events:none;transform-origin:center}.hug-emoji-wrap.requesting{animation:hug-requesting 3.6s ease-in-out infinite}.hug-emoji-wrap.hugging{animation:hug-breathe 2.6s ease-in-out infinite}.hug-emoji{font-size:92px;line-height:1;opacity:0;transition:opacity .35s ease;user-select:none}.hug-emoji.visible{opacity:1}.hug-emoji.pop{animation:hug-pop .45s cubic-bezier(.34,1.56,.64,1)}.hug-text{position:absolute;top:44%;left:0;right:0;text-align:center;color:#ffd9e0;font-size:24px;font-weight:700;font-family:Tajawal,sans-serif;opacity:0;transition:opacity .4s ease;pointer-events:none;text-shadow:0 2px 12px rgba(0,0,0,.4)}.hug-text.visible{opacity:1}.hug-hearts{position:absolute;top:6%;left:0;right:0;height:20%;pointer-events:none}.hug-heart{position:absolute;bottom:0;font-size:20px;animation:hug-heart 2.2s ease-in forwards}.hug-button{width:132px;height:132px;border-radius:50%;border:none;cursor:pointer;color:#fff;background:radial-gradient(circle at 35% 30%,#e06a7e,#b33045);box-shadow:0 12px 34px #b330458c;display:flex;align-items:center;justify-content:center;touch-action:none;user-select:none;-webkit-user-select:none;transition:transform .15s ease}.hug-button:active{transform:scale(.95)}.hug-button svg{width:58px;height:58px;fill:#fff}@keyframes hug-requesting{0%,to{transform:scale(1) rotate(-4deg) translateY(0)}25%{transform:scale(1.04) rotate(0) translateY(-5px)}50%{transform:scale(1.06) rotate(4deg) translateY(0)}75%{transform:scale(1.04) rotate(0) translateY(-5px)}}@keyframes hug-breathe{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.09) translateY(-4px)}}@keyframes hug-pop{0%{opacity:0;transform:scale(.7)}60%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@keyframes hug-heart{0%{transform:translateY(0) scale(.8);opacity:0}15%{opacity:1}to{transform:translateY(-120px) scale(1.1);opacity:0}}
