*{margin:0;padding:0;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}:root{--bg-dark: #1a1a1a;--bg-darker: #141414;--bg-light: #2a2a2a;--bg-lighter: #4a4a4a;--text: #f5f5f5;--text-dim: #b8b8b8;--text-gray: #8a8a8a;--border: #2a2a2a;--border-light: #363636;--icon-gray: #8a8a8a;--icon-gray-hover: #b8b8b8;--danger-color: #e74c3c;--accent-blue: #5dade2;--accent-blue-hover: #7fb3d3;--chat-hue: 0deg;--chat-saturation: .3;--bg-pattern-color: #363636;--chat-gradient-light: rgba(255, 255, 255, .04);--chat-gradient-medium: rgba(255, 255, 255, .02);--chat-input-height: 56px}body{background-color:var(--bg-dark);color:var(--text);height:100vh;height:100dvh;overflow:hidden;-webkit-text-size-adjust:100%;transform:rotate(0);transform-origin:center}@media (min-width: 901px){body{padding:20px;background:linear-gradient(135deg,#0f0f0f99,#1a1a1a99,#2d2d2d99),url(/assets/images/bckgrnd.svg);background-size:100% 100%,400px 400px;background-position:0 0,0 0;background-repeat:no-repeat,repeat;background-color:#1a1a1a;overflow:auto}}@media screen and (orientation: landscape) and (max-width: 768px){html{transform:rotate(-90deg);transform-origin:left top;width:100vh;overflow-x:hidden;position:absolute;top:100%;left:0}}@media (max-width: 768px){html,body{height:100%;height:100svh;overflow:hidden;position:fixed;width:100%;top:0!important;left:0!important;overscroll-behavior:none;-webkit-overflow-scrolling:auto}body{background-color:var(--bg-darker)}body:before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background-color:var(--bg-darker);z-index:9999;pointer-events:none}body.mobile-device{position:fixed;width:100%;height:100%;height:100svh;overflow:hidden}}.app-container{display:block;height:100vh}@media (min-width: 901px){.app-container{max-width:600px;margin:0 auto;height:calc(100vh - 40px);border-radius:12px;box-shadow:0 8px 32px #0000004d,0 2px 8px #0003,inset 0 1px #ffffff1a;background:var(--bg-dark);border:1px solid rgba(255,255,255,.1);overflow:hidden}}.btn-round{width:40px;height:40px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;color:var(--icon-gray);cursor:pointer;transition:all .2s;background-color:var(--bg-lighter)}.btn-round:hover{background-color:var(--bg-light);color:var(--icon-gray-hover)}.btn-danger:hover{background-color:#7e2121;color:var(--danger-color)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px;transition:background .3s ease}::-webkit-scrollbar-thumb:hover{background:#fff6}@keyframes messageAppear{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spinSmooth{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinProgress{0%{background:conic-gradient(var(--accent-blue) 0deg,transparent 0deg)}to{background:conic-gradient(var(--accent-blue) 360deg,transparent 360deg)}}.empty-add-btn-container{position:relative;display:inline-flex;align-items:center;justify-content:center}.btn-large{width:56px;height:56px;font-size:24px;font-weight:300;transition:all .3s ease}.btn-large.recovery-mode{background-color:var(--accent-blue)!important;color:#fff!important;animation:pulse 2s infinite;cursor:not-allowed!important}.btn-large.reload-mode{background-color:var(--danger-color)!important;color:#fff!important;cursor:pointer!important;font-size:20px!important}.btn-large.reload-mode:hover{background-color:#d73527!important;transform:scale(1.05)}.connection-screen{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.connection-screen.visible{opacity:1;visibility:visible}.connection-spinner{width:80px;height:80px;border:6px solid rgba(93,173,226,.2);border-top:6px solid var(--accent-blue);border-radius:50%;animation:connectionSpin 1s linear infinite;margin-bottom:24px}.connection-text{color:#fff;font-size:18px;font-weight:500;text-align:center;margin-bottom:12px}.connection-progress{color:#ffffffb3;font-size:14px;font-weight:400}@keyframes connectionSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.u-display-none{display:none!important}.u-display-block{display:block!important}.u-display-flex{display:flex!important}.u-opacity-50{opacity:.5}.u-opacity-0{opacity:0}.u-opacity-1{opacity:1!important}.u-reply-sender{color:#ffffffe6;font-weight:500}.u-reply-text{color:#ffffffe6}.u-reply-text-dim{color:#fffc}.file-unavailable-icon{font-size:48px;margin-bottom:12px;opacity:.5}.file-unavailable-title{font-size:14px;font-weight:500;margin-bottom:4px}.file-unavailable-subtitle{font-size:12px;color:#666}.file-icon-container{position:relative;width:72px;height:72px}.file-extension-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:13px;font-weight:700;text-transform:uppercase;margin-top:4px}.file-name-label{font-size:11px;font-weight:500;color:#999;word-break:break-word;max-width:200px;line-height:1.3;width:100%}.modal-visible{display:flex!important}.modal-hidden{display:none!important}.file-size-warning{margin:10px 0;font-size:14px;color:#999}.svg-full-size{width:100%;height:100%}.copyright-text{margin-top:10px}.pause-icon-hidden{display:none}.icon-margin-left{margin-left:4px}.file-unavailable-badge{color:#888;font-size:12px;margin-left:8px;display:flex;align-items:center}.error-reload-button{margin-top:10px;padding:8px 16px;background:#fff;color:#dc3545;border:none;border-radius:4px;cursor:pointer}html,body{height:100vh!important;height:100dvh!important;max-height:100vh!important;max-height:100dvh!important;overflow-x:hidden!important;position:relative!important}html.keyboard-open,body.keyboard-open{height:var(--initial-viewport-height, 100vh)!important;max-height:var(--initial-viewport-height, 100vh)!important;overflow:hidden!important;position:fixed!important;width:100%!important;top:0!important;left:0!important}body.keyboard-open .auto-resize-input{-webkit-overflow-scrolling:touch!important}body.keyboard-open .chat-messages,body.keyboard-open .app-container{overflow:hidden!important;touch-action:none!important}.app-header{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:1000!important;transform:none!important;transition:none!important}@supports (padding-top: env(safe-area-inset-top)){.app-header{padding-top:env(safe-area-inset-top)!important}.mobile-safe-area{padding-left:env(safe-area-inset-left)!important;padding-right:env(safe-area-inset-right)!important}}.chat-container{width:100%;height:100vh;display:flex;flex-direction:column;background-color:var(--bg-dark);position:relative;background-image:url(/assets/images/bckgrnd.svg);background-size:400px 400px;background-position:0 0;background-repeat:repeat;background-attachment:scroll}@media (min-width: 901px){.chat-container{height:100%;border-bottom-left-radius:12px;border-bottom-right-radius:12px}}.chat-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 250% 200% at 15% 85%,var(--chat-gradient-light) 0%,transparent 80%),radial-gradient(ellipse 300% 180% at 85% 15%,var(--chat-gradient-medium) 0%,transparent 90%),radial-gradient(ellipse 400% 300% at 50% 50%,rgba(0,0,0,.04) 30%,transparent 90%);pointer-events:none;z-index:0}.chat-header{padding:10px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background-color:var(--bg-darker);height:56px;position:relative;z-index:1000}@media (min-width: 901px){.chat-header{border-top-left-radius:12px;border-top-right-radius:12px;padding:15px 30px}}.chat-header h1{font-size:18px;font-weight:400}.empty-state{display:flex;justify-content:center;align-items:center;height:100vh;width:100%}@media (min-width: 901px){.empty-state{height:calc(100vh - 40px);border-radius:12px;background:var(--bg-dark);box-shadow:0 8px 32px #0000004d,0 2px 8px #0003,inset 0 1px #ffffff1a;border:1px solid rgba(255,255,255,.1);max-width:600px;margin:0 auto}}.chat-header-title{cursor:pointer;transition:color .2s;margin:0;padding:0;font-size:18px;font-weight:700;color:#fff;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header-title:hover{color:var(--accent-blue)}.chat-header-title-input{font-size:18px;font-weight:700;color:#fff;background:#222;border:1px solid var(--accent-blue);border-radius:6px;padding:2px 10px;outline:none;max-width:200px;margin:0;transition:border .2s}.user-info-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding-left:8px}.user-info-right{display:flex;align-items:center;gap:12px;flex:1;min-width:0;justify-content:flex-end;padding-right:8px}.user-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--text);font-weight:700;background-color:#666}.user-name{font-size:16px;font-weight:700;color:#fff;cursor:pointer;transition:color .2s;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 901px){.user-name{max-width:200px}}.user-name:hover{color:var(--accent-blue)}.user-name-input{font-size:16px;font-weight:700;color:#fff;background:#222;border:1px solid var(--accent-blue);border-radius:6px;padding:2px 8px;outline:none;max-width:150px;transition:border .2s}@media (min-width: 901px){.user-name-input{max-width:200px}}.header-left{display:flex;align-items:center;justify-content:flex-start;flex:1;padding-left:16px}.header-logo{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;pointer-events:none}.logo-text{font-family:JetBrains Mono,monospace;font-size:20px;font-weight:700;color:#fff;letter-spacing:2px;-webkit-user-select:none;user-select:none}.header-right{display:flex;align-items:center;justify-content:flex-end;flex:1;padding-right:16px}.btn-call{background-color:#28a745;color:#fff;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.btn-call:hover{background-color:#218838;transform:scale(1.05)}.btn-call:active{background-color:#1e7e34;transform:scale(.98)}.btn-call svg{width:20px;height:20px}.disconnect-btn{background-color:var(--danger-color);color:#fff;border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s ease}.disconnect-btn:hover{background-color:#d32f2f;transform:scale(1.1)}.disconnect-btn:active{transform:scale(.95)}@media (max-width: 768px){body{overflow:hidden;height:100vh;height:100svh;position:fixed;width:100%}.chat-container{width:100%;height:100vh;height:100svh;position:fixed;top:0;left:0;right:0;bottom:0;overflow:hidden;background-size:300px 300px!important;background-attachment:scroll!important}.chat-container:after{content:"";position:absolute;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background-color:var(--bg-darker);z-index:1000;pointer-events:none}.chat-header{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:10000;background-color:var(--bg-darker);border-bottom:1px solid var(--border);height:calc(60px + env(safe-area-inset-top,0px))!important;min-height:calc(60px + env(safe-area-inset-top,0px))!important;display:flex;align-items:center;padding:10px 20px;padding-top:calc(10px + env(safe-area-inset-top,0px))!important;padding-bottom:10px!important;width:100%;box-sizing:border-box}.chat-header:before{content:"";position:absolute;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background-color:var(--bg-darker);z-index:-1}.chat-messages{flex:1!important;overflow-y:auto!important;overflow-x:hidden!important;margin:0!important;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;position:relative!important;z-index:998!important}.chat-input{position:fixed!important;bottom:0!important;left:0!important;right:0!important;z-index:999;background-color:var(--bg-darker);border-top:1px solid var(--border);padding:8px 10px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));width:100%;box-sizing:border-box;min-height:56px;max-height:150px}body.pwa-mode .chat-input{bottom:40px!important;padding-bottom:8px!important;box-shadow:0 40px 0 40px var(--bg-darker)!important}body.pwa-mode .chat-messages{margin-bottom:40px!important}.user-info-left,.user-info-right{gap:8px}.user-avatar{width:36px!important;height:36px!important;font-size:16px!important}.user-name{font-size:14px!important;max-width:100px!important}.disconnect-btn{width:32px!important;height:32px!important;font-size:16px!important}}.floating-header{position:absolute;bottom:calc(var(--chat-input-height, 56px) + 10px);left:16px;transform:translateY(100px) translateZ(0);z-index:999;background:var(--bg-darker);border:2px solid var(--chat-color, var(--accent-blue));border-radius:25px;padding:8px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 12px #0000004d;transition:all .3s cubic-bezier(.25,.46,.45,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;will-change:transform,opacity;backface-visibility:hidden}@media (max-width: 768px){body.pwa-mode .floating-header{bottom:106px!important}}.floating-header.visible{transform:translateY(0) translateZ(0);opacity:1;visibility:visible}.floating-avatar{width:36px;height:36px;border-radius:50%;border:2px solid var(--chat-color, var(--accent-blue));display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--text);font-weight:700}.floating-name{color:var(--text);font-weight:700;font-size:16px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 480px){.chat-header{padding:8px 16px!important;padding-top:calc(8px + env(safe-area-inset-top,0px))!important;padding-bottom:8px!important;height:calc(54px + env(safe-area-inset-top,0px))!important;min-height:calc(54px + env(safe-area-inset-top,0px))!important;top:0!important;align-items:center!important}.chat-input{min-height:50px!important;max-height:120px!important;padding:6px 8px!important;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px))!important}body.pwa-mode .chat-input{bottom:40px!important;padding-bottom:6px!important;box-shadow:0 40px 0 40px var(--bg-darker)!important}body.pwa-mode .chat-messages{margin-bottom:40px!important}.back-button{font-size:12px!important}.chat-header-avatar{width:36px!important;height:36px!important;font-size:16px!important;margin-right:10px!important}.chat-header-title{font-size:16px!important}.floating-header{padding:6px 12px;bottom:calc(var(--chat-input-height, 56px) + 10px)}body.pwa-mode .floating-header{bottom:calc(var(--chat-input-height, 56px) + 40px + 10px)!important}.floating-avatar{width:32px;height:32px;font-size:14px}.floating-name{font-size:14px;max-width:120px}body.keyboard-visible .chat-container{position:relative}body.keyboard-visible .floating-header{position:absolute!important;bottom:calc(var(--chat-input-height, 56px) + 10px)!important}body.keyboard-visible .chat-input{z-index:1000!important;position:absolute!important}body.pwa-mode.keyboard-visible .chat-input{bottom:40px!important}}.chat-messages{flex:1;padding:16px;overflow-y:auto;overflow-x:hidden;background-color:transparent;display:flex;flex-direction:column;justify-content:flex-end;position:relative;max-width:100%;width:100%;z-index:2;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;backface-visibility:hidden;transform:translateZ(0);contain:layout style;scrollbar-width:none;-ms-overflow-style:none}@media (max-width: 768px){.chat-messages{z-index:998!important;overflow-y:auto!important;overflow-x:hidden!important}body.old-ios-device .chat-messages{min-height:calc(100vh - 120px)!important;padding-bottom:100px!important}.message{z-index:10!important}}.chat-messages::-webkit-scrollbar{display:none}@media (max-width: 768px) and (not (display-mode: standalone)){body:not(.keyboard-visible) .chat-container .chat-messages,body:not(.keyboard-visible) #chat-messages,body:not(.keyboard-visible) .chat-messages{margin:0!important;background-color:transparent!important;position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:56px!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding-top:calc(60px + env(safe-area-inset-top,0px))!important;padding-bottom:8px!important;padding-left:8px!important;padding-right:8px!important;overflow-y:auto!important;overflow-x:hidden!important;transition:padding .3s ease-in-out!important}body.old-ios-device:not(.keyboard-visible) .chat-container .chat-messages,body.old-ios-device:not(.keyboard-visible) #chat-messages,body.old-ios-device:not(.keyboard-visible) .chat-messages{padding-bottom:260px!important}body.old-ios-device:not(.keyboard-visible) .chat-messages .message:first-child{margin-top:250px!important}body.keyboard-visible .chat-container .chat-messages,body.keyboard-visible #chat-messages,body.keyboard-visible .chat-messages{padding-bottom:6px!important;transition:padding .3s ease-in-out!important}body.keyboard-visible .chat-container{background-color:transparent!important}body.keyboard-visible .chat-container:after{display:none!important}body.keyboard-visible .chat-container:before{display:block!important}}@media (max-width: 768px) and (display-mode: standalone){body:not(.keyboard-visible) .chat-messages{position:fixed!important;top:0!important;bottom:calc(56px + env(safe-area-inset-bottom,0px))!important;left:0!important;right:0!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding-top:calc(60px + env(safe-area-inset-top,0px))!important;padding-bottom:8px!important;padding-left:8px!important;padding-right:8px!important;overflow-y:auto!important;overflow-x:hidden!important;transition:padding .3s ease-in-out!important}body.old-ios-device:not(.keyboard-visible) .chat-messages{padding-bottom:100px!important}body.old-ios-device:not(.keyboard-visible) .chat-messages .message:first-child{margin-top:80px!important}body.keyboard-visible .chat-messages{padding-bottom:6px!important;transition:padding .3s ease-in-out!important}}.message{position:relative;margin-bottom:8px;display:flex;align-items:flex-end;clear:both;padding:0 12px!important;overflow:visible;max-width:100%;width:100%;will-change:transform,opacity;transform:translateZ(0);z-index:10}.message.new-message{animation:messageAppear .25s cubic-bezier(.25,.46,.45,.94)}@media (max-width: 768px){.message{padding:0 8px!important;margin-bottom:2px;margin-top:0}.message:first-child{margin-top:0!important;padding-top:0!important}.chat-messages{margin-top:0!important;border-top:none!important;box-sizing:border-box!important}.chat-messages:before,.chat-messages:after{display:none!important}.chat-messages>.message:first-of-type,.chat-messages>div:first-of-type,.chat-messages>*:first-child{margin-top:0!important;padding-top:0!important;border-top:none!important}.message.message-group-start,.message.message-group-middle,.message.message-group-end,.message.message-single{margin-bottom:2px!important}}.message.incoming{justify-content:flex-start;display:flex!important;align-items:flex-end!important}.message.outgoing{display:flex!important;align-items:flex-end!important;justify-content:flex-end!important;width:100%!important}.message.message-group-start,.message.message-group-middle,.message.message-group-end,.message.message-single{margin-bottom:2px}.message-bubble{max-width:70%;min-width:60px;padding:8px 12px;border-radius:18px;word-wrap:break-word;position:relative;z-index:15;width:fit-content;display:inline-block}.message-bubble:has(img),.message-bubble:has(audio),.message-bubble:has(video),.message.file-message .message-bubble{max-width:min(85vw,420px);padding:8px}.message-bubble audio{width:100%;max-width:300px;height:32px}.message-bubble img,.message-bubble video{max-width:100%;height:auto;display:block;border-radius:8px}.message-bubble .file-name{font-size:13px;font-weight:500;color:#fffffff2;word-break:break-word;overflow-wrap:break-word;line-height:1.3}.message-bubble .file-size{font-size:11px;color:#ffffffb3;margin-top:2px}.message-bubble .file-info{margin-top:4px;padding:0 4px}.message-bubble .file-container{width:100%}.message-bubble .message-file-info-container{display:flex!important;width:100%;align-items:flex-start!important;margin-top:6px;gap:4px!important;min-height:auto!important;flex-wrap:nowrap}.message-bubble .message-file{flex:1;font-size:13px;font-weight:500;color:#fffffff2;word-break:break-word;overflow-wrap:break-word;line-height:1.3!important;min-height:auto!important;height:auto!important;display:block!important}.message-bubble .file-info-icon{flex-shrink:0;margin-right:0!important}.message-bubble .audio-with-text{display:flex;flex-direction:column;width:100%}.message-bubble .audio-label{margin-bottom:8px!important}.message-bubble .message-file-preview{width:100%;max-width:100%;margin-bottom:4px}.message-file-preview.no-bubble{max-width:min(85vw,420px);width:fit-content;border-radius:18px;overflow:visible;background:transparent;padding:0;margin:0;display:block}.message.outgoing .message-file-preview.no-bubble{margin-left:auto;margin-right:0}.message.incoming .message-file-preview.no-bubble{margin-left:0;margin-right:auto}.message-file-preview.no-bubble img,.message-file-preview.no-bubble video{max-width:400px;max-height:200px;width:auto;height:auto;display:block;border-radius:18px;object-fit:contain;background:transparent}.message.outgoing .message-file-preview.no-bubble img,.message.outgoing .message-file-preview.no-bubble video,.message.outgoing .message-file-preview.no-bubble audio{margin-left:auto;margin-right:0}.message.incoming .message-file-preview.no-bubble img,.message.incoming .message-file-preview.no-bubble video,.message.incoming .message-file-preview.no-bubble audio{margin-left:0;margin-right:auto}.message-file-preview.no-bubble audio{width:100%;max-width:300px;display:block}.file-icon-only{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;max-width:220px;width:fit-content}.message.outgoing .file-icon-only{align-items:flex-end;margin-left:auto;margin-right:0}.message.outgoing .file-icon-only>div:last-child{text-align:right}.message.incoming .file-icon-only{align-items:flex-start;margin-left:0;margin-right:auto}.message.incoming .file-icon-only>div:last-child{text-align:left}.file-unavailable-placeholder{display:block;max-width:300px;width:fit-content}.message.outgoing .file-unavailable-placeholder{margin-left:auto;margin-right:0}.message.incoming .file-unavailable-placeholder{margin-left:0;margin-right:auto}.voice-message-player{display:flex;align-items:center;gap:12px;padding:10px 14px;background:transparent;border-radius:18px;min-width:280px;max-width:350px;width:fit-content;border:2px solid rgba(255,255,255,.2)}.message.incoming .voice-message-player{border-color:var(--incoming-chat-color, var(--accent-blue));margin-left:0;margin-right:auto}.message.outgoing .voice-message-player{border-color:var(--outgoing-chat-color, var(--accent-blue));margin-left:auto;margin-right:0}.voice-play-button{flex-shrink:0;width:40px;height:40px;border-radius:50%;border:none;background:#fff;color:var(--accent-blue);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a}.voice-play-button:hover{background:#f0f0f0;transform:scale(1.05)}.message.incoming .voice-play-button{background:#fff;color:var(--incoming-chat-color, var(--accent-blue))}.message.outgoing .voice-play-button{background:#fff;color:var(--outgoing-chat-color, var(--accent-blue))}.voice-play-button:active{transform:scale(.95)}.voice-waveform-container{flex:1;display:flex;align-items:center}.voice-progress-bar{width:100%;height:4px;background:#ddd;border-radius:2px;position:relative;cursor:pointer}.voice-progress-fill{height:100%;background:var(--accent-blue);border-radius:2px;width:0%;transition:width .1s linear}.voice-label{flex-shrink:0;display:flex;align-items:center;gap:6px;font-size:11px;color:#ffffffb3;font-weight:500;text-transform:uppercase;letter-spacing:.5px;padding:4px 8px;background:#ffffff14;border-radius:10px}.voice-label svg{flex-shrink:0;opacity:.9}.voice-label span{white-space:nowrap}.message.incoming .voice-progress-fill{background:var(--incoming-chat-color, var(--accent-blue))}.message.outgoing .voice-progress-fill{background:var(--outgoing-chat-color, var(--accent-blue))}@media (max-width: 768px){.voice-message-player{min-width:240px;max-width:280px;padding:10px 14px;gap:10px}.voice-play-button{width:36px;height:36px}.voice-play-button svg{width:20px;height:20px}}.message.incoming .message-bubble{background-color:var(--incoming-chat-color, var(--accent-blue));color:#fff}.message.outgoing .message-bubble{background-color:var(--outgoing-chat-color, var(--accent-blue));color:#fff}.message.message-single .message-bubble{border-radius:18px}.message.message-group-start.outgoing .message-bubble{border-radius:18px 18px 4px}.message.message-group-middle.outgoing .message-bubble{border-radius:18px 4px 4px 18px}.message.message-group-end.outgoing .message-bubble{border-radius:18px 4px 18px 18px}.message.message-group-start.incoming .message-bubble{border-radius:18px 18px 18px 4px}.message.message-group-middle.incoming .message-bubble{border-radius:4px 18px 18px 4px}.message.message-group-end.incoming .message-bubble{border-radius:4px 18px 18px}.message.message-single .message-file-preview.no-bubble,.message.message-single .message-file-preview.no-bubble img,.message.message-single .message-file-preview.no-bubble video,.message.message-single .voice-message-player{border-radius:18px}.message.message-group-start.outgoing .message-file-preview.no-bubble,.message.message-group-start.outgoing .message-file-preview.no-bubble img,.message.message-group-start.outgoing .message-file-preview.no-bubble video,.message.message-group-start.outgoing .voice-message-player{border-radius:18px 18px 4px}.message.message-group-middle.outgoing .message-file-preview.no-bubble,.message.message-group-middle.outgoing .message-file-preview.no-bubble img,.message.message-group-middle.outgoing .message-file-preview.no-bubble video,.message.message-group-middle.outgoing .voice-message-player{border-radius:18px 4px 4px 18px}.message.message-group-end.outgoing .message-file-preview.no-bubble,.message.message-group-end.outgoing .message-file-preview.no-bubble img,.message.message-group-end.outgoing .message-file-preview.no-bubble video,.message.message-group-end.outgoing .voice-message-player{border-radius:18px 4px 18px 18px}.message.message-group-start.incoming .message-file-preview.no-bubble,.message.message-group-start.incoming .message-file-preview.no-bubble img,.message.message-group-start.incoming .message-file-preview.no-bubble video,.message.message-group-start.incoming .voice-message-player{border-radius:18px 18px 18px 4px}.message.message-group-middle.incoming .message-file-preview.no-bubble,.message.message-group-middle.incoming .message-file-preview.no-bubble img,.message.message-group-middle.incoming .message-file-preview.no-bubble video,.message.message-group-middle.incoming .voice-message-player{border-radius:4px 18px 18px 4px}.message.message-group-end.incoming .message-file-preview.no-bubble,.message.message-group-end.incoming .message-file-preview.no-bubble img,.message.message-group-end.incoming .message-file-preview.no-bubble video,.message.message-group-end.incoming .voice-message-player{border-radius:4px 18px 18px}.message.reply-message .message-bubble{border-radius:12px}.reply-header{padding:8px 12px 4px;border-left:3px solid var(--chat-color, var(--accent-blue));background:#ffffff1a;margin:-8px -12px 4px;border-radius:9px 9px 0 0;font-size:13px;color:#aaa}.reply-sender{font-weight:700;color:var(--chat-color, var(--accent-blue));margin-bottom:2px;font-size:12px}.reply-text{font-size:12px;opacity:.8;max-height:40px;overflow:hidden;line-height:1.3;word-break:break-word}.message.outgoing.reply-message .reply-header{border-left-color:#ccc;background:#ffffff0d}.message.outgoing.reply-message .reply-sender{color:#ccc}.message.outgoing.reply-message .reply-text{color:#aaa}.message:hover .message-bubble{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.message-content{line-height:1.4;font-size:14px;position:relative;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.message-content p{margin:0 0 4px}.message-content p:last-child{margin-bottom:0}.message-time-inline,.message-time{display:none!important}.message-status{position:absolute;right:4px;bottom:4px;width:16px;height:16px}.message-status svg{width:100%;height:100%;fill:#a7a7a7}.message-status .double-checkmark path:last-child{fill:#4facfe}.message-status,.message-footer,.message-avatar{display:none!important}@media (min-width: 769px){.chat-messages{position:static!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important}.message{position:relative!important}}.message-tail{position:absolute;bottom:0;z-index:1;pointer-events:none;width:11px;height:20px}.message.outgoing .message-tail{right:6px}.message.incoming .message-tail{left:6px}@media (min-width: 901px){.message.outgoing .message-tail{right:6px}.message.incoming .message-tail{left:6px}}.message-tail svg{display:block;width:100%;height:100%;filter:drop-shadow(0 1px 1px rgba(0,0,0,.1))}.message-link{color:#ffffffe6;text-decoration:underline;transition:all .2s ease;text-decoration-color:#ffffff80}.message-link:hover{color:#fff;text-decoration-color:#fff}.message.incoming .message-link{color:#ffffffe6}.message.incoming .message-link:hover{color:#fff}.message.security-warning{justify-content:flex-start!important}.message.security-warning.outgoing{justify-content:flex-end!important}.security-message-text{background-color:var(--bg-light)!important;border:2px solid var(--danger-color)!important;border-radius:8px!important;padding:12px 16px!important;color:var(--danger-color)!important;max-width:min(70vw,480px)!important;font-weight:500!important;word-wrap:break-word!important;word-break:break-word!important;overflow-wrap:break-word!important;width:fit-content!important;font-size:14px;line-height:1.4}@media (max-width: 768px){.message-bubble{max-width:min(85vw,320px);padding:6px 10px;font-size:13px;width:fit-content;display:inline-block}.security-message-text{max-width:min(85vw,320px)!important;padding:10px 12px!important;font-size:13px!important}.message-content{font-size:13px}.message-tail{width:9px;height:18px}.message.outgoing .message-tail{right:5px}.message.incoming .message-tail{left:5px}.reply-header{padding:6px 10px 4px;margin:-6px -10px 4px;font-size:12px}.reply-sender,.reply-text{font-size:11px}}@media (max-width: 480px) and (not (display-mode: standalone)){body:not(.keyboard-visible) .chat-container .chat-messages,body:not(.keyboard-visible) #chat-messages,body:not(.keyboard-visible) .chat-messages{position:fixed!important;top:0!important;bottom:50px!important;left:0!important;right:0!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding-top:calc(54px + env(safe-area-inset-top,0px))!important;padding-bottom:8px!important;padding-left:6px!important;padding-right:6px!important;margin:0!important;background-color:transparent!important;overflow-y:auto!important;overflow-x:hidden!important;transition:padding .3s ease-in-out!important}body.old-ios-device:not(.keyboard-visible) .chat-container .chat-messages,body.old-ios-device:not(.keyboard-visible) #chat-messages,body.old-ios-device:not(.keyboard-visible) .chat-messages{padding-bottom:260px!important}body.old-ios-device:not(.keyboard-visible) .chat-messages .message:first-child{margin-top:250px!important}body.keyboard-visible .chat-container .chat-messages,body.keyboard-visible #chat-messages,body.keyboard-visible .chat-messages{padding-bottom:6px!important;transition:padding .3s ease-in-out!important}body.keyboard-visible .chat-container{background-color:transparent!important}}@media (max-width: 480px) and (display-mode: standalone){body:not(.keyboard-visible) .chat-messages{position:fixed!important;top:0!important;bottom:calc(50px + env(safe-area-inset-bottom,0px))!important;left:0!important;right:0!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding-top:calc(54px + env(safe-area-inset-top,0px))!important;padding-bottom:8px!important;padding-left:6px!important;padding-right:6px!important;overflow-y:auto!important;overflow-x:hidden!important;transition:padding .3s ease-in-out!important}body.old-ios-device:not(.keyboard-visible) .chat-messages{padding-bottom:100px!important}body.old-ios-device:not(.keyboard-visible) .chat-messages .message:first-child{margin-top:80px!important}body.keyboard-visible .chat-messages{padding-bottom:6px!important;transition:padding .3s ease-in-out!important}}.message.outgoing .message-tail{right:4px}.message.incoming .message-tail{left:4px}.message-reply{border-left:3px solid var(--chat-color);padding-left:8px;margin-bottom:8px;max-width:80%;opacity:.8}@keyframes messageAppear{0%{opacity:0;transform:translateY(0) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.message-bubble{transition:all .2s cubic-bezier(.25,.46,.45,.94);will-change:transform,box-shadow;transform:translateZ(0)}.message-avatar{transition:all .2s cubic-bezier(.25,.46,.45,.94);will-change:transform;transform:translateZ(0)}.message:hover{background-color:#ffffff05;border-radius:8px}.message-content.collapsed{max-height:200px;overflow:hidden;position:relative}.message-content.collapsed:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to bottom,transparent,currentColor);opacity:.1;pointer-events:none}.expand-message-btn{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:4px 10px;font-size:12px;font-weight:500;color:#fffc;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:12px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.expand-message-btn:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-1px)}.expand-message-btn svg{width:12px;height:12px;transition:transform .2s ease}.message-content.expanded+.expand-message-btn svg{transform:rotate(180deg)}.message-highlighted{background-color:#68a3d433!important;border-radius:8px!important;animation:messageHighlight 2s ease-out!important;box-shadow:0 0 15px #68a3d44d!important}@keyframes messageHighlight{0%{background-color:#68a3d466;box-shadow:0 0 20px #68a3d480}50%{background-color:#68a3d44d;box-shadow:0 0 15px #68a3d466}to{background-color:#68a3d433;box-shadow:0 0 15px #68a3d44d}}.reply-header{padding:8px 12px 4px;border-left:3px solid var(--chat-color, var(--accent-blue));background:#ffffff1a;margin:-8px -12px 4px;border-radius:9px 9px 0 0;font-size:13px;color:#aaa;cursor:pointer!important;transition:all .2s ease!important}.reply-header:hover{background:#ffffff26!important;border-left-color:var(--chat-color, #68a3d4)!important;opacity:.9!important}.reply-header:active{background:#fff3!important;transform:translateY(1px)!important}@media (max-width: 768px){.reply-header{padding:6px 10px 4px;margin:-6px -10px 4px;font-size:12px}.message-highlighted{border-radius:6px!important;box-shadow:0 0 10px #68a3d44d!important}}@media (prefers-color-scheme: dark){.message-highlighted{background-color:#68a3d426!important;box-shadow:0 0 12px #68a3d440!important}.reply-header:hover{background:#ffffff14!important}}.context-menu{position:fixed;background:var(--bg-light);border:1px solid var(--border-light);border-radius:8px;box-shadow:0 4px 16px #0009;z-index:10000;display:none!important;min-width:160px;max-width:200px;opacity:0;transform:scale(.9);transition:all .15s ease-out;overflow:hidden!important;color:var(--text);pointer-events:none;white-space:nowrap}.context-menu.show{display:block!important;opacity:1;transform:scale(1);pointer-events:auto;visibility:visible}.context-menu-item{display:flex;align-items:center;padding:8px 12px;cursor:pointer;color:var(--text);font-size:13px;transition:background-color .1s ease;border:none;background:none;width:100%;text-align:left;min-height:32px;white-space:nowrap;overflow:hidden!important;text-overflow:ellipsis}.context-menu-item:hover{background-color:var(--bg-lighter)}.context-menu-icon{width:16px;height:16px;margin-right:8px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}.context-menu-text{font-weight:400;flex:1;font-size:13px;overflow:hidden!important;text-overflow:ellipsis;white-space:nowrap}.context-menu-item.destructive{color:var(--danger-color)}.quick-reactions{display:flex;padding:6px 8px;gap:4px;border-bottom:1px solid #3a3a3c;background:var(--bg-darker);justify-content:center;overflow:hidden!important;white-space:nowrap}.quick-reaction{width:24px;height:24px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:14px;background:#2c2c2e;border:1px solid var(--border-light);flex-shrink:0}.memory-progress-ring{position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;pointer-events:none;z-index:-1}.memory-progress-svg{width:100%;height:100%;transform:rotate(-90deg)}.memory-progress-bg{stroke:#ffffff1a;fill:none}.memory-progress-fill{stroke:#4caf50;fill:none;transition:stroke .3s ease,stroke-dashoffset .5s ease;stroke-linecap:round}#disconnect-btn{position:relative}.quick-reaction:hover{transform:scale(1.1);background:#3a3a3c}.message-reactions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;-webkit-user-select:none;user-select:none;max-width:100%;overflow:visible;text-overflow:ellipsis;padding:2px}.message-reaction{display:inline-flex;align-items:center;background-color:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:6px 10px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);min-height:32px;position:relative}.message-reaction:hover{background-color:#ffffff26;border-color:var(--chat-color, #007aff);z-index:1}.message-reaction.user-reaction{background-color:#007aff4d;border-color:#007aff80}.message-reaction.user-reaction:hover{background-color:#007aff66;border-color:#007affb3}.reaction-emoji{font-size:20px;line-height:1}.reaction-count{font-size:13px;margin-left:6px;color:#fffc;font-weight:500;font-family:JetBrains Mono,monospace}.message-checkbox{position:absolute;top:50%;transform:translateY(-50%);width:24px;height:24px;border:2px solid var(--accent-blue);border-radius:50%;background:#007acc1a;cursor:pointer;display:none;align-items:center;justify-content:center;z-index:100;transition:all .2s ease;box-shadow:0 2px 4px #0000004d}.message.incoming .message-checkbox,.message.outgoing .message-checkbox{right:10px}@media (min-width: 1200px){.message.incoming .message-checkbox,.message.outgoing .message-checkbox{right:80px!important}}.selection-mode .message-checkbox{display:flex!important}.message-checkbox.selected{background:var(--accent-blue);border-color:var(--accent-blue);color:var(--text);transform:translateY(-50%) scale(1.1)}.message-checkbox.selected:after{content:"✓";font-size:12px;font-weight:700}.header-selection-panel{position:absolute;top:0;left:0;right:0;height:56px;background:var(--bg-light);border-bottom:1px solid #3a3a3c;display:none;align-items:center;justify-content:space-between;padding:0 16px;z-index:1001;transition:all .3s ease;overflow:hidden}.header-selection-panel.active{display:flex}.header-selection-actions{display:flex;gap:12px;align-items:center}.header-selection-btn{background:var(--accent-blue);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:80px;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.header-selection-btn:hover{background:var(--accent-blue-hover)}.header-selection-btn.delete{background:var(--danger-color)}.header-selection-btn.cancel{background:#6c757d}.message-file-preview{width:100%;display:flex;justify-content:center;align-items:center;overflow:hidden;margin:6px 0;border-radius:8px;max-width:320px}.message-file-preview img,.message-file-preview video{max-width:240px;max-height:260px;width:100%;height:auto;border-radius:10px;background:#222;object-fit:contain;box-shadow:0 1px 8px #0006}.message-file-info-container{display:flex;align-items:center;margin-top:6px;gap:8px}.message-file{display:flex;align-items:center;font-size:13px;flex:1;word-break:break-word;height:32px}.file-info-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin-right:8px}.download-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:14px}.message.outgoing .download-icon{background-color:#fff3;color:#fffc}.message.outgoing .download-icon:hover{background-color:#ffffff4d;color:#fff}.message.incoming .download-icon{background-color:var(--chat-color, #007aff);color:#fff}.message.incoming .download-icon:hover{filter:brightness(1.1);transform:scale(1.05)}.toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%) translateY(50px);background:#000000e6;color:var(--text);padding:10px 16px;border-radius:16px;z-index:10002!important;opacity:0;transition:all .3s ease;font-size:13px;font-weight:500;border:1px solid var(--border-light);pointer-events:none;white-space:nowrap;max-width:90vw;overflow:hidden}.toast.show{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}@media (max-width: 768px){.context-menu{min-width:140px;max-width:min(180px,90vw)}.context-menu-item{padding:10px 12px;font-size:14px;min-height:40px}.quick-reactions{padding:4px 6px;gap:0px!important;justify-content:space-between!important}.quick-reaction{width:20px;height:20px;font-size:12px}.message-checkbox{width:22px;height:22px}.message-reactions{max-width:min(85vw,300px);gap:4px;margin-top:6px}.message-reaction{padding:4px 8px;min-height:28px}.reaction-emoji{font-size:18px}.reaction-count{font-size:12px}}@media (max-width: 480px){.context-menu{min-width:120px;max-width:min(160px,85vw)}.message-checkbox{width:20px;height:20px;right:8px}.message-reactions{max-width:min(90vw,280px);gap:2px;margin-top:3px}}.file-upload-spinner{position:relative;width:40px;height:40px;border-radius:50%;background:conic-gradient(var(--accent-blue) 0%,var(--border-light) 0%);display:flex;align-items:center;justify-content:center;margin:8px auto;transition:background .3s ease}.file-upload-spinner:before{content:"";position:absolute;width:30px;height:30px;border-radius:50%;background:var(--bg-light)}.file-upload-spinner-text{position:relative;z-index:1;font-size:10px;font-weight:600;color:var(--text)}.file-transfer-progress{position:fixed;top:70px;left:50%;transform:translate(-50%);background:var(--bg-light);border:1px solid var(--border-light);border-radius:12px;padding:12px 16px;z-index:10001;box-shadow:0 4px 16px #0006;min-width:300px;max-width:90vw;opacity:1;transform:translate(-50%) translateY(0);transition:all .3s ease}.file-transfer-progress.hidden{opacity:0;transform:translate(-50%) translateY(-20px);pointer-events:none}.transfer-info{display:flex;justify-content:flex-start;align-items:center;margin-bottom:8px;gap:8px;padding-right:30px}.transfer-filename{font-size:13px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:none}.transfer-size{font-size:11px;color:var(--text-muted);font-weight:400;white-space:nowrap;margin-left:4px}.progress-bar-container{display:flex;align-items:center;gap:8px}.progress-bar{flex:1;height:4px;background:var(--border-light);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--accent-blue);border-radius:2px;transition:width .2s ease;width:0%}.progress-percentage{font-size:11px;color:var(--text-muted);font-weight:500;min-width:30px;text-align:right}.cancel-transfer-btn{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:#ffffff1a;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .2s ease}.cancel-transfer-btn:hover{background:var(--danger-color);color:#fff}.notification-toast{position:fixed;top:20px;left:50%;transform:translate(-50%) translateY(-60px);z-index:10002;opacity:0;transition:all .3s ease;pointer-events:none}.notification-toast.show{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.notification-content{background:var(--bg-light);border:1px solid var(--border-light);border-radius:8px;padding:10px 16px;box-shadow:0 4px 16px #0006;max-width:90vw;min-width:200px}.notification-content.error{background:linear-gradient(135deg,#2a1a1a,#1e0e0e);border-color:var(--danger-color);box-shadow:0 4px 16px #dc354533}.notification-content.success{background:linear-gradient(135deg,#1a2a1a,#0e1e0e);border-color:#28a745;box-shadow:0 4px 16px #28a74533}.notification-content.warning{background:linear-gradient(135deg,#2a2a1a,#1e1e0e);border-color:#ffc107;box-shadow:0 4px 16px #ffc10733}.notification-text{font-size:13px;color:var(--text);font-weight:400;line-height:1.3}.notification-content.error .notification-text{color:#fdd}.notification-content.success .notification-text{color:#dfd}.notification-content.warning .notification-text{color:#ffd}@media (max-width: 768px){.file-transfer-progress{top:60px;min-width:280px;padding:10px 14px}.cancel-transfer-btn{top:6px;right:6px;width:22px;height:22px}.notification-toast{top:15px}.notification-content{padding:8px 14px;min-width:160px}}@media (max-width: 480px){.file-transfer-progress{min-width:260px;padding:8px 12px}.transfer-info{margin-bottom:6px}.transfer-filename{font-size:12px}.transfer-size{font-size:10px}}.partner-paused-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:none;flex-direction:column;align-items:center;justify-content:center;z-index:9999;transition:opacity .3s ease}.partner-paused-overlay.active{display:flex!important}.pause-spinner{width:60px;height:60px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent-blue, #007aff);border-radius:50%;animation:pauseSpinnerRotate 1s linear infinite}@keyframes pauseSpinnerRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pause-text{margin-top:20px;color:var(--text, #fff);font-size:16px;font-weight:500;text-align:center;max-width:80%}.pause-timer{margin-top:12px;color:var(--text-muted, #888);font-size:32px;font-weight:600;font-family:JetBrains Mono,monospace}.pause-timer-container{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:12px}.pause-recovery-text{color:var(--text-secondary, #aaa);font-size:14px;font-weight:400;text-align:center;opacity:.8}.reload-page-btn{margin-top:24px;padding:12px 24px;background-color:var(--accent-blue);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.reload-page-btn:hover{background-color:var(--accent-blue-hover);transform:translateY(-1px);box-shadow:0 4px 12px #007aff4d}.reload-page-btn:active{transform:translateY(0)}.reload-page-btn svg{width:18px;height:18px}.app-container.partner-paused{filter:blur(8px);pointer-events:none;-webkit-user-select:none;user-select:none}.transfer-warning{position:fixed;top:70px;left:50%;transform:translate(-50%) translateY(-60px);background:linear-gradient(135deg,#2a1a1a,#1e0e0e);border:1px solid var(--danger-color);border-radius:12px;padding:12px 20px;z-index:10003;box-shadow:0 4px 20px #dc35454d;opacity:0;transition:all .3s ease;pointer-events:none;color:#fdd;font-size:14px;font-weight:500;text-align:center;max-width:90vw;white-space:nowrap}.transfer-warning.show{opacity:1;transform:translate(-50%) translateY(0)}#inputField.disabled{cursor:not-allowed;-webkit-user-select:none;user-select:none}@media (max-width: 768px){.transfer-warning{top:60px;font-size:13px;padding:10px 16px;white-space:normal;max-width:85vw}}@media (max-width: 480px){.transfer-warning{font-size:12px;padding:8px 14px}}.context-menu{max-height:400px;box-sizing:border-box;contain:layout style paint}@media (max-width: 768px){.context-menu{min-width:200px;max-width:min(220px,95vw);max-height:min(350px,60vh)}.context-menu-item{padding:14px 16px;min-height:44px}.context-menu-text{white-space:nowrap;overflow:visible;text-overflow:clip;max-width:none}.message{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}}@media (max-width: 480px){.context-menu{min-width:180px;max-width:min(200px,90vw);max-height:min(300px,50vh)}.context-menu-item{padding:16px 18px;min-height:48px}}.quick-reactions{flex-wrap:nowrap;box-sizing:border-box;width:100%;max-width:100%}@media (max-width: 768px){.quick-reactions{padding:4px 6px;gap:2px}}.context-menu:not(.show) .quick-reactions{display:none!important}.quick-reaction{box-sizing:border-box;min-width:24px;max-width:24px;overflow:hidden}@media (max-width: 768px){.quick-reaction{width:20px;height:20px;min-width:20px;max-width:20px;font-size:12px}}.quick-reaction.reacted{background:#4a5568!important;color:#fff;border-color:#4a5568}.quick-reaction.more{background:#3a3a3c;color:#ccc;font-size:10px;font-weight:700}.quick-reaction.more:hover{background:#4a4a4c}.context-menu-item{box-sizing:border-box;max-width:100%}@media (max-width: 768px){.context-menu-item{padding:10px 12px;font-size:14px;min-height:40px}}.context-menu:not(.show) .context-menu-item{display:none!important}.context-menu-icon{min-width:16px;max-width:16px;overflow:hidden}.context-menu-text{max-width:calc(100% - 32px)}.context-menu-item.disabled{opacity:.5;cursor:not-allowed}.reply-indicator{background:#2c2c2e;padding:8px 12px;margin-bottom:8px;border-radius:0 6px 6px 0;color:#fff;border:1px solid #3a3a3c;border-left:3px solid #68a3d4;overflow:hidden;max-width:100%}.reply-icon{margin-right:6px;font-size:14px;color:#68a3d4;flex-shrink:0}.reply-text{flex:1;margin-right:8px;color:#ccc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 40px)}.reply-cancel{background:none;border:none;color:#666;cursor:pointer;font-size:16px;padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:3px;flex-shrink:0;min-width:18px;max-width:18px;overflow:hidden}.delete-confirmation-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:none!important;align-items:center;justify-content:center;z-index:10001!important}.delete-confirmation-content{background:#2b2b2b;border-radius:12px;width:90%;max-width:350px;max-height:70vh;overflow:hidden;display:flex;flex-direction:column;color:#fff;border:1px solid #3a3a3c;box-sizing:border-box}.delete-confirmation-header{padding:16px;border-bottom:1px solid #3a3a3c;font-size:16px;font-weight:600;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delete-confirmation-actions{padding:12px 16px;border-top:1px solid #3a3a3c;display:flex;gap:10px;flex-wrap:nowrap;overflow:hidden}.delete-confirmation-action{flex:1;padding:10px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.delete-confirmation-cancel{background:#3a3a3c;color:#999}.delete-confirmation-cancel:hover{background:#4a4a4c}.delete-confirmation-body{padding:0 16px 16px;font-size:14px;color:#ccc;text-align:center;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word}.delete-confirmation-options{padding:0 16px;margin-bottom:16px}.delete-option{display:flex;align-items:center;cursor:pointer;transition:background-color .2s;border-radius:6px;padding:10px 0 10px 8px;overflow:hidden}.delete-option:hover{background:#3a3a3c}.delete-option input[type=checkbox]{width:18px;height:18px;margin-right:10px;accent-color:#ff3b30;flex-shrink:0}.delete-option label{font-size:14px;color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-reaction-picker{position:fixed;background:#2b2b2b;border:1px solid #3a3a3c;border-radius:8px;box-shadow:0 4px 16px #0009;z-index:10000;display:none;padding:8px;max-width:280px;opacity:0;transform:scale(.9) translateY(5px);transition:all .15s ease-out;color:#fff}.compact-reaction-picker.show{opacity:1;transform:scale(1) translateY(0)}.compact-reactions-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;max-height:150px;overflow-y:auto;padding:4px}.compact-reaction-item{width:auto;height:auto;min-width:32px;min-height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:20px;background:#2c2c2e;border:1px solid #3a3a3c;padding:6px}.compact-reaction-item:hover{transform:scale(1.15);background:#3a3a3c;box-shadow:0 2px 8px #0000004d}.message-reactions{max-width:100%;overflow:visible;padding:2px}.message-reaction{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:4px 8px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease;font-size:11px;min-height:28px;color:#fff;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);position:relative}.message-reaction:hover{background:#ffffff1f;border-color:#007aff;z-index:1}.message-reaction.user-reaction{background:#007aff4d;border-color:#007aff80;color:#fff}.message-reaction.user-reaction:hover{background:#007aff66;border-color:#007affb3}.reaction-emoji{font-size:18px;line-height:1}.reaction-count{margin-left:4px;font-size:12px;font-weight:600;min-width:6px;text-align:center;color:#ffffffe6}.message-reaction.single-reaction{border-radius:8px;padding:6px 8px;min-width:32px;justify-content:center}.message-reaction.single-reaction .reaction-count{display:none}.message-reaction.single-reaction .reaction-emoji{font-size:18px}.message-reaction.multiple-reaction{min-width:40px;height:auto;border-radius:8px;padding:4px 8px;gap:4px}.message-reaction.adding{animation:compactReactionPop .25s ease-out}.message-reaction.removing{animation:compactReactionRemove .2s ease-in forwards}@keyframes compactReactionPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}@keyframes compactReactionRemove{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}.reaction-particle{position:absolute;pointer-events:none;font-size:18px;z-index:10001;animation:particleFloat .8s ease-out forwards}@keyframes particleFloat{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-25px) scale(.5);opacity:0}}.quick-reaction.reacted{background:#007aff!important;color:#fff;border-color:#007aff;transform:scale(1.05)}.compact-reactions-grid::-webkit-scrollbar{width:3px}.compact-reactions-grid::-webkit-scrollbar-track{background:transparent}.compact-reactions-grid::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.compact-reactions-grid::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media (max-width: 768px){.compact-reaction-picker{max-width:240px;padding:6px}.compact-reactions-grid{grid-template-columns:repeat(5,1fr);gap:3px;max-height:120px}.compact-reaction-item{min-width:28px;min-height:28px;font-size:18px}.message-reactions{gap:4px;margin-top:6px;margin-bottom:1px}.message-reaction.single-reaction{min-width:28px;padding:5px 6px}.message-reaction.single-reaction .reaction-emoji{font-size:16px}.message-reaction.multiple-reaction{min-width:36px;padding:3px 6px;gap:3px}.message-reaction .reaction-emoji{font-size:16px}.message-reaction .reaction-count{font-size:11px}}@media (max-width: 480px){.compact-reaction-picker{max-width:200px}.compact-reactions-grid{grid-template-columns:repeat(4,1fr);gap:2px}.compact-reaction-item{min-width:26px;min-height:26px;font-size:16px}.message-reaction.single-reaction{min-width:26px;padding:4px 5px}.message-reaction.single-reaction .reaction-emoji{font-size:14px}.message-reaction.multiple-reaction{min-width:32px;padding:2px 5px}.message-reaction .reaction-emoji{font-size:14px}.message-reaction .reaction-count{font-size:10px}}.chat-input{display:flex;padding:10px;border-top:1px solid var(--border);gap:10px;align-items:center;background-color:var(--bg-darker);position:relative;z-index:999}@media (min-width: 901px){.chat-input{border-bottom-left-radius:12px;border-bottom-right-radius:12px}}.input-wrapper{flex:1;display:flex;align-items:flex-start;border-radius:4px;min-height:40px;position:relative}.auto-resize-input{flex:1;padding:8px 12px;border:none;background-color:transparent;color:var(--text);font-size:14px;outline:none;min-height:24px;max-height:96px;height:auto;line-height:24px;word-break:break-word;white-space:pre-wrap;overflow-y:hidden;overflow-x:hidden;resize:none;box-sizing:border-box}.auto-resize-input:not(:focus):not([data-has-content=true]):before{content:attr(data-placeholder);color:var(--text-dim);position:absolute;top:8px;left:12px;pointer-events:none;line-height:24px}.clip-icon,.clear-messages-icon,.emoji-button{background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;transition:all .2s;color:var(--chat-color, var(--icon-gray));align-self:center;margin-bottom:0}.clip-icon:hover,.clear-messages-icon:hover,.emoji-button:hover{transform:scale(1.1);color:var(--chat-color, var(--icon-gray-hover));opacity:.8}.emoji-picker{display:none;position:absolute;background-color:var(--bg-light);border:1px solid var(--border);border-radius:8px;padding:20px;box-shadow:0 4px 8px #0000004d;z-index:1100;width:320px;height:480px;max-height:70vh;overflow-x:hidden;overflow-y:auto;bottom:60px;right:10px}.emoji-picker.context-mode{position:fixed!important;background-color:#2b2b2b!important;border:1px solid #3a3a3c!important;border-radius:8px!important;box-shadow:0 4px 16px #0009!important;z-index:10001!important;padding:8px!important;opacity:0;visibility:hidden;transform:scale(.9) translateY(-5px);transition:all .15s ease-out;animation:emojiPickerContextAppear .15s ease-out forwards}@keyframes emojiPickerContextAppear{0%{opacity:0;visibility:hidden;transform:scale(.9) translateY(-5px)}to{opacity:1;visibility:visible;transform:scale(1) translateY(0)}}.emoji-container{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;height:100%;justify-items:center;align-items:start;padding:5px}.emoji-picker.context-mode .emoji-container{grid-template-columns:repeat(4,1fr)!important;gap:6px!important;padding:0!important;height:auto!important}.emoji{font-size:24px;cursor:pointer;text-align:center;padding:8px;border-radius:6px;transition:background-color .2s;-webkit-user-select:none;user-select:none;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.emoji:hover{background-color:var(--bg-lighter)}.emoji-picker.context-mode .emoji{font-size:18px!important;padding:4px!important;width:32px!important;height:32px!important;border-radius:4px!important;transition:all .15s ease!important}.emoji-picker.context-mode .emoji:hover{background-color:#3a3a3c!important;transform:scale(1.1)!important}.reply-indicator{background:#2c2c2e;padding:8px 12px;margin-bottom:0;border-radius:0 6px 6px 0;color:#fff;border:1px solid #3a3a3c;border-left:3px solid var(--accent-blue);overflow:hidden;max-width:100%;position:relative;z-index:1000}@media (max-width: 768px){.reply-indicator{display:block!important;visibility:visible!important;opacity:1!important;position:fixed!important;bottom:56px!important;left:0!important;right:0!important;margin:0!important;width:100%!important;box-sizing:border-box!important;z-index:1000!important;border-radius:0!important;transition:bottom .3s ease-in-out!important}body.keyboard-visible .reply-indicator{display:block!important;visibility:visible!important;opacity:1!important;bottom:56px!important;transition:bottom .3s ease-in-out!important}@media (max-width: 768px) and (display-mode: standalone){body:not(.keyboard-visible) .reply-indicator{bottom:calc(56px + env(safe-area-inset-bottom,0px))!important;transition:bottom .3s ease-in-out!important}body.keyboard-visible .reply-indicator{bottom:56px!important;transition:bottom .3s ease-in-out!important}}}.reply-content{display:flex;align-items:center;font-size:13px;overflow:hidden;white-space:nowrap}.reply-icon{margin-right:6px;font-size:14px;color:var(--accent-blue);flex-shrink:0}.reply-text{flex:1;margin-right:8px;color:#ccc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-cancel{background:none;border:none;color:#666;cursor:pointer;font-size:16px;padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:3px;flex-shrink:0}.reply-cancel:hover{background:#3a3a3c;color:#fff}@media (max-width: 768px){.chat-input{position:fixed!important;bottom:0!important;left:0!important;right:0!important;z-index:999!important;display:flex;align-items:center;justify-content:space-between;min-height:56px!important;gap:10px;width:100%!important;box-sizing:border-box!important;background-color:var(--bg-darker)!important;border-top:1px solid var(--border)!important;padding:8px 10px!important;transition:bottom .3s ease-in-out,padding .3s ease-in-out!important}@media (max-width: 768px) and (display-mode: standalone){.chat-input{bottom:0!important;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))!important}}.chat-input .emoji-button,.emoji-button{display:none!important}.input-wrapper{background-color:transparent!important;border-radius:0!important;border:none!important;align-items:flex-start!important;display:flex!important}.auto-resize-input{flex:1;padding:8px 12px;border:none;background-color:transparent;color:var(--text);font-size:14px;outline:none;min-height:24px;max-height:96px;height:auto;line-height:24px;word-break:break-word;white-space:pre-wrap;overflow-y:hidden;overflow-x:hidden;resize:none;box-sizing:border-box}.auto-resize-input:not(:focus):not([data-has-content=true]):before{top:8px!important;left:12px!important;line-height:24px!important}.chat-input:focus-within{background-color:var(--bg-darker)}.chat-input .clip-icon,.chat-input .clear-messages-icon,.chat-input button#send-btn.btn-round.btn-primary,.clip-icon,.clear-messages-icon,button#send-btn.btn-round.btn-primary{align-self:center!important;align-items:center!important;justify-content:center!important;margin:0!important;padding-top:0!important;padding-bottom:0!important;display:flex!important;height:40px!important;flex-shrink:0!important;vertical-align:middle!important;color:var(--chat-color, var(--icon-gray))!important}.chat-input>*{align-self:center!important}.emoji-picker{bottom:70px;right:10px;width:280px;height:400px}.emoji-picker.context-mode .emoji-container{grid-template-columns:repeat(3,1fr)!important;gap:4px!important}.emoji-picker.context-mode .emoji{font-size:16px!important;width:28px!important;height:28px!important;padding:2px!important}}@media (max-width: 480px){.chat-input{min-height:50px!important;max-height:120px!important;padding:6px 8px!important}.emoji-picker{width:260px;height:350px}.emoji-picker.context-mode .emoji-container{gap:2px!important}.emoji-picker.context-mode .emoji{font-size:14px!important;width:24px!important;height:24px!important;padding:1px!important}}@media (max-width: 768px){.auto-resize-input:focus{z-index:1001}}.reply-preview{background-color:var(--bg-darker);border-left:3px solid var(--accent-blue);padding:8px 12px;margin-bottom:8px;display:flex;justify-content:space-between}.reply-preview-content{flex-grow:1}.reply-preview-close{cursor:pointer;opacity:.6}.reply-preview-close:hover{opacity:1}:root{--send-btn-size: 40px;--send-btn-padding: 8px}@media (max-width: 768px){:root{--send-btn-size: 36px;--send-btn-padding: 6px}}@media (max-width: 480px){:root{--send-btn-size: 28px;--send-btn-padding: 4px}}button#send-btn.btn-round.btn-primary{width:var(--send-btn-size)!important;height:var(--send-btn-size)!important;background-color:transparent!important;color:var(--chat-color, var(--accent-blue))!important;border:2px solid var(--chat-color, var(--accent-blue))!important;border-radius:50%!important;margin-left:8px!important;transition:all .2s ease!important;align-self:center!important;padding:var(--send-btn-padding)!important}button#send-btn.btn-round{background-color:transparent!important;color:var(--chat-color, var(--accent-blue))!important}@media (hover: hover) and (pointer: fine){button#send-btn.btn-round.btn-primary:hover{transform:scale(1.05)!important;background-color:var(--chat-color, var(--accent-blue))!important;color:#fff!important}button#send-btn.btn-round.btn-primary:hover svg{stroke:#fff!important}button#send-btn.btn-round.btn-primary:hover svg path,button#send-btn.btn-round.btn-primary:hover svg line{stroke:#fff!important}}@media (hover: none) and (pointer: coarse){button#send-btn.btn-round.btn-primary:active{transform:scale(.95)!important;background-color:var(--chat-color, var(--accent-blue))!important;color:#fff!important;transition:all .1s ease!important}button#send-btn.btn-round.btn-primary:active svg{stroke:#fff!important}button#send-btn.btn-round.btn-primary:active svg path,button#send-btn.btn-round.btn-primary:active svg line{stroke:#fff!important}button#send-btn.btn-round.btn-primary{-webkit-tap-highlight-color:transparent!important;background-color:transparent!important;color:var(--chat-color, var(--accent-blue))!important}}button#send-btn svg{width:18px!important;height:18px!important;color:var(--chat-color, var(--accent-blue))!important;stroke:var(--chat-color, var(--accent-blue))!important;fill:none!important}@media (max-width: 768px){button#send-btn svg{width:18px!important;height:18px!important}}@media (max-width: 480px){button#send-btn svg{width:16px!important;height:16px!important}}button#send-btn svg path,button#send-btn svg line,button#send-btn svg polygon{stroke:var(--chat-color, var(--accent-blue))!important;fill:none!important}button#voice-btn.btn-round.btn-voice{width:var(--send-btn-size)!important;height:var(--send-btn-size)!important;background-color:transparent!important;color:var(--chat-color, var(--accent-blue))!important;border:2px solid var(--chat-color, var(--accent-blue))!important;border-radius:50%!important;margin-left:8px!important;margin-right:8px!important;transition:all .2s ease!important;align-self:center!important;padding:var(--send-btn-padding)!important}button#voice-btn.btn-round{background-color:transparent!important;color:var(--chat-color, var(--accent-blue))!important}button#voice-btn svg{width:18px!important;height:18px!important;color:var(--chat-color, var(--accent-blue))!important}button#voice-btn svg path,button#voice-btn svg line{stroke:var(--chat-color, var(--accent-blue))!important;fill:none!important}@media (hover: hover) and (pointer: fine){button#voice-btn.btn-round.btn-voice:hover{transform:scale(1.05)!important;background-color:var(--chat-color, var(--accent-blue))!important;color:#fff!important}button#voice-btn.btn-round.btn-voice:hover svg{stroke:#fff!important}button#voice-btn.btn-round.btn-voice:hover svg path,button#voice-btn.btn-round.btn-voice:hover svg line{stroke:#fff!important}}@media (hover: none) and (pointer: coarse){button#voice-btn.btn-round.btn-voice:active{transform:scale(.95)!important;background-color:var(--chat-color, var(--accent-blue))!important;color:#fff!important;transition:all .1s ease!important}button#voice-btn.btn-round.btn-voice:active svg{stroke:#fff!important}button#voice-btn.btn-round.btn-voice:active svg path,button#voice-btn.btn-round.btn-voice:active svg line{stroke:#fff!important}button#voice-btn.btn-round.btn-voice{-webkit-tap-highlight-color:transparent!important;background-color:transparent!important;color:var(--chat-color, var(--accent-blue))!important}}button#empty-add-btn.btn-round.btn-primary,button#sidebar-add-btn.btn-round.btn-primary{background-color:var(--bg-lighter)!important;color:var(--text)!important}button#empty-add-btn.btn-round.btn-primary:hover,button#sidebar-add-btn.btn-round.btn-primary:hover{background-color:#656565!important;transform:scale(1.05)!important}@media screen and (max-width: 768px){html body .chat-input button#send-btn.btn-round.btn-primary[id=send-btn],html body .chat-input button#voice-btn.btn-round.btn-voice[id=voice-btn]{width:36px!important;height:36px!important;padding:6px!important;min-width:36px!important;max-width:36px!important;min-height:36px!important;max-height:36px!important}}@media screen and (max-width: 480px){html body .chat-input button#send-btn.btn-round.btn-primary[id=send-btn],html body .chat-input button#voice-btn.btn-round.btn-voice[id=voice-btn]{width:28px!important;height:28px!important;padding:4px!important;min-width:28px!important;max-width:28px!important;min-height:28px!important;max-height:28px!important}}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;z-index:1000;justify-content:center;align-items:center;overflow:hidden}.modal{position:fixed!important;top:0!important;transform:none!important}@media (max-width: 768px){.modal.active{overflow-y:auto;-webkit-overflow-scrolling:touch}}@media (min-width: 769px){.modal.active{overflow:hidden}}.modal.active{display:flex}.modal-content{background-color:var(--bg-light);padding:20px;border-radius:8px;width:90%;max-width:350px;box-shadow:0 4px 8px #0003;display:flex;flex-direction:column;gap:15px;max-height:90vh;overflow:hidden;position:relative}@media (max-width: 768px){.modal-content{margin:auto;max-height:80vh}body.pwa-mode .modal{position:fixed!important;top:0!important;bottom:0!important;transform:none!important}body.pwa-mode .modal-content{position:relative!important;margin:auto!important}}.modal-content.small-modal{max-width:320px;padding:24px;text-align:center}.modal-content.small-modal h2{margin:0 0 12px;font-size:20px;font-weight:600;color:var(--text-primary)}.modal-content.small-modal p{margin:0 0 20px;font-size:14px;color:var(--text-secondary);line-height:1.5}.modal-buttons{display:flex;gap:12px;justify-content:center}.modal-buttons button{flex:1;padding:10px 20px;border-radius:6px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.modal-buttons .btn-primary{background-color:var(--accent-blue);color:#fff}.modal-buttons .btn-primary:hover{background-color:var(--accent-blue-hover);transform:translateY(-1px)}.modal-buttons .btn-secondary{background-color:var(--bg-darker);color:var(--text-primary)}.modal-buttons .btn-secondary:hover{background-color:var(--bg-input);transform:translateY(-1px)}#file-preview-modal{z-index:9999}#file-preview-modal .modal-content{background-color:var(--bg-light);padding:16px;width:auto;max-width:350px;min-width:300px;height:auto;max-height:calc(100vh - 40px);align-items:center;justify-content:center;position:relative;flex-direction:column;gap:12px;margin:20px auto}#file-preview-modal #file-preview-container{width:100%;height:220px;overflow:hidden;display:flex;justify-content:center;align-items:center;background-color:var(--bg-darker);border-radius:8px;border:1px solid var(--border);margin:0;position:relative}#file-preview-modal #file-preview-container img,#file-preview-modal #file-preview-container video{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}#file-preview-modal #file-preview-container .file-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;text-align:center;gap:10px}#file-preview-modal #file-preview-container .file-icon svg{width:120px!important;height:120px!important}#file-preview-modal #file-info-container{display:flex;justify-content:space-between;align-items:center;width:100%;margin:0}#file-preview-modal #file-info-text{font-size:13px;color:var(--text);flex:1;word-break:break-word}#file-preview-modal #modal-cancel-icon,#file-preview-modal #modal-send-icon{width:28px;height:28px;border-radius:50%;background-color:var(--bg-lighter);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s;color:var(--icon-gray);margin-left:6px}#file-preview-modal #modal-cancel-icon:hover{background-color:#7e2121;color:var(--danger-color)}#file-preview-modal #modal-send-icon:hover{background-color:#4a6b5a;color:var(--accent-blue)}#file-preview-modal .message-input-container{display:flex;align-items:flex-start;background-color:var(--bg-darker);border-radius:6px;padding:6px 10px;border:1px solid var(--border);width:100%;margin:0}#file-preview-modal #file-message-input{flex:1;padding:0;border:none;background-color:transparent;color:var(--text);font-size:13px;outline:none;resize:vertical;min-height:32px;max-height:64px;line-height:18px;font-family:inherit}#file-preview-modal #file-message-input::placeholder{color:var(--text-dim)}.user-code-container{background-color:var(--bg-light);padding:12px;border-radius:4px;color:var(--text)}.code-display{display:flex;justify-content:space-between;align-items:center}.copy-btn,.reload-btn{background:none;border:none;color:var(--icon-gray);cursor:pointer;transition:color .2s}.copy-btn:hover{color:var(--icon-gray-hover)}.reload-btn{color:var(--error-red)}.reload-btn:hover{color:#d32f2f}.code-input-container input,.rename-input-container input{width:100%;padding:12px;border:1px solid var(--bg-lighter);border-style:solid;border-radius:4px;-webkit-border-radius:4px;font-size:15px;background-color:var(--bg-light);color:var(--text);box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;-webkit-text-fill-color:var(--text);background-clip:padding-box;-webkit-background-clip:padding-box}.code-input-container input:focus,.rename-input-container input:focus{outline:none;border-color:var(--accent-blue)}.code-warning{color:#ff6b6b;font-size:13px;margin-top:3px;display:none}.code-warning.active{display:block}.connect-btn{padding:12px;background-color:var(--bg-lighter);color:var(--text);border:none;border-radius:4px;font-size:15px;cursor:pointer;width:100%;transition:background-color .3s}.connect-btn:hover{background-color:#656565}.delete-buttons{display:flex;justify-content:center;gap:10px}.cancel-btn,.delete-btn{padding:8px 16px;border:none;border-radius:4px;font-size:15px;cursor:pointer;transition:background-color .2s;min-width:100px;text-align:center}.cancel-btn{background-color:var(--bg-lighter);color:var(--text)}.cancel-btn:hover{background-color:#656565}.delete-btn{background-color:#c53030;color:var(--text)}.delete-btn:hover{background-color:#e53e3e}.forward-modal,.delete-confirmation-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:none!important;align-items:center;justify-content:center;z-index:10001!important}.forward-modal.show,.delete-confirmation-modal.show{display:flex!important}.forward-content,.delete-confirmation-content{background:#2b2b2b;border-radius:12px;width:90%;max-width:350px;max-height:70vh;overflow:hidden;display:flex;flex-direction:column;color:#fff;border:1px solid #3a3a3c}.forward-header,.delete-confirmation-header{padding:16px;border-bottom:1px solid #3a3a3c;font-size:16px;font-weight:600;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forward-chats{flex:1;overflow-y:auto;padding:8px 0;overflow-x:hidden}.forward-chat{display:flex;align-items:center;padding:12px 16px;cursor:pointer;transition:background-color .2s;white-space:nowrap;overflow:hidden}.forward-chat:hover{background:#3a3a3c}.forward-chat.selected{background:#1a3a52}.forward-avatar{width:40px;height:40px;border-radius:20px;background:var(--accent-blue);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;margin-right:12px;font-size:16px;flex-shrink:0}.forward-name{font-weight:500;color:#fff;font-size:14px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forward-actions,.delete-confirmation-actions{padding:12px 16px;border-top:1px solid #3a3a3c;display:flex;gap:10px}.forward-action,.delete-confirmation-action{flex:1;padding:10px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forward-cancel,.delete-confirmation-cancel{background:#3a3a3c;color:#999}.forward-send{background:var(--accent-blue);color:#fff}.delete-confirmation-delete{background:#ff3b30;color:#fff}.forward-cancel:hover,.delete-confirmation-cancel:hover{background:#4a4a4c}.forward-send:hover{background:var(--accent-blue-hover)}.delete-confirmation-delete:hover{background:#e6342a}.delete-confirmation-body{padding:0 16px 16px;font-size:14px;color:#ccc;text-align:center;line-height:1.4;word-wrap:break-word}@media (max-width: 480px){.modal-content{padding:15px;max-width:350px}#file-preview-modal .modal-content{width:auto;max-width:350px;min-width:260px;margin:8px auto;padding:10px}#file-preview-modal #file-preview-container{height:160px}}.forward-chat[data-chat-id=saved_messages_chat] .forward-avatar,.forward-avatar[style*="#4CAF50"]{background:#6c757d!important}.forward-chat .forward-avatar:has(+.forward-name:contains("Збережені повідомлення")){background:#6c757d!important}.forward-avatar:contains("💾"){background:#6c757d!important}#connecting-modal .modal-content{text-align:center;padding:30px 20px;min-width:200px}.connecting-message{display:flex;flex-direction:column;align-items:center;gap:15px}.spinner{display:flex;align-items:center;justify-content:center;animation:spin 1s linear infinite}.spinner svg{stroke:var(--accent-blue)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.connecting-message p{margin:0;color:var(--text);font-size:16px;font-weight:500}#connection-request-modal .modal-content{text-align:center;padding:25px 20px;min-width:250px;max-width:350px}.connection-request-message{margin-bottom:20px}.connection-request-message p{margin:0;color:var(--text);font-size:16px;line-height:1.4;word-wrap:break-word}#request-code{font-weight:600;color:var(--accent-blue)}.connection-request-buttons{display:flex;gap:12px;justify-content:center}.allow-btn,.deny-btn{padding:10px 20px;border:none;border-radius:6px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:80px;flex:1;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.allow-btn{background-color:var(--accent-blue);color:#fff}.allow-btn:hover{background-color:var(--accent-blue-hover);transform:translateY(-1px)}.deny-btn{background-color:var(--bg-lighter);color:var(--text)}.deny-btn:hover{background-color:#656565;transform:translateY(-1px)}#disconnect-confirmation-modal .modal-content{max-width:350px;text-align:center;padding:30px 25px}.disconnect-confirmation-message{margin-bottom:25px}.disconnect-confirmation-message p{margin:0;font-size:18px;font-weight:500;line-height:1.4}.disconnect-confirmation-buttons{display:flex;justify-content:center;gap:12px}#recovery-confirmation-modal .modal-content{max-width:350px;text-align:center;padding:30px 25px}.recovery-confirmation-message{margin-bottom:25px}.recovery-confirmation-message p{margin:0 0 8px;font-size:16px;line-height:1.4}.recovery-confirmation-message p:first-child{font-size:18px;font-weight:500;color:var(--accent-blue);margin-bottom:12px}.recovery-status{margin-top:15px;padding:10px;background-color:var(--bg-lighter);border-radius:6px;border-left:3px solid var(--accent-blue)}.recovery-status span{font-size:14px;color:var(--text-secondary);font-style:italic}.recovery-confirmation-buttons{display:flex;justify-content:center;gap:12px}#encryption-support-modal .modal-content{max-width:320px;text-align:center;padding:25px 20px;position:relative}.encryption-message{margin-bottom:20px}.encryption-icon{font-size:32px;margin-bottom:12px;line-height:1}.encryption-icon.supported{color:#28a745}.encryption-icon.not-supported{color:#dc3545}.encryption-title{font-size:16px;font-weight:600;margin:0 0 8px;color:var(--text)}.encryption-title.supported{color:#28a745}.encryption-title.not-supported{color:#dc3545}.encryption-description{font-size:14px;color:var(--text-secondary);margin:0 0 12px;line-height:1.4}.encryption-browser-list{background-color:var(--bg-darker);border:1px solid var(--border);border-radius:6px;padding:10px;margin:10px 0;font-size:12px;color:var(--text-secondary);text-align:left;line-height:1.4;white-space:pre-line}.encryption-browser-list.supported{border-color:#28a745;background-color:#28a7451a}.encryption-browser-list.not-supported{border-color:#dc3545;background-color:#dc35451a}.encryption-buttons{display:flex;justify-content:center}.encryption-buttons .allow-btn{min-width:100px}@media (max-width: 480px){#connecting-modal .modal-content,#connection-request-modal .modal-content,#disconnect-confirmation-modal .modal-content,#recovery-confirmation-modal .modal-content,#encryption-support-modal .modal-content{margin:20px;padding:20px 15px;max-width:calc(100vw - 40px)}.connection-request-buttons,.disconnect-confirmation-buttons,.recovery-confirmation-buttons{gap:8px}.allow-btn,.deny-btn{max-width:120px}#encryption-support-modal .modal-content{max-width:calc(100vw - 40px)}}.call-type-buttons{display:flex;flex-direction:row;gap:16px;margin:20px 0;width:100%}.call-type-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;background-color:#28a745;color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;flex:1;min-height:100px}.call-type-btn:hover{background-color:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.call-type-btn:active{background-color:#1e7e34;transform:translateY(0)}.call-type-btn svg{flex-shrink:0;width:32px;height:32px}.call-type-btn span{font-size:14px;text-align:center}@media (max-width: 768px){.call-type-buttons{gap:12px}.call-type-btn{padding:16px;min-height:90px;gap:6px}.call-type-btn svg{width:28px;height:28px}.call-type-btn span{font-size:13px}}.btn-cancel{padding:12px 24px;background-color:var(--bg-lighter);color:var(--text);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%;margin-top:8px}.btn-cancel:hover{background-color:#656565;transform:translateY(-1px)}.btn-cancel:active{background-color:#555;transform:translateY(0)}.call-modal{z-index:10000}.call-modal-content{background-color:var(--bg-dark);border-radius:16px;padding:20px;max-width:90vw;max-height:90vh;width:auto;height:auto;display:flex;flex-direction:column;gap:16px}.call-status{text-align:center;padding:12px;background-color:var(--bg-darker);border-radius:8px}.call-status h2{margin:0 0 8px;font-size:20px;color:var(--text-primary)}.call-status p{margin:0;font-size:16px;color:var(--text-secondary)}.video-container{position:relative;width:100%;height:480px;max-width:640px;background-color:#000;border-radius:12px;overflow:hidden;margin:0 auto}.remote-video{width:100%;height:100%;object-fit:contain;background-color:#000}.local-video{position:absolute;bottom:12px;right:12px;width:150px;height:112px;object-fit:cover;border-radius:8px;border:2px solid var(--border);background-color:#000;z-index:10}#remote-audio{display:none}.call-controls{display:flex;justify-content:center;align-items:center;gap:16px;padding:12px}.control-btn{width:56px;height:56px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;background-color:var(--bg-darker);color:#fff}.control-btn:hover{transform:scale(1.1)}.control-btn:active{transform:scale(.95)}.mic-btn.active,.camera-btn.active{background-color:#28a745}.mic-btn.muted,.camera-btn.disabled{background-color:#6c757d}.end-call-btn{background-color:#dc3545}.end-call-btn:hover{background-color:#c82333}.end-call-btn:active{background-color:#bd2130}.incoming-call-buttons{display:flex;flex-direction:column;gap:12px;margin-top:20px}#incoming-call-type{text-align:center;font-size:16px;color:var(--text-secondary);margin:12px 0}@media (max-width: 768px){.video-container{height:360px;max-width:480px}.local-video{width:100px;height:75px}.control-btn{width:48px;height:48px}.control-btn svg{width:20px;height:20px}}.call-modal-content.audio-only{max-width:min(450px,calc(100vw - 40px));min-width:min(350px,calc(100vw - 40px));width:auto}.call-modal-content.audio-only .video-container{height:150px;width:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-darker) 0%,var(--bg-dark) 100%)}@media (max-width: 768px){.call-modal-content.audio-only{max-width:calc(100vw - 32px);min-width:auto;width:calc(100vw - 32px)}.call-modal-content.audio-only .video-container{height:120px}}.call-modal-content.audio-only .remote-video,.call-modal-content.audio-only .local-video,.call-modal-content.audio-only .camera-btn{display:none}.call-modal-content.audio-only .video-container:before{content:"";width:80px;height:80px;background-color:var(--bg-light);border-radius:50%;display:block;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"/><path d="M19 10v2a7 7 0 0 1-14 0v-2"/><line x1="12" y1="19" x2="12" y2="23"/><line x1="8" y1="23" x2="16" y2="23"/></svg>');background-repeat:no-repeat;background-position:center}.voice-recording-container{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px 0;background:#0003;border-radius:12px;margin-bottom:20px}.voice-timer{font-size:32px;font-weight:600;color:var(--accent-blue);font-variant-numeric:tabular-nums;letter-spacing:2px}.voice-waveform{display:flex;align-items:center;justify-content:center;gap:4px;height:60px}.wave-bar{width:4px;background:var(--accent-blue);border-radius:2px;height:20px;opacity:.5}.voice-recording-container.recording .wave-bar{animation:wave 1.2s ease-in-out infinite}.voice-recording-container.recording .wave-bar:nth-child(1){animation-delay:0s}.voice-recording-container.recording .wave-bar:nth-child(2){animation-delay:.1s}.voice-recording-container.recording .wave-bar:nth-child(3){animation-delay:.2s}.voice-recording-container.recording .wave-bar:nth-child(4){animation-delay:.3s}.voice-recording-container.recording .wave-bar:nth-child(5){animation-delay:.4s}@keyframes wave{0%,to{height:20px;opacity:.5}50%{height:50px;opacity:1}}.voice-control-btn{width:60px;height:60px;border-radius:50%;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.voice-control-btn.start-btn{background:#28a745;box-shadow:0 4px 8px #28a7454d}.voice-control-btn.start-btn:hover{background:#218838;transform:scale(1.05);box-shadow:0 6px 12px #28a74566}.voice-control-btn.stop-btn{background:var(--danger-color);box-shadow:0 4px 8px #dc35454d}.voice-control-btn.stop-btn:hover{background:#c82333;transform:scale(1.05);box-shadow:0 6px 12px #dc354566}.voice-control-btn:active{transform:scale(.95)}#send-voice-btn{display:flex;align-items:center;justify-content:center;color:#fff!important}#send-voice-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}#send-voice-btn svg{flex-shrink:0}@media (max-width: 480px){.voice-record-content{max-width:100%;padding:20px}.voice-timer{font-size:28px}.voice-waveform{height:50px}.voice-control-btn{width:50px;height:50px}}.modal-card-container{perspective:1000px;width:90%;max-width:400px}.connection-card{position:relative;width:100%;min-height:260px;transition:transform .6s;transform-style:preserve-3d}.connection-card.flipped{transform:rotateY(180deg)}.card-face{position:absolute;width:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;background-color:var(--bg-light);border-radius:12px;box-shadow:0 8px 16px #0000004d;padding:24px}.card-front{z-index:2;transform:rotateY(0)}.card-back{transform:rotateY(180deg);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;position:relative}.modal-content-compact{display:flex;flex-direction:column;gap:16px}.flip-logo-btn{position:absolute;top:12px;right:12px;background:none;border:none;cursor:pointer;padding:4px;opacity:.7;transition:opacity .2s,transform .2s;z-index:10}.flip-logo-btn:hover{opacity:1;transform:scale(1.1)}.favicon-icon{width:24px;height:24px;display:block}.card-back-nav{position:relative;height:32px;margin-bottom:12px}.flip-back-btn{position:absolute;left:0;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:0;opacity:.8;transition:opacity .2s,transform .2s;color:var(--text-primary)}.flip-back-btn:hover{opacity:1;transform:translateY(-50%) translate(-4px)}.app-logo-back{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:28px;height:28px}.more-info-btn{position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:12px;color:var(--primary-color);background:none;border:none;border-bottom:1px solid transparent;transition:border-color .2s;padding:0;white-space:nowrap;cursor:pointer;font-family:inherit}.more-info-btn:hover{border-bottom-color:var(--primary-color)}.modal-content-info{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;margin:0 auto}.modal-content-info h2{font-size:20px;font-weight:600;margin:0;color:var(--text-primary)}.app-tagline{font-size:13px;color:var(--text-secondary);margin:0}.app-features{font-size:12px;line-height:1.5;color:var(--text-secondary);margin:6px 0}@media (max-width: 768px){.modal-card-container{max-width:95%}.connection-card{min-height:260px}.app-logo-back{width:24px;height:24px}}.about-modal{background-color:#000000f2;animation:fadeIn .3s ease}.about-modal.active{display:flex}.about-modal-content{width:100%;height:100%;background-color:#000;color:#fff;display:flex;flex-direction:column;animation:slideUp .4s cubic-bezier(.4,0,.2,1)}.about-nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;padding:15px 20px;background-color:#0a0a0a;border-bottom:1px solid #333;gap:15px}.about-back-btn{background:none;border:none;color:#4caf50;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.about-back-btn:hover{background-color:#4caf501a}.about-logo-clickable{display:flex;align-items:center;gap:10px;cursor:pointer;padding:5px 10px;border-radius:8px;transition:background-color .2s}.about-logo-clickable:hover{background-color:#4caf501a}.about-logo-img{width:32px;height:32px}.about-logo-text{font-size:18px;font-weight:700;letter-spacing:.1em;color:#fff}.about-scroll-container{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.about-container{max-width:900px;margin:0 auto;padding:40px 20px}.about-header{text-align:center;margin-bottom:60px;border-bottom:1px solid #333;padding-bottom:30px}.about-header-logo{width:80px;height:80px;margin-bottom:20px}.about-header h1{font-size:42px;font-weight:700;letter-spacing:.1em;margin-bottom:12px;color:#fff}.about-tagline{font-size:18px;color:#4caf50;margin-bottom:20px;font-weight:600}.about-description{font-size:14px;color:#bbb;line-height:1.6}.about-section{margin-bottom:60px}.about-section h2{font-size:28px;font-weight:600;margin-bottom:20px;color:#fff;border-left:3px solid #4CAF50;padding-left:16px}.about-section h3{font-size:20px;font-weight:600;margin-top:30px;margin-bottom:12px;color:#ddd}.about-section ul{list-style:none;padding:0}.about-section ul li{padding:8px 0 8px 24px;position:relative;color:#ccc;font-size:14px}.about-section ul li:before{content:"▸";position:absolute;left:0;color:#4caf50}.about-section strong{color:#fff;font-weight:600}.about-section code{background-color:#1a1a1a;padding:2px 8px;border-radius:4px;font-size:12px;color:#4caf50}.about-security-badge{display:inline-block;background:linear-gradient(135deg,#2d5016,#4caf50);padding:12px 24px;border-radius:8px;font-weight:600;font-size:14px;margin:20px 0}.about-tech-spec{background-color:#0a0a0a;padding:20px;border-radius:8px;border-left:3px solid #4CAF50;margin:20px 0;font-size:13px;line-height:1.8}.about-philosophy{background:linear-gradient(135deg,#0a0a0a,#1a1a1a);padding:30px;border-radius:8px;border:1px solid #333;margin:30px 0}.about-philosophy p{color:#ddd;margin-bottom:15px;font-size:14px}.about-comparison-table{width:100%;border-collapse:collapse;margin:30px 0;background-color:#0a0a0a;border-radius:8px;overflow:hidden}.about-comparison-table thead{background-color:#1a1a1a}.about-comparison-table th,.about-comparison-table td{padding:16px;text-align:center;border-bottom:1px solid #222;font-size:13px}.about-comparison-table th{font-weight:600;color:#4caf50}.about-comparison-table td{color:#bbb}.about-comparison-table tbody tr:hover{background-color:#111}.about-comparison-table th:first-child,.about-comparison-table td:first-child{text-align:left}.about-key-points{background-color:#0a0a0a;padding:24px;border-radius:8px;border-left:3px solid #4CAF50;margin:20px 0}.about-key-points h3{margin-top:20px}.about-key-points ul li{color:#ddd}.about-footer{text-align:center;margin-top:80px;padding-top:30px;border-top:1px solid #333;color:#666;font-size:12px}.about-copyright{margin-top:20px}@media (max-width: 768px){.about-modal-content{animation:slideUpMobile .35s cubic-bezier(.4,0,.2,1)}.about-header h1{font-size:32px}.about-section h2{font-size:24px}.about-container{padding:20px 10px}.about-comparison-table{font-size:11px}.about-comparison-table th,.about-comparison-table td{padding:10px 6px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.about-scroll-container::-webkit-scrollbar{width:8px}.about-scroll-container::-webkit-scrollbar-track{background:#0a0a0a}.about-scroll-container::-webkit-scrollbar-thumb{background:#333;border-radius:4px}.about-scroll-container::-webkit-scrollbar-thumb:hover{background:#4caf50}.about-table-legend{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin-top:15px;padding:15px 20px;background-color:#0a0a0a;border-radius:8px;font-size:13px}.about-table-legend strong{color:#4caf50;margin-right:10px}.legend-item{display:inline-flex;align-items:center;color:#bbb;padding:5px 12px;background-color:#1a1a1a;border-radius:4px}@media (max-width: 768px){.about-table-legend{flex-direction:column;align-items:flex-start;gap:8px}.legend-item{width:100%}}@font-face{font-family:JetBrains Mono;src:url(/assets/font/JetBrainsMono-VariableFont_wght.ttf) format("truetype-variations");font-weight:100 800;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/font/JetBrainsMono-Italic-VariableFont_wght.ttf) format("truetype-variations");font-weight:100 800;font-style:italic;font-display:swap}*{font-family:JetBrains Mono,monospace!important}body{font-family:JetBrains Mono,monospace!important;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.hidden{display:none!important}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;display:flex;align-items:center;justify-content:center;z-index:9999}.loading-screen.hidden{display:none}.loading-circle{display:flex;align-items:center;justify-content:center}.loading-circle svg{width:80px;height:80px;transform:rotate(-90deg)}.security-message-content{background:linear-gradient(135deg,#2a2a2a,#141414);border:1px solid var(--danger-color);border-radius:12px;padding:6px 10px;margin:2px 0;display:flex;align-items:center;gap:6px;box-shadow:0 1px 4px #dc354526;animation:securityMessageSlideIn .3s ease-out;max-width:min(60vw,400px);width:auto;font-size:13px;line-height:1.3}.security-message-content .security-icon{color:#dc3545;font-size:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:12px;height:12px}.security-message-content .security-icon svg{width:12px!important;height:12px!important;display:block}.security-message-content .security-text{color:#e9ecef;font-size:13px;line-height:1.3;font-weight:400;flex:1}.message.security-warning .message-avatar{display:flex!important;background:#888!important;align-items:center!important;justify-content:center!important;font-size:16px!important;color:#fff!important;font-weight:700!important;left:8px!important;bottom:0!important;position:absolute!important;width:36px!important;height:36px!important;border-radius:50%!important;z-index:5!important}@media (max-width: 1199px){.message.security-warning .message-avatar{display:none!important}.message.security-warning{padding-left:12px!important}}@media (min-width: 1200px){.message.security-warning .message-avatar{display:flex!important}.message.security-warning{justify-content:flex-start!important;padding-left:52px!important;padding-right:12px!important;margin-bottom:8px}}@keyframes securityMessageSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.message.security-warning .security-message-content strong{color:var(--danger-color);font-weight:600}.link-previews-container{margin-top:8px}.link-preview{background-color:#ffffff1a;border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s ease;margin-bottom:6px;border:1px solid rgba(255,255,255,.1);max-width:100%;word-break:break-word}.link-preview:hover{background-color:#ffffff26;transform:scale(1.02);border-color:#fff3}.link-preview-image{width:100%;height:150px;overflow:hidden;position:relative}.link-preview-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.link-preview:hover .link-preview-image img{transform:scale(1.05)}.link-preview-content{padding:8px 10px;overflow:hidden}.link-preview-title{font-size:14px;font-weight:500;color:#ffffffe6;margin-bottom:4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;word-break:break-word}.link-preview-description{font-size:13px;color:#ffffffb3;margin-bottom:4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.3;word-break:break-word}.link-preview-url{font-size:12px;color:#fff9;text-decoration:none;font-family:JetBrains Mono,monospace;word-break:break-all}.message-reply-to{background-color:#ffffff1a;border-left:3px solid rgba(255,255,255,.4);padding:6px 8px;margin-bottom:6px;border-radius:4px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.message-reply-to:hover{background-color:#ffffff26;transform:translate(2px)}.reply-author{font-size:12px;font-weight:600;color:#ffffffe6;margin-bottom:2px}.reply-preview{font-size:13px;color:#ffffffb3;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%}.message-content.emoji-only{font-size:48px;padding:8px 0;line-height:1.2}.message.outgoing .message-content.emoji-only{text-align:right}.message.incoming .message-content.emoji-only{text-align:left}.message.emoji-only-message{margin:4px 0;align-items:center}.message.emoji-only-message.outgoing{justify-content:flex-end}.message.emoji-only-message.incoming{justify-content:flex-start}.message.emoji-only-message .message-bubble{display:none}.message.reply-emoji-only{flex-direction:column;align-items:flex-end;margin:8px 0}.message.reply-emoji-only.incoming{align-items:flex-start}.reply-header-emoji{background:#0003;border-radius:10px;padding:6px 12px;margin-bottom:4px;display:flex;align-items:center;gap:8px;max-width:250px;cursor:pointer}.message-content.emoji-reply{font-size:40px;margin:0}.message.highlighted .message-bubble{background-color:#68a3d433!important;animation:highlightFade 2s ease-in-out}@keyframes highlightFade{0%{background-color:#68a3d466!important}to{background-color:#68a3d41a!important}}.message-bubble.loading{opacity:.7;pointer-events:none}.message-bubble.error{border:1px solid #f44336;background-color:#f443361a!important}.message-reaction:focus,.link-preview:focus,.message-reply-to:focus{outline:2px solid var(--accent-blue);outline-offset:2px}.message-content::selection{background-color:#68a3d44d;color:#fff}.auto-delete-option{padding:12px 16px;background-color:#ffffff0d;border-radius:8px;margin:8px 0;border:1px solid rgba(255,255,255,.1)}.auto-delete-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.auto-delete-checkbox input[type=checkbox]{display:none}.auto-delete-checkbox .checkmark{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-radius:4px;background-color:transparent;position:relative;transition:all .2s ease}.auto-delete-checkbox input[type=checkbox]:checked+.checkmark{background-color:var(--accent-blue);border-color:var(--accent-blue)}.auto-delete-checkbox input[type=checkbox]:checked+.checkmark:after{content:"";position:absolute;left:50%;top:50%;width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:translate(-50%,-50%) rotate(45deg)}.auto-delete-checkbox:hover .checkmark{border-color:#ffffff80}.auto-delete-checkbox input[type=checkbox]:checked:hover+.checkmark{background-color:#4a9eff}.auto-delete-text{color:#ffffffe6;font-size:14px;font-weight:500}.message.deleting{opacity:0;transform:scale(.8);transition:all .3s ease-out}.message.deleting .message-bubble{background-color:#dc35451a;border:1px solid rgba(220,53,69,.3)}.connecting-state{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 24px;margin:16px 0;color:#ffffffd9;font-size:15px;font-weight:500}.connecting-state.hidden{display:none}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.2);border-top-color:var(--accent-blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.allow-btn,.connect-btn,.btn-primary{padding:12px 24px;background:var(--accent-blue);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.allow-btn:hover,.connect-btn:hover,.btn-primary:hover{background:#007bffcc;transform:translateY(-2px)}.deny-btn,.cancel-btn,.btn-secondary{padding:12px 24px;background:#ffffff1a;color:#ffffffd9;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.deny-btn:hover,.cancel-btn:hover,.btn-secondary:hover{background:#ffffff26;transform:translateY(-2px)}.delete-btn{padding:12px 24px;background:#dc354533;color:#dc3545;border:1px solid rgba(220,53,69,.5);border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.delete-btn:hover{background:#dc35454d;transform:translateY(-2px)}.connection-lost-blur{filter:blur(8px);pointer-events:none}.restore-message{text-align:center;margin-bottom:24px}.restore-message h3{font-size:20px;font-weight:600;color:#fffffff2;margin:0 0 12px}.restore-message p{font-size:15px;color:#ffffffd9;margin:8px 0}.restore-note{font-size:13px;color:#ffffffa6;font-style:italic}.restore-buttons{display:flex;gap:12px;justify-content:center}.restore-buttons .btn-primary,.restore-buttons .btn-secondary{flex:1;max-width:150px}.connection-lost-message{text-align:center;margin-bottom:24px}.connection-lost-message h3{color:#fff;font-size:22px;margin:0 0 8px}.connection-lost-message p{color:#fffc;font-size:16px;margin:0}.connection-lost-buttons{display:flex;gap:12px;justify-content:center}.connection-lost-buttons .btn-primary,.connection-lost-buttons .btn-secondary{flex:1;max-width:150px}.app-intro{text-align:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}.app-logo{width:60px;height:60px;margin-bottom:12px;border-radius:12px;box-shadow:0 4px 12px #0000004d;background:#fff;padding:4px}.app-intro h2{font-size:20px;font-weight:600;color:#fffffff2;margin:0 0 8px}.app-tagline{font-size:15px;font-weight:600;color:#fffffff2;margin:8px 0}.app-features{font-size:13px;color:#ffffffbf;line-height:1.6;margin:8px 0 0}.support-text{font-size:14px;color:#ffffffe6;font-weight:500;margin-top:12px}.donation-buttons{display:flex;flex-direction:column;gap:10px}.payment-buttons-row{display:flex;gap:10px}.donate-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:600;border:1px solid rgba(255,255,255,.2);border-radius:10px;cursor:pointer;transition:all .3s ease;color:#fff;background:#ffffff1a}.donate-btn:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #ffffff1a}.maybe-later-btn{padding:10px 24px;font-size:14px;color:#fff9;background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:10px;cursor:pointer;transition:all .3s ease}.maybe-later-btn:hover{color:#fffc;border-color:#ffffff4d;background:#ffffff0d}.code-label-row{display:flex;align-items:center;gap:12px}.code-label-row p{margin:0}.connection-status-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0;transition:background-color .3s ease;display:none}.connection-status-indicator.connected,.connection-status-indicator.disconnected,.connection-status-indicator.connecting{display:none}.connection-status-indicator.code-invalid{display:block;background-color:#f44336;box-shadow:0 0 6px #f4433680}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.generate-code-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--accent-blue);border:none;border-radius:50%;cursor:pointer;transition:all .3s ease;color:#fff;flex-shrink:0}.generate-code-btn svg{width:20px;height:20px}.generate-code-btn:hover{background:#4a9eff;transform:scale(1.1);box-shadow:0 4px 16px #68a3d466}.generate-code-btn:active{transform:scale(.95)}.user-code-section{display:flex;align-items:center;gap:12px}.user-code-section.hidden{display:none}.copy-btn,.refresh-code-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;transition:all .3s ease;color:#fffc;padding:0}.refresh-code-btn{background:#4caf5026;border-color:#4caf504d;color:#4caf50e6}.copy-btn:hover,.refresh-code-btn:hover{background:#ffffff26;border-color:#ffffff4d;color:#fff;transform:translateY(-2px)}.refresh-code-btn:hover{background:#4caf5040;border-color:#4caf5080;color:#4caf50}.copy-btn:active,.refresh-code-btn:active{transform:translateY(0)}.copy-btn svg,.refresh-code-btn svg{width:16px;height:16px}.connection-lock-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:10000;opacity:1;transition:opacity .3s ease}.connection-lock-overlay.hidden{display:none;opacity:0}.lock-content{text-align:center;padding:40px;max-width:400px}.lock-icon{margin-bottom:24px;color:#ffffffb3;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.lock-message{font-size:24px;font-weight:600;color:#ffffffe6;margin-bottom:24px}.lock-countdown{font-size:72px;font-weight:700;color:#4caf50;margin-bottom:16px;font-variant-numeric:tabular-nums}.lock-description{font-size:14px;color:#fff9;margin-bottom:24px}.restore-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:14px 32px;font-size:16px;font-weight:600;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.restore-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.restore-btn:active{transform:translateY(0)}.restore-btn.hidden{display:none}.reconnecting-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:5000;opacity:1;transition:opacity .3s ease;pointer-events:all}.reconnecting-overlay.hidden{display:none;opacity:0;pointer-events:none}.reconnecting-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:20px}.reconnecting-message{color:#fff;font-size:24px;font-weight:600;margin:0}.reconnecting-description{color:#fffc;font-size:16px;margin:0}.reconnecting-spinner{width:80px;height:80px;border:6px solid rgba(255,255,255,.2);border-top-color:#4caf50;border-radius:50%;animation:spin-slow 2.5s linear infinite}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
